summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-x86_64/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-05-24 04:19:21 +0200
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-05-24 04:24:43 +0200
commite9d3becf4bc982a613f25e0ede0dc4a4c7864c07 (patch)
treea2fed3d7c9b0bae4534a81faaf49b231ddf1b5fc /kernels/linux-libre-x86_64/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
parent4c932f5681f154e2b9cd329a9b982d76642318fb (diff)
downloadabslibre-e9d3becf4bc982a613f25e0ede0dc4a4c7864c07.tar.gz
abslibre-e9d3becf4bc982a613f25e0ede0dc4a4c7864c07.tar.bz2
abslibre-e9d3becf4bc982a613f25e0ede0dc4a4c7864c07.zip
kernels: remove linux-libre-x86_64
This kernel has been replaced by linux-libre-64 in libre in an attempt to unify all 64bit kernels made for 32bit rootfs. This has been tested on a Lenovo Thinkpad X200 running a fully free version of Coreboot 4.9 (no microcode or other nonfree binaries). The only regresion that I noticed is that beside having the following line in /etc/mkinitcpio.conf: MODULES=(i915 netconsole) The i915 driver seem to be loaded late in the boot process as I can only see notice a resolution change about when the rootfs is mounted and that init is started. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'kernels/linux-libre-x86_64/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch')
-rw-r--r--kernels/linux-libre-x86_64/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch99
1 files changed, 0 insertions, 99 deletions
diff --git a/kernels/linux-libre-x86_64/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch b/kernels/linux-libre-x86_64/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
deleted file mode 100644
index 24a7c3d84..000000000
--- a/kernels/linux-libre-x86_64/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 0407fd310903c18882a7e0463930a71a46b61027 Mon Sep 17 00:00:00 2001
-From: Mika Westerberg <mika.westerberg@linux.intel.com>
-Date: Tue, 29 Oct 2019 20:00:21 +0300
-Subject: [PATCH 04/13] PCI: pciehp: Do not disable interrupt twice on suspend
-
-We try to keep PCIe hotplug ports runtime suspended when entering system
-suspend. Because the PCIe portdrv sets the DPM_FLAG_NEVER_SKIP flag, the PM
-core always calls system suspend/resume hooks even if the device is left
-runtime suspended. Since PCIe hotplug driver re-used the same function for
-both runtime suspend and system suspend, it ended up disabling hotplug
-interrupt twice and the second time following was printed:
-
- pciehp 0000:03:01.0:pcie204: pcie_do_write_cmd: no response from device
-
-Prevent this from happening by checking whether the device is already
-runtime suspended when the system suspend hook is called.
-
-Fixes: 9c62f0bfb832 ("PCI: pciehp: Implement runtime PM callbacks")
-Link: https://lore.kernel.org/r/20191029170022.57528-1-mika.westerberg@linux.intel.com
-Reported-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
-Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
-Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
-Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
----
- drivers/pci/hotplug/pciehp_core.c | 25 +++++++++++++++++++++++--
- 1 file changed, 23 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c
-index b3122c151b80..56daad828c9e 100644
---- a/drivers/pci/hotplug/pciehp_core.c
-+++ b/drivers/pci/hotplug/pciehp_core.c
-@@ -253,7 +253,7 @@ static bool pme_is_native(struct pcie_device *dev)
- return pcie_ports_native || host->native_pme;
- }
-
--static int pciehp_suspend(struct pcie_device *dev)
-+static void pciehp_disable_interrupt(struct pcie_device *dev)
- {
- /*
- * Disable hotplug interrupt so that it does not trigger
-@@ -261,7 +261,19 @@ static int pciehp_suspend(struct pcie_device *dev)
- */
- if (pme_is_native(dev))
- pcie_disable_interrupt(get_service_data(dev));
-+}
-
-+#ifdef CONFIG_PM_SLEEP
-+static int pciehp_suspend(struct pcie_device *dev)
-+{
-+ /*
-+ * If the port is already runtime suspended we can keep it that
-+ * way.
-+ */
-+ if (dev_pm_smart_suspend_and_suspended(&dev->port->dev))
-+ return 0;
-+
-+ pciehp_disable_interrupt(dev);
- return 0;
- }
-
-@@ -279,6 +291,7 @@ static int pciehp_resume_noirq(struct pcie_device *dev)
-
- return 0;
- }
-+#endif
-
- static int pciehp_resume(struct pcie_device *dev)
- {
-@@ -292,6 +305,12 @@ static int pciehp_resume(struct pcie_device *dev)
- return 0;
- }
-
-+static int pciehp_runtime_suspend(struct pcie_device *dev)
-+{
-+ pciehp_disable_interrupt(dev);
-+ return 0;
-+}
-+
- static int pciehp_runtime_resume(struct pcie_device *dev)
- {
- struct controller *ctrl = get_service_data(dev);
-@@ -318,10 +337,12 @@ static struct pcie_port_service_driver hpdriver_portdrv = {
- .remove = pciehp_remove,
-
- #ifdef CONFIG_PM
-+#ifdef CONFIG_PM_SLEEP
- .suspend = pciehp_suspend,
- .resume_noirq = pciehp_resume_noirq,
- .resume = pciehp_resume,
-- .runtime_suspend = pciehp_suspend,
-+#endif
-+ .runtime_suspend = pciehp_runtime_suspend,
- .runtime_resume = pciehp_runtime_resume,
- #endif /* PM */
- };
---
-2.24.1
-