Commit eaa591ec authored by Paulo Zanoni's avatar Paulo Zanoni Committed by Daniel Vetter

drm/i915: fix haswell linetime watermarks calculation

Move the "*8"  calculation to the left side so we don't propagate
rounding errors. Also use DIV_ROUND_CLOSEST because that's what the
spec says we need to do.
Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 73669373
...@@ -2093,7 +2093,7 @@ haswell_update_linetime_wm(struct drm_device *dev, struct drm_crtc *crtc) ...@@ -2093,7 +2093,7 @@ haswell_update_linetime_wm(struct drm_device *dev, struct drm_crtc *crtc)
* row at the given clock rate, multiplied by 8. * row at the given clock rate, multiplied by 8.
* */ * */
temp |= PIPE_WM_LINETIME_TIME( temp |= PIPE_WM_LINETIME_TIME(
((mode->htotal * 1000) / mode->clock) * 8); DIV_ROUND_CLOSEST(mode->htotal * 1000 * 8, mode->clock));
/* IPS watermarks are only used by pipe A, and are ignored by /* IPS watermarks are only used by pipe A, and are ignored by
* pipes B and C. They are calculated similarly to the common * pipes B and C. They are calculated similarly to the common
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment