Skip to content

Commit

Permalink
drm/i915: Fix the level 0 max_wm hack on VLV/CHV
Browse files Browse the repository at this point in the history
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ä <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: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  • Loading branch information
Ville Syrjälä committed Dec 5, 2016
1 parent ddd2b79 commit 1be4d37
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/i915/intel_pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit 1be4d37

Please sign in to comment.