PCI: Add PCI quirk to disable L0s ASPM state for 82575 and 82598
authorAlexander Duyck <alexander.h.duyck@intel.com>
Thu, 5 Mar 2009 18:57:28 +0000 (13:57 -0500)
committerMatthew Wilcox <willy@linux.intel.com>
Thu, 12 Mar 2009 19:09:41 +0000 (15:09 -0400)
commit649426efcfbc67a8b033497151816cbac9fd0cfa
treeee73b86fa404171dbddba24751944c1557d1b280
parent16b71fdf97599f1b1b7f38418ee9922d9f117396
PCI: Add PCI quirk to disable L0s ASPM state for 82575 and 82598

This patch is intended to disable L0s ASPM link state for 82598 (ixgbe)
parts due to the fact that it is possible to corrupt TX data when coming
back out of L0s on some systems.  The workaround had been added for 82575
(igb) previously, but did not use the ASPM api.  This quirk uses the ASPM
api to prevent the ASPM subsystem from re-enabling the L0s state.

Instead of adding the fix in igb to the ixgbe driver as well it was
decided to move it into a pci quirk.  It is necessary to move the fix out
of the driver and into a pci quirk in order to prevent the issue from
occuring prior to driver load to handle the possibility of the device being
passed to a VM via direct assignment.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
drivers/pci/quirks.c