From 4cb0856e6fc9ecd725504d799230e34ca6acbbdc Mon Sep 17 00:00:00 2001
From: j1nx
Date: Thu, 11 Apr 2024 07:47:59 +0000
Subject: [PATCH] [All] The big version jump one again
---
Makefile | 3 +
buildroot | 2 +-
buildroot-external/busybox.config | 22 +-
buildroot-external/configs/rpi3_64_defconfig | 3 +-
buildroot-external/configs/rpi4_64_defconfig | 3 +-
buildroot-external/configs/x86_64_defconfig | 3 +-
.../package/vocalfusion/vocalfusion.hash | 2 +-
.../package/vocalfusion/vocalfusion.mk | 2 +-
...Constrain-locks-in-sched_submit_work.patch | 8 +-
...Avoid-unconditional-slowpath-for-DEB.patch | 6 +-
.../0003-sched-Extract-__schedule_loop.patch | 8 +-
...-rt_mutex-specific-scheduler-helpers.patch | 8 +-
...Use-rt_mutex-specific-scheduler-help.patch | 6 +-
...Add-a-lockdep-assert-to-catch-potent.patch | 6 +-
...-Fix-recursive-rt_mutex-waiter-state.patch | 6 +-
...r-comment-about-the-preempt-disable-.patch | 6 +-
...able-preemption-in-ptrace_stop-on-PR.patch | 6 +-
...Remove-migrate_en-dis-from-dc_fpu_be.patch | 6 +-
...d-display-Simplify-the-per-CPU-usage.patch | 6 +-
...Add-a-warning-if-the-FPU-is-used-out.patch | 6 +-
...Move-the-memory-allocation-out-of-dc.patch | 6 +-
...Move-the-memory-allocation-out-of-dc.patch | 6 +-
.../0015-net-Avoid-the-IPI-to-free-the.patch | 14 +-
.../linux/0016-x86-Allow-to-enable-RT.patch | 8 +-
.../0017-x86-Enable-RT-also-on-32bit.patch | 8 +-
...n-t-try-push-tasks-if-there-are-none.patch | 10 +-
...a-dedicated-thread-for-timer-wakeups.patch | 6 +-
...force-sched-priority-to-timersd-on-b.patch | 6 +-
...-storm-since-introduction-of-timersd.patch | 6 +-
...-Wake-ktimers-thread-also-in-softirq.patch | 6 +-
...-spinlocks-with-spinlock_t-for-PREEM.patch | 6 +-
...mpt_enable-within-an-instrumentation.patch | 6 +-
...de-a-method-to-check-if-a-task-is-PI.patch | 8 +-
...function-to-preempt-serving-softirqs.patch | 6 +-
...me-Allow-to-preempt-after-a-callback.patch | 6 +-
.../0028-serial-core-Use-lock-wrappers.patch | 14 +-
...-serial-21285-Use-port-lock-wrappers.patch | 6 +-
..._aspeed_vuart-Use-port-lock-wrappers.patch | 6 +-
...-8250_bcm7271-Use-port-lock-wrappers.patch | 6 +-
...2-serial-8250-Use-port-lock-wrappers.patch | 56 ++--
...rial-8250_dma-Use-port-lock-wrappers.patch | 6 +-
...erial-8250_dw-Use-port-lock-wrappers.patch | 6 +-
...ial-8250_exar-Use-port-lock-wrappers.patch | 8 +-
...rial-8250_fsl-Use-port-lock-wrappers.patch | 6 +-
...rial-8250_mtk-Use-port-lock-wrappers.patch | 6 +-
...ial-8250_omap-Use-port-lock-wrappers.patch | 6 +-
...8250_pci1xxxx-Use-port-lock-wrappers.patch | 6 +-
...tera_jtaguart-Use-port-lock-wrappers.patch | 6 +-
...l-altera_uart-Use-port-lock-wrappers.patch | 6 +-
...al-amba-pl010-Use-port-lock-wrappers.patch | 6 +-
...al-amba-pl011-Use-port-lock-wrappers.patch | 14 +-
...44-serial-apb-Use-port-lock-wrappers.patch | 6 +-
...serial-ar933x-Use-port-lock-wrappers.patch | 6 +-
...rial-arc_uart-Use-port-lock-wrappers.patch | 6 +-
...-serial-atmel-Use-port-lock-wrappers.patch | 6 +-
...-bcm63xx-uart-Use-port-lock-wrappers.patch | 6 +-
...rial-cpm_uart-Use-port-lock-wrappers.patch | 6 +-
...ial-digicolor-Use-port-lock-wrappers.patch | 6 +-
...051-serial-dz-Use-port-lock-wrappers.patch | 6 +-
...l-linflexuart-Use-port-lock-wrappers.patch | 6 +-
...al-fsl_lpuart-Use-port-lock-wrappers.patch | 28 +-
...4-serial-icom-Use-port-lock-wrappers.patch | 6 +-
...55-serial-imx-Use-port-lock-wrappers.patch | 66 ++---
...ial-ip22zilog-Use-port-lock-wrappers.patch | 6 +-
...57-serial-jsm-Use-port-lock-wrappers.patch | 6 +-
...rial-liteuart-Use-port-lock-wrappers.patch | 6 +-
...al-lpc32xx_hs-Use-port-lock-wrappers.patch | 6 +-
...serial-ma35d1-Use-port-lock-wrappers.patch | 6 +-
...61-serial-mcf-Use-port-lock-wrappers.patch | 6 +-
...men_z135_uart-Use-port-lock-wrappers.patch | 6 +-
...-serial-meson-Use-port-lock-wrappers.patch | 6 +-
...milbeaut_usio-Use-port-lock-wrappers.patch | 6 +-
...erial-mpc52xx-Use-port-lock-wrappers.patch | 6 +-
...ial-mps2-uart-Use-port-lock-wrappers.patch | 6 +-
...67-serial-msm-Use-port-lock-wrappers.patch | 6 +-
...al-mvebu-uart-Use-port-lock-wrappers.patch | 6 +-
...9-serial-omap-Use-port-lock-wrappers.patch | 6 +-
...70-serial-owl-Use-port-lock-wrappers.patch | 6 +-
...71-serial-pch-Use-port-lock-wrappers.patch | 6 +-
...-serial-pic32-Use-port-lock-wrappers.patch | 6 +-
...al-pmac_zilog-Use-port-lock-wrappers.patch | 6 +-
...74-serial-pxa-Use-port-lock-wrappers.patch | 6 +-
...ial-qcom-geni-Use-port-lock-wrappers.patch | 10 +-
...76-serial-rda-Use-port-lock-wrappers.patch | 6 +-
...77-serial-rp2-Use-port-lock-wrappers.patch | 6 +-
...serial-sa1100-Use-port-lock-wrappers.patch | 6 +-
...l-samsung_tty-Use-port-lock-wrappers.patch | 26 +-
...-sb1250-duart-Use-port-lock-wrappers.patch | 6 +-
...ial-sc16is7xx-Use-port-lock-wrappers.patch | 6 +-
...-serial-tegra-Use-port-lock-wrappers.patch | 6 +-
...3-serial-core-Use-port-lock-wrappers.patch | 12 +-
...al-mctrl_gpio-Use-port-lock-wrappers.patch | 6 +-
...5-serial-txx9-Use-port-lock-wrappers.patch | 6 +-
...serial-sh-sci-Use-port-lock-wrappers.patch | 6 +-
...serial-sifive-Use-port-lock-wrappers.patch | 6 +-
...8-serial-sprd-Use-port-lock-wrappers.patch | 6 +-
...serial-st-asc-Use-port-lock-wrappers.patch | 6 +-
...-serial-stm32-Use-port-lock-wrappers.patch | 36 +--
...-serial-sunhv-Use-port-lock-wrappers.patch | 6 +-
...-sunplus-uart-Use-port-lock-wrappers.patch | 6 +-
...serial-sunsab-Use-port-lock-wrappers.patch | 6 +-
...-serial-sunsu-Use-port-lock-wrappers.patch | 6 +-
...rial-sunzilog-Use-port-lock-wrappers.patch | 6 +-
...rial-timbuart-Use-port-lock-wrappers.patch | 6 +-
...rial-uartlite-Use-port-lock-wrappers.patch | 6 +-
...rial-ucc_uart-Use-port-lock-wrappers.patch | 6 +-
...serial-vt8500-Use-port-lock-wrappers.patch | 6 +-
...xilinx_uartps-Use-port-lock-wrappers.patch | 6 +-
...KL-nbcon-console-basic-infrastructur.patch | 14 +-
...intk-nbcon-Add-acquire-release-logic.patch | 6 +-
...ic-printk-buffers-available-to-nbcon.patch | 12 +-
...4-printk-nbcon-Add-buffer-management.patch | 16 +-
...-nbcon-Add-ownership-state-functions.patch | 6 +-
...6-printk-nbcon-Add-sequence-handling.patch | 18 +-
...-emit-function-and-callback-function.patch | 12 +-
...ow-drivers-to-mark-unsafe-regions-an.patch | 6 +-
...legal-pbufs-access-for-CONFIG_PRINTK.patch | 18 +-
...-printk-Reduce-pr_flush-pooling-time.patch | 14 +-
...intk-nbcon-Relocate-32bit-seq-macros.patch | 6 +-
...-Adjust-mapping-for-32bit-seq-macros.patch | 6 +-
...irst_seq-as-base-for-32bit-seq-macro.patch | 6 +-
...r-Do-not-skip-non-finalized-records-.patch | 6 +-
...ngbuffer-Clarify-special-lpos-values.patch | 6 +-
...ess_panic_printk-check-for-other-CPU.patch | 10 +-
.../0117-printk-Add-this_cpu_in_panic.patch | 10 +-
...ingbuffer-Cleanup-reader-terminology.patch | 6 +-
...r-all-reserved-records-with-pr_flush.patch | 10 +-
...r-Skip-non-finalized-records-in-pani.patch | 6 +-
...r-Consider-committed-as-finalized-in.patch | 6 +-
...on-panic-CPUs-writing-to-ringbuffer.patch} | 14 +-
...assing-console-lock-owner-completely.patch | 112 --------
...-Flush-kernel-log-buffer-at-the-end.patch} | 6 +-
...der-nbcon-boot-consoles-on-seq-init.patch} | 10 +-
...se-notation-to-console_srcu-locking.patch} | 8 +-
...re-ownership-release-on-failed-emit.patch} | 6 +-
...k-printk_deferred_enter-_exit-usage.patch} | 6 +-
...ement-processing-in-port-lock-wrapp.patch} | 8 +-
...driver_enter-driver_exit-console-ca.patch} | 6 +-
...onsole_is_usable-available-to-nbcon.patch} | 10 +-
...-Let-console_is_usable-handle-nbcon.patch} | 6 +-
...lags-argument-for-console_is_usable.patch} | 12 +-
...ide-function-to-flush-using-write_a.patch} | 10 +-
...intk-Track-registered-boot-consoles.patch} | 14 +-
...nbcon-consoles-in-console_flush_all.patch} | 12 +-
...-Assign-priority-based-on-CPU-state.patch} | 6 +-
...-nbcon-Add-unsafe-flushing-on-panic.patch} | 6 +-
...ole_lock-dance-if-no-legacy-or-boot.patch} | 30 +-
...=> 0139-printk-Track-nbcon-consoles.patch} | 14 +-
...Coordinate-direct-printing-in-panic.patch} | 14 +-
...-nbcon-Implement-emergency-sections.patch} | 10 +-
...anic-Mark-emergency-section-in-warn.patch} | 6 +-
...anic-Mark-emergency-section-in-oops.patch} | 6 +-
...ark-emergency-section-in-rcu-stalls.patch} | 6 +-
...emergency-section-in-lockdep-splats.patch} | 6 +-
...k-nbcon-Introduce-printing-kthreads.patch} | 16 +-
...print-in-printk-context-on-shutdown.patch} | 10 +-
...on-Add-context-to-console_is_usable.patch} | 12 +-
...tk-nbcon-Add-printer-thread-wakeups.patch} | 14 +-
...con-Stop-threads-on-shutdown-reboot.patch} | 6 +-
...printk-nbcon-Start-printing-threads.patch} | 16 +-
...Add-nbcon-support-for-proc-consoles.patch} | 6 +-
...-sysfs-Add-nbcon-support-for-active.patch} | 6 +-
...ide-function-to-reacquire-ownership.patch} | 6 +-
...de-low-level-functions-to-port-lock.patch} | 8 +-
...serial-8250-Switch-to-nbcon-console.patch} | 20 +-
...Add-kthread-for-all-legacy-consoles.patch} | 34 +--
...t-drop-lockdep-annotation-from-seri.patch} | 8 +-
...e-positive-lockdep-report-for-legac.patch} | 16 +-
...mpt_disable-enable_rt-where-recomme.patch} | 6 +-
...sable-interrupts-on-PREEMPT_RT-duri.patch} | 6 +-
...eck-for-atomic-context-on-PREEMPT_R.patch} | 6 +-
...isable-tracing-points-on-PREEMPT_RT.patch} | 6 +-
..._I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch} | 6 +-
...ueue-and-wait-for-the-irq_work-item.patch} | 6 +-
...pin_lock_irq-instead-of-local_irq_d.patch} | 8 +-
...m-i915-Drop-the-irqs_disabled-check.patch} | 6 +-
...o-not-disable-preemption-for-resets.patch} | 6 +-
...onsider-also-RCU-depth-in-busy-loop.patch} | 6 +-
...evert-drm-i915-Depend-on-PREEMPT_RT.patch} | 6 +-
...0171-sched-define-TIF_ALLOW_RESCHED.patch} | 30 +-
...rm-Disable-jump-label-on-PREEMPT_RT.patch} | 8 +-
...-translation-section-permission-fau.patch} | 6 +-
...rial-omap-Make-the-locking-RT-aware.patch} | 6 +-
...l-pl011-Make-the-locking-work-on-RT.patch} | 8 +-
...fp-Provide-vfp_lock-for-VFP-locking.patch} | 6 +-
...fp-Use-vfp_lock-in-vfp_sync_hwstate.patch} | 6 +-
...p-Use-vfp_lock-in-vfp_support_entry.patch} | 6 +-
...ing-signals-outside-of-vfp_lock-ed-.patch} | 6 +-
...atch => 0180-ARM-Allow-to-enable-RT.patch} | 8 +-
...ch => 0181-ARM64-Allow-to-enable-RT.patch} | 8 +-
...> 0182-powerpc-traps-Use-PREEMPT_RT.patch} | 6 +-
...ommu-Use-a-locallock-instead-local_.patch} | 8 +-
...Select-the-generic-memory-allocator.patch} | 6 +-
...le-in-kernel-MPIC-emulation-for-PRE.patch} | 6 +-
...ector-work-around-stack-guard-init-.patch} | 6 +-
... => 0187-POWERPC-Allow-to-enable-RT.patch} | 6 +-
...misaligned-access-speed-in-parallel.patch} | 16 +-
...0189-riscv-add-PREEMPT_AUTO-support.patch} | 8 +-
...ch => 0190-riscv-allow-to-enable-RT.patch} | 8 +-
...sysfs-Add-sys-kernel-realtime-entry.patch} | 6 +-
...unaligned_acces-don-t-alloc-page-fo.patch} | 10 +-
...t-preempt_enable-within-an-instrume.patch} | 6 +-
...194-Add-localversion-for-RT-release.patch} | 6 +-
...ch => 0195-Linux-6.6.18-rt23-REBASE.patch} | 6 +-
..._GUP-on-PREEMPT_RT-if-HIGHPTE-is-als.patch | 42 +++
...e-locked_port-flag-to-struct-uart_po.patch | 96 +++++++
.../linux/0198-Linux-6.6.25-rt29-REBASE.patch | 20 ++
buildroot-external/uclibc.config | 257 ++++++++++++++++++
208 files changed, 1292 insertions(+), 989 deletions(-)
rename buildroot-external/patches/linux/{0123-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch => 0122-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch} (87%)
delete mode 100644 buildroot-external/patches/linux/0122-printk-Disable-passing-console-lock-owner-completely.patch
rename buildroot-external/patches/linux/{0124-panic-Flush-kernel-log-buffer-at-the-end.patch => 0123-panic-Flush-kernel-log-buffer-at-the-end.patch} (91%)
rename buildroot-external/patches/linux/{0125-printk-Consider-nbcon-boot-consoles-on-seq-init.patch => 0124-printk-Consider-nbcon-boot-consoles-on-seq-init.patch} (86%)
rename buildroot-external/patches/linux/{0126-printk-Add-sparse-notation-to-console_srcu-locking.patch => 0125-printk-Add-sparse-notation-to-console_srcu-locking.patch} (87%)
rename buildroot-external/patches/linux/{0127-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch => 0126-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch} (93%)
rename buildroot-external/patches/linux/{0128-printk-Check-printk_deferred_enter-_exit-usage.patch => 0127-printk-Check-printk_deferred_enter-_exit-usage.patch} (93%)
rename buildroot-external/patches/linux/{0129-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch => 0128-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch} (97%)
rename buildroot-external/patches/linux/{0130-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch => 0129-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch} (92%)
rename buildroot-external/patches/linux/{0131-printk-Make-console_is_usable-available-to-nbcon.patch => 0130-printk-Make-console_is_usable-available-to-nbcon.patch} (92%)
rename buildroot-external/patches/linux/{0132-printk-Let-console_is_usable-handle-nbcon.patch => 0131-printk-Let-console_is_usable-handle-nbcon.patch} (91%)
rename buildroot-external/patches/linux/{0133-printk-Add-flags-argument-for-console_is_usable.patch => 0132-printk-Add-flags-argument-for-console_is_usable.patch} (88%)
rename buildroot-external/patches/linux/{0134-printk-nbcon-Provide-function-to-flush-using-write_a.patch => 0133-printk-nbcon-Provide-function-to-flush-using-write_a.patch} (96%)
rename buildroot-external/patches/linux/{0135-printk-Track-registered-boot-consoles.patch => 0134-printk-Track-registered-boot-consoles.patch} (86%)
rename buildroot-external/patches/linux/{0136-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch => 0135-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch} (95%)
rename buildroot-external/patches/linux/{0137-printk-nbcon-Assign-priority-based-on-CPU-state.patch => 0136-printk-nbcon-Assign-priority-based-on-CPU-state.patch} (96%)
rename buildroot-external/patches/linux/{0138-printk-nbcon-Add-unsafe-flushing-on-panic.patch => 0137-printk-nbcon-Add-unsafe-flushing-on-panic.patch} (96%)
rename buildroot-external/patches/linux/{0139-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch => 0138-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch} (87%)
rename buildroot-external/patches/linux/{0140-printk-Track-nbcon-consoles.patch => 0139-printk-Track-nbcon-consoles.patch} (84%)
rename buildroot-external/patches/linux/{0141-printk-Coordinate-direct-printing-in-panic.patch => 0140-printk-Coordinate-direct-printing-in-panic.patch} (91%)
rename buildroot-external/patches/linux/{0142-printk-nbcon-Implement-emergency-sections.patch => 0141-printk-nbcon-Implement-emergency-sections.patch} (97%)
rename buildroot-external/patches/linux/{0143-panic-Mark-emergency-section-in-warn.patch => 0142-panic-Mark-emergency-section-in-warn.patch} (90%)
rename buildroot-external/patches/linux/{0144-panic-Mark-emergency-section-in-oops.patch => 0143-panic-Mark-emergency-section-in-oops.patch} (90%)
rename buildroot-external/patches/linux/{0145-rcu-Mark-emergency-section-in-rcu-stalls.patch => 0144-rcu-Mark-emergency-section-in-rcu-stalls.patch} (91%)
rename buildroot-external/patches/linux/{0146-lockdep-Mark-emergency-section-in-lockdep-splats.patch => 0145-lockdep-Mark-emergency-section-in-lockdep-splats.patch} (91%)
rename buildroot-external/patches/linux/{0147-printk-nbcon-Introduce-printing-kthreads.patch => 0146-printk-nbcon-Introduce-printing-kthreads.patch} (97%)
rename buildroot-external/patches/linux/{0148-printk-Atomic-print-in-printk-context-on-shutdown.patch => 0147-printk-Atomic-print-in-printk-context-on-shutdown.patch} (84%)
rename buildroot-external/patches/linux/{0149-printk-nbcon-Add-context-to-console_is_usable.patch => 0148-printk-nbcon-Add-context-to-console_is_usable.patch} (92%)
rename buildroot-external/patches/linux/{0150-printk-nbcon-Add-printer-thread-wakeups.patch => 0149-printk-nbcon-Add-printer-thread-wakeups.patch} (93%)
rename buildroot-external/patches/linux/{0151-printk-nbcon-Stop-threads-on-shutdown-reboot.patch => 0150-printk-nbcon-Stop-threads-on-shutdown-reboot.patch} (92%)
rename buildroot-external/patches/linux/{0152-printk-nbcon-Start-printing-threads.patch => 0151-printk-nbcon-Start-printing-threads.patch} (90%)
rename buildroot-external/patches/linux/{0153-proc-Add-nbcon-support-for-proc-consoles.patch => 0152-proc-Add-nbcon-support-for-proc-consoles.patch} (92%)
rename buildroot-external/patches/linux/{0154-tty-sysfs-Add-nbcon-support-for-active.patch => 0153-tty-sysfs-Add-nbcon-support-for-active.patch} (87%)
rename buildroot-external/patches/linux/{0155-printk-nbcon-Provide-function-to-reacquire-ownership.patch => 0154-printk-nbcon-Provide-function-to-reacquire-ownership.patch} (96%)
rename buildroot-external/patches/linux/{0156-serial-core-Provide-low-level-functions-to-port-lock.patch => 0155-serial-core-Provide-low-level-functions-to-port-lock.patch} (90%)
rename buildroot-external/patches/linux/{0157-serial-8250-Switch-to-nbcon-console.patch => 0156-serial-8250-Switch-to-nbcon-console.patch} (95%)
rename buildroot-external/patches/linux/{0158-printk-Add-kthread-for-all-legacy-consoles.patch => 0157-printk-Add-kthread-for-all-legacy-consoles.patch} (92%)
rename buildroot-external/patches/linux/{0159-serial-8250-revert-drop-lockdep-annotation-from-seri.patch => 0158-serial-8250-revert-drop-lockdep-annotation-from-seri.patch} (85%)
rename buildroot-external/patches/linux/{0160-printk-Avoid-false-positive-lockdep-report-for-legac.patch => 0159-printk-Avoid-false-positive-lockdep-report-for-legac.patch} (82%)
rename buildroot-external/patches/linux/{0161-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch => 0160-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch} (93%)
rename buildroot-external/patches/linux/{0162-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch => 0161-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch} (95%)
rename buildroot-external/patches/linux/{0163-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch => 0162-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch} (91%)
rename buildroot-external/patches/linux/{0164-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch => 0163-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch} (92%)
rename buildroot-external/patches/linux/{0165-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch => 0164-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch} (89%)
rename buildroot-external/patches/linux/{0166-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch => 0165-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch} (92%)
rename buildroot-external/patches/linux/{0167-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch => 0166-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch} (95%)
rename buildroot-external/patches/linux/{0168-drm-i915-Drop-the-irqs_disabled-check.patch => 0167-drm-i915-Drop-the-irqs_disabled-check.patch} (90%)
rename buildroot-external/patches/linux/{0169-drm-i915-Do-not-disable-preemption-for-resets.patch => 0168-drm-i915-Do-not-disable-preemption-for-resets.patch} (96%)
rename buildroot-external/patches/linux/{0170-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch => 0169-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch} (89%)
rename buildroot-external/patches/linux/{0171-Revert-drm-i915-Depend-on-PREEMPT_RT.patch => 0170-Revert-drm-i915-Depend-on-PREEMPT_RT.patch} (85%)
rename buildroot-external/patches/linux/{0172-sched-define-TIF_ALLOW_RESCHED.patch => 0171-sched-define-TIF_ALLOW_RESCHED.patch} (97%)
rename buildroot-external/patches/linux/{0173-arm-Disable-jump-label-on-PREEMPT_RT.patch => 0172-arm-Disable-jump-label-on-PREEMPT_RT.patch} (89%)
rename buildroot-external/patches/linux/{0174-ARM-enable-irq-in-translation-section-permission-fau.patch => 0173-ARM-enable-irq-in-translation-section-permission-fau.patch} (96%)
rename buildroot-external/patches/linux/{0175-tty-serial-omap-Make-the-locking-RT-aware.patch => 0174-tty-serial-omap-Make-the-locking-RT-aware.patch} (90%)
rename buildroot-external/patches/linux/{0176-tty-serial-pl011-Make-the-locking-work-on-RT.patch => 0175-tty-serial-pl011-Make-the-locking-work-on-RT.patch} (88%)
rename buildroot-external/patches/linux/{0177-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch => 0176-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch} (94%)
rename buildroot-external/patches/linux/{0178-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch => 0177-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch} (91%)
rename buildroot-external/patches/linux/{0179-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch => 0178-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch} (91%)
rename buildroot-external/patches/linux/{0180-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch => 0179-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch} (96%)
rename buildroot-external/patches/linux/{0181-ARM-Allow-to-enable-RT.patch => 0180-ARM-Allow-to-enable-RT.patch} (86%)
rename buildroot-external/patches/linux/{0182-ARM64-Allow-to-enable-RT.patch => 0181-ARM64-Allow-to-enable-RT.patch} (81%)
rename buildroot-external/patches/linux/{0183-powerpc-traps-Use-PREEMPT_RT.patch => 0182-powerpc-traps-Use-PREEMPT_RT.patch} (90%)
rename buildroot-external/patches/linux/{0184-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch => 0183-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch} (95%)
rename buildroot-external/patches/linux/{0185-powerpc-pseries-Select-the-generic-memory-allocator.patch => 0184-powerpc-pseries-Select-the-generic-memory-allocator.patch} (87%)
rename buildroot-external/patches/linux/{0186-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch => 0185-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch} (93%)
rename buildroot-external/patches/linux/{0187-powerpc-stackprotector-work-around-stack-guard-init-.patch => 0186-powerpc-stackprotector-work-around-stack-guard-init-.patch} (89%)
rename buildroot-external/patches/linux/{0188-POWERPC-Allow-to-enable-RT.patch => 0187-POWERPC-Allow-to-enable-RT.patch} (89%)
rename buildroot-external/patches/linux/{0189-RISC-V-Probe-misaligned-access-speed-in-parallel.patch => 0188-RISC-V-Probe-misaligned-access-speed-in-parallel.patch} (94%)
rename buildroot-external/patches/linux/{0190-riscv-add-PREEMPT_AUTO-support.patch => 0189-riscv-add-PREEMPT_AUTO-support.patch} (91%)
rename buildroot-external/patches/linux/{0191-riscv-allow-to-enable-RT.patch => 0190-riscv-allow-to-enable-RT.patch} (81%)
rename buildroot-external/patches/linux/{0192-sysfs-Add-sys-kernel-realtime-entry.patch => 0191-sysfs-Add-sys-kernel-realtime-entry.patch} (91%)
rename buildroot-external/patches/linux/{0193-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch => 0192-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch} (81%)
rename buildroot-external/patches/linux/{0194-Revert-preempt-Put-preempt_enable-within-an-instrume.patch => 0193-Revert-preempt-Put-preempt_enable-within-an-instrume.patch} (90%)
rename buildroot-external/patches/linux/{0195-Add-localversion-for-RT-release.patch => 0194-Add-localversion-for-RT-release.patch} (75%)
rename buildroot-external/patches/linux/{0196-Linux-6.6.18-rt23-REBASE.patch => 0195-Linux-6.6.18-rt23-REBASE.patch} (76%)
create mode 100644 buildroot-external/patches/linux/0196-arm-Disable-FAST_GUP-on-PREEMPT_RT-if-HIGHPTE-is-als.patch
create mode 100644 buildroot-external/patches/linux/0197-printk-nbcon-move-locked_port-flag-to-struct-uart_po.patch
create mode 100644 buildroot-external/patches/linux/0198-Linux-6.6.25-rt29-REBASE.patch
create mode 100644 buildroot-external/uclibc.config
diff --git a/Makefile b/Makefile
index f4dd0b6b..2d2897a3 100644
--- a/Makefile
+++ b/Makefile
@@ -57,6 +57,9 @@ busybox-menuconfig:
swupdate-menuconfig:
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) swupdate-menuconfig
+uclibc-menuconfig:
+ $(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) uclibc-menuconfig
+
savedefconfig:
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) savedefconfig
diff --git a/buildroot b/buildroot
index 093b88df..2ea8cb50 160000
--- a/buildroot
+++ b/buildroot
@@ -1 +1 @@
-Subproject commit 093b88df32925edd53b9a201ad3ae2a1c1fde26d
+Subproject commit 2ea8cb5076fa06c656096868b9e18fbd2ff52c70
diff --git a/buildroot-external/busybox.config b/buildroot-external/busybox.config
index d71ad832..23a901c0 100644
--- a/buildroot-external/busybox.config
+++ b/buildroot-external/busybox.config
@@ -1,14 +1,14 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.36.1
-# Sat Sep 2 08:34:33 2023
+# Fri Mar 29 11:40:35 2024
#
CONFIG_HAVE_DOT_CONFIG=y
#
# Settings
#
-CONFIG_DESKTOP=y
+# CONFIG_DESKTOP is not set
# CONFIG_EXTRA_COMPAT is not set
# CONFIG_FEDORA_COMPAT is not set
# CONFIG_INCLUDE_SUSv2 is not set
@@ -192,9 +192,9 @@ CONFIG_FEATURE_TAR_TO_COMMAND=y
# CONFIG_FEATURE_TAR_SELINUX is not set
CONFIG_UNZIP=y
CONFIG_FEATURE_UNZIP_CDF=y
-CONFIG_FEATURE_UNZIP_BZIP2=y
-CONFIG_FEATURE_UNZIP_LZMA=y
-CONFIG_FEATURE_UNZIP_XZ=y
+# CONFIG_FEATURE_UNZIP_BZIP2 is not set
+# CONFIG_FEATURE_UNZIP_LZMA is not set
+# CONFIG_FEATURE_UNZIP_XZ is not set
# CONFIG_FEATURE_LZMA_FAST is not set
#
@@ -205,7 +205,7 @@ CONFIG_FEATURE_VERBOSE=y
#
# Common options for date and touch
#
-CONFIG_FEATURE_TIMEZONE=y
+# CONFIG_FEATURE_TIMEZONE is not set
#
# Common options for cp and mv
@@ -508,7 +508,7 @@ CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
# CONFIG_FEATURE_WAIT_FOR_INIT is not set
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
-# CONFIG_INIT is not set
+CONFIG_INIT=y
# CONFIG_LINUXRC is not set
# CONFIG_FEATURE_USE_INITTAB is not set
# CONFIG_FEATURE_KILL_REMOVED is not set
@@ -1071,11 +1071,11 @@ CONFIG_FEATURE_PIDOF_OMIT=y
# CONFIG_POWERTOP is not set
# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set
CONFIG_PS=y
-# CONFIG_FEATURE_PS_WIDE is not set
-# CONFIG_FEATURE_PS_LONG is not set
-CONFIG_FEATURE_PS_TIME=y
+CONFIG_FEATURE_PS_WIDE=y
+CONFIG_FEATURE_PS_LONG=y
+# CONFIG_FEATURE_PS_TIME is not set
# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
+# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
# CONFIG_PSTREE is not set
# CONFIG_PWDX is not set
# CONFIG_SMEMCAP is not set
diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig
index dfcd6271..8ff1ad7c 100644
--- a/buildroot-external/configs/rpi3_64_defconfig
+++ b/buildroot-external/configs/rpi3_64_defconfig
@@ -30,7 +30,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi3"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,5e78d297b997dcc7a78ba747a62fb28d0b6a10d8)/linux-5e78d297b997dcc7a78ba747a62fb28d0b6a10d8.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,37573248884ec252165a246df21642c52573f013)/linux-37573248884ec252165a246df21642c52573f013.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -266,7 +266,6 @@ BR2_PACKAGE_RSYSLOG=y
BR2_PACKAGE_SHADOW=y
BR2_PACKAGE_SHADOW_SHADOWGRP=y
BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID=y
-BR2_PACKAGE_SHADOW_UTMPX=y
BR2_PACKAGE_SHADOW_SUBORDINATE_IDS=y
BR2_PACKAGE_SWUPDATE=y
BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config"
diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig
index 82397504..9e6c104c 100644
--- a/buildroot-external/configs/rpi4_64_defconfig
+++ b/buildroot-external/configs/rpi4_64_defconfig
@@ -27,7 +27,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,9e78addad23f9fc66b0c6399d9234e44a89d699a)/linux-9e78addad23f9fc66b0c6399d9234e44a89d699a.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,37573248884ec252165a246df21642c52573f013)/linux-37573248884ec252165a246df21642c52573f013.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -260,7 +260,6 @@ BR2_PACKAGE_RSYSLOG=y
BR2_PACKAGE_SHADOW=y
BR2_PACKAGE_SHADOW_SHADOWGRP=y
BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID=y
-BR2_PACKAGE_SHADOW_UTMPX=y
BR2_PACKAGE_SHADOW_SUBORDINATE_IDS=y
BR2_PACKAGE_SWUPDATE=y
BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config"
diff --git a/buildroot-external/configs/x86_64_defconfig b/buildroot-external/configs/x86_64_defconfig
index 55efdd74..2751fb82 100644
--- a/buildroot-external/configs/x86_64_defconfig
+++ b/buildroot-external/configs/x86_64_defconfig
@@ -29,7 +29,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/pc"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.14"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.25"
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/pc/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -280,7 +280,6 @@ BR2_PACKAGE_RSYSLOG=y
BR2_PACKAGE_SHADOW=y
BR2_PACKAGE_SHADOW_SHADOWGRP=y
BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID=y
-BR2_PACKAGE_SHADOW_UTMPX=y
BR2_PACKAGE_SHADOW_SUBORDINATE_IDS=y
BR2_PACKAGE_SWUPDATE=y
BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config"
diff --git a/buildroot-external/package/vocalfusion/vocalfusion.hash b/buildroot-external/package/vocalfusion/vocalfusion.hash
index 6db63aab..5a1cfc88 100644
--- a/buildroot-external/package/vocalfusion/vocalfusion.hash
+++ b/buildroot-external/package/vocalfusion/vocalfusion.hash
@@ -1,2 +1,2 @@
# Locally computed
-sha256 c974fd4a6eeac9ce676827ca617674ee43ad40c98c31e6dd0a878591467ecd69 vocalfusion-fdf7e4efbe3237d68eb0d00388e57b0c891366b3.tar.gz
+sha256 0eb24e52f975eed46978cbfb2d3660529c8a2ee04eb0ca859dbe1736303ab17f vocalfusion-b56f5c8751918a0a2505b9ae94631d6b72b8e7b0.tar.gz
diff --git a/buildroot-external/package/vocalfusion/vocalfusion.mk b/buildroot-external/package/vocalfusion/vocalfusion.mk
index 1d6fcb92..b22f3acf 100644
--- a/buildroot-external/package/vocalfusion/vocalfusion.mk
+++ b/buildroot-external/package/vocalfusion/vocalfusion.mk
@@ -4,7 +4,7 @@
#
################################################################################
-VOCALFUSION_VERSION = fdf7e4efbe3237d68eb0d00388e57b0c891366b3
+VOCALFUSION_VERSION = b56f5c8751918a0a2505b9ae94631d6b72b8e7b0
VOCALFUSION_SITE = $(call github,OpenVoiceOS,VocalFusionDriver,$(VOCALFUSION_VERSION))
VOCALFUSION_MODULE_SUBDIRS = driver
diff --git a/buildroot-external/patches/linux/0001-sched-Constrain-locks-in-sched_submit_work.patch b/buildroot-external/patches/linux/0001-sched-Constrain-locks-in-sched_submit_work.patch
index 64b8ac03..0e7811ac 100644
--- a/buildroot-external/patches/linux/0001-sched-Constrain-locks-in-sched_submit_work.patch
+++ b/buildroot-external/patches/linux/0001-sched-Constrain-locks-in-sched_submit_work.patch
@@ -1,7 +1,7 @@
-From f75402b89331eb0888900ae15fe7a8ec08564e90 Mon Sep 17 00:00:00 2001
+From 75831a0c7ffb6d0882e51932376528634e26c979 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra
Date: Fri, 8 Sep 2023 18:22:48 +0200
-Subject: [PATCH 001/196] sched: Constrain locks in sched_submit_work()
+Subject: [PATCH 001/198] sched: Constrain locks in sched_submit_work()
Even though sched_submit_work() is ran from preemptible context,
it is discouraged to have it use blocking locks due to the recursion
@@ -18,7 +18,7 @@ Link: https://lkml.kernel.org/r/20230908162254.999499-2-bigeasy@linutronix.de
1 file changed, 9 insertions(+)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
-index a854b71836dd..a9bf40d18cec 100644
+index 1f91e2c12731..73949b8a55d2 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6721,11 +6721,18 @@ void __noreturn do_task_dead(void)
@@ -50,5 +50,5 @@ index a854b71836dd..a9bf40d18cec 100644
static void sched_update_worker(struct task_struct *tsk)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0002-locking-rtmutex-Avoid-unconditional-slowpath-for-DEB.patch b/buildroot-external/patches/linux/0002-locking-rtmutex-Avoid-unconditional-slowpath-for-DEB.patch
index f9871a5b..62256b7a 100644
--- a/buildroot-external/patches/linux/0002-locking-rtmutex-Avoid-unconditional-slowpath-for-DEB.patch
+++ b/buildroot-external/patches/linux/0002-locking-rtmutex-Avoid-unconditional-slowpath-for-DEB.patch
@@ -1,7 +1,7 @@
-From ac013e45d292b1339ee9da48307bc36e860e075e Mon Sep 17 00:00:00 2001
+From b37a6d8e83b287d53965b7a90e912a9b43d39fd0 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 8 Sep 2023 18:22:49 +0200
-Subject: [PATCH 002/196] locking/rtmutex: Avoid unconditional slowpath for
+Subject: [PATCH 002/198] locking/rtmutex: Avoid unconditional slowpath for
DEBUG_RT_MUTEXES
With DEBUG_RT_MUTEXES enabled the fast-path rt_mutex_cmpxchg_acquire()
@@ -82,5 +82,5 @@ index d1473c624105..c7196de838ed 100644
ww_mutex_set_context_fastpath(lock, ww_ctx);
return 0;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0003-sched-Extract-__schedule_loop.patch b/buildroot-external/patches/linux/0003-sched-Extract-__schedule_loop.patch
index 428c227c..5aea1962 100644
--- a/buildroot-external/patches/linux/0003-sched-Extract-__schedule_loop.patch
+++ b/buildroot-external/patches/linux/0003-sched-Extract-__schedule_loop.patch
@@ -1,7 +1,7 @@
-From 441d37212b3185e39a4eba30acb9f2aefc8f157a Mon Sep 17 00:00:00 2001
+From 1878b10b7153990220aa3a02b8c92e1528701093 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Fri, 8 Sep 2023 18:22:50 +0200
-Subject: [PATCH 003/196] sched: Extract __schedule_loop()
+Subject: [PATCH 003/198] sched: Extract __schedule_loop()
There are currently two implementations of this basic __schedule()
loop, and there is soon to be a third.
@@ -15,7 +15,7 @@ Link: https://lkml.kernel.org/r/20230908162254.999499-4-bigeasy@linutronix.de
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
-index a9bf40d18cec..ed5f5e3f6239 100644
+index 73949b8a55d2..4498af52cf47 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6771,16 +6771,21 @@ static void sched_update_worker(struct task_struct *tsk)
@@ -59,5 +59,5 @@ index a9bf40d18cec..ed5f5e3f6239 100644
NOKPROBE_SYMBOL(schedule_rtlock);
#endif
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0004-sched-Provide-rt_mutex-specific-scheduler-helpers.patch b/buildroot-external/patches/linux/0004-sched-Provide-rt_mutex-specific-scheduler-helpers.patch
index 8e2fe451..8dcfb0e2 100644
--- a/buildroot-external/patches/linux/0004-sched-Provide-rt_mutex-specific-scheduler-helpers.patch
+++ b/buildroot-external/patches/linux/0004-sched-Provide-rt_mutex-specific-scheduler-helpers.patch
@@ -1,7 +1,7 @@
-From a8e46d57627a4d965d528b7ba8ed107d500257f6 Mon Sep 17 00:00:00 2001
+From d779fa7b0b348557ed9e2f0a3a5a7710e1aa5c89 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra
Date: Fri, 8 Sep 2023 18:22:51 +0200
-Subject: [PATCH 004/196] sched: Provide rt_mutex specific scheduler helpers
+Subject: [PATCH 004/198] sched: Provide rt_mutex specific scheduler helpers
With PREEMPT_RT there is a rt_mutex recursion problem where
sched_submit_work() can use an rtlock (aka spinlock_t). More
@@ -72,7 +72,7 @@ index 994c25640e15..b2b9e6eb9683 100644
* Must hold either p->pi_lock or task_rq(p)->lock.
*/
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
-index ed5f5e3f6239..90f9124ac027 100644
+index 4498af52cf47..d703c5427cf2 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6724,9 +6724,6 @@ static inline void sched_submit_work(struct task_struct *tsk)
@@ -133,5 +133,5 @@ index ed5f5e3f6239..90f9124ac027 100644
{
if (pi_task)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0005-locking-rtmutex-Use-rt_mutex-specific-scheduler-help.patch b/buildroot-external/patches/linux/0005-locking-rtmutex-Use-rt_mutex-specific-scheduler-help.patch
index 6ca01031..72e32e6c 100644
--- a/buildroot-external/patches/linux/0005-locking-rtmutex-Use-rt_mutex-specific-scheduler-help.patch
+++ b/buildroot-external/patches/linux/0005-locking-rtmutex-Use-rt_mutex-specific-scheduler-help.patch
@@ -1,7 +1,7 @@
-From 1516b657591d065dbad2dbcd031a419802536191 Mon Sep 17 00:00:00 2001
+From 0655b5650cdb7f54ec9ab9ccf5fcf15136d0bf56 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 8 Sep 2023 18:22:52 +0200
-Subject: [PATCH 005/196] locking/rtmutex: Use rt_mutex specific scheduler
+Subject: [PATCH 005/198] locking/rtmutex: Use rt_mutex specific scheduler
helpers
Have rt_mutex use the rt_mutex specific scheduler helpers to avoid
@@ -187,5 +187,5 @@ index 48a19ed8486d..842037b2ba54 100644
/*
* The common functions which get wrapped into the rwlock API.
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0006-locking-rtmutex-Add-a-lockdep-assert-to-catch-potent.patch b/buildroot-external/patches/linux/0006-locking-rtmutex-Add-a-lockdep-assert-to-catch-potent.patch
index 0053dc4a..cfd61011 100644
--- a/buildroot-external/patches/linux/0006-locking-rtmutex-Add-a-lockdep-assert-to-catch-potent.patch
+++ b/buildroot-external/patches/linux/0006-locking-rtmutex-Add-a-lockdep-assert-to-catch-potent.patch
@@ -1,7 +1,7 @@
-From 6e0ef4c9025663e48a28d0f9f37117f7468884b9 Mon Sep 17 00:00:00 2001
+From b7040e508fc47a6a766cba8d7f827b521d97dc83 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Fri, 8 Sep 2023 18:22:53 +0200
-Subject: [PATCH 006/196] locking/rtmutex: Add a lockdep assert to catch
+Subject: [PATCH 006/198] locking/rtmutex: Add a lockdep assert to catch
potential nested blocking
There used to be a BUG_ON(current->pi_blocked_on) in the lock acquisition
@@ -62,5 +62,5 @@ index 842037b2ba54..38e292454fcc 100644
rtlock_slowlock(rtm);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0007-futex-pi-Fix-recursive-rt_mutex-waiter-state.patch b/buildroot-external/patches/linux/0007-futex-pi-Fix-recursive-rt_mutex-waiter-state.patch
index a3ba02c2..29e5444b 100644
--- a/buildroot-external/patches/linux/0007-futex-pi-Fix-recursive-rt_mutex-waiter-state.patch
+++ b/buildroot-external/patches/linux/0007-futex-pi-Fix-recursive-rt_mutex-waiter-state.patch
@@ -1,7 +1,7 @@
-From c727d5f5dcbe3a30ed56920957f32cade3dfd2cf Mon Sep 17 00:00:00 2001
+From f873113440e07c042dc805df19c8e2ecd3fd5839 Mon Sep 17 00:00:00 2001
From: Peter Zijlstra
Date: Fri, 15 Sep 2023 17:19:44 +0200
-Subject: [PATCH 007/196] futex/pi: Fix recursive rt_mutex waiter state
+Subject: [PATCH 007/198] futex/pi: Fix recursive rt_mutex waiter state
Some new assertions pointed out that the existing code has nested rt_mutex wait
state in the futex code.
@@ -200,5 +200,5 @@ index cba8b1a6a4cc..4c73e0b81acc 100644
/*
* Fixup the pi_state owner and possibly acquire the lock if we
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0008-signal-Add-proper-comment-about-the-preempt-disable-.patch b/buildroot-external/patches/linux/0008-signal-Add-proper-comment-about-the-preempt-disable-.patch
index 8171fd92..db7138ff 100644
--- a/buildroot-external/patches/linux/0008-signal-Add-proper-comment-about-the-preempt-disable-.patch
+++ b/buildroot-external/patches/linux/0008-signal-Add-proper-comment-about-the-preempt-disable-.patch
@@ -1,7 +1,7 @@
-From ed5e3fcceec56a9401a00bfdd6e2545e064ea774 Mon Sep 17 00:00:00 2001
+From 3905f3b627b3ff024c9521d2be49a5077ff79184 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 3 Aug 2023 12:09:31 +0200
-Subject: [PATCH 008/196] signal: Add proper comment about the preempt-disable
+Subject: [PATCH 008/198] signal: Add proper comment about the preempt-disable
in ptrace_stop().
Commit 53da1d9456fe7 ("fix ptrace slowness") added a preempt-disable section
@@ -48,5 +48,5 @@ index 09019017d669..051ed8114cd4 100644
preempt_disable();
read_unlock(&tasklist_lock);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0009-signal-Don-t-disable-preemption-in-ptrace_stop-on-PR.patch b/buildroot-external/patches/linux/0009-signal-Don-t-disable-preemption-in-ptrace_stop-on-PR.patch
index 6db31427..bbf81c65 100644
--- a/buildroot-external/patches/linux/0009-signal-Don-t-disable-preemption-in-ptrace_stop-on-PR.patch
+++ b/buildroot-external/patches/linux/0009-signal-Don-t-disable-preemption-in-ptrace_stop-on-PR.patch
@@ -1,7 +1,7 @@
-From b9cc1762c1cb78dc3ea579526c2810aaa5095b76 Mon Sep 17 00:00:00 2001
+From 95d0354ab790443cc09ef6185c09be99540a33f5 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 3 Aug 2023 12:09:32 +0200
-Subject: [PATCH 009/196] signal: Don't disable preemption in ptrace_stop() on
+Subject: [PATCH 009/198] signal: Don't disable preemption in ptrace_stop() on
PREEMPT_RT.
On PREEMPT_RT keeping preemption disabled during the invocation of
@@ -49,5 +49,5 @@ index 051ed8114cd4..b71026341056 100644
cgroup_leave_frozen(true);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0010-drm-amd-display-Remove-migrate_en-dis-from-dc_fpu_be.patch b/buildroot-external/patches/linux/0010-drm-amd-display-Remove-migrate_en-dis-from-dc_fpu_be.patch
index a0a419c2..8dafd8ba 100644
--- a/buildroot-external/patches/linux/0010-drm-amd-display-Remove-migrate_en-dis-from-dc_fpu_be.patch
+++ b/buildroot-external/patches/linux/0010-drm-amd-display-Remove-migrate_en-dis-from-dc_fpu_be.patch
@@ -1,7 +1,7 @@
-From 940963fd380191ddc53a1519e9a43e9f64acff7d Mon Sep 17 00:00:00 2001
+From 72f23865ddf0ce1b0a37393e990eaaad3d8d4c1d Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 21 Sep 2023 16:15:12 +0200
-Subject: [PATCH 010/196] drm/amd/display: Remove migrate_en/dis from
+Subject: [PATCH 010/198] drm/amd/display: Remove migrate_en/dis from
dc_fpu_begin().
This is a revert of the commit mentioned below while it is not wrong, as
@@ -87,5 +87,5 @@ index 172aa10a8800..86f4c0e04654 100644
if (cpu_has_feature(CPU_FTR_VSX_COMP)) {
disable_kernel_vsx();
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0011-drm-amd-display-Simplify-the-per-CPU-usage.patch b/buildroot-external/patches/linux/0011-drm-amd-display-Simplify-the-per-CPU-usage.patch
index 4b7fdb8a..56e451ad 100644
--- a/buildroot-external/patches/linux/0011-drm-amd-display-Simplify-the-per-CPU-usage.patch
+++ b/buildroot-external/patches/linux/0011-drm-amd-display-Simplify-the-per-CPU-usage.patch
@@ -1,7 +1,7 @@
-From 5a4030acca5d80c89c7c5d456ce6d368c8b06c3d Mon Sep 17 00:00:00 2001
+From fcb8291bf9d00b262c0d719c4fd11099b5e2407e Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 21 Sep 2023 16:15:13 +0200
-Subject: [PATCH 011/196] drm/amd/display: Simplify the per-CPU usage.
+Subject: [PATCH 011/198] drm/amd/display: Simplify the per-CPU usage.
The fpu_recursion_depth counter is used to ensure that dc_fpu_begin()
can be invoked multiple times while the FPU-disable function itself is
@@ -128,5 +128,5 @@ index 86f4c0e04654..8bd5926b47e0 100644
+ preempt_enable();
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0012-drm-amd-display-Add-a-warning-if-the-FPU-is-used-out.patch b/buildroot-external/patches/linux/0012-drm-amd-display-Add-a-warning-if-the-FPU-is-used-out.patch
index c6e067c6..3775ad1e 100644
--- a/buildroot-external/patches/linux/0012-drm-amd-display-Add-a-warning-if-the-FPU-is-used-out.patch
+++ b/buildroot-external/patches/linux/0012-drm-amd-display-Add-a-warning-if-the-FPU-is-used-out.patch
@@ -1,7 +1,7 @@
-From 571a36167db85f02eee543494804642690368288 Mon Sep 17 00:00:00 2001
+From c9e3099dae058e513e74091141f71dfd9e67aefa Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 21 Sep 2023 16:15:14 +0200
-Subject: [PATCH 012/196] drm/amd/display: Add a warning if the FPU is used
+Subject: [PATCH 012/198] drm/amd/display: Add a warning if the FPU is used
outside from task context.
Add a warning if the FPU is used from any context other than task
@@ -27,5 +27,5 @@ index 8bd5926b47e0..4ae4720535a5 100644
depth = __this_cpu_inc_return(fpu_recursion_depth);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0013-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch b/buildroot-external/patches/linux/0013-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch
index 7369fc7a..1f49f8c1 100644
--- a/buildroot-external/patches/linux/0013-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch
+++ b/buildroot-external/patches/linux/0013-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch
@@ -1,7 +1,7 @@
-From ac9bf004c54c34415488830ec5cbdd2c85a77619 Mon Sep 17 00:00:00 2001
+From 660089faa4f04d68ff2dbce32b7ccd8532978704 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 21 Sep 2023 16:15:15 +0200
-Subject: [PATCH 013/196] drm/amd/display: Move the memory allocation out of
+Subject: [PATCH 013/198] drm/amd/display: Move the memory allocation out of
dcn21_validate_bandwidth_fp().
dcn21_validate_bandwidth_fp() is invoked while FPU access has been
@@ -92,5 +92,5 @@ index c51badf7b68a..a81a0b9e6884 100644
void dcn21_clk_mgr_set_bw_params_wm_table(struct clk_bw_params *bw_params);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0014-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch b/buildroot-external/patches/linux/0014-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch
index 8a412c87..df38fc38 100644
--- a/buildroot-external/patches/linux/0014-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch
+++ b/buildroot-external/patches/linux/0014-drm-amd-display-Move-the-memory-allocation-out-of-dc.patch
@@ -1,7 +1,7 @@
-From 3f2c3255ff61a58382c5a9ade34c950b92fa2a10 Mon Sep 17 00:00:00 2001
+From a9ce8a34cfe43f0ea168ad2efea0fd0c1fd14a2a Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 21 Sep 2023 16:15:16 +0200
-Subject: [PATCH 014/196] drm/amd/display: Move the memory allocation out of
+Subject: [PATCH 014/198] drm/amd/display: Move the memory allocation out of
dcn20_validate_bandwidth_fp().
dcn20_validate_bandwidth_fp() is invoked while FPU access has been
@@ -126,5 +126,5 @@ index a81a0b9e6884..b6c34198ddc8 100644
struct pp_smu_wm_range_sets *ranges,
struct _vcs_dpi_soc_bounding_box_st *loaded_bb);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0015-net-Avoid-the-IPI-to-free-the.patch b/buildroot-external/patches/linux/0015-net-Avoid-the-IPI-to-free-the.patch
index 9485d160..d33f7236 100644
--- a/buildroot-external/patches/linux/0015-net-Avoid-the-IPI-to-free-the.patch
+++ b/buildroot-external/patches/linux/0015-net-Avoid-the-IPI-to-free-the.patch
@@ -1,7 +1,7 @@
-From 1ae5a33601b65a31467bdb074b566d48296b1359 Mon Sep 17 00:00:00 2001
+From 26b7ede776b83df57ce0ab06a5c545490759070b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Mon, 15 Aug 2022 17:29:50 +0200
-Subject: [PATCH 015/196] net: Avoid the IPI to free the
+Subject: [PATCH 015/198] net: Avoid the IPI to free the
skb_attempt_defer_free() collects a skbs, which was allocated on a
remote CPU, on a per-CPU list. These skbs are either freed on that
@@ -40,7 +40,7 @@ index b8e60a20416b..ffa5248a90e2 100644
static inline void input_queue_head_incr(struct softnet_data *sd)
diff --git a/net/core/dev.c b/net/core/dev.c
-index d72a4ff689ca..3c08e3dd115b 100644
+index 1f6c8945f2ec..1e8928cd3c75 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4705,15 +4705,6 @@ static void rps_trigger_softirq(void *data)
@@ -92,7 +92,7 @@ index d72a4ff689ca..3c08e3dd115b 100644
static int napi_threaded_poll(void *data)
{
struct napi_struct *napi = data;
-@@ -11615,7 +11632,11 @@ static int __init net_dev_init(void)
+@@ -11618,7 +11635,11 @@ static int __init net_dev_init(void)
INIT_CSD(&sd->csd, rps_trigger_softirq, sd);
sd->cpu = i;
#endif
@@ -105,10 +105,10 @@ index d72a4ff689ca..3c08e3dd115b 100644
init_gro_hash(&sd->backlog);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index 011d69029112..9a9fbe18bf2f 100644
+index 60876262b3fb..02e2bab1ed8d 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
-@@ -6844,8 +6844,13 @@ nodefer: __kfree_skb(skb);
+@@ -6852,8 +6852,13 @@ nodefer: __kfree_skb(skb);
/* Make sure to trigger NET_RX_SOFTIRQ on the remote CPU
* if we are unlucky enough (this seems very unlikely).
*/
@@ -124,5 +124,5 @@ index 011d69029112..9a9fbe18bf2f 100644
static void skb_splice_csum_page(struct sk_buff *skb, struct page *page,
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0016-x86-Allow-to-enable-RT.patch b/buildroot-external/patches/linux/0016-x86-Allow-to-enable-RT.patch
index fc773f62..977db648 100644
--- a/buildroot-external/patches/linux/0016-x86-Allow-to-enable-RT.patch
+++ b/buildroot-external/patches/linux/0016-x86-Allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
-From d312cf65a294c2b7b473cb487f8bda3161b9d72d Mon Sep 17 00:00:00 2001
+From 98c9c62ae579439b1f83ddbeb9d9cf04842c1b6e Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 7 Aug 2019 18:15:38 +0200
-Subject: [PATCH 016/196] x86: Allow to enable RT
+Subject: [PATCH 016/198] x86: Allow to enable RT
Allow to select RT.
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner
1 file changed, 1 insertion(+)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index fe3292e310d4..984068efd48b 100644
+index 4b81e884a614..b9c1a286dddc 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -28,6 +28,7 @@ config X86_64
@@ -24,5 +24,5 @@ index fe3292e310d4..984068efd48b 100644
select HAVE_ARCH_SOFT_DIRTY
select MODULES_USE_ELF_RELA
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0017-x86-Enable-RT-also-on-32bit.patch b/buildroot-external/patches/linux/0017-x86-Enable-RT-also-on-32bit.patch
index 01577723..b60b1d69 100644
--- a/buildroot-external/patches/linux/0017-x86-Enable-RT-also-on-32bit.patch
+++ b/buildroot-external/patches/linux/0017-x86-Enable-RT-also-on-32bit.patch
@@ -1,7 +1,7 @@
-From 06505d443d8b5674ebf4577ce6f372c939a36998 Mon Sep 17 00:00:00 2001
+From b474a9ddbb498398c30bc4905b3926eee6f6abed Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 7 Nov 2019 17:49:20 +0100
-Subject: [PATCH 017/196] x86: Enable RT also on 32bit
+Subject: [PATCH 017/198] x86: Enable RT also on 32bit
Signed-off-by: Sebastian Andrzej Siewior
Signed-off-by: Thomas Gleixner
@@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 984068efd48b..1b445e289190 100644
+index b9c1a286dddc..f774dc9f97f5 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -28,7 +28,6 @@ config X86_64
@@ -30,5 +30,5 @@ index 984068efd48b..1b445e289190 100644
select ARCH_USE_MEMTEST
select ARCH_USE_QUEUED_RWLOCKS
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0018-sched-rt-Don-t-try-push-tasks-if-there-are-none.patch b/buildroot-external/patches/linux/0018-sched-rt-Don-t-try-push-tasks-if-there-are-none.patch
index 8ed9f622..4fefb809 100644
--- a/buildroot-external/patches/linux/0018-sched-rt-Don-t-try-push-tasks-if-there-are-none.patch
+++ b/buildroot-external/patches/linux/0018-sched-rt-Don-t-try-push-tasks-if-there-are-none.patch
@@ -1,7 +1,7 @@
-From a52edbca61751c78ec7f0a0d386c726f3ed609cd Mon Sep 17 00:00:00 2001
+From ff02a1bafacf77d91927e5ac7556abfb0f598d34 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Tue, 1 Aug 2023 17:26:48 +0200
-Subject: [PATCH 018/196] sched/rt: Don't try push tasks if there are none.
+Subject: [PATCH 018/198] sched/rt: Don't try push tasks if there are none.
I have a RT task X at a high priority and cyclictest on each CPU with
lower priority than X's. If X is active and each CPU wakes their own
@@ -42,10 +42,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
-index 904dd8534597..563161845e79 100644
+index 4ac36eb4cdee..acd1510e8d47 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
-@@ -2249,8 +2249,11 @@ static int rto_next_cpu(struct root_domain *rd)
+@@ -2253,8 +2253,11 @@ static int rto_next_cpu(struct root_domain *rd)
rd->rto_cpu = cpu;
@@ -59,5 +59,5 @@ index 904dd8534597..563161845e79 100644
rd->rto_cpu = -1;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0019-softirq-Use-a-dedicated-thread-for-timer-wakeups.patch b/buildroot-external/patches/linux/0019-softirq-Use-a-dedicated-thread-for-timer-wakeups.patch
index dc68f1ed..cb6919bd 100644
--- a/buildroot-external/patches/linux/0019-softirq-Use-a-dedicated-thread-for-timer-wakeups.patch
+++ b/buildroot-external/patches/linux/0019-softirq-Use-a-dedicated-thread-for-timer-wakeups.patch
@@ -1,7 +1,7 @@
-From 196e6be48c3feb1e5c17c651431b96dd16377788 Mon Sep 17 00:00:00 2001
+From c5863cc5e1158351c86d38ac26d1d77066869be3 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 1 Dec 2021 17:41:09 +0100
-Subject: [PATCH 019/196] softirq: Use a dedicated thread for timer wakeups.
+Subject: [PATCH 019/198] softirq: Use a dedicated thread for timer wakeups.
A timer/hrtimer softirq is raised in-IRQ context. With threaded
interrupts enabled or on PREEMPT_RT this leads to waking the ksoftirqd
@@ -229,5 +229,5 @@ index 63a8ce7177dd..7cad6fe3c035 100644
/*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0020-rcutorture-Also-force-sched-priority-to-timersd-on-b.patch b/buildroot-external/patches/linux/0020-rcutorture-Also-force-sched-priority-to-timersd-on-b.patch
index 013b6479..a161642c 100644
--- a/buildroot-external/patches/linux/0020-rcutorture-Also-force-sched-priority-to-timersd-on-b.patch
+++ b/buildroot-external/patches/linux/0020-rcutorture-Also-force-sched-priority-to-timersd-on-b.patch
@@ -1,7 +1,7 @@
-From 5cad67f914fcb553250226df80262091c892b24b Mon Sep 17 00:00:00 2001
+From 51aa5b4ef3775ca0af1535f4b542b60fce91c8c8 Mon Sep 17 00:00:00 2001
From: Frederic Weisbecker
Date: Tue, 5 Apr 2022 03:07:51 +0200
-Subject: [PATCH 020/196] rcutorture: Also force sched priority to timersd on
+Subject: [PATCH 020/198] rcutorture: Also force sched priority to timersd on
boosting test.
ksoftirqd is statically boosted to the priority level right above the
@@ -76,5 +76,5 @@ index c29c30106eb8..1277abc94228 100644
static unsigned int local_pending_timers(void)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0021-tick-Fix-timer-storm-since-introduction-of-timersd.patch b/buildroot-external/patches/linux/0021-tick-Fix-timer-storm-since-introduction-of-timersd.patch
index 669eda90..25fc500b 100644
--- a/buildroot-external/patches/linux/0021-tick-Fix-timer-storm-since-introduction-of-timersd.patch
+++ b/buildroot-external/patches/linux/0021-tick-Fix-timer-storm-since-introduction-of-timersd.patch
@@ -1,7 +1,7 @@
-From 258f3ad84b7913d34d1ba886504d32c6035e9062 Mon Sep 17 00:00:00 2001
+From 0132df07a607045a682de87475561db9920cfca9 Mon Sep 17 00:00:00 2001
From: Frederic Weisbecker
Date: Tue, 5 Apr 2022 03:07:52 +0200
-Subject: [PATCH 021/196] tick: Fix timer storm since introduction of timersd
+Subject: [PATCH 021/198] tick: Fix timer storm since introduction of timersd
If timers are pending while the tick is reprogrammed on nohz_mode, the
next expiry is not armed to fire now, it is delayed one jiffy forward
@@ -111,5 +111,5 @@ index 55cbc49f70d1..1a0ed106b192 100644
static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0022-softirq-Wake-ktimers-thread-also-in-softirq.patch b/buildroot-external/patches/linux/0022-softirq-Wake-ktimers-thread-also-in-softirq.patch
index 949ed3a0..0bc82982 100644
--- a/buildroot-external/patches/linux/0022-softirq-Wake-ktimers-thread-also-in-softirq.patch
+++ b/buildroot-external/patches/linux/0022-softirq-Wake-ktimers-thread-also-in-softirq.patch
@@ -1,7 +1,7 @@
-From a1f12ecc3cd8e461adc6179d1c5879f6e8e75a79 Mon Sep 17 00:00:00 2001
+From fbec5e78e9d2283fef8ff7252549bf51a1eaeb5e Mon Sep 17 00:00:00 2001
From: Junxiao Chang
Date: Mon, 20 Feb 2023 09:12:20 +0100
-Subject: [PATCH 022/196] softirq: Wake ktimers thread also in softirq.
+Subject: [PATCH 022/198] softirq: Wake ktimers thread also in softirq.
If the hrtimer is raised while a softirq is processed then it does not
wake the corresponding ktimers thread. This is due to the optimisation in the
@@ -45,5 +45,5 @@ index a4d359e2c2b5..c2474cc4fa51 100644
tick_irq_exit();
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0023-zram-Replace-bit-spinlocks-with-spinlock_t-for-PREEM.patch b/buildroot-external/patches/linux/0023-zram-Replace-bit-spinlocks-with-spinlock_t-for-PREEM.patch
index 21199f0b..14d3968a 100644
--- a/buildroot-external/patches/linux/0023-zram-Replace-bit-spinlocks-with-spinlock_t-for-PREEM.patch
+++ b/buildroot-external/patches/linux/0023-zram-Replace-bit-spinlocks-with-spinlock_t-for-PREEM.patch
@@ -1,7 +1,7 @@
-From 03e700d918bec8e9cf7b84b0547aa3416951ac91 Mon Sep 17 00:00:00 2001
+From 39c5469af04f9921f0cb8533346802ea57d7d9ef Mon Sep 17 00:00:00 2001
From: Mike Galbraith
Date: Thu, 31 Mar 2016 04:08:28 +0200
-Subject: [PATCH 023/196] zram: Replace bit spinlocks with spinlock_t for
+Subject: [PATCH 023/198] zram: Replace bit spinlocks with spinlock_t for
PREEMPT_RT.
The bit spinlock disables preemption. The spinlock_t lock becomes a sleeping
@@ -98,5 +98,5 @@ index ca7a15bd4845..e64eb607eb45 100644
ktime_t ac_time;
#endif
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0024-preempt-Put-preempt_enable-within-an-instrumentation.patch b/buildroot-external/patches/linux/0024-preempt-Put-preempt_enable-within-an-instrumentation.patch
index f7ee6e4b..dcae6c63 100644
--- a/buildroot-external/patches/linux/0024-preempt-Put-preempt_enable-within-an-instrumentation.patch
+++ b/buildroot-external/patches/linux/0024-preempt-Put-preempt_enable-within-an-instrumentation.patch
@@ -1,7 +1,7 @@
-From d2531fe36026bcaf2fc22454911e6ef75b937579 Mon Sep 17 00:00:00 2001
+From 46baab63c3d5465d00a87f9b88c96049b58f9a62 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 8 Mar 2023 16:29:38 +0100
-Subject: [PATCH 024/196] preempt: Put preempt_enable() within an
+Subject: [PATCH 024/198] preempt: Put preempt_enable() within an
instrumentation*() section.
Callers of preempt_enable() can be within an noinstr section leading to:
@@ -48,5 +48,5 @@ index 9aa6358a1a16..cd16f0330fba 100644
#define preempt_check_resched() \
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0025-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch b/buildroot-external/patches/linux/0025-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch
index fb936c73..8533053a 100644
--- a/buildroot-external/patches/linux/0025-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch
+++ b/buildroot-external/patches/linux/0025-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch
@@ -1,7 +1,7 @@
-From 480a24076ff3f106924b91564cae088f7e04914c Mon Sep 17 00:00:00 2001
+From 3dac5e9dbebc192a58df61cb7701ae93e24fc653 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 4 Aug 2023 13:30:37 +0200
-Subject: [PATCH 025/196] sched/core: Provide a method to check if a task is
+Subject: [PATCH 025/198] sched/core: Provide a method to check if a task is
PI-boosted.
Provide a method to check if a task inherited the priority from another
@@ -31,7 +31,7 @@ index 67623ffd4a8e..eab173e5d09b 100644
extern void set_user_nice(struct task_struct *p, long nice);
extern int task_prio(const struct task_struct *p);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
-index 90f9124ac027..7134598e3284 100644
+index d703c5427cf2..c731c53d6bfd 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -8923,6 +8923,21 @@ static inline void preempt_dynamic_init(void) { }
@@ -57,5 +57,5 @@ index 90f9124ac027..7134598e3284 100644
* yield - yield the current processor to other threads.
*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0026-softirq-Add-function-to-preempt-serving-softirqs.patch b/buildroot-external/patches/linux/0026-softirq-Add-function-to-preempt-serving-softirqs.patch
index caff37b4..8d026fe1 100644
--- a/buildroot-external/patches/linux/0026-softirq-Add-function-to-preempt-serving-softirqs.patch
+++ b/buildroot-external/patches/linux/0026-softirq-Add-function-to-preempt-serving-softirqs.patch
@@ -1,7 +1,7 @@
-From ac962468dfe43f7a986b0c1a71a4a824686afe1c Mon Sep 17 00:00:00 2001
+From 397fb739b7dea6e8c472d112720511dad74d6253 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 4 Aug 2023 13:30:38 +0200
-Subject: [PATCH 026/196] softirq: Add function to preempt serving softirqs.
+Subject: [PATCH 026/198] softirq: Add function to preempt serving softirqs.
Add a functionality for the softirq handler to preempt its current work
if needed. The softirq core has no particular state. It reads and resets
@@ -63,5 +63,5 @@ index c2474cc4fa51..cae0ae2e2b0b 100644
* Invoked from ksoftirqd_run() outside of the interrupt disabled section
* to acquire the per CPU local lock for reentrancy protection.
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0027-time-Allow-to-preempt-after-a-callback.patch b/buildroot-external/patches/linux/0027-time-Allow-to-preempt-after-a-callback.patch
index 97001b96..c7a1a8ef 100644
--- a/buildroot-external/patches/linux/0027-time-Allow-to-preempt-after-a-callback.patch
+++ b/buildroot-external/patches/linux/0027-time-Allow-to-preempt-after-a-callback.patch
@@ -1,7 +1,7 @@
-From ae915e145a1a823d3b54adb8b5cda19fa8f8dcde Mon Sep 17 00:00:00 2001
+From 3e49fb4989a74e55e5b1829a79f0d68d30b0b956 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 4 Aug 2023 13:30:39 +0200
-Subject: [PATCH 027/196] time: Allow to preempt after a callback.
+Subject: [PATCH 027/198] time: Allow to preempt after a callback.
The TIMER_SOFTIRQ handler invokes timer callbacks of the expired timers.
Before each invocation the timer_base::lock is dropped. The only lock
@@ -48,5 +48,5 @@ index 7cad6fe3c035..b3fbe97d1e34 100644
raw_spin_lock_irq(&base->lock);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0028-serial-core-Use-lock-wrappers.patch b/buildroot-external/patches/linux/0028-serial-core-Use-lock-wrappers.patch
index 4bdf9d25..02e4f77e 100644
--- a/buildroot-external/patches/linux/0028-serial-core-Use-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0028-serial-core-Use-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From e20fab51907c073d83831b2810d06305e037bdc1 Mon Sep 17 00:00:00 2001
+From 75dbd89b7e5564256b898403840f9539d444f2c2 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:19 +0206
-Subject: [PATCH 028/196] serial: core: Use lock wrappers
+Subject: [PATCH 028/198] serial: core: Use lock wrappers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -41,10 +41,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
-index 27a26092493a..f43aca7f3b01 100644
+index a7d5fa892be2..678409c47b88 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
-@@ -1057,14 +1057,14 @@ static inline void uart_unlock_and_check_sysrq(struct uart_port *port)
+@@ -1058,14 +1058,14 @@ static inline void uart_unlock_and_check_sysrq(struct uart_port *port)
u8 sysrq_ch;
if (!port->has_sysrq) {
@@ -61,7 +61,7 @@ index 27a26092493a..f43aca7f3b01 100644
if (sysrq_ch)
handle_sysrq(sysrq_ch);
-@@ -1076,14 +1076,14 @@ static inline void uart_unlock_and_check_sysrq_irqrestore(struct uart_port *port
+@@ -1077,14 +1077,14 @@ static inline void uart_unlock_and_check_sysrq_irqrestore(struct uart_port *port
u8 sysrq_ch;
if (!port->has_sysrq) {
@@ -78,7 +78,7 @@ index 27a26092493a..f43aca7f3b01 100644
if (sysrq_ch)
handle_sysrq(sysrq_ch);
-@@ -1099,12 +1099,12 @@ static inline int uart_prepare_sysrq_char(struct uart_port *port, u8 ch)
+@@ -1100,12 +1100,12 @@ static inline int uart_prepare_sysrq_char(struct uart_port *port, u8 ch)
}
static inline void uart_unlock_and_check_sysrq(struct uart_port *port)
{
@@ -94,5 +94,5 @@ index 27a26092493a..f43aca7f3b01 100644
#endif /* CONFIG_MAGIC_SYSRQ_SERIAL */
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0029-serial-21285-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0029-serial-21285-Use-port-lock-wrappers.patch
index a7363947..b4592b20 100644
--- a/buildroot-external/patches/linux/0029-serial-21285-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0029-serial-21285-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 624855d352783d9df2a3de3be77cf25a9a2eace9 Mon Sep 17 00:00:00 2001
+From 6b27426c469aa7fc79fa5a11cde33d61ddb53619 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:20 +0206
-Subject: [PATCH 029/196] serial: 21285: Use port lock wrappers
+Subject: [PATCH 029/198] serial: 21285: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -76,5 +76,5 @@ index d756fcc884cb..4de0c975ebdc 100644
static const char *serial21285_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0030-serial-8250_aspeed_vuart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0030-serial-8250_aspeed_vuart-Use-port-lock-wrappers.patch
index a519e99a..d5ffd6a6 100644
--- a/buildroot-external/patches/linux/0030-serial-8250_aspeed_vuart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0030-serial-8250_aspeed_vuart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 30550a4dbe3e00fec073ed3f1e5b3302f0df992c Mon Sep 17 00:00:00 2001
+From d02b1946cdc46642addfbe651d817e86e57100fa Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:21 +0206
-Subject: [PATCH 030/196] serial: 8250_aspeed_vuart: Use port lock wrappers
+Subject: [PATCH 030/198] serial: 8250_aspeed_vuart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -62,5 +62,5 @@ index 4a9e71b2dbbc..021949f252f8 100644
lsr = serial_port_in(port, UART_LSR);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0031-serial-8250_bcm7271-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0031-serial-8250_bcm7271-Use-port-lock-wrappers.patch
index d0e9422e..9c15b2d7 100644
--- a/buildroot-external/patches/linux/0031-serial-8250_bcm7271-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0031-serial-8250_bcm7271-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 3877ad09bffd062add43fc7a2ebac91e13deb790 Mon Sep 17 00:00:00 2001
+From 90d9cb7552d841a19d1d926e51135c8b8c549a98 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:22 +0206
-Subject: [PATCH 031/196] serial: 8250_bcm7271: Use port lock wrappers
+Subject: [PATCH 031/198] serial: 8250_bcm7271: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -152,5 +152,5 @@ index aa5aff046756..ff0662c68725 100644
return 0;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0032-serial-8250-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0032-serial-8250-Use-port-lock-wrappers.patch
index d27eb04c..91249721 100644
--- a/buildroot-external/patches/linux/0032-serial-8250-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0032-serial-8250-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 21397e587ef53d219da3aeac88bcc7cbf474852a Mon Sep 17 00:00:00 2001
+From 3094c040b5193510b335425dac817f6420cbd506 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:23 +0206
-Subject: [PATCH 032/196] serial: 8250: Use port lock wrappers
+Subject: [PATCH 032/198] serial: 8250: Use port lock wrappers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -90,7 +90,7 @@ index 3449f8790e46..904e319e6b4a 100644
uart_remove_one_port(&serial8250_reg, &uart->port);
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
-index 141627370aab..5b57254ae975 100644
+index a17803da83f8..cba5a1b1030f 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -689,7 +689,7 @@ static void serial8250_set_sleep(struct uart_8250_port *p, int sleep)
@@ -177,7 +177,7 @@ index 141627370aab..5b57254ae975 100644
/*
* Check if the device is a Fintek F81216A
-@@ -1344,9 +1344,9 @@ static void autoconfig_irq(struct uart_8250_port *up)
+@@ -1341,9 +1341,9 @@ static void autoconfig_irq(struct uart_8250_port *up)
probe_irq_off(probe_irq_on());
save_mcr = serial8250_in_MCR(up);
/* Synchronize UART_IER access against the console. */
@@ -189,7 +189,7 @@ index 141627370aab..5b57254ae975 100644
serial8250_out_MCR(up, UART_MCR_OUT1 | UART_MCR_OUT2);
irqs = probe_irq_on();
-@@ -1359,9 +1359,9 @@ static void autoconfig_irq(struct uart_8250_port *up)
+@@ -1356,9 +1356,9 @@ static void autoconfig_irq(struct uart_8250_port *up)
UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2);
}
/* Synchronize UART_IER access against the console. */
@@ -201,7 +201,7 @@ index 141627370aab..5b57254ae975 100644
serial_in(up, UART_LSR);
serial_in(up, UART_RX);
serial_in(up, UART_IIR);
-@@ -1372,9 +1372,9 @@ static void autoconfig_irq(struct uart_8250_port *up)
+@@ -1369,9 +1369,9 @@ static void autoconfig_irq(struct uart_8250_port *up)
serial8250_out_MCR(up, save_mcr);
/* Synchronize UART_IER access against the console. */
@@ -213,7 +213,7 @@ index 141627370aab..5b57254ae975 100644
if (port->flags & UPF_FOURPORT)
outb_p(save_ICP, ICP);
-@@ -1442,13 +1442,13 @@ static enum hrtimer_restart serial8250_em485_handle_stop_tx(struct hrtimer *t)
+@@ -1436,13 +1436,13 @@ static enum hrtimer_restart serial8250_em485_handle_stop_tx(struct hrtimer *t)
unsigned long flags;
serial8250_rpm_get(p);
@@ -229,7 +229,7 @@ index 141627370aab..5b57254ae975 100644
serial8250_rpm_put(p);
return HRTIMER_NORESTART;
-@@ -1630,12 +1630,12 @@ static enum hrtimer_restart serial8250_em485_handle_start_tx(struct hrtimer *t)
+@@ -1624,12 +1624,12 @@ static enum hrtimer_restart serial8250_em485_handle_start_tx(struct hrtimer *t)
struct uart_8250_port *p = em485->port;
unsigned long flags;
@@ -244,7 +244,7 @@ index 141627370aab..5b57254ae975 100644
return HRTIMER_NORESTART;
}
-@@ -1918,7 +1918,7 @@ int serial8250_handle_irq(struct uart_port *port, unsigned int iir)
+@@ -1912,7 +1912,7 @@ int serial8250_handle_irq(struct uart_port *port, unsigned int iir)
if (iir & UART_IIR_NO_INT)
return 0;
@@ -253,7 +253,7 @@ index 141627370aab..5b57254ae975 100644
status = serial_lsr_in(up);
-@@ -1988,9 +1988,9 @@ static int serial8250_tx_threshold_handle_irq(struct uart_port *port)
+@@ -1982,9 +1982,9 @@ static int serial8250_tx_threshold_handle_irq(struct uart_port *port)
if ((iir & UART_IIR_ID) == UART_IIR_THRI) {
struct uart_8250_port *up = up_to_u8250p(port);
@@ -265,7 +265,7 @@ index 141627370aab..5b57254ae975 100644
}
iir = serial_port_in(port, UART_IIR);
-@@ -2005,10 +2005,10 @@ static unsigned int serial8250_tx_empty(struct uart_port *port)
+@@ -1999,10 +1999,10 @@ static unsigned int serial8250_tx_empty(struct uart_port *port)
serial8250_rpm_get(up);
@@ -278,7 +278,7 @@ index 141627370aab..5b57254ae975 100644
serial8250_rpm_put(up);
-@@ -2070,13 +2070,13 @@ static void serial8250_break_ctl(struct uart_port *port, int break_state)
+@@ -2064,13 +2064,13 @@ static void serial8250_break_ctl(struct uart_port *port, int break_state)
unsigned long flags;
serial8250_rpm_get(up);
@@ -294,7 +294,7 @@ index 141627370aab..5b57254ae975 100644
serial8250_rpm_put(up);
}
-@@ -2211,7 +2211,7 @@ int serial8250_do_startup(struct uart_port *port)
+@@ -2205,7 +2205,7 @@ int serial8250_do_startup(struct uart_port *port)
*
* Synchronize UART_IER access against the console.
*/
@@ -303,7 +303,7 @@ index 141627370aab..5b57254ae975 100644
up->acr = 0;
serial_port_out(port, UART_LCR, UART_LCR_CONF_MODE_B);
serial_port_out(port, UART_EFR, UART_EFR_ECB);
-@@ -2221,7 +2221,7 @@ int serial8250_do_startup(struct uart_port *port)
+@@ -2215,7 +2215,7 @@ int serial8250_do_startup(struct uart_port *port)
serial_port_out(port, UART_LCR, UART_LCR_CONF_MODE_B);
serial_port_out(port, UART_EFR, UART_EFR_ECB);
serial_port_out(port, UART_LCR, 0);
@@ -312,7 +312,7 @@ index 141627370aab..5b57254ae975 100644
}
if (port->type == PORT_DA830) {
-@@ -2230,10 +2230,10 @@ int serial8250_do_startup(struct uart_port *port)
+@@ -2224,10 +2224,10 @@ int serial8250_do_startup(struct uart_port *port)
*
* Synchronize UART_IER access against the console.
*/
@@ -325,7 +325,7 @@ index 141627370aab..5b57254ae975 100644
mdelay(10);
/* Enable Tx, Rx and free run mode */
-@@ -2347,7 +2347,7 @@ int serial8250_do_startup(struct uart_port *port)
+@@ -2341,7 +2341,7 @@ int serial8250_do_startup(struct uart_port *port)
*
* Synchronize UART_IER access against the console.
*/
@@ -334,7 +334,7 @@ index 141627370aab..5b57254ae975 100644
wait_for_xmitr(up, UART_LSR_THRE);
serial_port_out_sync(port, UART_IER, UART_IER_THRI);
-@@ -2359,7 +2359,7 @@ int serial8250_do_startup(struct uart_port *port)
+@@ -2353,7 +2353,7 @@ int serial8250_do_startup(struct uart_port *port)
iir = serial_port_in(port, UART_IIR);
serial_port_out(port, UART_IER, 0);
@@ -343,7 +343,7 @@ index 141627370aab..5b57254ae975 100644
if (port->irqflags & IRQF_SHARED)
enable_irq(port->irq);
-@@ -2382,7 +2382,7 @@ int serial8250_do_startup(struct uart_port *port)
+@@ -2376,7 +2376,7 @@ int serial8250_do_startup(struct uart_port *port)
*/
serial_port_out(port, UART_LCR, UART_LCR_WLEN8);
@@ -352,7 +352,7 @@ index 141627370aab..5b57254ae975 100644
if (up->port.flags & UPF_FOURPORT) {
if (!up->port.irq)
up->port.mctrl |= TIOCM_OUT1;
-@@ -2428,7 +2428,7 @@ int serial8250_do_startup(struct uart_port *port)
+@@ -2422,7 +2422,7 @@ int serial8250_do_startup(struct uart_port *port)
}
dont_test_tx_en:
@@ -361,7 +361,7 @@ index 141627370aab..5b57254ae975 100644
/*
* Clear the interrupt registers again for luck, and clear the
-@@ -2499,17 +2499,17 @@ void serial8250_do_shutdown(struct uart_port *port)
+@@ -2493,17 +2493,17 @@ void serial8250_do_shutdown(struct uart_port *port)
*
* Synchronize UART_IER access against the console.
*/
@@ -382,7 +382,7 @@ index 141627370aab..5b57254ae975 100644
if (port->flags & UPF_FOURPORT) {
/* reset interrupts on the AST Fourport board */
inb((port->iobase & 0xfe0) | 0x1f);
-@@ -2518,7 +2518,7 @@ void serial8250_do_shutdown(struct uart_port *port)
+@@ -2512,7 +2512,7 @@ void serial8250_do_shutdown(struct uart_port *port)
port->mctrl &= ~TIOCM_OUT2;
serial8250_set_mctrl(port, port->mctrl);
@@ -391,7 +391,7 @@ index 141627370aab..5b57254ae975 100644
/*
* Disable break condition and FIFOs
-@@ -2754,14 +2754,14 @@ void serial8250_update_uartclk(struct uart_port *port, unsigned int uartclk)
+@@ -2748,14 +2748,14 @@ void serial8250_update_uartclk(struct uart_port *port, unsigned int uartclk)
quot = serial8250_get_divisor(port, baud, &frac);
serial8250_rpm_get(up);
@@ -408,7 +408,7 @@ index 141627370aab..5b57254ae975 100644
serial8250_rpm_put(up);
out_unlock:
-@@ -2798,7 +2798,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2792,7 +2792,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
* Synchronize UART_IER access against the console.
*/
serial8250_rpm_get(up);
@@ -417,7 +417,7 @@ index 141627370aab..5b57254ae975 100644
up->lcr = cval; /* Save computed LCR */
-@@ -2901,7 +2901,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2895,7 +2895,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
serial_port_out(port, UART_FCR, up->fcr); /* set fcr */
}
serial8250_set_mctrl(port, port->mctrl);
@@ -426,7 +426,7 @@ index 141627370aab..5b57254ae975 100644
serial8250_rpm_put(up);
/* Don't rewrite B0 */
-@@ -2924,15 +2924,15 @@ void serial8250_do_set_ldisc(struct uart_port *port, struct ktermios *termios)
+@@ -2918,15 +2918,15 @@ void serial8250_do_set_ldisc(struct uart_port *port, struct ktermios *termios)
{
if (termios->c_line == N_PPS) {
port->flags |= UPF_HARDPPS_CD;
@@ -446,7 +446,7 @@ index 141627370aab..5b57254ae975 100644
}
}
}
-@@ -3406,9 +3406,9 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
+@@ -3400,9 +3400,9 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
touch_nmi_watchdog();
if (oops_in_progress)
@@ -458,7 +458,7 @@ index 141627370aab..5b57254ae975 100644
/*
* First save the IER then disable the interrupts
-@@ -3478,7 +3478,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
+@@ -3472,7 +3472,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
serial8250_modem_status(up);
if (locked)
@@ -468,5 +468,5 @@ index 141627370aab..5b57254ae975 100644
static unsigned int probe_baud(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0033-serial-8250_dma-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0033-serial-8250_dma-Use-port-lock-wrappers.patch
index baa30460..2c254476 100644
--- a/buildroot-external/patches/linux/0033-serial-8250_dma-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0033-serial-8250_dma-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 93094c1874ab303b8dc1782172f24c10a42cd408 Mon Sep 17 00:00:00 2001
+From b975b09242cda03dfa24bc5859e09dcf0719455e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:24 +0206
-Subject: [PATCH 033/196] serial: 8250_dma: Use port lock wrappers
+Subject: [PATCH 033/198] serial: 8250_dma: Use port lock wrappers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -81,5 +81,5 @@ index 7fa66501792d..8b30ca8fdd3f 100644
int serial8250_tx_dma(struct uart_8250_port *p)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0034-serial-8250_dw-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0034-serial-8250_dw-Use-port-lock-wrappers.patch
index 37e4d6df..a5b077a8 100644
--- a/buildroot-external/patches/linux/0034-serial-8250_dw-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0034-serial-8250_dw-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 2a6e5944a151a85fbb67a497d67c8a33ee6645d0 Mon Sep 17 00:00:00 2001
+From 8062148a5d7d2dc9fc70ae165872f28d378a4bbc Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:25 +0206
-Subject: [PATCH 034/196] serial: 8250_dw: Use port lock wrappers
+Subject: [PATCH 034/198] serial: 8250_dw: Use port lock wrappers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -70,5 +70,5 @@ index a1f2259cc9a9..53c284bb271d 100644
if (status & (UART_LSR_DR | UART_LSR_BI)) {
dw8250_writel_ext(p, RZN1_UART_RDMACR, 0);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0035-serial-8250_exar-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0035-serial-8250_exar-Use-port-lock-wrappers.patch
index 7b0ee62d..7b927a48 100644
--- a/buildroot-external/patches/linux/0035-serial-8250_exar-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0035-serial-8250_exar-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 74a615bca2e2128d4ae9b52795a2e60dcaf9c712 Mon Sep 17 00:00:00 2001
+From 387ef2cfac20a43865414aedc210dc3164ca23b0 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:26 +0206
-Subject: [PATCH 035/196] serial: 8250_exar: Use port lock wrappers
+Subject: [PATCH 035/198] serial: 8250_exar: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c
-index 8385be846840..91cf690b7c71 100644
+index 4d20f3aa280c..342786064590 100644
--- a/drivers/tty/serial/8250/8250_exar.c
+++ b/drivers/tty/serial/8250/8250_exar.c
@@ -201,9 +201,9 @@ static int xr17v35x_startup(struct uart_port *port)
@@ -53,5 +53,5 @@ index 8385be846840..91cf690b7c71 100644
return serial8250_do_startup(port);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0036-serial-8250_fsl-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0036-serial-8250_fsl-Use-port-lock-wrappers.patch
index 17b7ee08..5fa5eef5 100644
--- a/buildroot-external/patches/linux/0036-serial-8250_fsl-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0036-serial-8250_fsl-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From d601a7a993aba887c6dc64bb9efc6762d5643780 Mon Sep 17 00:00:00 2001
+From 2ffed8195b499f3c084e339c606e3caedf0734ad Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:27 +0206
-Subject: [PATCH 036/196] serial: 8250_fsl: Use port lock wrappers
+Subject: [PATCH 036/198] serial: 8250_fsl: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -64,5 +64,5 @@ index 6af4e1c1210a..f522eb5026c9 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0037-serial-8250_mtk-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0037-serial-8250_mtk-Use-port-lock-wrappers.patch
index 8657862f..a5295d61 100644
--- a/buildroot-external/patches/linux/0037-serial-8250_mtk-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0037-serial-8250_mtk-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From ad44b165b3fe2140abff5cab7910d10866706978 Mon Sep 17 00:00:00 2001
+From a6146c1416cf4ac69b8f86a70c567bd9c5f59b37 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:28 +0206
-Subject: [PATCH 037/196] serial: 8250_mtk: Use port lock wrappers
+Subject: [PATCH 037/198] serial: 8250_mtk: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -78,5 +78,5 @@ index 74da5676ce67..23457daae8a1 100644
if (tty_termios_baud_rate(termios))
tty_termios_encode_baud_rate(termios, baud, baud);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0038-serial-8250_omap-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0038-serial-8250_omap-Use-port-lock-wrappers.patch
index bfcd7f0e..7e005c70 100644
--- a/buildroot-external/patches/linux/0038-serial-8250_omap-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0038-serial-8250_omap-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 8a7fda3f428f68d7948da5ed9ff9bae4ec9c52a0 Mon Sep 17 00:00:00 2001
+From a3c3a5aa6741a585fb4bd88a812667d3c8090e59 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:29 +0206
-Subject: [PATCH 038/196] serial: 8250_omap: Use port lock wrappers
+Subject: [PATCH 038/198] serial: 8250_omap: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -237,5 +237,5 @@ index 346167afe9e1..db5519ce0192 100644
priv->latency = priv->calc_latency;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0039-serial-8250_pci1xxxx-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0039-serial-8250_pci1xxxx-Use-port-lock-wrappers.patch
index 03bb8b03..fb824e59 100644
--- a/buildroot-external/patches/linux/0039-serial-8250_pci1xxxx-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0039-serial-8250_pci1xxxx-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From e13e4c41a1cb64f703b8a71a185c4e29fadac5fc Mon Sep 17 00:00:00 2001
+From dcbb92ff385851014ce2adf8fc88f539bab834da Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:30 +0206
-Subject: [PATCH 039/196] serial: 8250_pci1xxxx: Use port lock wrappers
+Subject: [PATCH 039/198] serial: 8250_pci1xxxx: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -67,5 +67,5 @@ index a3b25779d921..53e238c8cc89 100644
mutex_unlock(&tport->mutex);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0040-serial-altera_jtaguart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0040-serial-altera_jtaguart-Use-port-lock-wrappers.patch
index ae98b33e..26bd9962 100644
--- a/buildroot-external/patches/linux/0040-serial-altera_jtaguart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0040-serial-altera_jtaguart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 2d04716961088673b757343a2d075858886fb27c Mon Sep 17 00:00:00 2001
+From 2e16f769f7b52fd39a09514d755ddacf44fcda84 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:31 +0206
-Subject: [PATCH 040/196] serial: altera_jtaguart: Use port lock wrappers
+Subject: [PATCH 040/198] serial: altera_jtaguart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -134,5 +134,5 @@ index 5fab4c978891..7090b251dd4d 100644
#endif
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0041-serial-altera_uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0041-serial-altera_uart-Use-port-lock-wrappers.patch
index efd8aa4b..189dfb37 100644
--- a/buildroot-external/patches/linux/0041-serial-altera_uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0041-serial-altera_uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From db6d50be344aa102ac938287676ab60e9cb2dc39 Mon Sep 17 00:00:00 2001
+From e5557701fa9a5373b8f6b511dbd3fbf3ac51534a Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:32 +0206
-Subject: [PATCH 041/196] serial: altera_uart: Use port lock wrappers
+Subject: [PATCH 041/198] serial: altera_uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -117,5 +117,5 @@ index a9c41942190c..77835ac68df2 100644
if (port->irq)
free_irq(port->irq, port);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0042-serial-amba-pl010-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0042-serial-amba-pl010-Use-port-lock-wrappers.patch
index 95f3df78..478deb68 100644
--- a/buildroot-external/patches/linux/0042-serial-amba-pl010-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0042-serial-amba-pl010-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 8504980f6ecdabe092852eac2efaa683011996f9 Mon Sep 17 00:00:00 2001
+From a575d78c4d0b45758ae1969dc75a4a49e2da6cf0 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:33 +0206
-Subject: [PATCH 042/196] serial: amba-pl010: Use port lock wrappers
+Subject: [PATCH 042/198] serial: amba-pl010: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -113,5 +113,5 @@ index b5a7404cbacb..eabbf8afc9b5 100644
}
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0043-serial-amba-pl011-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0043-serial-amba-pl011-Use-port-lock-wrappers.patch
index d8805f3a..681952ea 100644
--- a/buildroot-external/patches/linux/0043-serial-amba-pl011-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0043-serial-amba-pl011-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 96c7d649adbd0d1dd0b530112b93dcc2bbf1066f Mon Sep 17 00:00:00 2001
+From d9b7b888b11585d0af93ed044d8fdf2fa19db277 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:34 +0206
-Subject: [PATCH 043/196] serial: amba-pl011: Use port lock wrappers
+Subject: [PATCH 043/198] serial: amba-pl011: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
-index cd3913b933c7..aec67d740e44 100644
+index 362bbcdece0d..16c770311069 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -347,9 +347,9 @@ static int pl011_fifo_to_tty(struct uart_amba_port *uap)
@@ -124,7 +124,7 @@ index cd3913b933c7..aec67d740e44 100644
if (uap->using_tx_dma) {
/* In theory, this should already be done by pl011_dma_flush_buffer */
-@@ -1370,9 +1370,9 @@ static void pl011_throttle_rx(struct uart_port *port)
+@@ -1400,9 +1400,9 @@ static void pl011_throttle_rx(struct uart_port *port)
{
unsigned long flags;
@@ -136,7 +136,7 @@ index cd3913b933c7..aec67d740e44 100644
}
static void pl011_enable_ms(struct uart_port *port)
-@@ -1390,7 +1390,7 @@ __acquires(&uap->port.lock)
+@@ -1420,7 +1420,7 @@ __acquires(&uap->port.lock)
{
pl011_fifo_to_tty(uap);
@@ -145,7 +145,7 @@ index cd3913b933c7..aec67d740e44 100644
tty_flip_buffer_push(&uap->port.state->port);
/*
* If we were temporarily out of DMA mode for a while,
-@@ -1415,7 +1415,7 @@ __acquires(&uap->port.lock)
+@@ -1445,7 +1445,7 @@ __acquires(&uap->port.lock)
#endif
}
}
@@ -328,5 +328,5 @@ index cd3913b933c7..aec67d740e44 100644
clk_disable(uap->clk);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0044-serial-apb-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0044-serial-apb-Use-port-lock-wrappers.patch
index 0984c546..76d05d0e 100644
--- a/buildroot-external/patches/linux/0044-serial-apb-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0044-serial-apb-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From ed166a0a00c424b2b9dd29b758500775c1c1a275 Mon Sep 17 00:00:00 2001
+From ad2560897d66415d623f218e9a032e7200197264 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:35 +0206
-Subject: [PATCH 044/196] serial: apb: Use port lock wrappers
+Subject: [PATCH 044/198] serial: apb: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -77,5 +77,5 @@ index d3cb341f2c55..364599f256db 100644
static const char *apbuart_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0045-serial-ar933x-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0045-serial-ar933x-Use-port-lock-wrappers.patch
index 1dfe9b22..7a22d3fd 100644
--- a/buildroot-external/patches/linux/0045-serial-ar933x-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0045-serial-ar933x-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 8777b7deb3069b2747696a2971979eaf11d0d42c Mon Sep 17 00:00:00 2001
+From c7e0556406938d6434991aeff87e85124c0c5a16 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:36 +0206
-Subject: [PATCH 045/196] serial: ar933x: Use port lock wrappers
+Subject: [PATCH 045/198] serial: ar933x: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -145,5 +145,5 @@ index 924c1a89347c..ffd234673177 100644
local_irq_restore(flags);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0046-serial-arc_uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0046-serial-arc_uart-Use-port-lock-wrappers.patch
index c161dfdd..5f78c562 100644
--- a/buildroot-external/patches/linux/0046-serial-arc_uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0046-serial-arc_uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 58e377ebb1f28e1922aa731d02f8906b0585e8ed Mon Sep 17 00:00:00 2001
+From 5a0e18332bea1b6453bd4e806c6504138127371d Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:37 +0206
-Subject: [PATCH 046/196] serial: arc_uart: Use port lock wrappers
+Subject: [PATCH 046/198] serial: arc_uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -98,5 +98,5 @@ index ad4ae19b6ce3..1aa5b2b49c26 100644
static struct console arc_console = {
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0047-serial-atmel-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0047-serial-atmel-Use-port-lock-wrappers.patch
index 899aa12b..67b6cee5 100644
--- a/buildroot-external/patches/linux/0047-serial-atmel-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0047-serial-atmel-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From ad6ee8430287f4d453bdbe0870c897f3568cb50f Mon Sep 17 00:00:00 2001
+From f84225dbdb7cd9ef908795d44a815b98818b9e43 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:38 +0206
-Subject: [PATCH 047/196] serial: atmel: Use port lock wrappers
+Subject: [PATCH 047/198] serial: atmel: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -120,5 +120,5 @@ index 88cdafa5ac54..1946fafc3f3e 100644
}
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0048-serial-bcm63xx-uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0048-serial-bcm63xx-uart-Use-port-lock-wrappers.patch
index fb7ca139..af162bf8 100644
--- a/buildroot-external/patches/linux/0048-serial-bcm63xx-uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0048-serial-bcm63xx-uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From bc56987ad8ef8a8948ba64ffa8302ea324913079 Mon Sep 17 00:00:00 2001
+From 254504b36554b8987691ad1cd81bbb8b798eba0c Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:39 +0206
-Subject: [PATCH 048/196] serial: bcm63xx-uart: Use port lock wrappers
+Subject: [PATCH 048/198] serial: bcm63xx-uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -129,5 +129,5 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0049-serial-cpm_uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0049-serial-cpm_uart-Use-port-lock-wrappers.patch
index d3e51d78..8759b56f 100644
--- a/buildroot-external/patches/linux/0049-serial-cpm_uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0049-serial-cpm_uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 664d0c4022312cc8691aa574818f4301e9698f35 Mon Sep 17 00:00:00 2001
+From 3c86efdaa2738e88dd9e7f55652954a93723e501 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:40 +0206
-Subject: [PATCH 049/196] serial: cpm_uart: Use port lock wrappers
+Subject: [PATCH 049/198] serial: cpm_uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -71,5 +71,5 @@ index 626423022d62..be4af6eda4c2 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0050-serial-digicolor-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0050-serial-digicolor-Use-port-lock-wrappers.patch
index 421a0672..1e21b8a6 100644
--- a/buildroot-external/patches/linux/0050-serial-digicolor-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0050-serial-digicolor-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 9ae489d6a664bdc487229b8847c4f29a126fb228 Mon Sep 17 00:00:00 2001
+From 7bc5b3a4befaa2219dfd5d7c5c069d563afa0a81 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:41 +0206
-Subject: [PATCH 050/196] serial: digicolor: Use port lock wrappers
+Subject: [PATCH 050/198] serial: digicolor: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -114,5 +114,5 @@ index 128b5479e813..5004125f3045 100644
/* Wait for transmitter to become empty */
do {
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0051-serial-dz-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0051-serial-dz-Use-port-lock-wrappers.patch
index bf010bff..b6a1b9a7 100644
--- a/buildroot-external/patches/linux/0051-serial-dz-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0051-serial-dz-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 279159191fb892ad19a47abfe969e4cdc19d8ff0 Mon Sep 17 00:00:00 2001
+From 0ac36a1ae3846dfd22081abfd17040d1fd8fcaae Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:42 +0206
-Subject: [PATCH 051/196] serial: dz: Use port lock wrappers
+Subject: [PATCH 051/198] serial: dz: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -162,5 +162,5 @@ index 667f52e83277..6df7af9edc1c 100644
do {
trdy = dz_in(dport, DZ_CSR);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0052-serial-linflexuart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0052-serial-linflexuart-Use-port-lock-wrappers.patch
index 98ccd784..39589c88 100644
--- a/buildroot-external/patches/linux/0052-serial-linflexuart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0052-serial-linflexuart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 9ab5733ab07134629faf9863da976517fefa5d2a Mon Sep 17 00:00:00 2001
+From 1828619da9181f91be6adbe6604899385154c4ce Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:43 +0206
-Subject: [PATCH 052/196] serial: linflexuart: Use port lock wrappers
+Subject: [PATCH 052/198] serial: linflexuart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -144,5 +144,5 @@ index 249cb380c3c6..7fa809a405e8 100644
/*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0053-serial-fsl_lpuart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0053-serial-fsl_lpuart-Use-port-lock-wrappers.patch
index 35b04742..19044c52 100644
--- a/buildroot-external/patches/linux/0053-serial-fsl_lpuart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0053-serial-fsl_lpuart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 46bfa550759cde139a65320e120a534c997d9ac2 Mon Sep 17 00:00:00 2001
+From ddae91de984cb3f971fb7456e94c9fc295a49bbb Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:44 +0206
-Subject: [PATCH 053/196] serial: fsl_lpuart: Use port lock wrappers
+Subject: [PATCH 053/198] serial: fsl_lpuart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 44 insertions(+), 44 deletions(-)
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
-index f72e1340b47d..6d0cfb2e86b4 100644
+index 385b41275e8b..71d0cbd74807 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -532,9 +532,9 @@ static void lpuart_dma_tx_complete(void *arg)
@@ -288,7 +288,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
sport->port.read_status_mask = 0;
if (termios->c_iflag & INPCK)
-@@ -2359,7 +2359,7 @@ lpuart32_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2362,7 +2362,7 @@ lpuart32_set_termios(struct uart_port *port, struct ktermios *termios,
sport->lpuart_dma_rx_use = false;
}
@@ -297,7 +297,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
}
static const char *lpuart_type(struct uart_port *port)
-@@ -2477,9 +2477,9 @@ lpuart_console_write(struct console *co, const char *s, unsigned int count)
+@@ -2480,9 +2480,9 @@ lpuart_console_write(struct console *co, const char *s, unsigned int count)
int locked = 1;
if (oops_in_progress)
@@ -309,7 +309,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
/* first save CR2 and then disable interrupts */
cr2 = old_cr2 = readb(sport->port.membase + UARTCR2);
-@@ -2495,7 +2495,7 @@ lpuart_console_write(struct console *co, const char *s, unsigned int count)
+@@ -2498,7 +2498,7 @@ lpuart_console_write(struct console *co, const char *s, unsigned int count)
writeb(old_cr2, sport->port.membase + UARTCR2);
if (locked)
@@ -318,7 +318,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
}
static void
-@@ -2507,9 +2507,9 @@ lpuart32_console_write(struct console *co, const char *s, unsigned int count)
+@@ -2510,9 +2510,9 @@ lpuart32_console_write(struct console *co, const char *s, unsigned int count)
int locked = 1;
if (oops_in_progress)
@@ -330,7 +330,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
/* first save CR2 and then disable interrupts */
cr = old_cr = lpuart32_read(&sport->port, UARTCTRL);
-@@ -2525,7 +2525,7 @@ lpuart32_console_write(struct console *co, const char *s, unsigned int count)
+@@ -2528,7 +2528,7 @@ lpuart32_console_write(struct console *co, const char *s, unsigned int count)
lpuart32_write(&sport->port, old_cr, UARTCTRL);
if (locked)
@@ -339,7 +339,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
}
/*
-@@ -3089,7 +3089,7 @@ static int lpuart_suspend(struct device *dev)
+@@ -3092,7 +3092,7 @@ static int lpuart_suspend(struct device *dev)
uart_suspend_port(&lpuart_reg, &sport->port);
if (lpuart_uport_is_active(sport)) {
@@ -348,7 +348,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
if (lpuart_is_32(sport)) {
/* disable Rx/Tx and interrupts */
temp = lpuart32_read(&sport->port, UARTCTRL);
-@@ -3101,7 +3101,7 @@ static int lpuart_suspend(struct device *dev)
+@@ -3104,7 +3104,7 @@ static int lpuart_suspend(struct device *dev)
temp &= ~(UARTCR2_TE | UARTCR2_TIE | UARTCR2_TCIE);
writeb(temp, sport->port.membase + UARTCR2);
}
@@ -357,7 +357,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
if (sport->lpuart_dma_rx_use) {
/*
-@@ -3114,7 +3114,7 @@ static int lpuart_suspend(struct device *dev)
+@@ -3117,7 +3117,7 @@ static int lpuart_suspend(struct device *dev)
lpuart_dma_rx_free(&sport->port);
/* Disable Rx DMA to use UART port as wakeup source */
@@ -366,7 +366,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
if (lpuart_is_32(sport)) {
temp = lpuart32_read(&sport->port, UARTBAUD);
lpuart32_write(&sport->port, temp & ~UARTBAUD_RDMAE,
-@@ -3123,11 +3123,11 @@ static int lpuart_suspend(struct device *dev)
+@@ -3126,11 +3126,11 @@ static int lpuart_suspend(struct device *dev)
writeb(readb(sport->port.membase + UARTCR5) &
~UARTCR5_RDMAS, sport->port.membase + UARTCR5);
}
@@ -380,7 +380,7 @@ index f72e1340b47d..6d0cfb2e86b4 100644
if (lpuart_is_32(sport)) {
temp = lpuart32_read(&sport->port, UARTBAUD);
temp &= ~UARTBAUD_TDMAE;
-@@ -3137,7 +3137,7 @@ static int lpuart_suspend(struct device *dev)
+@@ -3140,7 +3140,7 @@ static int lpuart_suspend(struct device *dev)
temp &= ~UARTCR5_TDMAS;
writeb(temp, sport->port.membase + UARTCR5);
}
@@ -390,5 +390,5 @@ index f72e1340b47d..6d0cfb2e86b4 100644
dmaengine_terminate_sync(sport->dma_tx_chan);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0054-serial-icom-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0054-serial-icom-Use-port-lock-wrappers.patch
index 8bdae50e..34669493 100644
--- a/buildroot-external/patches/linux/0054-serial-icom-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0054-serial-icom-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 09d3a495672166b07e612721a98429bb70bec397 Mon Sep 17 00:00:00 2001
+From 202602b9b6e46d9c37567e23999aac958fd162a8 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:45 +0206
-Subject: [PATCH 054/196] serial: icom: Use port lock wrappers
+Subject: [PATCH 054/198] serial: icom: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -152,5 +152,5 @@ index 819f957b6b84..a75eafbcbea3 100644
static const char *icom_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0055-serial-imx-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0055-serial-imx-Use-port-lock-wrappers.patch
index 86f317c7..f9c54849 100644
--- a/buildroot-external/patches/linux/0055-serial-imx-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0055-serial-imx-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 07d331feb4488de7831ce3f0b4fbc5a211e74663 Mon Sep 17 00:00:00 2001
+From 63366d15914d5b5eb32438f1b7a5fc8be59e0dd9 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:46 +0206
-Subject: [PATCH 055/196] serial: imx: Use port lock wrappers
+Subject: [PATCH 055/198] serial: imx: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -37,10 +37,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index 2fbb9b597752..54b760d845c0 100644
+index c77831e91ec2..66420a992539 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
-@@ -575,7 +575,7 @@ static void imx_uart_dma_tx_callback(void *data)
+@@ -584,7 +584,7 @@ static void imx_uart_dma_tx_callback(void *data)
unsigned long flags;
u32 ucr1;
@@ -49,7 +49,7 @@ index 2fbb9b597752..54b760d845c0 100644
dma_unmap_sg(sport->port.dev, sgl, sport->dma_tx_nents, DMA_TO_DEVICE);
-@@ -600,7 +600,7 @@ static void imx_uart_dma_tx_callback(void *data)
+@@ -609,7 +609,7 @@ static void imx_uart_dma_tx_callback(void *data)
imx_uart_writel(sport, ucr4, UCR4);
}
@@ -58,7 +58,7 @@ index 2fbb9b597752..54b760d845c0 100644
}
/* called with port.lock taken and irqs off */
-@@ -766,11 +766,11 @@ static irqreturn_t imx_uart_rtsint(int irq, void *dev_id)
+@@ -780,11 +780,11 @@ static irqreturn_t imx_uart_rtsint(int irq, void *dev_id)
struct imx_port *sport = dev_id;
irqreturn_t ret;
@@ -72,7 +72,7 @@ index 2fbb9b597752..54b760d845c0 100644
return ret;
}
-@@ -779,9 +779,9 @@ static irqreturn_t imx_uart_txint(int irq, void *dev_id)
+@@ -793,9 +793,9 @@ static irqreturn_t imx_uart_txint(int irq, void *dev_id)
{
struct imx_port *sport = dev_id;
@@ -84,7 +84,7 @@ index 2fbb9b597752..54b760d845c0 100644
return IRQ_HANDLED;
}
-@@ -895,11 +895,11 @@ static irqreturn_t imx_uart_rxint(int irq, void *dev_id)
+@@ -909,11 +909,11 @@ static irqreturn_t imx_uart_rxint(int irq, void *dev_id)
struct imx_port *sport = dev_id;
irqreturn_t ret;
@@ -98,7 +98,7 @@ index 2fbb9b597752..54b760d845c0 100644
return ret;
}
-@@ -962,7 +962,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
+@@ -976,7 +976,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
unsigned int usr1, usr2, ucr1, ucr2, ucr3, ucr4;
irqreturn_t ret = IRQ_NONE;
@@ -107,7 +107,7 @@ index 2fbb9b597752..54b760d845c0 100644
usr1 = imx_uart_readl(sport, USR1);
usr2 = imx_uart_readl(sport, USR2);
-@@ -1032,7 +1032,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
+@@ -1046,7 +1046,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
ret = IRQ_HANDLED;
}
@@ -116,7 +116,7 @@ index 2fbb9b597752..54b760d845c0 100644
return ret;
}
-@@ -1115,7 +1115,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
+@@ -1129,7 +1129,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
unsigned long flags;
u32 ucr1;
@@ -125,7 +125,7 @@ index 2fbb9b597752..54b760d845c0 100644
ucr1 = imx_uart_readl(sport, UCR1) & ~UCR1_SNDBRK;
-@@ -1124,7 +1124,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
+@@ -1138,7 +1138,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
imx_uart_writel(sport, ucr1, UCR1);
@@ -134,7 +134,7 @@ index 2fbb9b597752..54b760d845c0 100644
}
/*
-@@ -1137,9 +1137,9 @@ static void imx_uart_timeout(struct timer_list *t)
+@@ -1151,9 +1151,9 @@ static void imx_uart_timeout(struct timer_list *t)
unsigned long flags;
if (sport->port.state) {
@@ -146,7 +146,7 @@ index 2fbb9b597752..54b760d845c0 100644
mod_timer(&sport->timer, jiffies + MCTRL_TIMEOUT);
}
-@@ -1169,9 +1169,9 @@ static void imx_uart_dma_rx_callback(void *data)
+@@ -1183,9 +1183,9 @@ static void imx_uart_dma_rx_callback(void *data)
status = dmaengine_tx_status(chan, sport->rx_cookie, &state);
if (status == DMA_ERROR) {
@@ -158,7 +158,7 @@ index 2fbb9b597752..54b760d845c0 100644
return;
}
-@@ -1200,9 +1200,9 @@ static void imx_uart_dma_rx_callback(void *data)
+@@ -1214,9 +1214,9 @@ static void imx_uart_dma_rx_callback(void *data)
r_bytes = rx_ring->head - rx_ring->tail;
/* If we received something, check for 0xff flood */
@@ -170,7 +170,7 @@ index 2fbb9b597752..54b760d845c0 100644
if (!(sport->port.ignore_status_mask & URXD_DUMMY_READ)) {
-@@ -1460,7 +1460,7 @@ static int imx_uart_startup(struct uart_port *port)
+@@ -1474,7 +1474,7 @@ static int imx_uart_startup(struct uart_port *port)
if (!uart_console(port) && imx_uart_dma_init(sport) == 0)
dma_is_inited = 1;
@@ -179,7 +179,7 @@ index 2fbb9b597752..54b760d845c0 100644
/* Reset fifo's and state machines */
imx_uart_soft_reset(sport);
-@@ -1533,7 +1533,7 @@ static int imx_uart_startup(struct uart_port *port)
+@@ -1547,7 +1547,7 @@ static int imx_uart_startup(struct uart_port *port)
imx_uart_disable_loopback_rs485(sport);
@@ -188,7 +188,7 @@ index 2fbb9b597752..54b760d845c0 100644
return 0;
}
-@@ -1558,21 +1558,21 @@ static void imx_uart_shutdown(struct uart_port *port)
+@@ -1572,21 +1572,21 @@ static void imx_uart_shutdown(struct uart_port *port)
sport->dma_is_rxing = 0;
}
@@ -214,7 +214,7 @@ index 2fbb9b597752..54b760d845c0 100644
/*
* Stop our timer.
-@@ -1583,7 +1583,7 @@ static void imx_uart_shutdown(struct uart_port *port)
+@@ -1597,7 +1597,7 @@ static void imx_uart_shutdown(struct uart_port *port)
* Disable all interrupts, port and break condition.
*/
@@ -223,7 +223,7 @@ index 2fbb9b597752..54b760d845c0 100644
ucr1 = imx_uart_readl(sport, UCR1);
ucr1 &= ~(UCR1_TRDYEN | UCR1_RRDYEN | UCR1_RTSDEN | UCR1_RXDMAEN |
-@@ -1605,7 +1605,7 @@ static void imx_uart_shutdown(struct uart_port *port)
+@@ -1619,7 +1619,7 @@ static void imx_uart_shutdown(struct uart_port *port)
ucr4 &= ~UCR4_TCEN;
imx_uart_writel(sport, ucr4, UCR4);
@@ -232,7 +232,7 @@ index 2fbb9b597752..54b760d845c0 100644
clk_disable_unprepare(sport->clk_per);
clk_disable_unprepare(sport->clk_ipg);
-@@ -1668,7 +1668,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -1682,7 +1682,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
baud = uart_get_baud_rate(port, termios, old, 50, port->uartclk / 16);
quot = uart_get_divisor(port, baud);
@@ -241,7 +241,7 @@ index 2fbb9b597752..54b760d845c0 100644
/*
* Read current UCR2 and save it for future use, then clear all the bits
-@@ -1796,7 +1796,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -1810,7 +1810,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
if (UART_ENABLE_MS(&sport->port, termios->c_cflag))
imx_uart_enable_ms(&sport->port);
@@ -250,7 +250,7 @@ index 2fbb9b597752..54b760d845c0 100644
}
static const char *imx_uart_type(struct uart_port *port)
-@@ -1858,7 +1858,7 @@ static int imx_uart_poll_init(struct uart_port *port)
+@@ -1872,7 +1872,7 @@ static int imx_uart_poll_init(struct uart_port *port)
imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
@@ -259,7 +259,7 @@ index 2fbb9b597752..54b760d845c0 100644
/*
* Be careful about the order of enabling bits here. First enable the
-@@ -1886,7 +1886,7 @@ static int imx_uart_poll_init(struct uart_port *port)
+@@ -1900,7 +1900,7 @@ static int imx_uart_poll_init(struct uart_port *port)
imx_uart_writel(sport, ucr1 | UCR1_RRDYEN, UCR1);
imx_uart_writel(sport, ucr2 | UCR2_ATEN, UCR2);
@@ -268,7 +268,7 @@ index 2fbb9b597752..54b760d845c0 100644
return 0;
}
-@@ -2001,9 +2001,9 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
+@@ -2015,9 +2015,9 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
if (sport->port.sysrq)
locked = 0;
else if (oops_in_progress)
@@ -280,7 +280,7 @@ index 2fbb9b597752..54b760d845c0 100644
/*
* First, save UCR1/2/3 and then disable interrupts
-@@ -2031,7 +2031,7 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
+@@ -2045,7 +2045,7 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
imx_uart_ucrs_restore(sport, &old_ucr);
if (locked)
@@ -289,7 +289,7 @@ index 2fbb9b597752..54b760d845c0 100644
}
/*
-@@ -2189,10 +2189,10 @@ static enum hrtimer_restart imx_trigger_start_tx(struct hrtimer *t)
+@@ -2203,10 +2203,10 @@ static enum hrtimer_restart imx_trigger_start_tx(struct hrtimer *t)
struct imx_port *sport = container_of(t, struct imx_port, trigger_start_tx);
unsigned long flags;
@@ -302,7 +302,7 @@ index 2fbb9b597752..54b760d845c0 100644
return HRTIMER_NORESTART;
}
-@@ -2202,10 +2202,10 @@ static enum hrtimer_restart imx_trigger_stop_tx(struct hrtimer *t)
+@@ -2216,10 +2216,10 @@ static enum hrtimer_restart imx_trigger_stop_tx(struct hrtimer *t)
struct imx_port *sport = container_of(t, struct imx_port, trigger_stop_tx);
unsigned long flags;
@@ -315,7 +315,7 @@ index 2fbb9b597752..54b760d845c0 100644
return HRTIMER_NORESTART;
}
-@@ -2472,9 +2472,9 @@ static void imx_uart_restore_context(struct imx_port *sport)
+@@ -2486,9 +2486,9 @@ static void imx_uart_restore_context(struct imx_port *sport)
{
unsigned long flags;
@@ -327,7 +327,7 @@ index 2fbb9b597752..54b760d845c0 100644
return;
}
-@@ -2489,7 +2489,7 @@ static void imx_uart_restore_context(struct imx_port *sport)
+@@ -2503,7 +2503,7 @@ static void imx_uart_restore_context(struct imx_port *sport)
imx_uart_writel(sport, sport->saved_reg[2], UCR3);
imx_uart_writel(sport, sport->saved_reg[3], UCR4);
sport->context_saved = false;
@@ -336,7 +336,7 @@ index 2fbb9b597752..54b760d845c0 100644
}
static void imx_uart_save_context(struct imx_port *sport)
-@@ -2497,7 +2497,7 @@ static void imx_uart_save_context(struct imx_port *sport)
+@@ -2511,7 +2511,7 @@ static void imx_uart_save_context(struct imx_port *sport)
unsigned long flags;
/* Save necessary regs */
@@ -345,7 +345,7 @@ index 2fbb9b597752..54b760d845c0 100644
sport->saved_reg[0] = imx_uart_readl(sport, UCR1);
sport->saved_reg[1] = imx_uart_readl(sport, UCR2);
sport->saved_reg[2] = imx_uart_readl(sport, UCR3);
-@@ -2509,7 +2509,7 @@ static void imx_uart_save_context(struct imx_port *sport)
+@@ -2523,7 +2523,7 @@ static void imx_uart_save_context(struct imx_port *sport)
sport->saved_reg[8] = imx_uart_readl(sport, UBMR);
sport->saved_reg[9] = imx_uart_readl(sport, IMX21_UTS);
sport->context_saved = true;
@@ -355,5 +355,5 @@ index 2fbb9b597752..54b760d845c0 100644
static void imx_uart_enable_wakeup(struct imx_port *sport, bool on)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0056-serial-ip22zilog-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0056-serial-ip22zilog-Use-port-lock-wrappers.patch
index 4ccf10e0..a22ce6b6 100644
--- a/buildroot-external/patches/linux/0056-serial-ip22zilog-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0056-serial-ip22zilog-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From f5e3e9348a0f40d7684f54037e1e29707a9afc6f Mon Sep 17 00:00:00 2001
+From 4c21b6f6ec1d1d44387e05e35d0e32e435421ca6 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:47 +0206
-Subject: [PATCH 056/196] serial: ip22zilog: Use port lock wrappers
+Subject: [PATCH 056/198] serial: ip22zilog: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -186,5 +186,5 @@ index 845ff706bc59..320b29cd4683 100644
if (options)
uart_parse_options(options, &baud, &parity, &bits, &flow);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0057-serial-jsm-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0057-serial-jsm-Use-port-lock-wrappers.patch
index de7d3a53..8131f8eb 100644
--- a/buildroot-external/patches/linux/0057-serial-jsm-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0057-serial-jsm-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 2d16a8c5689cf2e2249a8011b795e1d0abab80af Mon Sep 17 00:00:00 2001
+From 9d49519691d85841c7bbec5a1b5420d8bb5c2aab Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:48 +0206
-Subject: [PATCH 057/196] serial: jsm: Use port lock wrappers
+Subject: [PATCH 057/198] serial: jsm: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -127,5 +127,5 @@ index 222afc270c88..ce0fef7e2c66 100644
static const char *jsm_tty_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0058-serial-liteuart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0058-serial-liteuart-Use-port-lock-wrappers.patch
index da428980..e59f3b74 100644
--- a/buildroot-external/patches/linux/0058-serial-liteuart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0058-serial-liteuart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 51106ea475766f95499f66c81695ba0ba2844023 Mon Sep 17 00:00:00 2001
+From 792390c8e24a3be75621990da07994b349ed81bf Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:49 +0206
-Subject: [PATCH 058/196] serial: liteuart: Use port lock wrappers
+Subject: [PATCH 058/198] serial: liteuart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -111,5 +111,5 @@ index d881cdd2a58f..a25ab1efe38f 100644
static int liteuart_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0059-serial-lpc32xx_hs-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0059-serial-lpc32xx_hs-Use-port-lock-wrappers.patch
index be31d09f..c3e19d8c 100644
--- a/buildroot-external/patches/linux/0059-serial-lpc32xx_hs-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0059-serial-lpc32xx_hs-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From c6983dd875db2ab4340af77fca5afdcbb6e92a8a Mon Sep 17 00:00:00 2001
+From 4745341be24af5281b708ec6b7c62d92eadf43e8 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:50 +0206
-Subject: [PATCH 059/196] serial: lpc32xx_hs: Use port lock wrappers
+Subject: [PATCH 059/198] serial: lpc32xx_hs: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -149,5 +149,5 @@ index b38fe4728c26..5149a947b7fe 100644
/* Don't rewrite B0 */
if (tty_termios_baud_rate(termios))
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0060-serial-ma35d1-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0060-serial-ma35d1-Use-port-lock-wrappers.patch
index 72defd08..c22773fd 100644
--- a/buildroot-external/patches/linux/0060-serial-ma35d1-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0060-serial-ma35d1-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 26ecac5fb6df25e05028221e98b442d3440996cf Mon Sep 17 00:00:00 2001
+From df848f9ebfac6dd30358fbdc179b911a60c0ec5b Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:51 +0206
-Subject: [PATCH 060/196] serial: ma35d1: Use port lock wrappers
+Subject: [PATCH 060/198] serial: ma35d1: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -118,5 +118,5 @@ index 69da24565b99..73910c54d6be 100644
static int __init ma35d1serial_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0061-serial-mcf-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0061-serial-mcf-Use-port-lock-wrappers.patch
index e787d1f2..3942aa80 100644
--- a/buildroot-external/patches/linux/0061-serial-mcf-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0061-serial-mcf-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 9839424386e00349034515ff5bc12cb0d8aa47fb Mon Sep 17 00:00:00 2001
+From 06baf2767bd53167bc4c02da5971c98e12c13397 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:52 +0206
-Subject: [PATCH 061/196] serial: mcf: Use port lock wrappers
+Subject: [PATCH 061/198] serial: mcf: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -128,5 +128,5 @@ index 1666ce012e5e..91b15243f6c6 100644
return ret;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0062-serial-men_z135_uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0062-serial-men_z135_uart-Use-port-lock-wrappers.patch
index 6a0eab35..a08bef8d 100644
--- a/buildroot-external/patches/linux/0062-serial-men_z135_uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0062-serial-men_z135_uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From d0d166377656a57a11a75a0936a72356daba9eb0 Mon Sep 17 00:00:00 2001
+From 796bb19b5478aa51ebb6ac0fdc39186d59759b27 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:53 +0206
-Subject: [PATCH 062/196] serial: men_z135_uart: Use port lock wrappers
+Subject: [PATCH 062/198] serial: men_z135_uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -77,5 +77,5 @@ index d2502aaa3e8c..8048fa542fc4 100644
static const char *men_z135_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0063-serial-meson-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0063-serial-meson-Use-port-lock-wrappers.patch
index f11a4dbb..c0cec968 100644
--- a/buildroot-external/patches/linux/0063-serial-meson-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0063-serial-meson-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From d79a588b6e1f2d943dcf94453d53e0ecf1a38eaf Mon Sep 17 00:00:00 2001
+From 7b6095010a23aa78ad87b589ff39473ad892011a Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:54 +0206
-Subject: [PATCH 063/196] serial: meson: Use port lock wrappers
+Subject: [PATCH 063/198] serial: meson: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -169,5 +169,5 @@ index 9388b9ddea3b..4c1d2089a0bb 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0064-serial-milbeaut_usio-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0064-serial-milbeaut_usio-Use-port-lock-wrappers.patch
index 5a68bea4..239bf1eb 100644
--- a/buildroot-external/patches/linux/0064-serial-milbeaut_usio-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0064-serial-milbeaut_usio-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 98dc64ab1fdd00244eefd8bb5796577c7ad6b778 Mon Sep 17 00:00:00 2001
+From e457979d570981b53b0b85d59f0a6bb2cbe3853b Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:55 +0206
-Subject: [PATCH 064/196] serial: milbeaut_usio: Use port lock wrappers
+Subject: [PATCH 064/198] serial: milbeaut_usio: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -102,5 +102,5 @@ index 70a910085e93..db3b81f2aa57 100644
static const char *mlb_usio_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0065-serial-mpc52xx-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0065-serial-mpc52xx-Use-port-lock-wrappers.patch
index f64f4732..99b58a44 100644
--- a/buildroot-external/patches/linux/0065-serial-mpc52xx-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0065-serial-mpc52xx-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 1803501f5d4ad38b1c8eb7ff838f16937fa3976a Mon Sep 17 00:00:00 2001
+From 20988af9eed091714c307e7a6d080cf51ef874b1 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:56 +0206
-Subject: [PATCH 065/196] serial: mpc52xx: Use port lock wrappers
+Subject: [PATCH 065/198] serial: mpc52xx: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -90,5 +90,5 @@ index 916507b8f31d..a252465e745f 100644
return ret;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0066-serial-mps2-uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0066-serial-mps2-uart-Use-port-lock-wrappers.patch
index a5f27501..231de0ca 100644
--- a/buildroot-external/patches/linux/0066-serial-mps2-uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0066-serial-mps2-uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 8375fd64426b9440da7af602dd3ffa6e4f09324a Mon Sep 17 00:00:00 2001
+From f3a08238f90b3ada6988a984fa2fade2bf26f007 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:57 +0206
-Subject: [PATCH 066/196] serial: mps2-uart: Use port lock wrappers
+Subject: [PATCH 066/198] serial: mps2-uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -104,5 +104,5 @@ index ea5a7911cb15..2a4c09f3a834 100644
if (tty_termios_baud_rate(termios))
tty_termios_encode_baud_rate(termios, baud, baud);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0067-serial-msm-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0067-serial-msm-Use-port-lock-wrappers.patch
index 5d6ee029..12e24e27 100644
--- a/buildroot-external/patches/linux/0067-serial-msm-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0067-serial-msm-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From a6e8aee3001c0312bb7e408bf47ce1ab3cfb32ab Mon Sep 17 00:00:00 2001
+From 9b9a28a033ae863d23d071bba13f6c34d154e3bb Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:58 +0206
-Subject: [PATCH 067/196] serial: msm: Use port lock wrappers
+Subject: [PATCH 067/198] serial: msm: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -186,5 +186,5 @@ index 90953e679e38..597264b546fd 100644
local_irq_restore(flags);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0068-serial-mvebu-uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0068-serial-mvebu-uart-Use-port-lock-wrappers.patch
index 753b9388..9315c7b8 100644
--- a/buildroot-external/patches/linux/0068-serial-mvebu-uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0068-serial-mvebu-uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 7ac7e384900ed2ffe0fe5a04265b366ce7238a3f Mon Sep 17 00:00:00 2001
+From 2afc44181b5734d06a4719ac7d4b12264dce9deb Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:43:59 +0206
-Subject: [PATCH 068/196] serial: mvebu-uart: Use port lock wrappers
+Subject: [PATCH 068/198] serial: mvebu-uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -109,5 +109,5 @@ index ea924e9b913b..0255646bc175 100644
static int mvebu_uart_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0069-serial-omap-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0069-serial-omap-Use-port-lock-wrappers.patch
index b0cc94c0..8924d1c2 100644
--- a/buildroot-external/patches/linux/0069-serial-omap-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0069-serial-omap-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From e2bbf91f5aa8efe291dd496739c348eae6b65d2d Mon Sep 17 00:00:00 2001
+From c6aeabe6504b5812d8063d40f9c34010a160fef0 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:00 +0206
-Subject: [PATCH 069/196] serial: omap: Use port lock wrappers
+Subject: [PATCH 069/198] serial: omap: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -181,5 +181,5 @@ index 135a838f517a..f4c6ff806465 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0070-serial-owl-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0070-serial-owl-Use-port-lock-wrappers.patch
index 55a04fcb..d75e294c 100644
--- a/buildroot-external/patches/linux/0070-serial-owl-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0070-serial-owl-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 9b2feafb80e749f910979bf5c22ee1685b53048f Mon Sep 17 00:00:00 2001
+From aed618ec8041d94adf724a33348ac7f6ed5d2f52 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:01 +0206
-Subject: [PATCH 070/196] serial: owl: Use port lock wrappers
+Subject: [PATCH 070/198] serial: owl: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -148,5 +148,5 @@ index e99970a9437f..919f5e5aa0f1 100644
local_irq_restore(flags);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0071-serial-pch-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0071-serial-pch-Use-port-lock-wrappers.patch
index b0338461..bc1a34ee 100644
--- a/buildroot-external/patches/linux/0071-serial-pch-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0071-serial-pch-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From b6db5f63edaf7679a15ec55f25ca8d0eb91fdfeb Mon Sep 17 00:00:00 2001
+From 6052105716d7de512abe91f59e0bcbfb1d3e5978 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:02 +0206
-Subject: [PATCH 071/196] serial: pch: Use port lock wrappers
+Subject: [PATCH 071/198] serial: pch: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -81,5 +81,5 @@ index cc83b772b7ca..436cc6d52a11 100644
spin_unlock(&priv->lock);
local_irq_restore(flags);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0072-serial-pic32-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0072-serial-pic32-Use-port-lock-wrappers.patch
index a3e7cab8..81b54ca7 100644
--- a/buildroot-external/patches/linux/0072-serial-pic32-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0072-serial-pic32-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From c14bc8b2990b302c6491ff9f1fc07bacc74f6a02 Mon Sep 17 00:00:00 2001
+From a3e16abc02be270ef158758fb129e8be54e40577 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:03 +0206
-Subject: [PATCH 072/196] serial: pic32: Use port lock wrappers
+Subject: [PATCH 072/198] serial: pic32: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -119,5 +119,5 @@ index e308d5022b3f..3a95bf5d55d3 100644
/* serial core request to claim uart iomem */
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0073-serial-pmac_zilog-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0073-serial-pmac_zilog-Use-port-lock-wrappers.patch
index 9f9c9f10..8e6ebe8c 100644
--- a/buildroot-external/patches/linux/0073-serial-pmac_zilog-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0073-serial-pmac_zilog-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From df5dddad723275a657d5d1bbeb832a71bdbf6b69 Mon Sep 17 00:00:00 2001
+From 8b2afd65acea3ba83a71dde9d62262f9242a5dd7 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:04 +0206
-Subject: [PATCH 073/196] serial: pmac_zilog: Use port lock wrappers
+Subject: [PATCH 073/198] serial: pmac_zilog: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -233,5 +233,5 @@ index 13668ffdb1e7..c8bf08c19c64 100644
/*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0074-serial-pxa-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0074-serial-pxa-Use-port-lock-wrappers.patch
index 88764f94..9c2b720b 100644
--- a/buildroot-external/patches/linux/0074-serial-pxa-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0074-serial-pxa-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 2c8fbdf011421d0e63a7c1d116fd4ad727fb9b5e Mon Sep 17 00:00:00 2001
+From 562160975c4f9073ed4f010cc11718b5134a42fd Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:05 +0206
-Subject: [PATCH 074/196] serial: pxa: Use port lock wrappers
+Subject: [PATCH 074/198] serial: pxa: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -151,5 +151,5 @@ index 73c60f5ea027..46e70e155aab 100644
clk_disable(up->clk);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0075-serial-qcom-geni-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0075-serial-qcom-geni-Use-port-lock-wrappers.patch
index 53bbe1b3..961cdcb7 100644
--- a/buildroot-external/patches/linux/0075-serial-qcom-geni-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0075-serial-qcom-geni-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From de2377b368081f7322e4ee7ed6f4a157f263ef22 Mon Sep 17 00:00:00 2001
+From 1f68c281021058402d7afdc27d8a3787271ce0c1 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:06 +0206
-Subject: [PATCH 075/196] serial: qcom-geni: Use port lock wrappers
+Subject: [PATCH 075/198] serial: qcom-geni: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -38,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
-index b8aa4c1293ba..7e78f97e8f43 100644
+index 2e1b1c827dfe..549909644011 100644
--- a/drivers/tty/serial/qcom_geni_serial.c
+++ b/drivers/tty/serial/qcom_geni_serial.c
@@ -482,9 +482,9 @@ static void qcom_geni_serial_console_write(struct console *co, const char *s,
@@ -62,7 +62,7 @@ index b8aa4c1293ba..7e78f97e8f43 100644
}
static void handle_rx_console(struct uart_port *uport, u32 bytes, bool drop)
-@@ -970,7 +970,7 @@ static irqreturn_t qcom_geni_serial_isr(int isr, void *dev)
+@@ -972,7 +972,7 @@ static irqreturn_t qcom_geni_serial_isr(int isr, void *dev)
if (uport->suspended)
return IRQ_NONE;
@@ -72,5 +72,5 @@ index b8aa4c1293ba..7e78f97e8f43 100644
m_irq_status = readl(uport->membase + SE_GENI_M_IRQ_STATUS);
s_irq_status = readl(uport->membase + SE_GENI_S_IRQ_STATUS);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0076-serial-rda-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0076-serial-rda-Use-port-lock-wrappers.patch
index 08e354bb..1123bd7c 100644
--- a/buildroot-external/patches/linux/0076-serial-rda-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0076-serial-rda-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 83a13a640f9b3927770dfdf6014780d739062197 Mon Sep 17 00:00:00 2001
+From c1952a62d5c169b632e1a01092ad0360cc16335a Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:07 +0206
-Subject: [PATCH 076/196] serial: rda: Use port lock wrappers
+Subject: [PATCH 076/198] serial: rda: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -178,5 +178,5 @@ index be5c842b5ba9..d824c8318f33 100644
local_irq_restore(flags);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0077-serial-rp2-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0077-serial-rp2-Use-port-lock-wrappers.patch
index 7ddad850..8a119148 100644
--- a/buildroot-external/patches/linux/0077-serial-rp2-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0077-serial-rp2-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 90f64dfee3a0f539bf8c18fff8b502a3e59cf0cf Mon Sep 17 00:00:00 2001
+From 8437e789125eee68ce6dfa6f9416112aca4d0886 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:08 +0206
-Subject: [PATCH 077/196] serial: rp2: Use port lock wrappers
+Subject: [PATCH 077/198] serial: rp2: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -115,5 +115,5 @@ index de220ac8ca54..d46a81cddfcd 100644
static const char *rp2_uart_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0078-serial-sa1100-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0078-serial-sa1100-Use-port-lock-wrappers.patch
index 385d46cb..1069312c 100644
--- a/buildroot-external/patches/linux/0078-serial-sa1100-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0078-serial-sa1100-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From be60b8b83c06c81681588ea0d81dac85e14a775b Mon Sep 17 00:00:00 2001
+From 6845a4152e1754bf40372d61bbf7c2398e3f4399 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:09 +0206
-Subject: [PATCH 078/196] serial: sa1100: Use port lock wrappers
+Subject: [PATCH 078/198] serial: sa1100: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -118,5 +118,5 @@ index ad011f1e2f4d..be7bcd75d9f4 100644
static const char *sa1100_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0079-serial-samsung_tty-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0079-serial-samsung_tty-Use-port-lock-wrappers.patch
index cb91f568..a90b3010 100644
--- a/buildroot-external/patches/linux/0079-serial-samsung_tty-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0079-serial-samsung_tty-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 6e66d71f16182d96094a77a8756c364823924eb4 Mon Sep 17 00:00:00 2001
+From 9372712a3d7f5dd1ce1fdee77c5bbdfbbb4b01bf Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:10 +0206
-Subject: [PATCH 079/196] serial: samsung_tty: Use port lock wrappers
+Subject: [PATCH 079/198] serial: samsung_tty: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
-index 07fb8a9dac63..ee51a0368a55 100644
+index 5a4d88e13471..a82b65155f6e 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -248,7 +248,7 @@ static void s3c24xx_serial_rx_enable(struct uart_port *port)
@@ -155,7 +155,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
return IRQ_HANDLED;
}
-@@ -1033,7 +1033,7 @@ static void s3c24xx_serial_break_ctl(struct uart_port *port, int break_state)
+@@ -1032,7 +1032,7 @@ static void s3c24xx_serial_break_ctl(struct uart_port *port, int break_state)
unsigned long flags;
unsigned int ucon;
@@ -164,7 +164,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
ucon = rd_regl(port, S3C2410_UCON);
-@@ -1044,7 +1044,7 @@ static void s3c24xx_serial_break_ctl(struct uart_port *port, int break_state)
+@@ -1043,7 +1043,7 @@ static void s3c24xx_serial_break_ctl(struct uart_port *port, int break_state)
wr_regl(port, S3C2410_UCON, ucon);
@@ -173,7 +173,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
}
static int s3c24xx_serial_request_dma(struct s3c24xx_uart_port *p)
-@@ -1303,7 +1303,7 @@ static int s3c64xx_serial_startup(struct uart_port *port)
+@@ -1302,7 +1302,7 @@ static int s3c64xx_serial_startup(struct uart_port *port)
ourport->rx_enabled = 1;
ourport->tx_enabled = 0;
@@ -182,7 +182,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
ufcon = rd_regl(port, S3C2410_UFCON);
ufcon |= S3C2410_UFCON_RESETRX | S5PV210_UFCON_RXTRIG8;
-@@ -1313,7 +1313,7 @@ static int s3c64xx_serial_startup(struct uart_port *port)
+@@ -1312,7 +1312,7 @@ static int s3c64xx_serial_startup(struct uart_port *port)
enable_rx_pio(ourport);
@@ -191,7 +191,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
/* Enable Rx Interrupt */
s3c24xx_clear_bit(port, S3C64XX_UINTM_RXD, S3C64XX_UINTM);
-@@ -1341,7 +1341,7 @@ static int apple_s5l_serial_startup(struct uart_port *port)
+@@ -1340,7 +1340,7 @@ static int apple_s5l_serial_startup(struct uart_port *port)
ourport->rx_enabled = 1;
ourport->tx_enabled = 0;
@@ -200,7 +200,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
ufcon = rd_regl(port, S3C2410_UFCON);
ufcon |= S3C2410_UFCON_RESETRX | S5PV210_UFCON_RXTRIG8;
-@@ -1351,7 +1351,7 @@ static int apple_s5l_serial_startup(struct uart_port *port)
+@@ -1350,7 +1350,7 @@ static int apple_s5l_serial_startup(struct uart_port *port)
enable_rx_pio(ourport);
@@ -209,7 +209,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
/* Enable Rx Interrupt */
s3c24xx_set_bit(port, APPLE_S5L_UCON_RXTHRESH_ENA, S3C2410_UCON);
-@@ -1626,7 +1626,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
+@@ -1625,7 +1625,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
ulcon |= S3C2410_LCON_PNONE;
}
@@ -218,7 +218,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
dev_dbg(port->dev,
"setting ulcon to %08x, brddiv to %d, udivslot %08x\n",
-@@ -1684,7 +1684,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
+@@ -1683,7 +1683,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
if ((termios->c_cflag & CREAD) == 0)
port->ignore_status_mask |= RXSTAT_DUMMY_READ;
@@ -227,7 +227,7 @@ index 07fb8a9dac63..ee51a0368a55 100644
}
static const char *s3c24xx_serial_type(struct uart_port *port)
-@@ -2376,14 +2376,14 @@ s3c24xx_serial_console_write(struct console *co, const char *s,
+@@ -2375,14 +2375,14 @@ s3c24xx_serial_console_write(struct console *co, const char *s,
if (cons_uart->sysrq)
locked = false;
else if (oops_in_progress)
@@ -246,5 +246,5 @@ index 07fb8a9dac63..ee51a0368a55 100644
/* Shouldn't be __init, as it can be instantiated from other module */
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0080-serial-sb1250-duart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0080-serial-sb1250-duart-Use-port-lock-wrappers.patch
index 24551468..2047b363 100644
--- a/buildroot-external/patches/linux/0080-serial-sb1250-duart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0080-serial-sb1250-duart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 628b4e3f91830141e702ec59d5d376eb1ad9eea8 Mon Sep 17 00:00:00 2001
+From a9a1289498cb842a55d57ede4ff1b2bd96b7a1b9 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:11 +0206
-Subject: [PATCH 080/196] serial: sb1250-duart: Use port lock wrappers
+Subject: [PATCH 080/198] serial: sb1250-duart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -86,5 +86,5 @@ index f3cd69346482..dbec29d9a6c3 100644
static int __init sbd_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0081-serial-sc16is7xx-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0081-serial-sc16is7xx-Use-port-lock-wrappers.patch
index b556b8d8..dbcbb384 100644
--- a/buildroot-external/patches/linux/0081-serial-sc16is7xx-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0081-serial-sc16is7xx-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 2ec2be76520133c2703eb4997ac1215a8bdfb735 Mon Sep 17 00:00:00 2001
+From d303da34308c0d86ec48943f96a9f66d8e039e68 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:12 +0206
-Subject: [PATCH 081/196] serial: sc16is7xx: Use port lock wrappers
+Subject: [PATCH 081/198] serial: sc16is7xx: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -60,5 +60,5 @@ index f75b8bceb8ca..2d7470457af4 100644
static void sc16is7xx_reconf_rs485(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0082-serial-tegra-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0082-serial-tegra-Use-port-lock-wrappers.patch
index 891c8f59..1a75c8c5 100644
--- a/buildroot-external/patches/linux/0082-serial-tegra-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0082-serial-tegra-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From c2a7bbba0b8c5cbce14465ff6338fde4b1e52e2c Mon Sep 17 00:00:00 2001
+From 66442db9d3a607c2bdfd84ed1a331813f2dd026a Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:13 +0206
-Subject: [PATCH 082/196] serial: tegra: Use port lock wrappers
+Subject: [PATCH 082/198] serial: tegra: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -177,5 +177,5 @@ index d4ec943cb8e9..6d4006b41975 100644
static const char *tegra_uart_type(struct uart_port *u)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0083-serial-core-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0083-serial-core-Use-port-lock-wrappers.patch
index 070487c0..cd19eb7c 100644
--- a/buildroot-external/patches/linux/0083-serial-core-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0083-serial-core-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 0e9950b3324b08df7d223472910fabbd0a661519 Mon Sep 17 00:00:00 2001
+From 1d1af26137b4e240e05f8da2a093bb74708411af Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:14 +0206
-Subject: [PATCH 083/196] serial: core: Use port lock wrappers
+Subject: [PATCH 083/198] serial: core: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -38,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior
2 files changed, 48 insertions(+), 48 deletions(-)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index 083ea4de48f9..fea8a8eca0c0 100644
+index 4c81210ad9b3..fc59ba702752 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -79,7 +79,7 @@ static inline void uart_port_deref(struct uart_port *uport)
@@ -336,7 +336,7 @@ index 083ea4de48f9..fea8a8eca0c0 100644
tty_port_set_initialized(port, true);
} else {
/*
-@@ -2618,11 +2618,11 @@ uart_configure_port(struct uart_driver *drv, struct uart_state *state,
+@@ -2627,11 +2627,11 @@ uart_configure_port(struct uart_driver *drv, struct uart_state *state,
* keep the DTR setting that is set in uart_set_options()
* We probably don't need a spinlock around this, but
*/
@@ -351,7 +351,7 @@ index 083ea4de48f9..fea8a8eca0c0 100644
uart_rs485_config(port);
diff --git a/drivers/tty/serial/serial_port.c b/drivers/tty/serial/serial_port.c
-index 862423237007..88975a4df306 100644
+index 0b3cef3c323b..72b6f4f326e2 100644
--- a/drivers/tty/serial/serial_port.c
+++ b/drivers/tty/serial/serial_port.c
@@ -35,10 +35,10 @@ static int serial_port_runtime_resume(struct device *dev)
@@ -368,5 +368,5 @@ index 862423237007..88975a4df306 100644
out:
pm_runtime_mark_last_busy(dev);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0084-serial-mctrl_gpio-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0084-serial-mctrl_gpio-Use-port-lock-wrappers.patch
index 03c30d05..38cad76f 100644
--- a/buildroot-external/patches/linux/0084-serial-mctrl_gpio-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0084-serial-mctrl_gpio-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From e95dcd064a7ecf11a88145697128827b6758169e Mon Sep 17 00:00:00 2001
+From 6c67e782fccb3ff27f786fe76a440707709ab23b Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:15 +0206
-Subject: [PATCH 084/196] serial: mctrl_gpio: Use port lock wrappers
+Subject: [PATCH 084/198] serial: mctrl_gpio: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -59,5 +59,5 @@ index 7d5aaa8d422b..e51ca593ab86 100644
return IRQ_HANDLED;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0085-serial-txx9-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0085-serial-txx9-Use-port-lock-wrappers.patch
index 60bfc92c..67f69624 100644
--- a/buildroot-external/patches/linux/0085-serial-txx9-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0085-serial-txx9-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 918c8367f5c88ac4ea0ff1a156be9e4bcd74c2fd Mon Sep 17 00:00:00 2001
+From 8f48330aefb07e35529c2d31392935c3375d9074 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:16 +0206
-Subject: [PATCH 085/196] serial: txx9: Use port lock wrappers
+Subject: [PATCH 085/198] serial: txx9: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -135,5 +135,5 @@ index be08fb6f749c..eaa980722455 100644
static void
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0086-serial-sh-sci-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0086-serial-sh-sci-Use-port-lock-wrappers.patch
index 736e6b15..526069e9 100644
--- a/buildroot-external/patches/linux/0086-serial-sh-sci-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0086-serial-sh-sci-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From f510bfd2152db83a547548eff4b5103cd87e4c37 Mon Sep 17 00:00:00 2001
+From 00e0ec0aeb7f915808d1772bc479c823de21c2d8 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:17 +0206
-Subject: [PATCH 086/196] serial: sh-sci: Use port lock wrappers
+Subject: [PATCH 086/198] serial: sh-sci: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -303,5 +303,5 @@ index a560b729fa3b..84ab434c94ba 100644
static int serial_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0087-serial-sifive-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0087-serial-sifive-Use-port-lock-wrappers.patch
index 721a9ab2..48b7f3f5 100644
--- a/buildroot-external/patches/linux/0087-serial-sifive-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0087-serial-sifive-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 775e19bba15cd37cab089d25a15e101403896537 Mon Sep 17 00:00:00 2001
+From 964adde6bb8848877f53d30a33ad1cabba18ee8f Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:18 +0206
-Subject: [PATCH 087/196] serial: sifive: Use port lock wrappers
+Subject: [PATCH 087/198] serial: sifive: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -103,5 +103,5 @@ index d195c5de52e7..b296e57a9dee 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0088-serial-sprd-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0088-serial-sprd-Use-port-lock-wrappers.patch
index 9fe7617b..94a4c22f 100644
--- a/buildroot-external/patches/linux/0088-serial-sprd-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0088-serial-sprd-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 9947b04ede5ec32ab6ba7044096014001c8da5d5 Mon Sep 17 00:00:00 2001
+From 3b9ed6c95a036b76547ea9a369d0a353fd81b72e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:19 +0206
-Subject: [PATCH 088/196] serial: sprd: Use port lock wrappers
+Subject: [PATCH 088/198] serial: sprd: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -163,5 +163,5 @@ index f328fa57231f..f257525f9299 100644
static int sprd_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0089-serial-st-asc-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0089-serial-st-asc-Use-port-lock-wrappers.patch
index 9aef7e24..4e9e26ac 100644
--- a/buildroot-external/patches/linux/0089-serial-st-asc-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0089-serial-st-asc-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 85b7f9be5d14b5a6c8baac45488a13d8a4b5f1bc Mon Sep 17 00:00:00 2001
+From e52ba1ff3e44ce867023e6c23c97edfd8dbc3388 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:20 +0206
-Subject: [PATCH 089/196] serial: st-asc: Use port lock wrappers
+Subject: [PATCH 089/198] serial: st-asc: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -111,5 +111,5 @@ index 92b9f6894006..a821f5d76a26 100644
static int asc_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0090-serial-stm32-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0090-serial-stm32-Use-port-lock-wrappers.patch
index 51b71967..144c2b54 100644
--- a/buildroot-external/patches/linux/0090-serial-stm32-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0090-serial-stm32-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 359f0d1e6b006a6296c949598fc409321b89721e Mon Sep 17 00:00:00 2001
+From acbbd819705ab82602bbf45a18a584abb4d83efc Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:21 +0206
-Subject: [PATCH 090/196] serial: stm32: Use port lock wrappers
+Subject: [PATCH 090/198] serial: stm32: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -37,10 +37,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/drivers/tty/serial/stm32-usart.c b/drivers/tty/serial/stm32-usart.c
-index b6f4f436a565..f0901bedcc28 100644
+index e5f933beb6c0..d8fe1ca75ac4 100644
--- a/drivers/tty/serial/stm32-usart.c
+++ b/drivers/tty/serial/stm32-usart.c
-@@ -533,7 +533,7 @@ static void stm32_usart_rx_dma_complete(void *arg)
+@@ -535,7 +535,7 @@ static void stm32_usart_rx_dma_complete(void *arg)
unsigned int size;
unsigned long flags;
@@ -49,7 +49,7 @@ index b6f4f436a565..f0901bedcc28 100644
size = stm32_usart_receive_chars(port, false);
uart_unlock_and_check_sysrq_irqrestore(port, flags);
if (size)
-@@ -639,9 +639,9 @@ static void stm32_usart_tx_dma_complete(void *arg)
+@@ -641,9 +641,9 @@ static void stm32_usart_tx_dma_complete(void *arg)
stm32_usart_tx_dma_terminate(stm32port);
/* Let's see if we have pending data to send */
@@ -61,7 +61,7 @@ index b6f4f436a565..f0901bedcc28 100644
}
static void stm32_usart_tx_interrupt_enable(struct uart_port *port)
-@@ -885,7 +885,7 @@ static irqreturn_t stm32_usart_interrupt(int irq, void *ptr)
+@@ -887,7 +887,7 @@ static irqreturn_t stm32_usart_interrupt(int irq, void *ptr)
if (!stm32_port->throttled) {
if (((sr & USART_SR_RXNE) && !stm32_usart_rx_dma_started(stm32_port)) ||
((sr & USART_SR_ERR_MASK) && stm32_usart_rx_dma_started(stm32_port))) {
@@ -70,7 +70,7 @@ index b6f4f436a565..f0901bedcc28 100644
size = stm32_usart_receive_chars(port, false);
uart_unlock_and_check_sysrq(port);
if (size)
-@@ -894,14 +894,14 @@ static irqreturn_t stm32_usart_interrupt(int irq, void *ptr)
+@@ -896,14 +896,14 @@ static irqreturn_t stm32_usart_interrupt(int irq, void *ptr)
}
if ((sr & USART_SR_TXE) && !(stm32_port->tx_ch)) {
@@ -88,7 +88,7 @@ index b6f4f436a565..f0901bedcc28 100644
size = stm32_usart_receive_chars(port, false);
uart_unlock_and_check_sysrq(port);
if (size)
-@@ -989,7 +989,7 @@ static void stm32_usart_throttle(struct uart_port *port)
+@@ -991,7 +991,7 @@ static void stm32_usart_throttle(struct uart_port *port)
const struct stm32_usart_offsets *ofs = &stm32_port->info->ofs;
unsigned long flags;
@@ -97,7 +97,7 @@ index b6f4f436a565..f0901bedcc28 100644
/*
* Pause DMA transfer, so the RX data gets queued into the FIFO.
-@@ -1002,7 +1002,7 @@ static void stm32_usart_throttle(struct uart_port *port)
+@@ -1004,7 +1004,7 @@ static void stm32_usart_throttle(struct uart_port *port)
stm32_usart_clr_bits(port, ofs->cr3, stm32_port->cr3_irq);
stm32_port->throttled = true;
@@ -106,7 +106,7 @@ index b6f4f436a565..f0901bedcc28 100644
}
/* Unthrottle the remote, the input buffer can now accept data. */
-@@ -1012,7 +1012,7 @@ static void stm32_usart_unthrottle(struct uart_port *port)
+@@ -1014,7 +1014,7 @@ static void stm32_usart_unthrottle(struct uart_port *port)
const struct stm32_usart_offsets *ofs = &stm32_port->info->ofs;
unsigned long flags;
@@ -115,7 +115,7 @@ index b6f4f436a565..f0901bedcc28 100644
stm32_usart_set_bits(port, ofs->cr1, stm32_port->cr1_irq);
if (stm32_port->cr3_irq)
stm32_usart_set_bits(port, ofs->cr3, stm32_port->cr3_irq);
-@@ -1026,7 +1026,7 @@ static void stm32_usart_unthrottle(struct uart_port *port)
+@@ -1028,7 +1028,7 @@ static void stm32_usart_unthrottle(struct uart_port *port)
if (stm32_port->rx_ch)
stm32_usart_rx_dma_start_or_resume(port);
@@ -124,7 +124,7 @@ index b6f4f436a565..f0901bedcc28 100644
}
/* Receive stop */
-@@ -1154,7 +1154,7 @@ static void stm32_usart_set_termios(struct uart_port *port,
+@@ -1156,7 +1156,7 @@ static void stm32_usart_set_termios(struct uart_port *port,
baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 8);
@@ -133,7 +133,7 @@ index b6f4f436a565..f0901bedcc28 100644
ret = readl_relaxed_poll_timeout_atomic(port->membase + ofs->isr,
isr,
-@@ -1345,7 +1345,7 @@ static void stm32_usart_set_termios(struct uart_port *port,
+@@ -1347,7 +1347,7 @@ static void stm32_usart_set_termios(struct uart_port *port,
writel_relaxed(cr1, port->membase + ofs->cr1);
stm32_usart_set_bits(port, ofs->cr1, BIT(cfg->uart_enable_bit));
@@ -142,7 +142,7 @@ index b6f4f436a565..f0901bedcc28 100644
/* Handle modem control interrupts */
if (UART_ENABLE_MS(port, termios->c_cflag))
-@@ -1395,9 +1395,9 @@ static void stm32_usart_pm(struct uart_port *port, unsigned int state,
+@@ -1397,9 +1397,9 @@ static void stm32_usart_pm(struct uart_port *port, unsigned int state,
pm_runtime_get_sync(port->dev);
break;
case UART_PM_STATE_OFF:
@@ -154,7 +154,7 @@ index b6f4f436a565..f0901bedcc28 100644
pm_runtime_put_sync(port->dev);
break;
}
-@@ -1880,9 +1880,9 @@ static void stm32_usart_console_write(struct console *co, const char *s,
+@@ -1882,9 +1882,9 @@ static void stm32_usart_console_write(struct console *co, const char *s,
int locked = 1;
if (oops_in_progress)
@@ -166,7 +166,7 @@ index b6f4f436a565..f0901bedcc28 100644
/* Save and disable interrupts, enable the transmitter */
old_cr1 = readl_relaxed(port->membase + ofs->cr1);
-@@ -1896,7 +1896,7 @@ static void stm32_usart_console_write(struct console *co, const char *s,
+@@ -1898,7 +1898,7 @@ static void stm32_usart_console_write(struct console *co, const char *s,
writel_relaxed(old_cr1, port->membase + ofs->cr1);
if (locked)
@@ -175,7 +175,7 @@ index b6f4f436a565..f0901bedcc28 100644
}
static int stm32_usart_console_setup(struct console *co, char *options)
-@@ -2031,7 +2031,7 @@ static int __maybe_unused stm32_usart_serial_en_wakeup(struct uart_port *port,
+@@ -2033,7 +2033,7 @@ static int __maybe_unused stm32_usart_serial_en_wakeup(struct uart_port *port,
* low-power mode.
*/
if (stm32_port->rx_ch) {
@@ -185,5 +185,5 @@ index b6f4f436a565..f0901bedcc28 100644
if (!stm32_usart_rx_dma_pause(stm32_port))
size += stm32_usart_receive_chars(port, true);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0091-serial-sunhv-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0091-serial-sunhv-Use-port-lock-wrappers.patch
index 6869100d..51307a5f 100644
--- a/buildroot-external/patches/linux/0091-serial-sunhv-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0091-serial-sunhv-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From b32120a6b6f52c62d9a1d8929cd5fd717306ef01 Mon Sep 17 00:00:00 2001
+From ac2136f55b70ee185bab436362a4fdac219baa04 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:22 +0206
-Subject: [PATCH 091/196] serial: sunhv: Use port lock wrappers
+Subject: [PATCH 091/198] serial: sunhv: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -150,5 +150,5 @@ index c671d674bce4..5bfc0040f17b 100644
static struct console sunhv_console = {
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0092-serial-sunplus-uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0092-serial-sunplus-uart-Use-port-lock-wrappers.patch
index 7fd3bf55..f3e8491e 100644
--- a/buildroot-external/patches/linux/0092-serial-sunplus-uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0092-serial-sunplus-uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From ee1490b16afd2f4858a64fad528f82075f1da182 Mon Sep 17 00:00:00 2001
+From 1932ef3f8abb0d8bd225c3a4e1ee829c61fb9fdf Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:23 +0206
-Subject: [PATCH 092/196] serial: sunplus-uart: Use port lock wrappers
+Subject: [PATCH 092/198] serial: sunplus-uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -147,5 +147,5 @@ index 3aacd5eb414c..4251f4e1ba99 100644
local_irq_restore(flags);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0093-serial-sunsab-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0093-serial-sunsab-Use-port-lock-wrappers.patch
index 66f369eb..b07d284d 100644
--- a/buildroot-external/patches/linux/0093-serial-sunsab-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0093-serial-sunsab-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From f187f2fe0b3045229a97ce77efd0d3c9824ef153 Mon Sep 17 00:00:00 2001
+From 278ee5a1d6e11f88fbd8dd7f08a722c3f0a48c6f Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:24 +0206
-Subject: [PATCH 093/196] serial: sunsab: Use port lock wrappers
+Subject: [PATCH 093/198] serial: sunsab: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -177,5 +177,5 @@ index 40eeaf835bba..6aa51a6f8063 100644
return 0;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0094-serial-sunsu-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0094-serial-sunsu-Use-port-lock-wrappers.patch
index f11893a5..12657c50 100644
--- a/buildroot-external/patches/linux/0094-serial-sunsu-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0094-serial-sunsu-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 3dc65f31fdf6ccc15dd02e2956a276d591f3acc6 Mon Sep 17 00:00:00 2001
+From cd6e22436efc826fa3762bc274700b39a875fddc Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:25 +0206
-Subject: [PATCH 094/196] serial: sunsu: Use port lock wrappers
+Subject: [PATCH 094/198] serial: sunsu: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -220,5 +220,5 @@ index 58a4342ad0f9..1e051cc2591c 100644
/*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0095-serial-sunzilog-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0095-serial-sunzilog-Use-port-lock-wrappers.patch
index 8da1648b..bb7dcf28 100644
--- a/buildroot-external/patches/linux/0095-serial-sunzilog-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0095-serial-sunzilog-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 7c8bc5cc26ab2d530384d7548626ca02e6ec97ce Mon Sep 17 00:00:00 2001
+From dfe127ec04065029f71e9fb2d5699c0ffc7becc8 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:26 +0206
-Subject: [PATCH 095/196] serial: sunzilog: Use port lock wrappers
+Subject: [PATCH 095/198] serial: sunzilog: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -212,5 +212,5 @@ index c8c71c56264c..d3b5e864b727 100644
#ifdef CONFIG_SERIO
if (up->flags & (SUNZILOG_FLAG_CONS_KEYB |
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0096-serial-timbuart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0096-serial-timbuart-Use-port-lock-wrappers.patch
index 146f0bc7..f51d883e 100644
--- a/buildroot-external/patches/linux/0096-serial-timbuart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0096-serial-timbuart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From aad664874ddcaac93ae482c104079f38998c5c19 Mon Sep 17 00:00:00 2001
+From 35ec8c121ab7141518d95575b1ef75ca482d047b Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:27 +0206
-Subject: [PATCH 096/196] serial: timbuart: Use port lock wrappers
+Subject: [PATCH 096/198] serial: timbuart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -72,5 +72,5 @@ index 0859394a78cd..0cc6524f5e8b 100644
static const char *timbuart_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0097-serial-uartlite-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0097-serial-uartlite-Use-port-lock-wrappers.patch
index b34fe622..23842f42 100644
--- a/buildroot-external/patches/linux/0097-serial-uartlite-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0097-serial-uartlite-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From ef2a7b964c311147671f8da0f1a029600f8feb11 Mon Sep 17 00:00:00 2001
+From 7a808ea1e0703a03b55b5739b7922bc9b6cbeb3d Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:28 +0206
-Subject: [PATCH 097/196] serial: uartlite: Use port lock wrappers
+Subject: [PATCH 097/198] serial: uartlite: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -106,5 +106,5 @@ index b225a78f6175..404c14acafa5 100644
static int ulite_console_setup(struct console *co, char *options)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0098-serial-ucc_uart-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0098-serial-ucc_uart-Use-port-lock-wrappers.patch
index 3098198d..d9045186 100644
--- a/buildroot-external/patches/linux/0098-serial-ucc_uart-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0098-serial-ucc_uart-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 98036540f2e54a9bfa0bd4972c6f805d4a335f61 Mon Sep 17 00:00:00 2001
+From 00ca77f607a9224ac37e75575951dfa433161901 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:29 +0206
-Subject: [PATCH 098/196] serial: ucc_uart: Use port lock wrappers
+Subject: [PATCH 098/198] serial: ucc_uart: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -60,5 +60,5 @@ index b06661b80f41..ed7a6bb5596a 100644
/*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0099-serial-vt8500-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0099-serial-vt8500-Use-port-lock-wrappers.patch
index f2766b12..c102219d 100644
--- a/buildroot-external/patches/linux/0099-serial-vt8500-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0099-serial-vt8500-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 31d33200a08db8ea81131f9fd58cf814f01eec2c Mon Sep 17 00:00:00 2001
+From ed755976f5f993259afe0324c9eea1ea586acad7 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:30 +0206
-Subject: [PATCH 099/196] serial: vt8500: Use port lock wrappers
+Subject: [PATCH 099/198] serial: vt8500: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -77,5 +77,5 @@ index c5d5c2765119..78a1c1eea11b 100644
static const char *vt8500_type(struct uart_port *port)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0100-serial-xilinx_uartps-Use-port-lock-wrappers.patch b/buildroot-external/patches/linux/0100-serial-xilinx_uartps-Use-port-lock-wrappers.patch
index 797fefc5..4b95fd08 100644
--- a/buildroot-external/patches/linux/0100-serial-xilinx_uartps-Use-port-lock-wrappers.patch
+++ b/buildroot-external/patches/linux/0100-serial-xilinx_uartps-Use-port-lock-wrappers.patch
@@ -1,7 +1,7 @@
-From 3d50225857afa57a9507e16afe8a901b8fcaac87 Mon Sep 17 00:00:00 2001
+From d7a5565efe5e9e2df5bd06ac90d3edbfc4357c1b Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 14 Sep 2023 20:44:31 +0206
-Subject: [PATCH 100/196] serial: xilinx_uartps: Use port lock wrappers
+Subject: [PATCH 100/198] serial: xilinx_uartps: Use port lock wrappers
When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts,
@@ -277,5 +277,5 @@ index 2e5e86a00a77..9c13dac1d4d1 100644
return uart_resume_port(cdns_uart->cdns_uart_driver, port);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0101-printk-Add-non-BKL-nbcon-console-basic-infrastructur.patch b/buildroot-external/patches/linux/0101-printk-Add-non-BKL-nbcon-console-basic-infrastructur.patch
index 212535a6..8b33ea82 100644
--- a/buildroot-external/patches/linux/0101-printk-Add-non-BKL-nbcon-console-basic-infrastructur.patch
+++ b/buildroot-external/patches/linux/0101-printk-Add-non-BKL-nbcon-console-basic-infrastructur.patch
@@ -1,7 +1,7 @@
-From 722b7cde90957a6094cdd7a82dbac94a1fec5194 Mon Sep 17 00:00:00 2001
+From 4d72508b6543fa21b2ab307bb09a7cbfdc188c3f Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 16 Sep 2023 21:26:00 +0206
-Subject: [PATCH 101/196] printk: Add non-BKL (nbcon) console basic
+Subject: [PATCH 101/198] printk: Add non-BKL (nbcon) console basic
infrastructure
The current console/printk subsystem is protected by a Big Kernel Lock,
@@ -232,10 +232,10 @@ index 000000000000..63d24ca62ac5
+ nbcon_state_set(con, &state);
+}
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 0b3af1529778..1ec06dfa29d3 100644
+index 35d32d66fb11..ebeb0b4fa682 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3326,9 +3326,10 @@ static void try_enable_default_console(struct console *newcon)
+@@ -3376,9 +3376,10 @@ static void try_enable_default_console(struct console *newcon)
newcon->flags |= CON_CONSDEV;
}
@@ -249,7 +249,7 @@ index 0b3af1529778..1ec06dfa29d3 100644
con->name, con->index, ##__VA_ARGS__)
static void console_init_seq(struct console *newcon, bool bootcon_registered)
-@@ -3488,6 +3489,9 @@ void register_console(struct console *newcon)
+@@ -3538,6 +3539,9 @@ void register_console(struct console *newcon)
newcon->dropped = 0;
console_init_seq(newcon, bootcon_registered);
@@ -259,7 +259,7 @@ index 0b3af1529778..1ec06dfa29d3 100644
/*
* Put this console in the list - keep the
* preferred driver at the head of the list.
-@@ -3579,6 +3583,9 @@ static int unregister_console_locked(struct console *console)
+@@ -3629,6 +3633,9 @@ static int unregister_console_locked(struct console *console)
*/
synchronize_srcu(&console_srcu);
@@ -270,5 +270,5 @@ index 0b3af1529778..1ec06dfa29d3 100644
if (console->exit)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0102-printk-nbcon-Add-acquire-release-logic.patch b/buildroot-external/patches/linux/0102-printk-nbcon-Add-acquire-release-logic.patch
index af033f2e..7f9d47fc 100644
--- a/buildroot-external/patches/linux/0102-printk-nbcon-Add-acquire-release-logic.patch
+++ b/buildroot-external/patches/linux/0102-printk-nbcon-Add-acquire-release-logic.patch
@@ -1,7 +1,7 @@
-From 4f3f47e5e19d40bd84ca1a1e2b93822e2d94362c Mon Sep 17 00:00:00 2001
+From cfc64e8039fd294ed97037945850a6c0ecdb6a23 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 16 Sep 2023 21:26:01 +0206
-Subject: [PATCH 102/196] printk: nbcon: Add acquire/release logic
+Subject: [PATCH 102/198] printk: nbcon: Add acquire/release logic
Add per console acquire/release functionality.
@@ -708,5 +708,5 @@ index 63d24ca62ac5..a2a354f859f9 100644
* nbcon_init - Initialize the nbcon console specific data
* @con: Console to initialize
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0103-printk-Make-static-printk-buffers-available-to-nbcon.patch b/buildroot-external/patches/linux/0103-printk-Make-static-printk-buffers-available-to-nbcon.patch
index 64b2ddb4..9334e209 100644
--- a/buildroot-external/patches/linux/0103-printk-Make-static-printk-buffers-available-to-nbcon.patch
+++ b/buildroot-external/patches/linux/0103-printk-Make-static-printk-buffers-available-to-nbcon.patch
@@ -1,7 +1,7 @@
-From c40a030d4055ff223b62a48d97c33995662d5d36 Mon Sep 17 00:00:00 2001
+From 7399878c45c91bbe9a7f3274e35f60a612f52b95 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Sat, 16 Sep 2023 21:26:02 +0206
-Subject: [PATCH 103/196] printk: Make static printk buffers available to nbcon
+Subject: [PATCH 103/198] printk: Make static printk buffers available to nbcon
The nbcon boot consoles also need printk buffers that are available
very early. Since the nbcon boot consoles will also be serialized
@@ -35,10 +35,10 @@ index 2ca0ab78802c..7199d60bfc25 100644
* struct printk_buffers - Buffers to read/format/output printk messages.
* @outbuf: After formatting, contains text to output.
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 1ec06dfa29d3..eff5036c82c0 100644
+index ebeb0b4fa682..3bb689b6ae19 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2846,6 +2846,13 @@ static bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
+@@ -2881,6 +2881,13 @@ static bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
return true;
}
@@ -52,7 +52,7 @@ index 1ec06dfa29d3..eff5036c82c0 100644
/*
* Print one record for the given console. The record printed is whatever
* record is the next available record for the given console.
-@@ -2863,12 +2870,10 @@ static bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
+@@ -2898,12 +2905,10 @@ static bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
*/
static bool console_emit_next_record(struct console *con, bool *handover, int cookie)
{
@@ -68,5 +68,5 @@ index 1ec06dfa29d3..eff5036c82c0 100644
unsigned long flags;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0104-printk-nbcon-Add-buffer-management.patch b/buildroot-external/patches/linux/0104-printk-nbcon-Add-buffer-management.patch
index b6582f67..4a8fa512 100644
--- a/buildroot-external/patches/linux/0104-printk-nbcon-Add-buffer-management.patch
+++ b/buildroot-external/patches/linux/0104-printk-nbcon-Add-buffer-management.patch
@@ -1,7 +1,7 @@
-From 0bf91edda99d29abc55c6fa18dc19a610611e549 Mon Sep 17 00:00:00 2001
+From eea34fa9a5e6e5ef9b0c2df58e6102128f978177 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 16 Sep 2023 21:26:03 +0206
-Subject: [PATCH 104/196] printk: nbcon: Add buffer management
+Subject: [PATCH 104/198] printk: nbcon: Add buffer management
In case of hostile takeovers it must be ensured that the previous
owner cannot scribble over the output buffer of the emergency/panic
@@ -263,10 +263,10 @@ index a2a354f859f9..ba1febf15db6 100644
+ con->pbufs = NULL;
}
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index eff5036c82c0..51be6b65c3cf 100644
+index 3bb689b6ae19..edb0f9737bb9 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3331,12 +3331,6 @@ static void try_enable_default_console(struct console *newcon)
+@@ -3381,12 +3381,6 @@ static void try_enable_default_console(struct console *newcon)
newcon->flags |= CON_CONSDEV;
}
@@ -279,7 +279,7 @@ index eff5036c82c0..51be6b65c3cf 100644
static void console_init_seq(struct console *newcon, bool bootcon_registered)
{
struct console *con;
-@@ -3450,6 +3444,15 @@ void register_console(struct console *newcon)
+@@ -3500,6 +3494,15 @@ void register_console(struct console *newcon)
goto unlock;
}
@@ -295,7 +295,7 @@ index eff5036c82c0..51be6b65c3cf 100644
/*
* See if we want to enable this console driver by default.
*
-@@ -3477,8 +3480,11 @@ void register_console(struct console *newcon)
+@@ -3527,8 +3530,11 @@ void register_console(struct console *newcon)
err = try_enable_preferred_console(newcon, false);
/* printk() messages are not printed to the Braille console. */
@@ -308,7 +308,7 @@ index eff5036c82c0..51be6b65c3cf 100644
/*
* If we have a bootconsole, and are switching to a real console,
-@@ -3589,7 +3595,7 @@ static int unregister_console_locked(struct console *console)
+@@ -3639,7 +3645,7 @@ static int unregister_console_locked(struct console *console)
synchronize_srcu(&console_srcu);
if (console->flags & CON_NBCON)
@@ -318,5 +318,5 @@ index eff5036c82c0..51be6b65c3cf 100644
console_sysfs_notify();
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0105-printk-nbcon-Add-ownership-state-functions.patch b/buildroot-external/patches/linux/0105-printk-nbcon-Add-ownership-state-functions.patch
index 624a9edc..eb6e2d2c 100644
--- a/buildroot-external/patches/linux/0105-printk-nbcon-Add-ownership-state-functions.patch
+++ b/buildroot-external/patches/linux/0105-printk-nbcon-Add-ownership-state-functions.patch
@@ -1,7 +1,7 @@
-From 18f88aa629f0435318eb030df44ee399087ad4c0 Mon Sep 17 00:00:00 2001
+From 75beed52c30beb783c633d8c9bf3b2577acda22e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 16 Sep 2023 21:26:04 +0206
-Subject: [PATCH 105/196] printk: nbcon: Add ownership state functions
+Subject: [PATCH 105/198] printk: nbcon: Add ownership state functions
Provide functions that are related to the safe handover mechanism
and allow console drivers to dynamically specify unsafe regions:
@@ -180,5 +180,5 @@ index ba1febf15db6..98e4be5429f0 100644
* nbcon_alloc - Allocate buffers needed by the nbcon console
* @con: Console to allocate buffers for
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0106-printk-nbcon-Add-sequence-handling.patch b/buildroot-external/patches/linux/0106-printk-nbcon-Add-sequence-handling.patch
index 958abd8e..f188a847 100644
--- a/buildroot-external/patches/linux/0106-printk-nbcon-Add-sequence-handling.patch
+++ b/buildroot-external/patches/linux/0106-printk-nbcon-Add-sequence-handling.patch
@@ -1,7 +1,7 @@
-From 0ad5d91c28fd1d1007d0337eef381e1e4a685130 Mon Sep 17 00:00:00 2001
+From 28fac1ea3b9ecdcc1db264094f47ba6a20ed21e9 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 16 Sep 2023 21:26:05 +0206
-Subject: [PATCH 106/196] printk: nbcon: Add sequence handling
+Subject: [PATCH 106/198] printk: nbcon: Add sequence handling
Add an atomic_long_t field @nbcon_seq to the console struct to
store the sequence number for nbcon consoles. For nbcon consoles
@@ -241,7 +241,7 @@ index 98e4be5429f0..e076096b31c0 100644
}
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 51be6b65c3cf..de54e4942aa5 100644
+index edb0f9737bb9..1eec8c065090 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -494,7 +494,7 @@ _DEFINE_PRINTKRB(printk_rb_static, CONFIG_LOG_BUF_SHIFT - PRB_AVGBITS,
@@ -253,7 +253,7 @@ index 51be6b65c3cf..de54e4942aa5 100644
/*
* We cannot access per-CPU data (e.g. per-CPU flush irq_work) before
-@@ -3168,6 +3168,7 @@ void console_flush_on_panic(enum con_flush_mode mode)
+@@ -3203,6 +3203,7 @@ void console_flush_on_panic(enum con_flush_mode mode)
if (mode == CONSOLE_REPLAY_ALL) {
struct console *c;
@@ -261,7 +261,7 @@ index 51be6b65c3cf..de54e4942aa5 100644
int cookie;
u64 seq;
-@@ -3175,11 +3176,17 @@ void console_flush_on_panic(enum con_flush_mode mode)
+@@ -3210,11 +3211,17 @@ void console_flush_on_panic(enum con_flush_mode mode)
cookie = console_srcu_read_lock();
for_each_console_srcu(c) {
@@ -284,7 +284,7 @@ index 51be6b65c3cf..de54e4942aa5 100644
}
console_srcu_read_unlock(cookie);
}
-@@ -3750,6 +3757,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3800,6 +3807,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
struct console *c;
u64 last_diff = 0;
u64 printk_seq;
@@ -292,7 +292,7 @@ index 51be6b65c3cf..de54e4942aa5 100644
int cookie;
u64 diff;
u64 seq;
-@@ -3777,6 +3785,9 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3827,6 +3835,9 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
for_each_console_srcu(c) {
if (con && con != c)
continue;
@@ -302,7 +302,7 @@ index 51be6b65c3cf..de54e4942aa5 100644
/*
* If consoles are not usable, it cannot be expected
* that they make forward progress, so only increment
-@@ -3784,7 +3795,13 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3834,7 +3845,13 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
*/
if (!console_is_usable(c))
continue;
@@ -318,5 +318,5 @@ index 51be6b65c3cf..de54e4942aa5 100644
diff += seq - printk_seq;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0107-printk-nbcon-Add-emit-function-and-callback-function.patch b/buildroot-external/patches/linux/0107-printk-nbcon-Add-emit-function-and-callback-function.patch
index 6d30ef0d..0d28fa3a 100644
--- a/buildroot-external/patches/linux/0107-printk-nbcon-Add-emit-function-and-callback-function.patch
+++ b/buildroot-external/patches/linux/0107-printk-nbcon-Add-emit-function-and-callback-function.patch
@@ -1,7 +1,7 @@
-From a033e17e680e1b1d1a481997cb948dd55c0f0fb2 Mon Sep 17 00:00:00 2001
+From 3ed6e3169b7533adb444e3116b44094b9c00326e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 16 Sep 2023 21:26:06 +0206
-Subject: [PATCH 107/196] printk: nbcon: Add emit function and callback
+Subject: [PATCH 107/198] printk: nbcon: Add emit function and callback
function for atomic printing
Implement an emit function for nbcon consoles to output printk
@@ -234,7 +234,7 @@ index e076096b31c0..6e05d263fd22 100644
* nbcon_alloc - Allocate buffers needed by the nbcon console
* @con: Console to allocate buffers for
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index de54e4942aa5..1638eaf3708a 100644
+index 1eec8c065090..a8565bd0ac18 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -698,9 +698,6 @@ static ssize_t msg_print_ext_body(char *buf, size_t size,
@@ -247,7 +247,7 @@ index de54e4942aa5..1638eaf3708a 100644
/* /dev/kmsg - userspace message inject/listen interface */
struct devkmsg_user {
atomic64_t seq;
-@@ -2733,7 +2730,7 @@ static void __console_unlock(void)
+@@ -2768,7 +2765,7 @@ static void __console_unlock(void)
* If @pmsg->pbufs->outbuf is modified, @pmsg->outbuf_len is updated.
*/
#ifdef CONFIG_PRINTK
@@ -256,7 +256,7 @@ index de54e4942aa5..1638eaf3708a 100644
{
struct printk_buffers *pbufs = pmsg->pbufs;
const size_t scratchbuf_sz = sizeof(pbufs->scratchbuf);
-@@ -2787,8 +2784,8 @@ static void console_prepend_dropped(struct printk_message *pmsg, unsigned long d
+@@ -2822,8 +2819,8 @@ static void console_prepend_dropped(struct printk_message *pmsg, unsigned long d
* of @pmsg are valid. (See the documentation of struct printk_message
* for information about the @pmsg fields.)
*/
@@ -268,5 +268,5 @@ index de54e4942aa5..1638eaf3708a 100644
static int panic_console_dropped;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0108-printk-nbcon-Allow-drivers-to-mark-unsafe-regions-an.patch b/buildroot-external/patches/linux/0108-printk-nbcon-Allow-drivers-to-mark-unsafe-regions-an.patch
index 9dc77ddc..04b143b9 100644
--- a/buildroot-external/patches/linux/0108-printk-nbcon-Allow-drivers-to-mark-unsafe-regions-an.patch
+++ b/buildroot-external/patches/linux/0108-printk-nbcon-Allow-drivers-to-mark-unsafe-regions-an.patch
@@ -1,7 +1,7 @@
-From f7619f0c2f9fdc0bf7f1d8a710f43443e41487c8 Mon Sep 17 00:00:00 2001
+From 2f5d0c4c883ae3ccc57ab9991f6787a941e9f751 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 16 Sep 2023 21:26:07 +0206
-Subject: [PATCH 108/196] printk: nbcon: Allow drivers to mark unsafe regions
+Subject: [PATCH 108/198] printk: nbcon: Allow drivers to mark unsafe regions
and check state
For the write_atomic callback, the console driver may have unsafe
@@ -139,5 +139,5 @@ index 6e05d263fd22..b96077152f49 100644
* nbcon_emit_next_record - Emit a record in the acquired context
* @wctxt: The write context that will be handed to the write function
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0109-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch b/buildroot-external/patches/linux/0109-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch
index 8e5f85eb..8392d28a 100644
--- a/buildroot-external/patches/linux/0109-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch
+++ b/buildroot-external/patches/linux/0109-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch
@@ -1,7 +1,7 @@
-From ac5046cbcf4a6e51be9f326cd814789a5ca9959d Mon Sep 17 00:00:00 2001
+From 1778c80d0ce0b97fb7142d1e23f5e499c713a76e Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Wed, 20 Sep 2023 17:58:38 +0206
-Subject: [PATCH 109/196] printk: fix illegal pbufs access for !CONFIG_PRINTK
+Subject: [PATCH 109/198] printk: fix illegal pbufs access for !CONFIG_PRINTK
When CONFIG_PRINTK is not set, PRINTK_MESSAGE_MAX is 0. This
leads to a zero-sized array @outbuf in @printk_shared_pbufs. In
@@ -38,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 18 insertions(+), 26 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 1638eaf3708a..e922523fec78 100644
+index a8565bd0ac18..7ee5216fe61a 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -102,12 +102,6 @@ DEFINE_STATIC_SRCU(console_srcu);
@@ -67,7 +67,7 @@ index 1638eaf3708a..e922523fec78 100644
DECLARE_WAIT_QUEUE_HEAD(log_wait);
/* All 3 protected by @syslog_lock. */
/* the next printk record to read by syslog(READ) or /proc/kmsg */
-@@ -2346,22 +2346,6 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -2381,22 +2381,6 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
static u64 syslog_seq;
@@ -90,7 +90,7 @@ index 1638eaf3708a..e922523fec78 100644
static bool pr_flush(int timeout_ms, bool reset_on_progress) { return true; }
static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progress) { return true; }
-@@ -2715,6 +2699,8 @@ static void __console_unlock(void)
+@@ -2750,6 +2734,8 @@ static void __console_unlock(void)
up_console_sem();
}
@@ -99,7 +99,7 @@ index 1638eaf3708a..e922523fec78 100644
/*
* Prepend the message in @pmsg->pbufs->outbuf with a "dropped message". This
* is achieved by shifting the existing message over and inserting the dropped
-@@ -2729,7 +2715,6 @@ static void __console_unlock(void)
+@@ -2764,7 +2750,6 @@ static void __console_unlock(void)
*
* If @pmsg->pbufs->outbuf is modified, @pmsg->outbuf_len is updated.
*/
@@ -107,7 +107,7 @@ index 1638eaf3708a..e922523fec78 100644
void console_prepend_dropped(struct printk_message *pmsg, unsigned long dropped)
{
struct printk_buffers *pbufs = pmsg->pbufs;
-@@ -2761,9 +2746,6 @@ void console_prepend_dropped(struct printk_message *pmsg, unsigned long dropped)
+@@ -2796,9 +2781,6 @@ void console_prepend_dropped(struct printk_message *pmsg, unsigned long dropped)
memcpy(outbuf, scratchbuf, len);
pmsg->outbuf_len += len;
}
@@ -117,7 +117,7 @@ index 1638eaf3708a..e922523fec78 100644
/*
* Read and format the specified record (or a later record if the specified
-@@ -2921,6 +2903,16 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
+@@ -2956,6 +2938,16 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
return true;
}
@@ -135,5 +135,5 @@ index 1638eaf3708a..e922523fec78 100644
* Print out all remaining records to all consoles.
*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0110-printk-Reduce-pr_flush-pooling-time.patch b/buildroot-external/patches/linux/0110-printk-Reduce-pr_flush-pooling-time.patch
index 52acca18..cd02d54c 100644
--- a/buildroot-external/patches/linux/0110-printk-Reduce-pr_flush-pooling-time.patch
+++ b/buildroot-external/patches/linux/0110-printk-Reduce-pr_flush-pooling-time.patch
@@ -1,7 +1,7 @@
-From 245e39efef1a82639a16598af4216a9c60f91e9f Mon Sep 17 00:00:00 2001
+From 1d2a03eb0aa2ed5df8591651c8092031be48307d Mon Sep 17 00:00:00 2001
From: Petr Mladek
Date: Fri, 6 Oct 2023 10:21:51 +0200
-Subject: [PATCH 110/196] printk: Reduce pr_flush() pooling time
+Subject: [PATCH 110/198] printk: Reduce pr_flush() pooling time
pr_flush() does not guarantee that all messages would really get flushed
to the console. The best it could do is to wait with a given timeout.[*]
@@ -46,10 +46,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index e922523fec78..26a76b167ea6 100644
+index 7ee5216fe61a..6c6241c89e24 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3742,7 +3742,8 @@ late_initcall(printk_late_init);
+@@ -3792,7 +3792,8 @@ late_initcall(printk_late_init);
/* If @con is specified, only wait for that console. Otherwise wait for all. */
static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progress)
{
@@ -59,7 +59,7 @@ index e922523fec78..26a76b167ea6 100644
struct console *c;
u64 last_diff = 0;
u64 printk_seq;
-@@ -3760,6 +3761,9 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3810,6 +3811,9 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
console_unlock();
for (;;) {
@@ -69,7 +69,7 @@ index e922523fec78..26a76b167ea6 100644
diff = 0;
/*
-@@ -3797,24 +3801,20 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3847,24 +3851,20 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
console_srcu_read_unlock(cookie);
if (diff != last_diff && reset_on_progress)
@@ -103,5 +103,5 @@ index e922523fec78..26a76b167ea6 100644
last_diff = diff;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0111-printk-nbcon-Relocate-32bit-seq-macros.patch b/buildroot-external/patches/linux/0111-printk-nbcon-Relocate-32bit-seq-macros.patch
index f9461621..0f2a4970 100644
--- a/buildroot-external/patches/linux/0111-printk-nbcon-Relocate-32bit-seq-macros.patch
+++ b/buildroot-external/patches/linux/0111-printk-nbcon-Relocate-32bit-seq-macros.patch
@@ -1,7 +1,7 @@
-From 87f305af1157ce37e29540b92aae57daaff32e8d Mon Sep 17 00:00:00 2001
+From e55641cf1214f2888a8676c3d0f74a17c080a8bf Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Wed, 6 Dec 2023 12:01:56 +0000
-Subject: [PATCH 111/196] printk: nbcon: Relocate 32bit seq macros
+Subject: [PATCH 111/198] printk: nbcon: Relocate 32bit seq macros
The macros __seq_to_nbcon_seq() and __nbcon_seq_to_seq() are
used to provide support for atomic handling of sequence numbers
@@ -144,5 +144,5 @@ index 18cd25e489b8..b82a96dc2ea2 100644
+
#endif /* _KERNEL_PRINTK_RINGBUFFER_H */
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0112-printk-Adjust-mapping-for-32bit-seq-macros.patch b/buildroot-external/patches/linux/0112-printk-Adjust-mapping-for-32bit-seq-macros.patch
index 0240cdcc..26faf127 100644
--- a/buildroot-external/patches/linux/0112-printk-Adjust-mapping-for-32bit-seq-macros.patch
+++ b/buildroot-external/patches/linux/0112-printk-Adjust-mapping-for-32bit-seq-macros.patch
@@ -1,7 +1,7 @@
-From a4d45e4dce8b5eccfdc372dec99b037447369ea8 Mon Sep 17 00:00:00 2001
+From 3fcd8258460134ae4a79cbb24a39efeeecef6206 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 7 Dec 2023 14:15:15 +0000
-Subject: [PATCH 112/196] printk: Adjust mapping for 32bit seq macros
+Subject: [PATCH 112/198] printk: Adjust mapping for 32bit seq macros
Note: This change only applies to 32bit architectures. On 64bit
architectures the macros are NOPs.
@@ -72,5 +72,5 @@ index b82a96dc2ea2..12f60c782e46 100644
return seq;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0113-printk-Use-prb_first_seq-as-base-for-32bit-seq-macro.patch b/buildroot-external/patches/linux/0113-printk-Use-prb_first_seq-as-base-for-32bit-seq-macro.patch
index b3966561..f20b84f2 100644
--- a/buildroot-external/patches/linux/0113-printk-Use-prb_first_seq-as-base-for-32bit-seq-macro.patch
+++ b/buildroot-external/patches/linux/0113-printk-Use-prb_first_seq-as-base-for-32bit-seq-macro.patch
@@ -1,7 +1,7 @@
-From e58793dbb1847b2a8f98d2a0f3016e4f3cd3356d Mon Sep 17 00:00:00 2001
+From fcfa743b20e41c8a1cef0612900f0f1677f8a87b Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Wed, 22 Nov 2023 16:13:37 +0000
-Subject: [PATCH 113/196] printk: Use prb_first_seq() as base for 32bit seq
+Subject: [PATCH 113/198] printk: Use prb_first_seq() as base for 32bit seq
macros
Note: This change only applies to 32bit architectures. On 64bit
@@ -74,5 +74,5 @@ index 12f60c782e46..ee294aaf4aeb 100644
return seq;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0114-printk-ringbuffer-Do-not-skip-non-finalized-records-.patch b/buildroot-external/patches/linux/0114-printk-ringbuffer-Do-not-skip-non-finalized-records-.patch
index b8e1b3eb..cb5d9f4e 100644
--- a/buildroot-external/patches/linux/0114-printk-ringbuffer-Do-not-skip-non-finalized-records-.patch
+++ b/buildroot-external/patches/linux/0114-printk-ringbuffer-Do-not-skip-non-finalized-records-.patch
@@ -1,7 +1,7 @@
-From 6cfbf753a90d8212ebc60a139da50bdff07a6865 Mon Sep 17 00:00:00 2001
+From bc9d899cfe17946362bdf24ae8e21442615fb976 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Thu, 19 Oct 2023 10:32:05 +0000
-Subject: [PATCH 114/196] printk: ringbuffer: Do not skip non-finalized records
+Subject: [PATCH 114/198] printk: ringbuffer: Do not skip non-finalized records
with prb_next_seq()
Commit f244b4dc53e5 ("printk: ringbuffer: Improve
@@ -308,5 +308,5 @@ index ee294aaf4aeb..2d948cc82b5b 100644
.text_data_ring = { \
.size_bits = (avgtextbits) + (descbits), \
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0115-printk-ringbuffer-Clarify-special-lpos-values.patch b/buildroot-external/patches/linux/0115-printk-ringbuffer-Clarify-special-lpos-values.patch
index 405959b9..8397414b 100644
--- a/buildroot-external/patches/linux/0115-printk-ringbuffer-Clarify-special-lpos-values.patch
+++ b/buildroot-external/patches/linux/0115-printk-ringbuffer-Clarify-special-lpos-values.patch
@@ -1,7 +1,7 @@
-From 2ac19d39dfc717ba79c617373d7710d12ff86802 Mon Sep 17 00:00:00 2001
+From 70596fc48fbc159ec34ce9339df56ad352e09273 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 23 Oct 2023 11:11:05 +0000
-Subject: [PATCH 115/196] printk: ringbuffer: Clarify special lpos values
+Subject: [PATCH 115/198] printk: ringbuffer: Clarify special lpos values
For empty line records, no data blocks are created. Instead,
these valid records are identified by special logical position
@@ -95,5 +95,5 @@ index 2d948cc82b5b..d49460f7578e 100644
#define FAILED_BLK_LPOS \
{ \
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0116-printk-For-suppress_panic_printk-check-for-other-CPU.patch b/buildroot-external/patches/linux/0116-printk-For-suppress_panic_printk-check-for-other-CPU.patch
index 13aa107e..edfb8f3e 100644
--- a/buildroot-external/patches/linux/0116-printk-For-suppress_panic_printk-check-for-other-CPU.patch
+++ b/buildroot-external/patches/linux/0116-printk-For-suppress_panic_printk-check-for-other-CPU.patch
@@ -1,7 +1,7 @@
-From ff37f2b813bcf577e3a570951a5d1471cceafbe7 Mon Sep 17 00:00:00 2001
+From 6c301935637e209e6ddb5dab7bb5d40b63bea9db Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 13 Oct 2023 20:13:02 +0000
-Subject: [PATCH 116/196] printk: For @suppress_panic_printk check for other
+Subject: [PATCH 116/198] printk: For @suppress_panic_printk check for other
CPU in panic
Currently @suppress_panic_printk is checked along with
@@ -21,10 +21,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 26a76b167ea6..f9911a6526b7 100644
+index 6c6241c89e24..a30338aca084 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2271,8 +2271,7 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2306,8 +2306,7 @@ asmlinkage int vprintk_emit(int facility, int level,
if (unlikely(suppress_printk))
return 0;
@@ -35,5 +35,5 @@ index 26a76b167ea6..f9911a6526b7 100644
if (level == LOGLEVEL_SCHED) {
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0117-printk-Add-this_cpu_in_panic.patch b/buildroot-external/patches/linux/0117-printk-Add-this_cpu_in_panic.patch
index 29eb2651..6ddc1736 100644
--- a/buildroot-external/patches/linux/0117-printk-Add-this_cpu_in_panic.patch
+++ b/buildroot-external/patches/linux/0117-printk-Add-this_cpu_in_panic.patch
@@ -1,7 +1,7 @@
-From eef338536ac3d1ecc8b9976aa4c23acc26ddcb9e Mon Sep 17 00:00:00 2001
+From 9a02d5fda6287d943fc2d58cd1a3dc768d0c4e56 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 13 Oct 2023 14:30:49 +0000
-Subject: [PATCH 117/196] printk: Add this_cpu_in_panic()
+Subject: [PATCH 117/198] printk: Add this_cpu_in_panic()
There is already panic_in_progress() and other_cpu_in_panic(),
but checking if the current CPU is the panic CPU must still be
@@ -30,7 +30,7 @@ index 6c2afee5ef62..ac2d9750e5f8 100644
bool is_extended, bool may_supress);
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index f9911a6526b7..53aa496cce91 100644
+index a30338aca084..2bb393009d4e 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -347,6 +347,29 @@ static bool panic_in_progress(void)
@@ -63,7 +63,7 @@ index f9911a6526b7..53aa496cce91 100644
/*
* This is used for debugging the mess that is the VT code by
* keeping track if we have the console semaphore held. It's
-@@ -2593,26 +2616,6 @@ static int console_cpu_notify(unsigned int cpu)
+@@ -2628,26 +2651,6 @@ static int console_cpu_notify(unsigned int cpu)
return 0;
}
@@ -91,5 +91,5 @@ index f9911a6526b7..53aa496cce91 100644
* console_lock - block the console subsystem from printing
*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0118-printk-ringbuffer-Cleanup-reader-terminology.patch b/buildroot-external/patches/linux/0118-printk-ringbuffer-Cleanup-reader-terminology.patch
index b9ed4d9c..6499f164 100644
--- a/buildroot-external/patches/linux/0118-printk-ringbuffer-Cleanup-reader-terminology.patch
+++ b/buildroot-external/patches/linux/0118-printk-ringbuffer-Cleanup-reader-terminology.patch
@@ -1,7 +1,7 @@
-From e69a87b9db7040f72eb3778cab817be8cdeedfdf Mon Sep 17 00:00:00 2001
+From cb0502082b6cfebf7aa64c7055426c6623206489 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 6 Nov 2023 15:01:58 +0000
-Subject: [PATCH 118/196] printk: ringbuffer: Cleanup reader terminology
+Subject: [PATCH 118/198] printk: ringbuffer: Cleanup reader terminology
With the lockless ringbuffer, it is allowed that multiple
CPUs/contexts write simultaneously into the buffer. This creates
@@ -68,5 +68,5 @@ index 244d991ffd73..67ee1c62fcd6 100644
bool prb_read_valid_info(struct printk_ringbuffer *rb, u64 seq,
struct printk_info *info, unsigned int *line_count)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0119-printk-Wait-for-all-reserved-records-with-pr_flush.patch b/buildroot-external/patches/linux/0119-printk-Wait-for-all-reserved-records-with-pr_flush.patch
index 3e876e02..6a93a7fd 100644
--- a/buildroot-external/patches/linux/0119-printk-Wait-for-all-reserved-records-with-pr_flush.patch
+++ b/buildroot-external/patches/linux/0119-printk-Wait-for-all-reserved-records-with-pr_flush.patch
@@ -1,7 +1,7 @@
-From c10f1a40ece57be7eaa32266c41b354ad1a6a5f9 Mon Sep 17 00:00:00 2001
+From 46c6d072f618fc70fb1e629ab3acfe7e06dcb8b4 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 6 Nov 2023 14:59:55 +0000
-Subject: [PATCH 119/196] printk: Wait for all reserved records with pr_flush()
+Subject: [PATCH 119/198] printk: Wait for all reserved records with pr_flush()
Currently pr_flush() will only wait for records that were
available to readers at the time of the call (using
@@ -26,10 +26,10 @@ Signed-off-by: Sebastian Andrzej Siewior
3 files changed, 115 insertions(+), 1 deletion(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 53aa496cce91..e7b9a22f9a3a 100644
+index 2bb393009d4e..807692fd386a 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3756,7 +3756,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3806,7 +3806,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
might_sleep();
@@ -175,5 +175,5 @@ index d49460f7578e..52626d0f1fa3 100644
#ifdef CONFIG_64BIT
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0120-printk-ringbuffer-Skip-non-finalized-records-in-pani.patch b/buildroot-external/patches/linux/0120-printk-ringbuffer-Skip-non-finalized-records-in-pani.patch
index 0132fd93..049bda34 100644
--- a/buildroot-external/patches/linux/0120-printk-ringbuffer-Skip-non-finalized-records-in-pani.patch
+++ b/buildroot-external/patches/linux/0120-printk-ringbuffer-Skip-non-finalized-records-in-pani.patch
@@ -1,7 +1,7 @@
-From df308fa800ac57b2c12c940e1ad7ce692fb2fbe2 Mon Sep 17 00:00:00 2001
+From 67555ae6c7856f8b889d6526642b29374da35069 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 13 Oct 2023 10:23:11 +0000
-Subject: [PATCH 120/196] printk: ringbuffer: Skip non-finalized records in
+Subject: [PATCH 120/198] printk: ringbuffer: Skip non-finalized records in
panic
Normally a reader will stop once reaching a non-finalized
@@ -69,5 +69,5 @@ index b7748d7c44c1..d6ed33683b8b 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0121-printk-ringbuffer-Consider-committed-as-finalized-in.patch b/buildroot-external/patches/linux/0121-printk-ringbuffer-Consider-committed-as-finalized-in.patch
index bc37742a..3b7eb88e 100644
--- a/buildroot-external/patches/linux/0121-printk-ringbuffer-Consider-committed-as-finalized-in.patch
+++ b/buildroot-external/patches/linux/0121-printk-ringbuffer-Consider-committed-as-finalized-in.patch
@@ -1,7 +1,7 @@
-From 634ead0854338d5d970efa89437e9480f233c60e Mon Sep 17 00:00:00 2001
+From 66d130787be34ac6ffb46358d4a772f8f6ae60ca Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 20 Nov 2023 12:46:35 +0100
-Subject: [PATCH 121/196] printk: ringbuffer: Consider committed as finalized
+Subject: [PATCH 121/198] printk: ringbuffer: Consider committed as finalized
in panic
A descriptor in the committed state means the record does not yet
@@ -62,5 +62,5 @@ index d6ed33683b8b..e7b808b829a0 100644
* A descriptor in the reusable state may no longer have its data
* available; report it as existing but with lost data. Or the record
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0123-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch b/buildroot-external/patches/linux/0122-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch
similarity index 87%
rename from buildroot-external/patches/linux/0123-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch
rename to buildroot-external/patches/linux/0122-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch
index 7f47d1f3..b9988ba3 100644
--- a/buildroot-external/patches/linux/0123-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch
+++ b/buildroot-external/patches/linux/0122-printk-Avoid-non-panic-CPUs-writing-to-ringbuffer.patch
@@ -1,7 +1,7 @@
-From e1bdd5dd8f02730a79e4a8341c742b5d2b96a252 Mon Sep 17 00:00:00 2001
+From 6386b76bb04958b97818a63e2300f915d32427ee Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 20 Oct 2023 09:37:05 +0000
-Subject: [PATCH 123/196] printk: Avoid non-panic CPUs writing to ringbuffer
+Subject: [PATCH 122/198] printk: Avoid non-panic CPUs writing to ringbuffer
Commit 13fb0f74d702 ("printk: Avoid livelock with heavy printk
during panic") introduced a mechanism to silence non-panic CPUs
@@ -21,7 +21,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 6 insertions(+), 20 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 2a45097c9a4c..15cc485109a5 100644
+index 807692fd386a..7c5ab5c01abb 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -462,12 +462,6 @@ static int console_msg_format = MSG_FORMAT_DEFAULT;
@@ -37,7 +37,7 @@ index 2a45097c9a4c..15cc485109a5 100644
DECLARE_WAIT_QUEUE_HEAD(log_wait);
/* All 3 protected by @syslog_lock. */
/* the next printk record to read by syslog(READ) or /proc/kmsg */
-@@ -2323,7 +2317,12 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2329,7 +2323,12 @@ asmlinkage int vprintk_emit(int facility, int level,
if (unlikely(suppress_printk))
return 0;
@@ -51,7 +51,7 @@ index 2a45097c9a4c..15cc485109a5 100644
return 0;
if (level == LOGLEVEL_SCHED) {
-@@ -2800,8 +2799,6 @@ void console_prepend_dropped(struct printk_message *pmsg, unsigned long dropped)
+@@ -2806,8 +2805,6 @@ void console_prepend_dropped(struct printk_message *pmsg, unsigned long dropped)
bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
bool is_extended, bool may_suppress)
{
@@ -60,7 +60,7 @@ index 2a45097c9a4c..15cc485109a5 100644
struct printk_buffers *pbufs = pmsg->pbufs;
const size_t scratchbuf_sz = sizeof(pbufs->scratchbuf);
const size_t outbuf_sz = sizeof(pbufs->outbuf);
-@@ -2829,17 +2826,6 @@ bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
+@@ -2835,17 +2832,6 @@ bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
pmsg->seq = r.info->seq;
pmsg->dropped = r.info->seq - seq;
@@ -79,5 +79,5 @@ index 2a45097c9a4c..15cc485109a5 100644
if (may_suppress && suppress_message_printing(r.info->level))
goto out;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0122-printk-Disable-passing-console-lock-owner-completely.patch b/buildroot-external/patches/linux/0122-printk-Disable-passing-console-lock-owner-completely.patch
deleted file mode 100644
index 11f7bf3d..00000000
--- a/buildroot-external/patches/linux/0122-printk-Disable-passing-console-lock-owner-completely.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 7d4b1ccdba89b262e020f0deef5793a360fd4cca Mon Sep 17 00:00:00 2001
-From: Petr Mladek
-Date: Fri, 13 Oct 2023 14:12:05 +0000
-Subject: [PATCH 122/196] printk: Disable passing console lock owner completely
- during panic()
-
-The commit d51507098ff91 ("printk: disable optimistic spin
-during panic") added checks to avoid becoming a console waiter
-if a panic is in progress.
-
-However, the transition to panic can occur while there is
-already a waiter. The current owner should not pass the lock to
-the waiter because it might get stopped or blocked anytime.
-
-Also the panic context might pass the console lock owner to an
-already stopped waiter by mistake. It might happen when
-console_flush_on_panic() ignores the current lock owner, for
-example:
-
-CPU0 CPU1
----- ----
-console_lock_spinning_enable()
- console_trylock_spinning()
- [CPU1 now console waiter]
-NMI: panic()
- panic_other_cpus_shutdown()
- [stopped as console waiter]
- console_flush_on_panic()
- console_lock_spinning_enable()
- [print 1 record]
- console_lock_spinning_disable_and_check()
- [handover to stopped CPU1]
-
-This results in panic() not flushing the panic messages.
-
-Fix these problems by disabling all spinning operations
-completely during panic().
-
-Another advantage is that it prevents possible deadlocks caused
-by "console_owner_lock". The panic() context does not need to
-take it any longer. The lockless checks are safe because the
-functions become NOPs when they see the panic in progress. All
-operations manipulating the state are still synchronized by the
-lock even when non-panic CPUs would notice the panic
-synchronously.
-
-The current owner might stay spinning. But non-panic() CPUs
-would get stopped anyway and the panic context will never start
-spinning.
-
-Fixes: dbdda842fe96 ("printk: Add console owner and waiter logic to load balance console writes")
-Signed-off-by: Petr Mladek
-Signed-off-by: John Ogness
-Signed-off-by: Sebastian Andrzej Siewior
----
- kernel/printk/printk.c | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index e7b9a22f9a3a..2a45097c9a4c 100644
---- a/kernel/printk/printk.c
-+++ b/kernel/printk/printk.c
-@@ -1870,10 +1870,23 @@ static bool console_waiter;
- */
- static void console_lock_spinning_enable(void)
- {
-+ /*
-+ * Do not use spinning in panic(). The panic CPU wants to keep the lock.
-+ * Non-panic CPUs abandon the flush anyway.
-+ *
-+ * Just keep the lockdep annotation. The panic-CPU should avoid
-+ * taking console_owner_lock because it might cause a deadlock.
-+ * This looks like the easiest way how to prevent false lockdep
-+ * reports without handling races a lockless way.
-+ */
-+ if (panic_in_progress())
-+ goto lockdep;
-+
- raw_spin_lock(&console_owner_lock);
- console_owner = current;
- raw_spin_unlock(&console_owner_lock);
-
-+lockdep:
- /* The waiter may spin on us after setting console_owner */
- spin_acquire(&console_owner_dep_map, 0, 0, _THIS_IP_);
- }
-@@ -1898,6 +1911,22 @@ static int console_lock_spinning_disable_and_check(int cookie)
- {
- int waiter;
-
-+ /*
-+ * Ignore spinning waiters during panic() because they might get stopped
-+ * or blocked at any time,
-+ *
-+ * It is safe because nobody is allowed to start spinning during panic
-+ * in the first place. If there has been a waiter then non panic CPUs
-+ * might stay spinning. They would get stopped anyway. The panic context
-+ * will never start spinning and an interrupted spin on panic CPU will
-+ * never continue.
-+ */
-+ if (panic_in_progress()) {
-+ /* Keep lockdep happy. */
-+ spin_release(&console_owner_dep_map, _THIS_IP_);
-+ return 0;
-+ }
-+
- raw_spin_lock(&console_owner_lock);
- waiter = READ_ONCE(console_waiter);
- console_owner = NULL;
---
-2.43.2
-
diff --git a/buildroot-external/patches/linux/0124-panic-Flush-kernel-log-buffer-at-the-end.patch b/buildroot-external/patches/linux/0123-panic-Flush-kernel-log-buffer-at-the-end.patch
similarity index 91%
rename from buildroot-external/patches/linux/0124-panic-Flush-kernel-log-buffer-at-the-end.patch
rename to buildroot-external/patches/linux/0123-panic-Flush-kernel-log-buffer-at-the-end.patch
index 67db86c1..e611094a 100644
--- a/buildroot-external/patches/linux/0124-panic-Flush-kernel-log-buffer-at-the-end.patch
+++ b/buildroot-external/patches/linux/0123-panic-Flush-kernel-log-buffer-at-the-end.patch
@@ -1,7 +1,7 @@
-From 758c07accd9822d11f4ac996aff9204f0d7a551e Mon Sep 17 00:00:00 2001
+From db621f13961fb858c2545305b62a569ccf95314e Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Thu, 14 Dec 2023 20:48:23 +0000
-Subject: [PATCH 124/196] panic: Flush kernel log buffer at the end
+Subject: [PATCH 123/198] panic: Flush kernel log buffer at the end
If the kernel crashes in a context where printk() calls always
defer printing (such as in NMI or inside a printk_safe section)
@@ -39,5 +39,5 @@ index ffa037fa777d..ef9f9a4e928d 100644
for (i = 0; ; i += PANIC_TIMER_STEP) {
touch_softlockup_watchdog();
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0125-printk-Consider-nbcon-boot-consoles-on-seq-init.patch b/buildroot-external/patches/linux/0124-printk-Consider-nbcon-boot-consoles-on-seq-init.patch
similarity index 86%
rename from buildroot-external/patches/linux/0125-printk-Consider-nbcon-boot-consoles-on-seq-init.patch
rename to buildroot-external/patches/linux/0124-printk-Consider-nbcon-boot-consoles-on-seq-init.patch
index e824e4c5..a755e0aa 100644
--- a/buildroot-external/patches/linux/0125-printk-Consider-nbcon-boot-consoles-on-seq-init.patch
+++ b/buildroot-external/patches/linux/0124-printk-Consider-nbcon-boot-consoles-on-seq-init.patch
@@ -1,7 +1,7 @@
-From c5bb4969d45d74a2076fcd77a5ca69173dcb0beb Mon Sep 17 00:00:00 2001
+From ba0466e23097af5f1b452c33faeae6b639476e22 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Wed, 22 Nov 2023 11:23:43 +0000
-Subject: [PATCH 125/196] printk: Consider nbcon boot consoles on seq init
+Subject: [PATCH 124/198] printk: Consider nbcon boot consoles on seq init
If a non-boot console is registering and boot consoles exist, the
consoles are flushed before being unregistered. This allows the
@@ -23,10 +23,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 15cc485109a5..87d3510e3e45 100644
+index 7c5ab5c01abb..ae3bf0cf215a 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3392,11 +3392,20 @@ static void console_init_seq(struct console *newcon, bool bootcon_registered)
+@@ -3413,11 +3413,20 @@ static void console_init_seq(struct console *newcon, bool bootcon_registered)
newcon->seq = prb_next_seq(prb);
for_each_console(con) {
@@ -52,5 +52,5 @@ index 15cc485109a5..87d3510e3e45 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0126-printk-Add-sparse-notation-to-console_srcu-locking.patch b/buildroot-external/patches/linux/0125-printk-Add-sparse-notation-to-console_srcu-locking.patch
similarity index 87%
rename from buildroot-external/patches/linux/0126-printk-Add-sparse-notation-to-console_srcu-locking.patch
rename to buildroot-external/patches/linux/0125-printk-Add-sparse-notation-to-console_srcu-locking.patch
index 178f82e8..fab7126f 100644
--- a/buildroot-external/patches/linux/0126-printk-Add-sparse-notation-to-console_srcu-locking.patch
+++ b/buildroot-external/patches/linux/0125-printk-Add-sparse-notation-to-console_srcu-locking.patch
@@ -1,7 +1,7 @@
-From 5c2d5cab7ae6fa9dbc3281ac0c9b26272f019746 Mon Sep 17 00:00:00 2001
+From 86e5f827bbd8eef4808fb92c332b79763976ef6d Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 9 Oct 2023 13:55:19 +0000
-Subject: [PATCH 126/196] printk: Add sparse notation to console_srcu locking
+Subject: [PATCH 125/198] printk: Add sparse notation to console_srcu locking
kernel/printk/printk.c:284:5: sparse: sparse: context imbalance in
'console_srcu_read_lock' - wrong count at exit
@@ -17,7 +17,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 2 insertions(+)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 87d3510e3e45..c4ae4538dba7 100644
+index ae3bf0cf215a..ea13c808c282 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -282,6 +282,7 @@ EXPORT_SYMBOL(console_list_unlock);
@@ -37,5 +37,5 @@ index 87d3510e3e45..c4ae4538dba7 100644
srcu_read_unlock_nmisafe(&console_srcu, cookie);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0127-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch b/buildroot-external/patches/linux/0126-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch
similarity index 93%
rename from buildroot-external/patches/linux/0127-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch
rename to buildroot-external/patches/linux/0126-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch
index 32c3a8aa..25de6dce 100644
--- a/buildroot-external/patches/linux/0127-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch
+++ b/buildroot-external/patches/linux/0126-printk-nbcon-Ensure-ownership-release-on-failed-emit.patch
@@ -1,7 +1,7 @@
-From 658fb663bc28a42af52a216d7bf66f844dd23d69 Mon Sep 17 00:00:00 2001
+From 603d98ea57fc0d9f9c81c95304664ed8d1c60a27 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 20 Oct 2023 09:52:59 +0000
-Subject: [PATCH 127/196] printk: nbcon: Ensure ownership release on failed
+Subject: [PATCH 126/198] printk: nbcon: Ensure ownership release on failed
emit
Until now it was assumed that ownership has been lost when the
@@ -59,5 +59,5 @@ index c8093bcc01fe..8ecd76aa22e6 100644
/*
* Since any dropped message was successfully output, reset the
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0128-printk-Check-printk_deferred_enter-_exit-usage.patch b/buildroot-external/patches/linux/0127-printk-Check-printk_deferred_enter-_exit-usage.patch
similarity index 93%
rename from buildroot-external/patches/linux/0128-printk-Check-printk_deferred_enter-_exit-usage.patch
rename to buildroot-external/patches/linux/0127-printk-Check-printk_deferred_enter-_exit-usage.patch
index 0c1dff0e..a34c5d37 100644
--- a/buildroot-external/patches/linux/0128-printk-Check-printk_deferred_enter-_exit-usage.patch
+++ b/buildroot-external/patches/linux/0127-printk-Check-printk_deferred_enter-_exit-usage.patch
@@ -1,7 +1,7 @@
-From 397d9aaeec7f0592a80468974f2e8d952d9a94ec Mon Sep 17 00:00:00 2001
+From b2dc5422eb7660a8b8ebb9a3a97d98394618fe76 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 22 Sep 2023 14:58:18 +0000
-Subject: [PATCH 128/196] printk: Check printk_deferred_enter()/_exit() usage
+Subject: [PATCH 127/198] printk: Check printk_deferred_enter()/_exit() usage
Add validation that printk_deferred_enter()/_exit() are called in
non-migration contexts.
@@ -61,5 +61,5 @@ index 6d10927a07d8..8d9408d653de 100644
{
#ifdef CONFIG_KGDB_KDB
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0129-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch b/buildroot-external/patches/linux/0128-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch
similarity index 97%
rename from buildroot-external/patches/linux/0129-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch
rename to buildroot-external/patches/linux/0128-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch
index 15a044c0..40f4abce 100644
--- a/buildroot-external/patches/linux/0129-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch
+++ b/buildroot-external/patches/linux/0128-printk-nbcon-Implement-processing-in-port-lock-wrapp.patch
@@ -1,7 +1,7 @@
-From cc53b9de973f6e6773f583602563678cd0f780ec Mon Sep 17 00:00:00 2001
+From 21753bf733d3df316940fdcb4fe3ec7e498a50a1 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Wed, 13 Sep 2023 08:35:23 +0000
-Subject: [PATCH 129/196] printk: nbcon: Implement processing in port->lock
+Subject: [PATCH 128/198] printk: nbcon: Implement processing in port->lock
wrapper
Currently the port->lock wrappers uart_port_lock(),
@@ -81,7 +81,7 @@ index f4502b036e48..2aa57a870caf 100644
#ifdef CONFIG_SMP
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
-index f43aca7f3b01..90f4a11d24eb 100644
+index 678409c47b88..150dcf1ea332 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -595,6 +595,7 @@ struct uart_port {
@@ -251,5 +251,5 @@ index 8ecd76aa22e6..a5707fe1e95e 100644
+}
+EXPORT_SYMBOL_GPL(nbcon_release);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0130-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch b/buildroot-external/patches/linux/0129-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch
similarity index 92%
rename from buildroot-external/patches/linux/0130-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch
rename to buildroot-external/patches/linux/0129-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch
index 9c4dd8c1..179ae04a 100644
--- a/buildroot-external/patches/linux/0130-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch
+++ b/buildroot-external/patches/linux/0129-printk-nbcon-Add-driver_enter-driver_exit-console-ca.patch
@@ -1,7 +1,7 @@
-From 3b3da4e4e9170710e72c9c414e5800c6d887dbc9 Mon Sep 17 00:00:00 2001
+From 3a755adbb2855715fed940d577469d65179b2c94 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 8 Dec 2023 15:54:27 +0000
-Subject: [PATCH 130/196] printk: nbcon: Add driver_enter/driver_exit console
+Subject: [PATCH 129/198] printk: nbcon: Add driver_enter/driver_exit console
callbacks
Console drivers need some mechanism to synchronize between "normal
@@ -43,5 +43,5 @@ index c27bd5189660..73515c324347 100644
atomic_long_t __private nbcon_seq;
struct printk_buffers *pbufs;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0131-printk-Make-console_is_usable-available-to-nbcon.patch b/buildroot-external/patches/linux/0130-printk-Make-console_is_usable-available-to-nbcon.patch
similarity index 92%
rename from buildroot-external/patches/linux/0131-printk-Make-console_is_usable-available-to-nbcon.patch
rename to buildroot-external/patches/linux/0130-printk-Make-console_is_usable-available-to-nbcon.patch
index d4b8cb42..b13e5626 100644
--- a/buildroot-external/patches/linux/0131-printk-Make-console_is_usable-available-to-nbcon.patch
+++ b/buildroot-external/patches/linux/0130-printk-Make-console_is_usable-available-to-nbcon.patch
@@ -1,7 +1,7 @@
-From 865dcc34c0f8ecbdee000290ded20ae38e0a14ad Mon Sep 17 00:00:00 2001
+From efdd7f7e45f5b24fca1e6682e14ca1f209a54b50 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 12 Sep 2023 13:25:41 +0000
-Subject: [PATCH 131/196] printk: Make console_is_usable() available to nbcon
+Subject: [PATCH 130/198] printk: Make console_is_usable() available to nbcon
Move console_is_usable() as-is into internal.h so that it can
be used by nbcon printing functions as well.
@@ -65,10 +65,10 @@ index ac2d9750e5f8..378ccca007ca 100644
extern struct printk_buffers printk_shared_pbufs;
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index c4ae4538dba7..bdf826dc7672 100644
+index ea13c808c282..d959be5c4102 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2695,36 +2695,6 @@ int is_console_locked(void)
+@@ -2701,36 +2701,6 @@ int is_console_locked(void)
}
EXPORT_SYMBOL(is_console_locked);
@@ -106,5 +106,5 @@ index c4ae4538dba7..bdf826dc7672 100644
{
console_locked = 0;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0132-printk-Let-console_is_usable-handle-nbcon.patch b/buildroot-external/patches/linux/0131-printk-Let-console_is_usable-handle-nbcon.patch
similarity index 91%
rename from buildroot-external/patches/linux/0132-printk-Let-console_is_usable-handle-nbcon.patch
rename to buildroot-external/patches/linux/0131-printk-Let-console_is_usable-handle-nbcon.patch
index b18a6516..c30f4a42 100644
--- a/buildroot-external/patches/linux/0132-printk-Let-console_is_usable-handle-nbcon.patch
+++ b/buildroot-external/patches/linux/0131-printk-Let-console_is_usable-handle-nbcon.patch
@@ -1,7 +1,7 @@
-From 8847531d9096f4c400156e67aacf15f1dac79db1 Mon Sep 17 00:00:00 2001
+From d2f37f9e4496a237c968e51173e29868d5531646 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 12 Sep 2023 13:53:21 +0000
-Subject: [PATCH 132/196] printk: Let console_is_usable() handle nbcon
+Subject: [PATCH 131/198] printk: Let console_is_usable() handle nbcon
The nbcon consoles use a different printing callback. For nbcon
consoles, check for the write_atomic() callback instead of
@@ -44,5 +44,5 @@ index 378ccca007ca..d741d19bb9db 100644
/*
* Console drivers may assume that per-cpu resources have been
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0133-printk-Add-flags-argument-for-console_is_usable.patch b/buildroot-external/patches/linux/0132-printk-Add-flags-argument-for-console_is_usable.patch
similarity index 88%
rename from buildroot-external/patches/linux/0133-printk-Add-flags-argument-for-console_is_usable.patch
rename to buildroot-external/patches/linux/0132-printk-Add-flags-argument-for-console_is_usable.patch
index 430ec4e9..d15fafb3 100644
--- a/buildroot-external/patches/linux/0133-printk-Add-flags-argument-for-console_is_usable.patch
+++ b/buildroot-external/patches/linux/0132-printk-Add-flags-argument-for-console_is_usable.patch
@@ -1,7 +1,7 @@
-From f21d2e03634c127849c720ac6d14356bffe82d7f Mon Sep 17 00:00:00 2001
+From 72ef0acd2e92f18c01dcfc7918af2835b3857952 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 12 Sep 2023 13:45:33 +0000
-Subject: [PATCH 133/196] printk: Add @flags argument for console_is_usable()
+Subject: [PATCH 132/198] printk: Add @flags argument for console_is_usable()
The caller of console_is_usable() usually needs @console->flags
for its own checks. Rather than having console_is_usable() read
@@ -45,10 +45,10 @@ index d741d19bb9db..cd1ce0235f01 100644
#endif /* CONFIG_PRINTK */
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index bdf826dc7672..ef579b472363 100644
+index d959be5c4102..bdd3d7e40e63 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2940,9 +2940,10 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
+@@ -2946,9 +2946,10 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
cookie = console_srcu_read_lock();
for_each_console_srcu(con) {
@@ -60,7 +60,7 @@ index bdf826dc7672..ef579b472363 100644
continue;
any_usable = true;
-@@ -3784,7 +3785,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3805,7 +3806,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
* that they make forward progress, so only increment
* @diff for usable consoles.
*/
@@ -70,5 +70,5 @@ index bdf826dc7672..ef579b472363 100644
if (flags & CON_NBCON) {
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0134-printk-nbcon-Provide-function-to-flush-using-write_a.patch b/buildroot-external/patches/linux/0133-printk-nbcon-Provide-function-to-flush-using-write_a.patch
similarity index 96%
rename from buildroot-external/patches/linux/0134-printk-nbcon-Provide-function-to-flush-using-write_a.patch
rename to buildroot-external/patches/linux/0133-printk-nbcon-Provide-function-to-flush-using-write_a.patch
index a265e153..12342978 100644
--- a/buildroot-external/patches/linux/0134-printk-nbcon-Provide-function-to-flush-using-write_a.patch
+++ b/buildroot-external/patches/linux/0133-printk-nbcon-Provide-function-to-flush-using-write_a.patch
@@ -1,7 +1,7 @@
-From 6efd22b08903646f6d6b5b6422789d7547a11286 Mon Sep 17 00:00:00 2001
+From d73d9e0532546be3071b7d9badc4b5818f0a4e10 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Tue, 12 Sep 2023 12:00:08 +0000
-Subject: [PATCH 134/196] printk: nbcon: Provide function to flush using
+Subject: [PATCH 133/198] printk: nbcon: Provide function to flush using
write_atomic()
Provide nbcon_atomic_flush_all() to perform flushing of all
@@ -178,10 +178,10 @@ index a5707fe1e95e..d0780168e319 100644
* nbcon_alloc - Allocate buffers needed by the nbcon console
* @con: Console to allocate buffers for
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index ef579b472363..2aa2adb1c546 100644
+index bdd3d7e40e63..271865952a4d 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3170,6 +3170,8 @@ void console_flush_on_panic(enum con_flush_mode mode)
+@@ -3176,6 +3176,8 @@ void console_flush_on_panic(enum con_flush_mode mode)
console_srcu_read_unlock(cookie);
}
@@ -191,5 +191,5 @@ index ef579b472363..2aa2adb1c546 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0135-printk-Track-registered-boot-consoles.patch b/buildroot-external/patches/linux/0134-printk-Track-registered-boot-consoles.patch
similarity index 86%
rename from buildroot-external/patches/linux/0135-printk-Track-registered-boot-consoles.patch
rename to buildroot-external/patches/linux/0134-printk-Track-registered-boot-consoles.patch
index 35f3e655..aa9eec22 100644
--- a/buildroot-external/patches/linux/0135-printk-Track-registered-boot-consoles.patch
+++ b/buildroot-external/patches/linux/0134-printk-Track-registered-boot-consoles.patch
@@ -1,7 +1,7 @@
-From edbb86d68e362282bb5f4c9cccff869772f69f2e Mon Sep 17 00:00:00 2001
+From 4f930e584df6d58f3bcf2508a01e424bf773b994 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 24 Oct 2023 14:13:14 +0000
-Subject: [PATCH 135/196] printk: Track registered boot consoles
+Subject: [PATCH 134/198] printk: Track registered boot consoles
Unfortunately it is not known if a boot console and a regular
(legacy or nbcon) console use the same hardware. For this reason
@@ -23,7 +23,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 24 insertions(+)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 2aa2adb1c546..1ad6d6d8ad2e 100644
+index 271865952a4d..4185c58f7915 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -463,6 +463,14 @@ static int console_msg_format = MSG_FORMAT_DEFAULT;
@@ -41,7 +41,7 @@ index 2aa2adb1c546..1ad6d6d8ad2e 100644
#ifdef CONFIG_PRINTK
DECLARE_WAIT_QUEUE_HEAD(log_wait);
/* All 3 protected by @syslog_lock. */
-@@ -3500,6 +3508,9 @@ void register_console(struct console *newcon)
+@@ -3521,6 +3529,9 @@ void register_console(struct console *newcon)
if (newcon->flags & CON_NBCON)
nbcon_init(newcon);
@@ -51,7 +51,7 @@ index 2aa2adb1c546..1ad6d6d8ad2e 100644
/*
* Put this console in the list - keep the
* preferred driver at the head of the list.
-@@ -3552,6 +3563,8 @@ EXPORT_SYMBOL(register_console);
+@@ -3573,6 +3584,8 @@ EXPORT_SYMBOL(register_console);
/* Must be called under console_list_lock(). */
static int unregister_console_locked(struct console *console)
{
@@ -60,7 +60,7 @@ index 2aa2adb1c546..1ad6d6d8ad2e 100644
int res;
lockdep_assert_console_list_lock_held();
-@@ -3599,6 +3612,17 @@ static int unregister_console_locked(struct console *console)
+@@ -3620,6 +3633,17 @@ static int unregister_console_locked(struct console *console)
if (console->exit)
res = console->exit(console);
@@ -79,5 +79,5 @@ index 2aa2adb1c546..1ad6d6d8ad2e 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0136-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch b/buildroot-external/patches/linux/0135-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch
similarity index 95%
rename from buildroot-external/patches/linux/0136-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch
rename to buildroot-external/patches/linux/0135-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch
index ad225448..ab394bcc 100644
--- a/buildroot-external/patches/linux/0136-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch
+++ b/buildroot-external/patches/linux/0135-printk-nbcon-Use-nbcon-consoles-in-console_flush_all.patch
@@ -1,7 +1,7 @@
-From d9b5edbbf16c03ead8cdce023e65056a7b8145b2 Mon Sep 17 00:00:00 2001
+From 83cb83122d956641ae5d7d798ebc4a160a36db2f Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 19 Sep 2023 14:33:27 +0000
-Subject: [PATCH 136/196] printk: nbcon: Use nbcon consoles in
+Subject: [PATCH 135/198] printk: nbcon: Use nbcon consoles in
console_flush_all()
Allow nbcon consoles to print messages in the printk() caller
@@ -121,7 +121,7 @@ index d0780168e319..c17cf3ea6153 100644
* __nbcon_atomic_flush_all - Flush all nbcon consoles using their
* write_atomic() callback
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 1ad6d6d8ad2e..8a023a6db7c9 100644
+index 4185c58f7915..d6173575ea03 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -1872,7 +1872,7 @@ static bool console_waiter;
@@ -142,7 +142,7 @@ index 1ad6d6d8ad2e..8a023a6db7c9 100644
{
int waiter;
-@@ -2949,13 +2949,22 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
+@@ -2955,13 +2955,22 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
cookie = console_srcu_read_lock();
for_each_console_srcu(con) {
short flags = console_srcu_read_flags(con);
@@ -166,7 +166,7 @@ index 1ad6d6d8ad2e..8a023a6db7c9 100644
/*
* If a handover has occurred, the SRCU read lock
-@@ -2965,8 +2974,8 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
+@@ -2971,8 +2980,8 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
return false;
/* Track the next of the highest seq flushed. */
@@ -178,5 +178,5 @@ index 1ad6d6d8ad2e..8a023a6db7c9 100644
if (!progress)
continue;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0137-printk-nbcon-Assign-priority-based-on-CPU-state.patch b/buildroot-external/patches/linux/0136-printk-nbcon-Assign-priority-based-on-CPU-state.patch
similarity index 96%
rename from buildroot-external/patches/linux/0137-printk-nbcon-Assign-priority-based-on-CPU-state.patch
rename to buildroot-external/patches/linux/0136-printk-nbcon-Assign-priority-based-on-CPU-state.patch
index 033ba025..1eabfece 100644
--- a/buildroot-external/patches/linux/0137-printk-nbcon-Assign-priority-based-on-CPU-state.patch
+++ b/buildroot-external/patches/linux/0136-printk-nbcon-Assign-priority-based-on-CPU-state.patch
@@ -1,7 +1,7 @@
-From a920606f828c8a5794abe28fad17f92d92857626 Mon Sep 17 00:00:00 2001
+From 7705354adeb79a835d99e3d88414cdfe6cf07f60 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Thu, 14 Dec 2023 14:38:42 +0000
-Subject: [PATCH 137/196] printk: nbcon: Assign priority based on CPU state
+Subject: [PATCH 136/198] printk: nbcon: Assign priority based on CPU state
Use the current state of the CPU to determine which priority to
assign to the printing context.
@@ -116,5 +116,5 @@ index c17cf3ea6153..3e999784ba5c 100644
void nbcon_release(struct uart_port *up)
{
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0138-printk-nbcon-Add-unsafe-flushing-on-panic.patch b/buildroot-external/patches/linux/0137-printk-nbcon-Add-unsafe-flushing-on-panic.patch
similarity index 96%
rename from buildroot-external/patches/linux/0138-printk-nbcon-Add-unsafe-flushing-on-panic.patch
rename to buildroot-external/patches/linux/0137-printk-nbcon-Add-unsafe-flushing-on-panic.patch
index 5ccb3721..eb5d44f9 100644
--- a/buildroot-external/patches/linux/0138-printk-nbcon-Add-unsafe-flushing-on-panic.patch
+++ b/buildroot-external/patches/linux/0137-printk-nbcon-Add-unsafe-flushing-on-panic.patch
@@ -1,7 +1,7 @@
-From 0e5f0963a60d11c35828b5635c2ce1b4c3d800e2 Mon Sep 17 00:00:00 2001
+From 56ceb90cac5939a9e30555e91c08a1a1dcf6ddae Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 20 Oct 2023 10:03:42 +0000
-Subject: [PATCH 138/196] printk: nbcon: Add unsafe flushing on panic
+Subject: [PATCH 137/198] printk: nbcon: Add unsafe flushing on panic
Add nbcon_atomic_flush_unsafe() to flush all nbcon consoles
using the write_atomic() callback and allowing unsafe hostile
@@ -101,5 +101,5 @@ index 3e999784ba5c..1c01f88d596d 100644
/**
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0139-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch b/buildroot-external/patches/linux/0138-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch
similarity index 87%
rename from buildroot-external/patches/linux/0139-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch
rename to buildroot-external/patches/linux/0138-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch
index 126af5f5..fb4b88a3 100644
--- a/buildroot-external/patches/linux/0139-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch
+++ b/buildroot-external/patches/linux/0138-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch
@@ -1,7 +1,7 @@
-From d0da2306d4d604ad861515b6b391bda5f4016622 Mon Sep 17 00:00:00 2001
+From cf9fd1cc9f710ad5cb9d68887a5b7022383c0898 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 26 Sep 2023 12:44:07 +0000
-Subject: [PATCH 139/196] printk: Avoid console_lock dance if no legacy or boot
+Subject: [PATCH 138/198] printk: Avoid console_lock dance if no legacy or boot
consoles
Currently the console lock is used to attempt legacy-type
@@ -56,7 +56,7 @@ index c4417fc48b7e..e2675981dfc5 100644
* In !PRINTK builds we still export console_sem
* semaphore and some of console functions (console_unlock()/etc.), so
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 8a023a6db7c9..26958c8b2810 100644
+index d6173575ea03..e92da55b8e9f 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -463,6 +463,13 @@ static int console_msg_format = MSG_FORMAT_DEFAULT;
@@ -73,7 +73,7 @@ index 8a023a6db7c9..26958c8b2810 100644
/*
* Specifies if a boot console is registered. If boot consoles are present,
* nbcon consoles cannot print simultaneously and must be synchronized by
-@@ -2345,7 +2352,7 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2351,7 +2358,7 @@ asmlinkage int vprintk_emit(int facility, int level,
printed_len = vprintk_store(facility, level, dev_info, fmt, args);
/* If called from the scheduler, we can not call up(). */
@@ -82,7 +82,7 @@ index 8a023a6db7c9..26958c8b2810 100644
/*
* The caller may be holding system-critical or
* timing-sensitive locks. Disable preemption during
-@@ -2646,7 +2653,7 @@ void resume_console(void)
+@@ -2652,7 +2659,7 @@ void resume_console(void)
*/
static int console_cpu_notify(unsigned int cpu)
{
@@ -91,7 +91,7 @@ index 8a023a6db7c9..26958c8b2810 100644
/* If trylock fails, someone else is doing the printing */
if (console_trylock())
console_unlock();
-@@ -3189,7 +3196,8 @@ void console_flush_on_panic(enum con_flush_mode mode)
+@@ -3195,7 +3202,8 @@ void console_flush_on_panic(enum con_flush_mode mode)
nbcon_atomic_flush_all();
@@ -101,7 +101,7 @@ index 8a023a6db7c9..26958c8b2810 100644
}
/*
-@@ -3514,8 +3522,11 @@ void register_console(struct console *newcon)
+@@ -3535,8 +3543,11 @@ void register_console(struct console *newcon)
newcon->dropped = 0;
console_init_seq(newcon, bootcon_registered);
@@ -114,7 +114,7 @@ index 8a023a6db7c9..26958c8b2810 100644
if (newcon->flags & CON_BOOT)
have_boot_console = true;
-@@ -3572,6 +3583,7 @@ EXPORT_SYMBOL(register_console);
+@@ -3593,6 +3604,7 @@ EXPORT_SYMBOL(register_console);
/* Must be called under console_list_lock(). */
static int unregister_console_locked(struct console *console)
{
@@ -122,7 +122,7 @@ index 8a023a6db7c9..26958c8b2810 100644
bool found_boot_con = false;
struct console *c;
int res;
-@@ -3628,9 +3640,13 @@ static int unregister_console_locked(struct console *console)
+@@ -3649,9 +3661,13 @@ static int unregister_console_locked(struct console *console)
for_each_console(c) {
if (c->flags & CON_BOOT)
found_boot_con = true;
@@ -136,7 +136,7 @@ index 8a023a6db7c9..26958c8b2810 100644
return res;
}
-@@ -3782,6 +3798,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3803,6 +3819,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
u64 last_diff = 0;
u64 printk_seq;
short flags;
@@ -144,7 +144,7 @@ index 8a023a6db7c9..26958c8b2810 100644
int cookie;
u64 diff;
u64 seq;
-@@ -3791,22 +3808,28 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3812,22 +3829,28 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
seq = prb_next_reserve_seq(prb);
/* Flush the consoles so that records up to @seq are printed. */
@@ -182,7 +182,7 @@ index 8a023a6db7c9..26958c8b2810 100644
cookie = console_srcu_read_lock();
for_each_console_srcu(c) {
-@@ -3826,6 +3849,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3847,6 +3870,7 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
if (flags & CON_NBCON) {
printk_seq = nbcon_seq_read(c);
} else {
@@ -190,7 +190,7 @@ index 8a023a6db7c9..26958c8b2810 100644
printk_seq = c->seq;
}
-@@ -3837,7 +3861,8 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3858,7 +3882,8 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
if (diff != last_diff && reset_on_progress)
remaining_jiffies = timeout_jiffies;
@@ -200,7 +200,7 @@ index 8a023a6db7c9..26958c8b2810 100644
/* Note: @diff is 0 if there are no usable consoles. */
if (diff == 0 || remaining_jiffies == 0)
-@@ -3959,7 +3984,11 @@ void defer_console_output(void)
+@@ -3980,7 +4005,11 @@ void defer_console_output(void)
* New messages may have been added directly to the ringbuffer
* using vprintk_store(), so wake any waiters as well.
*/
@@ -214,5 +214,5 @@ index 8a023a6db7c9..26958c8b2810 100644
void printk_trigger_flush(void)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0140-printk-Track-nbcon-consoles.patch b/buildroot-external/patches/linux/0139-printk-Track-nbcon-consoles.patch
similarity index 84%
rename from buildroot-external/patches/linux/0140-printk-Track-nbcon-consoles.patch
rename to buildroot-external/patches/linux/0139-printk-Track-nbcon-consoles.patch
index 908f5401..8124aa84 100644
--- a/buildroot-external/patches/linux/0140-printk-Track-nbcon-consoles.patch
+++ b/buildroot-external/patches/linux/0139-printk-Track-nbcon-consoles.patch
@@ -1,7 +1,7 @@
-From 452db4563b02c88bf1e0312c20dc54c35f0c7a17 Mon Sep 17 00:00:00 2001
+From e94b1b0db090410a8e0a95bccf5eabe740c537fc Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 11 Dec 2023 09:36:52 +0000
-Subject: [PATCH 140/196] printk: Track nbcon consoles
+Subject: [PATCH 139/198] printk: Track nbcon consoles
Add a global flag @have_nbcon_console to identify if any nbcon
consoles are registered. This will be used in follow-up commits
@@ -14,7 +14,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 26958c8b2810..e84da28db173 100644
+index e92da55b8e9f..977a97f0396b 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -470,6 +470,13 @@ static DEFINE_MUTEX(syslog_lock);
@@ -31,7 +31,7 @@ index 26958c8b2810..e84da28db173 100644
/*
* Specifies if a boot console is registered. If boot consoles are present,
* nbcon consoles cannot print simultaneously and must be synchronized by
-@@ -3523,6 +3530,7 @@ void register_console(struct console *newcon)
+@@ -3544,6 +3551,7 @@ void register_console(struct console *newcon)
console_init_seq(newcon, bootcon_registered);
if (newcon->flags & CON_NBCON) {
@@ -39,7 +39,7 @@ index 26958c8b2810..e84da28db173 100644
nbcon_init(newcon);
} else {
have_legacy_console = true;
-@@ -3584,6 +3592,7 @@ EXPORT_SYMBOL(register_console);
+@@ -3605,6 +3613,7 @@ EXPORT_SYMBOL(register_console);
static int unregister_console_locked(struct console *console)
{
bool found_legacy_con = false;
@@ -47,7 +47,7 @@ index 26958c8b2810..e84da28db173 100644
bool found_boot_con = false;
struct console *c;
int res;
-@@ -3640,13 +3649,18 @@ static int unregister_console_locked(struct console *console)
+@@ -3661,13 +3670,18 @@ static int unregister_console_locked(struct console *console)
for_each_console(c) {
if (c->flags & CON_BOOT)
found_boot_con = true;
@@ -68,5 +68,5 @@ index 26958c8b2810..e84da28db173 100644
return res;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0141-printk-Coordinate-direct-printing-in-panic.patch b/buildroot-external/patches/linux/0140-printk-Coordinate-direct-printing-in-panic.patch
similarity index 91%
rename from buildroot-external/patches/linux/0141-printk-Coordinate-direct-printing-in-panic.patch
rename to buildroot-external/patches/linux/0140-printk-Coordinate-direct-printing-in-panic.patch
index 10e1499a..c75578f4 100644
--- a/buildroot-external/patches/linux/0141-printk-Coordinate-direct-printing-in-panic.patch
+++ b/buildroot-external/patches/linux/0140-printk-Coordinate-direct-printing-in-panic.patch
@@ -1,7 +1,7 @@
-From 66c59e7b1eeb5f89fda651c62d7178e34d9e92c5 Mon Sep 17 00:00:00 2001
+From da1ef01e278544e6f355dc67afbb8b297ebfcf35 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Wed, 22 Nov 2023 11:56:58 +0000
-Subject: [PATCH 141/196] printk: Coordinate direct printing in panic
+Subject: [PATCH 140/198] printk: Coordinate direct printing in panic
Perform printing by nbcon consoles on the panic CPU from the
printk() caller context in order to get panic messages printed
@@ -49,10 +49,10 @@ index 219b69fbe829..f0e91a0c4001 100644
kmsg_dump(KMSG_DUMP_PANIC);
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index e84da28db173..9c2e26ce16f9 100644
+index 977a97f0396b..e8d60e29c17f 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2330,12 +2330,23 @@ int vprintk_store(int facility, int level,
+@@ -2336,12 +2336,23 @@ int vprintk_store(int facility, int level,
return ret;
}
@@ -77,7 +77,7 @@ index e84da28db173..9c2e26ce16f9 100644
/* Suppress unimportant messages after panic happens */
if (unlikely(suppress_printk))
-@@ -2351,15 +2362,43 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2357,15 +2368,43 @@ asmlinkage int vprintk_emit(int facility, int level,
if (level == LOGLEVEL_SCHED) {
level = LOGLEVEL_DEFAULT;
@@ -124,7 +124,7 @@ index e84da28db173..9c2e26ce16f9 100644
/*
* The caller may be holding system-critical or
* timing-sensitive locks. Disable preemption during
-@@ -2379,10 +2418,10 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2385,10 +2424,10 @@ asmlinkage int vprintk_emit(int facility, int level,
preempt_enable();
}
@@ -139,5 +139,5 @@ index e84da28db173..9c2e26ce16f9 100644
return printed_len;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0142-printk-nbcon-Implement-emergency-sections.patch b/buildroot-external/patches/linux/0141-printk-nbcon-Implement-emergency-sections.patch
similarity index 97%
rename from buildroot-external/patches/linux/0142-printk-nbcon-Implement-emergency-sections.patch
rename to buildroot-external/patches/linux/0141-printk-nbcon-Implement-emergency-sections.patch
index e817c337..d7ea4b78 100644
--- a/buildroot-external/patches/linux/0142-printk-nbcon-Implement-emergency-sections.patch
+++ b/buildroot-external/patches/linux/0141-printk-nbcon-Implement-emergency-sections.patch
@@ -1,7 +1,7 @@
-From 92634b7c6a41eefbd7252c57b7a29a70bd236bb4 Mon Sep 17 00:00:00 2001
+From 2d24e2a5cd438654ffaf1e3d17ec0b99115a8520 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Mon, 11 Sep 2023 15:21:57 +0000
-Subject: [PATCH 142/196] printk: nbcon: Implement emergency sections
+Subject: [PATCH 141/198] printk: nbcon: Implement emergency sections
In emergency situations (something has gone wrong but the
system continues to operate), usually important information
@@ -199,10 +199,10 @@ index 1c01f88d596d..c3ee245397f6 100644
* nbcon_alloc - Allocate buffers needed by the nbcon console
* @con: Console to allocate buffers for
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 9c2e26ce16f9..11f26ad708d5 100644
+index e8d60e29c17f..4a0df41d32b8 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2405,16 +2405,29 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2411,16 +2411,29 @@ asmlinkage int vprintk_emit(int facility, int level,
* printing of all remaining records to all consoles so that
* this context can return as soon as possible. Hopefully
* another printk() caller will take over the printing.
@@ -239,5 +239,5 @@ index 9c2e26ce16f9..11f26ad708d5 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0143-panic-Mark-emergency-section-in-warn.patch b/buildroot-external/patches/linux/0142-panic-Mark-emergency-section-in-warn.patch
similarity index 90%
rename from buildroot-external/patches/linux/0143-panic-Mark-emergency-section-in-warn.patch
rename to buildroot-external/patches/linux/0142-panic-Mark-emergency-section-in-warn.patch
index 5209d76e..96faf19c 100644
--- a/buildroot-external/patches/linux/0143-panic-Mark-emergency-section-in-warn.patch
+++ b/buildroot-external/patches/linux/0142-panic-Mark-emergency-section-in-warn.patch
@@ -1,7 +1,7 @@
-From b6903e4522c7e636e2cd825a56715a459e6fc52d Mon Sep 17 00:00:00 2001
+From 0e5b7f4158427c921223eb338bd8cdeb7e6f94ba Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Mon, 11 Sep 2023 15:53:04 +0000
-Subject: [PATCH 143/196] panic: Mark emergency section in warn
+Subject: [PATCH 142/198] panic: Mark emergency section in warn
Mark the full contents of __warn() as an emergency section. In
this section, the CPU will not perform console output for the
@@ -39,5 +39,5 @@ index f0e91a0c4001..147803c3a402 100644
#ifdef CONFIG_BUG
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0144-panic-Mark-emergency-section-in-oops.patch b/buildroot-external/patches/linux/0143-panic-Mark-emergency-section-in-oops.patch
similarity index 90%
rename from buildroot-external/patches/linux/0144-panic-Mark-emergency-section-in-oops.patch
rename to buildroot-external/patches/linux/0143-panic-Mark-emergency-section-in-oops.patch
index 82e2a773..66d495ec 100644
--- a/buildroot-external/patches/linux/0144-panic-Mark-emergency-section-in-oops.patch
+++ b/buildroot-external/patches/linux/0143-panic-Mark-emergency-section-in-oops.patch
@@ -1,7 +1,7 @@
-From d562c13004b0c324736db8e33568e2b71b45fb68 Mon Sep 17 00:00:00 2001
+From a8eddfddf44cb7a26845ed266a228f660277e4b7 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 19 Sep 2023 17:07:34 +0000
-Subject: [PATCH 144/196] panic: Mark emergency section in oops
+Subject: [PATCH 143/198] panic: Mark emergency section in oops
Mark an emergency section beginning with oops_enter() until the
end of oops_exit(). In this section, the CPU will not perform
@@ -40,5 +40,5 @@ index 147803c3a402..9215df21d8c2 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0145-rcu-Mark-emergency-section-in-rcu-stalls.patch b/buildroot-external/patches/linux/0144-rcu-Mark-emergency-section-in-rcu-stalls.patch
similarity index 91%
rename from buildroot-external/patches/linux/0145-rcu-Mark-emergency-section-in-rcu-stalls.patch
rename to buildroot-external/patches/linux/0144-rcu-Mark-emergency-section-in-rcu-stalls.patch
index a59adb7c..fcef7b99 100644
--- a/buildroot-external/patches/linux/0145-rcu-Mark-emergency-section-in-rcu-stalls.patch
+++ b/buildroot-external/patches/linux/0144-rcu-Mark-emergency-section-in-rcu-stalls.patch
@@ -1,7 +1,7 @@
-From 3a16382d09e9b9e13013ea42c2db38bb44a83b5a Mon Sep 17 00:00:00 2001
+From 76a30badefc83600f0b70968ef637494869a316a Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 11 Sep 2023 15:53:39 +0000
-Subject: [PATCH 145/196] rcu: Mark emergency section in rcu stalls
+Subject: [PATCH 144/198] rcu: Mark emergency section in rcu stalls
Mark an emergency section within print_other_cpu_stall(), where
RCU stall information is printed. In this section, the CPU will
@@ -46,5 +46,5 @@ index e09f4f624261..3114830489ef 100644
static void print_cpu_stall(unsigned long gps)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0146-lockdep-Mark-emergency-section-in-lockdep-splats.patch b/buildroot-external/patches/linux/0145-lockdep-Mark-emergency-section-in-lockdep-splats.patch
similarity index 91%
rename from buildroot-external/patches/linux/0146-lockdep-Mark-emergency-section-in-lockdep-splats.patch
rename to buildroot-external/patches/linux/0145-lockdep-Mark-emergency-section-in-lockdep-splats.patch
index 2fade0b5..85137f89 100644
--- a/buildroot-external/patches/linux/0146-lockdep-Mark-emergency-section-in-lockdep-splats.patch
+++ b/buildroot-external/patches/linux/0145-lockdep-Mark-emergency-section-in-lockdep-splats.patch
@@ -1,7 +1,7 @@
-From f02c87d1ed61f3be403169b8f59dd7c916270385 Mon Sep 17 00:00:00 2001
+From d6d66f8f158bef221213adb096d969c3fbae02e3 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 18 Sep 2023 20:27:41 +0000
-Subject: [PATCH 146/196] lockdep: Mark emergency section in lockdep splats
+Subject: [PATCH 145/198] lockdep: Mark emergency section in lockdep splats
Mark an emergency section within print_usage_bug(), where
lockdep bugs are printed. In this section, the CPU will not
@@ -46,5 +46,5 @@ index 151bd3de5936..5c21ba41e308 100644
/*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0147-printk-nbcon-Introduce-printing-kthreads.patch b/buildroot-external/patches/linux/0146-printk-nbcon-Introduce-printing-kthreads.patch
similarity index 97%
rename from buildroot-external/patches/linux/0147-printk-nbcon-Introduce-printing-kthreads.patch
rename to buildroot-external/patches/linux/0146-printk-nbcon-Introduce-printing-kthreads.patch
index f5966cc4..317ae450 100644
--- a/buildroot-external/patches/linux/0147-printk-nbcon-Introduce-printing-kthreads.patch
+++ b/buildroot-external/patches/linux/0146-printk-nbcon-Introduce-printing-kthreads.patch
@@ -1,7 +1,7 @@
-From cf73f93a27ac8a21e5123ed51c1b93dc9d40a139 Mon Sep 17 00:00:00 2001
+From 448e456f0c7e806330cc8ba8f775097fc71817c0 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Fri, 22 Sep 2023 14:12:21 +0000
-Subject: [PATCH 147/196] printk: nbcon: Introduce printing kthreads
+Subject: [PATCH 146/198] printk: nbcon: Introduce printing kthreads
Provide the main implementation for running a printer kthread
per nbcon console that is takeover/handover aware.
@@ -382,10 +382,10 @@ index c3ee245397f6..1becdfc7772c 100644
/* Boot consoles share global printk buffers. */
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 11f26ad708d5..2499482dd08f 100644
+index 4a0df41d32b8..3e307d475d23 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2682,6 +2682,8 @@ void suspend_console(void)
+@@ -2688,6 +2688,8 @@ void suspend_console(void)
void resume_console(void)
{
struct console *con;
@@ -394,7 +394,7 @@ index 11f26ad708d5..2499482dd08f 100644
if (!console_suspend_enabled)
return;
-@@ -2698,6 +2700,14 @@ void resume_console(void)
+@@ -2704,6 +2706,14 @@ void resume_console(void)
*/
synchronize_srcu(&console_srcu);
@@ -409,7 +409,7 @@ index 11f26ad708d5..2499482dd08f 100644
pr_flush(1000, true);
}
-@@ -3018,6 +3028,13 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
+@@ -3024,6 +3034,13 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
u64 printk_seq;
bool progress;
@@ -423,7 +423,7 @@ index 11f26ad708d5..2499482dd08f 100644
if (!console_is_usable(con, flags))
continue;
any_usable = true;
-@@ -3313,9 +3330,23 @@ EXPORT_SYMBOL(console_stop);
+@@ -3319,9 +3336,23 @@ EXPORT_SYMBOL(console_stop);
void console_start(struct console *console)
{
@@ -448,5 +448,5 @@ index 11f26ad708d5..2499482dd08f 100644
}
EXPORT_SYMBOL(console_start);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0148-printk-Atomic-print-in-printk-context-on-shutdown.patch b/buildroot-external/patches/linux/0147-printk-Atomic-print-in-printk-context-on-shutdown.patch
similarity index 84%
rename from buildroot-external/patches/linux/0148-printk-Atomic-print-in-printk-context-on-shutdown.patch
rename to buildroot-external/patches/linux/0147-printk-Atomic-print-in-printk-context-on-shutdown.patch
index dbf94e4a..8955a299 100644
--- a/buildroot-external/patches/linux/0148-printk-Atomic-print-in-printk-context-on-shutdown.patch
+++ b/buildroot-external/patches/linux/0147-printk-Atomic-print-in-printk-context-on-shutdown.patch
@@ -1,7 +1,7 @@
-From 53ad56a5471aad89efca3409e4c8d58e5154cadd Mon Sep 17 00:00:00 2001
+From d0c96cdf97699062113763606dfaac4bddaa9573 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 23 Oct 2023 17:43:48 +0000
-Subject: [PATCH 148/196] printk: Atomic print in printk context on shutdown
+Subject: [PATCH 147/198] printk: Atomic print in printk context on shutdown
For nbcon consoles, normally the printing is handled by the
dedicated console printing threads. However, on shutdown the
@@ -18,10 +18,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 2499482dd08f..2f27c59224be 100644
+index 3e307d475d23..2a77a4ad5619 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2389,13 +2389,18 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2395,13 +2395,18 @@ asmlinkage int vprintk_emit(int facility, int level,
*
* - When this CPU is in panic.
*
@@ -42,5 +42,5 @@ index 2499482dd08f..2f27c59224be 100644
if (do_trylock_unlock) {
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0149-printk-nbcon-Add-context-to-console_is_usable.patch b/buildroot-external/patches/linux/0148-printk-nbcon-Add-context-to-console_is_usable.patch
similarity index 92%
rename from buildroot-external/patches/linux/0149-printk-nbcon-Add-context-to-console_is_usable.patch
rename to buildroot-external/patches/linux/0148-printk-nbcon-Add-context-to-console_is_usable.patch
index ba555d10..fd3e3d14 100644
--- a/buildroot-external/patches/linux/0149-printk-nbcon-Add-context-to-console_is_usable.patch
+++ b/buildroot-external/patches/linux/0148-printk-nbcon-Add-context-to-console_is_usable.patch
@@ -1,7 +1,7 @@
-From 0b45148e4ec51843544656ee1973703eb32162f7 Mon Sep 17 00:00:00 2001
+From 39df1f6eb49929f6d1565234ecd082e5f4669139 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 26 Sep 2023 14:43:30 +0000
-Subject: [PATCH 149/196] printk: nbcon: Add context to console_is_usable()
+Subject: [PATCH 148/198] printk: nbcon: Add context to console_is_usable()
The nbcon consoles have two callbacks to be used for different
contexts. In order to determine if an nbcon console is usable,
@@ -91,10 +91,10 @@ index 1becdfc7772c..bb071193ab6e 100644
if (nbcon_seq_read(con) >= stop_seq)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 2f27c59224be..f11381f39c98 100644
+index 2a77a4ad5619..3863e3dc3816 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -3040,7 +3040,7 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
+@@ -3046,7 +3046,7 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
if ((flags & CON_NBCON) && con->kthread)
continue;
@@ -103,7 +103,7 @@ index 2f27c59224be..f11381f39c98 100644
continue;
any_usable = true;
-@@ -3945,8 +3945,10 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3966,8 +3966,10 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
* that they make forward progress, so only increment
* @diff for usable consoles.
*/
@@ -116,5 +116,5 @@ index 2f27c59224be..f11381f39c98 100644
if (flags & CON_NBCON) {
printk_seq = nbcon_seq_read(c);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0150-printk-nbcon-Add-printer-thread-wakeups.patch b/buildroot-external/patches/linux/0149-printk-nbcon-Add-printer-thread-wakeups.patch
similarity index 93%
rename from buildroot-external/patches/linux/0150-printk-nbcon-Add-printer-thread-wakeups.patch
rename to buildroot-external/patches/linux/0149-printk-nbcon-Add-printer-thread-wakeups.patch
index 88cf7816..062868ab 100644
--- a/buildroot-external/patches/linux/0150-printk-nbcon-Add-printer-thread-wakeups.patch
+++ b/buildroot-external/patches/linux/0149-printk-nbcon-Add-printer-thread-wakeups.patch
@@ -1,7 +1,7 @@
-From c643ed9ef56cd3a3b7c97bdd573392c4983b8ee1 Mon Sep 17 00:00:00 2001
+From bf69985496f8cd327b943acfd3db76c4f801faf6 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Tue, 26 Sep 2023 13:03:52 +0000
-Subject: [PATCH 150/196] printk: nbcon: Add printer thread wakeups
+Subject: [PATCH 149/198] printk: nbcon: Add printer thread wakeups
Add a function to wakeup the printer threads. Use the new function
when:
@@ -139,10 +139,10 @@ index bb071193ab6e..337ec7a10095 100644
nbcon_state_set(con, &state);
}
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index f11381f39c98..41370f284216 100644
+index 3863e3dc3816..3cdda6dd8941 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2403,6 +2403,8 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2409,6 +2409,8 @@ asmlinkage int vprintk_emit(int facility, int level,
}
}
@@ -151,7 +151,7 @@ index f11381f39c98..41370f284216 100644
if (do_trylock_unlock) {
/*
* The caller may be holding system-critical or
-@@ -2705,6 +2707,10 @@ void resume_console(void)
+@@ -2711,6 +2713,10 @@ void resume_console(void)
*/
synchronize_srcu(&console_srcu);
@@ -162,7 +162,7 @@ index f11381f39c98..41370f284216 100644
cookie = console_srcu_read_lock();
for_each_console_srcu(con) {
flags = console_srcu_read_flags(con);
-@@ -4097,6 +4103,7 @@ void defer_console_output(void)
+@@ -4118,6 +4124,7 @@ void defer_console_output(void)
void printk_trigger_flush(void)
{
@@ -171,5 +171,5 @@ index f11381f39c98..41370f284216 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0151-printk-nbcon-Stop-threads-on-shutdown-reboot.patch b/buildroot-external/patches/linux/0150-printk-nbcon-Stop-threads-on-shutdown-reboot.patch
similarity index 92%
rename from buildroot-external/patches/linux/0151-printk-nbcon-Stop-threads-on-shutdown-reboot.patch
rename to buildroot-external/patches/linux/0150-printk-nbcon-Stop-threads-on-shutdown-reboot.patch
index b4348926..1b05aede 100644
--- a/buildroot-external/patches/linux/0151-printk-nbcon-Stop-threads-on-shutdown-reboot.patch
+++ b/buildroot-external/patches/linux/0150-printk-nbcon-Stop-threads-on-shutdown-reboot.patch
@@ -1,7 +1,7 @@
-From 0868a8b36f7b85eb2e53cf094365b34fbdfcb73c Mon Sep 17 00:00:00 2001
+From 7068e42d7897be17b7f7aa39690b73fe1f412e6c Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 26 Sep 2023 13:04:15 +0000
-Subject: [PATCH 151/196] printk: nbcon: Stop threads on shutdown/reboot
+Subject: [PATCH 150/198] printk: nbcon: Stop threads on shutdown/reboot
Register a syscore_ops shutdown function to stop all threaded
printers on shutdown/reboot. This allows printk to transition back
@@ -61,5 +61,5 @@ index 337ec7a10095..57ed4968a653 100644
+}
+device_initcall(printk_init_ops);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0152-printk-nbcon-Start-printing-threads.patch b/buildroot-external/patches/linux/0151-printk-nbcon-Start-printing-threads.patch
similarity index 90%
rename from buildroot-external/patches/linux/0152-printk-nbcon-Start-printing-threads.patch
rename to buildroot-external/patches/linux/0151-printk-nbcon-Start-printing-threads.patch
index 13bd9909..855c9eb2 100644
--- a/buildroot-external/patches/linux/0152-printk-nbcon-Start-printing-threads.patch
+++ b/buildroot-external/patches/linux/0151-printk-nbcon-Start-printing-threads.patch
@@ -1,7 +1,7 @@
-From 01b3747045371d9acb12427b75bc1d769c9c58c0 Mon Sep 17 00:00:00 2001
+From ee46afa4539a0cc4148e5731ad69ecadf12e02bd Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 5 Dec 2023 14:09:31 +0000
-Subject: [PATCH 152/196] printk: nbcon: Start printing threads
+Subject: [PATCH 151/198] printk: nbcon: Start printing threads
If there are no boot consoles, the printing threads are started
in early_initcall.
@@ -94,10 +94,10 @@ index 57ed4968a653..b866d0138fe0 100644
/**
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 41370f284216..f45917a059db 100644
+index 3cdda6dd8941..3722f1a66357 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2389,6 +2389,9 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2395,6 +2395,9 @@ asmlinkage int vprintk_emit(int facility, int level,
*
* - When this CPU is in panic.
*
@@ -107,7 +107,7 @@ index 41370f284216..f45917a059db 100644
* - During shutdown, since the printing threads may not get
* a chance to print the final messages.
*
-@@ -2398,6 +2401,7 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2404,6 +2407,7 @@ asmlinkage int vprintk_emit(int facility, int level,
* with boot consoles.
*/
if (is_panic_context ||
@@ -115,7 +115,7 @@ index 41370f284216..f45917a059db 100644
(system_state > SYSTEM_RUNNING)) {
nbcon_atomic_flush_all();
}
-@@ -3685,6 +3689,7 @@ EXPORT_SYMBOL(register_console);
+@@ -3706,6 +3710,7 @@ EXPORT_SYMBOL(register_console);
/* Must be called under console_list_lock(). */
static int unregister_console_locked(struct console *console)
{
@@ -123,7 +123,7 @@ index 41370f284216..f45917a059db 100644
bool found_legacy_con = false;
bool found_nbcon_con = false;
bool found_boot_con = false;
-@@ -3756,6 +3761,15 @@ static int unregister_console_locked(struct console *console)
+@@ -3777,6 +3782,15 @@ static int unregister_console_locked(struct console *console)
if (!found_nbcon_con)
have_nbcon_console = false;
@@ -140,5 +140,5 @@ index 41370f284216..f45917a059db 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0153-proc-Add-nbcon-support-for-proc-consoles.patch b/buildroot-external/patches/linux/0152-proc-Add-nbcon-support-for-proc-consoles.patch
similarity index 92%
rename from buildroot-external/patches/linux/0153-proc-Add-nbcon-support-for-proc-consoles.patch
rename to buildroot-external/patches/linux/0152-proc-Add-nbcon-support-for-proc-consoles.patch
index 763e5337..8ac5e4ae 100644
--- a/buildroot-external/patches/linux/0153-proc-Add-nbcon-support-for-proc-consoles.patch
+++ b/buildroot-external/patches/linux/0152-proc-Add-nbcon-support-for-proc-consoles.patch
@@ -1,7 +1,7 @@
-From 0726caeff4abf5dcdaa82f6b6df9d387422b83b8 Mon Sep 17 00:00:00 2001
+From 4098a127ae4e0b1a5294610d0e55561d9fad9c7b Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Tue, 26 Sep 2023 13:31:00 +0000
-Subject: [PATCH 153/196] proc: Add nbcon support for /proc/consoles
+Subject: [PATCH 152/198] proc: Add nbcon support for /proc/consoles
Update /proc/consoles output to show 'W' if an nbcon write
callback is implemented (write_atomic or write_thread).
@@ -54,5 +54,5 @@ index e0758fe7936d..2703676549f5 100644
seq_printf(m, " %4d:%d", MAJOR(dev), MINOR(dev));
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0154-tty-sysfs-Add-nbcon-support-for-active.patch b/buildroot-external/patches/linux/0153-tty-sysfs-Add-nbcon-support-for-active.patch
similarity index 87%
rename from buildroot-external/patches/linux/0154-tty-sysfs-Add-nbcon-support-for-active.patch
rename to buildroot-external/patches/linux/0153-tty-sysfs-Add-nbcon-support-for-active.patch
index 92577503..fd372a18 100644
--- a/buildroot-external/patches/linux/0154-tty-sysfs-Add-nbcon-support-for-active.patch
+++ b/buildroot-external/patches/linux/0153-tty-sysfs-Add-nbcon-support-for-active.patch
@@ -1,7 +1,7 @@
-From dcf056002ce53215fe53085bab28bbfa8ecaa98f Mon Sep 17 00:00:00 2001
+From f7c7d363a090290896487e4d0a03f391fb77e16b Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 22 Sep 2023 14:31:09 +0000
-Subject: [PATCH 154/196] tty: sysfs: Add nbcon support for 'active'
+Subject: [PATCH 153/198] tty: sysfs: Add nbcon support for 'active'
Allow the 'active' attribute to list nbcon consoles.
@@ -34,5 +34,5 @@ index 493fc4742895..afa52883c498 100644
continue;
cs[i++] = c;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0155-printk-nbcon-Provide-function-to-reacquire-ownership.patch b/buildroot-external/patches/linux/0154-printk-nbcon-Provide-function-to-reacquire-ownership.patch
similarity index 96%
rename from buildroot-external/patches/linux/0155-printk-nbcon-Provide-function-to-reacquire-ownership.patch
rename to buildroot-external/patches/linux/0154-printk-nbcon-Provide-function-to-reacquire-ownership.patch
index e1d59869..fe16a6fd 100644
--- a/buildroot-external/patches/linux/0155-printk-nbcon-Provide-function-to-reacquire-ownership.patch
+++ b/buildroot-external/patches/linux/0154-printk-nbcon-Provide-function-to-reacquire-ownership.patch
@@ -1,7 +1,7 @@
-From c6361018e388b05431e3f03c465861ca58f49e4b Mon Sep 17 00:00:00 2001
+From 9411e7304d4f9f40840d1dc112545e086a6219a3 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 20 Oct 2023 10:01:58 +0000
-Subject: [PATCH 155/196] printk: nbcon: Provide function to reacquire
+Subject: [PATCH 154/198] printk: nbcon: Provide function to reacquire
ownership
Contexts may become nbcon owners for various reasons, not just
@@ -95,5 +95,5 @@ index b866d0138fe0..f843df54ee82 100644
* nbcon_emit_next_record - Emit a record in the acquired context
* @wctxt: The write context that will be handed to the write function
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0156-serial-core-Provide-low-level-functions-to-port-lock.patch b/buildroot-external/patches/linux/0155-serial-core-Provide-low-level-functions-to-port-lock.patch
similarity index 90%
rename from buildroot-external/patches/linux/0156-serial-core-Provide-low-level-functions-to-port-lock.patch
rename to buildroot-external/patches/linux/0155-serial-core-Provide-low-level-functions-to-port-lock.patch
index be3da0e3..a66df880 100644
--- a/buildroot-external/patches/linux/0156-serial-core-Provide-low-level-functions-to-port-lock.patch
+++ b/buildroot-external/patches/linux/0155-serial-core-Provide-low-level-functions-to-port-lock.patch
@@ -1,7 +1,7 @@
-From 990d46212f1983a7929a9074ab054cf32db9f854 Mon Sep 17 00:00:00 2001
+From fc9b54363f1efc19c0072c949c81085f0ce5e3e8 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 11 Dec 2023 09:19:18 +0000
-Subject: [PATCH 156/196] serial: core: Provide low-level functions to port
+Subject: [PATCH 155/198] serial: core: Provide low-level functions to port
lock
The nbcon console's driver_enter() and driver_exit() callbacks need
@@ -21,7 +21,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 12 insertions(+)
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
-index 90f4a11d24eb..e9e774f63db8 100644
+index 150dcf1ea332..e5947b13f2f1 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -681,6 +681,18 @@ static inline void uart_port_unlock_irqrestore(struct uart_port *up, unsigned lo
@@ -44,5 +44,5 @@ index 90f4a11d24eb..e9e774f63db8 100644
{
return up->serial_in(up, offset);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0157-serial-8250-Switch-to-nbcon-console.patch b/buildroot-external/patches/linux/0156-serial-8250-Switch-to-nbcon-console.patch
similarity index 95%
rename from buildroot-external/patches/linux/0157-serial-8250-Switch-to-nbcon-console.patch
rename to buildroot-external/patches/linux/0156-serial-8250-Switch-to-nbcon-console.patch
index 97626ab8..aba6d1e6 100644
--- a/buildroot-external/patches/linux/0157-serial-8250-Switch-to-nbcon-console.patch
+++ b/buildroot-external/patches/linux/0156-serial-8250-Switch-to-nbcon-console.patch
@@ -1,7 +1,7 @@
-From c95f552c69b6c87e6a1d40214f4a7a40cbe88cec Mon Sep 17 00:00:00 2001
+From cab3c15b213a30951b92b53169f35657c243bc22 Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Wed, 13 Sep 2023 15:30:36 +0000
-Subject: [PATCH 157/196] serial: 8250: Switch to nbcon console
+Subject: [PATCH 156/198] serial: 8250: Switch to nbcon console
Implement the necessary callbacks to switch the 8250 console driver
to perform as an nbcon console.
@@ -93,7 +93,7 @@ index 904e319e6b4a..30434718fad8 100644
.data = &serial8250_reg,
};
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
-index 5b57254ae975..53ae0db72999 100644
+index cba5a1b1030f..bc3ab612aec5 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -557,6 +557,11 @@ static int serial8250_em485_init(struct uart_8250_port *p)
@@ -133,7 +133,7 @@ index 5b57254ae975..53ae0db72999 100644
#ifdef CONFIG_SERIAL_8250_RSA
/*
* Attempts to turn on the RSA FIFO. Returns zero on failure.
-@@ -3328,6 +3342,11 @@ static void serial8250_console_putchar(struct uart_port *port, unsigned char ch)
+@@ -3322,6 +3336,11 @@ static void serial8250_console_putchar(struct uart_port *port, unsigned char ch)
wait_for_xmitr(up, UART_LSR_THRE);
serial_port_out(port, UART_TX, ch);
@@ -145,7 +145,7 @@ index 5b57254ae975..53ae0db72999 100644
}
/*
-@@ -3356,6 +3375,7 @@ static void serial8250_console_restore(struct uart_8250_port *up)
+@@ -3350,6 +3369,7 @@ static void serial8250_console_restore(struct uart_8250_port *up)
serial8250_out_MCR(up, up->mcr | UART_MCR_DTR | UART_MCR_RTS);
}
@@ -153,7 +153,7 @@ index 5b57254ae975..53ae0db72999 100644
/*
* Print a string to the serial port using the device FIFO
*
-@@ -3414,7 +3434,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
+@@ -3408,7 +3428,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
* First save the IER then disable the interrupts
*/
ier = serial_port_in(port, UART_IER);
@@ -162,7 +162,7 @@ index 5b57254ae975..53ae0db72999 100644
/* check scratch reg to see if port powered off during system sleep */
if (up->canary && (up->canary != serial_port_in(port, UART_SCR))) {
-@@ -3480,6 +3500,135 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
+@@ -3474,6 +3494,135 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
if (locked)
uart_port_unlock_irqrestore(port, flags);
}
@@ -298,7 +298,7 @@ index 5b57254ae975..53ae0db72999 100644
static unsigned int probe_baud(struct uart_port *port)
{
-@@ -3498,6 +3647,7 @@ static unsigned int probe_baud(struct uart_port *port)
+@@ -3492,6 +3641,7 @@ static unsigned int probe_baud(struct uart_port *port)
int serial8250_console_setup(struct uart_port *port, char *options, bool probe)
{
@@ -306,7 +306,7 @@ index 5b57254ae975..53ae0db72999 100644
int baud = 9600;
int bits = 8;
int parity = 'n';
-@@ -3507,6 +3657,8 @@ int serial8250_console_setup(struct uart_port *port, char *options, bool probe)
+@@ -3501,6 +3651,8 @@ int serial8250_console_setup(struct uart_port *port, char *options, bool probe)
if (!port->iobase && !port->membase)
return -ENODEV;
@@ -340,5 +340,5 @@ index be65de65fe61..ec46e3b49ee9 100644
int serial8250_console_exit(struct uart_port *port);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0158-printk-Add-kthread-for-all-legacy-consoles.patch b/buildroot-external/patches/linux/0157-printk-Add-kthread-for-all-legacy-consoles.patch
similarity index 92%
rename from buildroot-external/patches/linux/0158-printk-Add-kthread-for-all-legacy-consoles.patch
rename to buildroot-external/patches/linux/0157-printk-Add-kthread-for-all-legacy-consoles.patch
index 67ef738b..9ecaafec 100644
--- a/buildroot-external/patches/linux/0158-printk-Add-kthread-for-all-legacy-consoles.patch
+++ b/buildroot-external/patches/linux/0157-printk-Add-kthread-for-all-legacy-consoles.patch
@@ -1,7 +1,7 @@
-From b9cf8f7faa912648c028d16b9f409157486f050e Mon Sep 17 00:00:00 2001
+From 7fabc517cee20c37f3b89406d8fcfec2e4f7f1ce Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Fri, 22 Sep 2023 17:35:04 +0000
-Subject: [PATCH 158/196] printk: Add kthread for all legacy consoles
+Subject: [PATCH 157/198] printk: Add kthread for all legacy consoles
The write callback of legacy consoles make use of spinlocks.
This is not permitted with PREEMPT_RT in atomic contexts.
@@ -78,7 +78,7 @@ index f843df54ee82..1b1b585b1675 100644
return 0;
}
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index f45917a059db..afc044632dec 100644
+index 3722f1a66357..4f1ca9931ddb 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -487,6 +487,9 @@ bool have_boot_console;
@@ -91,7 +91,7 @@ index f45917a059db..afc044632dec 100644
/* All 3 protected by @syslog_lock. */
/* the next printk record to read by syslog(READ) or /proc/kmsg */
static u64 syslog_seq;
-@@ -2345,7 +2348,8 @@ asmlinkage int vprintk_emit(int facility, int level,
+@@ -2351,7 +2354,8 @@ asmlinkage int vprintk_emit(int facility, int level,
const struct dev_printk_info *dev_info,
const char *fmt, va_list args)
{
@@ -101,7 +101,7 @@ index f45917a059db..afc044632dec 100644
int printed_len;
/* Suppress unimportant messages after panic happens */
-@@ -2473,6 +2477,14 @@ EXPORT_SYMBOL(_printk);
+@@ -2479,6 +2483,14 @@ EXPORT_SYMBOL(_printk);
static bool pr_flush(int timeout_ms, bool reset_on_progress);
static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progress);
@@ -116,7 +116,7 @@ index f45917a059db..afc044632dec 100644
#else /* CONFIG_PRINTK */
#define printk_time false
-@@ -2486,6 +2498,8 @@ static u64 syslog_seq;
+@@ -2492,6 +2504,8 @@ static u64 syslog_seq;
static bool pr_flush(int timeout_ms, bool reset_on_progress) { return true; }
static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progress) { return true; }
@@ -125,7 +125,7 @@ index f45917a059db..afc044632dec 100644
#endif /* CONFIG_PRINTK */
#ifdef CONFIG_EARLY_PRINTK
-@@ -2723,6 +2737,8 @@ void resume_console(void)
+@@ -2729,6 +2743,8 @@ void resume_console(void)
}
console_srcu_read_unlock(cookie);
@@ -134,7 +134,7 @@ index f45917a059db..afc044632dec 100644
pr_flush(1000, true);
}
-@@ -2737,7 +2753,8 @@ void resume_console(void)
+@@ -2743,7 +2759,8 @@ void resume_console(void)
*/
static int console_cpu_notify(unsigned int cpu)
{
@@ -144,7 +144,7 @@ index f45917a059db..afc044632dec 100644
/* If trylock fails, someone else is doing the printing */
if (console_trylock())
console_unlock();
-@@ -2962,31 +2979,43 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
+@@ -2968,31 +2985,43 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
con->dropped = 0;
}
@@ -208,7 +208,7 @@ index f45917a059db..afc044632dec 100644
skip:
return true;
}
-@@ -3096,19 +3125,7 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
+@@ -3102,19 +3131,7 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
return false;
}
@@ -229,7 +229,7 @@ index f45917a059db..afc044632dec 100644
{
bool do_cond_resched;
bool handover;
-@@ -3152,6 +3169,32 @@ void console_unlock(void)
+@@ -3158,6 +3175,32 @@ void console_unlock(void)
*/
} while (prb_read_valid(prb, next_seq, NULL) && console_trylock());
}
@@ -262,7 +262,7 @@ index f45917a059db..afc044632dec 100644
EXPORT_SYMBOL(console_unlock);
/**
-@@ -3361,11 +3404,106 @@ void console_start(struct console *console)
+@@ -3367,11 +3410,106 @@ void console_start(struct console *console)
if (flags & CON_NBCON)
nbcon_kthread_wake(console);
@@ -369,7 +369,7 @@ index f45917a059db..afc044632dec 100644
static int __read_mostly keep_bootcon;
static int __init keep_bootcon_setup(char *str)
-@@ -3632,6 +3770,7 @@ void register_console(struct console *newcon)
+@@ -3653,6 +3791,7 @@ void register_console(struct console *newcon)
nbcon_init(newcon);
} else {
have_legacy_console = true;
@@ -377,7 +377,7 @@ index f45917a059db..afc044632dec 100644
}
if (newcon->flags & CON_BOOT)
-@@ -3770,6 +3909,13 @@ static int unregister_console_locked(struct console *console)
+@@ -3791,6 +3930,13 @@ static int unregister_console_locked(struct console *console)
nbcon_kthread_create(c);
}
@@ -391,7 +391,7 @@ index f45917a059db..afc044632dec 100644
return res;
}
-@@ -3929,8 +4075,12 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
+@@ -3950,8 +4096,12 @@ static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progre
seq = prb_next_reserve_seq(prb);
@@ -406,7 +406,7 @@ index f45917a059db..afc044632dec 100644
console_lock();
console_unlock();
}
-@@ -4038,9 +4188,16 @@ static void wake_up_klogd_work_func(struct irq_work *irq_work)
+@@ -4059,9 +4209,16 @@ static void wake_up_klogd_work_func(struct irq_work *irq_work)
int pending = this_cpu_xchg(printk_pending, 0);
if (pending & PRINTK_PENDING_OUTPUT) {
@@ -427,5 +427,5 @@ index f45917a059db..afc044632dec 100644
if (pending & PRINTK_PENDING_WAKEUP)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0159-serial-8250-revert-drop-lockdep-annotation-from-seri.patch b/buildroot-external/patches/linux/0158-serial-8250-revert-drop-lockdep-annotation-from-seri.patch
similarity index 85%
rename from buildroot-external/patches/linux/0159-serial-8250-revert-drop-lockdep-annotation-from-seri.patch
rename to buildroot-external/patches/linux/0158-serial-8250-revert-drop-lockdep-annotation-from-seri.patch
index d926fbbc..09019d3a 100644
--- a/buildroot-external/patches/linux/0159-serial-8250-revert-drop-lockdep-annotation-from-seri.patch
+++ b/buildroot-external/patches/linux/0158-serial-8250-revert-drop-lockdep-annotation-from-seri.patch
@@ -1,7 +1,7 @@
-From 25ee8c8fee9fe3c8e6b415e75457f1faf687efbe Mon Sep 17 00:00:00 2001
+From bda156945cec336b52730e40c4f8ee32a2e8230c Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 2 Oct 2023 15:30:43 +0000
-Subject: [PATCH 159/196] serial: 8250: revert "drop lockdep annotation from
+Subject: [PATCH 158/198] serial: 8250: revert "drop lockdep annotation from
serial8250_clear_IER()"
The 8250 driver no longer depends on @oops_in_progress and
@@ -16,7 +16,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 3 insertions(+)
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
-index 53ae0db72999..437a7d3d34cd 100644
+index bc3ab612aec5..2d4e775cd7cb 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -728,6 +728,9 @@ static void __serial8250_clear_IER(struct uart_8250_port *up)
@@ -30,5 +30,5 @@ index 53ae0db72999..437a7d3d34cd 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0160-printk-Avoid-false-positive-lockdep-report-for-legac.patch b/buildroot-external/patches/linux/0159-printk-Avoid-false-positive-lockdep-report-for-legac.patch
similarity index 82%
rename from buildroot-external/patches/linux/0160-printk-Avoid-false-positive-lockdep-report-for-legac.patch
rename to buildroot-external/patches/linux/0159-printk-Avoid-false-positive-lockdep-report-for-legac.patch
index a53d0014..9ae717ba 100644
--- a/buildroot-external/patches/linux/0160-printk-Avoid-false-positive-lockdep-report-for-legac.patch
+++ b/buildroot-external/patches/linux/0159-printk-Avoid-false-positive-lockdep-report-for-legac.patch
@@ -1,7 +1,7 @@
-From 5d0e7e1ff2da6bba71ee818fe5276232763befdf Mon Sep 17 00:00:00 2001
+From 1ab4f7f438634f482b13af00d54ec09cc73d318c Mon Sep 17 00:00:00 2001
From: John Ogness
Date: Mon, 11 Dec 2023 09:34:16 +0000
-Subject: [PATCH 160/196] printk: Avoid false positive lockdep report for
+Subject: [PATCH 159/198] printk: Avoid false positive lockdep report for
legacy driver.
printk may invoke the legacy console driver from atomic context. This leads to
@@ -22,10 +22,10 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index afc044632dec..ddf79752c80c 100644
+index 4f1ca9931ddb..249576a8c351 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
-@@ -2817,6 +2817,8 @@ static void __console_unlock(void)
+@@ -2823,6 +2823,8 @@ static void __console_unlock(void)
up_console_sem();
}
@@ -34,7 +34,7 @@ index afc044632dec..ddf79752c80c 100644
#ifdef CONFIG_PRINTK
/*
-@@ -2985,7 +2987,7 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
+@@ -2991,7 +2993,7 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
/*
* On PREEMPT_RT this function is either in a thread or
* panic context. So there is no need for concern about
@@ -43,7 +43,7 @@ index afc044632dec..ddf79752c80c 100644
*/
con->write(con, outbuf, pmsg.outbuf_len);
-@@ -3007,7 +3009,9 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
+@@ -3013,7 +3015,9 @@ static bool console_emit_next_record(struct console *con, bool *handover, int co
/* Do not trace print latency. */
stop_critical_timings();
@@ -53,7 +53,7 @@ index afc044632dec..ddf79752c80c 100644
start_critical_timings();
-@@ -3084,7 +3088,10 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
+@@ -3090,7 +3094,10 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
any_usable = true;
if (flags & CON_NBCON) {
@@ -65,5 +65,5 @@ index afc044632dec..ddf79752c80c 100644
printk_seq = nbcon_seq_read(con);
} else {
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0161-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch b/buildroot-external/patches/linux/0160-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch
similarity index 93%
rename from buildroot-external/patches/linux/0161-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch
rename to buildroot-external/patches/linux/0160-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch
index ed74af8f..cdf70f10 100644
--- a/buildroot-external/patches/linux/0161-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch
+++ b/buildroot-external/patches/linux/0160-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch
@@ -1,7 +1,7 @@
-From 170a082fa9312b517234ee6b655f7cf63cca0226 Mon Sep 17 00:00:00 2001
+From d0de3a34de151ae691065f899d67909b2702f499 Mon Sep 17 00:00:00 2001
From: Mike Galbraith
Date: Sat, 27 Feb 2016 08:09:11 +0100
-Subject: [PATCH 161/196] drm/i915: Use preempt_disable/enable_rt() where
+Subject: [PATCH 160/198] drm/i915: Use preempt_disable/enable_rt() where
recommended
Mario Kleiner suggest in commit
@@ -57,5 +57,5 @@ index f5659ebd08eb..5b6d2f55528d 100644
spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0162-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch b/buildroot-external/patches/linux/0161-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch
similarity index 95%
rename from buildroot-external/patches/linux/0162-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch
rename to buildroot-external/patches/linux/0161-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch
index 09f811fb..548da244 100644
--- a/buildroot-external/patches/linux/0162-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch
+++ b/buildroot-external/patches/linux/0161-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch
@@ -1,7 +1,7 @@
-From 4bbdc10c902ac201b44e2994015ea6b4a57599ca Mon Sep 17 00:00:00 2001
+From 9d9bf260dbe981fd236ed6325dd233880d507db3 Mon Sep 17 00:00:00 2001
From: Mike Galbraith
Date: Sat, 27 Feb 2016 09:01:42 +0100
-Subject: [PATCH 162/196] drm/i915: Don't disable interrupts on PREEMPT_RT
+Subject: [PATCH 161/198] drm/i915: Don't disable interrupts on PREEMPT_RT
during atomic updates
Commit
@@ -86,5 +86,5 @@ index 182c6dd64f47..e7083689cf4d 100644
if (intel_vgpu_active(dev_priv))
return;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0163-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch b/buildroot-external/patches/linux/0162-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch
similarity index 91%
rename from buildroot-external/patches/linux/0163-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch
rename to buildroot-external/patches/linux/0162-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch
index 39476905..dec98b5f 100644
--- a/buildroot-external/patches/linux/0163-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch
+++ b/buildroot-external/patches/linux/0162-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch
@@ -1,7 +1,7 @@
-From d62d3b98b6a04765ef046913bea7b60bc6c68221 Mon Sep 17 00:00:00 2001
+From 79959ddf44cdd6c34c726f04ef89114bb574f116 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Mon, 25 Oct 2021 15:05:18 +0200
-Subject: [PATCH 163/196] drm/i915: Don't check for atomic context on
+Subject: [PATCH 162/198] drm/i915: Don't check for atomic context on
PREEMPT_RT
The !in_atomic() check in _wait_for_atomic() triggers on PREEMPT_RT
@@ -32,5 +32,5 @@ index c61066498bf2..48e19e55d6b0 100644
#else
# define _WAIT_FOR_ATOMIC_CHECK(ATOMIC) do { } while (0)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0164-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch b/buildroot-external/patches/linux/0163-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch
similarity index 92%
rename from buildroot-external/patches/linux/0164-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch
rename to buildroot-external/patches/linux/0163-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch
index fb16ac1b..214659bf 100644
--- a/buildroot-external/patches/linux/0164-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch
+++ b/buildroot-external/patches/linux/0163-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch
@@ -1,7 +1,7 @@
-From b84277c1e918e1bcc52ed45381028c13ed02e73b Mon Sep 17 00:00:00 2001
+From 7256a124ef014c1dde90467472be044a8270ffcc Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 6 Dec 2018 09:52:20 +0100
-Subject: [PATCH 164/196] drm/i915: Disable tracing points on PREEMPT_RT
+Subject: [PATCH 163/198] drm/i915: Disable tracing points on PREEMPT_RT
Luca Abeni reported this:
| BUG: scheduling while atomic: kworker/u8:2/15203/0x00000003
@@ -46,5 +46,5 @@ index ce1cbee1b39d..c54653cf72c9 100644
#include
#include
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0165-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch b/buildroot-external/patches/linux/0164-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
similarity index 89%
rename from buildroot-external/patches/linux/0165-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
rename to buildroot-external/patches/linux/0164-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
index 9229dbd5..761a61ff 100644
--- a/buildroot-external/patches/linux/0165-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
+++ b/buildroot-external/patches/linux/0164-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
@@ -1,7 +1,7 @@
-From a128ac5efc4b8ab92e9b17e8f5e8e545fcc2dab0 Mon Sep 17 00:00:00 2001
+From 084ec58767ea49c88a028a72abf3c9f12e9ffee3 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 19 Dec 2018 10:47:02 +0100
-Subject: [PATCH 165/196] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with
+Subject: [PATCH 164/198] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with
NOTRACE
The order of the header files is important. If this header file is
@@ -30,5 +30,5 @@ index c54653cf72c9..3c51620d011b 100644
TP_PROTO(struct i915_request *rq),
TP_ARGS(rq)
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0166-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch b/buildroot-external/patches/linux/0165-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch
similarity index 92%
rename from buildroot-external/patches/linux/0166-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch
rename to buildroot-external/patches/linux/0165-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch
index 05d6f4c0..43be92bf 100644
--- a/buildroot-external/patches/linux/0166-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch
+++ b/buildroot-external/patches/linux/0165-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch
@@ -1,7 +1,7 @@
-From d49339cc332ba068ee8e64ce263eab1a92e50699 Mon Sep 17 00:00:00 2001
+From 144a70e2fdace11a6222e24061b96cbceeef721c Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 8 Sep 2021 17:18:00 +0200
-Subject: [PATCH 166/196] drm/i915/gt: Queue and wait for the irq_work item.
+Subject: [PATCH 165/198] drm/i915/gt: Queue and wait for the irq_work item.
Disabling interrupts and invoking the irq_work function directly breaks
on PREEMPT_RT.
@@ -43,5 +43,5 @@ index ecc990ec1b95..8d04b10681f0 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0167-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch b/buildroot-external/patches/linux/0166-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch
similarity index 95%
rename from buildroot-external/patches/linux/0167-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch
rename to buildroot-external/patches/linux/0166-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch
index fdba6c9b..70af0970 100644
--- a/buildroot-external/patches/linux/0167-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch
+++ b/buildroot-external/patches/linux/0166-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch
@@ -1,7 +1,7 @@
-From 9f68e075f06a5414e307a31628a22bc34be4e6db Mon Sep 17 00:00:00 2001
+From 370e851bc2dcc17cb71848872dc4f532f6de2671 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 8 Sep 2021 19:03:41 +0200
-Subject: [PATCH 167/196] drm/i915/gt: Use spin_lock_irq() instead of
+Subject: [PATCH 166/198] drm/i915/gt: Use spin_lock_irq() instead of
local_irq_disable() + spin_lock()
execlists_dequeue() is invoked from a function which uses
@@ -27,7 +27,7 @@ Reviewed-by: Maarten Lankhorst
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
-index 3292524469d5..00cb9fd91f41 100644
+index 5a720e252312..153f3e33d2ac 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -1303,7 +1303,7 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
@@ -90,5 +90,5 @@ index 3292524469d5..00cb9fd91f41 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0168-drm-i915-Drop-the-irqs_disabled-check.patch b/buildroot-external/patches/linux/0167-drm-i915-Drop-the-irqs_disabled-check.patch
similarity index 90%
rename from buildroot-external/patches/linux/0168-drm-i915-Drop-the-irqs_disabled-check.patch
rename to buildroot-external/patches/linux/0167-drm-i915-Drop-the-irqs_disabled-check.patch
index 78118d13..a1bbca69 100644
--- a/buildroot-external/patches/linux/0168-drm-i915-Drop-the-irqs_disabled-check.patch
+++ b/buildroot-external/patches/linux/0167-drm-i915-Drop-the-irqs_disabled-check.patch
@@ -1,7 +1,7 @@
-From a690c1a7ad702b71702bc4c0a47fe2c536dce089 Mon Sep 17 00:00:00 2001
+From c3b6a08d6c47366e5559884936cc7918d533583b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 1 Oct 2021 20:01:03 +0200
-Subject: [PATCH 168/196] drm/i915: Drop the irqs_disabled() check
+Subject: [PATCH 167/198] drm/i915: Drop the irqs_disabled() check
The !irqs_disabled() check triggers on PREEMPT_RT even with
i915_sched_engine::lock acquired. The reason is the lock is transformed
@@ -40,5 +40,5 @@ index f59081066a19..014d02029a41 100644
/*
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0169-drm-i915-Do-not-disable-preemption-for-resets.patch b/buildroot-external/patches/linux/0168-drm-i915-Do-not-disable-preemption-for-resets.patch
similarity index 96%
rename from buildroot-external/patches/linux/0169-drm-i915-Do-not-disable-preemption-for-resets.patch
rename to buildroot-external/patches/linux/0168-drm-i915-Do-not-disable-preemption-for-resets.patch
index 5760c8d2..fb0c561b 100644
--- a/buildroot-external/patches/linux/0169-drm-i915-Do-not-disable-preemption-for-resets.patch
+++ b/buildroot-external/patches/linux/0168-drm-i915-Do-not-disable-preemption-for-resets.patch
@@ -1,7 +1,7 @@
-From 1bbe858b59a97744b39f0f55401229abd40cb708 Mon Sep 17 00:00:00 2001
+From e1d033bc1a53c826312eb651d031d9c0d3ab7efe Mon Sep 17 00:00:00 2001
From: Tvrtko Ursulin
Date: Wed, 5 Jul 2023 10:30:25 +0100
-Subject: [PATCH 169/196] drm/i915: Do not disable preemption for resets
+Subject: [PATCH 168/198] drm/i915: Do not disable preemption for resets
Commit ade8a0f59844 ("drm/i915: Make all GPU resets atomic") added a
preempt disable section over the hardware reset callback to prepare the
@@ -100,5 +100,5 @@ index 5fa57a34cf4b..4d65c374d4d7 100644
wa_14015076503_end(gt, reset_mask);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0170-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch b/buildroot-external/patches/linux/0169-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch
similarity index 89%
rename from buildroot-external/patches/linux/0170-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch
rename to buildroot-external/patches/linux/0169-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch
index 99a850ba..416ade2a 100644
--- a/buildroot-external/patches/linux/0170-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch
+++ b/buildroot-external/patches/linux/0169-drm-i915-guc-Consider-also-RCU-depth-in-busy-loop.patch
@@ -1,7 +1,7 @@
-From 2ad53732d326182891e29f958f9e73a3f1d41e5b Mon Sep 17 00:00:00 2001
+From 23608382476c7bdfaa7489b1bc48f46c50506b85 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Tue, 3 Oct 2023 21:37:21 +0200
-Subject: [PATCH 170/196] drm/i915/guc: Consider also RCU depth in busy loop.
+Subject: [PATCH 169/198] drm/i915/guc: Consider also RCU depth in busy loop.
intel_guc_send_busy_loop() looks at in_atomic() and irqs_disabled() to
decide if it should busy-spin while waiting or if it may sleep.
@@ -30,5 +30,5 @@ index 8dc291ff0093..5b8d084c9c58 100644
/*
* FIXME: Have caller pass in if we are in an atomic context to avoid
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0171-Revert-drm-i915-Depend-on-PREEMPT_RT.patch b/buildroot-external/patches/linux/0170-Revert-drm-i915-Depend-on-PREEMPT_RT.patch
similarity index 85%
rename from buildroot-external/patches/linux/0171-Revert-drm-i915-Depend-on-PREEMPT_RT.patch
rename to buildroot-external/patches/linux/0170-Revert-drm-i915-Depend-on-PREEMPT_RT.patch
index 577f979e..436d9819 100644
--- a/buildroot-external/patches/linux/0171-Revert-drm-i915-Depend-on-PREEMPT_RT.patch
+++ b/buildroot-external/patches/linux/0170-Revert-drm-i915-Depend-on-PREEMPT_RT.patch
@@ -1,7 +1,7 @@
-From 08b4cff9b5c36cf0a66e9d6699116574dfbeb263 Mon Sep 17 00:00:00 2001
+From 2f9c3590fa5fdee1a3bd8807af5d0ec209697cbd Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Mon, 21 Feb 2022 17:59:14 +0100
-Subject: [PATCH 171/196] Revert "drm/i915: Depend on !PREEMPT_RT."
+Subject: [PATCH 170/198] Revert "drm/i915: Depend on !PREEMPT_RT."
Once the known issues are addressed, it should be safe to enable the
driver.
@@ -24,5 +24,5 @@ index ce397a8797f7..98c3f532822d 100644
select INTERVAL_TREE
# we need shmfs for the swappable backing store, and in particular
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0172-sched-define-TIF_ALLOW_RESCHED.patch b/buildroot-external/patches/linux/0171-sched-define-TIF_ALLOW_RESCHED.patch
similarity index 97%
rename from buildroot-external/patches/linux/0172-sched-define-TIF_ALLOW_RESCHED.patch
rename to buildroot-external/patches/linux/0171-sched-define-TIF_ALLOW_RESCHED.patch
index d1483605..0d7ae35e 100644
--- a/buildroot-external/patches/linux/0172-sched-define-TIF_ALLOW_RESCHED.patch
+++ b/buildroot-external/patches/linux/0171-sched-define-TIF_ALLOW_RESCHED.patch
@@ -1,7 +1,7 @@
-From ac0c43e96de30b9db6d2ce6d423d82cd52383ebe Mon Sep 17 00:00:00 2001
+From 48ba2780e169946340d635ea33db2807d0a9d17e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Sat, 23 Sep 2023 03:11:05 +0200
-Subject: [PATCH 172/196] sched: define TIF_ALLOW_RESCHED
+Subject: [PATCH 171/198] sched: define TIF_ALLOW_RESCHED
On Fri, Sep 22 2023 at 00:55, Thomas Gleixner wrote:
> On Thu, Sep 21 2023 at 09:00, Linus Torvalds wrote:
@@ -121,7 +121,7 @@ Signed-off-by: Sebastian Andrzej Siewior
20 files changed, 171 insertions(+), 56 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 1b445e289190..00b32f493860 100644
+index f774dc9f97f5..a3eeac811e2e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -272,6 +272,7 @@ config X86
@@ -157,7 +157,7 @@ index d63b02940747..1ff38ebbd588 100644
#define _TIF_SSBD (1 << TIF_SSBD)
#define _TIF_SPEC_IB (1 << TIF_SPEC_IB)
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
-index 55437f5e0c3a..7fc47007b926 100644
+index bd6a7857ce05..d45dfd10b636 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -108,7 +108,7 @@ static const struct dmi_system_id processor_power_dmi_table[] = {
@@ -402,10 +402,10 @@ index c2f1fd95a821..0f3d4c2a41cb 100644
select PREEMPT_BUILD
default y if HAVE_PREEMPT_DYNAMIC_CALL
diff --git a/kernel/entry/common.c b/kernel/entry/common.c
-index d7ee4bc3f2ba..c1f706038637 100644
+index 5ff4f1cd3644..fd42f0b17dec 100644
--- a/kernel/entry/common.c
+++ b/kernel/entry/common.c
-@@ -155,7 +155,7 @@ static unsigned long exit_to_user_mode_loop(struct pt_regs *regs,
+@@ -161,7 +161,7 @@ static unsigned long exit_to_user_mode_loop(struct pt_regs *regs,
local_irq_enable_exit_to_user(ti_work);
@@ -414,7 +414,7 @@ index d7ee4bc3f2ba..c1f706038637 100644
schedule();
if (ti_work & _TIF_UPROBE)
-@@ -385,7 +385,7 @@ void raw_irqentry_exit_cond_resched(void)
+@@ -391,7 +391,7 @@ void raw_irqentry_exit_cond_resched(void)
rcu_irq_exit_check_preempt();
if (IS_ENABLED(CONFIG_DEBUG_ENTRY))
WARN_ON_ONCE(!on_thread_stack());
@@ -437,7 +437,7 @@ index 2e0f75bcb7fd..d952fa5ee880 100644
if (ti_work & _TIF_NOTIFY_RESUME)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
-index 7134598e3284..7609a0a40569 100644
+index c731c53d6bfd..89bf86d3351d 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -898,14 +898,15 @@ static inline void hrtick_rq_init(struct rq *rq)
@@ -583,7 +583,7 @@ index 4c3d0d9f3db6..63e19b89c8c3 100644
}
late_initcall(sched_init_debug);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index d336af9cba13..cf1584dd9c2e 100644
+index 69fe62126a28..d449f315def7 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1016,8 +1016,10 @@ static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se);
@@ -696,7 +696,7 @@ index d336af9cba13..cf1584dd9c2e 100644
return;
}
hrtick_start(rq, delta);
-@@ -8175,7 +8191,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_
+@@ -8181,7 +8197,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_
* prevents us from potentially nominating it as a false LAST_BUDDY
* below.
*/
@@ -705,7 +705,7 @@ index d336af9cba13..cf1584dd9c2e 100644
return;
/* Idle tasks are by definition preempted by non-idle tasks. */
-@@ -8217,7 +8233,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_
+@@ -8223,7 +8239,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_
return;
preempt:
@@ -714,7 +714,7 @@ index d336af9cba13..cf1584dd9c2e 100644
}
#ifdef CONFIG_SMP
-@@ -12374,7 +12390,7 @@ static inline void task_tick_core(struct rq *rq, struct task_struct *curr)
+@@ -12380,7 +12396,7 @@ static inline void task_tick_core(struct rq *rq, struct task_struct *curr)
*/
if (rq->core->core_forceidle_count && rq->cfs.nr_running == 1 &&
__entity_slice_used(&curr->se, MIN_NR_TASKS_DURING_FORCEIDLE))
@@ -723,7 +723,7 @@ index d336af9cba13..cf1584dd9c2e 100644
}
/*
-@@ -12539,7 +12555,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio)
+@@ -12545,7 +12561,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio)
*/
if (task_current(rq, p)) {
if (p->prio > oldprio)
@@ -769,7 +769,7 @@ index 04846272409c..c4307934af6b 100644
extern struct rt_bandwidth def_rt_bandwidth;
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 82e28777cacf..552cd31bd879 100644
+index fd398af792b4..03653fcb3ee3 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2708,6 +2708,8 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status)
@@ -818,5 +818,5 @@ index 3b7d3e9eb6ea..5a4fefbc0856 100644
need_resched = 'p';
break;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0173-arm-Disable-jump-label-on-PREEMPT_RT.patch b/buildroot-external/patches/linux/0172-arm-Disable-jump-label-on-PREEMPT_RT.patch
similarity index 89%
rename from buildroot-external/patches/linux/0173-arm-Disable-jump-label-on-PREEMPT_RT.patch
rename to buildroot-external/patches/linux/0172-arm-Disable-jump-label-on-PREEMPT_RT.patch
index c8070e3c..032c1e25 100644
--- a/buildroot-external/patches/linux/0173-arm-Disable-jump-label-on-PREEMPT_RT.patch
+++ b/buildroot-external/patches/linux/0172-arm-Disable-jump-label-on-PREEMPT_RT.patch
@@ -1,7 +1,7 @@
-From 61f924afb0bcacee3f4b11391418fd3e6b84ca60 Mon Sep 17 00:00:00 2001
+From e6835cb334d3ebdd581f4eb659baa65f71c4b019 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Wed, 8 Jul 2015 17:14:48 +0200
-Subject: [PATCH 173/196] arm: Disable jump-label on PREEMPT_RT.
+Subject: [PATCH 172/198] arm: Disable jump-label on PREEMPT_RT.
jump-labels are used to efficiently switch between two possible code
paths. To achieve this, stop_machine() is used to keep the CPU in a
@@ -24,7 +24,7 @@ Link: https://lkml.kernel.org/r/20220613182447.112191-2-bigeasy@linutronix.de
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 9557808e8937..2257e98d4df3 100644
+index 57c0448d017a..dea47ba6576b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -73,7 +73,7 @@ config ARM
@@ -37,5 +37,5 @@ index 9557808e8937..2257e98d4df3 100644
select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
select HAVE_ARCH_KASAN if MMU && !XIP_KERNEL
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0174-ARM-enable-irq-in-translation-section-permission-fau.patch b/buildroot-external/patches/linux/0173-ARM-enable-irq-in-translation-section-permission-fau.patch
similarity index 96%
rename from buildroot-external/patches/linux/0174-ARM-enable-irq-in-translation-section-permission-fau.patch
rename to buildroot-external/patches/linux/0173-ARM-enable-irq-in-translation-section-permission-fau.patch
index c47a665f..a92c4859 100644
--- a/buildroot-external/patches/linux/0174-ARM-enable-irq-in-translation-section-permission-fau.patch
+++ b/buildroot-external/patches/linux/0173-ARM-enable-irq-in-translation-section-permission-fau.patch
@@ -1,7 +1,7 @@
-From 6b9e960c171b6084b270bbb7f51c37738c31a36b Mon Sep 17 00:00:00 2001
+From de162c5fadc5577772a1bd26ef572c730fe28cc8 Mon Sep 17 00:00:00 2001
From: "Yadi.hu"
Date: Wed, 10 Dec 2014 10:32:09 +0800
-Subject: [PATCH 174/196] ARM: enable irq in translation/section permission
+Subject: [PATCH 173/198] ARM: enable irq in translation/section permission
fault handlers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -92,5 +92,5 @@ index fef62e4a9edd..622a30243f4a 100644
return 0;
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0175-tty-serial-omap-Make-the-locking-RT-aware.patch b/buildroot-external/patches/linux/0174-tty-serial-omap-Make-the-locking-RT-aware.patch
similarity index 90%
rename from buildroot-external/patches/linux/0175-tty-serial-omap-Make-the-locking-RT-aware.patch
rename to buildroot-external/patches/linux/0174-tty-serial-omap-Make-the-locking-RT-aware.patch
index 0ce45a94..e7fda1c7 100644
--- a/buildroot-external/patches/linux/0175-tty-serial-omap-Make-the-locking-RT-aware.patch
+++ b/buildroot-external/patches/linux/0174-tty-serial-omap-Make-the-locking-RT-aware.patch
@@ -1,7 +1,7 @@
-From 2f7c4717b62e4fd09c538c74641c07bd929e1f12 Mon Sep 17 00:00:00 2001
+From 95f8b7d8e65a028c86c1aef3c0f7507772471206 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Thu, 28 Jul 2011 13:32:57 +0200
-Subject: [PATCH 175/196] tty/serial/omap: Make the locking RT aware
+Subject: [PATCH 174/198] tty/serial/omap: Make the locking RT aware
The lock is a sleeping lock and local_irq_save() is not the
optimsation we are looking for. Redo it to make it work on -RT and
@@ -44,5 +44,5 @@ index f4c6ff806465..1097fca22307 100644
static int __init
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0176-tty-serial-pl011-Make-the-locking-work-on-RT.patch b/buildroot-external/patches/linux/0175-tty-serial-pl011-Make-the-locking-work-on-RT.patch
similarity index 88%
rename from buildroot-external/patches/linux/0176-tty-serial-pl011-Make-the-locking-work-on-RT.patch
rename to buildroot-external/patches/linux/0175-tty-serial-pl011-Make-the-locking-work-on-RT.patch
index 82a41942..8ceef49a 100644
--- a/buildroot-external/patches/linux/0176-tty-serial-pl011-Make-the-locking-work-on-RT.patch
+++ b/buildroot-external/patches/linux/0175-tty-serial-pl011-Make-the-locking-work-on-RT.patch
@@ -1,7 +1,7 @@
-From 5989718d0c06eefdeba1764a69e7c806b1ff66c7 Mon Sep 17 00:00:00 2001
+From c6affb82623309dd23ef2d095104c59d3fbd69c1 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Tue, 8 Jan 2013 21:36:51 +0100
-Subject: [PATCH 176/196] tty/serial/pl011: Make the locking work on RT
+Subject: [PATCH 175/198] tty/serial/pl011: Make the locking work on RT
The lock is a sleeping lock and local_irq_save() is not the optimsation
we are looking for. Redo it to make it work on -RT and non-RT.
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
-index aec67d740e44..19200ab2af75 100644
+index 16c770311069..9cd660edb165 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -2328,13 +2328,10 @@ pl011_console_write(struct console *co, const char *s, unsigned int count)
@@ -43,5 +43,5 @@ index aec67d740e44..19200ab2af75 100644
clk_disable(uap->clk);
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0177-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch b/buildroot-external/patches/linux/0176-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch
similarity index 94%
rename from buildroot-external/patches/linux/0177-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch
rename to buildroot-external/patches/linux/0176-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch
index f26f27a5..0f6a28fc 100644
--- a/buildroot-external/patches/linux/0177-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch
+++ b/buildroot-external/patches/linux/0176-ARM-vfp-Provide-vfp_lock-for-VFP-locking.patch
@@ -1,7 +1,7 @@
-From 5f48127d0cf989d3c97d80ab73a022bd28097b8f Mon Sep 17 00:00:00 2001
+From fddfbcea7ad603e58c38fceb155a4fbf7c84abdd Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 19 May 2023 16:57:29 +0200
-Subject: [PATCH 177/196] ARM: vfp: Provide vfp_lock() for VFP locking.
+Subject: [PATCH 176/198] ARM: vfp: Provide vfp_lock() for VFP locking.
kernel_neon_begin() uses local_bh_disable() to ensure exclusive access
to the VFP unit. This is broken on PREEMPT_RT because a BH disabled
@@ -76,5 +76,5 @@ index 7e8773a2d99d..8d321cdb7ac5 100644
EXPORT_SYMBOL(kernel_neon_end);
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0178-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch b/buildroot-external/patches/linux/0177-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch
similarity index 91%
rename from buildroot-external/patches/linux/0178-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch
rename to buildroot-external/patches/linux/0177-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch
index fbe006ac..b80f5fcd 100644
--- a/buildroot-external/patches/linux/0178-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch
+++ b/buildroot-external/patches/linux/0177-ARM-vfp-Use-vfp_lock-in-vfp_sync_hwstate.patch
@@ -1,7 +1,7 @@
-From 831b8f09454e182de35f30971bd4313256dc2649 Mon Sep 17 00:00:00 2001
+From b4c9e960c82d665a862ec3f9ba765ae5044431f4 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 19 May 2023 16:57:30 +0200
-Subject: [PATCH 178/196] ARM: vfp: Use vfp_lock() in vfp_sync_hwstate().
+Subject: [PATCH 177/198] ARM: vfp: Use vfp_lock() in vfp_sync_hwstate().
vfp_sync_hwstate() uses preempt_disable() followed by local_bh_disable()
to ensure that it won't get interrupted while checking the VFP state.
@@ -45,5 +45,5 @@ index 8d321cdb7ac5..3b9360bfc508 100644
/* Ensure that the thread reloads the hardware VFP state on the next use. */
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0179-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch b/buildroot-external/patches/linux/0178-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch
similarity index 91%
rename from buildroot-external/patches/linux/0179-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch
rename to buildroot-external/patches/linux/0178-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch
index a638864c..9833b1af 100644
--- a/buildroot-external/patches/linux/0179-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch
+++ b/buildroot-external/patches/linux/0178-ARM-vfp-Use-vfp_lock-in-vfp_support_entry.patch
@@ -1,7 +1,7 @@
-From ed089f095d7803d34681d7dcd142ce1320bb2961 Mon Sep 17 00:00:00 2001
+From 4cec55ef57c54c9fc814419639f6cf176ef8a95e Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 28 Jun 2023 09:36:10 +0200
-Subject: [PATCH 179/196] ARM: vfp: Use vfp_lock() in vfp_support_entry().
+Subject: [PATCH 178/198] ARM: vfp: Use vfp_lock() in vfp_support_entry().
vfp_entry() is invoked from exception handler and is fully preemptible.
It uses local_bh_disable() to remain uninterrupted while checking the
@@ -49,5 +49,5 @@ index 3b9360bfc508..9543f011d0ed 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0180-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch b/buildroot-external/patches/linux/0179-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch
similarity index 96%
rename from buildroot-external/patches/linux/0180-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch
rename to buildroot-external/patches/linux/0179-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch
index b6f59d12..00d0f2a8 100644
--- a/buildroot-external/patches/linux/0180-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch
+++ b/buildroot-external/patches/linux/0179-ARM-vfp-Move-sending-signals-outside-of-vfp_lock-ed-.patch
@@ -1,7 +1,7 @@
-From 1f242cb932c85b7ffafb2b1bfa3b2c1a50a10f25 Mon Sep 17 00:00:00 2001
+From ee0060ec6d32a12e820d05cacce0dd64bcfdfb67 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Wed, 28 Jun 2023 09:39:33 +0200
-Subject: [PATCH 180/196] ARM: vfp: Move sending signals outside of
+Subject: [PATCH 179/198] ARM: vfp: Move sending signals outside of
vfp_lock()ed section.
VFP_bounce() is invoked from within vfp_support_entry() and may send a
@@ -122,5 +122,5 @@ index 9543f011d0ed..9fde36fcb80c 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0181-ARM-Allow-to-enable-RT.patch b/buildroot-external/patches/linux/0180-ARM-Allow-to-enable-RT.patch
similarity index 86%
rename from buildroot-external/patches/linux/0181-ARM-Allow-to-enable-RT.patch
rename to buildroot-external/patches/linux/0180-ARM-Allow-to-enable-RT.patch
index 4e7e0b23..895eea8a 100644
--- a/buildroot-external/patches/linux/0181-ARM-Allow-to-enable-RT.patch
+++ b/buildroot-external/patches/linux/0180-ARM-Allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
-From 5730c57b82fb744681d78a88567692c0ed9a3908 Mon Sep 17 00:00:00 2001
+From 58e20971cad80d9bd2dafed5bec4ac832a1a474a Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 11 Oct 2019 13:14:29 +0200
-Subject: [PATCH 181/196] ARM: Allow to enable RT
+Subject: [PATCH 180/198] ARM: Allow to enable RT
Allow to select RT.
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner
1 file changed, 2 insertions(+)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 2257e98d4df3..ebd0dee6b162 100644
+index dea47ba6576b..a154ecd2d3c3 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -34,6 +34,7 @@ config ARM
@@ -32,5 +32,5 @@ index 2257e98d4df3..ebd0dee6b162 100644
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_RSEQ
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0182-ARM64-Allow-to-enable-RT.patch b/buildroot-external/patches/linux/0181-ARM64-Allow-to-enable-RT.patch
similarity index 81%
rename from buildroot-external/patches/linux/0182-ARM64-Allow-to-enable-RT.patch
rename to buildroot-external/patches/linux/0181-ARM64-Allow-to-enable-RT.patch
index 456c210a..24a01d30 100644
--- a/buildroot-external/patches/linux/0182-ARM64-Allow-to-enable-RT.patch
+++ b/buildroot-external/patches/linux/0181-ARM64-Allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
-From ae691114a0dfe77423bf7abd96ee684306c49a44 Mon Sep 17 00:00:00 2001
+From 0968f2c1618d3eefe91ca5ed1c1228b1a843579a Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 11 Oct 2019 13:14:35 +0200
-Subject: [PATCH 182/196] ARM64: Allow to enable RT
+Subject: [PATCH 181/198] ARM64: Allow to enable RT
Allow to select RT.
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index b5df38c2a006..bc53a9889d03 100644
+index f9777ce2ccb2..9717c564daac 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -97,6 +97,7 @@ config ARM64
@@ -24,5 +24,5 @@ index b5df38c2a006..bc53a9889d03 100644
select ARCH_WANT_COMPAT_IPC_PARSE_VERSION if COMPAT
select ARCH_WANT_DEFAULT_BPF_JIT
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0183-powerpc-traps-Use-PREEMPT_RT.patch b/buildroot-external/patches/linux/0182-powerpc-traps-Use-PREEMPT_RT.patch
similarity index 90%
rename from buildroot-external/patches/linux/0183-powerpc-traps-Use-PREEMPT_RT.patch
rename to buildroot-external/patches/linux/0182-powerpc-traps-Use-PREEMPT_RT.patch
index a0513a5f..de01981b 100644
--- a/buildroot-external/patches/linux/0183-powerpc-traps-Use-PREEMPT_RT.patch
+++ b/buildroot-external/patches/linux/0182-powerpc-traps-Use-PREEMPT_RT.patch
@@ -1,7 +1,7 @@
-From a303cfb9c906ab9c094f55e559bcbe43513320cc Mon Sep 17 00:00:00 2001
+From 45a4f213cb8e934d842cafce127e905f7193c267 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 26 Jul 2019 11:30:49 +0200
-Subject: [PATCH 183/196] powerpc: traps: Use PREEMPT_RT
+Subject: [PATCH 182/198] powerpc: traps: Use PREEMPT_RT
Add PREEMPT_RT to the backtrace if enabled.
@@ -35,5 +35,5 @@ index 2de7f6dcd32b..739f5b179a7f 100644
IS_ENABLED(CONFIG_SMP) ? (" NR_CPUS=" __stringify(NR_CPUS)) : "",
debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "",
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0184-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch b/buildroot-external/patches/linux/0183-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
similarity index 95%
rename from buildroot-external/patches/linux/0184-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
rename to buildroot-external/patches/linux/0183-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
index fdd7b5b4..e8cf8148 100644
--- a/buildroot-external/patches/linux/0184-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
+++ b/buildroot-external/patches/linux/0183-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
@@ -1,7 +1,7 @@
-From b074c5c18bf3edadcc64cf2258eb6022acca20b0 Mon Sep 17 00:00:00 2001
+From d6d986d2e9d8d0e11cc2c50898e4664b975a8de0 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Tue, 26 Mar 2019 18:31:54 +0100
-Subject: [PATCH 184/196] powerpc/pseries/iommu: Use a locallock instead
+Subject: [PATCH 183/198] powerpc/pseries/iommu: Use a locallock instead
local_irq_save()
The locallock protects the per-CPU variable tce_page. The function
@@ -18,7 +18,7 @@ Signed-off-by: Thomas Gleixner
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
-index 496e16c588aa..05cee07aafbb 100644
+index e8c4129697b1..c61e29deac8d 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -25,6 +25,7 @@
@@ -113,5 +113,5 @@ index 496e16c588aa..05cee07aafbb 100644
}
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0185-powerpc-pseries-Select-the-generic-memory-allocator.patch b/buildroot-external/patches/linux/0184-powerpc-pseries-Select-the-generic-memory-allocator.patch
similarity index 87%
rename from buildroot-external/patches/linux/0185-powerpc-pseries-Select-the-generic-memory-allocator.patch
rename to buildroot-external/patches/linux/0184-powerpc-pseries-Select-the-generic-memory-allocator.patch
index 96ab964b..59b8e8a9 100644
--- a/buildroot-external/patches/linux/0185-powerpc-pseries-Select-the-generic-memory-allocator.patch
+++ b/buildroot-external/patches/linux/0184-powerpc-pseries-Select-the-generic-memory-allocator.patch
@@ -1,7 +1,7 @@
-From 338449e3cf2b12f4db5d74b7af789840002944ac Mon Sep 17 00:00:00 2001
+From 15c8a2f5e39424b3b22ef9af2afd11cf05f300cd Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Thu, 9 Mar 2023 09:13:52 +0100
-Subject: [PATCH 185/196] powerpc/pseries: Select the generic memory allocator.
+Subject: [PATCH 184/198] powerpc/pseries: Select the generic memory allocator.
The RTAS work area allocator is using the generic memory allocator and
as such it must select it.
@@ -28,5 +28,5 @@ index 4ebf2ef2845d..381c3be3bec1 100644
select MPIC
select OF_DYNAMIC
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0186-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch b/buildroot-external/patches/linux/0185-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
similarity index 93%
rename from buildroot-external/patches/linux/0186-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
rename to buildroot-external/patches/linux/0185-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
index f91b39a7..82f8bb87 100644
--- a/buildroot-external/patches/linux/0186-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
+++ b/buildroot-external/patches/linux/0185-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
@@ -1,7 +1,7 @@
-From 3fb485b6b806aae2621e9377e634ad771817a239 Mon Sep 17 00:00:00 2001
+From 8a464d9118f67a5ecd0d42995ebf8f881f84ae94 Mon Sep 17 00:00:00 2001
From: Bogdan Purcareata
Date: Fri, 24 Apr 2015 15:53:13 +0000
-Subject: [PATCH 186/196] powerpc/kvm: Disable in-kernel MPIC emulation for
+Subject: [PATCH 185/198] powerpc/kvm: Disable in-kernel MPIC emulation for
PREEMPT_RT
While converting the openpic emulation code to use a raw_spinlock_t enables
@@ -41,5 +41,5 @@ index 902611954200..2f188137f830 100644
select HAVE_KVM_IRQFD
select HAVE_KVM_IRQ_ROUTING
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0187-powerpc-stackprotector-work-around-stack-guard-init-.patch b/buildroot-external/patches/linux/0186-powerpc-stackprotector-work-around-stack-guard-init-.patch
similarity index 89%
rename from buildroot-external/patches/linux/0187-powerpc-stackprotector-work-around-stack-guard-init-.patch
rename to buildroot-external/patches/linux/0186-powerpc-stackprotector-work-around-stack-guard-init-.patch
index 74fef41f..4d9f4a38 100644
--- a/buildroot-external/patches/linux/0187-powerpc-stackprotector-work-around-stack-guard-init-.patch
+++ b/buildroot-external/patches/linux/0186-powerpc-stackprotector-work-around-stack-guard-init-.patch
@@ -1,7 +1,7 @@
-From 30a2093bd995e7c7ecf709b2c0f1f074f387c02e Mon Sep 17 00:00:00 2001
+From 481135982d42836f73f197cd92c43c4216aef856 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Tue, 26 Mar 2019 18:31:29 +0100
-Subject: [PATCH 187/196] powerpc/stackprotector: work around stack-guard init
+Subject: [PATCH 186/198] powerpc/stackprotector: work around stack-guard init
from atomic
This is invoked from the secondary CPU in atomic context. On x86 we use
@@ -35,5 +35,5 @@ index 283c34647856..4727f40052dd 100644
#ifdef CONFIG_PPC64
get_paca()->canary = canary;
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0188-POWERPC-Allow-to-enable-RT.patch b/buildroot-external/patches/linux/0187-POWERPC-Allow-to-enable-RT.patch
similarity index 89%
rename from buildroot-external/patches/linux/0188-POWERPC-Allow-to-enable-RT.patch
rename to buildroot-external/patches/linux/0187-POWERPC-Allow-to-enable-RT.patch
index 3aa1ec3a..8f21debe 100644
--- a/buildroot-external/patches/linux/0188-POWERPC-Allow-to-enable-RT.patch
+++ b/buildroot-external/patches/linux/0187-POWERPC-Allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
-From 3ecc6489ba0c2468bb6315ee0c5a960135dd9948 Mon Sep 17 00:00:00 2001
+From 6bb9aa05eddc485745fc1a60c90465acf64234c8 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior
Date: Fri, 11 Oct 2019 13:14:41 +0200
-Subject: [PATCH 188/196] POWERPC: Allow to enable RT
+Subject: [PATCH 187/198] POWERPC: Allow to enable RT
Allow to select RT.
@@ -32,5 +32,5 @@ index 2fe51e0ad637..116444551038 100644
select HAVE_SETUP_PER_CPU_AREA if PPC64
select HAVE_SOFTIRQ_ON_OWN_STACK
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0189-RISC-V-Probe-misaligned-access-speed-in-parallel.patch b/buildroot-external/patches/linux/0188-RISC-V-Probe-misaligned-access-speed-in-parallel.patch
similarity index 94%
rename from buildroot-external/patches/linux/0189-RISC-V-Probe-misaligned-access-speed-in-parallel.patch
rename to buildroot-external/patches/linux/0188-RISC-V-Probe-misaligned-access-speed-in-parallel.patch
index e23f4d5e..f73b86a7 100644
--- a/buildroot-external/patches/linux/0189-RISC-V-Probe-misaligned-access-speed-in-parallel.patch
+++ b/buildroot-external/patches/linux/0188-RISC-V-Probe-misaligned-access-speed-in-parallel.patch
@@ -1,7 +1,7 @@
-From fcebbd53d7a303f69abe31831600de29f6f977d4 Mon Sep 17 00:00:00 2001
+From 0e129cb6f72a447a22d327066cbb9b00c77e0104 Mon Sep 17 00:00:00 2001
From: Evan Green
Date: Mon, 6 Nov 2023 14:58:55 -0800
-Subject: [PATCH 189/196] RISC-V: Probe misaligned access speed in parallel
+Subject: [PATCH 188/198] RISC-V: Probe misaligned access speed in parallel
Probing for misaligned access speed takes about 0.06 seconds. On a
system with 64 cores, doing this in smp_callin() means it's done
@@ -44,7 +44,7 @@ index d0345bd659c9..23fed53b8815 100644
-
#endif
diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c
-index e12cd22755c7..c3208b21e678 100644
+index e39a905aca24..9d8b6b463592 100644
--- a/arch/riscv/kernel/cpufeature.c
+++ b/arch/riscv/kernel/cpufeature.c
@@ -8,6 +8,7 @@
@@ -55,7 +55,7 @@ index e12cd22755c7..c3208b21e678 100644
#include
#include
#include
-@@ -29,6 +30,7 @@
+@@ -30,6 +31,7 @@
#define MISALIGNED_ACCESS_JIFFIES_LG2 1
#define MISALIGNED_BUFFER_SIZE 0x4000
@@ -63,7 +63,7 @@ index e12cd22755c7..c3208b21e678 100644
#define MISALIGNED_COPY_SIZE ((MISALIGNED_BUFFER_SIZE / 2) - 0x80)
unsigned long elf_hwcap __read_mostly;
-@@ -556,14 +558,15 @@ unsigned long riscv_get_elf_hwcap(void)
+@@ -571,14 +573,15 @@ unsigned long riscv_get_elf_hwcap(void)
return hwcap;
}
@@ -81,7 +81,7 @@ index e12cd22755c7..c3208b21e678 100644
void *dst;
void *src;
long speed = RISCV_HWPROBE_MISALIGNED_SLOW;
-@@ -630,7 +633,7 @@ void check_unaligned_access(int cpu)
+@@ -645,7 +648,7 @@ void check_unaligned_access(int cpu)
pr_warn("cpu%d: rdtime lacks granularity needed to measure unaligned access speed\n",
cpu);
@@ -90,7 +90,7 @@ index e12cd22755c7..c3208b21e678 100644
}
if (word_cycles < byte_cycles)
-@@ -644,18 +647,83 @@ void check_unaligned_access(int cpu)
+@@ -659,18 +662,83 @@ void check_unaligned_access(int cpu)
(speed == RISCV_HWPROBE_MISALIGNED_FAST) ? "fast" : "slow");
per_cpu(misaligned_access_speed, cpu) = speed;
@@ -192,5 +192,5 @@ index 1b8da4e40a4d..2cb5e651412c 100644
if (has_vector()) {
if (riscv_v_setup_vsize())
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0190-riscv-add-PREEMPT_AUTO-support.patch b/buildroot-external/patches/linux/0189-riscv-add-PREEMPT_AUTO-support.patch
similarity index 91%
rename from buildroot-external/patches/linux/0190-riscv-add-PREEMPT_AUTO-support.patch
rename to buildroot-external/patches/linux/0189-riscv-add-PREEMPT_AUTO-support.patch
index dd7c6e4a..27be0c57 100644
--- a/buildroot-external/patches/linux/0190-riscv-add-PREEMPT_AUTO-support.patch
+++ b/buildroot-external/patches/linux/0189-riscv-add-PREEMPT_AUTO-support.patch
@@ -1,7 +1,7 @@
-From a36621ff3b891fd2d4576e5353d477cefbabf237 Mon Sep 17 00:00:00 2001
+From 9a7b17163051dc0e414858ee488e5309eae55aa8 Mon Sep 17 00:00:00 2001
From: Jisheng Zhang
Date: Tue, 31 Oct 2023 22:35:20 +0800
-Subject: [PATCH 190/196] riscv: add PREEMPT_AUTO support
+Subject: [PATCH 189/198] riscv: add PREEMPT_AUTO support
riscv has switched to GENERIC_ENTRY, so adding PREEMPT_AUTO is as simple
as adding TIF_ARCH_RESCHED_LAZY related definitions and enabling
@@ -15,7 +15,7 @@ Signed-off-by: Sebastian Andrzej Siewior
2 files changed, 3 insertions(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
-index 9e6d442773ee..75ac6cfbc0b0 100644
+index c785a0200573..ea01aa411e2c 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -135,6 +135,7 @@ config RISCV
@@ -47,5 +47,5 @@ index d18ce0113ca1..e18710fe51f0 100644
#define _TIF_WORK_MASK \
(_TIF_NOTIFY_RESUME | _TIF_SIGPENDING | _TIF_NEED_RESCHED | \
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0191-riscv-allow-to-enable-RT.patch b/buildroot-external/patches/linux/0190-riscv-allow-to-enable-RT.patch
similarity index 81%
rename from buildroot-external/patches/linux/0191-riscv-allow-to-enable-RT.patch
rename to buildroot-external/patches/linux/0190-riscv-allow-to-enable-RT.patch
index e70946cd..cf647734 100644
--- a/buildroot-external/patches/linux/0191-riscv-allow-to-enable-RT.patch
+++ b/buildroot-external/patches/linux/0190-riscv-allow-to-enable-RT.patch
@@ -1,7 +1,7 @@
-From 8b017481f5f60b69406c4b86993f3b5e4ced7c0b Mon Sep 17 00:00:00 2001
+From e83692fd6721c9e16e9defbaa0327b438c541e01 Mon Sep 17 00:00:00 2001
From: Jisheng Zhang
Date: Tue, 31 Oct 2023 22:35:21 +0800
-Subject: [PATCH 191/196] riscv: allow to enable RT
+Subject: [PATCH 190/198] riscv: allow to enable RT
Now, it's ready to enable RT on riscv.
@@ -12,7 +12,7 @@ Signed-off-by: Sebastian Andrzej Siewior
1 file changed, 1 insertion(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
-index 75ac6cfbc0b0..64dfdcc616be 100644
+index ea01aa411e2c..e05c170781c6 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -48,6 +48,7 @@ config RISCV
@@ -24,5 +24,5 @@ index 75ac6cfbc0b0..64dfdcc616be 100644
select ARCH_USE_QUEUED_RWLOCKS
select ARCH_USES_CFI_TRAPS if CFI_CLANG
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0192-sysfs-Add-sys-kernel-realtime-entry.patch b/buildroot-external/patches/linux/0191-sysfs-Add-sys-kernel-realtime-entry.patch
similarity index 91%
rename from buildroot-external/patches/linux/0192-sysfs-Add-sys-kernel-realtime-entry.patch
rename to buildroot-external/patches/linux/0191-sysfs-Add-sys-kernel-realtime-entry.patch
index 1aca5de2..196cdc8a 100644
--- a/buildroot-external/patches/linux/0192-sysfs-Add-sys-kernel-realtime-entry.patch
+++ b/buildroot-external/patches/linux/0191-sysfs-Add-sys-kernel-realtime-entry.patch
@@ -1,7 +1,7 @@
-From 87f288040fbfe4a786f20a77539de3578bbb56a6 Mon Sep 17 00:00:00 2001
+From 5cf0a5fddba4ec13b99ac1757a5ba4046e2d636c Mon Sep 17 00:00:00 2001
From: Clark Williams
Date: Sat, 30 Jul 2011 21:55:53 -0500
-Subject: [PATCH 192/196] sysfs: Add /sys/kernel/realtime entry
+Subject: [PATCH 191/198] sysfs: Add /sys/kernel/realtime entry
Add a /sys/kernel entry to indicate that the kernel is a
realtime kernel.
@@ -50,5 +50,5 @@ index 1d4bc493b2f4..486c68c11bbe 100644
NULL
};
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0193-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch b/buildroot-external/patches/linux/0192-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch
similarity index 81%
rename from buildroot-external/patches/linux/0193-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch
rename to buildroot-external/patches/linux/0192-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch
index 8de25074..e9c0f1f1 100644
--- a/buildroot-external/patches/linux/0193-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch
+++ b/buildroot-external/patches/linux/0192-arch-riscv-check_unaligned_acces-don-t-alloc-page-fo.patch
@@ -1,7 +1,7 @@
-From 08ed37dd249e396e8a529ceec3f2e132e19ba80b Mon Sep 17 00:00:00 2001
+From 04a566c2ccca0e4860982c8c3291e5efef9a1378 Mon Sep 17 00:00:00 2001
From: Clark Williams
Date: Mon, 5 Feb 2024 14:04:38 -0600
-Subject: [PATCH 193/196] arch/riscv: check_unaligned_acces(): don't alloc page
+Subject: [PATCH 192/198] arch/riscv: check_unaligned_acces(): don't alloc page
for check
Drop the alloc_pages() call since the page is passed in as
@@ -14,10 +14,10 @@ Signed-off-by: Clark Williams
1 file changed, 6 deletions(-)
diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c
-index c3208b21e678..32a21e9a0fff 100644
+index 9d8b6b463592..dd118773e717 100644
--- a/arch/riscv/kernel/cpufeature.c
+++ b/arch/riscv/kernel/cpufeature.c
-@@ -575,12 +575,6 @@ static int check_unaligned_access(void *param)
+@@ -590,12 +590,6 @@ static int check_unaligned_access(void *param)
if (per_cpu(misaligned_access_speed, cpu) != RISCV_HWPROBE_MISALIGNED_UNKNOWN)
return;
@@ -31,5 +31,5 @@ index c3208b21e678..32a21e9a0fff 100644
dst = (void *)((unsigned long)page_address(page) | 0x1);
/* Unalign src as well, but differently (off by 1 + 2 = 3). */
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0194-Revert-preempt-Put-preempt_enable-within-an-instrume.patch b/buildroot-external/patches/linux/0193-Revert-preempt-Put-preempt_enable-within-an-instrume.patch
similarity index 90%
rename from buildroot-external/patches/linux/0194-Revert-preempt-Put-preempt_enable-within-an-instrume.patch
rename to buildroot-external/patches/linux/0193-Revert-preempt-Put-preempt_enable-within-an-instrume.patch
index 460f1fad..b2385b6d 100644
--- a/buildroot-external/patches/linux/0194-Revert-preempt-Put-preempt_enable-within-an-instrume.patch
+++ b/buildroot-external/patches/linux/0193-Revert-preempt-Put-preempt_enable-within-an-instrume.patch
@@ -1,7 +1,7 @@
-From 0a90e6ae0b76d909c97ebfbc532e72f9d6b4d16f Mon Sep 17 00:00:00 2001
+From 265c0055d1dad63a9383aa6a460b21e1fcc2c90e Mon Sep 17 00:00:00 2001
From: Clark Williams
Date: Tue, 6 Feb 2024 12:17:19 -0600
-Subject: [PATCH 194/196] Revert "preempt: Put preempt_enable() within an
+Subject: [PATCH 193/198] Revert "preempt: Put preempt_enable() within an
instrumentation*() section."
This reverts commit cc3d27d9fdeddcb82db3ea176a44a5509e70eb1c.
@@ -43,5 +43,5 @@ index cd16f0330fba..9aa6358a1a16 100644
#define preempt_check_resched() \
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0195-Add-localversion-for-RT-release.patch b/buildroot-external/patches/linux/0194-Add-localversion-for-RT-release.patch
similarity index 75%
rename from buildroot-external/patches/linux/0195-Add-localversion-for-RT-release.patch
rename to buildroot-external/patches/linux/0194-Add-localversion-for-RT-release.patch
index 29a1d366..c8a2ec37 100644
--- a/buildroot-external/patches/linux/0195-Add-localversion-for-RT-release.patch
+++ b/buildroot-external/patches/linux/0194-Add-localversion-for-RT-release.patch
@@ -1,7 +1,7 @@
-From 91f87aceb8ecbff103edbbd401f2b8425877bf16 Mon Sep 17 00:00:00 2001
+From a38b8dd4b0cc5a5fb2f20a95a33cf9213c37b92d Mon Sep 17 00:00:00 2001
From: Thomas Gleixner
Date: Fri, 8 Jul 2011 20:25:16 +0200
-Subject: [PATCH 195/196] Add localversion for -RT release
+Subject: [PATCH 194/198] Add localversion for -RT release
Signed-off-by: Thomas Gleixner
---
@@ -17,5 +17,5 @@ index 000000000000..483ad771f201
@@ -0,0 +1 @@
+-rt19
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0196-Linux-6.6.18-rt23-REBASE.patch b/buildroot-external/patches/linux/0195-Linux-6.6.18-rt23-REBASE.patch
similarity index 76%
rename from buildroot-external/patches/linux/0196-Linux-6.6.18-rt23-REBASE.patch
rename to buildroot-external/patches/linux/0195-Linux-6.6.18-rt23-REBASE.patch
index c34208fe..cb7ae83e 100644
--- a/buildroot-external/patches/linux/0196-Linux-6.6.18-rt23-REBASE.patch
+++ b/buildroot-external/patches/linux/0195-Linux-6.6.18-rt23-REBASE.patch
@@ -1,7 +1,7 @@
-From c555a4a82622332317acf008d7e04b8b3d8eaacd Mon Sep 17 00:00:00 2001
+From dbabd91c9deb07b610a672de1eb278766588c23e Mon Sep 17 00:00:00 2001
From: Clark Williams
Date: Tue, 27 Feb 2024 17:13:28 -0600
-Subject: [PATCH 196/196] Linux 6.6.18-rt23 REBASE
+Subject: [PATCH 195/198] Linux 6.6.18-rt23 REBASE
Signed-off-by: Clark Williams
---
@@ -16,5 +16,5 @@ index 483ad771f201..9a218ca23053 100644
--rt19
+-rt23
--
-2.43.2
+2.44.0
diff --git a/buildroot-external/patches/linux/0196-arm-Disable-FAST_GUP-on-PREEMPT_RT-if-HIGHPTE-is-als.patch b/buildroot-external/patches/linux/0196-arm-Disable-FAST_GUP-on-PREEMPT_RT-if-HIGHPTE-is-als.patch
new file mode 100644
index 00000000..62d8ecec
--- /dev/null
+++ b/buildroot-external/patches/linux/0196-arm-Disable-FAST_GUP-on-PREEMPT_RT-if-HIGHPTE-is-als.patch
@@ -0,0 +1,42 @@
+From a96bb0e4bd9e6a8659a0305c06a027a457f91f2a Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior
+Date: Tue, 23 Jan 2024 12:56:21 +0100
+Subject: [PATCH 196/198] arm: Disable FAST_GUP on PREEMPT_RT if HIGHPTE is
+ also enabled.
+
+gup_pgd_range() is invoked with disabled interrupts and invokes
+__kmap_local_page_prot() via pte_offset_map(), gup_p4d_range().
+With HIGHPTE enabled, __kmap_local_page_prot() invokes kmap_high_get()
+which uses a spinlock_t via lock_kmap_any(). This leads to an
+sleeping-while-atomic error on PREEMPT_RT because spinlock_t becomes a
+sleeping lock and must not be acquired in atomic context.
+
+The loop in map_new_virtual() uses wait_queue_head_t for wake up which
+also is using a spinlock_t.
+
+Limit HAVE_FAST_GUP additionaly to remain disabled on PREEMPT_RT with
+HIGHPTE enabled.
+
+Signed-off-by: Sebastian Andrzej Siewior
+(cherry picked from commit 02cf5a345530b4d3a94093f0b5c784701c2e7c6a)
+Signed-off-by: Clark Williams
+---
+ arch/arm/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index a154ecd2d3c3..e5a283851c02 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -97,7 +97,7 @@ config ARM
+ select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
+ select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
+ select HAVE_EXIT_THREAD
+- select HAVE_FAST_GUP if ARM_LPAE
++ select HAVE_FAST_GUP if ARM_LPAE && !(PREEMPT_RT && HIGHPTE)
+ select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
+ select HAVE_FUNCTION_ERROR_INJECTION
+ select HAVE_FUNCTION_GRAPH_TRACER
+--
+2.44.0
+
diff --git a/buildroot-external/patches/linux/0197-printk-nbcon-move-locked_port-flag-to-struct-uart_po.patch b/buildroot-external/patches/linux/0197-printk-nbcon-move-locked_port-flag-to-struct-uart_po.patch
new file mode 100644
index 00000000..321f0fff
--- /dev/null
+++ b/buildroot-external/patches/linux/0197-printk-nbcon-move-locked_port-flag-to-struct-uart_po.patch
@@ -0,0 +1,96 @@
+From e5fe1d2326e029a63151f6a63b042df7ba248811 Mon Sep 17 00:00:00 2001
+From: Junxiao Chang
+Date: Tue, 23 Jan 2024 13:40:32 +0800
+Subject: [PATCH 197/198] printk: nbcon: move locked_port flag to struct
+ uart_port
+
+Console pointer in uart_port might be shared among multiple uart
+ports. Flag port locked by nbcon should be saved in uart_port
+structure instead of in console structure.
+
+Fixes: 6424f396c49e ("printk: nbcon: Implement processing in port->lock wrapper")
+Suggested-by: John Ogness
+Signed-off-by: Junxiao Chang
+Signed-off-by: Sebastian Andrzej Siewior
+Link: https://lore.kernel.org/all/20240123054033.183114-2-junxiao.chang@intel.com
+(cherry picked from commit d4fb86a96cb4a1efd24ca13a2ac234a1c9a3fdc5)
+Signed-off-by: Clark Williams
+---
+ include/linux/console.h | 2 --
+ include/linux/serial_core.h | 1 +
+ kernel/printk/nbcon.c | 8 ++++----
+ 3 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/include/linux/console.h b/include/linux/console.h
+index f8a062867888..1eb9580e9b18 100644
+--- a/include/linux/console.h
++++ b/include/linux/console.h
+@@ -304,7 +304,6 @@ struct nbcon_write_context {
+ * @nbcon_state: State for nbcon consoles
+ * @nbcon_seq: Sequence number of the next record for nbcon to print
+ * @pbufs: Pointer to nbcon private buffer
+- * @locked_port: True, if the port lock is locked by nbcon
+ * @kthread: Printer kthread for this console
+ * @rcuwait: RCU-safe wait object for @kthread waking
+ * @irq_work: Defer @kthread waking to IRQ work context
+@@ -338,7 +337,6 @@ struct console {
+ atomic_t __private nbcon_state;
+ atomic_long_t __private nbcon_seq;
+ struct printk_buffers *pbufs;
+- bool locked_port;
+ struct task_struct *kthread;
+ struct rcuwait rcuwait;
+ struct irq_work irq_work;
+diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
+index e5947b13f2f1..99d3f1e24bec 100644
+--- a/include/linux/serial_core.h
++++ b/include/linux/serial_core.h
+@@ -488,6 +488,7 @@ struct uart_port {
+ struct uart_icount icount; /* statistics */
+
+ struct console *cons; /* struct console, if any */
++ bool nbcon_locked_port; /* True, if the port is locked by nbcon */
+ /* flags must be updated while holding port mutex */
+ upf_t flags;
+
+diff --git a/kernel/printk/nbcon.c b/kernel/printk/nbcon.c
+index 1b1b585b1675..b53d93585ee7 100644
+--- a/kernel/printk/nbcon.c
++++ b/kernel/printk/nbcon.c
+@@ -1586,7 +1586,7 @@ void nbcon_acquire(struct uart_port *up)
+ if (!uart_is_nbcon(up))
+ return;
+
+- WARN_ON_ONCE(con->locked_port);
++ WARN_ON_ONCE(up->nbcon_locked_port);
+
+ do {
+ do {
+@@ -1597,7 +1597,7 @@ void nbcon_acquire(struct uart_port *up)
+
+ } while (!nbcon_context_enter_unsafe(&ctxt));
+
+- con->locked_port = true;
++ up->nbcon_locked_port = true;
+ }
+ EXPORT_SYMBOL_GPL(nbcon_acquire);
+
+@@ -1623,13 +1623,13 @@ void nbcon_release(struct uart_port *up)
+ .prio = NBCON_PRIO_NORMAL,
+ };
+
+- if (!con->locked_port)
++ if (!up->nbcon_locked_port)
+ return;
+
+ if (nbcon_context_exit_unsafe(&ctxt))
+ nbcon_context_release(&ctxt);
+
+- con->locked_port = false;
++ up->nbcon_locked_port = false;
+ }
+ EXPORT_SYMBOL_GPL(nbcon_release);
+
+--
+2.44.0
+
diff --git a/buildroot-external/patches/linux/0198-Linux-6.6.25-rt29-REBASE.patch b/buildroot-external/patches/linux/0198-Linux-6.6.25-rt29-REBASE.patch
new file mode 100644
index 00000000..57a6cc75
--- /dev/null
+++ b/buildroot-external/patches/linux/0198-Linux-6.6.25-rt29-REBASE.patch
@@ -0,0 +1,20 @@
+From f81d441361f48874bf60195d27353323d287fab5 Mon Sep 17 00:00:00 2001
+From: Clark Williams
+Date: Mon, 8 Apr 2024 21:34:33 -0500
+Subject: [PATCH 198/198] Linux 6.6.25-rt29 REBASE
+
+Signed-off-by: Clark Williams
+---
+ localversion-rt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/localversion-rt b/localversion-rt
+index 9a218ca23053..90290c642ed5 100644
+--- a/localversion-rt
++++ b/localversion-rt
+@@ -1 +1 @@
+--rt23
++-rt29
+--
+2.44.0
+
diff --git a/buildroot-external/uclibc.config b/buildroot-external/uclibc.config
new file mode 100644
index 00000000..d1d49d3c
--- /dev/null
+++ b/buildroot-external/uclibc.config
@@ -0,0 +1,257 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc-ng 1.0.45 C Library Configuration
+#
+TARGET_aarch64=y
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+# TARGET_cris is not set
+# TARGET_csky is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_ia64 is not set
+# TARGET_kvx is not set
+# TARGET_lm32 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nds32 is not set
+# TARGET_nios2 is not set
+# TARGET_or1k is not set
+# TARGET_powerpc is not set
+# TARGET_riscv64 is not set
+# TARGET_riscv32 is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_sparc64 is not set
+# TARGET_tile is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+TARGET_LDSO_NAME="ld-uClibc"
+TARGET_ARCH_BITS=64
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="aarch64"
+FORCE_OPTIONS_FOR_ARCH=y
+CONFIG_AARCH64_PAGE_SIZE_4K=y
+# CONFIG_AARCH64_PAGE_SIZE_16K is not set
+# CONFIG_AARCH64_PAGE_SIZE_64K is not set
+TARGET_SUBARCH=""
+
+#
+# Using ELF file format
+#
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+ARCH_WANTS_LITTLE_ENDIAN=y
+ARCH_HAS_MMU=y
+ARCH_USE_MMU=y
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+DO_XSI_MATH=y
+UCLIBC_HAS_LONG_DOUBLE_MATH=y
+KERNEL_HEADERS="/home/peter/development/ovos-buildroot-rpi4/buildroot/output/build/linux-headers-custom/usr/include"
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+# STATIC_PIE is not set
+HAVE_LDSO=y
+HAVE_SHARED=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+# LDSO_CACHE_SUPPORT is not set
+LDSO_PRELOAD_ENV_SUPPORT=y
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+# LDSO_STANDALONE_SUPPORT is not set
+# LDSO_PRELINK_SUPPORT is not set
+# UCLIBC_STATIC_LDCONFIG is not set
+LDSO_RUNPATH=y
+LDSO_RUNPATH_OF_EXECUTABLE=y
+LDSO_SAFE_RUNPATH=y
+LDSO_SEARCH_INTERP_PATH=y
+LDSO_LD_LIBRARY_PATH=y
+UCLIBC_CTOR_DTOR=y
+# LDSO_GNU_HASH_SUPPORT is not set
+# HAS_NO_THREADS is not set
+UCLIBC_HAS_THREADS_NATIVE=y
+UCLIBC_HAS_THREADS=y
+UCLIBC_HAS_TLS=y
+# PTHREADS_DEBUG_SUPPORT is not set
+PTHREADS_STACK_DEFAULT_SIZE=2097152
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+# MALLOC is not set
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+UCLIBC_DYNAMIC_ATEXIT=y
+UCLIBC_HAS_UTMPX=y
+UCLIBC_HAS_UTMP=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+# UCLIBC_SV4_DEPRECATED is not set
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+UCLIBC_HAS_PROFILING=y
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+# UCLIBC_HAS_BSD_RES_CLOSE is not set
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+# UCLIBC_DNSRAND_MODE_URANDOM is not set
+# UCLIBC_DNSRAND_MODE_CLOCK is not set
+UCLIBC_DNSRAND_MODE_PRNGPLUS=y
+# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_STDIO_FUTEXES=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+UCLIBC_HAS_LIBICONV=y
+UCLIBC_HAS_LIBINTL=y
+UCLIBC_HAS_LOCALE=y
+UCLIBC_BUILD_MINIMAL_LOCALE=y
+# UCLIBC_BUILD_ALL_LOCALE is not set
+UCLIBC_BUILD_MINIMAL_LOCALES="en_US"
+UCLIBC_HAS_XLOCALE=y
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GETOPT_LONG=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+UCLIBC_HAS_ARGP=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+# UCLIBC_HAS_FTS is not set
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_RELRO=y
+UCLIBC_BUILD_NOW=y
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX="/home/peter/development/ovos-buildroot-rpi4/buildroot/output/host/bin/aarch64-buildroot-linux-uclibc-"
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+# UCLIBC_HAS_BACKTRACE is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set