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 / OUTSRC-BTCoexist / HalBtc8812a1Ant.h
index 4f2df7a6033d662217ec23e934c384f777aa1d5b..c4ec1a4c8f164e7a0a5bb8741ca6bf859e5bdde5 100755 (executable)
@@ -1,6 +1,8 @@
 //===========================================\r
-// The following is for 8812A_1ANT BT Co-exist definition\r
+// The following is for 8812A 1ANT BT Co-exist definition\r
 //===========================================\r
+#define        BT_AUTO_REPORT_ONLY_8812A_1ANT                          1\r
+\r
 #define        BT_INFO_8812A_1ANT_B_FTP                                                BIT7\r
 #define        BT_INFO_8812A_1ANT_B_A2DP                                       BIT6\r
 #define        BT_INFO_8812A_1ANT_B_HID                                                BIT5\r
@@ -15,8 +17,7 @@
 \r
 #define        BTC_RSSI_COEX_THRESH_TOL_8812A_1ANT             2\r
 \r
-#define        BTC_8812A_1ANT_SWITCH_TO_WIFI                           0\r
-#define        BTC_8812A_1ANT_SWITCH_TO_BT                                     1\r
+#define  BT_8812A_1ANT_WIFI_NOISY_THRESH                                                               30   //max: 255\r
 \r
 typedef enum _BT_INFO_SRC_8812A_1ANT{\r
        BT_INFO_SRC_8812A_1ANT_WIFI_FW                  = 0x0,\r
@@ -61,6 +62,9 @@ typedef enum _BT_8812A_1ANT_COEX_ALGO{
 }BT_8812A_1ANT_COEX_ALGO,*PBT_8812A_1ANT_COEX_ALGO;\r
 \r
 typedef struct _COEX_DM_8812A_1ANT{\r
+       // hw setting\r
+       u1Byte          preAntPosType;\r
+       u1Byte          curAntPosType;\r
        // fw mechanism\r
        BOOLEAN         bCurIgnoreWlanAct;\r
        BOOLEAN         bPreIgnoreWlanAct;\r
@@ -68,7 +72,7 @@ typedef struct _COEX_DM_8812A_1ANT{
        u1Byte          curPsTdma;\r
        u1Byte          psTdmaPara[5];\r
        u1Byte          psTdmaDuAdjType;\r
-       BOOLEAN         bResetTdmaAdjust;\r
+       BOOLEAN         bAutoTdmaAdjust;\r
        BOOLEAN         bPrePsTdmaOn;\r
        BOOLEAN         bCurPsTdmaOn;\r
        BOOLEAN         bPreBtAutoReport;\r
@@ -81,7 +85,6 @@ typedef struct _COEX_DM_8812A_1ANT{
        // sw mechanism\r
        BOOLEAN         bPreLowPenaltyRa;\r
        BOOLEAN         bCurLowPenaltyRa;\r
-       BOOLEAN         bPreDacSwingOn;\r
        u4Byte          preVal0x6c0;\r
        u4Byte          curVal0x6c0;\r
        u4Byte          preVal0x6c4;\r
@@ -90,6 +93,12 @@ typedef struct _COEX_DM_8812A_1ANT{
        u4Byte          curVal0x6c8;\r
        u1Byte          preVal0x6cc;\r
        u1Byte          curVal0x6cc;\r
+       BOOLEAN         bLimitedDig;\r
+\r
+       u4Byte          backupArfrCnt1; // Auto Rate Fallback Retry cnt\r
+       u4Byte          backupArfrCnt2; // Auto Rate Fallback Retry cnt\r
+       u2Byte          backupRetryLimit;\r
+       u1Byte          backupAmpduMaxTime;\r
 \r
        // algorithm related\r
        u1Byte          preAlgorithm;\r
@@ -99,6 +108,13 @@ typedef struct _COEX_DM_8812A_1ANT{
 \r
        u4Byte          preRaMask;\r
        u4Byte          curRaMask;\r
+       u1Byte          preArfrType;\r
+       u1Byte          curArfrType;\r
+       u1Byte          preRetryLimitType;\r
+       u1Byte          curRetryLimitType;\r
+       u1Byte          preAmpduTimeType;\r
+       u1Byte          curAmpduTimeType;\r
+       u4Byte          nArpCnt;\r
 \r
        u1Byte          errorCondition;\r
 } COEX_DM_8812A_1ANT, *PCOEX_DM_8812A_1ANT;\r
@@ -112,11 +128,13 @@ typedef struct _COEX_STA_8812A_1ANT{
 \r
        BOOLEAN                                 bUnderLps;\r
        BOOLEAN                                 bUnderIps;\r
+       u4Byte                                  specialPktPeriodCnt;\r
        u4Byte                                  highPriorityTx;\r
        u4Byte                                  highPriorityRx;\r
        u4Byte                                  lowPriorityTx;\r
        u4Byte                                  lowPriorityRx;\r
-       u1Byte                                  btRssi;\r
+       s1Byte                                  btRssi;\r
+       BOOLEAN                                 bBtTxRxMask;\r
        u1Byte                                  preBtRssiState;\r
        u1Byte                                  preWifiRssiState[4];\r
        BOOLEAN                                 bC2hBtInfoReqSent;\r
@@ -124,8 +142,28 @@ typedef struct _COEX_STA_8812A_1ANT{
        u4Byte                                  btInfoC2hCnt[BT_INFO_SRC_8812A_1ANT_MAX];\r
        u4Byte                                  btInfoQueryCnt;\r
        BOOLEAN                                 bC2hBtInquiryPage;\r
+       BOOLEAN                                 bC2hBtPage;                             //Add for win8.1 page out issue\r
+       BOOLEAN                                 bWiFiIsHighPriTask;             //Add for win8.1 page out issue\r
        u1Byte                                  btRetryCnt;\r
        u1Byte                                  btInfoExt;\r
+       u4Byte                                  popEventCnt;\r
+       u1Byte                                  nScanAPNum;\r
+\r
+       u4Byte                                  nCRCOK_CCK;\r
+       u4Byte                                  nCRCOK_11g;\r
+       u4Byte                                  nCRCOK_11n;\r
+       u4Byte                                  nCRCOK_11nAgg;\r
+       \r
+       u4Byte                                  nCRCErr_CCK;\r
+       u4Byte                                  nCRCErr_11g;\r
+       u4Byte                                  nCRCErr_11n;\r
+       u4Byte                                  nCRCErr_11nAgg; \r
+\r
+       BOOLEAN                                 bCCKLock;\r
+       BOOLEAN                                 bPreCCKLock;\r
+       u1Byte                                  nCoexTableType;\r
+\r
+       BOOLEAN                                 bForceLpsOn;\r
 }COEX_STA_8812A_1ANT, *PCOEX_STA_8812A_1ANT;\r
 \r
 //===========================================\r
@@ -136,6 +174,10 @@ EXhalbtc8812a1ant_PowerOnSetting(
        IN      PBTC_COEXIST            pBtCoexist\r
        );\r
 VOID\r
+EXhalbtc8812a1ant_PreLoadFirmware(\r
+       IN      PBTC_COEXIST            pBtCoexist\r
+       );\r
+VOID\r
 EXhalbtc8812a1ant_InitHwConfig(\r
        IN      PBTC_COEXIST            pBtCoexist,\r
        IN      BOOLEAN                         bWifiOnly\r
@@ -181,6 +223,11 @@ EXhalbtc8812a1ant_BtInfoNotify(
        IN      u1Byte                  length\r
        );\r
 VOID\r
+EXhalbtc8812a1ant_RfStatusNotify(\r
+       IN      PBTC_COEXIST                    pBtCoexist,\r
+       IN      u1Byte                                  type\r
+       );\r
+VOID\r
 EXhalbtc8812a1ant_HaltNotify(\r
        IN      PBTC_COEXIST                    pBtCoexist\r
        );\r
@@ -190,17 +237,22 @@ EXhalbtc8812a1ant_PnpNotify(
        IN      u1Byte                          pnpState\r
        );\r
 VOID\r
-EXhalbtc8812a1ant_Periodical(\r
+EXhalbtc8812a1ant_CoexDmReset(\r
        IN      PBTC_COEXIST                    pBtCoexist\r
        );\r
 VOID\r
-EXhalbtc8812a1ant_DisplayCoexInfo(\r
-       IN      PBTC_COEXIST            pBtCoexist\r
+EXhalbtc8812a1ant_Periodical(\r
+       IN      PBTC_COEXIST                    pBtCoexist\r
        );\r
 VOID\r
 EXhalbtc8812a1ant_DbgControl(\r
        IN      PBTC_COEXIST                    pBtCoexist,\r
        IN      u1Byte                          opCode,\r
        IN      u1Byte                          opLen,\r
-       IN      pu1Byte                         pData\r
+       IN      pu1Byte                         pData\r
        );\r
+VOID\r
+EXhalbtc8812a1ant_DisplayCoexInfo(\r
+       IN      PBTC_COEXIST            pBtCoexist\r
+       );\r
+\r