linux-xiaomi-chiron/include/linux/platform_data/x86
Yurii Pavlovskyi e0668f2888 platform/x86: asus-wmi: Improve DSTS WMI method ID detection
The DSTS method detection mistakenly selects DCTS instead of DSTS if
nothing is returned when the method ID is not defined in WMNB. As a result,
the control of keyboard backlight is not functional for TUF Gaming series
laptops. Implement detection based on _UID of the WMI device instead.

There is evidence that DCTS is handled by ACPI WMI devices that have _UID
ASUSWMI, whereas none of the devices without ASUSWMI respond to DCTS and
DSTS is used instead [1].

DSDT examples:

FX505GM (_UID ATK):
Method (WMNB, 3, Serialized)
{ ...
    If ((Local0 == 0x53545344))
    {
        ...
        Return (Zero)
    }
    ...
    // No return
}

K54C (_UID ATK):
Method (WMNB, 3, Serialized)
{ ...
    If ((Local0 == 0x53545344))
    {
        ...
        Return (0x02)
    }
    ...
    Return (0xFFFFFFFE)
}

[1] Link: https://lkml.org/lkml/2019/4/11/322

Signed-off-by: Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com>
Suggested-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2019-06-17 15:22:47 +03:00
..
apple.h treewide: Consolidate Apple DMI checks 2017-08-03 23:26:22 +02:00
asus-wmi.h platform/x86: asus-wmi: Improve DSTS WMI method ID detection 2019-06-17 15:22:47 +03:00
clk-lpss.h clk: x86: Move clk-lpss.h to platform_data/x86 2019-02-22 00:14:31 -08:00
clk-pmc-atom.h clk: x86: Add system specific quirk to mark clocks as critical 2019-04-10 15:54:12 -07:00
mlxcpld.h i2c: mux: mlxcpld: move header file out of I2C realm 2017-08-14 11:54:10 +02:00
pmc_atom.h platform/x86: fix typo in comment 2017-01-26 16:22:11 -08:00