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.

Dependency Surface

Detected Declarations

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

Implementation Notes