asus-wmi: add display toggle quirk
authorAceLan Kao <acelan.kao@canonical.com>
Wed, 3 Oct 2012 09:26:31 +0000 (11:26 +0200)
committerMatthew Garrett <matthew.garrett@nebula.com>
Sun, 24 Feb 2013 22:49:55 +0000 (14:49 -0800)
commita2a96f0c7221806c8a8072b662e6deaa119833da
treea82f6c25dab4f4b906275e28909ce3d0d939cd20
parent3da4cd2015630f50d8d80c6ff5089d3daa2306c6
asus-wmi: add display toggle quirk

For machines with AMD graphic chips, it will send out WMI event and ACPI
interrupt at the same time while hitting the hotkey. BIOS will notify the
system the next display output mode throught WMI event code, so that
windows' application can show an OSD to tell the user which mode will be
taken effect. User can hit the display toggle key many times within 2
seconds to choose the mode they want. After 2 seconds, WMI dirver should
send a WMIMethod(SDSP) command to tell the BIOS which mode the user chose.
And then BIOS will raise another ACPI interrupt to tell the system to
really switch the display mode.

In Linux desktop, we don't have this kind of OSD to let users to choose
the mode they want, so we don't need to call WMIMethod(SDSP) to have
another ACPI interrupt. To simplify the problem, we just have to ignore
the WMI event, and let the first ACPI interrupt to send out the key event.

For the need, here comes another quirk to add machines with this kind of
behavior. When the WMI driver receives the display toggle WMI event, and
found the machin is in the list, it will do nothing and let ACPI video
driver to report the key event.

Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
drivers/platform/x86/asus-nb-wmi.c
drivers/platform/x86/asus-wmi.c
drivers/platform/x86/asus-wmi.h