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__ */ 61