1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2013 - 2015 Intel Corporation
8 #include "fm10k_type.h"
9 #include "fm10k_common.h"
11 enum fm10k_vf_tlv_msg_id {
12 FM10K_VF_MSG_ID_TEST = 0, /* msg ID reserved for testing */
14 FM10K_VF_MSG_ID_MAC_VLAN,
15 FM10K_VF_MSG_ID_LPORT_STATE,
20 enum fm10k_tlv_mac_vlan_attr_id {
21 FM10K_MAC_VLAN_MSG_VLAN,
22 FM10K_MAC_VLAN_MSG_SET,
23 FM10K_MAC_VLAN_MSG_MAC,
24 FM10K_MAC_VLAN_MSG_DEFAULT_MAC,
25 FM10K_MAC_VLAN_MSG_MULTICAST,
26 FM10K_MAC_VLAN_MSG_ID_MAX
29 enum fm10k_tlv_lport_state_attr_id {
30 FM10K_LPORT_STATE_MSG_DISABLE,
31 FM10K_LPORT_STATE_MSG_XCAST_MODE,
32 FM10K_LPORT_STATE_MSG_READY,
33 FM10K_LPORT_STATE_MSG_MAX
36 enum fm10k_tlv_1588_attr_id {
37 FM10K_1588_MSG_TIMESTAMP = 0, /* deprecated */
38 FM10K_1588_MSG_CLK_OFFSET,
42 #define FM10K_VF_MSG_MSIX_HANDLER(func) \
43 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MSIX, NULL, func)
45 s32 fm10k_msg_mac_vlan_vf(struct fm10k_hw *, u32 **, struct fm10k_mbx_info *);
46 extern const struct fm10k_tlv_attr fm10k_mac_vlan_msg_attr[];
47 #define FM10K_VF_MSG_MAC_VLAN_HANDLER(func) \
48 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MAC_VLAN, \
49 fm10k_mac_vlan_msg_attr, func)
51 s32 fm10k_msg_lport_state_vf(struct fm10k_hw *, u32 **,
52 struct fm10k_mbx_info *);
53 extern const struct fm10k_tlv_attr fm10k_lport_state_msg_attr[];
54 #define FM10K_VF_MSG_LPORT_STATE_HANDLER(func) \
55 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_LPORT_STATE, \
56 fm10k_lport_state_msg_attr, func)
58 extern const struct fm10k_tlv_attr fm10k_1588_msg_attr[];
59 #define FM10K_VF_MSG_1588_HANDLER(func) \
60 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_1588, fm10k_1588_msg_attr, func)
62 s32 fm10k_init_ops_vf(struct fm10k_hw *hw);
64 void fm10k_update_hw_stats_vf(struct fm10k_hw *hw,
65 struct fm10k_hw_stats *stats);
66 void fm10k_rebind_hw_stats_vf(struct fm10k_hw *hw,
67 struct fm10k_hw_stats *stats);
68 #endif /* _FM10K_VF_H */