Git commit 35ed38d58257 ("drm: Allow drivers to indicate the damage
helpers to ignore damage clips") introduced ignore_damage_clips to
selectively ignore damage clipping in certain framebuffer changes. The
mode-setting pipeline can disabled damage clippings for an atomic commit
by setting ignore_damage_clips in struct drm_plane_state. The atomic
commit will then do a full display update.Although the i915 driver does not modify the flag, DRM's damage iterator will soon rely on it. Calling drm_atomic_helper_check_plane_damage() right before drm_atomic_helper_damage_merged() guarantees that it has the correct state. The i915 driver does not do this elsewhere so far. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> --- Taken with minor updates to the commit description from the series at https://lore.kernel.org/dri-devel/[email protected]/ --- drivers/gpu/drm/i915/display/intel_psr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index 92af21d823a3..5a155f60110f 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -2949,6 +2949,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, src = drm_plane_state_src(&new_plane_state->uapi); drm_rect_fp_to_int(&src, &src); + /* Prepare plane-damage state before using it */ + drm_atomic_helper_check_plane_damage(&state->base, &new_plane_state->uapi); + if (!drm_atomic_helper_damage_merged(&old_plane_state->uapi, &new_plane_state->uapi, &damaged_area)) continue; -- 2.54.0
