drivers/net/wireless/ath/ath10k/rx_desc.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath10k/rx_desc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath10k/rx_desc.h- Extension
.h- Size
- 42682 bytes
- Lines
- 1337
- 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
linux/bitops.h
Detected Declarations
struct rx_attentionstruct rx_frag_info_commonstruct rx_frag_info_wcn3990struct rx_frag_infostruct rx_frag_info_v1struct rx_mpdu_startstruct rx_mpdu_endstruct rx_msdu_start_commonstruct rx_msdu_start_qca99x0struct rx_msdu_start_wcn3990struct rx_msdu_startstruct rx_msdu_start_v1struct rx_msdu_end_commonstruct rx_msdu_end_qca99x0struct rx_msdu_end_wcn3990struct rx_msdu_endstruct rx_msdu_end_v1struct rx_ppdu_startstruct rx_ppdu_end_commonstruct rx_ppdu_end_qca988xstruct rx_ppdu_end_qca6174struct rx_pkt_endstruct rx_pkt_end_wcn3990struct rx_location_infostruct rx_location_info_wcn3990struct rx_phy_ppdu_endstruct rx_ppdu_end_qca99x0struct rx_ppdu_end_qca9984struct rx_ppdu_end_wcn3990struct rx_ppdu_endstruct rx_ppdu_end_v1struct fw_rx_desc_basestruct fw_rx_desc_hlenum rx_attention_flagsenum htt_rx_mpdu_encrypt_typeenum rx_msdu_decap_formatenum rx_phy_ppdu_end_info0enum rx_phy_ppdu_end_info1
Annotated Snippet
struct rx_attention {
__le32 flags; /* %RX_ATTENTION_FLAGS_ */
} __packed;
/*
* first_mpdu
* Indicates the first MSDU of the PPDU. If both first_mpdu
* and last_mpdu are set in the MSDU then this is a not an
* A-MPDU frame but a stand alone MPDU. Interior MPDU in an
* A-MPDU shall have both first_mpdu and last_mpdu bits set to
* 0. The PPDU start status will only be valid when this bit
* is set.
*
* last_mpdu
* Indicates the last MSDU of the last MPDU of the PPDU. The
* PPDU end status will only be valid when this bit is set.
*
* mcast_bcast
* Multicast / broadcast indicator. Only set when the MAC
* address 1 bit 0 is set indicating mcast/bcast and the BSSID
* matches one of the 4 BSSID registers. Only set when
* first_msdu is set.
*
* peer_idx_invalid
* Indicates no matching entries within the max search
* count. Only set when first_msdu is set.
*
* peer_idx_timeout
* Indicates an unsuccessful search for the peer index due to
* timeout. Only set when first_msdu is set.
*
* power_mgmt
* Power management bit set in the 802.11 header. Only set
* when first_msdu is set.
*
* non_qos
* Set if packet is not a non-QoS data frame. Only set when
* first_msdu is set.
*
* null_data
* Set if frame type indicates either null data or QoS null
* data format. Only set when first_msdu is set.
*
* mgmt_type
* Set if packet is a management packet. Only set when
* first_msdu is set.
*
* ctrl_type
* Set if packet is a control packet. Only set when first_msdu
* is set.
*
* more_data
* Set if more bit in frame control is set. Only set when
* first_msdu is set.
*
* eosp
* Set if the EOSP (end of service period) bit in the QoS
* control field is set. Only set when first_msdu is set.
*
* u_apsd_trigger
* Set if packet is U-APSD trigger. Key table will have bits
* per TID to indicate U-APSD trigger.
*
* fragment
* Indicates that this is an 802.11 fragment frame. This is
* set when either the more_frag bit is set in the frame
* control or the fragment number is not zero. Only set when
* first_msdu is set.
*
* order
* Set if the order bit in the frame control is set. Only set
* when first_msdu is set.
*
* classification
* Indicates that this status has a corresponding MSDU that
* requires FW processing. The OLE will have classification
* ring mask registers which will indicate the ring(s) for
* packets and descriptors which need FW attention.
*
* overflow_err
* PCU Receive FIFO does not have enough space to store the
* full receive packet. Enough space is reserved in the
* receive FIFO for the status is written. This MPDU remaining
* packets in the PPDU will be filtered and no Ack response
* will be transmitted.
*
* msdu_length_err
* Indicates that the MSDU length from the 802.3 encapsulated
* length field extends beyond the MPDU boundary.
*
Annotation
- Immediate include surface: `linux/bitops.h`.
- Detected declarations: `struct rx_attention`, `struct rx_frag_info_common`, `struct rx_frag_info_wcn3990`, `struct rx_frag_info`, `struct rx_frag_info_v1`, `struct rx_mpdu_start`, `struct rx_mpdu_end`, `struct rx_msdu_start_common`, `struct rx_msdu_start_qca99x0`, `struct rx_msdu_start_wcn3990`.
- 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.