2018-01-30 06:08:35

by Kai-Heng Feng

[permalink] [raw]
Subject: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530

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.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=198515
Cc: Mario Limonciello <[email protected]>
Signed-off-by: Kai-Heng Feng <[email protected]>
---
v2: Andy's suggestion, merge to a single quirk table.

drivers/acpi/bus.c | 35 ++++++++++++++++++++++++++++++++---
1 file changed, 32 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 4d0979e02a28..3999e175b6f4 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -65,9 +65,38 @@ static int set_copy_dsdt(const struct dmi_system_id *id)
acpi_gbl_copy_dsdt_locally = 1;
return 0;
}
+
+static int set_gbl_term_list(const struct dmi_system_id *id)
+{
+ pr_notice("%s detected - parse the entire table as a term_list\n",
+ id->ident);
+ acpi_gbl_parse_table_as_term_list = 1;
+ return 0;
+}
#endif

-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.
* https://bugzilla.kernel.org/show_bug.cgi?id=14679
@@ -83,7 +112,7 @@ static const struct dmi_system_id dsdt_dmi_table[] __initconst = {
{}
};
#else
-static const struct dmi_system_id dsdt_dmi_table[] __initconst = {
+static const struct dmi_system_id acpi_quirks_dmi_table[] __initconst = {
{}
};
#endif
@@ -1005,7 +1034,7 @@ void __init acpi_early_init(void)
* If the machine falls into the DMI check table,
* DSDT will be copied to memory
*/
- dmi_check_system(dsdt_dmi_table);
+ dmi_check_system(acpi_quirks_dmi_table);

status = acpi_reallocate_root_table();
if (ACPI_FAILURE(status)) {
--
2.15.1



2018-01-30 18:44:25

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530

On Tue, Jan 30, 2018 at 8:07 AM, Kai-Heng Feng
<[email protected]> wrote:
> 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.

> +static int set_gbl_term_list(const struct dmi_system_id *id)
> +{
> + pr_notice("%s detected - parse the entire table as a term_list\n",
> + id->ident);
> + acpi_gbl_parse_table_as_term_list = 1;
> + return 0;
> +}
> #endif

The above should be outside of another #ifdef. Basically after the above #endif.

> #else

> #endif

> @@ -1005,7 +1034,7 @@ void __init acpi_early_init(void)

> * If the machine falls into the DMI check table,
> * DSDT will be copied to memory
> */

It might make sense to adjust comment above that it's about quirks in
general. And, if needed, move current content to actual DMI group of
records.

> - dmi_check_system(dsdt_dmi_table);
> + dmi_check_system(acpi_quirks_dmi_table);

--
With Best Regards,
Andy Shevchenko

2018-01-30 19:09:12

by Schmauss, Erik

[permalink] [raw]
Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530

Hi,
> -----Original Message-----
> From: [email protected] [mailto:linux-acpi-
> [email protected]] On Behalf Of Andy Shevchenko
> Sent: Tuesday, January 30, 2018 10:18 AM
> To: Kai-Heng Feng <[email protected]>
> Cc: Rafael J. Wysocki <[email protected]>; Len Brown <[email protected]>; ACPI
> Devel Maling List <[email protected]>; Linux Kernel Mailing List <linux-
> [email protected]>; Mario Limonciello <[email protected]>
> Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and
> Precision M5530
>
> On Tue, Jan 30, 2018 at 8:07 AM, Kai-Heng Feng
> <[email protected]> wrote:
> > 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.

I thought I would give everyone an update: we are getting close to finishing patches to enable this term list parsing by default as well as a few other fixes with forward referencing of package elements. Once we have established that these patches are stable, we will get rid of acpi_gbl_parse_table_as_term_list. So this quirk may not be needed in the near future...

Erik
> >
> > Also, change the quirk table to a more generic name.
>
> > +static int set_gbl_term_list(const struct dmi_system_id *id) {
> > + pr_notice("%s detected - parse the entire table as a term_list\n",
> > + id->ident);
> > + acpi_gbl_parse_table_as_term_list = 1;
> > + return 0;
> > +}
> > #endif
>
> The above should be outside of another #ifdef. Basically after the above #endif.
>
> > #else
>
> > #endif
>
> > @@ -1005,7 +1034,7 @@ void __init acpi_early_init(void)
>
> > * If the machine falls into the DMI check table,
> > * DSDT will be copied to memory
> > */
>
> It might make sense to adjust comment above that it's about quirks in general.
> And, if needed, move current content to actual DMI group of records.
>
> > - dmi_check_system(dsdt_dmi_table);
> > + dmi_check_system(acpi_quirks_dmi_table);
>
> --
> With Best Regards,
> Andy Shevchenko
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of
> a message to [email protected] More majordomo info at
> http://vger.kernel.org/majordomo-info.html

2018-01-30 19:13:25

by Mario Limonciello

[permalink] [raw]
Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530



> -----Original Message-----
> From: Schmauss, Erik [mailto:[email protected]]
> Sent: Tuesday, January 30, 2018 12:38 PM
> To: Andy Shevchenko <[email protected]>; Kai-Heng Feng
> <[email protected]>
> Cc: Rafael J. Wysocki <[email protected]>; Len Brown <[email protected]>; ACPI
> Devel Maling List <[email protected]>; Linux Kernel Mailing List <linux-
> [email protected]>; Limonciello, Mario <[email protected]>;
> Moore, Robert <[email protected]>
> Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and
> Precision M5530
>
> Hi,
> > -----Original Message-----
> > From: [email protected] [mailto:linux-acpi-
> > [email protected]] On Behalf Of Andy Shevchenko
> > Sent: Tuesday, January 30, 2018 10:18 AM
> > To: Kai-Heng Feng <[email protected]>
> > Cc: Rafael J. Wysocki <[email protected]>; Len Brown <[email protected]>; ACPI
> > Devel Maling List <[email protected]>; Linux Kernel Mailing List <linux-
> > [email protected]>; Mario Limonciello <[email protected]>
> > Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and
> > Precision M5530
> >
> > On Tue, Jan 30, 2018 at 8:07 AM, Kai-Heng Feng
> > <[email protected]> wrote:
> > > 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.
>
> I thought I would give everyone an update: we are getting close to finishing patches
> to enable this term list parsing by default as well as a few other fixes with forward
> referencing of package elements. Once we have established that these patches are
> stable, we will get rid of acpi_gbl_parse_table_as_term_list. So this quirk may not
> be needed in the near future...

Rafael,

Would you be opposed to carrying a patch similar to this (proposed) quirk patch in
kernel and reverting when Erik submits patches that get rid of
acpi_gbl_parse_table_as_term_list?

The reason being, I think this could also be a candidate to bring back to @stable
and fix this problem on earlier kernels too.

I don’t believe the patches that get rid of acpi_gbl_parse_table_as_term_list likely
will be good candidates for @stable.


>
> Erik
> > >
> > > Also, change the quirk table to a more generic name.
> >
> > > +static int set_gbl_term_list(const struct dmi_system_id *id) {
> > > + pr_notice("%s detected - parse the entire table as a term_list\n",
> > > + id->ident);
> > > + acpi_gbl_parse_table_as_term_list = 1;
> > > + return 0;
> > > +}
> > > #endif
> >
> > The above should be outside of another #ifdef. Basically after the above #endif.
> >
> > > #else
> >
> > > #endif
> >
> > > @@ -1005,7 +1034,7 @@ void __init acpi_early_init(void)
> >
> > > * If the machine falls into the DMI check table,
> > > * DSDT will be copied to memory
> > > */
> >
> > It might make sense to adjust comment above that it's about quirks in general.
> > And, if needed, move current content to actual DMI group of records.
> >
> > > - dmi_check_system(dsdt_dmi_table);
> > > + dmi_check_system(acpi_quirks_dmi_table);
> >
> > --
> > With Best Regards,
> > Andy Shevchenko
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of
> > a message to [email protected] More majordomo info at
> > http://vger.kernel.org/majordomo-info.html

2018-01-30 20:24:19

by Moore, Robert

[permalink] [raw]
Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530



> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Tuesday, January 30, 2018 11:03 AM
> To: Schmauss, Erik <[email protected]>; [email protected];
> [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; Moore, Robert <[email protected]>
> Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell
> XPS 9570 and Precision M5530
>
>
>
> > -----Original Message-----
> > From: Schmauss, Erik [mailto:[email protected]]
> > Sent: Tuesday, January 30, 2018 12:38 PM
> > To: Andy Shevchenko <[email protected]>; Kai-Heng Feng
> > <[email protected]>
> > Cc: Rafael J. Wysocki <[email protected]>; Len Brown
> > <[email protected]>; ACPI Devel Maling List
> > <[email protected]>; Linux Kernel Mailing List <linux-
> > [email protected]>; Limonciello, Mario
> > <[email protected]>; Moore, Robert <[email protected]>
> > Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell
> > XPS 9570 and Precision M5530
> >
> > Hi,
> > > -----Original Message-----
> > > From: [email protected] [mailto:linux-acpi-
> > > [email protected]] On Behalf Of Andy Shevchenko
> > > Sent: Tuesday, January 30, 2018 10:18 AM
> > > To: Kai-Heng Feng <[email protected]>
> > > Cc: Rafael J. Wysocki <[email protected]>; Len Brown
> > > <[email protected]>; ACPI Devel Maling List
> > > <[email protected]>; Linux Kernel Mailing List <linux-
> > > [email protected]>; Mario Limonciello
> > > <[email protected]>
> > > Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for
> > > Dell XPS 9570 and Precision M5530
> > >
> > > On Tue, Jan 30, 2018 at 8:07 AM, Kai-Heng Feng
> > > <[email protected]> wrote:
> > > > 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.
> >
> > I thought I would give everyone an update: we are getting close to
> > finishing patches to enable this term list parsing by default as well
> > as a few other fixes with forward referencing of package elements.
> > Once we have established that these patches are stable, we will get
> > rid of acpi_gbl_parse_table_as_term_list. So this quirk may not be
> needed in the near future...
>
> Rafael,
>
> Would you be opposed to carrying a patch similar to this (proposed)
> quirk patch in kernel and reverting when Erik submits patches that get
> rid of acpi_gbl_parse_table_as_term_list?
>
> The reason being, I think this could also be a candidate to bring back
> to @stable and fix this problem on earlier kernels too.
>
> I don’t believe the patches that get rid of
> acpi_gbl_parse_table_as_term_list likely will be good candidates for
> @stable.
>


Does anyone remember what was the exact problem that forced the creation of parse_table_as_term_list in the first place?

Bob


>
> >
> > Erik
> > > >
> > > > Also, change the quirk table to a more generic name.
> > >
> > > > +static int set_gbl_term_list(const struct dmi_system_id *id) {
> > > > + pr_notice("%s detected - parse the entire table as a
> term_list\n",
> > > > + id->ident);
> > > > + acpi_gbl_parse_table_as_term_list = 1;
> > > > + return 0;
> > > > +}
> > > > #endif
> > >
> > > The above should be outside of another #ifdef. Basically after the
> above #endif.
> > >
> > > > #else
> > >
> > > > #endif
> > >
> > > > @@ -1005,7 +1034,7 @@ void __init acpi_early_init(void)
> > >
> > > > * If the machine falls into the DMI check table,
> > > > * DSDT will be copied to memory
> > > > */
> > >
> > > It might make sense to adjust comment above that it's about quirks
> in general.
> > > And, if needed, move current content to actual DMI group of records.
> > >
> > > > - dmi_check_system(dsdt_dmi_table);
> > > > + dmi_check_system(acpi_quirks_dmi_table);
> > >
> > > --
> > > With Best Regards,
> > > Andy Shevchenko
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > > linux-acpi" in the body of a message to [email protected]
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html

2018-01-31 04:28:21

by Kai-Heng Feng

[permalink] [raw]
Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530



> On 31 Jan 2018, at 2:17 AM, Andy Shevchenko <[email protected]> wrote:
>
> On Tue, Jan 30, 2018 at 8:07 AM, Kai-Heng Feng
> <[email protected]> wrote:
>> 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.
>
>> +static int set_gbl_term_list(const struct dmi_system_id *id)
>> +{
>> + pr_notice("%s detected - parse the entire table as a term_list\n",
>> + id->ident);
>> + acpi_gbl_parse_table_as_term_list = 1;
>> + return 0;
>> +}
>> #endif
>
> The above should be outside of another #ifdef. Basically after the above #endif.

Right, I overlooked that. Thanks.

>
>> #else
>
>> #endif
>
>> @@ -1005,7 +1034,7 @@ void __init acpi_early_init(void)
>
>> * If the machine falls into the DMI check table,
>> * DSDT will be copied to memory
>> */
>
> It might make sense to adjust comment above that it's about quirks in
> general. And, if needed, move current content to actual DMI group of
> records.

Thanks for the suggestions.

I’ll address them in patch v3.

Kai-Heng

>
>> - dmi_check_system(dsdt_dmi_table);
>> + dmi_check_system(acpi_quirks_dmi_table);
>
> --
> With Best Regards,
> Andy Shevchenko


2018-01-31 04:30:36

by Kai-Heng Feng

[permalink] [raw]
Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530



> On 31 Jan 2018, at 2:37 AM, Schmauss, Erik <[email protected]> wrote:
>
> Hi,
>> -----Original Message-----
>> From: [email protected] [mailto:linux-acpi-
>> [email protected]] On Behalf Of Andy Shevchenko
>> Sent: Tuesday, January 30, 2018 10:18 AM
>> To: Kai-Heng Feng <[email protected]>
>> Cc: Rafael J. Wysocki <[email protected]>; Len Brown <[email protected]>; ACPI
>> Devel Maling List <[email protected]>; Linux Kernel Mailing List <linux-
>> [email protected]>; Mario Limonciello <[email protected]>
>> Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and
>> Precision M5530
>>
>> On Tue, Jan 30, 2018 at 8:07 AM, Kai-Heng Feng
>> <[email protected]> wrote:
>>> 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.
>
> I thought I would give everyone an update: we are getting close to finishing patches to enable this term list parsing by default as well as a few other fixes with forward referencing of package elements. Once we have established that these patches are stable, we will get rid of acpi_gbl_parse_table_as_term_list. So this quirk may not be needed in the near future…

I am aware it will land into mainline soon, the target version is v4.17 IIRC.
Since the laptops in question are going to hit the market soon,
we want to support it sooner rather then later.

Also, as Mario pointed out, backport is a big factor here.
v4.14 is the current LTS kernel, v4.15 will be used in Ubuntu 18.04,
both of them will have lots of users.
So being able to backport to v4.14 and v4.15 is quite important.

Kai-Heng

>
> Erik
>>>
>>> Also, change the quirk table to a more generic name.
>>
>>> +static int set_gbl_term_list(const struct dmi_system_id *id) {
>>> + pr_notice("%s detected - parse the entire table as a term_list\n",
>>> + id->ident);
>>> + acpi_gbl_parse_table_as_term_list = 1;
>>> + return 0;
>>> +}
>>> #endif
>>
>> The above should be outside of another #ifdef. Basically after the above #endif.
>>
>>> #else
>>
>>> #endif
>>
>>> @@ -1005,7 +1034,7 @@ void __init acpi_early_init(void)
>>
>>> * If the machine falls into the DMI check table,
>>> * DSDT will be copied to memory
>>> */
>>
>> It might make sense to adjust comment above that it's about quirks in general.
>> And, if needed, move current content to actual DMI group of records.
>>
>>> - dmi_check_system(dsdt_dmi_table);
>>> + dmi_check_system(acpi_quirks_dmi_table);
>>
>> --
>> With Best Regards,
>> Andy Shevchenko
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of
>> a message to [email protected] More majordomo info at
>> http://vger.kernel.org/majordomo-info.html


2018-02-08 09:51:29

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for Dell XPS 9570 and Precision M5530

On Tuesday, January 30, 2018 9:09:04 PM CET Moore, Robert wrote:
>
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]]
> > Sent: Tuesday, January 30, 2018 11:03 AM
> > To: Schmauss, Erik <[email protected]>; [email protected];
> > [email protected]
> > Cc: [email protected]; [email protected]; [email protected];
> > [email protected]; Moore, Robert <[email protected]>
> > Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell
> > XPS 9570 and Precision M5530
> >
> >
> >
> > > -----Original Message-----
> > > From: Schmauss, Erik [mailto:[email protected]]
> > > Sent: Tuesday, January 30, 2018 12:38 PM
> > > To: Andy Shevchenko <[email protected]>; Kai-Heng Feng
> > > <[email protected]>
> > > Cc: Rafael J. Wysocki <[email protected]>; Len Brown
> > > <[email protected]>; ACPI Devel Maling List
> > > <[email protected]>; Linux Kernel Mailing List <linux-
> > > [email protected]>; Limonciello, Mario
> > > <[email protected]>; Moore, Robert <[email protected]>
> > > Subject: RE: [PATCH] ACPI: Parse entire table as a term_list for Dell
> > > XPS 9570 and Precision M5530
> > >
> > > Hi,
> > > > -----Original Message-----
> > > > From: [email protected] [mailto:linux-acpi-
> > > > [email protected]] On Behalf Of Andy Shevchenko
> > > > Sent: Tuesday, January 30, 2018 10:18 AM
> > > > To: Kai-Heng Feng <[email protected]>
> > > > Cc: Rafael J. Wysocki <[email protected]>; Len Brown
> > > > <[email protected]>; ACPI Devel Maling List
> > > > <[email protected]>; Linux Kernel Mailing List <linux-
> > > > [email protected]>; Mario Limonciello
> > > > <[email protected]>
> > > > Subject: Re: [PATCH] ACPI: Parse entire table as a term_list for
> > > > Dell XPS 9570 and Precision M5530
> > > >
> > > > On Tue, Jan 30, 2018 at 8:07 AM, Kai-Heng Feng
> > > > <[email protected]> wrote:
> > > > > 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.
> > >
> > > I thought I would give everyone an update: we are getting close to
> > > finishing patches to enable this term list parsing by default as well
> > > as a few other fixes with forward referencing of package elements.
> > > Once we have established that these patches are stable, we will get
> > > rid of acpi_gbl_parse_table_as_term_list. So this quirk may not be
> > needed in the near future...
> >
> > Rafael,
> >
> > Would you be opposed to carrying a patch similar to this (proposed)
> > quirk patch in kernel and reverting when Erik submits patches that get
> > rid of acpi_gbl_parse_table_as_term_list?
> >
> > The reason being, I think this could also be a candidate to bring back
> > to @stable and fix this problem on earlier kernels too.
> >
> > I don’t believe the patches that get rid of
> > acpi_gbl_parse_table_as_term_list likely will be good candidates for
> > @stable.
> >
>
>
> Does anyone remember what was the exact problem that forced the creation of
> parse_table_as_term_list in the first place?

I don't remember exactly, but it was related to the MLC code.

That was introduced by this kernel commit:

commit de56ba95e8d6d760910711744a548b50b3a4262d
Author: Lv Zheng <[email protected]>
Date: Wed Sep 7 14:06:54 2016 +0800

ACPICA: Interpreter: Fix MLC issues by switching to new term_list grammar for table loading

ACPICA commit 0e24fb67cde08d7df7671d7d7b183490dc79707e

which has a very detailed changelog including links to several bug entries.

Thanks,
Rafael