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 <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c 
b/drivers/gpu/drm/i915/display/intel_psr.c
index 15ef3b6caad6..4ef422d1f35e 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -2749,7 +2749,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;
-- 
2.43.0

Reply via email to