drm/i915/bxt: add GEN8_SDEUNIT_CLOCK_GATE_DISABLE workaround
authorImre Deak <imre.deak@intel.com>
Wed, 11 Mar 2015 09:10:27 +0000 (11:10 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 14 Apr 2015 11:55:21 +0000 (13:55 +0200)
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_pm.c

index 767a3e2ffdd13d6c5588a6f884819f9cf59461d1..a3247e83b072040192971bba8416be0afd3be51d 100644 (file)
@@ -96,7 +96,18 @@ static void skl_init_clock_gating(struct drm_device *dev)
 
 static void bxt_init_clock_gating(struct drm_device *dev)
 {
+       struct drm_i915_private *dev_priv = dev->dev_private;
+
        gen9_init_clock_gating(dev);
+
+       /*
+        * FIXME:
+        * GEN8_SDEUNIT_CLOCK_GATE_DISABLE applies on A0 only.
+        */
+        /* WaDisableSDEUnitClockGating:bxt */
+       I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) |
+                  GEN8_SDEUNIT_CLOCK_GATE_DISABLE);
+
 }
 
 static void i915_pineview_get_mem_freq(struct drm_device *dev)