drivers/net/wireless/broadcom/b43/phy_n.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/broadcom/b43/phy_n.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/broadcom/b43/phy_n.h- Extension
.h- Size
- 61669 bytes
- Lines
- 1009
- Domain
- Driver Families
- Bucket
- drivers/net
- 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.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
phy_common.hppr.h
Detected Declarations
struct b43_wldevstruct b43_chanspecstruct b43_phy_n_iq_compstruct b43_phy_n_rssical_cachestruct b43_phy_n_cal_cachestruct b43_phy_n_txpwrindexstruct b43_phy_n_pwr_ctl_infostruct b43_phy_nstruct b43_phy_operationsenum b43_nphy_spur_avoid
Annotated Snippet
struct b43_chanspec {
u16 center_freq;
enum nl80211_channel_type channel_type;
};
struct b43_phy_n_iq_comp {
s16 a0;
s16 b0;
s16 a1;
s16 b1;
};
struct b43_phy_n_rssical_cache {
u16 rssical_radio_regs_2G[2];
u16 rssical_phy_regs_2G[12];
u16 rssical_radio_regs_5G[2];
u16 rssical_phy_regs_5G[12];
};
struct b43_phy_n_cal_cache {
u16 txcal_radio_regs_2G[8];
u16 txcal_coeffs_2G[8];
struct b43_phy_n_iq_comp rxcal_coeffs_2G;
u16 txcal_radio_regs_5G[8];
u16 txcal_coeffs_5G[8];
struct b43_phy_n_iq_comp rxcal_coeffs_5G;
};
struct b43_phy_n_txpwrindex {
s8 index;
s8 index_internal;
s8 index_internal_save;
u16 AfectrlOverride;
u16 AfeCtrlDacGain;
u16 rad_gain;
u8 bbmult;
u16 iqcomp_a;
u16 iqcomp_b;
u16 locomp;
};
struct b43_phy_n_pwr_ctl_info {
u8 idle_tssi_2g;
u8 idle_tssi_5g;
};
struct b43_phy_n {
u8 antsel_type;
u8 cal_orig_pwr_idx[2];
u8 measure_hold;
u8 phyrxchain;
u8 hw_phyrxchain;
u8 hw_phytxchain;
u8 perical;
u32 deaf_count;
u32 rxcalparams;
bool hang_avoid;
bool mute;
u16 papd_epsilon_offset[2];
s32 preamble_override;
u32 bb_mult_save;
bool gain_boost;
bool elna_gain_config;
bool band5g_pwrgain;
bool use_int_tx_iq_lo_cal;
bool lpf_bw_overrode_for_sample_play;
u8 mphase_cal_phase_id;
u16 mphase_txcal_cmdidx;
u16 mphase_txcal_numcmds;
u16 mphase_txcal_bestcoeffs[11];
bool txpwrctrl;
bool pwg_gain_5ghz;
u8 tx_pwr_idx[2];
s8 tx_power_offset[101];
u16 adj_pwr_tbl[84];
u16 txcal_bbmult;
u16 txiqlocal_bestc[11];
bool txiqlocal_coeffsvalid;
struct b43_phy_n_txpwrindex txpwrindex[2];
struct b43_phy_n_pwr_ctl_info pwr_ctl_info[2];
struct b43_chanspec txiqlocal_chanspec;
struct b43_ppr tx_pwr_max_ppr;
u16 tx_pwr_last_recalc_freq;
int tx_pwr_last_recalc_limit;
Annotation
- Immediate include surface: `phy_common.h`, `ppr.h`.
- Detected declarations: `struct b43_wldev`, `struct b43_chanspec`, `struct b43_phy_n_iq_comp`, `struct b43_phy_n_rssical_cache`, `struct b43_phy_n_cal_cache`, `struct b43_phy_n_txpwrindex`, `struct b43_phy_n_pwr_ctl_info`, `struct b43_phy_n`, `struct b43_phy_operations`, `enum b43_nphy_spur_avoid`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.