#ifndef __HCLGE_MBX_H
#define __HCLGE_MBX_H
#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/types.h>
enum HCLGE_MBX_OPCODE { … };
enum hclge_mbx_mac_vlan_subcode { … };
enum hclge_mbx_vlan_cfg_subcode { … };
enum hclge_mbx_tbl_cfg_subcode { … };
#define HCLGE_MBX_MAX_MSG_SIZE …
#define HCLGE_MBX_MAX_RESP_DATA_SIZE …
#define HCLGE_MBX_MAX_RING_CHAIN_PARAM_NUM …
#define HCLGE_RESET_SCHED_TIMEOUT …
#define HCLGE_MBX_SCHED_TIMEOUT …
struct hclge_ring_chain_param { … };
struct hclge_basic_info { … };
struct hclgevf_mbx_resp_status { … };
struct hclge_respond_to_vf_msg { … };
struct hclge_vf_to_pf_msg { … };
struct hclge_pf_to_vf_msg { … };
struct hclge_mbx_vf_to_pf_cmd { … };
#define HCLGE_MBX_NEED_RESP_B …
struct hclge_mbx_pf_to_vf_cmd { … };
struct hclge_vf_rst_cmd { … };
#pragma pack(1)
struct hclge_mbx_link_status { … };
struct hclge_mbx_link_mode { … };
struct hclge_mbx_port_base_vlan { … };
struct hclge_mbx_vf_queue_info { … };
struct hclge_mbx_vf_queue_depth { … };
struct hclge_mbx_vlan_filter { … };
struct hclge_mbx_mtu_info { … };
#pragma pack()
struct hclgevf_mbx_arq_ring { … };
struct hclge_dev;
#define HCLGE_MBX_OPCODE_MAX …
struct hclge_mbx_ops_param { … };
hclge_mbx_ops_fn;
#define hclge_mbx_ring_ptr_move_crq(crq) …
#define hclge_mbx_tail_ptr_move_arq(arq) …
#define hclge_mbx_head_ptr_move_arq(arq) …
#define HCLGE_MBX_PUSH_LINK_STATUS_EN …
#endif