summaryrefslogtreecommitdiff
path: root/SOURCES/v6-ACPI-skip-IRQ-override-on-AMD-Zen-platforms.patch
diff options
context:
space:
mode:
Diffstat (limited to 'SOURCES/v6-ACPI-skip-IRQ-override-on-AMD-Zen-platforms.patch')
-rw-r--r--SOURCES/v6-ACPI-skip-IRQ-override-on-AMD-Zen-platforms.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/SOURCES/v6-ACPI-skip-IRQ-override-on-AMD-Zen-platforms.patch b/SOURCES/v6-ACPI-skip-IRQ-override-on-AMD-Zen-platforms.patch
new file mode 100644
index 0000000..fa98586
--- /dev/null
+++ b/SOURCES/v6-ACPI-skip-IRQ-override-on-AMD-Zen-platforms.patch
@@ -0,0 +1,21 @@
+diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
+index c2d494784425..510cdec375c4 100644
+--- a/drivers/acpi/resource.c
++++ b/drivers/acpi/resource.c
+@@ -416,6 +416,16 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
+ {
+ int i;
+
++#ifdef CONFIG_X86
++ /*
++ * IRQ override isn't needed on modern AMD Zen systems and
++ * this override breaks active low IRQs on AMD Ryzen 6000 and
++ * newer systems. Skip it.
++ */
++ if (boot_cpu_has(X86_FEATURE_ZEN))
++ return false;
++#endif
++
+ for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) {
+ const struct irq_override_cmp *entry = &skip_override_table[i];
+