Commit af6c4575 authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter

drm/i915: Double the cursor self-refresh latency on Valleyview

It operates at twice the declared latency, so double the latency value
used for the cursor watermark calculation.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50248Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
CC: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent c43d0188
...@@ -1286,6 +1286,7 @@ static void valleyview_update_wm(struct drm_device *dev) ...@@ -1286,6 +1286,7 @@ static void valleyview_update_wm(struct drm_device *dev)
struct drm_i915_private *dev_priv = dev->dev_private; struct drm_i915_private *dev_priv = dev->dev_private;
int planea_wm, planeb_wm, cursora_wm, cursorb_wm; int planea_wm, planeb_wm, cursora_wm, cursorb_wm;
int plane_sr, cursor_sr; int plane_sr, cursor_sr;
int ignore_plane_sr, ignore_cursor_sr;
unsigned int enabled = 0; unsigned int enabled = 0;
vlv_update_drain_latency(dev); vlv_update_drain_latency(dev);
...@@ -1308,7 +1309,12 @@ static void valleyview_update_wm(struct drm_device *dev) ...@@ -1308,7 +1309,12 @@ static void valleyview_update_wm(struct drm_device *dev)
sr_latency_ns, sr_latency_ns,
&valleyview_wm_info, &valleyview_wm_info,
&valleyview_cursor_wm_info, &valleyview_cursor_wm_info,
&plane_sr, &cursor_sr)) &plane_sr, &ignore_cursor_sr) &&
g4x_compute_srwm(dev, ffs(enabled) - 1,
2*sr_latency_ns,
&valleyview_wm_info,
&valleyview_cursor_wm_info,
&ignore_plane_sr, &cursor_sr))
I915_WRITE(FW_BLC_SELF_VLV, FW_CSPWRDWNEN); I915_WRITE(FW_BLC_SELF_VLV, FW_CSPWRDWNEN);
else else
I915_WRITE(FW_BLC_SELF_VLV, I915_WRITE(FW_BLC_SELF_VLV,
......
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