drivers/staging/rtl8723bs/hal/odm.h
Source file repositories/reference/linux-study-clean/drivers/staging/rtl8723bs/hal/odm.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/rtl8723bs/hal/odm.h- Extension
.h- Size
- 28399 bytes
- Lines
- 1123
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
odm_EdcaTurboCheck.hodm_DIG.hodm_DynamicBBPowerSaving.hodm_DynamicTxPower.hodm_CfoTracking.h
Detected Declarations
struct dynamic_primary_CCAstruct ra_tstruct rxhp_tstruct swat_tstruct odm_rate_adaptivestruct odm_phy_infostruct odm_packet_infostruct odm_phy_dbg_infostruct odm_mac_status_infostruct odm_rf_cal_tstruct fat_tstruct pathdiv_tstruct ant_detected_infostruct dm_odm_tenum odm_cmninfo_eenum odm_type_gpa_eenum odm_type_apa_eenum odm_type_glna_eenum odm_type_alna_eenum phy_reg_pg_typeenum odm_rf_contentenum ODM_BB_Config_Typeenum ODM_RF_Config_Typeenum ODM_FW_Config_Type
Annotated Snippet
struct dynamic_primary_CCA {
u8 PriCCA_flag;
u8 intf_flag;
u8 intf_type;
u8 DupRTS_flag;
u8 Monitor_flag;
u8 CH_offset;
u8 MF_state;
};
struct ra_t {
u8 firstconnect;
};
struct rxhp_t {
u8 RXHP_flag;
u8 PSD_func_trigger;
u8 PSD_bitmap_RXHP[80];
u8 Pre_IGI;
u8 Cur_IGI;
u8 Pre_pw_th;
u8 Cur_pw_th;
bool First_time_enter;
bool RXHP_enable;
u8 TP_Mode;
struct timer_list PSDTimer;
};
#define ASSOCIATE_ENTRY_NUM 32 /* Max size of AsocEntry[]. */
#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM
/* This indicates two different the steps. */
/* In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air. */
/* In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK */
/* with original RSSI to determine if it is necessary to switch antenna. */
#define SWAW_STEP_PEAK 0
#define SWAW_STEP_DETERMINE 1
#define TP_MODE 0
#define RSSI_MODE 1
#define TRAFFIC_LOW 0
#define TRAFFIC_HIGH 1
#define TRAFFIC_UltraLOW 2
struct swat_t { /* _SW_Antenna_Switch_ */
u8 Double_chk_flag;
u8 try_flag;
s32 PreRSSI;
u8 CurAntenna;
u8 PreAntenna;
u8 RSSI_Trying;
u8 TestMode;
u8 bTriggerAntennaSwitch;
u8 SelectAntennaMap;
u8 RSSI_target;
u8 reset_idx;
u16 Single_Ant_Counter;
u16 Dual_Ant_Counter;
u16 Aux_FailDetec_Counter;
u16 Retry_Counter;
/* Before link Antenna Switch check */
u8 SWAS_NoLink_State;
u32 SWAS_NoLink_BK_Reg860;
u32 SWAS_NoLink_BK_Reg92c;
u32 SWAS_NoLink_BK_Reg948;
bool ANTA_ON; /* To indicate Ant A is or not */
bool ANTB_ON; /* To indicate Ant B is on or not */
bool Pre_Aux_FailDetec;
bool RSSI_AntDect_bResult;
u8 Ant2G;
s32 RSSI_sum_A;
s32 RSSI_sum_B;
s32 RSSI_cnt_A;
s32 RSSI_cnt_B;
u64 lastTxOkCnt;
u64 lastRxOkCnt;
u64 TXByteCnt_A;
u64 TXByteCnt_B;
u64 RXByteCnt_A;
u64 RXByteCnt_B;
u8 TrafficLoad;
u8 Train_time;
u8 Train_time_flag;
struct timer_list SwAntennaSwitchTimer;
struct timer_list SwAntennaSwitchTimer_8723B;
u32 PktCnt_SWAntDivByCtrlFrame;
bool bSWAntDivByCtrlFrame;
Annotation
- Immediate include surface: `odm_EdcaTurboCheck.h`, `odm_DIG.h`, `odm_DynamicBBPowerSaving.h`, `odm_DynamicTxPower.h`, `odm_CfoTracking.h`.
- Detected declarations: `struct dynamic_primary_CCA`, `struct ra_t`, `struct rxhp_t`, `struct swat_t`, `struct odm_rate_adaptive`, `struct odm_phy_info`, `struct odm_packet_info`, `struct odm_phy_dbg_info`, `struct odm_mac_status_info`, `struct odm_rf_cal_t`.
- Atlas domain: Driver Families / drivers/staging.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.