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

Feels more sensible to check the original unmangled watermarks
against the allocated DDB size first, and only then do
skl_wm_check_vblank() on whatever is left.

Reviewed-by: Luca Coelho <[email protected]>
Signed-off-by: Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c 
b/drivers/gpu/drm/i915/display/skl_watermark.c
index 256162da9afc..764770fab7e7 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -2346,7 +2346,7 @@ static int skl_build_pipe_wm(struct intel_atomic_state 
*state,
 
        crtc_state->wm.skl.optimal = crtc_state->wm.skl.raw;
 
-       return skl_wm_check_vblank(crtc_state);
+       return 0;
 }
 
 static bool skl_wm_level_equals(const struct skl_wm_level *l1,
@@ -2923,6 +2923,10 @@ skl_compute_wm(struct intel_atomic_state *state)
        for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
                struct skl_pipe_wm *pipe_wm = &new_crtc_state->wm.skl.optimal;
 
+               ret = skl_wm_check_vblank(new_crtc_state);
+               if (ret)
+                       return ret;
+
                /*
                 * We store use_sagv_wm in the crtc state rather than relying on
                 * that bw state since we have no convenient way to get at the
-- 
2.49.1

Reply via email to