aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@linux.intel.com>2016-06-07 10:19:05 -0400
committerMika Kuoppala <mika.kuoppala@intel.com>2016-07-15 08:51:25 -0400
commit4ac4199434ac1d847e02c61a6e9d1cb35bb91b0e (patch)
tree4396354e9b31c2089e79f2540e560a7e5ab0dade
parent11b283412e165abf1ad19c1ba4bdde399944b600 (diff)
drm/i915/kbl: Add WaDisableGamClockGating
According to bspec we need to disable gam unit clock gating on on kbl revids A0 and B0. References: HSD#2226858, HSD#1944358 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-14-git-send-email-mika.kuoppala@intel.com (cherry picked from commit 8aeb7f624fbf8a68a9c67f831d4158a0f80ea920) Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h1
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index d014b8fabb71..3e16b9dadd92 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6926,6 +6926,7 @@ enum skl_disp_power_wells {
6926#define EDRAM_SETS_IDX(cap) (((cap) >> 8) & 0x3) 6926#define EDRAM_SETS_IDX(cap) (((cap) >> 8) & 0x3)
6927 6927
6928#define GEN6_UCGCTL1 _MMIO(0x9400) 6928#define GEN6_UCGCTL1 _MMIO(0x9400)
6929# define GEN6_GAMUNIT_CLOCK_GATE_DISABLE (1 << 22)
6929# define GEN6_EU_TCUNIT_CLOCK_GATE_DISABLE (1 << 16) 6930# define GEN6_EU_TCUNIT_CLOCK_GATE_DISABLE (1 << 16)
6930# define GEN6_BLBUNIT_CLOCK_GATE_DISABLE (1 << 5) 6931# define GEN6_BLBUNIT_CLOCK_GATE_DISABLE (1 << 5)
6931# define GEN6_CSUNIT_CLOCK_GATE_DISABLE (1 << 7) 6932# define GEN6_CSUNIT_CLOCK_GATE_DISABLE (1 << 7)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 7ae5bfdbf569..3f0f1880d4af 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -6722,6 +6722,11 @@ static void kabylake_init_clock_gating(struct drm_device *dev)
6722 if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_B0)) 6722 if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_B0))
6723 I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) | 6723 I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) |
6724 GEN8_SDEUNIT_CLOCK_GATE_DISABLE); 6724 GEN8_SDEUNIT_CLOCK_GATE_DISABLE);
6725
6726 /* WaDisableGamClockGating:kbl */
6727 if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_B0))
6728 I915_WRITE(GEN6_UCGCTL1, I915_READ(GEN6_UCGCTL1) |
6729 GEN6_GAMUNIT_CLOCK_GATE_DISABLE);
6725} 6730}
6726 6731
6727static void skylake_init_clock_gating(struct drm_device *dev) 6732static void skylake_init_clock_gating(struct drm_device *dev)