@@ -470,6 +470,52 @@ static const struct dmi_system_id asus_laptop[] = {
470
470
{ }
471
471
};
472
472
473
+ static const struct dmi_system_id lenovo_laptop [] = {
474
+ {
475
+ .ident = "LENOVO IdeaPad Flex 5 14ALC7" ,
476
+ .matches = {
477
+ DMI_MATCH (DMI_SYS_VENDOR , "LENOVO" ),
478
+ DMI_MATCH (DMI_PRODUCT_NAME , "82R9" ),
479
+ },
480
+ },
481
+ {
482
+ .ident = "LENOVO IdeaPad Flex 5 16ALC7" ,
483
+ .matches = {
484
+ DMI_MATCH (DMI_SYS_VENDOR , "LENOVO" ),
485
+ DMI_MATCH (DMI_PRODUCT_NAME , "82RA" ),
486
+ },
487
+ },
488
+ { }
489
+ };
490
+
491
+ static const struct dmi_system_id tongfang_gm_rg [] = {
492
+ {
493
+ .ident = "TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD" ,
494
+ .matches = {
495
+ DMI_MATCH (DMI_BOARD_NAME , "GMxRGxx" ),
496
+ },
497
+ },
498
+ { }
499
+ };
500
+
501
+ static const struct dmi_system_id maingear_laptop [] = {
502
+ {
503
+ .ident = "MAINGEAR Vector Pro 2 15" ,
504
+ .matches = {
505
+ DMI_MATCH (DMI_SYS_VENDOR , "Micro Electronics Inc" ),
506
+ DMI_MATCH (DMI_PRODUCT_NAME , "MG-VCP2-15A3070T" ),
507
+ }
508
+ },
509
+ {
510
+ .ident = "MAINGEAR Vector Pro 2 17" ,
511
+ .matches = {
512
+ DMI_MATCH (DMI_SYS_VENDOR , "Micro Electronics Inc" ),
513
+ DMI_MATCH (DMI_PRODUCT_NAME , "MG-VCP2-17A3070T" ),
514
+ },
515
+ },
516
+ { }
517
+ };
518
+
473
519
static const struct dmi_system_id lg_laptop [] = {
474
520
{
475
521
.ident = "LG Electronics 17U70P" ,
@@ -493,6 +539,10 @@ struct irq_override_cmp {
493
539
static const struct irq_override_cmp override_table [] = {
494
540
{ medion_laptop , 1 , ACPI_LEVEL_SENSITIVE , ACPI_ACTIVE_LOW , 0 , false },
495
541
{ asus_laptop , 1 , ACPI_LEVEL_SENSITIVE , ACPI_ACTIVE_LOW , 0 , false },
542
+ { lenovo_laptop , 6 , ACPI_LEVEL_SENSITIVE , ACPI_ACTIVE_LOW , 0 , true },
543
+ { lenovo_laptop , 10 , ACPI_LEVEL_SENSITIVE , ACPI_ACTIVE_LOW , 0 , true },
544
+ { tongfang_gm_rg , 1 , ACPI_EDGE_SENSITIVE , ACPI_ACTIVE_LOW , 1 , true },
545
+ { maingear_laptop , 1 , ACPI_EDGE_SENSITIVE , ACPI_ACTIVE_LOW , 1 , true },
496
546
{ lg_laptop , 1 , ACPI_LEVEL_SENSITIVE , ACPI_ACTIVE_LOW , 0 , false },
497
547
};
498
548
@@ -512,6 +562,16 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
512
562
return entry -> override ;
513
563
}
514
564
565
+ #ifdef CONFIG_X86
566
+ /*
567
+ * IRQ override isn't needed on modern AMD Zen systems and
568
+ * this override breaks active low IRQs on AMD Ryzen 6000 and
569
+ * newer systems. Skip it.
570
+ */
571
+ if (boot_cpu_has (X86_FEATURE_ZEN ))
572
+ return false;
573
+ #endif
574
+
515
575
return true;
516
576
}
517
577
0 commit comments