From: Maarten Lankhorst <dev@lankhorst.se>
To: intel-xe@lists.freedesktop.org
Cc: Maarten Lankhorst <dev@lankhorst.se>,
Mario Kleiner <mario.kleiner.de@gmail.com>,
Mike Galbraith <umgwanakikbuti@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Subject: [PATCH 0/7] drm/i915/display: Enable CONFIG_PREEMPT_RT
Date: Mon, 3 Nov 2025 18:47:03 +0100 [thread overview]
Message-ID: <20251103174718.139798-1-dev@lankhorst.se> (raw)
There is a critical section between intel_pipe_update_start() and
intel_pipe_update_end() where we only program hardware registers,
should not take any lock and complete as fast as possible.
The previous approach used to remove the local_irq_enable/disable()
in this critical, but that increases the probability that the time
sensitive section does not complete in 100 µs, potentially causing
the hardware to hang.
I went through all the lockdep splats that occured in CI, and fixed
them 1 by 1 until there were none left. This additionally improves
latency by not removing any locks in the fastpath.
On Xe the implicit DMC wakelock was added, ideally we can get rid
of it, but for now we can simply use the same _fw variants as are
needed on i915.
I believe this series is enough to make xe RT safe.
Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Maarten Lankhorst (6):
drm/i915/display: Make get_vblank_counter use intel_de_read_fw()
drm/i915/display: Use intel_de_write_fw in intel_pipe_fastset
drm/i915/display: Move vblank put until after critical section
drm/i915/display: Remove locking from intel_vblank_evade critical
section
drm/i915/display: Make icl_dsi_frame_update use _fw too
drm/i915/display: Enable interrupts earlier on PREEMPT_RT
Mike Galbraith (1):
drm/i915: Use preempt_disable/enable_rt() where recommended
drivers/gpu/drm/i915/display/icl_dsi.c | 4 +-
drivers/gpu/drm/i915/display/intel_crtc.c | 10 +++
drivers/gpu/drm/i915/display/intel_cursor.c | 8 +-
drivers/gpu/drm/i915/display/intel_de.h | 6 ++
drivers/gpu/drm/i915/display/intel_display.c | 36 ++++-----
drivers/gpu/drm/i915/display/intel_vblank.c | 80 ++++++++++++-------
drivers/gpu/drm/i915/display/intel_vrr.c | 16 ++--
.../drm/xe/compat-i915-headers/intel_uncore.h | 2 +
8 files changed, 103 insertions(+), 59 deletions(-)
--
2.51.0
next reply other threads:[~2025-11-03 17:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-03 17:47 Maarten Lankhorst [this message]
2025-11-03 17:47 ` [PATCH 1/7] drm/i915/display: Make get_vblank_counter use intel_de_read_fw() Maarten Lankhorst
2025-11-26 19:01 ` Shankar, Uma
2025-11-03 17:47 ` [PATCH 2/7] drm/i915/display: Use intel_de_write_fw in intel_pipe_fastset Maarten Lankhorst
2025-11-03 17:47 ` [PATCH 3/7] drm/i915/display: Move vblank put until after critical section Maarten Lankhorst
2025-11-03 17:47 ` [PATCH 4/7] drm/i915/display: Remove locking from intel_vblank_evade " Maarten Lankhorst
2025-11-03 17:47 ` [PATCH 5/7] drm/i915/display: Make icl_dsi_frame_update use _fw too Maarten Lankhorst
2025-11-03 17:47 ` [PATCH 6/7] drm/i915/display: Enable interrupts earlier on PREEMPT_RT Maarten Lankhorst
2025-11-03 17:47 ` [PATCH 7/7] drm/i915: Use preempt_disable/enable_rt() where recommended Maarten Lankhorst
2025-11-03 21:17 ` ✗ CI.checkpatch: warning for drm/i915/display: Enable CONFIG_PREEMPT_RT Patchwork
2025-11-03 21:18 ` ✓ CI.KUnit: success " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251103174718.139798-1-dev@lankhorst.se \
--to=dev@lankhorst.se \
--cc=bigeasy@linutronix.de \
--cc=intel-xe@lists.freedesktop.org \
--cc=mario.kleiner.de@gmail.com \
--cc=tglx@linutronix.de \
--cc=umgwanakikbuti@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox