2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-17 09:43:59 +08:00
linux-next/include/acpi
Lv Zheng 2af52c2bd2 ACPICA: Events: Introduce acpi_mask_gpe() to implement GPE masking mechanism
ACPICA commit 23a417ca406a527e7ae1710893e59a8b6db30e14

There is a facility in Linux, developers can control the enabling/disabling
of a GPE via /sys/firmware/acpi/interrupts/gpexx. This is mainly for
debugging purposes.

But many users expect to use this facility to implement quirks to mask a
specific GPE when there is a gap in Linux causing this GPE to flood. This
is not working correctly because currently this facility invokes
enabling/disabling counting based GPE driver APIs:
 acpi_enable_gpe()/acpi_disable_gpe()
and the GPE drivers can still affect the count to mess up the GPE
masking purposes.

However, most of the IRQ chip designs allow masking/unmasking IRQs via a
masking bit which is different from the enabled bit to achieve the same
purpose. But the GPE hardware doesn't contain such a feature, this brings
the trouble.

In this patch, we introduce a software mechanism to implement the GPE
masking feature, and acpi_mask_gpe() are provided to the OSPMs to
mask/unmask GPEs in the above mentioned situation instead of
acpi_enable_gpe()/acpi_disable_gpe(). ACPICA BZ 1102. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/23a417ca
Link: https://bugs.acpica.org/show_bug.cgi?id=1102
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-08-13 03:09:33 +02:00
..
platform ACPICA: Divergence: Port declarators back to ACPICA 2016-08-13 03:09:32 +02:00
acbuffer.h ACPICA: Additional 2016 copyright changes 2016-01-15 22:18:09 +01:00
acconfig.h ACPICA: Simplify configuration for "Max Loops" system parameter 2016-08-13 03:09:32 +02:00
acexcep.h ACPICA: Additional 2016 copyright changes 2016-01-15 22:18:09 +01:00
acnames.h ACPICA: Additional 2016 copyright changes 2016-01-15 22:18:09 +01:00
acoutput.h ACPICA: Fix deconstification warnings (-Wcast-qual) with function traces. 2016-08-13 03:09:31 +02:00
acpi_bus.h device property: Add function to search for named child of device 2016-06-26 12:39:03 +01:00
acpi_drivers.h Revert "ACPI, PCI, IRQ: remove redundant code in acpi_irq_penalty_init()" 2016-07-02 01:38:34 +02:00
acpi_io.h treewide: replace obsolete _refok by __ref 2016-08-02 17:31:41 -04:00
acpi_lpat.h ACPI / LPAT: Common table processing functions 2015-01-29 21:02:10 +08:00
acpi_numa.h ACPI / NUMA: move bad_srat() and srat_disabled() to drivers/acpi/numa.c 2016-05-30 14:27:08 +02:00
acpi.h ACPICA: Additional 2016 copyright changes 2016-01-15 22:18:09 +01:00
acpiosxf.h ACPICA: Divergence: remove unwanted spaces for typedef 2016-05-05 15:14:35 +02:00
acpixf.h ACPICA: Events: Introduce acpi_mask_gpe() to implement GPE masking mechanism 2016-08-13 03:09:33 +02:00
acrestyp.h ACPICA: ACPI 6.0, tools/iasl: Add support for new resource descriptors 2016-05-05 15:22:26 +02:00
actbl1.h ACPICA: ACPI 6.1: Add full support for this version of ACPI spec 2016-04-05 03:53:31 +02:00
actbl2.h ACPICA: Headers: Update DMAR table for October 2014 I/O spec 2016-04-05 03:53:31 +02:00
actbl3.h ACPICA: ACPI 6.1: Support for new PCCT subtable 2016-05-05 15:22:26 +02:00
actbl.h ACPICA: Tables: Update FADT handling 2016-04-05 03:53:31 +02:00
actypes.h ACPICA: Events: Introduce acpi_mask_gpe() to implement GPE masking mechanism 2016-08-13 03:09:33 +02:00
acuuid.h ACPICA: Additional 2016 copyright changes 2016-01-15 22:18:09 +01:00
apei.h acpi, apei, ghes: Factor out ioremap virtual memory for IRQ and NMI context. 2014-07-22 15:05:06 -07:00
button.h ACPI: Eliminate CONFIG_.*{, _MODULE} #ifdef in favor of IS_ENABLED() 2015-09-15 03:05:45 +02:00
cppc_acpi.h mailbox: pcc: Add PCC request and free channel declarations 2016-06-25 02:53:37 +02:00
ghes.h ACPICA: Restore error table definitions to reduce code differences between Linux and ACPICA upstream. 2014-06-16 22:33:50 +02:00
hed.h ACPI Hardware Error Device (PNP0C33) support 2010-05-19 22:40:24 -04:00
pcc.h mailbox: pcc: Add PCC request and free channel declarations 2016-06-25 02:53:37 +02:00
pdc_intel.h ACPI: Enable bit 11 in _PDC to advertise hw coord 2009-02-07 00:41:14 -05:00
processor.h Merge branches 'acpi-processor', 'acpi-cppc', 'acpi-apei' and 'acpi-sleep' 2016-07-25 13:42:25 +02:00
reboot.h Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. 2008-07-16 23:27:08 +02:00
video.h ACPI / video: Dummy acpi_video_register should return error code 2016-06-25 02:56:59 +02:00