diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-12-11 07:01:43 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-12-17 06:37:35 -0500 |
commit | af6c4575afada1a9c411e42439b5d40908865b11 (patch) | |
tree | ea797a979233723ff960231843a32b8aa23760bc /drivers | |
parent | c43d0188d7be6e45eb52a27ed9df714ca2e04e0a (diff) |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 9f1ee07ec4ae..cdd70e654af5 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -1286,6 +1286,7 @@ static void valleyview_update_wm(struct drm_device *dev) | |||
1286 | struct drm_i915_private *dev_priv = dev->dev_private; | 1286 | struct drm_i915_private *dev_priv = dev->dev_private; |
1287 | int planea_wm, planeb_wm, cursora_wm, cursorb_wm; | 1287 | int planea_wm, planeb_wm, cursora_wm, cursorb_wm; |
1288 | int plane_sr, cursor_sr; | 1288 | int plane_sr, cursor_sr; |
1289 | int ignore_plane_sr, ignore_cursor_sr; | ||
1289 | unsigned int enabled = 0; | 1290 | unsigned int enabled = 0; |
1290 | 1291 | ||
1291 | vlv_update_drain_latency(dev); | 1292 | vlv_update_drain_latency(dev); |
@@ -1308,7 +1309,12 @@ static void valleyview_update_wm(struct drm_device *dev) | |||
1308 | sr_latency_ns, | 1309 | sr_latency_ns, |
1309 | &valleyview_wm_info, | 1310 | &valleyview_wm_info, |
1310 | &valleyview_cursor_wm_info, | 1311 | &valleyview_cursor_wm_info, |
1311 | &plane_sr, &cursor_sr)) | 1312 | &plane_sr, &ignore_cursor_sr) && |
1313 | g4x_compute_srwm(dev, ffs(enabled) - 1, | ||
1314 | 2*sr_latency_ns, | ||
1315 | &valleyview_wm_info, | ||
1316 | &valleyview_cursor_wm_info, | ||
1317 | &ignore_plane_sr, &cursor_sr)) | ||
1312 | I915_WRITE(FW_BLC_SELF_VLV, FW_CSPWRDWNEN); | 1318 | I915_WRITE(FW_BLC_SELF_VLV, FW_CSPWRDWNEN); |
1313 | else | 1319 | else |
1314 | I915_WRITE(FW_BLC_SELF_VLV, | 1320 | I915_WRITE(FW_BLC_SELF_VLV, |