diff mbox

[13/24] drm/i915/kbl: Add WaDisableDynamicCreditSharing

Message ID 1464359224-11436-14-git-send-email-mika.kuoppala@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mika Kuoppala May 27, 2016, 2:26 p.m. UTC
Bspec states that we need to turn off dynamic credit
sharing on kbl revid a0 and b0. This happens by writing bit 28
on 0x4ab8.

References: HSD#2225601, HSD#2226938, HSD#2225763
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h         | 2 ++
 drivers/gpu/drm/i915/intel_ringbuffer.c | 4 ++++
 2 files changed, 6 insertions(+)

Comments

Matthew Auld June 3, 2016, 5:15 p.m. UTC | #1
> +       /* WaDisableDynamicCreditSharing:kbl */
> +       if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_B0))
> +               WA_SET_BIT(GAMT_CHKN_BIT_REG, (1 << 28));
> +
Let's play name that bit!

Otherwise the patch looks good, although slightly worrying that the
hsd's state the WA is needed up to B0, but the WA db says up to A0...

I guess we should rather trust the hsd's?

Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Mika Kuoppala June 6, 2016, 12:56 p.m. UTC | #2
Matthew Auld <matthew.william.auld@gmail.com> writes:

> [ text/plain ]
>> +       /* WaDisableDynamicCreditSharing:kbl */
>> +       if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_B0))
>> +               WA_SET_BIT(GAMT_CHKN_BIT_REG, (1 << 28));
>> +
> Let's play name that bit!
>
> Otherwise the patch looks good, although slightly worrying that the
> hsd's state the WA is needed up to B0, but the WA db says up to A0...
>
> I guess we should rather trust the hsd's?

Yes I consider hsd's the authoritative source.

-Mika



>
> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 14e0ec818ea4..e0441da08201 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1672,6 +1672,8 @@  enum skl_disp_power_wells {
 
 #define GEN7_TLB_RD_ADDR	_MMIO(0x4700)
 
+#define GAMT_CHKN_BIT_REG	_MMIO(0x4ab8)
+
 #if 0
 #define PRB0_TAIL	_MMIO(0x2030)
 #define PRB0_HEAD	_MMIO(0x2034)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index dd743d988b1a..64a2dc47443d 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1191,6 +1191,10 @@  static int kbl_init_workarounds(struct intel_engine_cs *engine)
 	I915_WRITE(GEN8_GARBCNTL, (I915_READ(GEN8_GARBCNTL) |
 				   GEN9_GAPS_TSV_CREDIT_DISABLE));
 
+	/* WaDisableDynamicCreditSharing:kbl */
+	if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_B0))
+		WA_SET_BIT(GAMT_CHKN_BIT_REG, (1 << 28));
+
 	/* WaDisableFenceDestinationToSLM:kbl (pre-prod) */
 	if (IS_KBL_REVID(dev_priv, KBL_REVID_A0, KBL_REVID_A0))
 		WA_SET_BIT_MASKED(HDC_CHICKEN0,