drm/i915/bxt: add GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ workaround
authorBen Widawsky <benjamin.widawsky@intel.com>
Wed, 11 Mar 2015 08:49:32 +0000 (10:49 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 14 Apr 2015 11:55:22 +0000 (13:55 +0200)
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
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/i915_reg.h
drivers/gpu/drm/i915/intel_pm.c

index 6c1ec72e94c464bda46e7324a75dda4a8095ede7..fc3157999a0848cf9a25a31526183e0064f5abe5 100644 (file)
@@ -6104,6 +6104,7 @@ enum skl_disp_power_wells {
 #define GEN8_UCGCTL6                           0x9430
 #define   GEN8_GAPSUNIT_CLOCK_GATE_DISABLE     (1<<24)
 #define   GEN8_SDEUNIT_CLOCK_GATE_DISABLE      (1<<14)
+#define   GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ (1<<28)
 
 #define GEN6_GFXPAUSE                          0xA000
 #define GEN6_RPNSWREQ                          0xA008
index a3247e83b072040192971bba8416be0afd3be51d..07b3780677c92f6896376671839b618de92e851d 100644 (file)
@@ -103,10 +103,12 @@ static void bxt_init_clock_gating(struct drm_device *dev)
        /*
         * FIXME:
         * GEN8_SDEUNIT_CLOCK_GATE_DISABLE applies on A0 only.
+        * GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ applies on 3x6 GT SKUs only.
         */
         /* WaDisableSDEUnitClockGating:bxt */
        I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) |
-                  GEN8_SDEUNIT_CLOCK_GATE_DISABLE);
+                  GEN8_SDEUNIT_CLOCK_GATE_DISABLE |
+                  GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ);
 
 }