drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h

Source file repositories/reference/linux-study-clean/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h

File Facts

System
Linux kernel
Corpus path
drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h
Extension
.h
Size
4423 bytes
Lines
147
Domain
Driver Families
Bucket
drivers/staging
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct coex_dm_8723b_2ant {
	/*  fw mechanism */
	u8 preBtDecPwrLvl;
	u8 curBtDecPwrLvl;
	u8 preFwDacSwingLvl;
	u8 curFwDacSwingLvl;
	bool bCurIgnoreWlanAct;
	bool bPreIgnoreWlanAct;
	u8 prePsTdma;
	u8 curPsTdma;
	u8 psTdmaPara[5];
	u8 psTdmaDuAdjType;
	bool bResetTdmaAdjust;
	bool bAutoTdmaAdjust;
	bool bPrePsTdmaOn;
	bool bCurPsTdmaOn;
	bool bPreBtAutoReport;
	bool bCurBtAutoReport;

	/*  sw mechanism */
	bool bPreRfRxLpfShrink;
	bool bCurRfRxLpfShrink;
	u32 btRf0x1eBackup;
	bool bPreLowPenaltyRa;
	bool bCurLowPenaltyRa;
	bool bPreDacSwingOn;
	u32  preDacSwingLvl;
	bool bCurDacSwingOn;
	u32  curDacSwingLvl;
	bool bPreAdcBackOff;
	bool bCurAdcBackOff;
	bool bPreAgcTableEn;
	bool bCurAgcTableEn;
	u32 preVal0x6c0;
	u32 curVal0x6c0;
	u32 preVal0x6c4;
	u32 curVal0x6c4;
	u32 preVal0x6c8;
	u32 curVal0x6c8;
	u8 preVal0x6cc;
	u8 curVal0x6cc;
	bool bLimitedDig;

	/*  algorithm related */
	u8 preAlgorithm;
	u8 curAlgorithm;
	u8 btStatus;
	u8 wifiChnlInfo[3];

	bool bNeedRecover0x948;
	u32 backup0x948;
};

struct coex_sta_8723b_2ant {
	bool bBtLinkExist;
	bool bScoExist;
	bool bA2dpExist;
	bool bHidExist;
	bool bPanExist;

	bool bUnderLps;
	bool bUnderIps;
	u32 highPriorityTx;
	u32 highPriorityRx;
	u32 lowPriorityTx;
	u32 lowPriorityRx;
	u8 btRssi;
	bool bBtTxRxMask;
	u8 preBtRssiState;
	u8 preWifiRssiState[4];
	bool bC2hBtInfoReqSent;
	u8 btInfoC2h[BT_INFO_SRC_8723B_2ANT_MAX][10];
	u32 btInfoC2hCnt[BT_INFO_SRC_8723B_2ANT_MAX];
	bool bC2hBtInquiryPage;
	u8 btRetryCnt;
	u8 btInfoExt;
};

/*  */
/*  The following is interface which will notify coex module. */
/*  */
void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist);
void EXhalbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly);
void EXhalbtc8723b2ant_InitCoexDm(struct btc_coexist *pBtCoexist);
void EXhalbtc8723b2ant_IpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_LpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_ScanNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 type);

Annotation

Implementation Notes