diff options
Diffstat (limited to 'debian/patches-rt/0004-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch')
-rw-r--r-- | debian/patches-rt/0004-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/debian/patches-rt/0004-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch b/debian/patches-rt/0004-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch index 3d26b9d6cc..aebb5534f6 100644 --- a/debian/patches-rt/0004-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch +++ b/debian/patches-rt/0004-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch @@ -2,7 +2,7 @@ From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Sat, 27 Feb 2016 09:01:42 +0100 Subject: [PATCH 04/10] drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patches-6.8.2-rt11.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.9/older/patches-6.9-rt5.tar.xz Commit 8d7849db3eab7 ("drm/i915: Make sprite updates atomic") @@ -32,12 +32,13 @@ Don't disable interrupts on PREEMPT_RT during atomic updates. Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- - drivers/gpu/drm/i915/display/intel_crtc.c | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) + drivers/gpu/drm/i915/display/intel_crtc.c | 9 ++++++--- + drivers/gpu/drm/i915/display/intel_vblank.c | 6 ++++-- + 2 files changed, 10 insertions(+), 5 deletions(-) --- a/drivers/gpu/drm/i915/display/intel_crtc.c +++ b/drivers/gpu/drm/i915/display/intel_crtc.c -@@ -580,7 +580,8 @@ void intel_pipe_update_start(struct inte +@@ -512,7 +512,8 @@ void intel_pipe_update_start(struct inte */ intel_psr_wait_for_idle_locked(new_crtc_state); @@ -45,25 +46,9 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> + if (!IS_ENABLED(CONFIG_PREEMPT_RT)) + local_irq_disable(); - crtc->debug.min_vbl = min; - crtc->debug.max_vbl = max; -@@ -605,11 +606,13 @@ void intel_pipe_update_start(struct inte - break; - } - -- local_irq_enable(); -+ if (!IS_ENABLED(CONFIG_PREEMPT_RT)) -+ local_irq_enable(); - - timeout = schedule_timeout(timeout); - -- local_irq_disable(); -+ if (!IS_ENABLED(CONFIG_PREEMPT_RT)) -+ local_irq_disable(); - } - - finish_wait(wq, &wait); -@@ -642,7 +645,8 @@ void intel_pipe_update_start(struct inte + crtc->debug.min_vbl = evade.min; + crtc->debug.max_vbl = evade.max; +@@ -530,7 +531,8 @@ void intel_pipe_update_start(struct inte return; irq_disable: @@ -73,7 +58,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> } #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) -@@ -744,7 +748,8 @@ void intel_pipe_update_end(struct intel_ +@@ -632,7 +634,8 @@ void intel_pipe_update_end(struct intel_ */ intel_vrr_send_push(new_crtc_state); @@ -83,3 +68,21 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> if (intel_vgpu_active(dev_priv)) goto out; +--- a/drivers/gpu/drm/i915/display/intel_vblank.c ++++ b/drivers/gpu/drm/i915/display/intel_vblank.c +@@ -700,11 +700,13 @@ int intel_vblank_evade(struct intel_vbla + break; + } + +- local_irq_enable(); ++ if (!IS_ENABLED(CONFIG_PREEMPT_RT)) ++ local_irq_enable(); + + timeout = schedule_timeout(timeout); + +- local_irq_disable(); ++ if (!IS_ENABLED(CONFIG_PREEMPT_RT)) ++ local_irq_disable(); + } + + finish_wait(wq, &wait); |