lkml.org 
[lkml]   [2021]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 50/88] PCI: Mark some NVIDIA GPUs to avoid bus reset
    Date
    From: Shanker Donthineni <sdonthineni@nvidia.com>

    commit 4c207e7121fa92b66bf1896bf8ccb9edfb0f9731 upstream.

    Some NVIDIA GPU devices do not work with SBR. Triggering SBR leaves the
    device inoperable for the current system boot. It requires a system
    hard-reboot to get the GPU device back to normal operating condition
    post-SBR. For the affected devices, enable NO_BUS_RESET quirk to avoid the
    issue.

    This issue will be fixed in the next generation of hardware.

    Link: https://lore.kernel.org/r/20210608054857.18963-8-ameynarkhede03@gmail.com
    Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Sinan Kaya <okaya@kernel.org>
    Cc: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/pci/quirks.c | 12 ++++++++++++
    1 file changed, 12 insertions(+)

    diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
    index f0cd8f7ce881..de7d65971d7f 100644
    --- a/drivers/pci/quirks.c
    +++ b/drivers/pci/quirks.c
    @@ -3389,6 +3389,18 @@ static void quirk_no_bus_reset(struct pci_dev *dev)
    dev->dev_flags |= PCI_DEV_FLAGS_NO_BUS_RESET;
    }

    +/*
    + * Some NVIDIA GPU devices do not work with bus reset, SBR needs to be
    + * prevented for those affected devices.
    + */
    +static void quirk_nvidia_no_bus_reset(struct pci_dev *dev)
    +{
    + if ((dev->device & 0xffc0) == 0x2340)
    + quirk_no_bus_reset(dev);
    +}
    +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID,
    + quirk_nvidia_no_bus_reset);
    +
    /*
    * Some Atheros AR9xxx and QCA988x chips do not behave after a bus reset.
    * The device will throw a Link Down error on AER-capable systems and
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-06-28 17:14    [W:4.136 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site