drivers/net/ethernet/huawei/hinic3/hinic3_mgmt_interface.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/huawei/hinic3/hinic3_mgmt_interface.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/huawei/hinic3/hinic3_mgmt_interface.h- Extension
.h- Size
- 8263 bytes
- Lines
- 308
- 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/bitfield.hlinux/bits.hlinux/if_ether.hhinic3_hw_intf.h
Detected Declarations
struct l2nic_cmd_feature_negostruct l2nic_func_tbl_cfgstruct l2nic_cmd_set_func_tblstruct l2nic_cmd_set_macstruct l2nic_cmd_update_macstruct l2nic_cmd_vlan_configstruct l2nic_cmd_vlan_offloadstruct l2nic_cmd_set_vlan_filterstruct l2nic_cmd_set_ci_attrstruct l2nic_cmd_clear_qp_resourcestruct l2nic_cmd_force_pkt_dropstruct l2nic_cmd_set_vport_statestruct l2nic_rx_mode_configstruct l2nic_cmd_set_dcb_statestruct l2nic_cmd_lro_configstruct l2nic_cmd_lro_timerstruct l2nic_cmd_pause_configstruct l2nic_cmd_rss_ctx_tblstruct l2nic_cmd_cfg_rss_enginestruct l2nic_cmd_cfg_rss_hash_keystruct l2nic_cmd_cfg_rssstruct l2nic_cmd_rss_set_indir_tblstruct mag_cmd_get_link_statusenum l2nic_func_tbl_cfg_bitmapenum l2nic_cmdenum l2nic_ucode_cmdenum mag_cmdenum hinic3_nic_feature_cap
Annotated Snippet
struct l2nic_cmd_feature_nego {
struct mgmt_msg_head msg_head;
u16 func_id;
u8 opcode;
u8 rsvd;
u64 s_feature[4];
};
enum l2nic_func_tbl_cfg_bitmap {
L2NIC_FUNC_TBL_CFG_INIT = 0,
L2NIC_FUNC_TBL_CFG_RX_BUF_SIZE = 1,
L2NIC_FUNC_TBL_CFG_MTU = 2,
};
struct l2nic_func_tbl_cfg {
u16 rx_wqe_buf_size;
u16 mtu;
u32 rsvd[9];
};
struct l2nic_cmd_set_func_tbl {
struct mgmt_msg_head msg_head;
u16 func_id;
u16 rsvd;
u32 cfg_bitmap;
struct l2nic_func_tbl_cfg tbl_cfg;
};
struct l2nic_cmd_set_mac {
struct mgmt_msg_head msg_head;
u16 func_id;
u16 vlan_id;
u16 rsvd1;
u8 mac[ETH_ALEN];
};
struct l2nic_cmd_update_mac {
struct mgmt_msg_head msg_head;
u16 func_id;
u16 vlan_id;
u16 rsvd1;
u8 old_mac[ETH_ALEN];
u16 rsvd2;
u8 new_mac[ETH_ALEN];
};
struct l2nic_cmd_vlan_config {
struct mgmt_msg_head msg_head;
u16 func_id;
u8 opcode;
u8 rsvd1;
u16 vlan_id;
u16 rsvd2;
};
struct l2nic_cmd_vlan_offload {
struct mgmt_msg_head msg_head;
u16 func_id;
u8 vlan_offload;
u8 rsvd1[5];
};
/* set vlan filter */
struct l2nic_cmd_set_vlan_filter {
struct mgmt_msg_head msg_head;
u16 func_id;
u8 rsvd[2];
/* bit0:vlan filter en; bit1:broadcast_filter_en */
u32 vlan_filter_ctrl;
};
struct l2nic_cmd_set_ci_attr {
struct mgmt_msg_head msg_head;
u16 func_idx;
u8 dma_attr_off;
u8 pending_limit;
u8 coalescing_time;
u8 intr_en;
u16 intr_idx;
u32 l2nic_sqn;
u32 rsvd;
u64 ci_addr;
};
struct l2nic_cmd_clear_qp_resource {
struct mgmt_msg_head msg_head;
u16 func_id;
u16 rsvd1;
};
Annotation
- Immediate include surface: `linux/bitfield.h`, `linux/bits.h`, `linux/if_ether.h`, `hinic3_hw_intf.h`.
- Detected declarations: `struct l2nic_cmd_feature_nego`, `struct l2nic_func_tbl_cfg`, `struct l2nic_cmd_set_func_tbl`, `struct l2nic_cmd_set_mac`, `struct l2nic_cmd_update_mac`, `struct l2nic_cmd_vlan_config`, `struct l2nic_cmd_vlan_offload`, `struct l2nic_cmd_set_vlan_filter`, `struct l2nic_cmd_set_ci_attr`, `struct l2nic_cmd_clear_qp_resource`.
- 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.