linux/arch/x86/pci
Kai-Heng Feng 0bf3730bbc x86/PCI: Avoid AMD SB7xx EHCI USB wakeup defect
On an AMD Carrizo laptop, when EHCI runtime PM is enabled, EHCI ports do
not assert PME# for device plug/unplug events while in D3.

As Alan Stern points out [1], the PME signal is not enabled when controller
is in D3, therefore it's not being woken up when new devices get plugged
in.

Testing shows PME signal works when the EHCI power state is D2.

Clear the PCI_PM_CAP_PME_D3 and PCI_PM_CAP_PME_D3cold bits in
dev->pme_support to indicate the device will not assert PME# from those
states.

[1] http://lkml.kernel.org/r/Pine.LNX.4.44L0.1706121010010.2092-100000@iolanthe.rowland.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=196091
Link: https://support.amd.com/TechDocs/46837.pdf (Section 23)
Link: https://support.amd.com/TechDocs/42413.pdf (Appendix A2)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
[bhelgaas: changelog, add parens in quirk]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2017-06-30 11:15:08 -05:00
..
acpi.c x86/PCI: Ignore _CRS on Supermicro X8DTH-i/6/iF/6F 2017-01-11 09:11:15 -06:00
amd_bus.c x86/pci/amd-bus: Convert to hotplug state machine 2016-11-22 23:34:43 +01:00
broadcom_bus.c x86/PCI: Fix Broadcom CNB20LE unintended sign extension 2014-04-25 11:01:08 -06:00
bus_numa.c x86/PCI/ACPI: Fix regression caused by commit 4d6b4e69a2 2015-12-02 02:30:15 +01:00
bus_numa.h x86/PCI: put busn resource in pci_root_info for native host bridge drivers 2012-06-13 15:42:24 -06:00
ce4100.c x86/ce4100: Fix PCI configuration register access for devices without interrupts 2012-10-30 10:16:47 +01:00
common.c x86/PCI: Implement pcibios_release_device to release IRQ from IOAPIC 2017-03-01 10:51:41 +01:00
direct.c x86: constify PCI raw ops structures 2011-10-14 09:05:28 -07:00
early.c
fixup.c x86/PCI: Avoid AMD SB7xx EHCI USB wakeup defect 2017-06-30 11:15:08 -05:00
i386.c pci-v4.12-changes 2017-05-08 19:03:25 -07:00
init.c x86, olpc: Use pci subarch init for OLPC 2010-02-25 19:26:23 -08:00
intel_mid_pci.c x86/pci: Use MRFLD abbreviation for Merrifield 2016-07-13 09:24:51 +02:00
irq.c Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()" 2016-02-27 08:52:20 -06:00
legacy.c x86/PCI: Make pci_subsys_init() static 2015-10-09 18:34:48 -05:00
Makefile x86/PCI: VMD: Move VMD driver to drivers/pci/host 2016-10-04 12:26:37 -05:00
mmconfig_32.c x86/boot/e820: Move asm/e820.h to asm/e820/api.h 2017-01-28 09:31:13 +01:00
mmconfig_64.c x86/boot/e820: Move asm/e820.h to asm/e820/api.h 2017-01-28 09:31:13 +01:00
mmconfig-shared.c x86/boot/e820: Use bool in query APIs 2017-01-28 22:55:25 +01:00
numachip.c x86: numachip: APIC driver cleanups 2014-11-04 18:17:27 +01:00
olpc.c x86: constify PCI raw ops structures 2011-10-14 09:05:28 -07:00
pcbios.c x86: use set_memory.h header 2017-05-08 17:15:13 -07:00
sta2x11-fixup.c treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
xen.c xen: Revert commits da72ff5bfc and 72a9b18629 2017-05-02 11:18:05 +02:00