]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/psr: Perform full frame update on async flip
authorJouni Högander <jouni.hogander@intel.com>
Thu, 4 Dec 2025 07:07:17 +0000 (09:07 +0200)
committerJouni Högander <jouni.hogander@intel.com>
Wed, 10 Dec 2025 13:04:34 +0000 (15:04 +0200)
According to bspec selective fetch is not supported with async flips and
instructing full frame update on async flip.

v4:
  - check crtc_state->async_flip_planes in
    psr2_sel_fetch_pipe_state_supported
v3:
  - rebase
  - fix old_crtc_state->pipe_srcsz_early_tpt
  - fix using intel_atomic_get_new_crtc_state
v2:
  - check also crtc_state->async_flip_planes in
    psr2_sel_fetch_plane_state_supported

Bspec: 55229
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251204070718.1090778-3-jouni.hogander@intel.com
drivers/gpu/drm/i915/display/intel_psr.c

index 2a378a5adc5996ca0cb6480a61f6ad066675610f..91f4ac86c7ad7dfdee5bb0d91d13bc6c5b076c3a 100644 (file)
@@ -2766,7 +2766,8 @@ static bool psr2_sel_fetch_plane_state_supported(const struct intel_plane_state
  */
 static bool psr2_sel_fetch_pipe_state_supported(const struct intel_crtc_state *crtc_state)
 {
-       if (crtc_state->scaler_state.scaler_id >= 0)
+       if (crtc_state->scaler_state.scaler_id >= 0 ||
+           crtc_state->async_flip_planes)
                return false;
 
        return true;