From: Ville Syrjälä <[email protected]>

Currently we calculate crtc_state->use_dsb by simply assuming
that DSB is available, and then falling back to MMIO when the
actual DSB buffer allocation fails.

This is somewhat confusing, and doesn't match how the flip queue
counterpart (use_flipq) is calculated.  Check whether DSB is
available ahead of time, just like we in the flip queue case.

Signed-off-by: Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_display.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index 9c6d3ecdb589..3081dc8d86da 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7283,6 +7283,7 @@ static void intel_atomic_dsb_prepare(struct 
intel_atomic_state *state,
                !intel_crtc_needs_color_update(new_crtc_state);
 
        new_crtc_state->use_dsb =
+               intel_dsb_supported(display) &&
                !new_crtc_state->use_flipq &&
                !new_crtc_state->do_async_flip &&
                (DISPLAY_VER(display) >= 20 || !new_crtc_state->has_psr) &&
-- 
2.51.2

Reply via email to