[ANNOUNCE] v6.15-rt2 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/patches/0001-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch b/patches/0001-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch index 344218d..6b9dd26d1 100644 --- a/patches/0001-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch +++ b/patches/0001-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch
@@ -33,7 +33,7 @@ --- a/drivers/gpu/drm/i915/display/intel_vblank.c +++ b/drivers/gpu/drm/i915/display/intel_vblank.c -@@ -309,6 +309,20 @@ static void intel_vblank_section_exit(st +@@ -311,6 +311,20 @@ static void intel_vblank_section_exit(st struct drm_i915_private *i915 = to_i915(display->drm); spin_unlock(&i915->uncore.lock); } @@ -54,7 +54,7 @@ #else static void intel_vblank_section_enter(struct intel_display *display) { -@@ -317,6 +331,17 @@ static void intel_vblank_section_enter(s +@@ -319,6 +333,17 @@ static void intel_vblank_section_enter(s static void intel_vblank_section_exit(struct intel_display *display) { } @@ -72,7 +72,7 @@ #endif static bool i915_get_crtc_scanoutpos(struct drm_crtc *_crtc, -@@ -353,10 +378,10 @@ static bool i915_get_crtc_scanoutpos(str +@@ -355,10 +380,10 @@ static bool i915_get_crtc_scanoutpos(str * timing critical raw register reads, potentially with * preemption disabled, so the following code must not block. */ @@ -86,7 +86,7 @@ /* Get optional system timestamp before query. */ if (stime) -@@ -420,10 +445,10 @@ static bool i915_get_crtc_scanoutpos(str +@@ -422,10 +447,10 @@ static bool i915_get_crtc_scanoutpos(str if (etime) *etime = ktime_get(); @@ -100,7 +100,7 @@ /* * While in vblank, position will be negative -@@ -461,13 +486,11 @@ int intel_get_crtc_scanline(struct intel +@@ -463,13 +488,11 @@ int intel_get_crtc_scanline(struct intel unsigned long irqflags; int position;
diff --git a/patches/0002-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch b/patches/0002-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch index 0b3a286..43a00cd 100644 --- a/patches/0002-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch +++ b/patches/0002-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch
@@ -100,7 +100,7 @@ --- a/drivers/gpu/drm/i915/display/intel_vblank.c +++ b/drivers/gpu/drm/i915/display/intel_vblank.c -@@ -750,11 +750,13 @@ int intel_vblank_evade(struct intel_vbla +@@ -752,11 +752,13 @@ int intel_vblank_evade(struct intel_vbla break; }
diff --git a/patches/0004-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch b/patches/0004-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch index 7370552..55d48b6 100644 --- a/patches/0004-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch +++ b/patches/0004-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch
@@ -34,7 +34,7 @@ --- a/drivers/gpu/drm/i915/display/intel_display_trace.h +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h -@@ -9,6 +9,10 @@ +@@ -13,6 +13,10 @@ #if !defined(__INTEL_DISPLAY_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ) #define __INTEL_DISPLAY_TRACE_H__
diff --git a/patches/0006-drm-i915-Drop-the-irqs_disabled-check.patch b/patches/0006-drm-i915-Drop-the-irqs_disabled-check.patch index b7d7128..0c2018e 100644 --- a/patches/0006-drm-i915-Drop-the-irqs_disabled-check.patch +++ b/patches/0006-drm-i915-Drop-the-irqs_disabled-check.patch
@@ -21,7 +21,7 @@ --- a/drivers/gpu/drm/i915/i915_request.c +++ b/drivers/gpu/drm/i915/i915_request.c -@@ -609,7 +609,6 @@ bool __i915_request_submit(struct i915_r +@@ -608,7 +608,6 @@ bool __i915_request_submit(struct i915_r RQ_TRACE(request, "\n"); @@ -29,7 +29,7 @@ lockdep_assert_held(&engine->sched_engine->lock); /* -@@ -718,7 +717,6 @@ void __i915_request_unsubmit(struct i915 +@@ -717,7 +716,6 @@ void __i915_request_unsubmit(struct i915 */ RQ_TRACE(request, "\n");
diff --git a/patches/Add_localversion_for_-RT_release.patch b/patches/Add_localversion_for_-RT_release.patch index 0e6dbb0..d960d51 100644 --- a/patches/Add_localversion_for_-RT_release.patch +++ b/patches/Add_localversion_for_-RT_release.patch
@@ -15,4 +15,4 @@ --- /dev/null +++ b/localversion-rt @@ -0,0 +1 @@ -+-rt1 ++-rt2
diff --git a/patches/POWERPC__Allow_to_enable_RT.patch b/patches/POWERPC__Allow_to_enable_RT.patch index 15e0fb5..afe3c6d 100644 --- a/patches/POWERPC__Allow_to_enable_RT.patch +++ b/patches/POWERPC__Allow_to_enable_RT.patch
@@ -16,7 +16,7 @@ --- --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig -@@ -171,6 +171,7 @@ config PPC +@@ -173,6 +173,7 @@ config PPC select ARCH_STACKWALK select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_SUPPORTS_DEBUG_PAGEALLOC if PPC_BOOK3S || PPC_8xx @@ -24,7 +24,7 @@ select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF if PPC64 select ARCH_USE_MEMTEST -@@ -275,6 +276,7 @@ config PPC +@@ -277,6 +278,7 @@ config PPC select HAVE_PERF_EVENTS_NMI if PPC64 select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP
diff --git a/patches/Reapply-serial-8250-Revert-drop-lockdep-annotation-f.patch b/patches/Reapply-serial-8250-Revert-drop-lockdep-annotation-f.patch index 800fdad..446c167 100644 --- a/patches/Reapply-serial-8250-Revert-drop-lockdep-annotation-f.patch +++ b/patches/Reapply-serial-8250-Revert-drop-lockdep-annotation-f.patch
@@ -12,7 +12,7 @@ --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c -@@ -726,6 +726,9 @@ static void __serial8250_clear_IER(struc +@@ -724,6 +724,9 @@ static void __serial8250_clear_IER(struc static inline void serial8250_clear_IER(struct uart_8250_port *up) {
diff --git a/patches/Reapply-serial-8250-Switch-to-nbcon-console.patch b/patches/Reapply-serial-8250-Switch-to-nbcon-console.patch index 46e1799a..6644d22 100644 --- a/patches/Reapply-serial-8250-Switch-to-nbcon-console.patch +++ b/patches/Reapply-serial-8250-Switch-to-nbcon-console.patch
@@ -71,7 +71,7 @@ }; --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c -@@ -711,7 +711,12 @@ static void serial8250_set_sleep(struct +@@ -709,7 +709,12 @@ static void serial8250_set_sleep(struct serial8250_rpm_put(p); } @@ -85,7 +85,7 @@ { if (up->capabilities & UART_CAP_UUE) serial_out(up, UART_IER, UART_IER_UUE); -@@ -719,6 +724,11 @@ static void serial8250_clear_IER(struct +@@ -717,6 +722,11 @@ static void serial8250_clear_IER(struct serial_out(up, UART_IER, 0); } @@ -97,7 +97,7 @@ #ifdef CONFIG_SERIAL_8250_RSA /* * Attempts to turn on the RSA FIFO. Returns zero on failure. -@@ -1406,9 +1416,6 @@ void serial8250_em485_stop_tx(struct uar +@@ -1404,9 +1414,6 @@ void serial8250_em485_stop_tx(struct uar { unsigned char mcr = serial8250_in_MCR(p); @@ -107,7 +107,7 @@ if (p->port.rs485.flags & SER_RS485_RTS_AFTER_SEND) mcr |= UART_MCR_RTS; else -@@ -1424,6 +1431,16 @@ void serial8250_em485_stop_tx(struct uar +@@ -1422,6 +1429,16 @@ void serial8250_em485_stop_tx(struct uar serial8250_clear_and_reinit_fifos(p); if (toggle_ier) { @@ -124,7 +124,7 @@ p->ier |= UART_IER_RLSI | UART_IER_RDI; serial_port_out(&p->port, UART_IER, p->ier); } -@@ -3312,7 +3329,11 @@ EXPORT_SYMBOL_GPL(serial8250_set_default +@@ -3303,7 +3320,11 @@ EXPORT_SYMBOL_GPL(serial8250_set_default static void serial8250_console_putchar(struct uart_port *port, unsigned char ch) { @@ -136,7 +136,7 @@ } static void serial8250_console_wait_putchar(struct uart_port *port, unsigned char ch) -@@ -3349,11 +3370,22 @@ static void serial8250_console_restore(s +@@ -3340,11 +3361,22 @@ static void serial8250_console_restore(s serial8250_out_MCR(up, up->mcr | UART_MCR_DTR | UART_MCR_RTS); } @@ -160,7 +160,7 @@ if (wait_for_lsr(up, UART_LSR_THRE)) return; } -@@ -3366,20 +3398,29 @@ static void fifo_wait_for_lsr(struct uar +@@ -3357,20 +3389,29 @@ static void fifo_wait_for_lsr(struct uar * to get empty. */ static void serial8250_console_fifo_write(struct uart_8250_port *up, @@ -193,7 +193,7 @@ if (*s == '\n' && !cr_sent) { serial8250_console_putchar(port, '\r'); cr_sent = true; -@@ -3387,6 +3428,8 @@ static void serial8250_console_fifo_writ +@@ -3378,6 +3419,8 @@ static void serial8250_console_fifo_writ serial8250_console_putchar(port, *s++); cr_sent = false; } @@ -202,7 +202,7 @@ } tx_count = i; } -@@ -3395,39 +3438,57 @@ static void serial8250_console_fifo_writ +@@ -3386,39 +3429,57 @@ static void serial8250_console_fifo_writ * Allow timeout for each byte written since the caller will only wait * for UART_LSR_BOTH_EMPTY using the timeout of a single character */ @@ -280,7 +280,7 @@ /* check scratch reg to see if port powered off during system sleep */ if (up->canary && (up->canary != serial_port_in(port, UART_SCR))) { -@@ -3441,6 +3502,18 @@ void serial8250_console_write(struct uar +@@ -3432,6 +3493,18 @@ void serial8250_console_write(struct uar mdelay(port->rs485.delay_rts_before_send); } @@ -299,7 +299,7 @@ use_fifo = (up->capabilities & UART_CAP_FIFO) && /* * BCM283x requires to check the fifo -@@ -3461,10 +3534,23 @@ void serial8250_console_write(struct uar +@@ -3452,10 +3525,23 @@ void serial8250_console_write(struct uar */ !(up->port.flags & UPF_CONS_FLOW); @@ -325,7 +325,7 @@ /* * Finally, wait for transmitter to become empty -@@ -3487,11 +3573,18 @@ void serial8250_console_write(struct uar +@@ -3478,11 +3564,18 @@ void serial8250_console_write(struct uar * call it if we have saved something in the saved flags * while processing with interrupts off. */ @@ -348,7 +348,7 @@ } static unsigned int probe_baud(struct uart_port *port) -@@ -3509,8 +3602,24 @@ static unsigned int probe_baud(struct ua +@@ -3500,8 +3593,24 @@ static unsigned int probe_baud(struct ua return (port->uartclk / 16) / quot; } @@ -373,7 +373,7 @@ int baud = 9600; int bits = 8; int parity = 'n'; -@@ -3520,6 +3629,9 @@ int serial8250_console_setup(struct uart +@@ -3511,6 +3620,9 @@ int serial8250_console_setup(struct uart if (!port->iobase && !port->membase) return -ENODEV;
diff --git a/patches/powerpc_pseries_iommu__Use_a_locallock_instead_local_irq_save.patch b/patches/powerpc_pseries_iommu__Use_a_locallock_instead_local_irq_save.patch index 55d1fdd..561c242 100644 --- a/patches/powerpc_pseries_iommu__Use_a_locallock_instead_local_irq_save.patch +++ b/patches/powerpc_pseries_iommu__Use_a_locallock_instead_local_irq_save.patch
@@ -29,7 +29,7 @@ #include <asm/io.h> #include <asm/prom.h> #include <asm/rtas.h> -@@ -244,7 +245,13 @@ static int tce_build_pSeriesLP(unsigned +@@ -245,7 +246,13 @@ static int tce_build_pSeriesLP(unsigned return ret; } @@ -44,7 +44,7 @@ static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, long npages, unsigned long uaddr, -@@ -267,9 +274,10 @@ static int tce_buildmulti_pSeriesLP(stru +@@ -268,9 +275,10 @@ static int tce_buildmulti_pSeriesLP(stru direction, attrs); } @@ -57,7 +57,7 @@ /* This is safe to do since interrupts are off when we're called * from iommu_alloc{,_sg}() -@@ -278,12 +286,12 @@ static int tce_buildmulti_pSeriesLP(stru +@@ -279,12 +287,12 @@ static int tce_buildmulti_pSeriesLP(stru tcep = (__be64 *)__get_free_page(GFP_ATOMIC); /* If allocation fails, fall back to the loop implementation */ if (!tcep) { @@ -72,7 +72,7 @@ } rpn = __pa(uaddr) >> tceshift; -@@ -313,7 +321,7 @@ static int tce_buildmulti_pSeriesLP(stru +@@ -314,7 +322,7 @@ static int tce_buildmulti_pSeriesLP(stru tcenum += limit; } while (npages > 0 && !rc); @@ -81,7 +81,7 @@ if (unlikely(rc == H_NOT_ENOUGH_RESOURCES)) { ret = (int)rc; -@@ -497,16 +505,17 @@ static int tce_setrange_multi_pSeriesLP( +@@ -498,16 +506,17 @@ static int tce_setrange_multi_pSeriesLP( DMA_BIDIRECTIONAL, 0); } @@ -103,7 +103,7 @@ } proto_tce = TCE_PCI_READ | TCE_PCI_WRITE; -@@ -549,7 +558,7 @@ static int tce_setrange_multi_pSeriesLP( +@@ -550,7 +559,7 @@ static int tce_setrange_multi_pSeriesLP( /* error cleanup: caller will clear whole range */