You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-08-26
This series contains updates to i40e and i40evf only.
Anjali provides a fix for i40e where the part is not receiving multicast
or VLAN tagged packets when in promiscuous mode. This can occur when a
software bridge is created on top of the device. Fixed the legacy and MSI
interrupt mode in the driver, which was non-existent before since we
were assuming MSIX was the only mode that the driver ran in. Fixed the
i40evf driver, where the wrong defines were getting used in the VF
driver.
Mitch fixes a sparse warning about comparing __le16 to u16 so use
le16_to_cpu() to resolve the warning. Also fixed a dyslexic spelling
of invalid.
Shannon adds port.crc_errors to receive CRC error counter, since it
is a receive counter.
Catherine provides a fix to move the stopping of the service task and
flow director to i40e_shutdown() instead of i40e_suspend().
Greg fixes the ethtool offline diagnostic with netqueues, which just need
to be treated the same as virtual functions when someone wants to run the
ethtool offline diagnostic test. Also fixed up code comments for the
i40e ethtool diagnostic test function. Cleans up redundant and unneeded
messages, since the kernel notifies all VXLAN capable registered drivers,
so no need to log this.
Neerav adds the ability to update statistics per VEB per traffic class
and dump it via ethtool.
Jingjing adds support for virtual channel offload to support receive
polling mode in the VF driver.
v2: dropped patch which added helper functions into a header, feedback from
David Miller was to make the functions constant to reduce the driver
footprint, so remove the patch while Anjali works on making the requested
changes.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
/* if the vf is running in polling mode and using interrupt zero,
339
+
* need to disable auto-mask on enabling zero interrupt for VFs.
340
+
*/
341
+
if ((vf->driver_caps&I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING) &&
342
+
(vector_id==0)) {
343
+
reg=rd32(hw, I40E_GLINT_CTL);
344
+
if (!(reg&I40E_GLINT_CTL_DIS_AUTOMASK_VF0_MASK)) {
345
+
reg |= I40E_GLINT_CTL_DIS_AUTOMASK_VF0_MASK;
346
+
wr32(hw, I40E_GLINT_CTL, reg);
347
+
}
348
+
}
349
+
338
350
irq_list_done:
339
351
i40e_flush(hw);
340
352
}
@@ -921,8 +933,6 @@ int i40e_alloc_vfs(struct i40e_pf *pf, u16 num_alloc_vfs)
921
933
if (pci_num_vf(pf->pdev) !=num_alloc_vfs) {
922
934
ret=pci_enable_sriov(pf->pdev, num_alloc_vfs);
923
935
if (ret) {
924
-
dev_err(&pf->pdev->dev,
925
-
"Failed to enable SR-IOV, error %d.\n", ret);
926
936
pf->num_alloc_vfs=0;
927
937
goto err_iov;
928
938
}
@@ -2106,11 +2116,12 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
2106
2116
goto error_pvid;
2107
2117
}
2108
2118
2109
-
if (vsi->info.pvid== (vlan_id | (qos << I40E_VLAN_PRIORITY_SHIFT)))
2119
+
if (le16_to_cpu(vsi->info.pvid) ==
2120
+
(vlan_id | (qos << I40E_VLAN_PRIORITY_SHIFT)))
2110
2121
/* duplicate request, so just return success */
2111
2122
goto error_pvid;
2112
2123
2113
-
if (vsi->info.pvid==0&&i40e_is_vsi_in_vlan(vsi)) {
2124
+
if (le16_to_cpu(vsi->info.pvid)==0&&i40e_is_vsi_in_vlan(vsi)) {
2114
2125
dev_err(&pf->pdev->dev,
2115
2126
"VF %d has already configured VLAN filters and the administrator is requesting a port VLAN override.\nPlease unload and reload the VF driver for this change to take effect.\n",
0 commit comments