diff options
| author | Damien Lespiau <damien.lespiau@intel.com> | 2014-03-26 14:41:51 -0400 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-28 13:33:13 -0400 |
| commit | 5d708680eac2a8e2a0981007278a759df738d15b (patch) | |
| tree | 9436cada8da7fe91a805fd7d6bd6b4b0864ffa57 /drivers/gpu | |
| parent | e568af1c626031925465a5caaab7cca1303d55c7 (diff) | |
drm/i915/bdw: Implement Wa4x4STCOptimizationDisable:bdw
Not implementing this W/A can lead to hangs.
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Cc: Rafael Barbalho <rafael.barbalho@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 4 |
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 74f7d853eb58..d90dc20077e3 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
| @@ -973,7 +973,8 @@ enum punit_power_well { | |||
| 973 | #define CACHE_MODE_0_GEN7 0x7000 /* IVB+ */ | 973 | #define CACHE_MODE_0_GEN7 0x7000 /* IVB+ */ |
| 974 | #define HIZ_RAW_STALL_OPT_DISABLE (1<<2) | 974 | #define HIZ_RAW_STALL_OPT_DISABLE (1<<2) |
| 975 | #define CACHE_MODE_1 0x7004 /* IVB+ */ | 975 | #define CACHE_MODE_1 0x7004 /* IVB+ */ |
| 976 | #define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6) | 976 | #define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6) |
| 977 | #define GEN8_4x4_STC_OPTIMIZATION_DISABLE (1<<6) | ||
| 977 | 978 | ||
| 978 | #define GEN6_BLITTER_ECOSKPD 0x221d0 | 979 | #define GEN6_BLITTER_ECOSKPD 0x221d0 |
| 979 | #define GEN6_BLITTER_LOCK_SHIFT 16 | 980 | #define GEN6_BLITTER_LOCK_SHIFT 16 |
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index c1e2d75f4c40..b66a43b90d1b 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
| @@ -4882,6 +4882,10 @@ static void gen8_init_clock_gating(struct drm_device *dev) | |||
| 4882 | /* WaDisableSDEUnitClockGating:bdw */ | 4882 | /* WaDisableSDEUnitClockGating:bdw */ |
| 4883 | I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) | | 4883 | I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) | |
| 4884 | GEN8_SDEUNIT_CLOCK_GATE_DISABLE); | 4884 | GEN8_SDEUNIT_CLOCK_GATE_DISABLE); |
| 4885 | |||
| 4886 | /* Wa4x4STCOptimizationDisable:bdw */ | ||
| 4887 | I915_WRITE(CACHE_MODE_1, | ||
| 4888 | _MASKED_BIT_ENABLE(GEN8_4x4_STC_OPTIMIZATION_DISABLE)); | ||
| 4885 | } | 4889 | } |
| 4886 | 4890 | ||
| 4887 | static void haswell_init_clock_gating(struct drm_device *dev) | 4891 | static void haswell_init_clock_gating(struct drm_device *dev) |
