drivers/net/wireless/ath/ath11k/rx_desc.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath11k/rx_desc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath11k/rx_desc.h- Extension
.h- Size
- 49001 bytes
- Lines
- 1507
- 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 rx_attentionstruct rx_mpdu_start_ipq8074struct rx_mpdu_start_qcn9074struct rx_mpdu_start_wcn6855struct rx_msdu_start_ipq8074struct rx_msdu_start_qcn9074struct rx_msdu_start_wcn6855struct rx_msdu_end_ipq8074struct rx_msdu_end_wcn6855struct rx_msdu_end_qcn9074struct rx_mpdu_endstruct hal_rx_desc_ipq8074struct hal_rx_desc_qcn9074struct hal_rx_desc_wcn6855struct hal_rx_descenum rx_desc_rxpcu_filterenum rx_desc_sw_frame_grp_idenum rx_desc_decap_typeenum rx_desc_decrypt_status_codeenum rx_msdu_start_pkt_typeenum rx_msdu_start_sgienum rx_msdu_start_recv_bwenum rx_msdu_start_reception_typeenum rx_mpdu_end_rxdma_dest_ring
Annotated Snippet
struct rx_attention {
__le16 info0;
__le16 phy_ppdu_id;
__le32 info1;
__le32 info2;
} __packed;
/* rx_attention
*
* rxpcu_mpdu_filter_in_category
* Field indicates what the reason was that this mpdu frame
* was allowed to come into the receive path by rxpcu. Values
* are defined in enum %RX_DESC_RXPCU_FILTER_*.
*
* sw_frame_group_id
* SW processes frames based on certain classifications. Values
* are defined in enum %RX_DESC_SW_FRAME_GRP_ID_*.
*
* phy_ppdu_id
* A ppdu counter value that PHY increments for every PPDU
* received. The counter value wraps around.
*
* 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.
*
* 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.
*
* ast_index_not_found
* Only valid when first_msdu is set. Indicates no AST matching
* entries within the max search count.
*
* ast_index_timeout
* Only valid when first_msdu is set. Indicates an unsuccessful
* search in the address search table due to timeout.
*
* 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.
*
* a_msdu_error
* Set if number of MSDUs in A-MSDU is above a threshold or if the
* size of the MSDU is invalid. This receive buffer will contain
* all of the remainder of MSDUs in this MPDU w/o decapsulation.
*
* 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.
*
* cce_match
* Indicates that this status has a corresponding MSDU that
* requires FW processing. The OLE will have classification
Annotation
- Detected declarations: `struct rx_attention`, `struct rx_mpdu_start_ipq8074`, `struct rx_mpdu_start_qcn9074`, `struct rx_mpdu_start_wcn6855`, `struct rx_msdu_start_ipq8074`, `struct rx_msdu_start_qcn9074`, `struct rx_msdu_start_wcn6855`, `struct rx_msdu_end_ipq8074`, `struct rx_msdu_end_wcn6855`, `struct rx_msdu_end_qcn9074`.
- 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.