PCI: Limit config space size for Netronome NFP4000
authorSimon Horman <simon.horman@netronome.com>
Fri, 11 Dec 2015 02:30:12 +0000 (11:30 +0900)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 15 Jan 2016 23:30:40 +0000 (17:30 -0600)
Like the NFP6000, the NFP4000 as an erratum where reading/writing to PCI
config space addresses above 0x600 can cause the NFP to generate PCIe
completion timeouts.

Limit the NFP4000's PF's config space size to 0x600 bytes as is already
done for the NFP6000.

The NFP4000's VF is 0x6004 (PCI_DEVICE_ID_NETRONOME_NFP6000_VF), the same
device ID as the NFP6000's VF.  Thus, its config space is already limited
by the existing use of quirk_nfp6000().

Signed-off-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/quirks.c

index 83e93d7ca4b9ac3658416c998b6906bd2ccf35f0..8b13b41257b8035e6bf6b6356361faf69797b483 100644 (file)
@@ -295,6 +295,7 @@ static void quirk_nfp6000(struct pci_dev *dev)
 {
        dev->cfg_size = 0x600;
 }
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NETRONOME,      PCI_DEVICE_ID_NETRONOME_NFP4000,        quirk_nfp6000);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NETRONOME,      PCI_DEVICE_ID_NETRONOME_NFP6000,        quirk_nfp6000);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NETRONOME,      PCI_DEVICE_ID_NETRONOME_NFP6000_VF,     quirk_nfp6000);