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
