linux/drivers/staging/rtl8723au/include/rtl8723a_dm.h
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or modify it
   6 * under the terms of version 2 of the GNU General Public License as
   7 * published by the Free Software Foundation.
   8 *
   9 * This program is distributed in the hope that it will be useful, but WITHOUT
  10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12 * more details.
  13 *
  14 ******************************************************************************/
  15#ifndef __RTL8723A_DM_H__
  16#define __RTL8723A_DM_H__
  17/*  */
  18/*  Description: */
  19/*  */
  20/*  This file is for 8723A dynamic mechanism only */
  21/*  */
  22/*  */
  23/*  */
  24#define DYNAMIC_FUNC_BT BIT(0)
  25
  26enum{
  27        UP_LINK,
  28        DOWN_LINK,
  29};
  30/*  */
  31/*  structure and define */
  32/*  */
  33
  34/*  duplicate code,will move to ODM ######### */
  35#define IQK_MAC_REG_NUM         4
  36#define IQK_ADDA_REG_NUM                16
  37#define IQK_BB_REG_NUM                  9
  38#define HP_THERMAL_NUM          8
  39/*  duplicate code,will move to ODM ######### */
  40struct dm_priv {
  41        u32     InitODMFlag;
  42
  43        /*  Upper and Lower Signal threshold for Rate Adaptive*/
  44        int     UndecoratedSmoothedPWDB;
  45        int     UndecoratedSmoothedCCK;
  46        int     EntryMinUndecoratedSmoothedPWDB;
  47        int     EntryMaxUndecoratedSmoothedPWDB;
  48        int     MinUndecoratedPWDBForDM;
  49        int     LastMinUndecoratedPWDBForDM;
  50
  51        s32     UndecoratedSmoothedBeacon;
  52        #ifdef CONFIG_8723AU_BT_COEXIST
  53        s32 BT_EntryMinUndecoratedSmoothedPWDB;
  54        s32 BT_EntryMaxUndecoratedSmoothedPWDB;
  55        #endif
  56
  57        /* for High Power */
  58        u8 DynamicTxHighPowerLvl;/* Add by Jacken Tx Power Control for Near/Far Range 2008/03/06 */
  59
  60        /* for tx power tracking */
  61        u8      bTXPowerTracking;
  62        u8      TXPowercount;
  63        u8      bTXPowerTrackingInit;
  64        u8      TxPowerTrackControl;    /* for mp mode, turn off txpwrtracking as default */
  65        u8      TM_Trigger;
  66
  67        u8      ThermalMeter[2];                                /*  ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 */
  68        u8      ThermalValue;
  69        u8      ThermalValue_LCK;
  70        u8      ThermalValue_IQK;
  71        u8      ThermalValue_DPK;
  72
  73        u8      bRfPiEnable;
  74
  75        /* for APK */
  76        u32     APKoutput[2][2];        /* path A/B; output1_1a/output1_2a */
  77        u8      bAPKdone;
  78        u8      bAPKThermalMeterIgnore;
  79        u8      bDPdone;
  80        u8      bDPPathAOK;
  81        u8      bDPPathBOK;
  82
  83        /* for IQK */
  84        u32     RegC04;
  85        u32     Reg874;
  86        u32     RegC08;
  87        u32     RegB68;
  88        u32     RegB6C;
  89        u32     Reg870;
  90        u32     Reg860;
  91        u32     Reg864;
  92        u32     ADDA_backup[IQK_ADDA_REG_NUM];
  93        u32     IQK_MAC_backup[IQK_MAC_REG_NUM];
  94        u32     IQK_BB_backup_recover[9];
  95        u32     IQK_BB_backup[IQK_BB_REG_NUM];
  96        u8      PowerIndex_backup[6];
  97
  98        u8      bCCKinCH14;
  99
 100        u8      CCK_index;
 101        u8      OFDM_index[2];
 102
 103        u8      bDoneTxpower;
 104        u8      CCK_index_HP;
 105        u8      OFDM_index_HP[2];
 106        u8      ThermalValue_HP[HP_THERMAL_NUM];
 107        u8      ThermalValue_HP_index;
 108
 109        /* for TxPwrTracking */
 110        s32     RegE94;
 111        s32     RegE9C;
 112        s32     RegEB4;
 113        s32     RegEBC;
 114
 115        u32     TXPowerTrackingCallbackCnt;     /* cosa add for debug */
 116
 117        u32     prv_traffic_idx; /*  edca turbo */
 118
 119        s32     OFDM_Pkt_Cnt;
 120        u8      RSSI_Select;
 121/*      u8      DIG_Dynamic_MIN ; */
 122/*  duplicate code,will move to ODM ######### */
 123        /*  Add for Reading Initial Data Rate SEL Register 0x484 during watchdog. Using for fill tx desc. 2011.3.21 by Thomas */
 124        u8      INIDATA_RATE[32];
 125};
 126
 127
 128/*  */
 129/*  function prototype */
 130/*  */
 131
 132void rtl8723a_init_dm_priv(struct rtw_adapter *padapter);
 133
 134void rtl8723a_InitHalDm(struct rtw_adapter *padapter);
 135void rtl8723a_HalDmWatchDog(struct rtw_adapter *padapter);
 136
 137#endif
 138