drivers/net/wireless/realtek/rtw89/mac.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtw89/mac.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/realtek/rtw89/mac.h- Extension
.h- Size
- 58161 bytes
- Lines
- 1883
- 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.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
core.hfw.hreg.h
Detected Declarations
struct rtw89_pwr_cfgstruct rtw89_mac_ax_coexstruct rtw89_mac_ax_pltstruct rtw89_cpuio_ctrlstruct rtw89_mac_dbg_port_infostruct rtw89_mac_dle_dfi_ctrlstruct rtw89_mac_dle_dfi_quotastruct rtw89_mac_dle_dfi_qemptystruct rtw89_mac_dle_rsvd_qt_cfgstruct rtw89_mac_size_setstruct rtw89_mac_mu_gid_addrstruct rtw89_mac_gen_defenum rtw89_mac_hwmod_selenum rtw89_mac_fwd_targetenum rtw89_mac_wd_dma_intvlenum rtw89_mac_multi_tag_numenum rtw89_mac_lbc_tmrenum rtw89_mac_cpuio_op_cmd_typeenum rtw89_mac_wde_dle_port_idenum rtw89_mac_wde_dle_queid_wdrlsenum rtw89_mac_ple_dle_port_idenum rtw89_mac_ple_dle_queid_plrlsenum rtw89_machdr_frame_typeenum rtw89_mac_dle_dfi_typeenum rtw89_mac_dle_wde_quota_idenum rtw89_mac_dle_ple_quota_idenum rtw89_mac_dle_ctrl_typeenum rtw89_mac_ax_l0_to_l1_eventenum rtw89_mac_phy_rpt_sizeenum rtw89_mac_hdr_cnv_sizeenum rtw89_mac_wow_fw_statusenum rtw89_mac_dbg_port_selenum rtw89_mac_mem_selenum rtw89_rpwm_req_pwr_stateenum rtw89_mac_c2h_ofld_funcenum rtw89_mac_c2h_info_funcenum rtw89_mac_c2h_mcc_funcenum rtw89_mac_c2h_misc_funcenum rtw89_mac_c2h_mlo_funcenum rtw89_mac_c2h_mrc_funcenum rtw89_mac_c2h_wow_funcenum rtw89_mac_c2h_ap_funcenum rtw89_mac_c2h_classenum rtw89_mac_mcc_statusenum rtw89_mac_mrc_statusenum rtw89_mac_bf_rrsc_rateenum rtw89_mac_dle_rsvd_qt_typeenum rtw89_mac_error_scenario
Annotated Snippet
struct rtw89_pwr_cfg {
u16 addr;
u8 cv_msk;
u8 intf_msk;
u8 base:4;
u8 cmd:4;
u8 msk;
u8 val;
};
enum rtw89_mac_c2h_ofld_func {
RTW89_MAC_C2H_FUNC_EFUSE_DUMP,
RTW89_MAC_C2H_FUNC_READ_RSP,
RTW89_MAC_C2H_FUNC_PKT_OFLD_RSP,
RTW89_MAC_C2H_FUNC_BCN_RESEND,
RTW89_MAC_C2H_FUNC_MACID_PAUSE,
RTW89_MAC_C2H_FUNC_TSF32_TOGL_RPT = 0x6,
RTW89_MAC_C2H_FUNC_SCANOFLD_RSP = 0x9,
RTW89_MAC_C2H_FUNC_TX_DUTY_RPT = 0xa,
RTW89_MAC_C2H_FUNC_BCNFLTR_RPT = 0xd,
RTW89_MAC_C2H_FUNC_OFLD_MAX,
};
enum rtw89_mac_c2h_info_func {
RTW89_MAC_C2H_FUNC_REC_ACK,
RTW89_MAC_C2H_FUNC_DONE_ACK,
RTW89_MAC_C2H_FUNC_C2H_LOG,
RTW89_MAC_C2H_FUNC_BCN_CNT,
RTW89_MAC_C2H_FUNC_BCN_UPD_DONE = 0x06,
RTW89_MAC_C2H_FUNC_INFO_MAX,
};
enum rtw89_mac_c2h_mcc_func {
RTW89_MAC_C2H_FUNC_MCC_RCV_ACK = 0,
RTW89_MAC_C2H_FUNC_MCC_REQ_ACK = 1,
RTW89_MAC_C2H_FUNC_MCC_TSF_RPT = 2,
RTW89_MAC_C2H_FUNC_MCC_STATUS_RPT = 3,
NUM_OF_RTW89_MAC_C2H_FUNC_MCC,
};
enum rtw89_mac_c2h_misc_func {
RTW89_MAC_C2H_FUNC_TX_REPORT = 1,
NUM_OF_RTW89_MAC_C2H_FUNC_MISC,
};
enum rtw89_mac_c2h_mlo_func {
RTW89_MAC_C2H_FUNC_MLO_GET_TBL = 0x0,
RTW89_MAC_C2H_FUNC_MLO_EMLSR_TRANS_DONE = 0x1,
RTW89_MAC_C2H_FUNC_MLO_EMLSR_STA_CFG_DONE = 0x2,
RTW89_MAC_C2H_FUNC_MCMLO_RELINK_RPT = 0x3,
RTW89_MAC_C2H_FUNC_MCMLO_SN_SYNC_RPT = 0x4,
RTW89_MAC_C2H_FUNC_MLO_LINK_CFG_STAT = 0x5,
RTW89_MAC_C2H_FUNC_MLO_DM_DBG_DUMP = 0x6,
NUM_OF_RTW89_MAC_C2H_FUNC_MLO,
};
enum rtw89_mac_c2h_mrc_func {
RTW89_MAC_C2H_FUNC_MRC_TSF_RPT = 0,
RTW89_MAC_C2H_FUNC_MRC_STATUS_RPT = 1,
NUM_OF_RTW89_MAC_C2H_FUNC_MRC,
};
enum rtw89_mac_c2h_wow_func {
RTW89_MAC_C2H_FUNC_AOAC_REPORT,
NUM_OF_RTW89_MAC_C2H_FUNC_WOW,
};
enum rtw89_mac_c2h_ap_func {
RTW89_MAC_C2H_FUNC_PWR_INT_NOTIFY = 0,
NUM_OF_RTW89_MAC_C2H_FUNC_AP,
};
enum rtw89_mac_c2h_class {
RTW89_MAC_C2H_CLASS_INFO = 0x0,
RTW89_MAC_C2H_CLASS_OFLD = 0x1,
RTW89_MAC_C2H_CLASS_TWT = 0x2,
RTW89_MAC_C2H_CLASS_WOW = 0x3,
RTW89_MAC_C2H_CLASS_MCC = 0x4,
RTW89_MAC_C2H_CLASS_FWDBG = 0x5,
RTW89_MAC_C2H_CLASS_MISC = 0x9,
RTW89_MAC_C2H_CLASS_MLO = 0xc,
RTW89_MAC_C2H_CLASS_MRC = 0xe,
RTW89_MAC_C2H_CLASS_AP = 0x18,
RTW89_MAC_C2H_CLASS_ROLE = 0x1b,
Annotation
- Immediate include surface: `core.h`, `fw.h`, `reg.h`.
- Detected declarations: `struct rtw89_pwr_cfg`, `struct rtw89_mac_ax_coex`, `struct rtw89_mac_ax_plt`, `struct rtw89_cpuio_ctrl`, `struct rtw89_mac_dbg_port_info`, `struct rtw89_mac_dle_dfi_ctrl`, `struct rtw89_mac_dle_dfi_quota`, `struct rtw89_mac_dle_dfi_qempty`, `struct rtw89_mac_dle_rsvd_qt_cfg`, `struct rtw89_mac_size_set`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
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.