drivers/net/ethernet/qlogic/qede/qede.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/qlogic/qede/qede.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/qlogic/qede/qede.h- Extension
.h- Size
- 16578 bytes
- Lines
- 610
- 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.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/workqueue.hlinux/netdevice.hlinux/interrupt.hlinux/bitmap.hlinux/kernel.hlinux/mutex.hlinux/bpf.hnet/xdp.hlinux/qed/qede_rdma.hlinux/io.hlinux/cpu_rmap.hlinux/qed/common_hsi.hlinux/qed/eth_common.hlinux/qed/qed_if.hlinux/qed/qed_chain.hlinux/qed/qed_eth_if.hnet/pkt_cls.hnet/tc_act/tc_gact.h
Detected Declarations
struct qede_stats_commonstruct qede_stats_bbstruct qede_stats_ahstruct qede_statsstruct qede_vlanstruct qede_rdma_devstruct qede_ptpstruct qede_dump_infostruct qede_coalescestruct qede_devstruct sw_rx_datastruct qede_agg_infostruct qede_rx_queuestruct sw_tx_bdstruct sw_tx_xdpstruct qede_tx_queuestruct qede_fastpathstruct qede_reload_argsenum qede_flags_bitenum qede_dump_cmdenum QEDE_STATEenum qede_agg_state
Annotated Snippet
struct qede_stats_common {
u64 no_buff_discards;
u64 packet_too_big_discard;
u64 ttl0_discard;
u64 rx_ucast_bytes;
u64 rx_mcast_bytes;
u64 rx_bcast_bytes;
u64 rx_ucast_pkts;
u64 rx_mcast_pkts;
u64 rx_bcast_pkts;
u64 mftag_filter_discards;
u64 mac_filter_discards;
u64 gft_filter_drop;
u64 tx_ucast_bytes;
u64 tx_mcast_bytes;
u64 tx_bcast_bytes;
u64 tx_ucast_pkts;
u64 tx_mcast_pkts;
u64 tx_bcast_pkts;
u64 tx_err_drop_pkts;
u64 coalesced_pkts;
u64 coalesced_events;
u64 coalesced_aborts_num;
u64 non_coalesced_pkts;
u64 coalesced_bytes;
u64 link_change_count;
u64 ptp_skip_txts;
/* port */
u64 rx_64_byte_packets;
u64 rx_65_to_127_byte_packets;
u64 rx_128_to_255_byte_packets;
u64 rx_256_to_511_byte_packets;
u64 rx_512_to_1023_byte_packets;
u64 rx_1024_to_1518_byte_packets;
u64 rx_crc_errors;
u64 rx_mac_crtl_frames;
u64 rx_pause_frames;
u64 rx_pfc_frames;
u64 rx_align_errors;
u64 rx_carrier_errors;
u64 rx_oversize_packets;
u64 rx_jabbers;
u64 rx_undersize_packets;
u64 rx_fragments;
u64 tx_64_byte_packets;
u64 tx_65_to_127_byte_packets;
u64 tx_128_to_255_byte_packets;
u64 tx_256_to_511_byte_packets;
u64 tx_512_to_1023_byte_packets;
u64 tx_1024_to_1518_byte_packets;
u64 tx_pause_frames;
u64 tx_pfc_frames;
u64 brb_truncates;
u64 brb_discards;
u64 tx_mac_ctrl_frames;
};
struct qede_stats_bb {
u64 rx_1519_to_1522_byte_packets;
u64 rx_1519_to_2047_byte_packets;
u64 rx_2048_to_4095_byte_packets;
u64 rx_4096_to_9216_byte_packets;
u64 rx_9217_to_16383_byte_packets;
u64 tx_1519_to_2047_byte_packets;
u64 tx_2048_to_4095_byte_packets;
u64 tx_4096_to_9216_byte_packets;
u64 tx_9217_to_16383_byte_packets;
u64 tx_lpi_entry_count;
u64 tx_total_collisions;
};
struct qede_stats_ah {
u64 rx_1519_to_max_byte_packets;
u64 tx_1519_to_max_byte_packets;
};
struct qede_stats {
struct qede_stats_common common;
union {
struct qede_stats_bb bb;
struct qede_stats_ah ah;
};
};
struct qede_vlan {
struct list_head list;
u16 vid;
bool configured;
Annotation
- Immediate include surface: `linux/workqueue.h`, `linux/netdevice.h`, `linux/interrupt.h`, `linux/bitmap.h`, `linux/kernel.h`, `linux/mutex.h`, `linux/bpf.h`, `net/xdp.h`.
- Detected declarations: `struct qede_stats_common`, `struct qede_stats_bb`, `struct qede_stats_ah`, `struct qede_stats`, `struct qede_vlan`, `struct qede_rdma_dev`, `struct qede_ptp`, `struct qede_dump_info`, `struct qede_coalesce`, `struct qede_dev`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.