android_kernel_xiaomi_sm8350/drivers/acpi
Zhang Rui a21101c46c ACPI: video: _DOS=0 by default to prevent hotkey hang
In the past, the Linux/ACPI video driver invoked _DOS
(Display Output Switch) with the parameter 1
to tell the BIOS to switch the video output display for us.

But this conflicts with Linux native graphics drivers,
and can cause all sorts of issues, including hanging the system.

http://bugzilla.kernel.org/show_bug.cgi?id=6001

Here we change the Linux default to evaluate _DOS=0,
which tells the BIOS to simply send us a hotkey event
and not touch the graphics hardware.

The acpi video driver sends the display switch hotkey
event up through the intput layer, and X can interpret
that and use its native graphics driver to switch the display.

For the case where Linux has no native graphics driver running,
or the graphics driver doesn't know how to switch video and
the BIOS (safely) does, the previous behaviour can be restored with:

# echo 1 > /proc/acpi/video/*/DOS

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2007-09-18 13:37:49 -04:00
..
dispatcher
events ACPI: autoload modules - ACPICA modifications 2007-07-23 13:56:00 -04:00
executer
hardware ACPI: enable GPEs before calling _WAK on resume 2007-08-24 01:24:47 -04:00
namespace ACPI: Fix a warning of discarding qualifiers from pointer target type 2007-08-25 01:38:40 -04:00
parser
resources fix compilation with gcc 4.2 2007-08-11 15:47:42 -07:00
sleep ACPI: (more) delete CONFIG_ACPI_PROCFS_SLEEP (again) 2007-08-28 17:12:56 -04:00
tables ACPI: Validate XSDT, use RSDT if XSDT fails 2007-08-24 18:46:25 -04:00
utilities ACPI: add dump_stack() to trace acpi_format_exception programming errors 2007-08-25 01:39:02 -04:00
ac.c ACPI: Schedule /proc/acpi/event for removal 2007-08-23 15:20:26 -04:00
acpi_memhotplug.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
asus_acpi.c ACPI: Schedule /proc/acpi/event for removal 2007-08-23 15:20:26 -04:00
battery.c Pull events into release branch 2007-08-25 01:44:01 -04:00
bay.c ACPI: bay: send envp with uevent - fix 2007-08-11 22:10:04 -04:00
blacklist.c
bus.c ACPI: Schedule /proc/acpi/event for removal 2007-08-23 15:20:26 -04:00
button.c ACPI: Schedule /proc/acpi/event for removal 2007-08-23 15:20:26 -04:00
cm_sbs.c
container.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
debug.c
dock.c ACPI: dock: Send key=value pair instead of plain value 2007-08-11 22:12:10 -04:00
ec.c ACPI: EC: Check if boot_ec was really found in DSDT 2007-08-30 22:20:13 -07:00
event.c ACPI: fix CONFIG_NET=n acpi_bus_generate_netlink_event build failure 2007-09-03 11:15:11 -04:00
fan.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
glue.c ACPI: fix empty macros found by -Wextra 2007-07-22 00:54:24 -04:00
Kconfig reverse CONFIG_ACPI_PROC_EVENT default 2007-08-27 10:27:48 -07:00
Makefile
numa.c x86_64: fake pxm-to-node mapping for fake numa 2007-07-21 18:37:10 -07:00
osl.c Pull osi into release branch 2007-07-22 02:29:41 -04:00
pci_bind.c
pci_irq.c
pci_link.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
pci_root.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
power.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
processor_core.c ACPI: Reevaluate C/P/T states when a cpu becomes online 2007-09-16 15:36:43 +02:00
processor_idle.c sched: sched_clock_idle_[sleep|wakeup]_event() 2007-08-23 15:18:02 +02:00
processor_perflib.c acpi-cpufreq: Fix some x86/x86-64 acpi-cpufreq driver issues 2007-08-07 18:40:30 -04:00
processor_thermal.c
processor_throttling.c ACPI: quiet ACPI Exceptions due to no _PTC or _TSS 2007-07-25 00:57:46 -04:00
sbs.c ACPI: Schedule /proc/acpi/event for removal 2007-08-23 15:20:26 -04:00
scan.c make drivers/acpi/scan.c:create_modalias() static 2007-08-25 01:38:51 -04:00
system.c ACPI: Populate /sys/firmware/acpi/tables/ 2007-07-22 02:42:45 -04:00
tables.c
thermal.c Pull events into release branch 2007-08-25 01:44:01 -04:00
toshiba_acpi.c toshiba_acpi: fix section mismatch in allyesconfig 2007-06-16 13:16:15 -07:00
utils.c
video.c ACPI: video: _DOS=0 by default to prevent hotkey hang 2007-09-18 13:37:49 -04:00