summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2025-11-19 21:16:01 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2025-11-28 01:03:33 +0300
commit0aee7d2e32e554ca0969063694568975817494a4 (patch)
tree5643d01daa52de71e3f2ce11f165eab32e075d51 /drivers
parent0a9231590f16f596541154f43375f3e2c419a3ef (diff)
downloadlinux-0aee7d2e32e554ca0969063694568975817494a4.tar.xz
drm/i915: Use the proper (hw.crtc) for the cursor unpin vblank worker
uapi.crtc is NULL for joiner secondary pipes, so using that is nonsense in most places. Switch to hw.crtc so that we use the deferred cursor unpin also on joiner secondary pipes. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/20251119181606.17129-2-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/display/intel_crtc.c4
-rw-r--r--drivers/gpu/drm/i915/display/intel_plane.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index 153ff4b4b52c..2fe645860385 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -552,7 +552,7 @@ void intel_pipe_update_start(struct intel_atomic_state *state,
for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state,
new_plane_state, i) {
- if (old_plane_state->uapi.crtc == &crtc->base)
+ if (old_plane_state->hw.crtc == &crtc->base)
intel_plane_init_cursor_vblank_work(old_plane_state,
new_plane_state);
}
@@ -704,7 +704,7 @@ void intel_pipe_update_end(struct intel_atomic_state *state,
int i;
for_each_old_intel_plane_in_state(state, plane, old_plane_state, i) {
- if (old_plane_state->uapi.crtc == &crtc->base &&
+ if (old_plane_state->hw.crtc == &crtc->base &&
old_plane_state->unpin_work.vblank) {
drm_vblank_work_schedule(&old_plane_state->unpin_work,
drm_crtc_accurate_vblank_count(&crtc->base) + 1,
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index a7fec5ba6ac0..870e6b896be6 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -1408,7 +1408,7 @@ void intel_plane_init_cursor_vblank_work(struct intel_plane_state *old_plane_sta
old_plane_state->ggtt_vma == new_plane_state->ggtt_vma)
return;
- drm_vblank_work_init(&old_plane_state->unpin_work, old_plane_state->uapi.crtc,
+ drm_vblank_work_init(&old_plane_state->unpin_work, old_plane_state->hw.crtc,
intel_cursor_unpin_work);
}