aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/staging/rtl8188eu/include/Hal8188ERateAdaptive.h
blob: 6722010ba1ec0f6ab17193d6f013c82a1863e003 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __INC_RA_H
#define __INC_RA_H
/*++
Copyright (c) Realtek Semiconductor Corp. All rights reserved.

Module Name:
	RateAdaptive.h

Abstract:
	Prototype of RA and related data structure.

Major Change History:
	When       Who               What
	---------- ---------------   -------------------------------
	2011-08-12 Page            Create.
--*/

/*  Rate adaptive define */
#define	PERENTRY	23
#define	RETRYSIZE	5
#define	RATESIZE	28
#define	TX_RPT2_ITEM_SIZE	8

/*  */
/*  TX report 2 format in Rx desc */
/*  */
#define GET_TX_RPT2_DESC_PKT_LEN_88E(__pRxStatusDesc)		\
	LE_BITS_TO_4BYTE(__pRxStatusDesc, 0, 9)
#define GET_TX_RPT2_DESC_MACID_VALID_1_88E(__pRxStatusDesc)	\
	LE_BITS_TO_4BYTE(__pRxStatusDesc+16, 0, 32)
#define GET_TX_RPT2_DESC_MACID_VALID_2_88E(__pRxStatusDesc)	\
	LE_BITS_TO_4BYTE(__pRxStatusDesc+20, 0, 32)

#define GET_TX_REPORT_TYPE1_RERTY_0(__pAddr)			\
	LE_BITS_TO_4BYTE(__pAddr, 0, 16)
#define GET_TX_REPORT_TYPE1_RERTY_1(__pAddr)			\
	LE_BITS_TO_1BYTE(__pAddr+2, 0, 8)
#define GET_TX_REPORT_TYPE1_RERTY_2(__pAddr)			\
	LE_BITS_TO_1BYTE(__pAddr+3, 0, 8)
#define GET_TX_REPORT_TYPE1_RERTY_3(__pAddr)			\
	LE_BITS_TO_1BYTE(__pAddr+4, 0, 8)
#define GET_TX_REPORT_TYPE1_RERTY_4(__pAddr)			\
	LE_BITS_TO_1BYTE(__pAddr+4+1, 0, 8)
#define GET_TX_REPORT_TYPE1_DROP_0(__pAddr)			\
	LE_BITS_TO_1BYTE(__pAddr+4+2, 0, 8)
#define GET_TX_REPORT_TYPE1_DROP_1(__pAddr)			\
	LE_BITS_TO_1BYTE(__pAddr+4+3, 0, 8)

/*  End rate adaptive define */

void ODM_RASupport_Init(struct odm_dm_struct *dm_odm);

int ODM_RAInfo_Init_all(struct odm_dm_struct *dm_odm);

int ODM_RAInfo_Init(struct odm_dm_struct *dm_odm, u8 MacID);

u8 ODM_RA_GetShortGI_8188E(struct odm_dm_struct *dm_odm, u8 MacID);

u8 ODM_RA_GetDecisionRate_8188E(struct odm_dm_struct *dm_odm, u8 MacID);

u8 ODM_RA_GetHwPwrStatus_8188E(struct odm_dm_struct *dm_odm, u8 MacID);
void ODM_RA_UpdateRateInfo_8188E(struct odm_dm_struct *dm_odm, u8 MacID,
				 u8 RateID, u32 RateMask,
				 u8 SGIEnable);

void ODM_RA_SetRSSI_8188E(struct odm_dm_struct *dm_odm, u8 macid,
			  u8 rssi);

void ODM_RA_TxRPT2Handle_8188E(struct odm_dm_struct *dm_odm,
			       u8 *txrpt_buf, u16 txrpt_len,
			       u32 validentry0, u32 validentry1);

void ODM_RA_Set_TxRPT_Time(struct odm_dm_struct *dm_odm, u16 minRptTime);

#endif