Re: [PATCH v4 2/2] PCI: Enable NO_BUS_RESET quirk for Nvidia GPUs

From: Bjorn Helgaas
Date: Wed May 05 2021 - 16:40:22 EST


On Wed, May 05, 2021 at 01:13:57PM -0600, Alex Williamson wrote:
> On Wed, 5 May 2021 23:10:32 +0530
> Amey Narkhede <ameynarkhede03@xxxxxxxxx> wrote:
> > On 21/05/05 01:56PM, Oliver O'Halloran wrote:
> > > On Wed, May 5, 2021 at 12:50 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote:
> > > > On Mon, May 03, 2021 at 09:07:11PM -0500, Shanker R Donthineni wrote:
> > > > > On 5/3/21 5:42 PM, Bjorn Helgaas wrote:
> > > > > > Obviously _RST only works for built-in devices, since there's no AML
> > > > > > for plug-in devices, right? So if there's a plug-in card with this
> > > > > > GPU, neither SBR nor _RST will work?
> > > > > These are not plug-in PCIe GPU cards, will exist on upcoming server
> > > > > baseboards. ACPI-reset should wok for plug-in devices as well as long
> > > > > as firmware has _RST method defined in ACPI-device associated with
> > > > > the PCIe hot-plug slot.
> > > >
> > > > Maybe I'm missing something, but I don't see how _RST can work for
> > > > plug-in devices. _RST is part of the system firmware, and that
> > > > firmware knows nothing about what will be plugged into the slot. So
> > > > if system firmware supplies _RST that knows how to reset the Nvidia
> > > > GPU, it's not going to do the right thing if you plug in an NVMe
> > > > device instead.
> > > >
> > > > Can you elaborate on how _RST would work for plug-in devices?
>
> I'm not sure I really understand these concerns about plug-in devices.

I'm not really concerned about plug-in devices. Shanker said above
that _RST would work for them:

ACPI-reset should work for plug-in devices as well as long as
firmware has _RST method defined in ACPI-device associated with the
PCIe hot-plug slot.

and I disagreed. _RST *cannot* work for plug-in devices because
firmware doesn't know what device will be plugged in and therefore
cannot provide the required device-specific _RST.

That's all I wanted to clarify.

Bjorn