Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1be4d379 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: Fix the level 0 max_wm hack on VLV/CHV



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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1480354637-14209-4-git-send-email-ville.syrjala@linux.intel.com


Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
parent ddd2b792
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1132,13 +1132,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) {