ixl: Update to 1.4.13-k.
Changes: Shannon Nelson i40e-shared: set shared bit for multicast filters Piotr Raczynski i40e-shared: Bump AQ minor version for FVL/FPK Eric Joyner ixl: Remove call to i40e_aq_set_mac_config() in init path. Eric Joyner ixl: Always add interface mac address to driver+hw filter list. Eric Joyner ixl: Edit comments. Eric Joyner ixl: Add more descriptive sysctl help messages. Eric Joyner ixl: Report more info in link_status sysctl. Eric Joyner ixl: Flip set_aq_phy_int_mask mask bits. Differential Revision: https://reviews.freebsd.org/D6211 Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com MFC after: 2 weeks Sponsored by: Intel Corporation
This commit is contained in:
parent
d659ce9976
commit
ae5dbad4c0
@ -2564,6 +2564,7 @@ enum i40e_status_code i40e_aq_add_macvlan(struct i40e_hw *hw, u16 seid,
|
||||
(struct i40e_aqc_macvlan *)&desc.params.raw;
|
||||
enum i40e_status_code status;
|
||||
u16 buf_size;
|
||||
int i;
|
||||
|
||||
if (count == 0 || !mv_list || !hw)
|
||||
return I40E_ERR_PARAM;
|
||||
@ -2577,12 +2578,16 @@ enum i40e_status_code i40e_aq_add_macvlan(struct i40e_hw *hw, u16 seid,
|
||||
cmd->seid[1] = 0;
|
||||
cmd->seid[2] = 0;
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
if (I40E_IS_MULTICAST(mv_list[i].mac_addr))
|
||||
mv_list[i].flags |= I40E_AQC_MACVLAN_ADD_USE_SHARED_MAC;
|
||||
|
||||
desc.flags |= CPU_TO_LE16((u16)(I40E_AQ_FLAG_BUF | I40E_AQ_FLAG_RD));
|
||||
if (buf_size > I40E_AQ_LARGE_BUF)
|
||||
desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_LB);
|
||||
|
||||
status = i40e_asq_send_command(hw, &desc, mv_list, buf_size,
|
||||
cmd_details);
|
||||
cmd_details);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ enum i40e_memcpy_type {
|
||||
};
|
||||
|
||||
|
||||
#define I40E_FW_API_VERSION_MINOR_X710 0x0004
|
||||
#define I40E_FW_API_VERSION_MINOR_X710 0x0005
|
||||
|
||||
|
||||
/* These are structs for managing the hardware information and the operations.
|
||||
|
@ -48,7 +48,7 @@
|
||||
/*********************************************************************
|
||||
* Driver version
|
||||
*********************************************************************/
|
||||
char ixl_driver_version[] = "1.4.12-k";
|
||||
char ixl_driver_version[] = "1.4.13-k";
|
||||
|
||||
/*********************************************************************
|
||||
* PCI Device ID Table
|
||||
@ -1086,10 +1086,11 @@ ixl_init_locked(struct ixl_pf *pf)
|
||||
"change failed!!\n");
|
||||
return;
|
||||
} else {
|
||||
ixl_add_filter(vsi, hw->mac.addr, IXL_VLAN_ANY);
|
||||
}
|
||||
}
|
||||
|
||||
ixl_add_filter(vsi, hw->mac.addr, IXL_VLAN_ANY);
|
||||
|
||||
/* Set the various hardware offload abilities */
|
||||
ifp->if_hwassist = 0;
|
||||
if (ifp->if_capenable & IFCAP_TSO)
|
||||
@ -1138,14 +1139,6 @@ ixl_init_locked(struct ixl_pf *pf)
|
||||
|
||||
ixl_reconfigure_filters(vsi);
|
||||
|
||||
/* Set MTU in hardware*/
|
||||
int aq_error = i40e_aq_set_mac_config(hw, vsi->max_frame_size,
|
||||
TRUE, 0, NULL);
|
||||
if (aq_error)
|
||||
device_printf(vsi->dev,
|
||||
"aq_set_mac_config in init error, code %d\n",
|
||||
aq_error);
|
||||
|
||||
/* And now turn on interrupts */
|
||||
ixl_enable_intr(vsi);
|
||||
|
||||
@ -1163,7 +1156,6 @@ ixl_init_locked(struct ixl_pf *pf)
|
||||
return;
|
||||
}
|
||||
|
||||
// XXX: super experimental stuff
|
||||
static int
|
||||
ixl_teardown_hw_structs(struct ixl_pf *pf)
|
||||
{
|
||||
@ -1918,6 +1910,8 @@ ixl_del_multi(struct ixl_vsi *vsi)
|
||||
* This routine checks for link status,updates statistics,
|
||||
* and runs the watchdog check.
|
||||
*
|
||||
* Only runs when the driver is configured UP and RUNNING.
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
static void
|
||||
@ -4835,12 +4829,12 @@ ixl_add_device_sysctls(struct ixl_pf *pf)
|
||||
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
OID_AUTO, "fc", CTLTYPE_INT | CTLFLAG_RW,
|
||||
pf, 0, ixl_set_flowcntl, "I", "Flow Control");
|
||||
pf, 0, ixl_set_flowcntl, "I", IXL_SYSCTL_HELP_FC);
|
||||
|
||||
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
OID_AUTO, "advertise_speed", CTLTYPE_INT | CTLFLAG_RW,
|
||||
pf, 0, ixl_set_advertise, "I", "Advertised Speed");
|
||||
pf, 0, ixl_set_advertise, "I", IXL_SYSCTL_HELP_SET_ADVERTISE);
|
||||
|
||||
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
@ -4878,21 +4872,16 @@ ixl_add_device_sysctls(struct ixl_pf *pf)
|
||||
OID_AUTO, "debug", CTLTYPE_INT|CTLFLAG_RW, pf, 0,
|
||||
ixl_debug_info, "I", "Debug Information");
|
||||
|
||||
/* Debug shared-code message level */
|
||||
/* Shared-code debug message level */
|
||||
SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
OID_AUTO, "debug_mask", CTLFLAG_RW,
|
||||
&pf->hw.debug_mask, 0, "Debug Message Level");
|
||||
|
||||
SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
OID_AUTO, "vc_debug_level", CTLFLAG_RW, &pf->vc_debug_lvl,
|
||||
0, "PF/VF Virtual Channel debug level");
|
||||
|
||||
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
OID_AUTO, "link_status", CTLTYPE_STRING | CTLFLAG_RD,
|
||||
pf, 0, ixl_sysctl_link_status, "A", "Current Link Status");
|
||||
pf, 0, ixl_sysctl_link_status, "A", IXL_SYSCTL_HELP_LINK_STATUS);
|
||||
|
||||
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
@ -4913,6 +4902,13 @@ ixl_add_device_sysctls(struct ixl_pf *pf)
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
OID_AUTO, "switch_config", CTLTYPE_STRING | CTLFLAG_RD,
|
||||
pf, 0, ixl_sysctl_switch_config, "A", "HW Switch Configuration");
|
||||
|
||||
#ifdef PCI_IOV
|
||||
SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev),
|
||||
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
|
||||
OID_AUTO, "vc_debug_level", CTLFLAG_RW, &pf->vc_debug_lvl,
|
||||
0, "PF/VF Virtual Channel debug level");
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -5325,10 +5321,13 @@ ixl_sysctl_link_status(SYSCTL_HANDLER_ARGS)
|
||||
"Speed : %#04x\n"
|
||||
"Link info: %#04x\n"
|
||||
"AN info : %#04x\n"
|
||||
"Ext info : %#04x",
|
||||
"Ext info : %#04x\n"
|
||||
"Max Frame: %d\n"
|
||||
"Pacing : %#04x",
|
||||
link_status.phy_type, link_status.link_speed,
|
||||
link_status.link_info, link_status.an_info,
|
||||
link_status.ext_info);
|
||||
link_status.ext_info, link_status.max_frame_size,
|
||||
link_status.pacing);
|
||||
|
||||
return (sysctl_handle_string(oidp, buf, strlen(buf), req));
|
||||
}
|
||||
@ -5683,6 +5682,7 @@ ixl_vf_alloc_vsi(struct ixl_pf *pf, struct ixl_vf *vf)
|
||||
if (vf->vf_flags & VF_FLAG_MAC_ANTI_SPOOF)
|
||||
vsi_ctx.info.sec_flags |= I40E_AQ_VSI_SEC_FLAG_ENABLE_MAC_CHK;
|
||||
|
||||
/* TODO: If a port VLAN is set, then this needs to be changed */
|
||||
vsi_ctx.info.valid_sections |= htole16(I40E_AQ_VSI_PROP_VLAN_VALID);
|
||||
vsi_ctx.info.port_vlan_flags = I40E_AQ_VSI_PVLAN_MODE_ALL |
|
||||
I40E_AQ_VSI_PVLAN_EMOD_NOTHING;
|
||||
|
@ -122,16 +122,29 @@ struct ixl_pf {
|
||||
(((((((('E' << 4) + '1') << 4) + 'K') << 4) + 'G') << 4) | 5)
|
||||
|
||||
#define IXL_DEFAULT_PHY_INT_MASK \
|
||||
(I40E_AQ_EVENT_LINK_UPDOWN | I40E_AQ_EVENT_MODULE_QUAL_FAIL)
|
||||
((~(I40E_AQ_EVENT_LINK_UPDOWN | I40E_AQ_EVENT_MODULE_QUAL_FAIL \
|
||||
| I40E_AQ_EVENT_MEDIA_NA)) & 0x3FF)
|
||||
|
||||
#define IXL_SET_ADVERTISE_HELP \
|
||||
"Control link advertise speed:\n" \
|
||||
"\tFlags:\n" \
|
||||
"\t\t0x1 - advertise 100 Mb\n" \
|
||||
"\t\t0x2 - advertise 1G\n" \
|
||||
"\t\t0x4 - advertise 10G\n" \
|
||||
"\t\t0x8 - advertise 20G\n\n" \
|
||||
"\tDoes not work on 40G devices."
|
||||
/* Sysctl help messages; displayed with "sysctl -d" */
|
||||
#define IXL_SYSCTL_HELP_SET_ADVERTISE \
|
||||
"\nControl advertised link speed.\n" \
|
||||
"Flags:\n" \
|
||||
"\t0x1 - advertise 100M\n" \
|
||||
"\t0x2 - advertise 1G\n" \
|
||||
"\t0x4 - advertise 10G\n" \
|
||||
"\t0x8 - advertise 20G\n\n" \
|
||||
"Operation not supported on 40G devices."
|
||||
|
||||
#define IXL_SYSCTL_HELP_FC \
|
||||
"\nSet flow control mode using the values below.\n" \
|
||||
"\t0 - off\n" \
|
||||
"\t1 - rx pause\n" \
|
||||
"\t2 - tx pause\n" \
|
||||
"\t3 - tx and rx pause"
|
||||
|
||||
#define IXL_SYSCTL_HELP_LINK_STATUS \
|
||||
"\nExecutes a \"Get Link Status\" command on the Admin Queue, and displays" \
|
||||
" the response." \
|
||||
|
||||
#define I40E_VC_DEBUG(pf, level, ...) \
|
||||
do { \
|
||||
|
Loading…
x
Reference in New Issue
Block a user