18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* Copyright(c) 2013 - 2018 Intel Corporation. */ 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci#ifndef _FM10K_VF_H_ 58c2ecf20Sopenharmony_ci#define _FM10K_VF_H_ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include "fm10k_type.h" 88c2ecf20Sopenharmony_ci#include "fm10k_common.h" 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cienum fm10k_vf_tlv_msg_id { 118c2ecf20Sopenharmony_ci FM10K_VF_MSG_ID_TEST = 0, /* msg ID reserved for testing */ 128c2ecf20Sopenharmony_ci FM10K_VF_MSG_ID_MSIX, 138c2ecf20Sopenharmony_ci FM10K_VF_MSG_ID_MAC_VLAN, 148c2ecf20Sopenharmony_ci FM10K_VF_MSG_ID_LPORT_STATE, 158c2ecf20Sopenharmony_ci FM10K_VF_MSG_ID_MAX, 168c2ecf20Sopenharmony_ci}; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_cienum fm10k_tlv_mac_vlan_attr_id { 198c2ecf20Sopenharmony_ci FM10K_MAC_VLAN_MSG_VLAN, 208c2ecf20Sopenharmony_ci FM10K_MAC_VLAN_MSG_SET, 218c2ecf20Sopenharmony_ci FM10K_MAC_VLAN_MSG_MAC, 228c2ecf20Sopenharmony_ci FM10K_MAC_VLAN_MSG_DEFAULT_MAC, 238c2ecf20Sopenharmony_ci FM10K_MAC_VLAN_MSG_MULTICAST, 248c2ecf20Sopenharmony_ci FM10K_MAC_VLAN_MSG_ID_MAX 258c2ecf20Sopenharmony_ci}; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_cienum fm10k_tlv_lport_state_attr_id { 288c2ecf20Sopenharmony_ci FM10K_LPORT_STATE_MSG_DISABLE, 298c2ecf20Sopenharmony_ci FM10K_LPORT_STATE_MSG_XCAST_MODE, 308c2ecf20Sopenharmony_ci FM10K_LPORT_STATE_MSG_READY, 318c2ecf20Sopenharmony_ci FM10K_LPORT_STATE_MSG_MAX 328c2ecf20Sopenharmony_ci}; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci#define FM10K_VF_MSG_MSIX_HANDLER(func) \ 358c2ecf20Sopenharmony_ci FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MSIX, NULL, func) 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_cis32 fm10k_msg_mac_vlan_vf(struct fm10k_hw *, u32 **, struct fm10k_mbx_info *); 388c2ecf20Sopenharmony_ciextern const struct fm10k_tlv_attr fm10k_mac_vlan_msg_attr[]; 398c2ecf20Sopenharmony_ci#define FM10K_VF_MSG_MAC_VLAN_HANDLER(func) \ 408c2ecf20Sopenharmony_ci FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MAC_VLAN, \ 418c2ecf20Sopenharmony_ci fm10k_mac_vlan_msg_attr, func) 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_cis32 fm10k_msg_lport_state_vf(struct fm10k_hw *, u32 **, 448c2ecf20Sopenharmony_ci struct fm10k_mbx_info *); 458c2ecf20Sopenharmony_ciextern const struct fm10k_tlv_attr fm10k_lport_state_msg_attr[]; 468c2ecf20Sopenharmony_ci#define FM10K_VF_MSG_LPORT_STATE_HANDLER(func) \ 478c2ecf20Sopenharmony_ci FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_LPORT_STATE, \ 488c2ecf20Sopenharmony_ci fm10k_lport_state_msg_attr, func) 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciextern const struct fm10k_info fm10k_vf_info; 518c2ecf20Sopenharmony_ci#endif /* _FM10K_VF_H */ 52