Re: [Bug 216877] New: Regression in PCI powermanagement breaks resume after suspend

From: Thomas Witt
Date: Wed Jan 04 2023 - 10:53:48 EST


On 04/01/2023 16:02, Bjorn Helgaas wrote:
On Wed, Jan 04, 2023 at 09:44:25AM +0100, Thomas Witt wrote:
On 04/01/2023 01:30, Bjorn Helgaas wrote:
On Mon, Jan 02, 2023 at 11:15:16AM -0600, Bjorn Helgaas wrote:
On Mon, Jan 02, 2023 at 02:02:51PM +0000, bugzilla-daemon@xxxxxxxxxx wrote:
https://bugzilla.kernel.org/show_bug.cgi?id=216877

Bug ID: 216877
Summary: Regression in PCI powermanagement breaks resume after
suspend
Kernel Version: 6.0.0-rc1

BTW, if the bisect is correct, I think the regression actually is in
v6.1-rc1, where 5e85eba6f50d ("PCI/ASPM: Refactor L1 PM Substates
Control Register programming") appeared.

Created attachment 303512
--> https://bugzilla.kernel.org/attachment.cgi?id=303512&action=edit
output of git bisect log

After commit 5e85eba6f50dc288c22083a7e213152bcc4b8208 "PCI/ASPM:
Refactor L1 PM Substates Control Register programming" my Laptop
does not resume PCI devices back from suspend.

Thomas, could you try the debug patch below on top of v6.2-rc1?

Thank you for that patch Bjorn, but as far as I can see it does not change
anything.

Thanks for testing it. Maybe Vidya will have more ideas. The patch
below (based on v6.2-rc1) would revert 5e85eba6f50d and 4ff116d0d5fd.
If 5e85eba6f50d is the culprit, it should fix the regression. It
would also potentially break L1 substates after resume, so we'd like
to avoid reverting it if possible.

But the "Unable to change power state from D3hot to D0, device
inaccessible" symptom suggests that the device is still in D3, which
would be more like a wakeup issue than an ASPM issue.

Your bisect log said 3e347969a577 ("PCI/PM: Reduce D3hot delay with
usleep_range()") was "good", but it would be worth double-checking,
e.g., see if reverting it from v6.2-rc1 makes any difference.

Bjorn

commit 61de2691d549 ("Revert "PCI/ASPM: Refactor L1 PM Substates Control Register programming"")
parent 1b929c02afd3
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Wed Jan 4 08:38:53 2023 -0600

Revert "PCI/ASPM: Refactor L1 PM Substates Control Register programming"

With this patch on top of 6.2-rc1 suspend/resume works and my PCI devices come back online.