diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2015-02-09 14:33:13 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-02-13 17:28:38 -0500 |
commit | 77719d28aeed5cad45b61d66b198b2575a5bf4cc (patch) | |
tree | 514f6fd158a0d1ac2ea5223d2352c9d8d243e7c2 | |
parent | 183c6daceb7efa512ba93efd95766c59f175bbcf (diff) |
drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement
This W/A is put in a gen9 specific function because it may well be
needed on other gen9 platforms.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 0b522d3f529d..1dc91de7d2e6 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -5285,6 +5285,9 @@ enum skl_disp_power_wells { | |||
5285 | #define HSW_SCRATCH1 0xb038 | 5285 | #define HSW_SCRATCH1 0xb038 |
5286 | #define HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE (1<<27) | 5286 | #define HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE (1<<27) |
5287 | 5287 | ||
5288 | #define BDW_SCRATCH1 0xb11c | ||
5289 | #define GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE (1<<2) | ||
5290 | |||
5288 | /* PCH */ | 5291 | /* PCH */ |
5289 | 5292 | ||
5290 | /* south display engine interrupt: IBX */ | 5293 | /* south display engine interrupt: IBX */ |
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 325f640c16c4..f68d12cb0246 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -52,10 +52,21 @@ | |||
52 | #define INTEL_RC6p_ENABLE (1<<1) | 52 | #define INTEL_RC6p_ENABLE (1<<1) |
53 | #define INTEL_RC6pp_ENABLE (1<<2) | 53 | #define INTEL_RC6pp_ENABLE (1<<2) |
54 | 54 | ||
55 | static void gen9_init_clock_gating(struct drm_device *dev) | ||
56 | { | ||
57 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
58 | |||
59 | /* WaEnableLbsSlaRetryTimerDecrement:skl */ | ||
60 | I915_WRITE(BDW_SCRATCH1, I915_READ(BDW_SCRATCH1) | | ||
61 | GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE); | ||
62 | } | ||
63 | |||
55 | static void skl_init_clock_gating(struct drm_device *dev) | 64 | static void skl_init_clock_gating(struct drm_device *dev) |
56 | { | 65 | { |
57 | struct drm_i915_private *dev_priv = dev->dev_private; | 66 | struct drm_i915_private *dev_priv = dev->dev_private; |
58 | 67 | ||
68 | gen9_init_clock_gating(dev); | ||
69 | |||
59 | if (INTEL_REVID(dev) == SKL_REVID_A0) { | 70 | if (INTEL_REVID(dev) == SKL_REVID_A0) { |
60 | /* | 71 | /* |
61 | * WaDisableSDEUnitClockGating:skl | 72 | * WaDisableSDEUnitClockGating:skl |