include/linux/qed/qed_if.h
Source file repositories/reference/linux-study-clean/include/linux/qed/qed_if.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/qed/qed_if.h- Extension
.h- Size
- 34882 bytes
- Lines
- 1503
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/ethtool.hlinux/types.hlinux/interrupt.hlinux/netdevice.hlinux/pci.hlinux/skbuff.hasm/byteorder.hlinux/io.hlinux/compiler.hlinux/kernel.hlinux/list.hlinux/slab.hlinux/qed/common_hsi.hlinux/qed/qed_chain.hlinux/io-64-nonatomic-lo-hi.hnet/devlink.h
Detected Declarations
struct qed_dcbx_lldp_remotestruct qed_dcbx_lldp_localstruct qed_dcbx_app_priostruct qed_dbcx_pfc_paramsstruct qed_app_entrystruct qed_dcbx_paramsstruct qed_dcbx_admin_paramsstruct qed_dcbx_remote_paramsstruct qed_dcbx_operational_paramsstruct qed_dcbx_getstruct qed_link_eee_paramsstruct qed_mfw_tlv_ethstruct qed_mfw_tlv_timestruct qed_mfw_tlv_fcoestruct qed_mfw_tlv_iscsistruct qed_devstruct qed_eth_pf_paramsstruct qed_fcoe_pf_paramsstruct qed_iscsi_pf_paramsstruct qed_nvmetcp_pf_paramsstruct qed_rdma_pf_paramsstruct qed_pf_paramsstruct qed_sb_infostruct qed_dev_infostruct qed_link_paramsstruct qed_link_outputstruct qed_probe_paramsstruct qed_slowpath_paramsstruct qed_int_infostruct qed_generic_tlvsstruct qed_devlinkstruct qed_sb_info_dbgstruct qed_common_cb_opsstruct qed_selftest_opsstruct qed_common_opsstruct qed_eth_stats_commonstruct qed_eth_stats_bbstruct qed_eth_stats_ahstruct qed_eth_statsstruct qed_sb_cnt_infoenum dcbx_protocol_typeenum qed_dcbx_sf_ieee_typeenum qed_nvm_imagesenum qed_led_modeenum qed_db_rec_widthenum qed_db_rec_spaceenum qed_int_modeenum qed_hw_err_type
Annotated Snippet
struct qed_dcbx_lldp_remote {
u32 peer_chassis_id[QED_LLDP_CHASSIS_ID_STAT_LEN];
u32 peer_port_id[QED_LLDP_PORT_ID_STAT_LEN];
bool enable_rx;
bool enable_tx;
u32 tx_interval;
u32 max_credit;
};
struct qed_dcbx_lldp_local {
u32 local_chassis_id[QED_LLDP_CHASSIS_ID_STAT_LEN];
u32 local_port_id[QED_LLDP_PORT_ID_STAT_LEN];
};
struct qed_dcbx_app_prio {
u8 roce;
u8 roce_v2;
u8 fcoe;
u8 iscsi;
u8 eth;
};
struct qed_dbcx_pfc_params {
bool willing;
bool enabled;
u8 prio[QED_MAX_PFC_PRIORITIES];
u8 max_tc;
};
enum qed_dcbx_sf_ieee_type {
QED_DCBX_SF_IEEE_ETHTYPE,
QED_DCBX_SF_IEEE_TCP_PORT,
QED_DCBX_SF_IEEE_UDP_PORT,
QED_DCBX_SF_IEEE_TCP_UDP_PORT
};
struct qed_app_entry {
bool ethtype;
enum qed_dcbx_sf_ieee_type sf_ieee;
bool enabled;
u8 prio;
u16 proto_id;
enum dcbx_protocol_type proto_type;
};
struct qed_dcbx_params {
struct qed_app_entry app_entry[QED_DCBX_MAX_APP_PROTOCOL];
u16 num_app_entries;
bool app_willing;
bool app_valid;
bool app_error;
bool ets_willing;
bool ets_enabled;
bool ets_cbs;
bool valid;
u8 ets_pri_tc_tbl[QED_MAX_PFC_PRIORITIES];
u8 ets_tc_bw_tbl[QED_MAX_PFC_PRIORITIES];
u8 ets_tc_tsa_tbl[QED_MAX_PFC_PRIORITIES];
struct qed_dbcx_pfc_params pfc;
u8 max_ets_tc;
};
struct qed_dcbx_admin_params {
struct qed_dcbx_params params;
bool valid;
};
struct qed_dcbx_remote_params {
struct qed_dcbx_params params;
bool valid;
};
struct qed_dcbx_operational_params {
struct qed_dcbx_app_prio app_prio;
struct qed_dcbx_params params;
bool valid;
bool enabled;
bool ieee;
bool cee;
bool local;
u32 err;
};
struct qed_dcbx_get {
struct qed_dcbx_operational_params operational;
struct qed_dcbx_lldp_remote lldp_remote;
struct qed_dcbx_lldp_local lldp_local;
struct qed_dcbx_remote_params remote;
struct qed_dcbx_admin_params local;
};
Annotation
- Immediate include surface: `linux/ethtool.h`, `linux/types.h`, `linux/interrupt.h`, `linux/netdevice.h`, `linux/pci.h`, `linux/skbuff.h`, `asm/byteorder.h`, `linux/io.h`.
- Detected declarations: `struct qed_dcbx_lldp_remote`, `struct qed_dcbx_lldp_local`, `struct qed_dcbx_app_prio`, `struct qed_dbcx_pfc_params`, `struct qed_app_entry`, `struct qed_dcbx_params`, `struct qed_dcbx_admin_params`, `struct qed_dcbx_remote_params`, `struct qed_dcbx_operational_params`, `struct qed_dcbx_get`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.