lkml.org 
[lkml]   [2016]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.10 04/16] PCI: Limit config space size for Netronome NFP6000 family
    Date
    From: "Jason S. McMullan" <jason.mcmullan@netronome.com>

    commit 9f33a2ae59f24452c1076749deb615bccd435ca9 upstream.

    The NFP6000 has an erratum where reading/writing to PCI config space
    addresses above 0x600 can cause the NFP to generate PCIe completion
    timeouts.

    Limit the NFP6000's config space size to 0x600 bytes.

    Signed-off-by: Jason S. McMullan <jason.mcmullan@netronome.com>
    [simon: edited changelog]
    Signed-off-by: Simon Horman <simon.horman@netronome.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Willy Tarreau <w@1wt.eu>
    ---
    drivers/pci/quirks.c | 11 +++++++++++
    1 file changed, 11 insertions(+)

    diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
    index 390e409..df1030c 100644
    --- a/drivers/pci/quirks.c
    +++ b/drivers/pci/quirks.c
    @@ -292,6 +292,17 @@ static void quirk_citrine(struct pci_dev *dev)
    }
    DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CITRINE, quirk_citrine);

    +/*
    + * This chip can cause bus lockups if config addresses above 0x600
    + * are read or written.
    + */
    +static void quirk_nfp6000(struct pci_dev *dev)
    +{
    + dev->cfg_size = 0x600;
    +}
    +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);
    +
    /* On IBM Crocodile ipr SAS adapters, expand BAR to system page size */
    static void quirk_extend_bar_to_page(struct pci_dev *dev)
    {
    --
    2.8.0.rc2.1.gbe9624a
    \
     
     \ /
      Last update: 2016-10-20 00:52    [W:0.020 / U:8.340 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site