Message ID | 20230728183921.17230-1-mario.limonciello@amd.com |
---|---|
State | Superseded |
Headers | show |
Series | ACPI: resource: Add a quirk for Lenovo Yoga 7 14ARB7 | expand |
On 2023-07-28 20:39, Mario Limonciello wrote: > Lenovo Yoga 7 needs to have keyboard interrupt signaling polarity > is incorrect in the MADT and the value from the DSDT should be used. > > Reported-by: August Wikerfors <git@augustwikerfors.se> > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217718 > Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks") > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > --- > drivers/acpi/resource.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > index 1dd8d5aebf678..1a826419d5837 100644 > --- a/drivers/acpi/resource.c > +++ b/drivers/acpi/resource.c > @@ -481,6 +481,17 @@ static const struct dmi_system_id lg_laptop[] = { > { } > }; > > +static const struct dmi_system_id lenovo_laptop[] = { > + { > + .ident = "Lenovo Yoga 7 14ARB7", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > + DMI_MATCH(DMI_PRODUCT_NAME, "82QF"), > + }, > + }, > + { } > +}; > + > struct irq_override_cmp { > const struct dmi_system_id *system; > unsigned char irq; > @@ -494,6 +505,7 @@ static const struct irq_override_cmp override_table[] = { > { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > + { lenovo_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 1, false} This should have ACPI_EDGE_SENSITIVE, not ACPI_LEVEL_SENSITIVE, see https://bugzilla.kernel.org/show_bug.cgi?id=217718#c11
On 7/28/2023 2:25 PM, August Wikerfors wrote: > On 2023-07-28 20:39, Mario Limonciello wrote: >> Lenovo Yoga 7 needs to have keyboard interrupt signaling polarity >> is incorrect in the MADT and the value from the DSDT should be used. >> >> Reported-by: August Wikerfors <git@augustwikerfors.se> >> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217718 >> Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and >> quirks") >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> >> --- >> drivers/acpi/resource.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c >> index 1dd8d5aebf678..1a826419d5837 100644 >> --- a/drivers/acpi/resource.c >> +++ b/drivers/acpi/resource.c >> @@ -481,6 +481,17 @@ static const struct dmi_system_id lg_laptop[] = { >> { } >> }; >> +static const struct dmi_system_id lenovo_laptop[] = { >> + { >> + .ident = "Lenovo Yoga 7 14ARB7", >> + .matches = { >> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), >> + DMI_MATCH(DMI_PRODUCT_NAME, "82QF"), >> + }, >> + }, >> + { } >> +}; >> + >> struct irq_override_cmp { >> const struct dmi_system_id *system; >> unsigned char irq; >> @@ -494,6 +505,7 @@ static const struct irq_override_cmp >> override_table[] = { >> { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, >> false }, >> { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, >> false }, >> { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, >> + { lenovo_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 1, false} > This should have ACPI_EDGE_SENSITIVE, not ACPI_LEVEL_SENSITIVE, see > https://bugzilla.kernel.org/show_bug.cgi?id=217718#c11 Thanks, sorry about that mistake. I'll resend it.
On Fri, Jul 28, 2023 at 8:58 PM Mario Limonciello <mario.limonciello@amd.com> wrote: > > Lenovo Yoga 7 needs to have keyboard interrupt signaling polarity > is incorrect in the MADT and the value from the DSDT should be used. > > Reported-by: August Wikerfors <git@augustwikerfors.se> > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217718 > Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks") > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Is this still needed after the recent changes from Hans? > --- > drivers/acpi/resource.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > index 1dd8d5aebf678..1a826419d5837 100644 > --- a/drivers/acpi/resource.c > +++ b/drivers/acpi/resource.c > @@ -481,6 +481,17 @@ static const struct dmi_system_id lg_laptop[] = { > { } > }; > > +static const struct dmi_system_id lenovo_laptop[] = { > + { > + .ident = "Lenovo Yoga 7 14ARB7", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > + DMI_MATCH(DMI_PRODUCT_NAME, "82QF"), > + }, > + }, > + { } > +}; > + > struct irq_override_cmp { > const struct dmi_system_id *system; > unsigned char irq; > @@ -494,6 +505,7 @@ static const struct irq_override_cmp override_table[] = { > { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > + { lenovo_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 1, false} > }; > > static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, > -- > 2.34.1 >
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c index 1dd8d5aebf678..1a826419d5837 100644 --- a/drivers/acpi/resource.c +++ b/drivers/acpi/resource.c @@ -481,6 +481,17 @@ static const struct dmi_system_id lg_laptop[] = { { } }; +static const struct dmi_system_id lenovo_laptop[] = { + { + .ident = "Lenovo Yoga 7 14ARB7", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "82QF"), + }, + }, + { } +}; + struct irq_override_cmp { const struct dmi_system_id *system; unsigned char irq; @@ -494,6 +505,7 @@ static const struct irq_override_cmp override_table[] = { { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, + { lenovo_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 1, false} }; static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
Lenovo Yoga 7 needs to have keyboard interrupt signaling polarity is incorrect in the MADT and the value from the DSDT should be used. Reported-by: August Wikerfors <git@augustwikerfors.se> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217718 Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks") Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> --- drivers/acpi/resource.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)