Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / rtl8723au / include / rtl8723a_dm.h
diff --git a/kernel/drivers/staging/rtl8723au/include/rtl8723a_dm.h b/kernel/drivers/staging/rtl8723au/include/rtl8723a_dm.h
new file mode 100644 (file)
index 0000000..bf236e8
--- /dev/null
@@ -0,0 +1,137 @@
+/******************************************************************************
+ *
+ * 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