Skip to content
  • Bjorn Helgaas's avatar
    PCI/PM: Clear PCIe PME Status bit for Root Complex Event Collectors · 3620c714
    Bjorn Helgaas authored
    Per PCIe r4.0, sec 6.1.6, Root Complex Event Collectors can generate PME
    interrupts on behalf of Root Complex Integrated Endpoints.
    
    Linux does not currently enable PME interrupts from RC Event Collectors,
    but fe31e697 ("PCI/PCIe: Clear Root PME Status bits early during system
    resume") suggests PME interrupts may be enabled by the platform for ACPI-
    based runtime wakeup.
    
    Clear the PCIe PME Status bit for Root Complex Event Collectors during
    resume, just like we already do for Root Ports.
    
    If the BIOS enables PME interrupts for an event collector and neglects to
    clear the status bit on resume, this change should fix the same bug as
    fe31e697
    
     (PMEs not working after waking from a sleep state), but for
    Root Complex Integrated Endpoints.
    
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    3620c714