linux/drivers/net/ethernet/intel
Jeff Kirsher 9de15bda37 fm10k: don't handle mailbox events in iov_event path and always process mailbox
Since we already schedule the service task, we can just wait for this
task to handle the mailbox events from the VF. This reduces some complex
code flow, and makes it so we have a single path for handling the VF
messages. There is a possibility that we have a slight delay in handling
VF messages, but it should be minimal.

The result of tx_complete and !rx_ready is insufficient to determine
whether we need to process the mailbox. There is a possible race
condition whereby the VF fills up the mbmem for us, but we have already
recently processed the mailboxes in the interrupt. During this time,
the interrupt is disabled. Thus, our Rx FIFO is empty, but the mbmem now
has data in it. Since we continually check whether Rx FIFO is empty, we
then never call process. This results in the possibility to prevent PF
from handling the VF mailbox messages.

Instead, just call process every time, despite the fact that we may or
may not have anything to process for the VF. There should be minimal
overhead for doing this, and it resolves an issue where the VF never
comes up due to never getting response for its SET_LPORT_STATE message.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Acked-by: Matthew Vick <matthew.vick@intel.com>
Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-04-14 15:47:28 -07:00
..
e1000 e1000, e1000e: Use dma_rmb instead of rmb for descriptor read ordering 2015-04-08 12:15:14 -04:00
e1000e e1000e: Move pm_qos_req to e1000e adapter 2015-04-13 13:15:14 -04:00
fm10k fm10k: don't handle mailbox events in iov_event path and always process mailbox 2015-04-14 15:47:28 -07:00
i40e i40e/i40evf: Use dma_rmb where appropriate 2015-04-09 14:25:26 -04:00
i40evf i40e/i40evf: Use dma_rmb where appropriate 2015-04-09 14:25:26 -04:00
igb ptp: igb: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
igbvf igbvf: use netif_carrier_off earlier when bringing if down 2015-03-20 17:45:12 -07:00
ixgb ixgb: call netif_carrier_off early on down 2015-03-20 17:41:52 -07:00
ixgbe ixgbe: Add GET_RSS_KEY command to VF-PF channel commands set 2015-04-11 11:30:12 -07:00
ixgbevf ixgbevf: Add the appropriate ethtool ops to query RSS indirection table and key 2015-04-11 11:50:28 -07:00
e100.c e100: Use dma_rmb/wmb where appropriate 2015-04-09 14:25:26 -04:00
Kconfig i40e: Strip configfs code 2015-03-07 07:01:06 -08:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00