drivers/net/wireless/ath/ath10k/hw.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath10k/hw.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath10k/hw.h- Extension
.h- Size
- 39567 bytes
- Lines
- 1206
- 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
targaddrs.h
Detected Declarations
struct ath10k_fw_iestruct ath10k_hw_regsstruct ath10k_hw_ce_regs_addr_mapstruct ath10k_hw_ce_ctrl1struct ath10k_hw_ce_cmd_haltstruct ath10k_hw_ce_host_iestruct ath10k_hw_ce_host_wm_regsstruct ath10k_hw_ce_misc_regsstruct ath10k_hw_ce_dst_src_wm_regsstruct ath10k_hw_ce_ctrl1_updstruct ath10k_hw_ce_regsstruct ath10k_hw_valuesstruct ath10k_hw_clk_paramsstruct htt_rx_desc_opsstruct ath10k_hw_paramsstruct ath10k_hw_params_fwstruct htt_respstruct htt_data_tx_completion_extstruct htt_rx_ring_rx_desc_offsetsstruct ath10k_hw_opsenum ath10k_busenum qca6174_pci_revenum qca6174_chip_id_revenum qca9377_chip_id_revenum ath10k_fw_ie_typeenum ath10k_fw_wmi_op_versionenum ath10k_fw_htt_op_versionenum ath10k_bd_ie_typeenum ath10k_bd_ie_board_typeenum ath10k_hw_revenum ath10k_hw_txrx_modeenum ath10k_mcast2ucast_modeenum ath10k_hw_rate_ofdmenum ath10k_hw_rate_cckenum ath10k_hw_rate_rev2_cckenum ath10k_hw_cc_wraparound_typeenum ath10k_hw_refclk_speedfunction ath10k_tx_data_rssi_get_pad_bytesfunction ath10k_is_rssi_enable
Annotated Snippet
struct ath10k_fw_ie {
__le32 id;
__le32 len;
u8 data[];
};
enum ath10k_fw_ie_type {
ATH10K_FW_IE_FW_VERSION = 0,
ATH10K_FW_IE_TIMESTAMP = 1,
ATH10K_FW_IE_FEATURES = 2,
ATH10K_FW_IE_FW_IMAGE = 3,
ATH10K_FW_IE_OTP_IMAGE = 4,
/* WMI "operations" interface version, 32 bit value. Supported from
* FW API 4 and above.
*/
ATH10K_FW_IE_WMI_OP_VERSION = 5,
/* HTT "operations" interface version, 32 bit value. Supported from
* FW API 5 and above.
*/
ATH10K_FW_IE_HTT_OP_VERSION = 6,
/* Code swap image for firmware binary */
ATH10K_FW_IE_FW_CODE_SWAP_IMAGE = 7,
};
enum ath10k_fw_wmi_op_version {
ATH10K_FW_WMI_OP_VERSION_UNSET = 0,
ATH10K_FW_WMI_OP_VERSION_MAIN = 1,
ATH10K_FW_WMI_OP_VERSION_10_1 = 2,
ATH10K_FW_WMI_OP_VERSION_10_2 = 3,
ATH10K_FW_WMI_OP_VERSION_TLV = 4,
ATH10K_FW_WMI_OP_VERSION_10_2_4 = 5,
ATH10K_FW_WMI_OP_VERSION_10_4 = 6,
/* keep last */
ATH10K_FW_WMI_OP_VERSION_MAX,
};
enum ath10k_fw_htt_op_version {
ATH10K_FW_HTT_OP_VERSION_UNSET = 0,
ATH10K_FW_HTT_OP_VERSION_MAIN = 1,
/* also used in 10.2 and 10.2.4 branches */
ATH10K_FW_HTT_OP_VERSION_10_1 = 2,
ATH10K_FW_HTT_OP_VERSION_TLV = 3,
ATH10K_FW_HTT_OP_VERSION_10_4 = 4,
/* keep last */
ATH10K_FW_HTT_OP_VERSION_MAX,
};
enum ath10k_bd_ie_type {
/* contains sub IEs of enum ath10k_bd_ie_board_type */
ATH10K_BD_IE_BOARD = 0,
ATH10K_BD_IE_BOARD_EXT = 1,
};
enum ath10k_bd_ie_board_type {
ATH10K_BD_IE_BOARD_NAME = 0,
ATH10K_BD_IE_BOARD_DATA = 1,
};
enum ath10k_hw_rev {
ATH10K_HW_QCA988X,
ATH10K_HW_QCA6174,
ATH10K_HW_QCA99X0,
ATH10K_HW_QCA9888,
ATH10K_HW_QCA9984,
ATH10K_HW_QCA9377,
ATH10K_HW_QCA4019,
ATH10K_HW_QCA9887,
ATH10K_HW_WCN3990,
};
struct ath10k_hw_regs {
u32 rtc_soc_base_address;
u32 rtc_wmac_base_address;
u32 soc_core_base_address;
u32 wlan_mac_base_address;
u32 ce_wrapper_base_address;
u32 ce0_base_address;
u32 ce1_base_address;
u32 ce2_base_address;
u32 ce3_base_address;
Annotation
- Immediate include surface: `targaddrs.h`.
- Detected declarations: `struct ath10k_fw_ie`, `struct ath10k_hw_regs`, `struct ath10k_hw_ce_regs_addr_map`, `struct ath10k_hw_ce_ctrl1`, `struct ath10k_hw_ce_cmd_halt`, `struct ath10k_hw_ce_host_ie`, `struct ath10k_hw_ce_host_wm_regs`, `struct ath10k_hw_ce_misc_regs`, `struct ath10k_hw_ce_dst_src_wm_regs`, `struct ath10k_hw_ce_ctrl1_upd`.
- 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.