Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
0002 /* Copyright (c) 2011 Realtek Semiconductor Corp. */
0003 
0004 #ifndef __INC_RA_H
0005 #define __INC_RA_H
0006 /* Module Name: RateAdaptive.h
0007  * Abstract: Prototype of RA and related data structure.
0008  */
0009 
0010 #include <linux/bitfield.h>
0011 
0012 /*  Rate adaptive define */
0013 #define PERENTRY    23
0014 #define RETRYSIZE   5
0015 #define RATESIZE    28
0016 #define TX_RPT2_ITEM_SIZE   8
0017 
0018 /*  TX report 2 format in Rx desc */
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 /*  End rate adaptive define */
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