mirror of https://gitee.com/openkylin/linux.git
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=50248 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> CC: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
c43d0188d7
commit
af6c4575af
|
@ -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)
|
||||||
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,
|
||||||
|
|
Loading…
Reference in New Issue