i40e: Modify Tx disable wait flow in case of DCB reconfiguration
authorNeerav Parikh <neerav.parikh@intel.com>
Wed, 12 Nov 2014 00:18:46 +0000 (00:18 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 18 Nov 2014 09:09:17 +0000 (01:09 -0800)
commit69129dc39fac45e0ea1dbbca995abdac279df376
tree34e7696ff56582ac451ecfbc7e8b4f03ada0ba15
parent23cd1f095adf110d118ef972914c714176cd48d0
i40e: Modify Tx disable wait flow in case of DCB reconfiguration

When DCB TC configuration changes the firmware suspends the port's Tx.
Now, as DCB TCs may have changed the PF driver tries to reconfigure the
TC configuration of the VSIs it manages. As part of this process it disables
the VSI queues but the Tx queue disable will not complete as the port's
Tx has been suspended. So, waiting for Tx queues to go to disable state
in this flow may lead to detection of Tx queue disable timeout errors.

Hence, this patch adds a new PF state so that if a port's Tx is in
suspended state the Tx queue disable flow would just put the request for
the queue to be disabled and return without waiting for the queue to be
actually disabled.
Once the VSI(s) TC reconfiguration has been done and driver has called
firmware AQC "Resume PF Traffic" the driver checks the Tx queues requested
to be disabled are actually disabled before re-enabling them again.

Change-ID: If3e03ce4813a4e342dbd5a1eb1d2861e952b7544
Signed-off-by: Neerav Parikh <neerav.parikh@intel.com>
Tested-By: Jack Morgan <jack.morgan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c