GNU Linux-libre 4.19.286-gnu1
[releases.git] / drivers / staging / rtl8723bs / include / hal_btcoex.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
3  *
4  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
5  *
6  ******************************************************************************/
7 #ifndef __HAL_BTCOEX_H__
8 #define __HAL_BTCOEX_H__
9
10 #include <drv_types.h>
11
12 /*  Some variables can't get from outsrc BT-Coex, */
13 /*  so we need to save here */
14 typedef struct _BT_COEXIST
15 {
16         u8 bBtExist;
17         u8 btTotalAntNum;
18         u8 btChipType;
19         u8 bInitlized;
20 } BT_COEXIST, *PBT_COEXIST;
21
22 void DBG_BT_INFO(u8 *dbgmsg);
23
24 void hal_btcoex_SetBTCoexist(struct adapter *padapter, u8 bBtExist);
25 u8 hal_btcoex_IsBtExist(struct adapter *padapter);
26 u8 hal_btcoex_IsBtDisabled(struct adapter *);
27 void hal_btcoex_SetChipType(struct adapter *padapter, u8 chipType);
28 void hal_btcoex_SetPgAntNum(struct adapter *padapter, u8 antNum);
29 void hal_btcoex_SetSingleAntPath(struct adapter *padapter, u8 singleAntPath);
30
31 u8 hal_btcoex_Initialize(struct adapter *padapter);
32 void hal_btcoex_PowerOnSetting(struct adapter *padapter);
33 void hal_btcoex_InitHwConfig(struct adapter *padapter, u8 bWifiOnly);
34
35 void hal_btcoex_IpsNotify(struct adapter *padapter, u8 type);
36 void hal_btcoex_LpsNotify(struct adapter *padapter, u8 type);
37 void hal_btcoex_ScanNotify(struct adapter *padapter, u8 type);
38 void hal_btcoex_ConnectNotify(struct adapter *padapter, u8 action);
39 void hal_btcoex_MediaStatusNotify(struct adapter *padapter, u8 mediaStatus);
40 void hal_btcoex_SpecialPacketNotify(struct adapter *padapter, u8 pktType);
41 void hal_btcoex_IQKNotify(struct adapter *padapter, u8 state);
42 void hal_btcoex_BtInfoNotify(struct adapter *padapter, u8 length, u8 *tmpBuf);
43 void hal_btcoex_SuspendNotify(struct adapter *padapter, u8 state);
44 void hal_btcoex_HaltNotify(struct adapter *padapter);
45
46 void hal_btcoex_Hanlder(struct adapter *padapter);
47
48 s32 hal_btcoex_IsBTCoexCtrlAMPDUSize(struct adapter *padapter);
49 void hal_btcoex_SetManualControl(struct adapter *padapter, u8 bmanual);
50 u8 hal_btcoex_IsBtControlLps(struct adapter *);
51 u8 hal_btcoex_IsLpsOn(struct adapter *);
52 u8 hal_btcoex_RpwmVal(struct adapter *);
53 u8 hal_btcoex_LpsVal(struct adapter *);
54 u32 hal_btcoex_GetRaMask(struct adapter *);
55 void hal_btcoex_RecordPwrMode(struct adapter *padapter, u8 *pCmdBuf, u8 cmdLen);
56 void hal_btcoex_DisplayBtCoexInfo(struct adapter *, u8 *pbuf, u32 bufsize);
57 void hal_btcoex_SetDBG(struct adapter *, u32 *pDbgModule);
58 u32 hal_btcoex_GetDBG(struct adapter *, u8 *pStrBuf, u32 bufSize);
59
60 #endif /*  !__HAL_BTCOEX_H__ */