diff options
| author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2012-10-25 12:15:42 -0700 | 
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-11-11 23:51:34 +0100 | 
| commit | 8ab4397640de51f4a93845b09270ad717244ccb3 (patch) | |
| tree | 4af382965854bc22ddd8cacbebf72a5f4da3a7c8 /drivers/gpu/drm/i915/intel_pm.c | |
| parent | d0cf5eadc0182806f8790369d03d93eef748a363 (diff) | |
| download | olio-linux-3.10-8ab4397640de51f4a93845b09270ad717244ccb3.tar.xz olio-linux-3.10-8ab4397640de51f4a93845b09270ad717244ccb3.zip  | |
drm/i915: implement WaDisableDopClockGatingisable on VLV and IVB
v2: use correct register
v3: remove extra hunks, pull in register definitions & offset check directly
v4: add GT1 vs GT2 distinction for IVB portion (Ben)
References: https://bugs.freedesktop.org/show_bug.cgi?id=50233
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Antti Koskipää <antti.koskipaa@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 13 | 
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index a9e2c546de9..aef23641fbc 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -3600,7 +3600,14 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)  	I915_WRITE(GEN7_L3CNTLREG1,  			GEN7_WA_FOR_GEN7_L3_CONTROL);  	I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER, -			GEN7_WA_L3_CHICKEN_MODE); +		   GEN7_WA_L3_CHICKEN_MODE); +	if (IS_IVB_GT1(dev)) +		I915_WRITE(GEN7_ROW_CHICKEN2, +			   _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE)); +	else +		I915_WRITE(GEN7_ROW_CHICKEN2_GT2, +			   _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE)); +  	/* WaForceL3Serialization */  	I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) & @@ -3684,6 +3691,10 @@ static void valleyview_init_clock_gating(struct drm_device *dev)  	I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) &  		   ~L3SQ_URB_READ_CAM_MATCH_DISABLE); +	/* WaDisableDopClockGating */ +	I915_WRITE(GEN7_ROW_CHICKEN2, +		   _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE)); +  	/* This is required by WaCatErrorRejectionIssue */  	I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG,  		   I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) |  |