drm/i915: Really calculate the cursor ddb based on the highest enabled wm level
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 21 Mar 2019 17:51:28 +0000 (19:51 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 22 Mar 2019 16:41:38 +0000 (18:41 +0200)
I added the loop but neglected to actually pass the level to the
function. So we were just looping 8 times calculating the exact
same thing every time.

Fixes: df331de3f8aa ("drm/i915: Allocate enough DDB for the cursor")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190321175128.32178-1-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/intel_pm.c

index fcd3baff8b65c9ae7d85efc383348b5e48d8a886..eaf0793ebf6078f3dd6edc1c716ad335051a348f 100644 (file)
@@ -3953,7 +3953,7 @@ skl_cursor_allocation(const struct intel_crtc_state *crtc_state,
        WARN_ON(ret);
 
        for (level = 0; level <= max_level; level++) {
-               skl_compute_plane_wm(crtc_state, 7, &wp, &wm, &wm);
+               skl_compute_plane_wm(crtc_state, level, &wp, &wm, &wm);
                if (wm.min_ddb_alloc == U16_MAX)
                        break;