1
0
Fork 0
alistair23-linux/drivers/net/ethernet
Mitch Williams fc18eaa073 i40e: refactor VF reset flow
Fix the VF reset flow so that it works on real hardware. After
discussions with the HW team, the reset flow has been changed
somewhat.

- Change the i40e_reset_vf function to a void type, and fix
  up the callers to reflect this.
- Move the MSI-X disable code to i40e_free_vf_res since it must
  be done every time the VF is freed, regardless of whether or
  not it is reset.
- Ensure that the PCIe bus is quiet before polling the reset bit.
- Don't clear the VFGEN_RSTAT1 register at the beginning as it is
  cleared by the reset.
- Poll longer for the reset to be done.
- Disable the queues using an existing function rather than
  rolling our own.
- Free and reallocate the VSI after reset to avoid rx hang.

Change-Id: I11e2590431cb73e8663714d1cc5b23d59b809033
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-01-03 20:35:39 -08:00
..
3com net: 3com: slight optimization of addr compare 2013-12-31 16:48:30 -05:00
8390 net: eth: 8390: remove section warning in etherh.c 2013-12-12 14:02:20 -05:00
adaptec net: starfire: remove unnecessary pci_set_drvdata() 2013-10-18 00:03:28 -04:00
adi net: bfin_mac: do not reset PHY after phy_start() 2013-12-09 20:38:59 -05:00
aeroflex net: greth: use phy_read_status() 2013-12-09 20:38:58 -05:00
allwinner net: allwinner: emac: Add missing free_irq 2013-12-10 18:01:10 -05:00
alteon net/ethernet/alteon/acenic: Use module_pci_driver to register driver 2013-05-22 14:35:04 -07:00
amd net/7990: Make lance_private.name const 2013-12-29 00:46:38 -05:00
apple macmace: add missing platform_set_drvdata() in mace_probe() 2013-11-11 14:02:08 -05:00
arc arc_emac: remove custom "max-speed" parsing code 2013-12-06 14:57:21 -05:00
atheros net: atl1: slight optimization of addr compare 2013-12-26 13:31:33 -05:00
broadcom cnic: Add a signature to indicate valid doorbell offset. 2014-01-01 22:08:08 -05:00
brocade bna: Update the Driver Version to 3.2.23.0 2013-12-18 00:30:34 -05:00
cadence net: macb: Fix build warning 2013-12-11 00:19:17 -05:00
calxeda net: calxedaxgmac: Fix panic caused by MTU change of active interface 2013-11-07 19:25:53 -05:00
chelsio net: cxgb3: slight optimization of addr compare 2013-12-31 16:48:30 -05:00
cirrus net: ep93xx_eth: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
cisco net: enic: slight optimization of addr compare 2013-12-31 16:48:31 -05:00
davicom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
dec net: tulip: delete useless tests on netdev_priv 2014-01-03 19:35:17 -05:00
dlink net: dl2k: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:00 -04:00
emulex net: benet: slight optimization of addr compare 2013-12-31 16:48:31 -05:00
faraday drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
freescale net: freescale: remove unused compare_addr() 2013-12-26 13:31:32 -05:00
fujitsu net: fujitsu: Remove ISA depdendency from Kconfig 2013-10-07 15:52:54 -04:00
hp hp100: replace hardcoded name in /proc/interrupts with interface name 2013-09-27 17:38:32 -04:00
i825xx net:drivers/net: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO 2013-11-07 03:01:59 -05:00
ibm ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
icplus net: icplus: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00
intel i40e: refactor VF reset flow 2014-01-03 20:35:39 -08:00
marvell net: sky2 calls skb_set_hash 2013-12-18 15:00:52 -05:00
mellanox mlx4_en: Only cycle port if HW timestamp config changes 2014-01-02 03:30:36 -05:00
micrel net: ksz884x: slight optimization of addr compare 2013-12-31 16:48:31 -05:00
microchip
moxa ethernet: moxa: remove duplicate includes 2013-10-21 18:46:45 -04:00
myricom net: myri10ge: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:02 -04:00
natsemi net: ns83820: remove unnecessary pci_set_drvdata() 2013-12-09 18:09:28 -05:00
neterion net: vxge: slight optimization of addr compare 2013-12-31 16:48:31 -05:00
nuvoton drivers:net: delete premature free_irq 2013-09-04 13:18:19 -04:00
nvidia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-09 20:20:14 -05:00
nxp DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent() 2013-10-31 14:48:56 +00:00
octeon Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
oki-semi ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
packetengines net: packetengines: slight optimization of addr 2013-12-31 16:48:32 -05:00
pasemi ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
qlogic net: qlcnic: slight optimization of addr compare 2013-12-31 16:48:32 -05:00
rdc net: r6040: remove unnecessary pci_set_drvdata() 2013-10-22 02:11:52 -04:00
realtek net: 8139cp: fix a BUG_ON triggered by wrong bytes_compl 2013-11-29 16:18:23 -05:00
renesas sh_eth: coding style fixes 2014-01-03 20:49:20 -05:00
seeq net: seeq: slight optimization of addr compare 2013-12-31 16:48:32 -05:00
sfc sfc: fix sparse non static symbol warning 2013-12-19 15:00:31 -05:00
sgi net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
silan
sis net: sis900: remove unnecessary pci_set_drvdata() 2013-12-09 18:09:28 -05:00
smsc smsc9420: use named constants for pci_power_t values 2014-01-03 19:58:48 -05:00
stmicro stmicro: make local variables static 2014-01-01 23:42:19 -05:00
sun net: sun: optimization of addr compare 2013-12-31 16:48:32 -05:00
tehuti net: do not pretend FRAGLIST support 2013-12-02 17:16:29 -05:00
ti net: ti: slight optimization of addr compare 2013-12-31 16:48:33 -05:00
tile tile_net: Always enable PTP clock support on TILE-Gx 2013-12-27 12:44:55 -05:00
toshiba net: fix error return code 2014-01-02 03:30:35 -05:00
tundra ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
via via-velocity: fix netif_receive_skb use in irq disabled section. 2013-11-28 18:43:35 -05:00
wiznet net: w5100: use dev_get_platdata() 2013-08-30 17:43:38 -04:00
xilinx net: emaclite: add barriers to support Xilinx Zynq platform 2013-12-09 21:02:25 -05:00
xircom ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
xscale ixp4xx_eth: Implement the SIOCGHWTSTAMP ioctl 2013-11-21 17:17:48 +00:00
Kconfig net: Add MOXA ART SoCs ethernet driver 2013-08-11 21:38:12 -07:00
Makefile net: Add MOXA ART SoCs ethernet driver 2013-08-11 21:38:12 -07:00
dnet.c
dnet.h
ethoc.c net: ethoc: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
fealnx.c net: fealnx: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00
jme.c net: jme: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00
jme.h jme: Remove unused #define PFX 2013-11-07 02:14:32 -05:00
korina.c net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
lantiq_etop.c ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
netx-eth.c ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
s6gmac.c net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00