1 /******************************************************************************
\r
3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
\r
5 * This program is free software; you can redistribute it and/or modify it
\r
6 * under the terms of version 2 of the GNU General Public License as
\r
7 * published by the Free Software Foundation.
\r
9 * This program is distributed in the hope that it will be useful, but WITHOUT
\r
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
\r
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
\r
14 * You should have received a copy of the GNU General Public License along with
\r
15 * this program; if not, write to the Free Software Foundation, Inc.,
\r
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
\r
19 ******************************************************************************/
\r
21 #ifndef __PHYDMRAINFO_H__
\r
22 #define __PHYDMRAINFO_H__
\r
24 #define RAINFO_VERSION "1.0"
\r
26 #define AP_InitRateAdaptiveState ODM_RateAdaptiveStateApInit
\r
28 #define DM_RATR_STA_INIT 0
\r
29 #define DM_RATR_STA_HIGH 1
\r
30 #define DM_RATR_STA_MIDDLE 2
\r
31 #define DM_RATR_STA_LOW 3
\r
32 #if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL))
\r
33 #define DM_RATR_STA_ULTRA_LOW 4
\r
36 #if(DM_ODM_SUPPORT_TYPE & (ODM_WIN|ODM_CE))
\r
37 typedef struct _Rate_Adaptive_Table_{
\r
38 u1Byte firstconnect;
\r
39 #if(DM_ODM_SUPPORT_TYPE==ODM_WIN)
\r
40 BOOLEAN PT_collision_pre;
\r
45 typedef struct _ODM_RATE_ADAPTIVE
\r
47 u1Byte Type; // DM_Type_ByFW/DM_Type_ByDriver
\r
48 u1Byte HighRSSIThresh; // if RSSI > HighRSSIThresh => RATRState is DM_RATR_STA_HIGH
\r
49 u1Byte LowRSSIThresh; // if RSSI <= LowRSSIThresh => RATRState is DM_RATR_STA_LOW
\r
50 u1Byte RATRState; // Current RSSI level, DM_RATR_STA_HIGH/DM_RATR_STA_MIDDLE/DM_RATR_STA_LOW
\r
52 #if(DM_ODM_SUPPORT_TYPE & (ODM_WIN|ODM_CE))
\r
53 u1Byte LdpcThres; // if RSSI > LdpcThres => switch from LPDC to BCC
\r
54 BOOLEAN bLowerRtsRate;
\r
57 #if(DM_ODM_SUPPORT_TYPE & ODM_WIN)
\r
59 #elif(DM_ODM_SUPPORT_TYPE & ODM_CE)
\r
62 u1Byte UltraLowRSSIThresh;
\r
63 u4Byte LastRATR; // RATR Register Content
\r
66 } ODM_RATE_ADAPTIVE, *PODM_RATE_ADAPTIVE;
\r
78 #if(DM_ODM_SUPPORT_TYPE==ODM_WIN)
\r
80 odm_RSSIDumpToRegister(
\r
86 odm_RSSIMonitorCheckMP(
91 odm_RSSIMonitorCheckCE(
96 odm_RSSIMonitorCheckAP(
102 odm_RateAdaptiveMaskInit(
\r
107 odm_RefreshRateAdaptiveMask(
112 odm_RefreshRateAdaptiveMaskMP(
117 odm_RefreshRateAdaptiveMaskCE(
122 odm_RefreshRateAdaptiveMaskAPADSL(
130 IN BOOLEAN bForceUpdate,
131 OUT pu1Byte pRATRState
135 odm_RefreshBasicRateMask(
140 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
\r
142 ODM_DynamicARFBSelect(
145 IN BOOLEAN Collision_State
149 ODM_RateAdaptiveStateApInit(
\r
150 IN PVOID PADAPTER_VOID,
\r
151 IN PRT_WLAN_STA pEntry
\r
155 #if (DM_ODM_SUPPORT_TYPE == ODM_CE)
\r
157 ODM_Get_Rate_Bitmap(
\r
158 IN PVOID pDM_VOID,
\r
160 IN u4Byte ra_mask,
\r
161 IN u1Byte rssi_level
\r
165 #endif //#ifndef __ODMRAINFO_H__
\r