From: Greg Kroah-Hartman Date: Tue, 31 Oct 2023 12:18:42 +0000 (+0100) Subject: 5.15-stable patches X-Git-Tag: v6.1.61~21 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=549b82382330745d745e7f20a3048e1982786e21;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch --- diff --git a/queue-5.15/acpica-add-support-for-madt-online-enabled-bit.patch b/queue-5.15/acpica-add-support-for-madt-online-enabled-bit.patch deleted file mode 100644 index 8e64393b6e6..00000000000 --- a/queue-5.15/acpica-add-support-for-madt-online-enabled-bit.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 6bbfb39a4aeced79feedb2cefc8bc3a207df6126 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 8 Sep 2021 16:41:45 -0500 -Subject: ACPICA: Add support for MADT online enabled bit - -From: Mario Limonciello - -[ Upstream commit 435a8dc8d9b9d91e625901fea5b5695b9b976d84 ] - -The online enabled bit on newer ACPI implmentations will indicate -whether the CPU is hotpluggable. - -Link: http://github.com/acpica/acpica/pull/708/ -Signed-off-by: Mario Limonciello -Signed-off-by: Rafael J. Wysocki -Stable-dep-of: 128b0c9781c9 ("x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility") -Signed-off-by: Sasha Levin ---- - include/acpi/actbl2.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h -index a47b32a5cbdeb..074449cb11a17 100644 ---- a/include/acpi/actbl2.h -+++ b/include/acpi/actbl2.h -@@ -978,6 +978,7 @@ struct acpi_madt_multiproc_wakeup_mailbox { - /* MADT Local APIC flags */ - - #define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set */ -+#define ACPI_MADT_ONLINE_CAPABLE (2) /* 01: System HW supports enabling processor at runtime */ - - /* MADT MPS INTI flags (inti_flags) */ - --- -2.42.0 - diff --git a/queue-5.15/series b/queue-5.15/series index 133895a4205..96cc3def9fa 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -73,8 +73,5 @@ iio-afe-rescale-reorder-includes.patch iio-afe-rescale-expose-scale-processing-function.patch iio-afe-rescale-add-offset-support.patch iio-afe-rescale-accept-only-offset-channels.patch -acpica-add-support-for-madt-online-enabled-bit.patch -x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch -x86-acpi-boot-use-fadt-version-to-check-support-for-.patch -x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch gve-fix-gfp-flags-when-allocing-pages.patch +x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch diff --git a/queue-5.15/x86-acpi-boot-use-fadt-version-to-check-support-for-.patch b/queue-5.15/x86-acpi-boot-use-fadt-version-to-check-support-for-.patch deleted file mode 100644 index 2ce9a42109e..00000000000 --- a/queue-5.15/x86-acpi-boot-use-fadt-version-to-check-support-for-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 34ade583680b1ffe8f88f0edbb890f58e733a0dd Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 29 Mar 2023 12:45:35 -0500 -Subject: x86/ACPI/boot: Use FADT version to check support for online capable - -From: Mario Limonciello - -[ Upstream commit a74fabfbd1b7013045afc8cc541e6cab3360ccb5 ] - -ACPI 6.3 introduced the online capable bit, and also introduced MADT -version 5. - -Latter was used to distinguish whether the offset storing online capable -could be used. However ACPI 6.2b has MADT version "45" which is for -an errata version of the ACPI 6.2 spec. This means that the Linux code -for detecting availability of MADT will mistakenly flag ACPI 6.2b as -supporting online capable which is inaccurate as it's an ACPI 6.3 feature. - -Instead use the FADT major and minor revision fields to distinguish this. - - [ bp: Massage. ] - -Fixes: aa06e20f1be6 ("x86/ACPI: Don't add CPUs that are not online capable") -Reported-by: Eric DeVolder -Reported-by: Borislav Petkov -Signed-off-by: Mario Limonciello -Signed-off-by: Borislav Petkov (AMD) -Cc: -Link: https://lore.kernel.org/r/943d2445-84df-d939-f578-5d8240d342cc@unsolicited.net -Stable-dep-of: 128b0c9781c9 ("x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility") -Signed-off-by: Sasha Levin ---- - arch/x86/kernel/acpi/boot.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c -index 0d01e7f5078c2..6d716b9c0ec19 100644 ---- a/arch/x86/kernel/acpi/boot.c -+++ b/arch/x86/kernel/acpi/boot.c -@@ -139,7 +139,11 @@ static int __init acpi_parse_madt(struct acpi_table_header *table) - - pr_debug("Local APIC address 0x%08x\n", madt->address); - } -- if (madt->header.revision >= 5) -+ -+ /* ACPI 6.3 and newer support the online capable bit. */ -+ if (acpi_gbl_FADT.header.revision > 6 || -+ (acpi_gbl_FADT.header.revision == 6 && -+ acpi_gbl_FADT.minor_revision >= 3)) - acpi_support_online_capable = true; - - default_acpi_madt_oem_check(madt->header.oem_id, --- -2.42.0 - diff --git a/queue-5.15/x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch b/queue-5.15/x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch deleted file mode 100644 index 754d2233875..00000000000 --- a/queue-5.15/x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 93c81745f8a495babd9b08f8be0cd36dab9cdf7a Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 8 Sep 2021 16:41:46 -0500 -Subject: x86/ACPI: Don't add CPUs that are not online capable - -From: Mario Limonciello - -[ Upstream commit aa06e20f1be628186f0c2dcec09ea0009eb69778 ] - -A number of systems are showing "hotplug capable" CPUs when they -are not really hotpluggable. This is because the MADT has extra -CPU entries to support different CPUs that may be inserted into -the socket with different numbers of cores. - -Starting with ACPI 6.3 the spec has an Online Capable bit in the -MADT used to determine whether or not a CPU is hotplug capable -when the enabled bit is not set. - -Link: https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html?#local-apic-flags -Signed-off-by: Mario Limonciello -Signed-off-by: Rafael J. Wysocki -Stable-dep-of: 128b0c9781c9 ("x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility") -Signed-off-by: Sasha Levin ---- - arch/x86/kernel/acpi/boot.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c -index 94ac7402c1ac2..0d01e7f5078c2 100644 ---- a/arch/x86/kernel/acpi/boot.c -+++ b/arch/x86/kernel/acpi/boot.c -@@ -62,6 +62,7 @@ int acpi_fix_pin2_polarity __initdata; - - #ifdef CONFIG_X86_LOCAL_APIC - static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE; -+static bool acpi_support_online_capable; - #endif - - #ifdef CONFIG_X86_IO_APIC -@@ -138,6 +139,8 @@ static int __init acpi_parse_madt(struct acpi_table_header *table) - - pr_debug("Local APIC address 0x%08x\n", madt->address); - } -+ if (madt->header.revision >= 5) -+ acpi_support_online_capable = true; - - default_acpi_madt_oem_check(madt->header.oem_id, - madt->header.oem_table_id); -@@ -239,6 +242,12 @@ acpi_parse_lapic(union acpi_subtable_headers * header, const unsigned long end) - if (processor->id == 0xff) - return 0; - -+ /* don't register processors that can not be onlined */ -+ if (acpi_support_online_capable && -+ !(processor->lapic_flags & ACPI_MADT_ENABLED) && -+ !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE)) -+ return 0; -+ - /* - * We need to register disabled CPU as well to permit - * counting disabled CPUs. This allows us to size --- -2.42.0 - diff --git a/queue-5.15/x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch b/queue-5.15/x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch similarity index 82% rename from queue-5.15/x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch rename to queue-5.15/x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch index 9fdc9f246d8..86e9474d04a 100644 --- a/queue-5.15/x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch +++ b/queue-5.15/x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch @@ -1,11 +1,11 @@ -From e0fe8d54195b3d88a7c1acbe953035cc56ad4143 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From 128b0c9781c9f2651bea163cb85e52a6c7be0f9e Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner Date: Wed, 25 Oct 2023 23:04:15 +0200 Subject: x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility From: Thomas Gleixner -[ Upstream commit 128b0c9781c9f2651bea163cb85e52a6c7be0f9e ] +commit 128b0c9781c9f2651bea163cb85e52a6c7be0f9e upstream. David and a few others reported that on certain newer systems some legacy interrupts fail to work correctly. @@ -49,15 +49,13 @@ Reviewed-by: Mario Limonciello Cc: stable@vger.kernel.org Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218003 Link: https://lore.kernel.org/r/875y2u5s8g.ffs@tglx -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - arch/x86/include/asm/i8259.h | 2 ++ - arch/x86/kernel/acpi/boot.c | 3 +++ - arch/x86/kernel/i8259.c | 38 ++++++++++++++++++++++++++++-------- + arch/x86/include/asm/i8259.h | 2 ++ + arch/x86/kernel/acpi/boot.c | 3 +++ + arch/x86/kernel/i8259.c | 38 ++++++++++++++++++++++++++++++-------- 3 files changed, 35 insertions(+), 8 deletions(-) -diff --git a/arch/x86/include/asm/i8259.h b/arch/x86/include/asm/i8259.h -index 637fa1df35124..c715097e92fd2 100644 --- a/arch/x86/include/asm/i8259.h +++ b/arch/x86/include/asm/i8259.h @@ -69,6 +69,8 @@ struct legacy_pic { @@ -69,22 +67,18 @@ index 637fa1df35124..c715097e92fd2 100644 extern struct legacy_pic *legacy_pic; extern struct legacy_pic null_legacy_pic; -diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c -index 6d716b9c0ec19..5491987374537 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c -@@ -140,6 +140,9 @@ static int __init acpi_parse_madt(struct acpi_table_header *table) +@@ -139,6 +139,9 @@ static int __init acpi_parse_madt(struct pr_debug("Local APIC address 0x%08x\n", madt->address); } + if (madt->flags & ACPI_MADT_PCAT_COMPAT) + legacy_pic_pcat_compat(); + - /* ACPI 6.3 and newer support the online capable bit. */ - if (acpi_gbl_FADT.header.revision > 6 || - (acpi_gbl_FADT.header.revision == 6 && -diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c -index f91e5e31aa4f0..2ac5f488300cf 100644 + default_acpi_madt_oem_check(madt->header.oem_id, + madt->header.oem_table_id); + --- a/arch/x86/kernel/i8259.c +++ b/arch/x86/kernel/i8259.c @@ -32,6 +32,7 @@ @@ -146,6 +140,3 @@ index f91e5e31aa4f0..2ac5f488300cf 100644 +{ + pcat_compat = true; +} --- -2.42.0 -