1
2#ifndef __INC_RA_H
3#define __INC_RA_H
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#define PERENTRY 23
21#define RETRYSIZE 5
22#define RATESIZE 28
23#define TX_RPT2_ITEM_SIZE 8
24
25
26
27
28#define GET_TX_RPT2_DESC_PKT_LEN_88E(__pRxStatusDesc) \
29 LE_BITS_TO_4BYTE(__pRxStatusDesc, 0, 9)
30#define GET_TX_RPT2_DESC_MACID_VALID_1_88E(__pRxStatusDesc) \
31 LE_BITS_TO_4BYTE(__pRxStatusDesc+16, 0, 32)
32#define GET_TX_RPT2_DESC_MACID_VALID_2_88E(__pRxStatusDesc) \
33 LE_BITS_TO_4BYTE(__pRxStatusDesc+20, 0, 32)
34
35#define GET_TX_REPORT_TYPE1_RERTY_0(__pAddr) \
36 LE_BITS_TO_4BYTE(__pAddr, 0, 16)
37#define GET_TX_REPORT_TYPE1_RERTY_1(__pAddr) \
38 LE_BITS_TO_1BYTE(__pAddr+2, 0, 8)
39#define GET_TX_REPORT_TYPE1_RERTY_2(__pAddr) \
40 LE_BITS_TO_1BYTE(__pAddr+3, 0, 8)
41#define GET_TX_REPORT_TYPE1_RERTY_3(__pAddr) \
42 LE_BITS_TO_1BYTE(__pAddr+4, 0, 8)
43#define GET_TX_REPORT_TYPE1_RERTY_4(__pAddr) \
44 LE_BITS_TO_1BYTE(__pAddr+4+1, 0, 8)
45#define GET_TX_REPORT_TYPE1_DROP_0(__pAddr) \
46 LE_BITS_TO_1BYTE(__pAddr+4+2, 0, 8)
47#define GET_TX_REPORT_TYPE1_DROP_1(__pAddr) \
48 LE_BITS_TO_1BYTE(__pAddr+4+3, 0, 8)
49
50
51
52void ODM_RASupport_Init(struct odm_dm_struct *dm_odm);
53
54int ODM_RAInfo_Init_all(struct odm_dm_struct *dm_odm);
55
56int ODM_RAInfo_Init(struct odm_dm_struct *dm_odm, u8 MacID);
57
58u8 ODM_RA_GetShortGI_8188E(struct odm_dm_struct *dm_odm, u8 MacID);
59
60u8 ODM_RA_GetDecisionRate_8188E(struct odm_dm_struct *dm_odm, u8 MacID);
61
62u8 ODM_RA_GetHwPwrStatus_8188E(struct odm_dm_struct *dm_odm, u8 MacID);
63void ODM_RA_UpdateRateInfo_8188E(struct odm_dm_struct *dm_odm, u8 MacID,
64 u8 RateID, u32 RateMask,
65 u8 SGIEnable);
66
67void ODM_RA_SetRSSI_8188E(struct odm_dm_struct *dm_odm, u8 macid,
68 u8 rssi);
69
70void ODM_RA_TxRPT2Handle_8188E(struct odm_dm_struct *dm_odm,
71 u8 *txrpt_buf, u16 txrpt_len,
72 u32 validentry0, u32 validentry1);
73
74void ODM_RA_Set_TxRPT_Time(struct odm_dm_struct *dm_odm, u16 minRptTime);
75
76#endif
77