|
@@ -222,6 +222,7 @@ struct be_mcc_mailbox {
|
|
#define OPCODE_COMMON_GET_FN_PRIVILEGES 170
|
|
#define OPCODE_COMMON_GET_FN_PRIVILEGES 170
|
|
#define OPCODE_COMMON_READ_OBJECT 171
|
|
#define OPCODE_COMMON_READ_OBJECT 171
|
|
#define OPCODE_COMMON_WRITE_OBJECT 172
|
|
#define OPCODE_COMMON_WRITE_OBJECT 172
|
|
|
|
+#define OPCODE_COMMON_MANAGE_IFACE_FILTERS 193
|
|
#define OPCODE_COMMON_GET_IFACE_LIST 194
|
|
#define OPCODE_COMMON_GET_IFACE_LIST 194
|
|
#define OPCODE_COMMON_ENABLE_DISABLE_VF 196
|
|
#define OPCODE_COMMON_ENABLE_DISABLE_VF 196
|
|
|
|
|
|
@@ -1824,18 +1825,33 @@ struct be_cmd_req_set_ext_fat_caps {
|
|
#define PORT_RESOURCE_DESC_TYPE_V1 0x55
|
|
#define PORT_RESOURCE_DESC_TYPE_V1 0x55
|
|
#define MAX_RESOURCE_DESC 264
|
|
#define MAX_RESOURCE_DESC 264
|
|
|
|
|
|
-/* QOS unit number */
|
|
|
|
-#define QUN 4
|
|
|
|
-/* Immediate */
|
|
|
|
-#define IMM 6
|
|
|
|
-/* No save */
|
|
|
|
-#define NOSV 7
|
|
|
|
|
|
+#define IMM_SHIFT 6 /* Immediate */
|
|
|
|
+#define NOSV_SHIFT 7 /* No save */
|
|
|
|
|
|
struct be_res_desc_hdr {
|
|
struct be_res_desc_hdr {
|
|
u8 desc_type;
|
|
u8 desc_type;
|
|
u8 desc_len;
|
|
u8 desc_len;
|
|
} __packed;
|
|
} __packed;
|
|
|
|
|
|
|
|
+struct be_port_res_desc {
|
|
|
|
+ struct be_res_desc_hdr hdr;
|
|
|
|
+ u8 rsvd0;
|
|
|
|
+ u8 flags;
|
|
|
|
+ u8 link_num;
|
|
|
|
+ u8 mc_type;
|
|
|
|
+ u16 rsvd1;
|
|
|
|
+
|
|
|
|
+#define NV_TYPE_MASK 0x3 /* bits 0-1 */
|
|
|
|
+#define NV_TYPE_DISABLED 1
|
|
|
|
+#define NV_TYPE_VXLAN 3
|
|
|
|
+#define SOCVID_SHIFT 2 /* Strip outer vlan */
|
|
|
|
+#define RCVID_SHIFT 4 /* Report vlan */
|
|
|
|
+ u8 nv_flags;
|
|
|
|
+ u8 rsvd2;
|
|
|
|
+ __le16 nv_port; /* vxlan/gre port */
|
|
|
|
+ u32 rsvd3[19];
|
|
|
|
+} __packed;
|
|
|
|
+
|
|
struct be_pcie_res_desc {
|
|
struct be_pcie_res_desc {
|
|
struct be_res_desc_hdr hdr;
|
|
struct be_res_desc_hdr hdr;
|
|
u8 rsvd0;
|
|
u8 rsvd0;
|
|
@@ -1856,6 +1872,8 @@ struct be_pcie_res_desc {
|
|
struct be_nic_res_desc {
|
|
struct be_nic_res_desc {
|
|
struct be_res_desc_hdr hdr;
|
|
struct be_res_desc_hdr hdr;
|
|
u8 rsvd1;
|
|
u8 rsvd1;
|
|
|
|
+
|
|
|
|
+#define QUN_SHIFT 4 /* QoS is in absolute units */
|
|
u8 flags;
|
|
u8 flags;
|
|
u8 vf_num;
|
|
u8 vf_num;
|
|
u8 rsvd2;
|
|
u8 rsvd2;
|
|
@@ -1896,16 +1914,6 @@ enum mc_type {
|
|
vNIC2 = 0x07
|
|
vNIC2 = 0x07
|
|
};
|
|
};
|
|
|
|
|
|
-struct be_port_res_desc {
|
|
|
|
- struct be_res_desc_hdr hdr;
|
|
|
|
- u8 rsvd0;
|
|
|
|
- u8 flags;
|
|
|
|
- u8 rsvd1;
|
|
|
|
- u8 mc_type;
|
|
|
|
- u16 rsvd2;
|
|
|
|
- u32 rsvd3[20];
|
|
|
|
-} __packed;
|
|
|
|
-
|
|
|
|
/* Is BE in a multi-channel mode */
|
|
/* Is BE in a multi-channel mode */
|
|
static inline bool be_is_mc(struct be_adapter *adapter)
|
|
static inline bool be_is_mc(struct be_adapter *adapter)
|
|
{
|
|
{
|
|
@@ -1940,7 +1948,7 @@ struct be_cmd_req_set_profile_config {
|
|
struct be_cmd_req_hdr hdr;
|
|
struct be_cmd_req_hdr hdr;
|
|
u32 rsvd;
|
|
u32 rsvd;
|
|
u32 desc_count;
|
|
u32 desc_count;
|
|
- struct be_nic_res_desc nic_desc;
|
|
|
|
|
|
+ u8 desc[RESOURCE_DESC_SIZE_V1];
|
|
};
|
|
};
|
|
|
|
|
|
struct be_cmd_resp_set_profile_config {
|
|
struct be_cmd_resp_set_profile_config {
|
|
@@ -1999,6 +2007,26 @@ struct be_cmd_req_set_ll_link {
|
|
u32 link_config; /* Bit 0: UP_DOWN, Bit 9: PLINK */
|
|
u32 link_config; /* Bit 0: UP_DOWN, Bit 9: PLINK */
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/************** Manage IFACE Filters *******************/
|
|
|
|
+#define OP_CONVERT_NORMAL_TO_TUNNEL 0
|
|
|
|
+#define OP_CONVERT_TUNNEL_TO_NORMAL 1
|
|
|
|
+
|
|
|
|
+struct be_cmd_req_manage_iface_filters {
|
|
|
|
+ struct be_cmd_req_hdr hdr;
|
|
|
|
+ u8 op;
|
|
|
|
+ u8 rsvd0;
|
|
|
|
+ u8 flags;
|
|
|
|
+ u8 rsvd1;
|
|
|
|
+ u32 tunnel_iface_id;
|
|
|
|
+ u32 target_iface_id;
|
|
|
|
+ u8 mac[6];
|
|
|
|
+ u16 vlan_tag;
|
|
|
|
+ u32 tenant_id;
|
|
|
|
+ u32 filter_id;
|
|
|
|
+ u32 cap_flags;
|
|
|
|
+ u32 cap_control_flags;
|
|
|
|
+} __packed;
|
|
|
|
+
|
|
int be_pci_fnum_get(struct be_adapter *adapter);
|
|
int be_pci_fnum_get(struct be_adapter *adapter);
|
|
int be_fw_wait_ready(struct be_adapter *adapter);
|
|
int be_fw_wait_ready(struct be_adapter *adapter);
|
|
int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
|
|
int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
|
|
@@ -2073,7 +2101,7 @@ int be_cmd_get_seeprom_data(struct be_adapter *adapter,
|
|
int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
|
|
int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
|
|
u8 loopback_type, u8 enable);
|
|
u8 loopback_type, u8 enable);
|
|
int be_cmd_get_phy_info(struct be_adapter *adapter);
|
|
int be_cmd_get_phy_info(struct be_adapter *adapter);
|
|
-int be_cmd_set_qos(struct be_adapter *adapter, u32 bps, u32 domain);
|
|
|
|
|
|
+int be_cmd_config_qos(struct be_adapter *adapter, u32 bps, u8 domain);
|
|
void be_detect_error(struct be_adapter *adapter);
|
|
void be_detect_error(struct be_adapter *adapter);
|
|
int be_cmd_get_die_temperature(struct be_adapter *adapter);
|
|
int be_cmd_get_die_temperature(struct be_adapter *adapter);
|
|
int be_cmd_get_cntl_attributes(struct be_adapter *adapter);
|
|
int be_cmd_get_cntl_attributes(struct be_adapter *adapter);
|
|
@@ -2114,7 +2142,8 @@ int be_cmd_get_func_config(struct be_adapter *adapter,
|
|
struct be_resources *res);
|
|
struct be_resources *res);
|
|
int be_cmd_get_profile_config(struct be_adapter *adapter,
|
|
int be_cmd_get_profile_config(struct be_adapter *adapter,
|
|
struct be_resources *res, u8 domain);
|
|
struct be_resources *res, u8 domain);
|
|
-int be_cmd_set_profile_config(struct be_adapter *adapter, u32 bps, u8 domain);
|
|
|
|
|
|
+int be_cmd_set_profile_config(struct be_adapter *adapter, void *desc,
|
|
|
|
+ int size, u8 version, u8 domain);
|
|
int be_cmd_get_active_profile(struct be_adapter *adapter, u16 *profile);
|
|
int be_cmd_get_active_profile(struct be_adapter *adapter, u16 *profile);
|
|
int be_cmd_get_if_id(struct be_adapter *adapter, struct be_vf_cfg *vf_cfg,
|
|
int be_cmd_get_if_id(struct be_adapter *adapter, struct be_vf_cfg *vf_cfg,
|
|
int vf_num);
|
|
int vf_num);
|
|
@@ -2122,3 +2151,5 @@ int be_cmd_enable_vf(struct be_adapter *adapter, u8 domain);
|
|
int be_cmd_intr_set(struct be_adapter *adapter, bool intr_enable);
|
|
int be_cmd_intr_set(struct be_adapter *adapter, bool intr_enable);
|
|
int be_cmd_set_logical_link_config(struct be_adapter *adapter,
|
|
int be_cmd_set_logical_link_config(struct be_adapter *adapter,
|
|
int link_state, u8 domain);
|
|
int link_state, u8 domain);
|
|
|
|
+int be_cmd_set_vxlan_port(struct be_adapter *adapter, __be16 port);
|
|
|
|
+int be_cmd_manage_iface(struct be_adapter *adapter, u32 iface, u8 op);
|