VOID EXhalbtc8723a1ant_Periodical( IN PBTC_COEXIST pBtCoexist ) { BOOLEAN bScan=FALSE, bLink=FALSE, bRoam=FALSE, bWifiConnected=FALSE; BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, ("[BTCoex], 1Ant Periodical!!\n")); pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_SCAN, &bScan); pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_LINK, &bLink); pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_ROAM, &bRoam); pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected); // work around for c2h hang wa_halbtc8723a1ant_MonitorC2h(pBtCoexist); halbtc8723a1ant_QueryBtInfo(pBtCoexist); halbtc8723a1ant_MonitorBtCtr(pBtCoexist); halbtc8723a1ant_MonitorBtEnableDisable(pBtCoexist); if(bScan) return; if(bLink) return; if(bWifiConnected) { if(pBtCoexist->btInfo.bBtDisabled) { halbtc8723a1ant_PsTdma(pBtCoexist, NORMAL_EXEC, FALSE, 9); halbtc8723a1ant_LowPenaltyRa(pBtCoexist, NORMAL_EXEC, FALSE); halbtc8723a1ant_RfShrink(pBtCoexist, NORMAL_EXEC, FALSE); } else { halbtc8723a1ant_LowPenaltyRa(pBtCoexist, NORMAL_EXEC, TRUE); halbtc8723a1ant_RfShrink(pBtCoexist, NORMAL_EXEC, FALSE); halbtc8723a1ant_CoexForWifiConnect(pBtCoexist); } } else { halbtc8723a1ant_PsTdma(pBtCoexist, NORMAL_EXEC, FALSE, 0); halbtc8723a1ant_LowPenaltyRa(pBtCoexist, NORMAL_EXEC, FALSE); halbtc8723a1ant_RfShrink(pBtCoexist, NORMAL_EXEC, FALSE); } }
VOID EXhalbtc8723a1ant_HaltNotify( IN PBTC_COEXIST pBtCoexist ) { halbtc8723a1ant_PsTdma(pBtCoexist, FORCE_EXEC, FALSE, 0); halbtc8723a1ant_LowPenaltyRa(pBtCoexist, FORCE_EXEC, FALSE); halbtc8723a1ant_RfShrink(pBtCoexist, FORCE_EXEC, FALSE); halbtc8723a1ant_IgnoreWlanAct(pBtCoexist, FORCE_EXEC, TRUE); EXhalbtc8723a1ant_MediaStatusNotify(pBtCoexist, BTC_MEDIA_DISCONNECT); }
VOID halbtc8723a1ant_CoexAllOff( IN PBTC_COEXIST pBtCoexist ) { // fw all off halbtc8723a1ant_IgnoreWlanAct(pBtCoexist, NORMAL_EXEC, FALSE); halbtc8723a1ant_PsTdma(pBtCoexist, NORMAL_EXEC, FALSE, 0); // sw all off halbtc8723a1ant_LowPenaltyRa(pBtCoexist, NORMAL_EXEC, FALSE); halbtc8723a1ant_RfShrink(pBtCoexist, NORMAL_EXEC, FALSE); // hw all off halbtc8723a1ant_CoexTable(pBtCoexist, NORMAL_EXEC, 0x55555555, 0xffff, 0x3); }