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#define LPS_RPWM_WAIT_MS 300 13 14/* Some variables can't get from outsrc BT-Coex, */ 15/* so we need to save here */ 16struct bt_coexist { 17 u8 bBtExist; 18 u8 btTotalAntNum; 19 u8 btChipType; 20 u8 bInitlized; 21}; 22 23void hal_btcoex_SetBTCoexist(struct adapter *padapter, u8 bBtExist); 24bool hal_btcoex_IsBtExist(struct adapter *padapter); 25bool hal_btcoex_IsBtDisabled(struct adapter *); 26void hal_btcoex_SetPgAntNum(struct adapter *padapter, u8 antNum); 27void hal_btcoex_SetSingleAntPath(struct adapter *padapter, u8 singleAntPath); 28 29void hal_btcoex_Initialize(void *padapter); 30void hal_btcoex_PowerOnSetting(struct adapter *padapter); 31void hal_btcoex_InitHwConfig(struct adapter *padapter, u8 bWifiOnly); 32 33void hal_btcoex_IpsNotify(struct adapter *padapter, u8 type); 34void hal_btcoex_LpsNotify(struct adapter *padapter, u8 type); 35void hal_btcoex_ScanNotify(struct adapter *padapter, u8 type); 36void hal_btcoex_ConnectNotify(struct adapter *padapter, u8 action); 37void hal_btcoex_MediaStatusNotify(struct adapter *padapter, u8 mediaStatus); 38void hal_btcoex_SpecialPacketNotify(struct adapter *padapter, u8 pktType); 39void hal_btcoex_IQKNotify(struct adapter *padapter, u8 state); 40void hal_btcoex_BtInfoNotify(struct adapter *padapter, u8 length, u8 *tmpBuf); 41void hal_btcoex_SuspendNotify(struct adapter *padapter, u8 state); 42void hal_btcoex_HaltNotify(struct adapter *padapter); 43 44void hal_btcoex_Handler(struct adapter *padapter); 45 46s32 hal_btcoex_IsBTCoexCtrlAMPDUSize(struct adapter *padapter); 47bool hal_btcoex_IsBtControlLps(struct adapter *padapter); 48bool hal_btcoex_IsLpsOn(struct adapter *padapter); 49u8 hal_btcoex_RpwmVal(struct adapter *); 50u8 hal_btcoex_LpsVal(struct adapter *); 51u32 hal_btcoex_GetRaMask(struct adapter *); 52void hal_btcoex_RecordPwrMode(struct adapter *padapter, u8 *pCmdBuf, u8 cmdLen); 53 54#endif /* !__HAL_BTCOEX_H__ */ 55