drivers/net/ethernet/intel/ice/ice_type.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/ice/ice_type.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/intel/ice/ice_type.h- Extension
.h- Size
- 34591 bytes
- Lines
- 1236
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
ice_hw_autogen.hice_devids.hice_osdep.hice_controlq.hice_lan_tx_rx.hice_flex_type.hice_protocol_type.hice_sbq_cmd.hice_vlan_mode.hlinux/net/intel/libie/fwlog.hlinux/wait.hnet/dscp.h
Detected Declarations
struct ice_driver_verstruct ice_phy_cache_mode_datastruct ice_link_statusstruct ice_phy_infostruct ice_fd_hw_profstruct ice_hw_common_capsstruct ice_ts_func_infostruct ice_ts_dev_infostruct ice_nac_topologystruct ice_hw_func_capsstruct ice_hw_dev_capsstruct ice_mac_infostruct ice_bus_infostruct ice_fc_infostruct ice_orom_infostruct ice_nvm_infostruct ice_netlist_infostruct ice_bank_infostruct ice_flash_infostruct ice_link_default_override_tlvstruct ice_sched_nodestruct ice_bwstruct ice_bw_type_infostruct ice_q_ctxstruct ice_sched_vsi_infostruct ice_sched_tx_policystruct ice_dcb_ets_cfgstruct ice_dcb_pfc_cfgstruct ice_dcb_app_priority_tablestruct ice_dcbx_cfgstruct ice_qos_cfgstruct ice_port_infostruct ice_switch_infostruct ice_mbx_snap_buffer_datastruct ice_mbx_vf_infostruct ice_mbx_snapshotstruct ice_mbx_datastruct ice_e810_paramsstruct ice_eth56g_paramsstruct ice_ptp_hwstruct ice_hwstruct ice_eth_statsstruct ice_hw_port_statsstruct ice_aq_get_set_rss_lut_paramsenum ice_aq_res_idsenum ice_fec_stats_typesenum ice_aq_res_access_typeenum ice_fc_mode
Annotated Snippet
struct ice_driver_ver {
u8 major_ver;
u8 minor_ver;
u8 build_ver;
u8 subbuild_ver;
u8 driver_string[32];
};
enum ice_fc_mode {
ICE_FC_NONE = 0,
ICE_FC_RX_PAUSE,
ICE_FC_TX_PAUSE,
ICE_FC_FULL,
ICE_FC_PFC,
ICE_FC_DFLT
};
enum ice_phy_cache_mode {
ICE_FC_MODE = 0,
ICE_SPEED_MODE,
ICE_FEC_MODE
};
enum ice_fec_mode {
ICE_FEC_NONE = 0,
ICE_FEC_RS,
ICE_FEC_BASER,
ICE_FEC_AUTO
};
struct ice_phy_cache_mode_data {
union {
enum ice_fec_mode curr_user_fec_req;
enum ice_fc_mode curr_user_fc_req;
u16 curr_user_speed_req;
} data;
};
enum ice_set_fc_aq_failures {
ICE_SET_FC_AQ_FAIL_NONE = 0,
ICE_SET_FC_AQ_FAIL_GET,
ICE_SET_FC_AQ_FAIL_SET,
ICE_SET_FC_AQ_FAIL_UPDATE
};
/* Various MAC types */
enum ice_mac_type {
ICE_MAC_UNKNOWN = 0,
ICE_MAC_E810,
ICE_MAC_E830,
ICE_MAC_GENERIC,
ICE_MAC_GENERIC_3K_E825,
};
/* Media Types */
enum ice_media_type {
ICE_MEDIA_UNKNOWN = 0,
ICE_MEDIA_FIBER,
ICE_MEDIA_BASET,
ICE_MEDIA_BACKPLANE,
ICE_MEDIA_DA,
};
enum ice_vsi_type {
ICE_VSI_PF = 0,
ICE_VSI_VF = 1,
ICE_VSI_CTRL = 3, /* equates to ICE_VSI_PF with 1 queue pair */
ICE_VSI_CHNL = 4,
ICE_VSI_LB = 6,
ICE_VSI_SF = 9,
};
struct ice_link_status {
/* Refer to ice_aq_phy_type for bits definition */
u64 phy_type_low;
u64 phy_type_high;
u8 topo_media_conflict;
u16 max_frame_size;
u16 link_speed;
u16 req_speeds;
u8 link_cfg_err;
u8 lse_ena; /* Link Status Event notification */
u8 link_info;
u8 an_info;
u8 ext_info;
u8 fec_info;
u8 pacing;
/* Refer to #define from module_type[ICE_MODULE_TYPE_TOTAL_BYTE] of
* ice_aqc_get_phy_caps structure
*/
Annotation
- Immediate include surface: `ice_hw_autogen.h`, `ice_devids.h`, `ice_osdep.h`, `ice_controlq.h`, `ice_lan_tx_rx.h`, `ice_flex_type.h`, `ice_protocol_type.h`, `ice_sbq_cmd.h`.
- Detected declarations: `struct ice_driver_ver`, `struct ice_phy_cache_mode_data`, `struct ice_link_status`, `struct ice_phy_info`, `struct ice_fd_hw_prof`, `struct ice_hw_common_caps`, `struct ice_ts_func_info`, `struct ice_ts_dev_info`, `struct ice_nac_topology`, `struct ice_hw_func_caps`.
- 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.