//===========================================\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
\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
}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
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
// sw mechanism\r
BOOLEAN bPreLowPenaltyRa;\r
BOOLEAN bCurLowPenaltyRa;\r
- BOOLEAN bPreDacSwingOn;\r
u4Byte preVal0x6c0;\r
u4Byte curVal0x6c0;\r
u4Byte preVal0x6c4;\r
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
\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
\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
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
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
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
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