aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@linux.intel.com>2016-06-07 10:19:13 -0400
committerMika Kuoppala <mika.kuoppala@intel.com>2016-07-15 08:51:27 -0400
commit0e51c0bdc0e6503c9c1cf2c41b2f1ae4e9cf9a8b (patch)
treeed67f20bfa8ed3a7ee9c86fc710e066c226168ad
parent0a3e3f047b13c04cd69bdb5a242330566259fa48 (diff)
drm/i915/gen9: Add WaEnableChickenDCPR
Workaround for display underrun issues with Y & Yf Tiling. Set this on all gen9 as stated by bspec. v2: proper workaround name References: HSD#2136383, BSID#857 Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1465309159-30531-22-git-send-email-mika.kuoppala@intel.com (cherry picked from commit 590e8ff04bc0182dce97228e5e352d6413d80456) Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h3
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 349470d0ff1c..87655ac6a39c 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6059,6 +6059,9 @@ enum skl_disp_power_wells {
6059#define HSW_NDE_RSTWRN_OPT _MMIO(0x46408) 6059#define HSW_NDE_RSTWRN_OPT _MMIO(0x46408)
6060#define RESET_PCH_HANDSHAKE_ENABLE (1<<4) 6060#define RESET_PCH_HANDSHAKE_ENABLE (1<<4)
6061 6061
6062#define GEN8_CHICKEN_DCPR_1 _MMIO(0x46430)
6063#define MASK_WAKEMEM (1<<13)
6064
6062#define SKL_DFSM _MMIO(0x51000) 6065#define SKL_DFSM _MMIO(0x51000)
6063#define SKL_DFSM_CDCLK_LIMIT_MASK (3 << 23) 6066#define SKL_DFSM_CDCLK_LIMIT_MASK (3 << 23)
6064#define SKL_DFSM_CDCLK_LIMIT_675 (0 << 23) 6067#define SKL_DFSM_CDCLK_LIMIT_675 (0 << 23)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 3f0f1880d4af..362800ba63a8 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -64,6 +64,10 @@ static void gen9_init_clock_gating(struct drm_device *dev)
64 64
65 I915_WRITE(GEN8_CONFIG0, 65 I915_WRITE(GEN8_CONFIG0,
66 I915_READ(GEN8_CONFIG0) | GEN9_DEFAULT_FIXES); 66 I915_READ(GEN8_CONFIG0) | GEN9_DEFAULT_FIXES);
67
68 /* WaEnableChickenDCPR:skl,bxt,kbl */
69 I915_WRITE(GEN8_CHICKEN_DCPR_1,
70 I915_READ(GEN8_CHICKEN_DCPR_1) | MASK_WAKEMEM);
67} 71}
68 72
69static void bxt_init_clock_gating(struct drm_device *dev) 73static void bxt_init_clock_gating(struct drm_device *dev)