OSDN Git Service

drm/i915/kbl: IPC workaround for kabylake
authorMahesh Kumar <mahesh1.kumar@intel.com>
Thu, 1 Dec 2016 15:49:35 +0000 (21:19 +0530)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Wed, 7 Dec 2016 18:30:34 +0000 (16:30 -0200)
Display Workarounds #1141
IPC (Isoch Priority Control) may cause underflows.

KBL WA: When IPC is enabled, watermark latency values must be increased
by 4us across all levels. This brings level 0 up to 6us.

Changes since V1:
 - Add Workaround number in commit & code
Changes since V2 (from Paulo):
 - Bikeshed the WA tag so it looks like the others

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161201154940.24446-4-mahesh1.kumar@intel.com
drivers/gpu/drm/i915/intel_pm.c

index 9ea3eee..315a1b3 100644 (file)
@@ -3596,6 +3596,10 @@ static int skl_compute_plane_wm(const struct drm_i915_private *dev_priv,
                  fb->modifier == I915_FORMAT_MOD_Yf_TILED;
        x_tiled = fb->modifier == I915_FORMAT_MOD_X_TILED;
 
+       /* Display WA #1141: kbl. */
+       if (IS_KABYLAKE(dev_priv) && dev_priv->ipc_enabled)
+               latency += 4;
+
        if (apply_memory_bw_wa && x_tiled)
                latency += 15;