[PATCH v9 0/2] PCI: Disable AER & DPC on suspend
Rafael J. Wysocki
rafael at kernel.org
Wed Jun 19 20:52:39 AEST 2024
On Tue, Jun 18, 2024 at 10:49 PM Bjorn Helgaas <helgaas at kernel.org> wrote:
>
> From: Bjorn Helgaas <bhelgaas at google.com>
>
> This is an old series from Kai-Heng that I didn't handle soon enough. The
> intent is to fix several suspend/resume issues:
>
> - Spurious wakeup from s2idle
> (https://bugzilla.kernel.org/show_bug.cgi?id=216295)
>
> - Steam Deck doesn't resume after suspend
> (https://bugzilla.kernel.org/show_bug.cgi?id=218090)
>
> - Unexpected ACS error and DPC event when resuming after suspend
> (https://bugzilla.kernel.org/show_bug.cgi?id=209149)
>
> It seems that a glitch when the link is powered down during suspend causes
> errors to be logged by AER. When AER is enabled, this causes an AER
> interrupt, and if that IRQ is shared with PME, it may cause a spurious
> wakeup.
>
> Also, errors logged during link power-down and power-up seem to cause
> unwanted error reporting during resume.
>
> This series disables AER interrupts, DPC triggering, and DPC interrupts
> during suspend. On resume, it clears AER and DPC error status before
> re-enabling their interrupts.
>
> I added a couple cosmetic changes for the v9, but this is essentially all
> Kai-Heng's work. I'm just posting it as a v9 because I failed to act on
> this earlier.
>
> Bjorn
>
> v9:
> - Drop pci_ancestor_pr3_present() and pm_suspend_via_firmware; do it
> unconditionally
> - Clear DPC status before re-enabling DPC interrupt
>
> v8: https://lore.kernel.org/r/20240416043225.1462548-1-kai.heng.feng@canonical.com
> - Wording.
> - Add more bug reports.
>
> v7:
> - Wording.
> - Disable AER completely (again) if power will be turned off
> - Disable DPC completely (again) if power will be turned off
>
> v6: https://lore.kernel.org/r/20230512000014.118942-1-kai.heng.feng@canonical.com
>
> v5: https://lore.kernel.org/r/20230511133610.99759-1-kai.heng.feng@canonical.com
> - Wording.
>
> v4: https://lore.kernel.org/r/20230424055249.460381-1-kai.heng.feng@canonical.com
> v3: https://lore.kernel.org/r/20230420125941.333675-1-kai.heng.feng@canonical.com
> - Correct subject.
>
> v2: https://lore.kernel.org/r/20230420015830.309845-1-kai.heng.feng@canonical.com
> - Only disable AER IRQ.
> - No more AER check on PME IRQ#.
> - Use AER helper.
> - Only disable DPC IRQ.
> - No more DPC check on PME IRQ#.
>
> v1: https://lore.kernel.org/r/20220727013255.269815-1-kai.heng.feng@canonical.com
>
> Kai-Heng Feng (2):
> PCI/AER: Disable AER service on suspend
> PCI/DPC: Disable DPC service on suspend
>
> drivers/pci/pcie/aer.c | 18 +++++++++++++
> drivers/pci/pcie/dpc.c | 60 +++++++++++++++++++++++++++++++++---------
> 2 files changed, 66 insertions(+), 12 deletions(-)
>
> --
Please feel free to add
Acked-by: Rafael J. Wysocki <rafael at kernel.org>
to both patches in the series.
Thanks!
More information about the Linuxppc-dev
mailing list