No CI run yet, might be 'from' is broken due to a bug in patchwork, will requeue if replying to 00/30 fixes it.
On 6/24/26 20:04, Maarten Lankhorst wrote: > Still waiting for feedback on the vblank approach, and check to see if there > are some > bugs left. > > Changes since previous version: > - Hopefully finally fix all i915 pmu bugs. > > For Xe, we also prohibit the use of DSM when CONFIG_PREEMPT_RT is enabled, > and avoid the use of DSM if we cannot take over the framebuffer from the > firmware. > > Ideally we copy the framebuffer after intel_fbdev_init_bios(), > when we decide to preserve the framebuffer and the hardware is > completely initialized. > > At that point we can use the migration engine to copy the contents over, > this can potentially be used for preserving the initial framebuffer > in the other cases where we cannot not use the initial FB too. > > Maarten Lankhorst (24): > drm/vblank_work: Add methods to schedule vblank_work in 2 stages > drm/vblank: Add a 2-stage version of drm_crtc_arm_vblank_event > drm/intel/display: Make intel_crtc_arm_vblank_event static > drm/intel/display: Convert vblank event handling to 2-stage arming > drm/i915/display: Move vblank put until after critical section > drm/i915/display: Remove locking from intel_vblank_evade critical > section > drm/i915/display: Handle vlv dsi workaround in scanline_in_safe_range > too > drm/i915/display: Make get_vblank_counter use intel_de_read_fw() > drm/i915/display: Do not take uncore lock in i915_get_vblank_counter > drm/i915/display: Make icl_dsi_frame_update use _fw too > drm/i915/display: Use intel_de_read/write_fw in colorops > drm/i915/display: Use intel_de_write_fw in intel_pipe_fastset > drm/i915/display: Make set_pipeconf use the fw variants > drm/i915/gt: Fix selftests on PREEMPT_RT > drm/i915/gt: Set stop_timeout() correctly on PREEMPT-RT > drm/i915/display: Remove uncore lock from vlv_atomic_update_fifo > drm/i915: Use sleeping selftests for igt_atomic on PREEMPT_RT > PREEMPT_RT injection > FOR-CI: bump MAX_STACK_TRACE_ENTRIES > drm/xe: Avoid using stolen memory for DPT. > drm/xe/display: Avoid using stolen memory for framebuffer when media > gt exists. > drm/xe/display: Do not allocate into stolen for new framebuffers. > drm/i915/pmu: Convert to raw spinlock > drm/i915: Disable "busy" pmu event on CONFIG_PREEMPT_RT > > Mike Galbraith (1): > drm/i915: Use preempt_disable/enable_rt() where recommended > > Sebastian Andrzej Siewior (5): > drm/i915/gt: Use spin_lock_irq() instead of local_irq_disable() + > spin_lock() > drm/i915: Drop the irqs_disabled() check > drm/i915/guc: Consider also RCU depth in busy loop. > Revert "drm/i915: Depend on !PREEMPT_RT." > drm/i915/gt: Add a spinlock to prevent starvation of irq_work. > > drivers/gpu/drm/drm_vblank.c | 64 +++++++++- > drivers/gpu/drm/drm_vblank_work.c | 110 +++++++++++++---- > drivers/gpu/drm/i915/Kconfig | 1 - > drivers/gpu/drm/i915/display/i9xx_wm.c | 4 - > drivers/gpu/drm/i915/display/icl_dsi.c | 4 +- > drivers/gpu/drm/i915/display/intel_cmtg.c | 6 +- > drivers/gpu/drm/i915/display/intel_color.c | 6 +- > drivers/gpu/drm/i915/display/intel_crtc.c | 86 ++++++------- > drivers/gpu/drm/i915/display/intel_crtc.h | 1 - > drivers/gpu/drm/i915/display/intel_cursor.c | 8 +- > drivers/gpu/drm/i915/display/intel_de.h | 8 ++ > drivers/gpu/drm/i915/display/intel_display.c | 52 ++++---- > drivers/gpu/drm/i915/display/intel_vblank.c | 115 ++++++++++-------- > drivers/gpu/drm/i915/display/intel_vblank.h | 1 + > drivers/gpu/drm/i915/display/intel_vrr.c | 18 +-- > drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 8 +- > .../gpu/drm/i915/gt/intel_breadcrumbs_types.h | 1 + > drivers/gpu/drm/i915/gt/intel_engine_cs.c | 2 +- > .../drm/i915/gt/intel_execlists_submission.c | 17 +-- > drivers/gpu/drm/i915/gt/selftest_engine_pm.c | 8 +- > drivers/gpu/drm/i915/gt/uc/intel_guc.h | 2 +- > drivers/gpu/drm/i915/i915_pmu.c | 26 ++-- > drivers/gpu/drm/i915/i915_pmu.h | 2 +- > drivers/gpu/drm/i915/i915_request.c | 2 - > drivers/gpu/drm/i915/intel_uncore.h | 26 ++-- > drivers/gpu/drm/i915/selftests/igt_atomic.c | 7 ++ > .../drm/xe/compat-i915-headers/intel_uncore.h | 7 ++ > drivers/gpu/drm/xe/display/xe_display_bo.c | 40 ++---- > drivers/gpu/drm/xe/display/xe_fb_pin.c | 33 ++--- > include/drm/drm_vblank.h | 14 ++- > include/drm/drm_vblank_work.h | 12 ++ > kernel/Kconfig.preempt | 4 +- > lib/Kconfig.debug | 5 +- > 33 files changed, 435 insertions(+), 265 deletions(-) >
