diff options
author | Arun Siluvery <arun.siluvery@linux.intel.com> | 2015-09-25 12:40:45 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-09-30 04:20:33 -0400 |
commit | a340af58730e892ccb507f7a70054f7909b28d49 (patch) | |
tree | f44c4a5f548af5caf6fafa2a4ccfebcc3a87c1f8 /drivers/gpu/drm/i915/intel_ringbuffer.c | |
parent | 7eebcde6e526a53e06d238f6daf788df3c8e7620 (diff) |
drm/i915/gen8: Move WaForceEnableNonCoherent to common init fn
Signed-off-by: Arun Siluvery <arun.siluvery@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 199021c27325..9b42157107e1 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
@@ -814,6 +814,14 @@ static int gen8_init_workarounds(struct intel_engine_cs *ring) | |||
814 | WA_SET_BIT_MASKED(GEN8_ROW_CHICKEN, | 814 | WA_SET_BIT_MASKED(GEN8_ROW_CHICKEN, |
815 | PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE); | 815 | PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE); |
816 | 816 | ||
817 | /* Use Force Non-Coherent whenever executing a 3D context. This is a | ||
818 | * workaround for for a possible hang in the unlikely event a TLB | ||
819 | * invalidation occurs during a PSD flush. | ||
820 | */ | ||
821 | /* WaForceEnableNonCoherent:bdw,chv */ | ||
822 | WA_SET_BIT_MASKED(HDC_CHICKEN0, | ||
823 | HDC_FORCE_NON_COHERENT); | ||
824 | |||
817 | /* From the Haswell PRM, Command Reference: Registers, CACHE_MODE_0: | 825 | /* From the Haswell PRM, Command Reference: Registers, CACHE_MODE_0: |
818 | * "The Hierarchical Z RAW Stall Optimization allows non-overlapping | 826 | * "The Hierarchical Z RAW Stall Optimization allows non-overlapping |
819 | * polygons in the same 8x4 pixel/sample area to be processed without | 827 | * polygons in the same 8x4 pixel/sample area to be processed without |
@@ -862,13 +870,7 @@ static int bdw_init_workarounds(struct intel_engine_cs *ring) | |||
862 | WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3, | 870 | WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3, |
863 | GEN8_SAMPLER_POWER_BYPASS_DIS); | 871 | GEN8_SAMPLER_POWER_BYPASS_DIS); |
864 | 872 | ||
865 | /* Use Force Non-Coherent whenever executing a 3D context. This is a | ||
866 | * workaround for for a possible hang in the unlikely event a TLB | ||
867 | * invalidation occurs during a PSD flush. | ||
868 | */ | ||
869 | WA_SET_BIT_MASKED(HDC_CHICKEN0, | 873 | WA_SET_BIT_MASKED(HDC_CHICKEN0, |
870 | /* WaForceEnableNonCoherent:bdw */ | ||
871 | HDC_FORCE_NON_COHERENT | | ||
872 | /* WaForceContextSaveRestoreNonCoherent:bdw */ | 874 | /* WaForceContextSaveRestoreNonCoherent:bdw */ |
873 | HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT | | 875 | HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT | |
874 | /* WaHdcDisableFetchWhenMasked:bdw */ | 876 | /* WaHdcDisableFetchWhenMasked:bdw */ |
@@ -892,14 +894,8 @@ static int chv_init_workarounds(struct intel_engine_cs *ring) | |||
892 | /* WaDisableThreadStallDopClockGating:chv */ | 894 | /* WaDisableThreadStallDopClockGating:chv */ |
893 | WA_SET_BIT_MASKED(GEN8_ROW_CHICKEN, STALL_DOP_GATING_DISABLE); | 895 | WA_SET_BIT_MASKED(GEN8_ROW_CHICKEN, STALL_DOP_GATING_DISABLE); |
894 | 896 | ||
895 | /* Use Force Non-Coherent whenever executing a 3D context. This is a | ||
896 | * workaround for a possible hang in the unlikely event a TLB | ||
897 | * invalidation occurs during a PSD flush. | ||
898 | */ | ||
899 | /* WaForceEnableNonCoherent:chv */ | ||
900 | /* WaHdcDisableFetchWhenMasked:chv */ | 897 | /* WaHdcDisableFetchWhenMasked:chv */ |
901 | WA_SET_BIT_MASKED(HDC_CHICKEN0, | 898 | WA_SET_BIT_MASKED(HDC_CHICKEN0, |
902 | HDC_FORCE_NON_COHERENT | | ||
903 | HDC_DONOT_FETCH_MEM_WHEN_MASKED); | 899 | HDC_DONOT_FETCH_MEM_WHEN_MASKED); |
904 | 900 | ||
905 | /* Improve HiZ throughput on CHV. */ | 901 | /* Improve HiZ throughput on CHV. */ |