diff mbox series

Add IRQ overrides for MAINGEAR Vector Pro 2 models

Message ID 20230211201333.369286-1-adam.niederer@gmail.com
State Accepted
Commit cb18703c179713056bd7e3bdfc2260ab4e8658f0
Headers show
Series Add IRQ overrides for MAINGEAR Vector Pro 2 models | expand

Commit Message

Adam Feb. 11, 2023, 8:13 p.m. UTC
Fix a regression introduced by commit 9946e39fe8d0 ("ACPI: resource: skip
IRQ override on AMD Zen platforms") on MAINGEAR Vector Pro 2 systems, which
causes the built-in keyboard to not work. This restores the functionality
by adding an IRQ override.

No other IRQs were being overridden before, so this should be all that is
needed for these systems. I have personally tested this on the 15" model
(MG-VCP2-15A3070T), and I have confirmation that the issue is present on
the 17" model (MG-VCP2-17A3070T).

Signed-off-by: Adam Niederer <adam.niederer@gmail.com>

---
 drivers/acpi/resource.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

2.39.1

Comments

Rafael J. Wysocki Feb. 13, 2023, 6:26 p.m. UTC | #1
On Sat, Feb 11, 2023 at 9:14 PM Adam Niederer <adam.niederer@gmail.com> wrote:
>
> Fix a regression introduced by commit 9946e39fe8d0 ("ACPI: resource: skip
> IRQ override on AMD Zen platforms") on MAINGEAR Vector Pro 2 systems, which
> causes the built-in keyboard to not work. This restores the functionality
> by adding an IRQ override.
>
> No other IRQs were being overridden before, so this should be all that is
> needed for these systems. I have personally tested this on the 15" model
> (MG-VCP2-15A3070T), and I have confirmation that the issue is present on
> the 17" model (MG-VCP2-17A3070T).
>
> Signed-off-by: Adam Niederer <adam.niederer@gmail.com>
>
> ---
>  drivers/acpi/resource.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
> index 192d1784e409..1d9d3364bc2b 100644
> --- a/drivers/acpi/resource.c
> +++ b/drivers/acpi/resource.c
> @@ -478,6 +478,24 @@ static const struct dmi_system_id schenker_gm_rg[] = {
>         { }
>  };
>
> +static const struct dmi_system_id maingear_laptop[] = {
> +       {
> +               .ident = "MAINGEAR Vector Pro 2 15",
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-15A3070T"),
> +               }
> +       },
> +       {
> +               .ident = "MAINGEAR Vector Pro 2 17",
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-17A3070T"),
> +               },
> +       },
> +       { }
> +};
> +
>  struct irq_override_cmp {
>         const struct dmi_system_id *system;
>         unsigned char irq;
> @@ -493,7 +511,7 @@ static const struct irq_override_cmp override_table[] = {
>         { lenovo_laptop, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
>         { lenovo_laptop, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
>         { schenker_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
> +       { maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
>  };
>
>  static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
> --

Applied as 6.3 material, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index 192d1784e409..1d9d3364bc2b 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -478,6 +478,24 @@  static const struct dmi_system_id schenker_gm_rg[] = {
 	{ }
 };
 
+static const struct dmi_system_id maingear_laptop[] = {
+	{
+		.ident = "MAINGEAR Vector Pro 2 15",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-15A3070T"),
+		}
+	},
+	{
+		.ident = "MAINGEAR Vector Pro 2 17",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-17A3070T"),
+		},
+	},
+	{ }
+};
+
 struct irq_override_cmp {
 	const struct dmi_system_id *system;
 	unsigned char irq;
@@ -493,7 +511,7 @@  static const struct irq_override_cmp override_table[] = {
 	{ lenovo_laptop, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
 	{ lenovo_laptop, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true },
 	{ schenker_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
+	{ maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
 };
 
 static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
--