1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright(c) 2013 - 2018 Intel Corporation. */ 3 4 #ifndef _FM10K_VF_H_ 5 #define _FM10K_VF_H_ 6 7 #include "fm10k_type.h" 8 #include "fm10k_common.h" 9 10 enum fm10k_vf_tlv_msg_id { 11 FM10K_VF_MSG_ID_TEST = 0, /* msg ID reserved for testing */ 12 FM10K_VF_MSG_ID_MSIX, 13 FM10K_VF_MSG_ID_MAC_VLAN, 14 FM10K_VF_MSG_ID_LPORT_STATE, 15 FM10K_VF_MSG_ID_MAX, 16 }; 17 18 enum fm10k_tlv_mac_vlan_attr_id { 19 FM10K_MAC_VLAN_MSG_VLAN, 20 FM10K_MAC_VLAN_MSG_SET, 21 FM10K_MAC_VLAN_MSG_MAC, 22 FM10K_MAC_VLAN_MSG_DEFAULT_MAC, 23 FM10K_MAC_VLAN_MSG_MULTICAST, 24 FM10K_MAC_VLAN_MSG_ID_MAX 25 }; 26 27 enum fm10k_tlv_lport_state_attr_id { 28 FM10K_LPORT_STATE_MSG_DISABLE, 29 FM10K_LPORT_STATE_MSG_XCAST_MODE, 30 FM10K_LPORT_STATE_MSG_READY, 31 FM10K_LPORT_STATE_MSG_MAX 32 }; 33 34 #define FM10K_VF_MSG_MSIX_HANDLER(func) \ 35 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MSIX, NULL, func) 36 37 s32 fm10k_msg_mac_vlan_vf(struct fm10k_hw *, u32 **, struct fm10k_mbx_info *); 38 extern const struct fm10k_tlv_attr fm10k_mac_vlan_msg_attr[]; 39 #define FM10K_VF_MSG_MAC_VLAN_HANDLER(func) \ 40 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MAC_VLAN, \ 41 fm10k_mac_vlan_msg_attr, func) 42 43 s32 fm10k_msg_lport_state_vf(struct fm10k_hw *, u32 **, 44 struct fm10k_mbx_info *); 45 extern const struct fm10k_tlv_attr fm10k_lport_state_msg_attr[]; 46 #define FM10K_VF_MSG_LPORT_STATE_HANDLER(func) \ 47 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_LPORT_STATE, \ 48 fm10k_lport_state_msg_attr, func) 49 50 extern const struct fm10k_info fm10k_vf_info; 51 #endif /* _FM10K_VF_H */ 52