ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
authorLv Zheng <lv.zheng@intel.com>
Fri, 16 Dec 2016 04:07:57 +0000 (12:07 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 26 Dec 2016 22:16:39 +0000 (23:16 +0100)
commit9c4aa1eecb48cfac18ed5e3aca9d9ae58fbafc11
tree09090669e6210c5cacb16bc8af2048ba94ec8793
parent7ce7d89f48834cefece7804d38fc5d85382edf77
ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding

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>
Documentation/admin-guide/kernel-parameters.txt
drivers/acpi/internal.h
drivers/acpi/scan.c
drivers/acpi/sysfs.c