From: Greg Kroah-Hartman Date: Wed, 14 May 2025 09:53:02 +0000 (+0200) Subject: drop some broken mips patches X-Git-Tag: v5.15.183~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6418f3bbdfd1f50ff9deef8c82d55df1d641ebf9;p=thirdparty%2Fkernel%2Fstable-queue.git drop some broken mips patches --- diff --git a/queue-6.12/mips-fix-idle-vs-timer-enqueue.patch b/queue-6.12/mips-fix-idle-vs-timer-enqueue.patch deleted file mode 100644 index 94d2eca455..0000000000 --- a/queue-6.12/mips-fix-idle-vs-timer-enqueue.patch +++ /dev/null @@ -1,162 +0,0 @@ -From b72bdfd2103fcf1bb11b49a99fc09830f5e8ae67 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 3 Apr 2025 18:11:42 +0200 -Subject: MIPS: Fix idle VS timer enqueue - -From: Marco Crivellari - -[ Upstream commit 56651128e2fbad80f632f388d6bf1f39c928267a ] - -MIPS re-enables interrupts on its idle routine and performs -a TIF_NEED_RESCHED check afterwards before putting the CPU to sleep. - -The IRQs firing between the check and the 'wait' instruction may set the -TIF_NEED_RESCHED flag. In order to deal with this possible race, IRQs -interrupting __r4k_wait() rollback their return address to the -beginning of __r4k_wait() so that TIF_NEED_RESCHED is checked -again before going back to sleep. - -However idle IRQs can also queue timers that may require a tick -reprogramming through a new generic idle loop iteration but those timers -would go unnoticed here because __r4k_wait() only checks -TIF_NEED_RESCHED. It doesn't check for pending timers. - -Fix this with fast-forwarding idle IRQs return address to the end of the -idle routine instead of the beginning, so that the generic idle loop -handles both TIF_NEED_RESCHED and pending timers. - -CONFIG_CPU_MICROMIPS has been removed along with the nop instructions. -There, NOPs are 2 byte in size, so change the code with 3 _ssnop which are -always 4 byte and remove the ifdef. Added ehb to make sure the hazard -is always cleared. - -Fixes: c65a5480ff29 ("[MIPS] Fix potential latency problem due to non-atomic cpu_wait.") -Signed-off-by: Marco Crivellari -Signed-off-by: Maciej W. Rozycki -Acked-by: Frederic Weisbecker -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Sasha Levin ---- - arch/mips/include/asm/idle.h | 3 +- - arch/mips/kernel/genex.S | 62 +++++++++++++++++++++--------------- - arch/mips/kernel/idle.c | 7 ---- - 3 files changed, 37 insertions(+), 35 deletions(-) - -diff --git a/arch/mips/include/asm/idle.h b/arch/mips/include/asm/idle.h -index 0992cad9c632e..2bc3678455ed0 100644 ---- a/arch/mips/include/asm/idle.h -+++ b/arch/mips/include/asm/idle.h -@@ -6,8 +6,7 @@ - #include - - extern void (*cpu_wait)(void); --extern void r4k_wait(void); --extern asmlinkage void __r4k_wait(void); -+extern asmlinkage void r4k_wait(void); - extern void r4k_wait_irqoff(void); - - static inline int using_rollback_handler(void) -diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S -index a572ce36a24f2..46d975d00298d 100644 ---- a/arch/mips/kernel/genex.S -+++ b/arch/mips/kernel/genex.S -@@ -104,42 +104,52 @@ handle_vcei: - - __FINIT - -- .align 5 /* 32 byte rollback region */ --LEAF(__r4k_wait) -- .set push -- .set noreorder -- /* start of rollback region */ -- LONG_L t0, TI_FLAGS($28) -- nop -- andi t0, _TIF_NEED_RESCHED -- bnez t0, 1f -- nop -- nop -- nop --#ifdef CONFIG_CPU_MICROMIPS -- nop -- nop -- nop -- nop --#endif -+ /* Align to 32 bytes for the maximum idle interrupt region size. */ -+ .align 5 -+LEAF(r4k_wait) -+ /* Keep the ISA bit clear for calculations on local labels here. */ -+0: .fill 0 -+ /* Start of idle interrupt region. */ -+ local_irq_enable -+ /* -+ * If an interrupt lands here, before going idle on the next -+ * instruction, we must *NOT* go idle since the interrupt could -+ * have set TIF_NEED_RESCHED or caused a timer to need resched. -+ * Fall through -- see rollback_handler below -- and have the -+ * idle loop take care of things. -+ */ -+1: .fill 0 -+ /* The R2 EI/EHB sequence takes 8 bytes, otherwise pad up. */ -+ .if 1b - 0b > 32 -+ .error "overlong idle interrupt region" -+ .elseif 1b - 0b > 8 -+ .align 4 -+ .endif -+2: .fill 0 -+ .equ r4k_wait_idle_size, 2b - 0b -+ /* End of idle interrupt region; size has to be a power of 2. */ - .set MIPS_ISA_ARCH_LEVEL_RAW -+r4k_wait_insn: - wait -- /* end of rollback region (the region size must be power of two) */ --1: -+r4k_wait_exit: -+ .set mips0 -+ local_irq_disable - jr ra -- nop -- .set pop -- END(__r4k_wait) -+ END(r4k_wait) -+ .previous - - .macro BUILD_ROLLBACK_PROLOGUE handler - FEXPORT(rollback_\handler) - .set push - .set noat - MFC0 k0, CP0_EPC -- PTR_LA k1, __r4k_wait -- ori k0, 0x1f /* 32 byte rollback region */ -- xori k0, 0x1f -+ /* Subtract/add 2 to let the ISA bit propagate through the mask. */ -+ PTR_LA k1, r4k_wait_insn - 2 -+ ori k0, r4k_wait_idle_size - 2 -+ .set noreorder - bne k0, k1, \handler -+ PTR_ADDIU k0, r4k_wait_exit - r4k_wait_insn + 2 -+ .set reorder - MTC0 k0, CP0_EPC - .set pop - .endm -diff --git a/arch/mips/kernel/idle.c b/arch/mips/kernel/idle.c -index 5abc8b7340f88..80e8a04a642e0 100644 ---- a/arch/mips/kernel/idle.c -+++ b/arch/mips/kernel/idle.c -@@ -35,13 +35,6 @@ static void __cpuidle r3081_wait(void) - write_c0_conf(cfg | R30XX_CONF_HALT); - } - --void __cpuidle r4k_wait(void) --{ -- raw_local_irq_enable(); -- __r4k_wait(); -- raw_local_irq_disable(); --} -- - /* - * This variant is preferable as it allows testing need_resched and going to - * sleep depending on the outcome atomically. Unfortunately the "It is --- -2.39.5 - diff --git a/queue-6.12/mips-move-r4k_wait-to-.cpuidle.text-section.patch b/queue-6.12/mips-move-r4k_wait-to-.cpuidle.text-section.patch deleted file mode 100644 index 4093f8e03c..0000000000 --- a/queue-6.12/mips-move-r4k_wait-to-.cpuidle.text-section.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 3cc13bb5384ff273d8a133de891b2ebbb20c31c8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 3 Apr 2025 18:11:43 +0200 -Subject: MIPS: Move r4k_wait() to .cpuidle.text section - -From: Marco Crivellari - -[ Upstream commit b713f27e32d87c35737ec942dd6f5ed6b7475f48 ] - -Fix missing .cpuidle.text section assignment for r4k_wait() to correct -backtracing with nmi_backtrace(). - -Fixes: 97c8580e85cf ("MIPS: Annotate cpu_wait implementations with __cpuidle") -Signed-off-by: Marco Crivellari -Signed-off-by: Maciej W. Rozycki -Acked-by: Frederic Weisbecker -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Sasha Levin ---- - arch/mips/kernel/genex.S | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S -index 46d975d00298d..2cf312d9a3b09 100644 ---- a/arch/mips/kernel/genex.S -+++ b/arch/mips/kernel/genex.S -@@ -104,6 +104,7 @@ handle_vcei: - - __FINIT - -+ .section .cpuidle.text,"ax" - /* Align to 32 bytes for the maximum idle interrupt region size. */ - .align 5 - LEAF(r4k_wait) --- -2.39.5 - diff --git a/queue-6.12/series b/queue-6.12/series index f8680d20f7..bfdc06cdb5 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -132,8 +132,6 @@ iio-temp-maxim-thermocouple-fix-potential-lack-of-dm.patch types-complement-the-aligned-types-with-signed-64-bi.patch iio-accel-adxl355-make-timestamp-64-bit-aligned-usin.patch iio-adc-dln2-use-aligned_s64-for-timestamp.patch -mips-fix-idle-vs-timer-enqueue.patch -mips-move-r4k_wait-to-.cpuidle.text-section.patch mips-fix-max_reg_offset.patch riscv-misaligned-add-handling-for-zcb-instructions.patch loop-use-bdev-limit-helpers-for-configuring-discard.patch diff --git a/queue-6.14/mips-fix-idle-vs-timer-enqueue.patch b/queue-6.14/mips-fix-idle-vs-timer-enqueue.patch deleted file mode 100644 index d88a093944..0000000000 --- a/queue-6.14/mips-fix-idle-vs-timer-enqueue.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 1539386d9522163d8d31fe207a498af0e84ddaa8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 3 Apr 2025 18:11:42 +0200 -Subject: MIPS: Fix idle VS timer enqueue - -From: Marco Crivellari - -[ Upstream commit 56651128e2fbad80f632f388d6bf1f39c928267a ] - -MIPS re-enables interrupts on its idle routine and performs -a TIF_NEED_RESCHED check afterwards before putting the CPU to sleep. - -The IRQs firing between the check and the 'wait' instruction may set the -TIF_NEED_RESCHED flag. In order to deal with this possible race, IRQs -interrupting __r4k_wait() rollback their return address to the -beginning of __r4k_wait() so that TIF_NEED_RESCHED is checked -again before going back to sleep. - -However idle IRQs can also queue timers that may require a tick -reprogramming through a new generic idle loop iteration but those timers -would go unnoticed here because __r4k_wait() only checks -TIF_NEED_RESCHED. It doesn't check for pending timers. - -Fix this with fast-forwarding idle IRQs return address to the end of the -idle routine instead of the beginning, so that the generic idle loop -handles both TIF_NEED_RESCHED and pending timers. - -CONFIG_CPU_MICROMIPS has been removed along with the nop instructions. -There, NOPs are 2 byte in size, so change the code with 3 _ssnop which are -always 4 byte and remove the ifdef. Added ehb to make sure the hazard -is always cleared. - -Fixes: c65a5480ff29 ("[MIPS] Fix potential latency problem due to non-atomic cpu_wait.") -Signed-off-by: Marco Crivellari -Signed-off-by: Maciej W. Rozycki -Acked-by: Frederic Weisbecker -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Sasha Levin ---- - arch/mips/include/asm/idle.h | 3 +- - arch/mips/kernel/genex.S | 62 +++++++++++++++++++++--------------- - arch/mips/kernel/idle.c | 7 ---- - 3 files changed, 37 insertions(+), 35 deletions(-) - -diff --git a/arch/mips/include/asm/idle.h b/arch/mips/include/asm/idle.h -index 0992cad9c632e..2bc3678455ed0 100644 ---- a/arch/mips/include/asm/idle.h -+++ b/arch/mips/include/asm/idle.h -@@ -6,8 +6,7 @@ - #include - - extern void (*cpu_wait)(void); --extern void r4k_wait(void); --extern asmlinkage void __r4k_wait(void); -+extern asmlinkage void r4k_wait(void); - extern void r4k_wait_irqoff(void); - - static inline int using_rollback_handler(void) -diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S -index a572ce36a24f2..46d975d00298d 100644 ---- a/arch/mips/kernel/genex.S -+++ b/arch/mips/kernel/genex.S -@@ -104,42 +104,52 @@ handle_vcei: - - __FINIT - -- .align 5 /* 32 byte rollback region */ --LEAF(__r4k_wait) -- .set push -- .set noreorder -- /* start of rollback region */ -- LONG_L t0, TI_FLAGS($28) -- nop -- andi t0, _TIF_NEED_RESCHED -- bnez t0, 1f -- nop -- nop -- nop --#ifdef CONFIG_CPU_MICROMIPS -- nop -- nop -- nop -- nop --#endif -+ /* Align to 32 bytes for the maximum idle interrupt region size. */ -+ .align 5 -+LEAF(r4k_wait) -+ /* Keep the ISA bit clear for calculations on local labels here. */ -+0: .fill 0 -+ /* Start of idle interrupt region. */ -+ local_irq_enable -+ /* -+ * If an interrupt lands here, before going idle on the next -+ * instruction, we must *NOT* go idle since the interrupt could -+ * have set TIF_NEED_RESCHED or caused a timer to need resched. -+ * Fall through -- see rollback_handler below -- and have the -+ * idle loop take care of things. -+ */ -+1: .fill 0 -+ /* The R2 EI/EHB sequence takes 8 bytes, otherwise pad up. */ -+ .if 1b - 0b > 32 -+ .error "overlong idle interrupt region" -+ .elseif 1b - 0b > 8 -+ .align 4 -+ .endif -+2: .fill 0 -+ .equ r4k_wait_idle_size, 2b - 0b -+ /* End of idle interrupt region; size has to be a power of 2. */ - .set MIPS_ISA_ARCH_LEVEL_RAW -+r4k_wait_insn: - wait -- /* end of rollback region (the region size must be power of two) */ --1: -+r4k_wait_exit: -+ .set mips0 -+ local_irq_disable - jr ra -- nop -- .set pop -- END(__r4k_wait) -+ END(r4k_wait) -+ .previous - - .macro BUILD_ROLLBACK_PROLOGUE handler - FEXPORT(rollback_\handler) - .set push - .set noat - MFC0 k0, CP0_EPC -- PTR_LA k1, __r4k_wait -- ori k0, 0x1f /* 32 byte rollback region */ -- xori k0, 0x1f -+ /* Subtract/add 2 to let the ISA bit propagate through the mask. */ -+ PTR_LA k1, r4k_wait_insn - 2 -+ ori k0, r4k_wait_idle_size - 2 -+ .set noreorder - bne k0, k1, \handler -+ PTR_ADDIU k0, r4k_wait_exit - r4k_wait_insn + 2 -+ .set reorder - MTC0 k0, CP0_EPC - .set pop - .endm -diff --git a/arch/mips/kernel/idle.c b/arch/mips/kernel/idle.c -index 5abc8b7340f88..80e8a04a642e0 100644 ---- a/arch/mips/kernel/idle.c -+++ b/arch/mips/kernel/idle.c -@@ -35,13 +35,6 @@ static void __cpuidle r3081_wait(void) - write_c0_conf(cfg | R30XX_CONF_HALT); - } - --void __cpuidle r4k_wait(void) --{ -- raw_local_irq_enable(); -- __r4k_wait(); -- raw_local_irq_disable(); --} -- - /* - * This variant is preferable as it allows testing need_resched and going to - * sleep depending on the outcome atomically. Unfortunately the "It is --- -2.39.5 - diff --git a/queue-6.14/mips-move-r4k_wait-to-.cpuidle.text-section.patch b/queue-6.14/mips-move-r4k_wait-to-.cpuidle.text-section.patch deleted file mode 100644 index 4c794f8206..0000000000 --- a/queue-6.14/mips-move-r4k_wait-to-.cpuidle.text-section.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cb6baa1ad081c633d93b3e90eacd40369466a464 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 3 Apr 2025 18:11:43 +0200 -Subject: MIPS: Move r4k_wait() to .cpuidle.text section - -From: Marco Crivellari - -[ Upstream commit b713f27e32d87c35737ec942dd6f5ed6b7475f48 ] - -Fix missing .cpuidle.text section assignment for r4k_wait() to correct -backtracing with nmi_backtrace(). - -Fixes: 97c8580e85cf ("MIPS: Annotate cpu_wait implementations with __cpuidle") -Signed-off-by: Marco Crivellari -Signed-off-by: Maciej W. Rozycki -Acked-by: Frederic Weisbecker -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Sasha Levin ---- - arch/mips/kernel/genex.S | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S -index 46d975d00298d..2cf312d9a3b09 100644 ---- a/arch/mips/kernel/genex.S -+++ b/arch/mips/kernel/genex.S -@@ -104,6 +104,7 @@ handle_vcei: - - __FINIT - -+ .section .cpuidle.text,"ax" - /* Align to 32 bytes for the maximum idle interrupt region size. */ - .align 5 - LEAF(r4k_wait) --- -2.39.5 - diff --git a/queue-6.14/series b/queue-6.14/series index 330ff683d9..ce5fda5ce0 100644 --- a/queue-6.14/series +++ b/queue-6.14/series @@ -151,8 +151,6 @@ iio-accel-adxl367-fix-setting-odr-for-activity-time-.patch iio-temp-maxim-thermocouple-fix-potential-lack-of-dm.patch iio-accel-adxl355-make-timestamp-64-bit-aligned-usin.patch iio-adc-dln2-use-aligned_s64-for-timestamp.patch -mips-fix-idle-vs-timer-enqueue.patch -mips-move-r4k_wait-to-.cpuidle.text-section.patch timekeeping-prevent-coarse-clocks-going-backwards.patch accel-ivpu-separate-db-id-and-cmdq-id-allocations-fr.patch accel-ivpu-correct-mutex-unlock-order-in-job-submiss.patch diff --git a/queue-6.6/mips-fix-idle-vs-timer-enqueue.patch b/queue-6.6/mips-fix-idle-vs-timer-enqueue.patch deleted file mode 100644 index 815a27d7bd..0000000000 --- a/queue-6.6/mips-fix-idle-vs-timer-enqueue.patch +++ /dev/null @@ -1,162 +0,0 @@ -From fe3ef46a2945f2660fc308525a43d4541c1c44d7 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 3 Apr 2025 18:11:42 +0200 -Subject: MIPS: Fix idle VS timer enqueue - -From: Marco Crivellari - -[ Upstream commit 56651128e2fbad80f632f388d6bf1f39c928267a ] - -MIPS re-enables interrupts on its idle routine and performs -a TIF_NEED_RESCHED check afterwards before putting the CPU to sleep. - -The IRQs firing between the check and the 'wait' instruction may set the -TIF_NEED_RESCHED flag. In order to deal with this possible race, IRQs -interrupting __r4k_wait() rollback their return address to the -beginning of __r4k_wait() so that TIF_NEED_RESCHED is checked -again before going back to sleep. - -However idle IRQs can also queue timers that may require a tick -reprogramming through a new generic idle loop iteration but those timers -would go unnoticed here because __r4k_wait() only checks -TIF_NEED_RESCHED. It doesn't check for pending timers. - -Fix this with fast-forwarding idle IRQs return address to the end of the -idle routine instead of the beginning, so that the generic idle loop -handles both TIF_NEED_RESCHED and pending timers. - -CONFIG_CPU_MICROMIPS has been removed along with the nop instructions. -There, NOPs are 2 byte in size, so change the code with 3 _ssnop which are -always 4 byte and remove the ifdef. Added ehb to make sure the hazard -is always cleared. - -Fixes: c65a5480ff29 ("[MIPS] Fix potential latency problem due to non-atomic cpu_wait.") -Signed-off-by: Marco Crivellari -Signed-off-by: Maciej W. Rozycki -Acked-by: Frederic Weisbecker -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Sasha Levin ---- - arch/mips/include/asm/idle.h | 3 +- - arch/mips/kernel/genex.S | 62 +++++++++++++++++++++--------------- - arch/mips/kernel/idle.c | 7 ---- - 3 files changed, 37 insertions(+), 35 deletions(-) - -diff --git a/arch/mips/include/asm/idle.h b/arch/mips/include/asm/idle.h -index 0992cad9c632e..2bc3678455ed0 100644 ---- a/arch/mips/include/asm/idle.h -+++ b/arch/mips/include/asm/idle.h -@@ -6,8 +6,7 @@ - #include - - extern void (*cpu_wait)(void); --extern void r4k_wait(void); --extern asmlinkage void __r4k_wait(void); -+extern asmlinkage void r4k_wait(void); - extern void r4k_wait_irqoff(void); - - static inline int using_rollback_handler(void) -diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S -index b6de8e88c1bd4..488275e4566d4 100644 ---- a/arch/mips/kernel/genex.S -+++ b/arch/mips/kernel/genex.S -@@ -104,42 +104,52 @@ handle_vcei: - - __FINIT - -- .align 5 /* 32 byte rollback region */ --LEAF(__r4k_wait) -- .set push -- .set noreorder -- /* start of rollback region */ -- LONG_L t0, TI_FLAGS($28) -- nop -- andi t0, _TIF_NEED_RESCHED -- bnez t0, 1f -- nop -- nop -- nop --#ifdef CONFIG_CPU_MICROMIPS -- nop -- nop -- nop -- nop --#endif -+ /* Align to 32 bytes for the maximum idle interrupt region size. */ -+ .align 5 -+LEAF(r4k_wait) -+ /* Keep the ISA bit clear for calculations on local labels here. */ -+0: .fill 0 -+ /* Start of idle interrupt region. */ -+ local_irq_enable -+ /* -+ * If an interrupt lands here, before going idle on the next -+ * instruction, we must *NOT* go idle since the interrupt could -+ * have set TIF_NEED_RESCHED or caused a timer to need resched. -+ * Fall through -- see rollback_handler below -- and have the -+ * idle loop take care of things. -+ */ -+1: .fill 0 -+ /* The R2 EI/EHB sequence takes 8 bytes, otherwise pad up. */ -+ .if 1b - 0b > 32 -+ .error "overlong idle interrupt region" -+ .elseif 1b - 0b > 8 -+ .align 4 -+ .endif -+2: .fill 0 -+ .equ r4k_wait_idle_size, 2b - 0b -+ /* End of idle interrupt region; size has to be a power of 2. */ - .set MIPS_ISA_ARCH_LEVEL_RAW -+r4k_wait_insn: - wait -- /* end of rollback region (the region size must be power of two) */ --1: -+r4k_wait_exit: -+ .set mips0 -+ local_irq_disable - jr ra -- nop -- .set pop -- END(__r4k_wait) -+ END(r4k_wait) -+ .previous - - .macro BUILD_ROLLBACK_PROLOGUE handler - FEXPORT(rollback_\handler) - .set push - .set noat - MFC0 k0, CP0_EPC -- PTR_LA k1, __r4k_wait -- ori k0, 0x1f /* 32 byte rollback region */ -- xori k0, 0x1f -+ /* Subtract/add 2 to let the ISA bit propagate through the mask. */ -+ PTR_LA k1, r4k_wait_insn - 2 -+ ori k0, r4k_wait_idle_size - 2 -+ .set noreorder - bne k0, k1, \handler -+ PTR_ADDIU k0, r4k_wait_exit - r4k_wait_insn + 2 -+ .set reorder - MTC0 k0, CP0_EPC - .set pop - .endm -diff --git a/arch/mips/kernel/idle.c b/arch/mips/kernel/idle.c -index 5abc8b7340f88..80e8a04a642e0 100644 ---- a/arch/mips/kernel/idle.c -+++ b/arch/mips/kernel/idle.c -@@ -35,13 +35,6 @@ static void __cpuidle r3081_wait(void) - write_c0_conf(cfg | R30XX_CONF_HALT); - } - --void __cpuidle r4k_wait(void) --{ -- raw_local_irq_enable(); -- __r4k_wait(); -- raw_local_irq_disable(); --} -- - /* - * This variant is preferable as it allows testing need_resched and going to - * sleep depending on the outcome atomically. Unfortunately the "It is --- -2.39.5 - diff --git a/queue-6.6/mips-move-r4k_wait-to-.cpuidle.text-section.patch b/queue-6.6/mips-move-r4k_wait-to-.cpuidle.text-section.patch deleted file mode 100644 index f432835ef2..0000000000 --- a/queue-6.6/mips-move-r4k_wait-to-.cpuidle.text-section.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 041cc52e09ed055a266f7cc344b9c135a449f7dc Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 3 Apr 2025 18:11:43 +0200 -Subject: MIPS: Move r4k_wait() to .cpuidle.text section - -From: Marco Crivellari - -[ Upstream commit b713f27e32d87c35737ec942dd6f5ed6b7475f48 ] - -Fix missing .cpuidle.text section assignment for r4k_wait() to correct -backtracing with nmi_backtrace(). - -Fixes: 97c8580e85cf ("MIPS: Annotate cpu_wait implementations with __cpuidle") -Signed-off-by: Marco Crivellari -Signed-off-by: Maciej W. Rozycki -Acked-by: Frederic Weisbecker -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Sasha Levin ---- - arch/mips/kernel/genex.S | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S -index 488275e4566d4..f4cf3fcd337e1 100644 ---- a/arch/mips/kernel/genex.S -+++ b/arch/mips/kernel/genex.S -@@ -104,6 +104,7 @@ handle_vcei: - - __FINIT - -+ .section .cpuidle.text,"ax" - /* Align to 32 bytes for the maximum idle interrupt region size. */ - .align 5 - LEAF(r4k_wait) --- -2.39.5 - diff --git a/queue-6.6/series b/queue-6.6/series index 035dd4afd0..0b2ffbe53a 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -81,8 +81,6 @@ iio-temp-maxim-thermocouple-fix-potential-lack-of-dm.patch types-complement-the-aligned-types-with-signed-64-bi.patch iio-accel-adxl355-make-timestamp-64-bit-aligned-usin.patch iio-adc-dln2-use-aligned_s64-for-timestamp.patch -mips-fix-idle-vs-timer-enqueue.patch -mips-move-r4k_wait-to-.cpuidle.text-section.patch mips-fix-max_reg_offset.patch drm-panel-simple-update-timings-for-auo-g101evn010.patch nvme-unblock-ctrl-state-transition-for-firmware-upda.patch