1 //===========================================
\r
2 // The following is for 8723A 1Ant BT Co-exist definition
\r
3 //===========================================
\r
4 #define BT_INFO_8723A_1ANT_B_FTP BIT7
\r
5 #define BT_INFO_8723A_1ANT_B_A2DP BIT6
\r
6 #define BT_INFO_8723A_1ANT_B_HID BIT5
\r
7 #define BT_INFO_8723A_1ANT_B_SCO_BUSY BIT4
\r
8 #define BT_INFO_8723A_1ANT_B_ACL_BUSY BIT3
\r
9 #define BT_INFO_8723A_1ANT_B_INQ_PAGE BIT2
\r
10 #define BT_INFO_8723A_1ANT_B_SCO_ESCO BIT1
\r
11 #define BT_INFO_8723A_1ANT_B_CONNECTION BIT0
\r
13 typedef enum _BT_STATE_8723A_1ANT{
\r
14 BT_STATE_8723A_1ANT_DISABLED = 0,
\r
15 BT_STATE_8723A_1ANT_NO_CONNECTION = 1,
\r
16 BT_STATE_8723A_1ANT_CONNECT_IDLE = 2,
\r
17 BT_STATE_8723A_1ANT_INQ_OR_PAG = 3,
\r
18 BT_STATE_8723A_1ANT_ACL_ONLY_BUSY = 4,
\r
19 BT_STATE_8723A_1ANT_SCO_ONLY_BUSY = 5,
\r
20 BT_STATE_8723A_1ANT_ACL_SCO_BUSY = 6,
\r
21 BT_STATE_8723A_1ANT_HID_BUSY = 7,
\r
22 BT_STATE_8723A_1ANT_HID_SCO_BUSY = 8,
\r
23 BT_STATE_8723A_1ANT_MAX
\r
24 }BT_STATE_8723A_1ANT, *PBT_STATE_8723A_1ANT;
\r
26 #define BTC_RSSI_COEX_THRESH_TOL_8723A_1ANT 2
\r
28 typedef enum _BT_INFO_SRC_8723A_1ANT{
\r
29 BT_INFO_SRC_8723A_1ANT_WIFI_FW = 0x0,
\r
30 BT_INFO_SRC_8723A_1ANT_BT_RSP = 0x1,
\r
31 BT_INFO_SRC_8723A_1ANT_BT_ACTIVE_SEND = 0x2,
\r
32 BT_INFO_SRC_8723A_1ANT_MAX
\r
33 }BT_INFO_SRC_8723A_1ANT,*PBT_INFO_SRC_8723A_1ANT;
\r
35 typedef enum _BT_8723A_1ANT_BT_STATUS{
\r
36 BT_8723A_1ANT_BT_STATUS_IDLE = 0x0,
\r
37 BT_8723A_1ANT_BT_STATUS_CONNECTED_IDLE = 0x1,
\r
38 BT_8723A_1ANT_BT_STATUS_NON_IDLE = 0x2,
\r
39 BT_8723A_1ANT_BT_STATUS_MAX
\r
40 }BT_8723A_1ANT_BT_STATUS,*PBT_8723A_1ANT_BT_STATUS;
\r
42 typedef enum _BT_8723A_1ANT_COEX_ALGO{
\r
43 BT_8723A_1ANT_COEX_ALGO_UNDEFINED = 0x0,
\r
44 BT_8723A_1ANT_COEX_ALGO_SCO = 0x1,
\r
45 BT_8723A_1ANT_COEX_ALGO_HID = 0x2,
\r
46 BT_8723A_1ANT_COEX_ALGO_A2DP = 0x3,
\r
47 BT_8723A_1ANT_COEX_ALGO_PANEDR = 0x4,
\r
48 BT_8723A_1ANT_COEX_ALGO_PANHS = 0x5,
\r
49 BT_8723A_1ANT_COEX_ALGO_PANEDR_A2DP = 0x6,
\r
50 BT_8723A_1ANT_COEX_ALGO_PANEDR_HID = 0x7,
\r
51 BT_8723A_1ANT_COEX_ALGO_HID_A2DP_PANEDR = 0x8,
\r
52 BT_8723A_1ANT_COEX_ALGO_HID_A2DP = 0x9,
\r
53 BT_8723A_1ANT_COEX_ALGO_MAX
\r
54 }BT_8723A_1ANT_COEX_ALGO,*PBT_8723A_1ANT_COEX_ALGO;
\r
56 typedef struct _COEX_DM_8723A_1ANT{
\r
58 BOOLEAN bCurIgnoreWlanAct;
\r
59 BOOLEAN bPreIgnoreWlanAct;
\r
62 u1Byte psTdmaPara[5];
\r
63 u1Byte psTdmaDuAdjType;
\r
64 u4Byte psTdmaMonitorCnt;
\r
65 u4Byte psTdmaGlobalCnt;
\r
66 BOOLEAN bResetTdmaAdjust;
\r
67 BOOLEAN bPrePsTdmaOn;
\r
68 BOOLEAN bCurPsTdmaOn;
\r
71 BOOLEAN bPreRfRxLpfShrink;
\r
72 BOOLEAN bCurRfRxLpfShrink;
\r
73 u4Byte btRf0x1eBackup;
\r
74 BOOLEAN bPreLowPenaltyRa;
\r
75 BOOLEAN bCurLowPenaltyRa;
\r
82 BOOLEAN bLimitedDig;
\r
84 // algorithm related
\r
85 u1Byte preAlgorithm;
\r
86 u1Byte curAlgorithm;
\r
88 u1Byte wifiChnlInfo[3];
\r
89 } COEX_DM_8723A_1ANT, *PCOEX_DM_8723A_1ANT;
\r
91 typedef struct _COEX_STA_8723A_1ANT{
\r
92 u4Byte highPriorityTx;
\r
93 u4Byte highPriorityRx;
\r
94 u4Byte lowPriorityTx;
\r
95 u4Byte lowPriorityRx;
\r
97 u1Byte preBtRssiState;
\r
98 u1Byte preBtRssiState1;
\r
99 u1Byte preWifiRssiState[4];
\r
100 BOOLEAN bC2hBtInfoReqSent;
\r
101 u1Byte btInfoC2h[BT_INFO_SRC_8723A_1ANT_MAX][10];
\r
102 u4Byte btInfoC2hCnt[BT_INFO_SRC_8723A_1ANT_MAX];
\r
103 BOOLEAN bC2hBtInquiryPage;
\r
106 //BOOLEAN bHoldForStackOperation;
\r
107 //u1Byte bHoldPeriodCnt;
\r
108 // this is for c2h hang work-around
\r
109 u4Byte c2hHangDetectCnt;
\r
110 }COEX_STA_8723A_1ANT, *PCOEX_STA_8723A_1ANT;
\r
112 //===========================================
\r
113 // The following is interface which will notify coex module.
\r
114 //===========================================
\r
116 EXhalbtc8723a1ant_InitHwConfig(
\r
117 IN PBTC_COEXIST pBtCoexist
\r
120 EXhalbtc8723a1ant_InitCoexDm(
\r
121 IN PBTC_COEXIST pBtCoexist
\r
124 EXhalbtc8723a1ant_IpsNotify(
\r
125 IN PBTC_COEXIST pBtCoexist,
\r
129 EXhalbtc8723a1ant_LpsNotify(
\r
130 IN PBTC_COEXIST pBtCoexist,
\r
134 EXhalbtc8723a1ant_ScanNotify(
\r
135 IN PBTC_COEXIST pBtCoexist,
\r
139 EXhalbtc8723a1ant_ConnectNotify(
\r
140 IN PBTC_COEXIST pBtCoexist,
\r
144 EXhalbtc8723a1ant_MediaStatusNotify(
\r
145 IN PBTC_COEXIST pBtCoexist,
\r
149 EXhalbtc8723a1ant_SpecialPacketNotify(
\r
150 IN PBTC_COEXIST pBtCoexist,
\r
154 EXhalbtc8723a1ant_BtInfoNotify(
\r
155 IN PBTC_COEXIST pBtCoexist,
\r
160 EXhalbtc8723a1ant_HaltNotify(
\r
161 IN PBTC_COEXIST pBtCoexist
\r
164 EXhalbtc8723a1ant_Periodical(
\r
165 IN PBTC_COEXIST pBtCoexist
\r
168 EXhalbtc8723a1ant_DisplayCoexInfo(
\r
169 IN PBTC_COEXIST pBtCoexist
\r