drivers/net/ethernet/intel/idpf/virtchnl2_lan_desc.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/idpf/virtchnl2_lan_desc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/intel/idpf/virtchnl2_lan_desc.h- Extension
.h- Size
- 16270 bytes
- Lines
- 452
- 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/bits.h
Detected Declarations
struct virtchnl2_splitq_rx_buf_descstruct virtchnl2_singleq_rx_buf_descstruct virtchnl2_singleq_base_rx_descstruct virtchnl2_rx_flex_desc_nicstruct virtchnl2_rx_flex_desc_adv_nic_3enum virtchnl2_tx_desc_idsenum virtchnl2_rx_desc_idsenum virtchnl2_rx_desc_id_bitmasksenum virtchl2_rx_flex_desc_adv_status_error_0_qw1_bitsenum virtchnl2_rx_flex_desc_adv_status_error_0_qw0_bitsenum virtchnl2_rx_flex_desc_adv_status_error_1_bitsenum virtchnl2_rx_flex_desc_status_error_0_bitsenum virtchnl2_rx_flex_desc_status_error_1_bitsenum virtchnl2_rx_base_desc_status_bitsenum virtchnl2_rx_base_desc_error_bits
Annotated Snippet
struct virtchnl2_splitq_rx_buf_desc {
struct {
__le16 buf_id;
__le16 rsvd0;
__le32 rsvd1;
} qword0;
__le64 pkt_addr;
__le64 hdr_addr;
__le64 rsvd2;
};
/**
* struct virtchnl2_singleq_rx_buf_desc - SingleQ RX buffer descriptor format.
* @pkt_addr: Packet buffer address.
* @hdr_addr: Header buffer address.
* @rsvd1: Reserved.
* @rsvd2: Reserved.
*
* SingleQ buffer
* | 0|
* ----------------------------------------------------------------
* | Rx packet buffer address |
* ----------------------------------------------------------------
* | Rx header buffer address |
* ----------------------------------------------------------------
* | RSV |
* ----------------------------------------------------------------
* | RSV |
* ----------------------------------------------------------------
* | 0|
*/
struct virtchnl2_singleq_rx_buf_desc {
__le64 pkt_addr;
__le64 hdr_addr;
__le64 rsvd1;
__le64 rsvd2;
};
/**
* struct virtchnl2_singleq_base_rx_desc - RX descriptor writeback format.
* @qword0: First quad word struct.
* @qword0.lo_dword: Lower dual word struct.
* @qword0.lo_dword.mirroring_status: Mirrored packet status.
* @qword0.lo_dword.l2tag1: Stripped L2 tag from the received packet.
* @qword0.hi_dword: High dual word union.
* @qword0.hi_dword.rss: RSS hash.
* @qword0.hi_dword.fd_id: Flow director filter id.
* @qword1: Second quad word struct.
* @qword1.status_error_ptype_len: Status/error/PTYPE/length.
* @qword2: Third quad word struct.
* @qword2.ext_status: Extended status.
* @qword2.rsvd: Reserved.
* @qword2.l2tag2_1: Extracted L2 tag 2 from the packet.
* @qword2.l2tag2_2: Reserved.
* @qword3: Fourth quad word struct.
* @qword3.reserved: Reserved.
* @qword3.fd_id: Flow director filter id.
*
* Profile ID 0x1, SingleQ, base writeback format
*/
struct virtchnl2_singleq_base_rx_desc {
struct {
struct {
__le16 mirroring_status;
__le16 l2tag1;
} lo_dword;
union {
__le32 rss;
__le32 fd_id;
} hi_dword;
} qword0;
struct {
__le64 status_error_ptype_len;
} qword1;
struct {
__le16 ext_status;
__le16 rsvd;
__le16 l2tag2_1;
__le16 l2tag2_2;
} qword2;
struct {
__le32 reserved;
__le32 fd_id;
} qword3;
};
/**
* struct virtchnl2_rx_flex_desc_nic - RX descriptor writeback format.
*
* @rxdid: Descriptor builder profile id.
Annotation
- Immediate include surface: `linux/bits.h`.
- Detected declarations: `struct virtchnl2_splitq_rx_buf_desc`, `struct virtchnl2_singleq_rx_buf_desc`, `struct virtchnl2_singleq_base_rx_desc`, `struct virtchnl2_rx_flex_desc_nic`, `struct virtchnl2_rx_flex_desc_adv_nic_3`, `enum virtchnl2_tx_desc_ids`, `enum virtchnl2_rx_desc_ids`, `enum virtchnl2_rx_desc_id_bitmasks`, `enum virtchl2_rx_flex_desc_adv_status_error_0_qw1_bits`, `enum virtchnl2_rx_flex_desc_adv_status_error_0_qw0_bits`.
- 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.