drivers/net/wireless/ath/ath11k/hal_desc.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath11k/hal_desc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath11k/hal_desc.h- Extension
.h- Size
- 90913 bytes
- Lines
- 2495
- 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
core.h
Detected Declarations
struct ath11k_buffer_addrstruct hal_tlv_hdrstruct rx_mpdu_descstruct rx_msdu_descstruct hal_reo_dest_ringstruct hal_reo_entrance_ringstruct hal_sw_monitor_ringstruct hal_reo_cmd_hdrstruct hal_reo_get_queue_statsstruct hal_reo_flush_queuestruct hal_reo_flush_cachestruct hal_tcl_data_cmdstruct hal_tcl_gse_cmdstruct hal_tcl_status_ringstruct hal_ce_srng_src_descstruct hal_ce_srng_dest_descstruct hal_ce_srng_dst_status_descstruct hal_tx_rate_statsstruct hal_wbm_link_descstruct hal_wbm_release_ringstruct hal_wbm_buffer_ringstruct hal_desc_headerstruct hal_rx_mpdu_link_ptrstruct hal_rx_msdu_detailsstruct hal_rx_msdu_linkstruct hal_rx_reo_queue_extstruct hal_rx_reo_queuestruct hal_reo_update_rx_queuestruct hal_reo_unblock_cachestruct hal_reo_status_hdrstruct hal_reo_get_queue_stats_statusstruct hal_reo_flush_queue_statusstruct hal_reo_flush_cache_statusstruct hal_reo_unblock_cache_statusstruct hal_reo_flush_timeout_list_statusstruct hal_reo_desc_thresh_reached_statusenum hal_tlv_tagenum hal_rx_msdu_desc_reo_dest_indenum hal_reo_dest_ring_buffer_typeenum hal_reo_dest_ring_push_reasonenum hal_reo_dest_ring_error_codeenum hal_reo_entr_rxdma_ecodeenum hal_encrypt_typeenum hal_tcl_encap_typeenum hal_tcl_desc_typeenum hal_wbm_htt_tx_comp_statusenum hal_tcl_gse_ctrlenum hal_tcl_cache_op_res
Annotated Snippet
struct ath11k_buffer_addr {
u32 info0;
u32 info1;
} __packed;
/* ath11k_buffer_addr
*
* info0
* Address (lower 32 bits) of the msdu buffer or msdu extension
* descriptor or Link descriptor
*
* addr
* Address (upper 8 bits) of the msdu buffer or msdu extension
* descriptor or Link descriptor
*
* return_buffer_manager (RBM)
* Consumer: WBM
* Producer: SW/FW
* Indicates to which buffer manager the buffer or MSDU_EXTENSION
* descriptor or link descriptor that is being pointed to shall be
* returned after the frame has been processed. It is used by WBM
* for routing purposes.
*
* Values are defined in enum %HAL_RX_BUF_RBM_
*
* sw_buffer_cookie
* Cookie field exclusively used by SW. HW ignores the contents,
* accept that it passes the programmed value on to other
* descriptors together with the physical address.
*
* Field can be used by SW to for example associate the buffers
* physical address with the virtual address.
*/
enum hal_tlv_tag {
HAL_MACTX_CBF_START = 0 /* 0x0 */,
HAL_PHYRX_DATA = 1 /* 0x1 */,
HAL_PHYRX_CBF_DATA_RESP = 2 /* 0x2 */,
HAL_PHYRX_ABORT_REQUEST = 3 /* 0x3 */,
HAL_PHYRX_USER_ABORT_NOTIFICATION = 4 /* 0x4 */,
HAL_MACTX_DATA_RESP = 5 /* 0x5 */,
HAL_MACTX_CBF_DATA = 6 /* 0x6 */,
HAL_MACTX_CBF_DONE = 7 /* 0x7 */,
HAL_MACRX_CBF_READ_REQUEST = 8 /* 0x8 */,
HAL_MACRX_CBF_DATA_REQUEST = 9 /* 0x9 */,
HAL_MACRX_EXPECT_NDP_RECEPTION = 10 /* 0xa */,
HAL_MACRX_FREEZE_CAPTURE_CHANNEL = 11 /* 0xb */,
HAL_MACRX_NDP_TIMEOUT = 12 /* 0xc */,
HAL_MACRX_ABORT_ACK = 13 /* 0xd */,
HAL_MACRX_REQ_IMPLICIT_FB = 14 /* 0xe */,
HAL_MACRX_CHAIN_MASK = 15 /* 0xf */,
HAL_MACRX_NAP_USER = 16 /* 0x10 */,
HAL_MACRX_ABORT_REQUEST = 17 /* 0x11 */,
HAL_PHYTX_OTHER_TRANSMIT_INFO16 = 18 /* 0x12 */,
HAL_PHYTX_ABORT_ACK = 19 /* 0x13 */,
HAL_PHYTX_ABORT_REQUEST = 20 /* 0x14 */,
HAL_PHYTX_PKT_END = 21 /* 0x15 */,
HAL_PHYTX_PPDU_HEADER_INFO_REQUEST = 22 /* 0x16 */,
HAL_PHYTX_REQUEST_CTRL_INFO = 23 /* 0x17 */,
HAL_PHYTX_DATA_REQUEST = 24 /* 0x18 */,
HAL_PHYTX_BF_CV_LOADING_DONE = 25 /* 0x19 */,
HAL_PHYTX_NAP_ACK = 26 /* 0x1a */,
HAL_PHYTX_NAP_DONE = 27 /* 0x1b */,
HAL_PHYTX_OFF_ACK = 28 /* 0x1c */,
HAL_PHYTX_ON_ACK = 29 /* 0x1d */,
HAL_PHYTX_SYNTH_OFF_ACK = 30 /* 0x1e */,
HAL_PHYTX_DEBUG16 = 31 /* 0x1f */,
HAL_MACTX_ABORT_REQUEST = 32 /* 0x20 */,
HAL_MACTX_ABORT_ACK = 33 /* 0x21 */,
HAL_MACTX_PKT_END = 34 /* 0x22 */,
HAL_MACTX_PRE_PHY_DESC = 35 /* 0x23 */,
HAL_MACTX_BF_PARAMS_COMMON = 36 /* 0x24 */,
HAL_MACTX_BF_PARAMS_PER_USER = 37 /* 0x25 */,
HAL_MACTX_PREFETCH_CV = 38 /* 0x26 */,
HAL_MACTX_USER_DESC_COMMON = 39 /* 0x27 */,
HAL_MACTX_USER_DESC_PER_USER = 40 /* 0x28 */,
HAL_EXAMPLE_USER_TLV_16 = 41 /* 0x29 */,
HAL_EXAMPLE_TLV_16 = 42 /* 0x2a */,
HAL_MACTX_PHY_OFF = 43 /* 0x2b */,
HAL_MACTX_PHY_ON = 44 /* 0x2c */,
HAL_MACTX_SYNTH_OFF = 45 /* 0x2d */,
HAL_MACTX_EXPECT_CBF_COMMON = 46 /* 0x2e */,
HAL_MACTX_EXPECT_CBF_PER_USER = 47 /* 0x2f */,
HAL_MACTX_PHY_DESC = 48 /* 0x30 */,
HAL_MACTX_L_SIG_A = 49 /* 0x31 */,
HAL_MACTX_L_SIG_B = 50 /* 0x32 */,
HAL_MACTX_HT_SIG = 51 /* 0x33 */,
HAL_MACTX_VHT_SIG_A = 52 /* 0x34 */,
HAL_MACTX_VHT_SIG_B_SU20 = 53 /* 0x35 */,
HAL_MACTX_VHT_SIG_B_SU40 = 54 /* 0x36 */,
Annotation
- Immediate include surface: `core.h`.
- Detected declarations: `struct ath11k_buffer_addr`, `struct hal_tlv_hdr`, `struct rx_mpdu_desc`, `struct rx_msdu_desc`, `struct hal_reo_dest_ring`, `struct hal_reo_entrance_ring`, `struct hal_sw_monitor_ring`, `struct hal_reo_cmd_hdr`, `struct hal_reo_get_queue_stats`, `struct hal_reo_flush_queue`.
- 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.