drivers/net/wireless/ath/wil6210/txrx_edma.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/wil6210/txrx_edma.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/wil6210/txrx_edma.h- Extension
.h- Size
- 18558 bytes
- Lines
- 605
- 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
wil6210.h
Detected Declarations
struct wil_ring_rx_enhanced_macstruct wil_ring_rx_enhanced_dmastruct wil_rx_enhanced_descstruct wil_ring_tx_enhanced_dmastruct wil_ring_tx_enhanced_macstruct wil_tx_enhanced_descstruct wil_ring_tx_statusstruct wil_rx_status_compressedstruct wil_rx_status_extensionstruct wil_rx_status_extendedfunction wil_rx_status_get_lengthfunction wil_rx_status_get_mcsfunction wil_rx_status_get_cb_modefunction wil_rx_status_get_flow_idfunction wil_rx_status_get_mcastfunction wil_rx_status_get_cidfunction wil_rx_status_get_tidfunction wil_rx_status_reset_buff_idfunction wil_rx_status_get_buff_idfunction wil_rx_status_get_data_offsetfunction wil_rx_status_get_frame_typefunction wil_rx_status_get_fc1function wil_rx_status_get_seqfunction wil_rx_status_get_retryfunction wil_rx_status_get_midfunction wil_rx_status_get_errorfunction wil_rx_status_get_l2_rx_statusfunction wil_rx_status_get_l3_rx_statusfunction wil_rx_status_get_l4_rx_statusfunction wil_rx_status_get_checksumfunction wil_rx_status_get_securityfunction wil_rx_status_get_key_idfunction wil_tx_status_get_mcsfunction wil_ring_next_headfunction wil_desc_set_addr_edmafunction wil_tx_desc_get_addr_edmafunction wil_rx_desc_get_addr_edma
Annotated Snippet
struct wil_ring_rx_enhanced_mac {
u32 d[3];
__le16 buff_id;
u16 reserved;
} __packed;
/* Enhanced Rx descriptor - DMA part
* [dword 0] - Reserved
* [dword 1]
* bit 0..31 : addr_low:32 The payload buffer address, bits 0-31
* [dword 2]
* bit 0..15 : addr_high_low:16 The payload buffer address, bits 32-47
* bit 16..31 : Reserved
* [dword 3]
* bit 0..15 : addr_high_high:16 The payload buffer address, bits 48-63
* bit 16..31 : length
*/
struct wil_ring_rx_enhanced_dma {
u32 d0;
struct wil_ring_dma_addr addr;
u16 w5;
__le16 addr_high_high;
__le16 length;
} __packed;
struct wil_rx_enhanced_desc {
struct wil_ring_rx_enhanced_mac mac;
struct wil_ring_rx_enhanced_dma dma;
} __packed;
/* Enhanced Tx descriptor - DMA part
* [dword 0]
* Same as legacy
* [dword 1]
* bit 0..31 : addr_low:32 The payload buffer address, bits 0-31
* [dword 2]
* bit 0..15 : addr_high_low:16 The payload buffer address, bits 32-47
* bit 16..23 : ip_length:8 The IP header length for the TX IP checksum
* offload feature
* bit 24..30 : mac_length:7
* bit 31 : ip_version:1 1 - IPv4, 0 - IPv6
* [dword 3]
* bit 0..15 : addr_high_high:16 The payload buffer address, bits 48-63
* bit 16..31 : length
*/
struct wil_ring_tx_enhanced_dma {
u8 l4_hdr_len;
u8 cmd;
u16 w1;
struct wil_ring_dma_addr addr;
u8 ip_length;
u8 b11; /* 0..6: mac_length; 7:ip_version */
__le16 addr_high_high;
__le16 length;
} __packed;
/* Enhanced Tx descriptor - MAC part
* [dword 0]
* bit 0.. 9 : lifetime_expiry_value:10
* bit 10 : interrupt_en:1
* bit 11 : status_en:1
* bit 12..13 : txss_override:2
* bit 14 : timestamp_insertion:1
* bit 15 : duration_preserve:1
* bit 16..21 : reserved0:6
* bit 22..26 : mcs_index:5
* bit 27 : mcs_en:1
* bit 28..30 : reserved1:3
* bit 31 : sn_preserved:1
* [dword 1]
* bit 0.. 3 : pkt_mode:4
* bit 4 : pkt_mode_en:1
* bit 5..14 : reserved0:10
* bit 15 : ack_policy_en:1
* bit 16..19 : dst_index:4
* bit 20 : dst_index_en:1
* bit 21..22 : ack_policy:2
* bit 23 : lifetime_en:1
* bit 24..30 : max_retry:7
* bit 31 : max_retry_en:1
* [dword 2]
* bit 0.. 7 : num_of_descriptors:8
* bit 8..17 : reserved:10
* bit 18..19 : l2_translation_type:2 00 - bypass, 01 - 802.3, 10 - 802.11
* bit 20 : snap_hdr_insertion_en:1
* bit 21 : vlan_removal_en:1
* bit 22..23 : reserved0:2
* bit 24 : Dest ID extension:1
* bit 25..31 : reserved0:7
* [dword 3]
Annotation
- Immediate include surface: `wil6210.h`.
- Detected declarations: `struct wil_ring_rx_enhanced_mac`, `struct wil_ring_rx_enhanced_dma`, `struct wil_rx_enhanced_desc`, `struct wil_ring_tx_enhanced_dma`, `struct wil_ring_tx_enhanced_mac`, `struct wil_tx_enhanced_desc`, `struct wil_ring_tx_status`, `struct wil_rx_status_compressed`, `struct wil_rx_status_extension`, `struct wil_rx_status_extended`.
- 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.