diff options
author | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2014-09-19 20:16:27 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-09-30 03:20:36 -0400 |
commit | da09654d777c361006f6ea3452f8de4a374d5783 (patch) | |
tree | aa157bbbb26a0bd1402a658aad1d460e490de797 | |
parent | a0fcbd95354e5ac2400be74077cc668c91429ea7 (diff) |
drm/i915/bdw: WaDisableFenceDestinationToSLM
This WA affect BDW GT3 pre-production steppings.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
[danvet: Don't mention steppings ...]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index ad8179b40d19..124ea60c1386 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -4836,6 +4836,7 @@ enum punit_power_well { | |||
4836 | /* GEN8 chicken */ | 4836 | /* GEN8 chicken */ |
4837 | #define HDC_CHICKEN0 0x7300 | 4837 | #define HDC_CHICKEN0 0x7300 |
4838 | #define HDC_FORCE_NON_COHERENT (1<<4) | 4838 | #define HDC_FORCE_NON_COHERENT (1<<4) |
4839 | #define HDC_FENCE_DEST_SLM_DISABLE (1<<14) | ||
4839 | 4840 | ||
4840 | /* WaCatErrorRejectionIssue */ | 4841 | /* WaCatErrorRejectionIssue */ |
4841 | #define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG 0x9030 | 4842 | #define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG 0x9030 |
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 620a89dc868b..c21aaad55982 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
@@ -740,8 +740,12 @@ static int bdw_init_workarounds(struct intel_engine_cs *ring) | |||
740 | * workaround for for a possible hang in the unlikely event a TLB | 740 | * workaround for for a possible hang in the unlikely event a TLB |
741 | * invalidation occurs during a PSD flush. | 741 | * invalidation occurs during a PSD flush. |
742 | */ | 742 | */ |
743 | /* WaDisableFenceDestinationToSLM:bdw (GT3 pre-production) */ | ||
743 | intel_ring_emit_wa(ring, HDC_CHICKEN0, | 744 | intel_ring_emit_wa(ring, HDC_CHICKEN0, |
744 | _MASKED_BIT_ENABLE(HDC_FORCE_NON_COHERENT)); | 745 | _MASKED_BIT_ENABLE(HDC_FORCE_NON_COHERENT | |
746 | (IS_BDW_GT3(dev) ? | ||
747 | HDC_FENCE_DEST_SLM_DISABLE : 0) | ||
748 | )); | ||
745 | 749 | ||
746 | /* Wa4x4STCOptimizationDisable:bdw */ | 750 | /* Wa4x4STCOptimizationDisable:bdw */ |
747 | intel_ring_emit_wa(ring, CACHE_MODE_1, | 751 | intel_ring_emit_wa(ring, CACHE_MODE_1, |