0001
0002
0003
0004 #ifndef __INC_RA_H
0005 #define __INC_RA_H
0006
0007
0008
0009
0010 #include <linux/bitfield.h>
0011
0012
0013 #define PERENTRY 23
0014 #define RETRYSIZE 5
0015 #define RATESIZE 28
0016 #define TX_RPT2_ITEM_SIZE 8
0017
0018
0019 #define GET_TX_RPT2_DESC_PKT_LEN_88E(__rxstatusdesc) \
0020 le32_get_bits(*(__le32 *)__rxstatusdesc, GENMASK(8, 0))
0021 #define GET_TX_RPT2_DESC_MACID_VALID_1_88E(__rxstatusdesc) \
0022 le32_to_cpu((*(__le32 *)(__rxstatusdesc + 16))
0023 #define GET_TX_RPT2_DESC_MACID_VALID_2_88E(__rxstatusdesc) \
0024 le32_to_cpu((*(__le32 *)(__rxstatusdesc + 20))
0025
0026
0027 int ODM_RAInfo_Init_all(struct odm_dm_struct *dm_odm);
0028
0029 int ODM_RAInfo_Init(struct odm_dm_struct *dm_odm, u8 MacID);
0030
0031 u8 ODM_RA_GetShortGI_8188E(struct odm_dm_struct *dm_odm, u8 MacID);
0032
0033 u8 ODM_RA_GetDecisionRate_8188E(struct odm_dm_struct *dm_odm, u8 MacID);
0034
0035 u8 ODM_RA_GetHwPwrStatus_8188E(struct odm_dm_struct *dm_odm, u8 MacID);
0036 void ODM_RA_UpdateRateInfo_8188E(struct odm_dm_struct *dm_odm, u8 MacID,
0037 u8 RateID, u32 RateMask,
0038 u8 SGIEnable);
0039
0040 void ODM_RA_SetRSSI_8188E(struct odm_dm_struct *dm_odm, u8 macid,
0041 u8 rssi);
0042
0043 void ODM_RA_TxRPT2Handle_8188E(struct odm_dm_struct *dm_odm,
0044 u8 *txrpt_buf, u16 txrpt_len,
0045 u32 validentry0, u32 validentry1);
0046
0047 void ODM_RA_Set_TxRPT_Time(struct odm_dm_struct *dm_odm, u16 minRptTime);
0048
0049 #endif