Patch "ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530" has been added to the 4.14-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
acpi-bus-parse-tables-as-term_list-for-dell-xps-9570-and-precision-m5530.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
36904703aeeeb6cd31993f1353c8325006229f9aMon Sep 17 00:00:00 2001
From: Kai Heng Feng <[email protected]>
Date: Mon, 5 Feb 2018 13:19:24 +0800
Subject: ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530
From: Kai Heng Feng <[email protected]>
commit 36904703aeeeb6cd31993f1353c8325006229f9a upstream.
The i2c touchpad on Dell XPS 9570 and Precision M5530 doesn't work out of box.
The touchpad relies on its _INI method to update its _HID value from XXXX0000 to SYNA2393.
Also, the _STA relies on value of I2CN to report correct status.
Set acpi_gbl_parse_table_as_term_list so the value of I2CN can be correctly set up, and _INI can get run. The ACPI table in this machine is designed to get parsed this way.
Also, change the quirk table to a more generic name.
--- drivers/acpi/bus.c | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-)
drivers/acpi/bus.c +31 -7
@@ -66,10 +66,37 @@ static int set_copy_dsdt(const struct dmreturn 0 ; }#endif +static int set_gbl_term_list (const struct dmi_system_id *id) +{ + acpi_gbl_parse_table_as_term_list =1 ; +return 0 ; +} -static const struct dmi_system_id dsdt_dmi_table[]__initconst = { +static const struct dmi_system_id acpi_quirks_dmi_table[]__initconst = { +/* +* Touchpad on Dell XPS 9570/Precision M5530 doesn't work under I2C +* mode. +* https://bugzilla.kernel.org/show_bug.cgi?id=198515 +*/ + { + .callback = set_gbl_term_list, + .ident ="Dell Precision M5530" , + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"Dell Inc." ), +DMI_MATCH (DMI_PRODUCT_NAME ,"Precision M5530" ), + }, + }, + { + .callback = set_gbl_term_list, + .ident ="Dell XPS 15 9570" , + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"Dell Inc." ), +DMI_MATCH (DMI_PRODUCT_NAME ,"XPS 15 9570" ), + }, + },/* * Invoke DSDT corruption work-around on all Toshiba Satellite. +* DSDT will be copied to memory. * https://bugzilla.kernel.org/show_bug.cgi?id=14679 */ {
@@ -83,7 +110,7 @@ static const struct dmi_system_id dsdt_d {} };#else -static const struct dmi_system_id dsdt_dmi_table[]__initconst = { +static const struct dmi_system_id acpi_quirks_dmi_table[]__initconst = { {} };#endif
@@ -1001,11 +1028,8 @@ void __init acpi_early_init(void) acpi_permanent_mmap = true; -/* -* If the machine falls into the DMI check table, -* DSDT will be copied to memory -*/ -dmi_check_system (dsdt_dmi_table); +/* Check machine-specific quirks */ +dmi_check_system (acpi_quirks_dmi_table); status =acpi_reallocate_root_table ();if (ACPI_FAILURE (status)) {
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/bluetooth-btusb-use-dmi-matching-for-qca-reset_resume-quirking.patch queue-4.14/acpi-bus-parse-tables-as-term_list-for-dell-xps-9570-and-precision-m5530.patch