Re: [PATCH v6 02/12] PCI/ACPI: Add PERST# Assertion Delay _DSM method

Bjorn Helgaas
2026-01-14T20:19:44Z

On Wed, Jan 14, 2026 at 01:55:17PM -0600, Bjorn Helgaas wrote:
> On Tue, Jan 13, 2026 at 10:12:03PM +0530, Badal Nilawar wrote:
> > From: Anshuman Gupta <anshuman.gupta@intel.com>
> >
> > Implement _DSM Method 0Bh as per PCI Firmware r3.3, sec 4.6.10, to request
> > fixed delay in timing between the time the PME_TO_Ack message is received
> > at the PCI Express Downstream Port that originated the PME_Turn_Off
> > message, and the time the platform asserts PERST# to the slot during the
> > corresponding Endpoint’s or PCI Express Upstream Port’s transition to
> > D3cold while the system is in an ACPI operational state.
> > Host platform supporting this feature ensures that device is observing
> > this delay in every applicable D3Cold transition.
> ...

> Sec 4.6.11 also says we should track this per Downstream Port and
> request the maximum of delays requested by any child. So I think we
> need to:
>
> - add a perst_delay in struct pci_dev

If you do this, name it "perst_delay_us" so we know the units.

> - when we find this _DSM, set
> bdev.perst_delay = max(bdev.perst_delay, delay_us)
>
> - pass bdev.perst_delay to the _DSM instead of delay_us