| /****************************************************************************** |
| * |
| * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of version 2 of the GNU General Public License as |
| * published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| * |
| ******************************************************************************/ |
| #ifndef __RTL8723A_DM_H__ |
| #define __RTL8723A_DM_H__ |
| /* */ |
| /* Description: */ |
| /* */ |
| /* This file is for 8723A dynamic mechanism only */ |
| /* */ |
| /* */ |
| /* */ |
| #define DYNAMIC_FUNC_BT BIT(0) |
| |
| enum{ |
| UP_LINK, |
| DOWN_LINK, |
| }; |
| /* */ |
| /* structure and define */ |
| /* */ |
| |
| /* duplicate code,will move to ODM ######### */ |
| #define IQK_MAC_REG_NUM 4 |
| #define IQK_ADDA_REG_NUM 16 |
| #define IQK_BB_REG_NUM 9 |
| #define HP_THERMAL_NUM 8 |
| /* duplicate code,will move to ODM ######### */ |
| struct dm_priv { |
| u32 InitODMFlag; |
| |
| /* Upper and Lower Signal threshold for Rate Adaptive*/ |
| int UndecoratedSmoothedPWDB; |
| int UndecoratedSmoothedCCK; |
| int EntryMinUndecoratedSmoothedPWDB; |
| int EntryMaxUndecoratedSmoothedPWDB; |
| int MinUndecoratedPWDBForDM; |
| int LastMinUndecoratedPWDBForDM; |
| |
| s32 UndecoratedSmoothedBeacon; |
| #ifdef CONFIG_8723AU_BT_COEXIST |
| s32 BT_EntryMinUndecoratedSmoothedPWDB; |
| s32 BT_EntryMaxUndecoratedSmoothedPWDB; |
| #endif |
| |
| /* for High Power */ |
| u8 DynamicTxHighPowerLvl;/* Add by Jacken Tx Power Control for Near/Far Range 2008/03/06 */ |
| |
| /* for tx power tracking */ |
| u8 bTXPowerTracking; |
| u8 TXPowercount; |
| u8 bTXPowerTrackingInit; |
| u8 TxPowerTrackControl; /* for mp mode, turn off txpwrtracking as default */ |
| u8 TM_Trigger; |
| |
| u8 ThermalMeter[2]; /* ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 */ |
| u8 ThermalValue; |
| u8 ThermalValue_LCK; |
| u8 ThermalValue_IQK; |
| u8 ThermalValue_DPK; |
| |
| u8 bRfPiEnable; |
| |
| /* for APK */ |
| u32 APKoutput[2][2]; /* path A/B; output1_1a/output1_2a */ |
| u8 bAPKdone; |
| u8 bAPKThermalMeterIgnore; |
| u8 bDPdone; |
| u8 bDPPathAOK; |
| u8 bDPPathBOK; |
| |
| /* for IQK */ |
| u32 RegC04; |
| u32 Reg874; |
| u32 RegC08; |
| u32 RegB68; |
| u32 RegB6C; |
| u32 Reg870; |
| u32 Reg860; |
| u32 Reg864; |
| u32 ADDA_backup[IQK_ADDA_REG_NUM]; |
| u32 IQK_MAC_backup[IQK_MAC_REG_NUM]; |
| u32 IQK_BB_backup_recover[9]; |
| u32 IQK_BB_backup[IQK_BB_REG_NUM]; |
| u8 PowerIndex_backup[6]; |
| |
| u8 bCCKinCH14; |
| |
| u8 CCK_index; |
| u8 OFDM_index[2]; |
| |
| u8 bDoneTxpower; |
| u8 CCK_index_HP; |
| u8 OFDM_index_HP[2]; |
| u8 ThermalValue_HP[HP_THERMAL_NUM]; |
| u8 ThermalValue_HP_index; |
| |
| /* for TxPwrTracking */ |
| s32 RegE94; |
| s32 RegE9C; |
| s32 RegEB4; |
| s32 RegEBC; |
| |
| u32 TXPowerTrackingCallbackCnt; /* cosa add for debug */ |
| |
| u32 prv_traffic_idx; /* edca turbo */ |
| |
| s32 OFDM_Pkt_Cnt; |
| u8 RSSI_Select; |
| /* u8 DIG_Dynamic_MIN ; */ |
| /* duplicate code,will move to ODM ######### */ |
| /* Add for Reading Initial Data Rate SEL Register 0x484 during watchdog. Using for fill tx desc. 2011.3.21 by Thomas */ |
| u8 INIDATA_RATE[32]; |
| }; |
| |
| |
| /* */ |
| /* function prototype */ |
| /* */ |
| |
| void rtl8723a_init_dm_priv(struct rtw_adapter *padapter); |
| |
| void rtl8723a_InitHalDm(struct rtw_adapter *padapter); |
| void rtl8723a_HalDmWatchDog(struct rtw_adapter *padapter); |
| |
| #endif |