linux/drivers/pci/pcie
Kai-Heng Feng 75c47c790f PCI/DPC: Disable DPC service on suspend
If the link is powered off during suspend, electrical noise may cause
errors that trigger DPC.  If the DPC interrupt is enabled and shares an IRQ
with PME, that causes a spurious wakeup during suspend.

Disable DPC triggering and the DPC interrupt during suspend to prevent
this.  Clear DPC interrupt status before re-enabling DPC interrupts during
resume so we don't get an interrupt for errors that occurred during the
suspend/resume process.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=209149
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216295
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218090
Link: https://lore.kernel.org/r/20240416043225.1462548-3-kai.heng.feng@canonical.com
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
[bhelgaas: clear status on resume, add comments, commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2024-06-18 14:51:23 -05:00
..
aer_inject.c PCI/AER: Update aer-inject tool source URL 2024-04-17 10:35:43 -05:00
aer.c PCI/AER: Disable AER service on suspend 2024-06-18 14:49:44 -05:00
aspm.c pci-v6.10-changes 2024-05-21 10:09:28 -07:00
dpc.c PCI/DPC: Disable DPC service on suspend 2024-06-18 14:51:23 -05:00
edr.c PCI/EDR: Align EDR_PORT_LOCATE_DSM with PCI Firmware r3.3 2024-05-08 15:08:39 -05:00
err.c PCI/ERR: Cleanup misleading indentation inside if conditions 2024-04-29 10:33:29 -05:00
Kconfig PCI/AER: Update aer-inject tool source URL 2024-04-17 10:35:43 -05:00
Makefile PCI/ASPM: Always build aspm.c 2024-03-07 14:29:17 -06:00
pme.c PCI/PME: Use FIELD_GET() 2023-10-24 16:55:45 -05:00
portdrv.c PCI/portdrv: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY 2024-04-25 12:53:29 -05:00
portdrv.h PCI: Make pcie_port_bus_type const 2024-02-08 14:59:47 -06:00
ptm.c PCI/PTM: Use FIELD_GET() 2023-10-24 16:55:45 -05:00
rcec.c PCI/RCEC: Fix RCiEP device to RCEC association 2021-03-10 15:10:46 -06:00