android_kernel_xiaomi_sm8350/drivers/acpi
Lan Tianyu 0ab5bb6493 ACPI / AC: Add sleep quirk for Thinkpad e530
The Thinkpad e530's BIOS notifies the AC device first and then
sleeps for certain amount of time before doing real work in the
EC event handler (_Qxx):

 Method (_Q27, 0, NotSerialized)
 {
       Notify (AC, 0x80)
       Sleep (0x03E8)
       Store (Zero, PWRS)
       PNOT ()
 }

This causes the AC driver to report an outdated AC state to user
space, because it reads the state information from the device while
the EC handler is sleeping.

Introduce a quirk to cause the AC driver to wait in acpi_ac_notify()
before calling acpi_ac_get_state() on systems known to have this
problem and add Thinkpad e530 to the list of quirky machines (with
a 1s delay which has been verified to be sufficient for that
machine).

[rjw: Changelog]
References: https://bugzilla.kernel.org/show_bug.cgi?id=45221
Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-05-12 14:03:15 +02:00
..
acpica ACPICA: ACPICA: Fix for _INI regression 2013-05-08 15:31:53 +02:00
apei
ac.c ACPI / AC: Add sleep quirk for Thinkpad e530 2013-05-12 14:03:15 +02:00
acpi_i2c.c
acpi_ipmi.c
acpi_lpss.c
acpi_memhotplug.c
acpi_pad.c
acpi_platform.c
battery.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-05-01 17:51:54 -07:00
bgrt.c
blacklist.c
bus.c
button.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-05-01 17:51:54 -07:00
cm_sbs.c
container.c Merge branch 'acpi-assorted' 2013-04-28 01:54:08 +02:00
csrt.c
custom_method.c
debugfs.c
device_pm.c
dock.c
ec_sys.c
ec.c ACPI / EC: Restart transaction even when the IBF flag set 2013-05-12 14:03:15 +02:00
event.c
fan.c
glue.c
hed.c
internal.h Merge branch 'acpi-lpss' 2013-04-28 01:53:41 +02:00
Kconfig Merge branch 'acpi-assorted' 2013-04-28 01:54:08 +02:00
Makefile
numa.c
nvs.c
osl.c ACPI: Fix wrong parameter passed to memblock_reserve 2013-04-24 13:50:17 +02:00
pci_irq.c
pci_link.c
pci_root.c Power management and ACPI updates for 3.10-rc1 2013-04-30 15:21:02 -07:00
pci_slot.c PCI/ACPI: Handle PCI slot devices when creating/destroying PCI buses 2013-04-12 15:38:25 -06:00
power.c Merge branch 'acpi-pm' 2013-04-28 01:54:00 +02:00
proc.c
processor_core.c
processor_driver.c ACPI / PM: Move processor suspend/resume to syscore_ops 2013-05-12 14:03:14 +02:00
processor_idle.c ACPI / PM: Move processor suspend/resume to syscore_ops 2013-05-12 14:03:14 +02:00
processor_perflib.c
processor_thermal.c
processor_throttling.c
reboot.c
resource.c
sbs.c proc: Supply a function to remove a proc entry by PDE 2013-05-01 17:29:46 -04:00
sbshc.c
sbshc.h
scan.c Power management and ACPI updates for 3.10-rc1 2013-04-30 15:21:02 -07:00
sleep.c
sleep.h
sysfs.c
tables.c
thermal.c ACPI / thermal: do not always return THERMAL_TREND_RAISING for active trip points 2013-04-26 13:34:40 +02:00
utils.c
video_detect.c
video.c ACPI video: ignore BIOS initial backlight value for HP 1000 2013-05-12 14:03:14 +02:00
wakeup.c