android_kernel_oneplus_msm8998/drivers/acpi
Ronald Tschalär c49c3925a8 ACPI / SBS: Fix GPE storm on recent MacBookPro's
[ Upstream commit ca1721c5bee77105829cbd7baab8ee0eab85b06d ]

On Apple machines, plugging-in or unplugging the power triggers a GPE
for the EC. Since these machines expose an SBS device, this GPE ends
up triggering the acpi_sbs_callback(). This in turn tries to get the
status of the SBS charger. However, on MBP13,* and MBP14,* machines,
performing the smbus-read operation to get the charger's status triggers
the EC's GPE again. The result is an endless re-triggering and handling
of that GPE, consuming significant CPU resources (> 50% in irq).

In the end this is quite similar to commit 3031cddea6 (ACPI / SBS:
Don't assume the existence of an SBS charger), except that on the above
machines a status of all 1's is returned. And like there, we just want
ignore the charger here.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=198169
Signed-off-by: Ronald Tschalär <ronald@innovation.ch>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-27 09:33:58 +02:00
..
acpica ACPICA: acpi: acpica: fix acpi operand cache leak in nseval.c 2018-05-30 07:49:11 +02:00
apei ACPI: APEI / ERST: Fix missing error handling in erst_reader() 2018-01-02 20:33:19 +01:00
pmic ACPI / PMIC: xpower: Fix power_table addresses 2018-03-24 10:58:45 +01:00
ac.c
acpi_apd.c
acpi_cmos_rtc.c
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpss.c ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers 2018-11-21 09:27:32 +01:00
acpi_memhotplug.c
acpi_pad.c ACPI: acpi_pad: Fix memory leak in power saving threads 2018-05-30 07:49:09 +02:00
acpi_platform.c ACPI / platform: Add SMB0001 HID to forbidden_id_list 2018-11-27 16:08:02 +01:00
acpi_pnp.c
acpi_processor.c ACPI / processor: Avoid reserving IO regions too early 2018-01-31 12:06:09 +01:00
acpi_video.c ACPI / video: skip evaluating _DOD when it does not exist 2017-03-26 12:13:17 +02:00
battery.c
battery.h
bgrt.c
blacklist.c ACPI / blacklist: Make Dell Latitude 3350 ethernet work 2017-03-30 09:35:20 +02:00
bus.c ACPI / processor: Request native thermal interrupt handling via _OSC 2016-05-11 11:21:26 +02:00
button.c
cm_sbs.c
container.c
cppc_acpi.c ACPI / CPPC: Prevent cpc_desc_ptr points to the invalid data 2016-09-07 08:32:38 +02:00
custom_method.c
debugfs.c
device_pm.c
device_sysfs.c ACPI / device_sysfs: Avoid OF modalias creation for removed device 2019-03-23 08:44:35 +01:00
dock.c
ec.c ACPI / EC: Work around method reentrancy limit in ACPICA for _Qxx 2016-08-20 18:09:27 +02:00
ec_sys.c
event.c
fan.c
glue.c ACPI / scan: Prefer devices without _HID/_CID for _ADR matching 2018-01-31 12:06:09 +01:00
gsi.c
hed.c
int340x_thermal.c
internal.h ACPI / processor: Request native thermal interrupt handling via _OSC 2016-05-11 11:21:26 +02:00
ioapic.c ACPI: ioapic: Clear on-stack resource before using it 2017-08-30 10:19:29 +02:00
Kconfig Merge branches 'acpica', 'acpi-video' and 'device-properties' 2015-12-04 14:01:17 +01:00
Makefile ACPI: Fix incompatibility with mcount-based function graph tracing 2017-04-08 09:53:31 +02:00
nfit.c acpi, nfit, libnvdimm: fix interleave set cookie calculation (64-bit comparison) 2017-04-21 09:30:05 +02:00
nfit.h acpi, nfit: check for the correct event code in notifications 2016-10-28 03:01:34 -04:00
numa.c acpi, numa: fix pxm to online numa node associations 2018-03-28 18:40:15 +02:00
nvs.c
osl.c ACPI / osi: Fix an issue that acpi_osi=!* cannot disable ACPICA internal strings 2016-06-01 12:15:50 -07:00
pci_irq.c ACPI, PCI, irq: remove redundant check for null string pointer 2018-04-08 11:51:56 +02:00
pci_link.c
pci_root.c PCI: pciehp: Request control of native hotplug only if supported 2018-08-06 16:24:34 +02:00
pci_slot.c
power.c ACPI: power: Skip duplicate power resource references in _PRx 2019-01-16 22:16:12 +01:00
proc.c
processor_core.c
processor_driver.c ACPI/processor: Replace racy task affinity logic 2018-03-24 10:58:40 +01:00
processor_idle.c
processor_pdc.c
processor_perflib.c ACPI: processor_perflib: Do not send _PPC change notification if not ready 2018-05-30 07:48:56 +02:00
processor_thermal.c
processor_throttling.c ACPI/processor: Replace racy task affinity logic 2018-03-24 10:58:40 +01:00
property.c
reboot.c
resource.c PCI: ACPI: IA64: fix IO port generic range check 2016-04-12 09:08:37 -07:00
sbs.c ACPI / SBS: Fix GPE storm on recent MacBookPro's 2019-04-27 09:33:58 +02:00
sbshc.c ACPI: sbshc: remove raw pointer from printk() message 2018-02-16 20:09:47 +01:00
sbshc.h
scan.c ACPI / drivers: replace acpi_probe_lock spinlock with mutex 2016-09-07 08:32:45 +02:00
sleep.c ACPI / PM: save NVS memory for ASUS 1025C laptop 2018-08-22 07:48:37 +02:00
sleep.h
sysfs.c ACPI / sysfs: fix error code in get_status() 2016-09-07 08:32:45 +02:00
tables.c
thermal.c
utils.c
video_detect.c ACPI / video: Add quirk to force acpi-video backlight on Samsung 670Z5E 2018-04-24 09:32:06 +02:00
wakeup.c