diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-06-13 09:27:44 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-06-13 09:27:44 -0400 |
commit | 8a88f565d41356f2f813f912ab42b38d6b13b320 (patch) | |
tree | fc303bc30ef72b634fd736c9e562513b6e33aa15 | |
parent | 85ef624044485844a343954ba1f2cd8e25e4415e (diff) | |
download | longterm-queue-4.8-8a88f565d41356f2f813f912ab42b38d6b13b320.tar.gz |
ACPI: drop bootparam patch requiring post-4.8 2af52c2bd20c50e
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | queue/ACPI-sysfs-Provide-quirk-mechanism-to-prevent-GPE-fl.patch | 149 | ||||
-rw-r--r-- | queue/series | 1 |
2 files changed, 0 insertions, 150 deletions
diff --git a/queue/ACPI-sysfs-Provide-quirk-mechanism-to-prevent-GPE-fl.patch b/queue/ACPI-sysfs-Provide-quirk-mechanism-to-prevent-GPE-fl.patch deleted file mode 100644 index 7d2575f..0000000 --- a/queue/ACPI-sysfs-Provide-quirk-mechanism-to-prevent-GPE-fl.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b4caa38402577a7545c74f0166ec2fde942af556 Mon Sep 17 00:00:00 2001 -From: Lv Zheng <lv.zheng@intel.com> -Date: Fri, 16 Dec 2016 12:07:57 +0800 -Subject: [PATCH] ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding - -commit 9c4aa1eecb48cfac18ed5e3aca9d9ae58fbafc11 upstream. - -Sometimes, the users may require a quirk to be provided from ACPI subsystem -core to prevent a GPE from flooding. -Normally, if a GPE cannot be dispatched, ACPICA core automatically prevents -the GPE from firing. But there are cases the GPE is dispatched by _Lxx/_Exx -provided via AML table, and OSPM is lacking of the knowledge to get -_Lxx/_Exx correctly executed to handle the GPE, thus the GPE flooding may -still occur. - -The existing quirk mechanism can be enabled/disabled using the following -commands to prevent such kind of GPE flooding during runtime: - # echo mask > /sys/firmware/acpi/interrupts/gpe00 - # echo unmask > /sys/firmware/acpi/interrupts/gpe00 -To avoid GPE flooding during boot, we need a boot stage mechanism. - -This patch provides such a boot stage quirk mechanism to stop this kind of -GPE flooding. This patch doesn't fix any feature gap but since the new -feature gaps could be found in the future endlessly, and can disappear if -the feature gaps are filled, providing a boot parameter rather than a DMI -table should suffice. - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=53071 -Link: https://bugzilla.kernel.org/show_bug.cgi?id=117481 -Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/887793 -Signed-off-by: Lv Zheng <lv.zheng@intel.com> -Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> -Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> - -diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index f1d70571e716..dfc6beb3ba75 100644 ---- a/Documentation/kernel-parameters.txt -+++ b/Documentation/kernel-parameters.txt -@@ -274,6 +274,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted. - use by PCI - Format: <irq>,<irq>... - -+ acpi_mask_gpe= [HW,ACPI] -+ Due to the existence of _Lxx/_Exx, some GPEs triggered -+ by unsupported hardware/firmware features can result in -+ GPE floodings that cannot be automatically disabled by -+ the GPE dispatcher. -+ This facility can be used to prevent such uncontrolled -+ GPE floodings. -+ Format: <int> -+ Support masking of GPEs numbered from 0x00 to 0x7f. -+ - acpi_no_auto_serialize [HW,ACPI] - Disable auto-serialization of AML methods - AML control methods that contain the opcodes to create -diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h -index 940218ff0193..63052a88ed45 100644 ---- a/drivers/acpi/internal.h -+++ b/drivers/acpi/internal.h -@@ -37,6 +37,7 @@ void acpi_amba_init(void); - static inline void acpi_amba_init(void) {} - #endif - int acpi_sysfs_init(void); -+void acpi_gpe_apply_masked_gpes(void); - void acpi_container_init(void); - void acpi_memory_hotplug_init(void); - #ifdef CONFIG_ACPI_HOTPLUG_IOAPIC -diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c -index e878fc799af7..adfe48a58d4a 100644 ---- a/drivers/acpi/scan.c -+++ b/drivers/acpi/scan.c -@@ -2043,6 +2043,7 @@ int __init acpi_scan_init(void) - } - } - -+ acpi_gpe_apply_masked_gpes(); - acpi_update_all_gpes(); - - acpi_scan_initialized = true; -diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c -index 358165e9f5b8..45bdfd7883b9 100644 ---- a/drivers/acpi/sysfs.c -+++ b/drivers/acpi/sysfs.c -@@ -685,6 +685,62 @@ end: - return result ? result : size; - } - -+/* -+ * A Quirk Mechanism for GPE Flooding Prevention: -+ * -+ * Quirks may be needed to prevent GPE flooding on a specific GPE. The -+ * flooding typically cannot be detected and automatically prevented by -+ * ACPI_GPE_DISPATCH_NONE check because there is a _Lxx/_Exx prepared in -+ * the AML tables. This normally indicates a feature gap in Linux, thus -+ * instead of providing endless quirk tables, we provide a boot parameter -+ * for those who want this quirk. For example, if the users want to prevent -+ * the GPE flooding for GPE 00, they need to specify the following boot -+ * parameter: -+ * acpi_mask_gpe=0x00 -+ * The masking status can be modified by the following runtime controlling -+ * interface: -+ * echo unmask > /sys/firmware/acpi/interrupts/gpe00 -+ */ -+ -+/* -+ * Currently, the GPE flooding prevention only supports to mask the GPEs -+ * numbered from 00 to 7f. -+ */ -+#define ACPI_MASKABLE_GPE_MAX 0x80 -+ -+static u64 __initdata acpi_masked_gpes; -+ -+static int __init acpi_gpe_set_masked_gpes(char *val) -+{ -+ u8 gpe; -+ -+ if (kstrtou8(val, 0, &gpe) || gpe > ACPI_MASKABLE_GPE_MAX) -+ return -EINVAL; -+ acpi_masked_gpes |= ((u64)1<<gpe); -+ -+ return 1; -+} -+__setup("acpi_mask_gpe=", acpi_gpe_set_masked_gpes); -+ -+void __init acpi_gpe_apply_masked_gpes(void) -+{ -+ acpi_handle handle; -+ acpi_status status; -+ u8 gpe; -+ -+ for (gpe = 0; -+ gpe < min_t(u8, ACPI_MASKABLE_GPE_MAX, acpi_current_gpe_count); -+ gpe++) { -+ if (acpi_masked_gpes & ((u64)1<<gpe)) { -+ status = acpi_get_gpe_device(gpe, &handle); -+ if (ACPI_SUCCESS(status)) { -+ pr_info("Masking GPE 0x%x.\n", gpe); -+ (void)acpi_mask_gpe(handle, gpe, TRUE); -+ } -+ } -+ } -+} -+ - void acpi_irq_stats_init(void) - { - acpi_status status; --- -2.12.0 - diff --git a/queue/series b/queue/series index c8a0622..fcdff94 100644 --- a/queue/series +++ b/queue/series @@ -74,7 +74,6 @@ PCI-Expand-VPD-access-disabled-quirk-message.patch ALSA-usb-audio-Add-native-DSD-support-for-TEAC-501-5.patch platform-x86-acer-wmi-Only-supports-AMW0_GUID1-on-ac.patch nvme-simplify-stripe-quirk.patch -ACPI-sysfs-Provide-quirk-mechanism-to-prevent-GPE-fl.patch HID-usbhid-Add-quirk-for-the-Futaba-TOSD-5711BB-VFD.patch HID-usbhid-Add-quirk-for-Mayflash-Dragonrise-Dolphin.patch drm-edid-constify-edid-quirk-list.patch |