aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-11 14:42:38 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-17 05:19:52 -0400
commitde4a8bd16205283e9cb746e8fbfa7f9735c039b5 (patch)
tree4c9f0ba6aec0d92a81f5032c1d49917de5081e87 /drivers
parent767878908e7cc28c440c5431f6591157d8bd4ae7 (diff)
drm/i915: implement a media hang w/a
Contrary to the other clock gating w/a in GEN6_UCGCTL1, this one is actually documented in Bspec, vol1g "GT Interface Registers [SNB]", Section 1.5.1 "UCGCTL1 - Unit Level Clock Gating Control 1". Supposedly this can prevent hangs on the media ring. Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h1
-rw-r--r--drivers/gpu/drm/i915/intel_display.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 3f7fc4629363..1124e4f594f5 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -3893,6 +3893,7 @@
3893 3893
3894#define GEN6_UCGCTL1 0x9400 3894#define GEN6_UCGCTL1 0x9400
3895# define GEN6_BLBUNIT_CLOCK_GATE_DISABLE (1 << 5) 3895# define GEN6_BLBUNIT_CLOCK_GATE_DISABLE (1 << 5)
3896# define GEN6_CSUNIT_CLOCK_GATE_DISABLE (1 << 7)
3896 3897
3897#define GEN6_UCGCTL2 0x9404 3898#define GEN6_UCGCTL2 0x9404
3898# define GEN6_RCZUNIT_CLOCK_GATE_DISABLE (1 << 13) 3899# define GEN6_RCZUNIT_CLOCK_GATE_DISABLE (1 << 13)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 2d0dc27323c1..813cc3cda059 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8880,7 +8880,8 @@ static void gen6_init_clock_gating(struct drm_device *dev)
8880 8880
8881 I915_WRITE(GEN6_UCGCTL1, 8881 I915_WRITE(GEN6_UCGCTL1,
8882 I915_READ(GEN6_UCGCTL1) | 8882 I915_READ(GEN6_UCGCTL1) |
8883 GEN6_BLBUNIT_CLOCK_GATE_DISABLE); 8883 GEN6_BLBUNIT_CLOCK_GATE_DISABLE |
8884 GEN6_CSUNIT_CLOCK_GATE_DISABLE);
8884 8885
8885 /* According to the BSpec vol1g, bit 12 (RCPBUNIT) clock 8886 /* According to the BSpec vol1g, bit 12 (RCPBUNIT) clock
8886 * gating disable must be set. Failure to set it results in 8887 * gating disable must be set. Failure to set it results in