Re: [RFC PATCH] PCIe: Add PCIe runtime D3cold support

From: Yan, Zheng
Date: Mon Apr 16 2012 - 03:49:20 EST

On 04/14/2012 03:41 AM, Rafael J. Wysocki wrote:
>> > @@ -296,7 +296,8 @@ static void acpi_pci_propagate_run_wake(struct pci_bus *bus, bool enable)
>> >
>> > static int acpi_pci_run_wake(struct pci_dev *dev, bool enable)
>> > {
>> > - if (dev->pme_interrupt)
>> > + /* PME interrupt isn't available in the D3cold case */
>> > + if (dev->pme_interrupt && !dev->runtime_d3cold)
> This whole thing is wrong. First off, I don't think that the runtime_d3cold
> flag makes any sense. We already cover that in dev->pme_support.
> Second, pme_interrupt means that the _root_ _port_, not the device itself will
> trigger an interrupt whenever the device sends the PME message to it (which
> very well may happen for a device in D3_cold woken up by an external signal).

I rechecked this. The port does trigger PME interrupt, but after the WAKE# signal
restores device power. So my comments "PME interrupt isn't available in the D3cold
case" is wrong, but setup ACPI wakeup is still required.

Yan, Zheng
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at