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

[ Upstream commit 1be4d3793d5a93daddcd9be657c429b38ad750a3 ]

The watermark should never exceed the FIFO size, so we need to
check against the current FIFO size instead of the theoretical
maximum when we clamp the level 0 watermark.

Signed-off-by: Ville Syrjälä <[email protected]>
Link: 
http://patchwork.freedesktop.org/patch/msgid/[email protected]
Reviewed-by: Maarten Lankhorst <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
 drivers/gpu/drm/i915/intel_pm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index ad5649259e6a..12bc608833cf 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -1129,13 +1129,13 @@ static void vlv_compute_wm(struct intel_crtc *crtc)
                /* normal watermarks */
                for (level = 0; level < wm_state->num_levels; level++) {
                        int wm = vlv_compute_wm_level(plane, crtc, state, 
level);
-                       int max_wm = plane->base.type == DRM_PLANE_TYPE_CURSOR 
? 63 : 511;
+                       int max_wm = plane->wm.fifo_size;
 
                        /* hack */
                        if (WARN_ON(level == 0 && wm > max_wm))
                                wm = max_wm;
 
-                       if (wm > plane->wm.fifo_size)
+                       if (wm > max_wm)
                                break;
 
                        switch (plane->base.type) {
-- 
2.11.0

Reply via email to