drivers/net/wireless/realtek/rtw88/fw.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtw88/fw.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/realtek/rtw88/fw.h- Extension
.h- Size
- 37238 bytes
- Lines
- 901
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct rtw_c2h_cmdstruct rtw_c2h_adaptivitystruct rtw_c2h_ra_rptstruct rtw_h2c_registerstruct rtw_h2c_cmdstruct rtw_coex_info_reqstruct rtw_iqk_parastruct rtw_lps_pg_dpk_hdrstruct rtw_lps_pg_info_hdrstruct rtw_rsvd_pagestruct rtw_nlo_info_hdrstruct rtw_fw_wow_keep_alive_parastruct rtw_fw_wow_disconnect_parastruct rtw_ch_switch_optionstruct rtw_fw_hdrstruct rtw_fw_hdr_legacyenum rtw_c2h_cmd_idenum rtw_c2h_cmd_id_extenum rtw_rsvd_packet_typeenum rtw_fw_rf_typeenum rtw_fw_featureenum rtw_fw_feature_extenum rtw_beacon_filter_offload_modeenum rtw_keep_alive_pkt_typeenum rtw_packet_typeenum rtw_channel_typeenum rtw_scan_extra_idenum rtw_scan_extra_infoenum rtw_scan_report_codeenum rtw_scan_notify_idenum rtw_scan_notify_statusfunction rtw_h2c_pkt_set_headerfunction rtw_fw_feature_checkfunction rtw_fw_feature_ext_check
Annotated Snippet
struct rtw_c2h_cmd {
u8 id;
u8 seq;
u8 payload[];
} __packed;
struct rtw_c2h_adaptivity {
u8 density;
u8 igi;
u8 l2h_th_init;
u8 l2h;
u8 h2l;
u8 option;
} __packed;
struct rtw_c2h_ra_rpt {
u8 rate_sgi;
u8 mac_id;
u8 byte2;
u8 status;
u8 byte4;
u8 ra_ratio;
u8 bw;
} __packed;
#define RTW_C2H_RA_RPT_RATE GENMASK(6, 0)
#define RTW_C2H_RA_RPT_SGI BIT(7)
struct rtw_h2c_register {
u32 w0;
u32 w1;
} __packed;
#define RTW_H2C_W0_CMDID GENMASK(7, 0)
/* H2C_CMD_DEFAULT_PORT command */
#define RTW_H2C_DEFAULT_PORT_W0_PORTID GENMASK(15, 8)
#define RTW_H2C_DEFAULT_PORT_W0_MACID GENMASK(23, 16)
struct rtw_h2c_cmd {
__le32 msg;
__le32 msg_ext;
} __packed;
enum rtw_rsvd_packet_type {
RSVD_BEACON,
RSVD_DUMMY,
RSVD_PS_POLL,
RSVD_PROBE_RESP,
RSVD_NULL,
RSVD_QOS_NULL,
RSVD_LPS_PG_DPK,
RSVD_LPS_PG_INFO,
RSVD_PROBE_REQ,
RSVD_NLO_INFO,
RSVD_CH_INFO,
};
enum rtw_fw_rf_type {
FW_RF_1T2R = 0,
FW_RF_2T4R = 1,
FW_RF_2T2R = 2,
FW_RF_2T3R = 3,
FW_RF_1T1R = 4,
FW_RF_2T2R_GREEN = 5,
FW_RF_3T3R = 6,
FW_RF_3T4R = 7,
FW_RF_4T4R = 8,
FW_RF_MAX_TYPE = 0xF,
};
enum rtw_fw_feature {
FW_FEATURE_SIG = BIT(0),
FW_FEATURE_LPS_C2H = BIT(1),
FW_FEATURE_LCLK = BIT(2),
FW_FEATURE_PG = BIT(3),
FW_FEATURE_TX_WAKE = BIT(4),
FW_FEATURE_BCN_FILTER = BIT(5),
FW_FEATURE_NOTIFY_SCAN = BIT(6),
FW_FEATURE_ADAPTIVITY = BIT(7),
FW_FEATURE_SCAN_OFFLOAD = BIT(8),
FW_FEATURE_MAX = BIT(31),
};
enum rtw_fw_feature_ext {
FW_FEATURE_EXT_OLD_PAGE_NUM = BIT(0),
};
enum rtw_beacon_filter_offload_mode {
BCN_FILTER_OFFLOAD_MODE_0 = 0,
Annotation
- Detected declarations: `struct rtw_c2h_cmd`, `struct rtw_c2h_adaptivity`, `struct rtw_c2h_ra_rpt`, `struct rtw_h2c_register`, `struct rtw_h2c_cmd`, `struct rtw_coex_info_req`, `struct rtw_iqk_para`, `struct rtw_lps_pg_dpk_hdr`, `struct rtw_lps_pg_info_hdr`, `struct rtw_rsvd_page`.
- Atlas domain: Driver Families / drivers/net.
- 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.