Re: [PATCH v5 3/4] PCI: Decouple D3Hot and D3Cold handling for bridges

From: Bjorn Helgaas
Date: Tue Aug 20 2024 - 19:45:14 EST


On Tue, Aug 20, 2024 at 11:30:08AM +0530, Manivannan Sadhasivam wrote:
> On Mon, Aug 19, 2024 at 02:44:43PM +0200, Oliver Neukum wrote:
> > On 02.08.24 07:55, Manivannan Sadhasivam via B4 Relay wrote:
> >
> > > --- a/drivers/pci/pci-acpi.c
> > > +++ b/drivers/pci/pci-acpi.c
> > > @@ -1434,7 +1434,7 @@ void pci_acpi_setup(struct device *dev, struct acpi_device *adev)
> > > * reason is that the bridge may have additional methods such as
> > > * _DSW that need to be called.
> > > */
> > > - if (pci_dev->bridge_d3_allowed)
> > > + if (pci_dev->bridge_d3cold_allowed && pci_dev->bridge_d3hot_allowed)
> >
> > Are you sure you want to require both capabilities here?
>
> Wakeup is common for both D3Hot and D3Cold, isn't it?

>From a spec point of view, moving device from D3hot to D0 is a config
space write that the OS knows how to do, but moving a device from
D3cold to D0 requires some platform-specific magic. If that's what
you mean by wakeup, they don't look common to me.

Bjorn