drivers/net/ethernet/cavium/thunder/q_struct.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/cavium/thunder/q_struct.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/cavium/thunder/q_struct.h
Extension
.h
Size
14036 bytes
Lines
697
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct cqe_rx_t {
#if defined(__BIG_ENDIAN_BITFIELD)
	u64   cqe_type:4; /* W0 */
	u64   stdn_fault:1;
	u64   rsvd0:1;
	u64   rq_qs:7;
	u64   rq_idx:3;
	u64   rsvd1:12;
	u64   rss_alg:4;
	u64   rsvd2:4;
	u64   rb_cnt:4;
	u64   vlan_found:1;
	u64   vlan_stripped:1;
	u64   vlan2_found:1;
	u64   vlan2_stripped:1;
	u64   l4_type:4;
	u64   l3_type:4;
	u64   l2_present:1;
	u64   err_level:3;
	u64   err_opcode:8;

	u64   pkt_len:16; /* W1 */
	u64   l2_ptr:8;
	u64   l3_ptr:8;
	u64   l4_ptr:8;
	u64   cq_pkt_len:8;
	u64   align_pad:3;
	u64   rsvd3:1;
	u64   chan:12;

	u64   rss_tag:32; /* W2 */
	u64   vlan_tci:16;
	u64   vlan_ptr:8;
	u64   vlan2_ptr:8;

	u64   rb3_sz:16; /* W3 */
	u64   rb2_sz:16;
	u64   rb1_sz:16;
	u64   rb0_sz:16;

	u64   rb7_sz:16; /* W4 */
	u64   rb6_sz:16;
	u64   rb5_sz:16;
	u64   rb4_sz:16;

	u64   rb11_sz:16; /* W5 */
	u64   rb10_sz:16;
	u64   rb9_sz:16;
	u64   rb8_sz:16;
#elif defined(__LITTLE_ENDIAN_BITFIELD)
	u64   err_opcode:8;
	u64   err_level:3;
	u64   l2_present:1;
	u64   l3_type:4;
	u64   l4_type:4;
	u64   vlan2_stripped:1;
	u64   vlan2_found:1;
	u64   vlan_stripped:1;
	u64   vlan_found:1;
	u64   rb_cnt:4;
	u64   rsvd2:4;
	u64   rss_alg:4;
	u64   rsvd1:12;
	u64   rq_idx:3;
	u64   rq_qs:7;
	u64   rsvd0:1;
	u64   stdn_fault:1;
	u64   cqe_type:4; /* W0 */
	u64   chan:12;
	u64   rsvd3:1;
	u64   align_pad:3;
	u64   cq_pkt_len:8;
	u64   l4_ptr:8;
	u64   l3_ptr:8;
	u64   l2_ptr:8;
	u64   pkt_len:16; /* W1 */
	u64   vlan2_ptr:8;
	u64   vlan_ptr:8;
	u64   vlan_tci:16;
	u64   rss_tag:32; /* W2 */
	u64   rb0_sz:16;
	u64   rb1_sz:16;
	u64   rb2_sz:16;
	u64   rb3_sz:16; /* W3 */
	u64   rb4_sz:16;
	u64   rb5_sz:16;
	u64   rb6_sz:16;
	u64   rb7_sz:16; /* W4 */
	u64   rb8_sz:16;
	u64   rb9_sz:16;

Annotation

Implementation Notes