Re: [PATCH 7/8] drm/i915/skl: Enable Per context Preemption granularity control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 13/01/2016 10:06, Arun Siluvery wrote:
Per context preemption granularity control is only available from SKL:E0+

Cc: Dave Gordon <david.s.gordon@xxxxxxxxx>
Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx>
---
  drivers/gpu/drm/i915/i915_reg.h         |  3 +++
  drivers/gpu/drm/i915/intel_ringbuffer.c | 10 ++++++++++
  2 files changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index eabd2af..97774a3 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5995,6 +5995,9 @@ enum skl_disp_power_wells {
  #define SKL_DFSM_CDCLK_LIMIT_450	(2 << 23)
  #define SKL_DFSM_CDCLK_LIMIT_337_5	(3 << 23)

+#define GEN7_FF_SLICE_CS_CHICKEN1	_MMIO(0x20E0)

0x20e0?

+#define   GEN9_FFSC_PERCTX_PREEMPT_CTRL	(1<<14)
+
  #define FF_SLICE_CS_CHICKEN2			_MMIO(0x20e4)
  #define  GEN9_TSG_BARRIER_ACK_DISABLE		(1<<8)

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index b8dbd2c..5a2ad10 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1045,6 +1045,16 @@ static int skl_init_workarounds(struct intel_engine_cs *ring)
  	if (ret)
  		return ret;

+	/*
+	 * Actual WA is to disable percontext preemption granularity control
+	 * until D0 which is the default case so this is equivalent to
+	 * !WaDisablePerCtxtPreemptionGranularityControl:skl
+	 */
+	if (IS_SKL_REVID(dev, SKL_REVID_E0, REVID_FOREVER)) {
+		I915_WRITE(GEN7_FF_SLICE_CS_CHICKEN1,
+			   _MASKED_BIT_ENABLE(GEN9_FFSC_PERCTX_PREEMPT_CTRL));
+	}
+
  	if (IS_SKL_REVID(dev, 0, SKL_REVID_D0)) {
  		/* WaDisableChickenBitTSGBarrierAckForFFSliceCS:skl */
  		I915_WRITE(FF_SLICE_CS_CHICKEN2,


_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux