drivers/net/ethernet/intel/ice/ice_dcb_lib.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/ice/ice_dcb_lib.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/intel/ice/ice_dcb_lib.h- Extension
.h- Size
- 4178 bytes
- Lines
- 148
- 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
ice.hice_base.hice_lib.h
Detected Declarations
function ice_find_q_in_rangefunction ice_set_cgd_numfunction ice_is_dcb_activefunction ice_get_pfc_modefunction ice_dcb_rebuildfunction ice_dcb_get_ena_tcfunction ice_dcb_get_num_tcfunction ice_dcb_get_tcfunction ice_init_pf_dcbfunction ice_pf_dcb_cfgfunction ice_tx_prepare_vlan_flags_dcbfunction ice_is_dcb_activefunction ice_is_pfc_causing_hung_qfunction ice_get_pfc_modefunction ice_pf_dcb_recfg
Annotated Snippet
static inline void ice_dcb_rebuild(struct ice_pf *pf) { }
static inline void ice_vsi_set_dcb_tc_cfg(struct ice_vsi *vsi)
{
vsi->tc_cfg.ena_tc = ICE_DFLT_TRAFFIC_CLASS;
vsi->tc_cfg.numtc = 1;
}
static inline u8 ice_dcb_get_ena_tc(struct ice_dcbx_cfg __always_unused *dcbcfg)
{
return ICE_DFLT_TRAFFIC_CLASS;
}
static inline u8 ice_dcb_get_num_tc(struct ice_dcbx_cfg __always_unused *dcbcfg)
{
return 1;
}
static inline u8
ice_dcb_get_tc(struct ice_vsi __always_unused *vsi,
int __always_unused queue_index)
{
return 0;
}
static inline int
ice_init_pf_dcb(struct ice_pf *pf, bool __always_unused locked)
{
dev_dbg(ice_pf_to_dev(pf), "DCB not supported\n");
return -EOPNOTSUPP;
}
static inline int
ice_pf_dcb_cfg(struct ice_pf __always_unused *pf,
struct ice_dcbx_cfg __always_unused *new_cfg,
bool __always_unused locked)
{
return -EOPNOTSUPP;
}
static inline int
ice_tx_prepare_vlan_flags_dcb(struct ice_tx_ring __always_unused *tx_ring,
struct ice_tx_buf __always_unused *first)
{
return 0;
}
static inline bool ice_is_dcb_active(struct ice_pf __always_unused *pf)
{
return false;
}
static inline bool
ice_is_pfc_causing_hung_q(struct ice_pf __always_unused *pf,
unsigned int __always_unused txqueue)
{
return false;
}
static inline u8 ice_get_pfc_mode(struct ice_pf *pf)
{
return 0;
}
static inline void ice_pf_dcb_recfg(struct ice_pf *pf, bool locked) { }
static inline void ice_vsi_cfg_dcb_rings(struct ice_vsi *vsi) { }
static inline void ice_update_dcb_stats(struct ice_pf *pf) { }
static inline void
ice_dcb_process_lldp_set_mib_change(struct ice_pf *pf, struct ice_rq_event_info *event) { }
static inline void ice_set_cgd_num(struct ice_tlan_ctx *tlan_ctx, u8 dcb_tc) { }
static inline void
ice_setup_dcb_qos_info(struct ice_pf *pf, struct iidc_rdma_qos_params *qos_info)
{
qos_info->num_tc = 1;
qos_info->tc_info[0].rel_bw = 100;
}
#endif /* CONFIG_DCB */
#endif /* _ICE_DCB_LIB_H_ */
Annotation
- Immediate include surface: `ice.h`, `ice_base.h`, `ice_lib.h`.
- Detected declarations: `function ice_find_q_in_range`, `function ice_set_cgd_num`, `function ice_is_dcb_active`, `function ice_get_pfc_mode`, `function ice_dcb_rebuild`, `function ice_dcb_get_ena_tc`, `function ice_dcb_get_num_tc`, `function ice_dcb_get_tc`, `function ice_init_pf_dcb`, `function ice_pf_dcb_cfg`.
- 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.