2022-12-13 20:26:28

by Adrian Freund

[permalink] [raw]
Subject: [PATCH] ACPI: resource: do IRQ override on Lenovo 14ALC7

Commit bfcdf58380b1 ("ACPI: resource: do IRQ override on LENOVO IdeaPad")
added an override for Lenovo IdeaPad 5 16ALC7. The 14ALC7 variant also
suffers from a broken touchscreen and trackpad.

Fixes: 9946e39fe8d0 ("ACPI: resource: skip IRQ override on AMD Zen platforms")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216804
Signed-off-by: Adrian Freund <[email protected]>
---
drivers/acpi/resource.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index f27914aedbd5..819390665da1 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -435,7 +435,14 @@ static const struct dmi_system_id asus_laptop[] = {
{ }
};

-static const struct dmi_system_id lenovo_82ra[] = {
+static const struct dmi_system_id lenovo_laptop[] = {
+ {
+ .ident = "LENOVO IdeaPad Flex 5 14ALC7",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "82R9"),
+ },
+ },
{
.ident = "LENOVO IdeaPad Flex 5 16ALC7",
.matches = {
@@ -458,8 +465,8 @@ struct irq_override_cmp {
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 },
- { lenovo_82ra, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
- { lenovo_82ra, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
+ { lenovo_laptop, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
+ { lenovo_laptop, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
};

static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
--
2.38.1


2022-12-22 16:47:31

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] ACPI: resource: do IRQ override on Lenovo 14ALC7

On Tue, Dec 13, 2022 at 9:13 PM Adrian Freund <[email protected]> wrote:
>
> Commit bfcdf58380b1 ("ACPI: resource: do IRQ override on LENOVO IdeaPad")
> added an override for Lenovo IdeaPad 5 16ALC7. The 14ALC7 variant also
> suffers from a broken touchscreen and trackpad.
>
> Fixes: 9946e39fe8d0 ("ACPI: resource: skip IRQ override on AMD Zen platforms")
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=216804
> Signed-off-by: Adrian Freund <[email protected]>
> ---
> drivers/acpi/resource.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
> index f27914aedbd5..819390665da1 100644
> --- a/drivers/acpi/resource.c
> +++ b/drivers/acpi/resource.c
> @@ -435,7 +435,14 @@ static const struct dmi_system_id asus_laptop[] = {
> { }
> };
>
> -static const struct dmi_system_id lenovo_82ra[] = {
> +static const struct dmi_system_id lenovo_laptop[] = {
> + {
> + .ident = "LENOVO IdeaPad Flex 5 14ALC7",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "82R9"),
> + },
> + },
> {
> .ident = "LENOVO IdeaPad Flex 5 16ALC7",
> .matches = {
> @@ -458,8 +465,8 @@ struct irq_override_cmp {
> 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 },
> - { lenovo_82ra, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
> - { lenovo_82ra, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
> + { lenovo_laptop, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
> + { lenovo_laptop, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
> };
>
> static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
> --

Applied as 6.2-rc material, thanks!