Skip to content

Commit 78fdccd

Browse files
committed
Merge back earlier ACPI resources management changes for v6.7.
2 parents f9b3ea0 + 424009a commit 78fdccd

File tree

1 file changed

+36
-46
lines changed

1 file changed

+36
-46
lines changed

drivers/acpi/resource.c

Lines changed: 36 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -385,127 +385,132 @@ unsigned int acpi_dev_get_irq_type(int triggering, int polarity)
385385
}
386386
EXPORT_SYMBOL_GPL(acpi_dev_get_irq_type);
387387

388-
static const struct dmi_system_id medion_laptop[] = {
388+
/*
389+
* DMI matches for boards where the DSDT specifies the kbd IRQ as
390+
* level active-low and using the override changes this to rising edge,
391+
* stopping the keyboard from working.
392+
*/
393+
static const struct dmi_system_id irq1_level_low_skip_override[] = {
389394
{
390-
.ident = "MEDION P15651",
395+
/* MEDION P15651 */
391396
.matches = {
392397
DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
393398
DMI_MATCH(DMI_BOARD_NAME, "M15T"),
394399
},
395400
},
396401
{
397-
.ident = "MEDION S17405",
402+
/* MEDION S17405 */
398403
.matches = {
399404
DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
400405
DMI_MATCH(DMI_BOARD_NAME, "M17T"),
401406
},
402407
},
403408
{
404-
.ident = "MEDION S17413",
409+
/* MEDION S17413 */
405410
.matches = {
406411
DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
407412
DMI_MATCH(DMI_BOARD_NAME, "M1xA"),
408413
},
409414
},
410-
{ }
411-
};
412-
413-
static const struct dmi_system_id asus_laptop[] = {
414415
{
415-
.ident = "Asus Vivobook K3402ZA",
416+
/* Asus Vivobook K3402ZA */
416417
.matches = {
417418
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
418419
DMI_MATCH(DMI_BOARD_NAME, "K3402ZA"),
419420
},
420421
},
421422
{
422-
.ident = "Asus Vivobook K3502ZA",
423+
/* Asus Vivobook K3502ZA */
423424
.matches = {
424425
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
425426
DMI_MATCH(DMI_BOARD_NAME, "K3502ZA"),
426427
},
427428
},
428429
{
429-
.ident = "Asus Vivobook S5402ZA",
430+
/* Asus Vivobook S5402ZA */
430431
.matches = {
431432
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
432433
DMI_MATCH(DMI_BOARD_NAME, "S5402ZA"),
433434
},
434435
},
435436
{
436-
.ident = "Asus Vivobook S5602ZA",
437+
/* Asus Vivobook S5602ZA */
437438
.matches = {
438439
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
439440
DMI_MATCH(DMI_BOARD_NAME, "S5602ZA"),
440441
},
441442
},
442443
{
443-
.ident = "Asus ExpertBook B1402CBA",
444+
/* Asus ExpertBook B1402CBA */
444445
.matches = {
445446
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
446447
DMI_MATCH(DMI_BOARD_NAME, "B1402CBA"),
447448
},
448449
},
449450
{
450-
.ident = "Asus ExpertBook B1502CBA",
451+
/* Asus ExpertBook B1502CBA */
451452
.matches = {
452453
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
453454
DMI_MATCH(DMI_BOARD_NAME, "B1502CBA"),
454455
},
455456
},
456457
{
457-
.ident = "Asus ExpertBook B2402CBA",
458+
/* Asus ExpertBook B2402CBA */
458459
.matches = {
459460
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
460461
DMI_MATCH(DMI_BOARD_NAME, "B2402CBA"),
461462
},
462463
},
463464
{
464-
.ident = "Asus ExpertBook B2402FBA",
465+
/* Asus ExpertBook B2402FBA */
465466
.matches = {
466467
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
467468
DMI_MATCH(DMI_BOARD_NAME, "B2402FBA"),
468469
},
469470
},
470471
{
471-
.ident = "Asus ExpertBook B2502",
472+
/* Asus ExpertBook B2502 */
472473
.matches = {
473474
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
474475
DMI_MATCH(DMI_BOARD_NAME, "B2502CBA"),
475476
},
476477
},
478+
{
479+
/* LG Electronics 17U70P */
480+
.matches = {
481+
DMI_MATCH(DMI_SYS_VENDOR, "LG Electronics"),
482+
DMI_MATCH(DMI_BOARD_NAME, "17U70P"),
483+
},
484+
},
477485
{ }
478486
};
479487

480-
static const struct dmi_system_id tongfang_gm_rg[] = {
488+
/*
489+
* DMI matches for AMD Zen boards where the DSDT specifies the kbd IRQ
490+
* as falling edge and this must be overridden to rising edge,
491+
* to have a working keyboard.
492+
*/
493+
static const struct dmi_system_id irq1_edge_low_force_override[] = {
481494
{
482-
.ident = "TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD",
495+
/* TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD */
483496
.matches = {
484497
DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"),
485498
},
486499
},
487-
{ }
488-
};
489-
490-
static const struct dmi_system_id maingear_laptop[] = {
491500
{
492-
.ident = "MAINGEAR Vector Pro 2 15",
501+
/* MAINGEAR Vector Pro 2 15 */
493502
.matches = {
494503
DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
495504
DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-15A3070T"),
496505
}
497506
},
498507
{
499-
.ident = "MAINGEAR Vector Pro 2 17",
508+
/* MAINGEAR Vector Pro 2 17 */
500509
.matches = {
501510
DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"),
502511
DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-17A3070T"),
503512
},
504513
},
505-
{ }
506-
};
507-
508-
static const struct dmi_system_id pcspecialist_laptop[] = {
509514
{
510515
/* TongFang GM6BGEQ / PCSpecialist Elimina Pro 16 M, RTX 3050 */
511516
.matches = {
@@ -527,17 +532,6 @@ static const struct dmi_system_id pcspecialist_laptop[] = {
527532
{ }
528533
};
529534

530-
static const struct dmi_system_id lg_laptop[] = {
531-
{
532-
.ident = "LG Electronics 17U70P",
533-
.matches = {
534-
DMI_MATCH(DMI_SYS_VENDOR, "LG Electronics"),
535-
DMI_MATCH(DMI_BOARD_NAME, "17U70P"),
536-
},
537-
},
538-
{ }
539-
};
540-
541535
struct irq_override_cmp {
542536
const struct dmi_system_id *system;
543537
unsigned char irq;
@@ -548,12 +542,8 @@ struct irq_override_cmp {
548542
};
549543

550544
static const struct irq_override_cmp override_table[] = {
551-
{ medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
552-
{ asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
553-
{ tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
554-
{ maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
555-
{ pcspecialist_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
556-
{ lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
545+
{ irq1_level_low_skip_override, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
546+
{ irq1_edge_low_force_override, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
557547
};
558548

559549
static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,

0 commit comments

Comments
 (0)