8723BU: Update 8723BU wifi driver to version v4.3.16_14189.20150519_BTCOEX2015119...
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bu / hal / rtl8723b / rtl8723b_dm.c
index 2224afb83615a43550d933677fa29c3a99919baa..c149fe481db5a8a0b230407a9f0a9e195d98b8ee 100755 (executable)
@@ -246,7 +246,7 @@ static void Init_ODM_ComInfo_8723b(PADAPTER Adapter)
 {\r
        PHAL_DATA_TYPE  pHalData = GET_HAL_DATA(Adapter);\r
        PDM_ODM_T               pDM_Odm = &(pHalData->odmpriv);\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
+       u32 SupportAbility = 0;\r
        u8      cut_ver,fab_ver;\r
 \r
        Init_ODM_ComInfo(Adapter);\r
@@ -262,32 +262,32 @@ static void Init_ODM_ComInfo_8723b(PADAPTER       Adapter)
        ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_CUT_VER,cut_ver);\r
 \r
        #ifdef CONFIG_DISABLE_ODM\r
-       pdmpriv->InitODMFlag = 0;\r
+       SupportAbility = 0;\r
        #else\r
-       pdmpriv->InitODMFlag =  ODM_RF_CALIBRATION              |\r
-                                                       ODM_RF_TX_PWR_TRACK     //|\r
-                                                       ;       \r
-       //if(pHalData->AntDivCfg)\r
-       //      pdmpriv->InitODMFlag |= ODM_BB_ANT_DIV;\r
+       SupportAbility =        ODM_RF_CALIBRATION |\r
+                                       ODM_RF_TX_PWR_TRACK     \r
+                                       ;       \r
+       /*if(pHalData->AntDivCfg)\r
+               SupportAbility |= ODM_BB_ANT_DIV;*/\r
        #endif  \r
 \r
-       ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_ABILITY,pdmpriv->InitODMFlag);\r
+       ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_ABILITY,SupportAbility);\r
 }\r
 \r
 static void Update_ODM_ComInfo_8723b(PADAPTER  Adapter)\r
 {\r
        PHAL_DATA_TYPE  pHalData = GET_HAL_DATA(Adapter);\r
        PDM_ODM_T               pDM_Odm = &(pHalData->odmpriv);\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
+       u32 SupportAbility = 0;\r
 \r
-       pdmpriv->InitODMFlag = 0\r
+       SupportAbility = 0\r
                | ODM_BB_DIG\r
                | ODM_BB_RA_MASK\r
                | ODM_BB_DYNAMIC_TXPWR\r
                | ODM_BB_FA_CNT\r
                | ODM_BB_RSSI_MONITOR\r
                | ODM_BB_CCK_PD\r
-               | ODM_BB_PWR_SAVE\r
+               //| ODM_BB_PWR_SAVE\r
                | ODM_BB_CFO_TRACKING\r
                | ODM_MAC_EDCA_TURBO\r
                | ODM_RF_TX_PWR_TRACK\r
@@ -297,16 +297,16 @@ static void Update_ODM_ComInfo_8723b(PADAPTER     Adapter)
                ;\r
 \r
        if (rtw_odm_adaptivity_needed(Adapter) == _TRUE)\r
-               pdmpriv->InitODMFlag |= ODM_BB_ADAPTIVITY;\r
+               SupportAbility |= ODM_BB_ADAPTIVITY;\r
 \r
 #ifdef CONFIG_ANTENNA_DIVERSITY\r
        if(pHalData->AntDivCfg)\r
-               pdmpriv->InitODMFlag |= ODM_BB_ANT_DIV;\r
+               SupportAbility |= ODM_BB_ANT_DIV;\r
 #endif\r
 \r
 #if (MP_DRIVER==1)\r
        if (Adapter->registrypriv.mp_mode == 1) {\r
-               pdmpriv->InitODMFlag = 0\r
+               SupportAbility = 0\r
                        | ODM_RF_CALIBRATION\r
                        | ODM_RF_TX_PWR_TRACK\r
                        ;\r
@@ -314,10 +314,10 @@ static void Update_ODM_ComInfo_8723b(PADAPTER     Adapter)
 #endif//(MP_DRIVER==1)\r
 \r
 #ifdef CONFIG_DISABLE_ODM\r
-       pdmpriv->InitODMFlag = 0;\r
+       SupportAbility = 0;\r
 #endif//CONFIG_DISABLE_ODM\r
 \r
-       ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_ABILITY,pdmpriv->InitODMFlag);\r
+       ODM_CmnInfoUpdate(pDM_Odm,ODM_CMNINFO_ABILITY,SupportAbility);\r
 }\r
 \r
 void\r
@@ -326,7 +326,6 @@ rtl8723b_InitHalDm(
        )\r
 {\r
        PHAL_DATA_TYPE  pHalData = GET_HAL_DATA(Adapter);\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
        PDM_ODM_T               pDM_Odm = &(pHalData->odmpriv);\r
 \r
        u8      i;\r
@@ -335,13 +334,7 @@ rtl8723b_InitHalDm(
        dm_InitGPIOSetting(Adapter);\r
 #endif\r
 \r
-       pdmpriv->DM_Type = DM_Type_ByDriver;\r
-       pdmpriv->DMFlag = DYNAMIC_FUNC_DISABLE;\r
-\r
-#ifdef CONFIG_BT_COEXIST\r
-       pdmpriv->DMFlag |= DYNAMIC_FUNC_BT;\r
-#endif\r
-       pdmpriv->InitDMFlag = pdmpriv->DMFlag;\r
+       pHalData->DM_Type = DM_Type_ByDriver;\r
 \r
        Update_ODM_ComInfo_8723b(Adapter);\r
        \r
@@ -350,92 +343,6 @@ rtl8723b_InitHalDm(
 \r
 }\r
 \r
-static void\r
-FindMinimumRSSI_8723b(\r
-IN     PADAPTER        pAdapter\r
-       )\r
-{\r
-       HAL_DATA_TYPE   *pHalData = GET_HAL_DATA(pAdapter);\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
-       struct mlme_priv        *pmlmepriv = &pAdapter->mlmepriv;\r
-\r
-       //1 1.Determine the minimum RSSI\r
-\r
-\r
-#ifdef CONFIG_CONCURRENT_MODE\r
-       //      FindMinimumRSSI()       per-adapter\r
-       {\r
-               PADAPTER pbuddy_adapter = pAdapter->pbuddy_adapter;\r
-               PHAL_DATA_TYPE  pbuddy_HalData = GET_HAL_DATA(pbuddy_adapter);\r
-               struct dm_priv *pbuddy_dmpriv = &pbuddy_HalData->dmpriv;\r
-\r
-               if((pdmpriv->EntryMinUndecoratedSmoothedPWDB != 0) &&\r
-                  (pbuddy_dmpriv->EntryMinUndecoratedSmoothedPWDB != 0))\r
-               {\r
-\r
-                       if(pdmpriv->EntryMinUndecoratedSmoothedPWDB > pbuddy_dmpriv->EntryMinUndecoratedSmoothedPWDB)\r
-                               pdmpriv->EntryMinUndecoratedSmoothedPWDB = pbuddy_dmpriv->EntryMinUndecoratedSmoothedPWDB;\r
-             }\r
-               else\r
-               {\r
-                       if(pdmpriv->EntryMinUndecoratedSmoothedPWDB == 0)\r
-                             pdmpriv->EntryMinUndecoratedSmoothedPWDB = pbuddy_dmpriv->EntryMinUndecoratedSmoothedPWDB;\r
-\r
-               }\r
-               #if 0\r
-               if((pdmpriv->UndecoratedSmoothedPWDB != (-1)) &&\r
-                        (pbuddy_dmpriv->UndecoratedSmoothedPWDB != (-1)))\r
-               {\r
-\r
-                       if((pdmpriv->UndecoratedSmoothedPWDB > pbuddy_dmpriv->UndecoratedSmoothedPWDB) &&\r
-                               (pbuddy_dmpriv->UndecoratedSmoothedPWDB!=0))\r
-                                   pdmpriv->UndecoratedSmoothedPWDB = pbuddy_dmpriv->UndecoratedSmoothedPWDB;\r
-               }\r
-               else\r
-               {\r
-                       if((pdmpriv->UndecoratedSmoothedPWDB == (-1)) && (pbuddy_dmpriv->UndecoratedSmoothedPWDB!=0))\r
-                             pdmpriv->UndecoratedSmoothedPWDB = pbuddy_dmpriv->UndecoratedSmoothedPWDB;\r
-               }\r
-               #endif\r
-       }\r
-#endif\r
-\r
-       if((check_fwstate(pmlmepriv, _FW_LINKED) == _FALSE) &&\r
-               (pdmpriv->EntryMinUndecoratedSmoothedPWDB == 0))\r
-       {\r
-               pdmpriv->MinUndecoratedPWDBForDM = 0;\r
-               //ODM_RT_TRACE(pDM_Odm,COMP_BB_POWERSAVING, DBG_LOUD, ("Not connected to any \n"));\r
-       }\r
-       if(check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE)       // Default port\r
-       {\r
-               #if 0\r
-               if((check_fwstate(pmlmepriv, WIFI_AP_STATE) == _TRUE) ||\r
-                       (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == _TRUE) ||\r
-                       (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == _TRUE))\r
-               {\r
-                       pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;\r
-                       //ODM_RT_TRACE(pDM_Odm,COMP_BB_POWERSAVING, DBG_LOUD, ("AP Client PWDB = 0x%x \n", pHalData->MinUndecoratedPWDBForDM));\r
-               }\r
-               else//for STA mode\r
-               {\r
-                       pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->UndecoratedSmoothedPWDB;\r
-                       //ODM_RT_TRACE(pDM_Odm,COMP_BB_POWERSAVING, DBG_LOUD, ("STA Default Port PWDB = 0x%x \n", pHalData->MinUndecoratedPWDBForDM));\r
-               }\r
-               #else\r
-               pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;\r
-               #endif\r
-       }\r
-       else // associated entry pwdb\r
-       {\r
-               pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;\r
-               //ODM_RT_TRACE(pDM_Odm,COMP_BB_POWERSAVING, DBG_LOUD, ("AP Ext Port or disconnet PWDB = 0x%x \n", pHalData->MinUndecoratedPWDBForDM));\r
-       }\r
-\r
-       //odm_FindMinimumRSSI_Dmsp(pAdapter);\r
-       //DBG_8192C("%s=>MinUndecoratedPWDBForDM(%d)\n",__FUNCTION__,pdmpriv->MinUndecoratedPWDBForDM);\r
-       //ODM_RT_TRACE(pDM_Odm,COMP_DIG, DBG_LOUD, ("MinUndecoratedPWDBForDM =%d\n",pHalData->MinUndecoratedPWDBForDM));\r
-}\r
-\r
 VOID\r
 rtl8723b_HalDmWatchDog(\r
        IN      PADAPTER        Adapter\r
@@ -445,7 +352,6 @@ rtl8723b_HalDmWatchDog(
        BOOLEAN         bFwPSAwake = _TRUE;\r
        u8 hw_init_completed = _FALSE;\r
        PHAL_DATA_TYPE  pHalData = GET_HAL_DATA(Adapter);\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
 #ifdef CONFIG_CONCURRENT_MODE\r
        PADAPTER pbuddy_adapter = Adapter->pbuddy_adapter;\r
 #endif //CONFIG_CONCURRENT_MODE\r
@@ -520,7 +426,6 @@ if (Adapter->registrypriv.mp_mode == 1 && Adapter->mppriv.mp_dm ==0) // for MP p
                ODM_CmnInfoUpdate(&pHalData->odmpriv ,ODM_CMNINFO_LINK, bLinked);\r
                ODM_CmnInfoUpdate(&pHalData->odmpriv ,ODM_CMNINFO_STATION_STATE, bsta_state);\r
 \r
-               //FindMinimumRSSI_8723b(Adapter);\r
                //ODM_CmnInfoUpdate(&pHalData->odmpriv ,ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM);\r
 \r
 #ifdef CONFIG_BT_COEXIST\r
@@ -578,7 +483,6 @@ void rtl8723b_HalDmWatchDog_in_LPS(IN       PADAPTER        Adapter)
        u8      bLinked=_FALSE;\r
        PHAL_DATA_TYPE  pHalData = GET_HAL_DATA(Adapter);\r
        struct mlme_priv        *pmlmepriv = &Adapter->mlmepriv;\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
        PDM_ODM_T               pDM_Odm = &pHalData->odmpriv;\r
        pDIG_T  pDM_DigTable = &pDM_Odm->DM_DigTable;\r
        struct sta_priv *pstapriv = &Adapter->stapriv;\r
@@ -616,16 +520,16 @@ void rtl8723b_HalDmWatchDog_in_LPS(IN     PADAPTER        Adapter)
        if(psta == NULL)\r
                goto skip_lps_dm;\r
 \r
-       pdmpriv->EntryMinUndecoratedSmoothedPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB;\r
+       pHalData->EntryMinUndecoratedSmoothedPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB;\r
 \r
-       DBG_871X("CurIGValue=%d, EntryMinUndecoratedSmoothedPWDB = %d\n", pDM_DigTable->CurIGValue, pdmpriv->EntryMinUndecoratedSmoothedPWDB );\r
+       DBG_871X("CurIGValue=%d, EntryMinUndecoratedSmoothedPWDB = %d\n", pDM_DigTable->CurIGValue, pHalData->EntryMinUndecoratedSmoothedPWDB );\r
 \r
-       if(pdmpriv->EntryMinUndecoratedSmoothedPWDB <=0)\r
+       if(pHalData->EntryMinUndecoratedSmoothedPWDB <=0)\r
                goto skip_lps_dm;\r
 \r
-       pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;\r
+       pHalData->MinUndecoratedPWDBForDM = pHalData->EntryMinUndecoratedSmoothedPWDB;\r
 \r
-       pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM;\r
+       pDM_Odm->RSSI_Min = pHalData->MinUndecoratedPWDBForDM;\r
 \r
        //if(pDM_DigTable->CurIGValue != pDM_Odm->RSSI_Min)\r
        if((pDM_DigTable->CurIGValue > pDM_Odm->RSSI_Min + 5) || \r
@@ -645,9 +549,7 @@ skip_lps_dm:
 void rtl8723b_init_dm_priv(IN PADAPTER Adapter)\r
 {\r
        PHAL_DATA_TYPE  pHalData = GET_HAL_DATA(Adapter);\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
        PDM_ODM_T               podmpriv = &pHalData->odmpriv;\r
-       _rtw_memset(pdmpriv, 0, sizeof(struct dm_priv));\r
        Init_ODM_ComInfo_8723b(Adapter);\r
        ODM_InitAllTimers(podmpriv );\r
 }\r
@@ -655,7 +557,6 @@ void rtl8723b_init_dm_priv(IN PADAPTER Adapter)
 void rtl8723b_deinit_dm_priv(IN PADAPTER Adapter)\r
 {\r
        PHAL_DATA_TYPE  pHalData = GET_HAL_DATA(Adapter);\r
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;\r
        PDM_ODM_T               podmpriv = &pHalData->odmpriv;\r
        ODM_CancelAllTimers(podmpriv);\r
 \r