Message ID | 20230810090011.104770-1-hdegoede@redhat.com |
---|---|
State | Accepted |
Commit | 56fec0051a69ace182ca3fba47be9c13038b4e3f |
Headers | show |
Series | ACPI: resource: Add IRQ override quirk for PCSpecialist Elimina Pro 16 M | expand |
On Thu, Aug 10, 2023 at 11:00 AM Hans de Goede <hdegoede@redhat.com> wrote: > > The PCSpecialist Elimina Pro 16 M laptop model is a Zen laptop which > needs to use the MADT IRQ settings override and which does not have > an INT_SRC_OVR entry for IRQ 1 in its MADT. > > So this model needs a DMI quirk to enable the MADT IRQ settings override > to fix its keyboard not working. > > Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks") > Link: https://bugzilla.kernel.org/show_bug.cgi?id=217394#c18 > Cc: Mario Limonciello <mario.limonciello@amd.com> > Cc: Linux regressions mailing list <regressions@lists.linux.dev> > Cc: All applicable <stable@vger.kernel.org> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/acpi/resource.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > index 8e32dd5776f5..a4d9f149b48d 100644 > --- a/drivers/acpi/resource.c > +++ b/drivers/acpi/resource.c > @@ -498,6 +498,17 @@ static const struct dmi_system_id maingear_laptop[] = { > { } > }; > > +static const struct dmi_system_id pcspecialist_laptop[] = { > + { > + .ident = "PCSpecialist Elimina Pro 16 M", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "PCSpecialist"), > + DMI_MATCH(DMI_PRODUCT_NAME, "Elimina Pro 16 M"), > + }, > + }, > + { } > +}; > + > static const struct dmi_system_id lg_laptop[] = { > { > .ident = "LG Electronics 17U70P", > @@ -523,6 +534,7 @@ static const struct irq_override_cmp override_table[] = { > { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > { tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > { maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > + { pcspecialist_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > }; > > -- Applied and added to the linux-next branch in linux-pm.git, thanks!
Hi, On 8/10/23 11:00, Hans de Goede wrote: > The PCSpecialist Elimina Pro 16 M laptop model is a Zen laptop which > needs to use the MADT IRQ settings override and which does not have > an INT_SRC_OVR entry for IRQ 1 in its MADT. > > So this model needs a DMI quirk to enable the MADT IRQ settings override > to fix its keyboard not working. > > Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks") > Link: https://bugzilla.kernel.org/show_bug.cgi?id=217394#c18 > Cc: Mario Limonciello <mario.limonciello@amd.com> > Cc: Linux regressions mailing list <regressions@lists.linux.dev> > Cc: All applicable <stable@vger.kernel.org> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> I have received confirmation from the reporter that this bug *avoids* things regressing on the PCSpecialist Elimina Pro 16 M after reverting a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks"). Regards, Hans > --- > drivers/acpi/resource.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > index 8e32dd5776f5..a4d9f149b48d 100644 > --- a/drivers/acpi/resource.c > +++ b/drivers/acpi/resource.c > @@ -498,6 +498,17 @@ static const struct dmi_system_id maingear_laptop[] = { > { } > }; > > +static const struct dmi_system_id pcspecialist_laptop[] = { > + { > + .ident = "PCSpecialist Elimina Pro 16 M", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "PCSpecialist"), > + DMI_MATCH(DMI_PRODUCT_NAME, "Elimina Pro 16 M"), > + }, > + }, > + { } > +}; > + > static const struct dmi_system_id lg_laptop[] = { > { > .ident = "LG Electronics 17U70P", > @@ -523,6 +534,7 @@ static const struct irq_override_cmp override_table[] = { > { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > { tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > { maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > + { pcspecialist_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, > { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, > }; >
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c index 8e32dd5776f5..a4d9f149b48d 100644 --- a/drivers/acpi/resource.c +++ b/drivers/acpi/resource.c @@ -498,6 +498,17 @@ static const struct dmi_system_id maingear_laptop[] = { { } }; +static const struct dmi_system_id pcspecialist_laptop[] = { + { + .ident = "PCSpecialist Elimina Pro 16 M", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "PCSpecialist"), + DMI_MATCH(DMI_PRODUCT_NAME, "Elimina Pro 16 M"), + }, + }, + { } +}; + static const struct dmi_system_id lg_laptop[] = { { .ident = "LG Electronics 17U70P", @@ -523,6 +534,7 @@ static const struct irq_override_cmp override_table[] = { { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, { tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, { maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, + { pcspecialist_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, };
The PCSpecialist Elimina Pro 16 M laptop model is a Zen laptop which needs to use the MADT IRQ settings override and which does not have an INT_SRC_OVR entry for IRQ 1 in its MADT. So this model needs a DMI quirk to enable the MADT IRQ settings override to fix its keyboard not working. Fixes: a9c4a912b7dc ("ACPI: resource: Remove "Zen" specific match and quirks") Link: https://bugzilla.kernel.org/show_bug.cgi?id=217394#c18 Cc: Mario Limonciello <mario.limonciello@amd.com> Cc: Linux regressions mailing list <regressions@lists.linux.dev> Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/acpi/resource.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)