]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915: Prepare clear color before wait_for_dependencies()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 30 Sep 2024 17:04:04 +0000 (20:04 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 3 Oct 2024 21:32:55 +0000 (00:32 +0300)
Read out the clear color as soon as fences and the transient
data flush have finished. There is no need to wait for
all the display specific operations that might still be
going on. This could parallelize things a bit more effectively.

Reviewed-by: Animesh Manna <animesh.manna@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240930170415.23841-3-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_display.c

index 74311bb9d2908b99484a2557393e349360d6de06..ed2a0298646b71f92cd7d47e3a9845946cc36045 100644 (file)
@@ -7596,6 +7596,8 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
 
        intel_td_flush(dev_priv);
 
+       intel_atomic_prepare_plane_clear_colors(state);
+
        drm_atomic_helper_wait_for_dependencies(&state->base);
        drm_dp_mst_atomic_wait_for_dependencies(&state->base);
        intel_atomic_global_state_wait_for_dependencies(state);
@@ -7629,8 +7631,6 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
         */
        wakeref = intel_display_power_get(dev_priv, POWER_DOMAIN_DC_OFF);
 
-       intel_atomic_prepare_plane_clear_colors(state);
-
        for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
                                            new_crtc_state, i) {
                if (intel_crtc_needs_modeset(new_crtc_state) ||