drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/intel/ice/ice_adminq_cmd.h- Extension
.h- Size
- 87427 bytes
- Lines
- 2690
- 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
linux/net/intel/libie/adminq.h
Detected Declarations
struct ice_aqc_q_shutdownstruct ice_aqc_manage_mac_readstruct ice_aqc_manage_mac_read_respstruct ice_aqc_manage_mac_writestruct ice_aqc_clear_pxestruct ice_aqc_get_sw_cfgstruct ice_aqc_get_sw_cfg_resp_elemstruct ice_aqc_set_port_paramsstruct ice_aqc_alloc_free_res_cmdstruct ice_aqc_res_elemstruct ice_aqc_alloc_free_res_elemstruct ice_aqc_set_vlan_modestruct ice_aqc_get_vlan_modestruct ice_aqc_add_get_update_free_vsistruct ice_aqc_add_update_free_vsi_respstruct ice_aqc_vsi_propsstruct ice_aqc_add_get_recipestruct ice_aqc_recipe_contentstruct ice_aqc_recipe_data_elemstruct ice_aqc_recipe_to_profilestruct ice_aqc_sw_rulesstruct ice_aqc_sw_rules_elem_hdrstruct ice_sw_rule_lkup_rx_txstruct ice_sw_rule_lg_actstruct ice_sw_rule_vsi_liststruct ice_aqc_set_query_pfc_modestruct ice_aqc_get_topostruct ice_aqc_get_set_tx_topostruct ice_aqc_sched_elem_cmdstruct ice_aqc_txsched_move_grp_info_hdrstruct ice_aqc_move_elemstruct ice_aqc_elem_info_bwstruct ice_aqc_txsched_elemstruct ice_aqc_txsched_elem_datastruct ice_aqc_txsched_topo_grp_info_hdrstruct ice_aqc_add_elemstruct ice_aqc_get_topo_elemstruct ice_aqc_delete_elemstruct ice_aqc_query_port_etsstruct ice_aqc_port_ets_elemstruct ice_aqc_rl_profilestruct ice_aqc_rl_profile_elemstruct ice_aqc_query_txsched_resstruct ice_aqc_generic_sched_propsstruct ice_aqc_layer_propsstruct ice_aqc_query_txsched_res_respstruct ice_aqc_get_phy_capsstruct ice_aqc_get_phy_caps_data
Annotated Snippet
struct ice_aqc_q_shutdown {
u8 driver_unloading;
#define ICE_AQC_DRIVER_UNLOADING BIT(0)
u8 reserved[15];
};
/* Manage MAC address, read command - indirect (0x0107)
* This struct is also used for the response
*/
struct ice_aqc_manage_mac_read {
__le16 flags; /* Zeroed by device driver */
#define ICE_AQC_MAN_MAC_LAN_ADDR_VALID BIT(4)
#define ICE_AQC_MAN_MAC_SAN_ADDR_VALID BIT(5)
#define ICE_AQC_MAN_MAC_PORT_ADDR_VALID BIT(6)
#define ICE_AQC_MAN_MAC_WOL_ADDR_VALID BIT(7)
#define ICE_AQC_MAN_MAC_READ_S 4
#define ICE_AQC_MAN_MAC_READ_M (0xF << ICE_AQC_MAN_MAC_READ_S)
u8 rsvd[2];
u8 num_addr; /* Used in response */
u8 rsvd1[3];
__le32 addr_high;
__le32 addr_low;
};
/* Response buffer format for manage MAC read command */
struct ice_aqc_manage_mac_read_resp {
u8 lport_num;
u8 addr_type;
#define ICE_AQC_MAN_MAC_ADDR_TYPE_LAN 0
#define ICE_AQC_MAN_MAC_ADDR_TYPE_WOL 1
u8 mac_addr[ETH_ALEN];
};
/* Manage MAC address, write command - direct (0x0108) */
struct ice_aqc_manage_mac_write {
u8 rsvd;
u8 flags;
#define ICE_AQC_MAN_MAC_WR_MC_MAG_EN BIT(0)
#define ICE_AQC_MAN_MAC_WR_WOL_LAA_PFR_KEEP BIT(1)
#define ICE_AQC_MAN_MAC_WR_S 6
#define ICE_AQC_MAN_MAC_WR_M ICE_M(3, ICE_AQC_MAN_MAC_WR_S)
#define ICE_AQC_MAN_MAC_UPDATE_LAA 0
#define ICE_AQC_MAN_MAC_UPDATE_LAA_WOL BIT(ICE_AQC_MAN_MAC_WR_S)
/* byte stream in network order */
u8 mac_addr[ETH_ALEN];
__le32 addr_high;
__le32 addr_low;
};
/* Clear PXE Command and response (direct 0x0110) */
struct ice_aqc_clear_pxe {
u8 rx_cnt;
#define ICE_AQC_CLEAR_PXE_RX_CNT 0x2
u8 reserved[15];
};
/* Get switch configuration (0x0200) */
struct ice_aqc_get_sw_cfg {
/* Reserved for command and copy of request flags for response */
__le16 flags;
/* First desc in case of command and next_elem in case of response
* In case of response, if it is not zero, means all the configuration
* was not returned and new command shall be sent with this value in
* the 'first desc' field
*/
__le16 element;
/* Reserved for command, only used for response */
__le16 num_elems;
__le16 rsvd;
__le32 addr_high;
__le32 addr_low;
};
/* Each entry in the response buffer is of the following type: */
struct ice_aqc_get_sw_cfg_resp_elem {
/* VSI/Port Number */
__le16 vsi_port_num;
#define ICE_AQC_GET_SW_CONF_RESP_VSI_PORT_NUM_S 0
#define ICE_AQC_GET_SW_CONF_RESP_VSI_PORT_NUM_M \
(0x3FF << ICE_AQC_GET_SW_CONF_RESP_VSI_PORT_NUM_S)
#define ICE_AQC_GET_SW_CONF_RESP_TYPE_S 14
#define ICE_AQC_GET_SW_CONF_RESP_TYPE_M (0x3 << ICE_AQC_GET_SW_CONF_RESP_TYPE_S)
#define ICE_AQC_GET_SW_CONF_RESP_PHYS_PORT 0
#define ICE_AQC_GET_SW_CONF_RESP_VIRT_PORT 1
#define ICE_AQC_GET_SW_CONF_RESP_VSI 2
/* SWID VSI/Port belongs to */
__le16 swid;
/* Bit 14..0 : PF/VF number VSI belongs to
Annotation
- Immediate include surface: `linux/net/intel/libie/adminq.h`.
- Detected declarations: `struct ice_aqc_q_shutdown`, `struct ice_aqc_manage_mac_read`, `struct ice_aqc_manage_mac_read_resp`, `struct ice_aqc_manage_mac_write`, `struct ice_aqc_clear_pxe`, `struct ice_aqc_get_sw_cfg`, `struct ice_aqc_get_sw_cfg_resp_elem`, `struct ice_aqc_set_port_params`, `struct ice_aqc_alloc_free_res_cmd`, `struct ice_aqc_res_elem`.
- 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.