All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup
@ 2019-09-06 12:23 Mika Kuoppala
  2019-09-06 12:23 ` [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12 Mika Kuoppala
                   ` (9 more replies)
  0 siblings, 10 replies; 17+ messages in thread
From: Mika Kuoppala @ 2019-09-06 12:23 UTC (permalink / raw)
  To: intel-gfx; +Cc: Lucas De Marchi

Daniele pointed out that relative mmio works differently in
on context restore. Instead of adding the engine mmio base to offset,
it masks out the base and adds bits [12:2] to current engine base.

This should allow us to construct context register state to be
applicable to all instances, including virtual. And avoid the trouble
of updating the registers on virtual instances when submitting work.

Bspec: 20206
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Suggested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/gt/intel_engine_types.h |  7 +++++
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h |  2 ++
 drivers/gpu/drm/i915/gt/intel_lrc.c          | 27 ++++++++++++++------
 3 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h
index 15e02cb58a67..943f0663837e 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
@@ -481,6 +481,7 @@ struct intel_engine_cs {
 #define I915_ENGINE_HAS_SEMAPHORES   BIT(3)
 #define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
 #define I915_ENGINE_IS_VIRTUAL       BIT(5)
+#define I915_ENGINE_HAS_RELATIVE_MMIO BIT(6)
 	unsigned int flags;
 
 	/*
@@ -576,6 +577,12 @@ intel_engine_is_virtual(const struct intel_engine_cs *engine)
 	return engine->flags & I915_ENGINE_IS_VIRTUAL;
 }
 
+static inline bool
+intel_engine_has_relative_mmio(const struct intel_engine_cs * const engine)
+{
+	return engine->flags & I915_ENGINE_HAS_RELATIVE_MMIO;
+}
+
 #define instdone_has_slice(dev_priv___, sseu___, slice___) \
 	((IS_GEN(dev_priv___, 7) ? 1 : ((sseu___)->slice_mask)) & BIT(slice___))
 
diff --git a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
index 86e00a2db8a4..e1b87a516ef8 100644
--- a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
+++ b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
@@ -132,6 +132,8 @@
  *   address/value pairs. Don't overdue it, though, x <= 2^4 must hold!
  */
 #define MI_LOAD_REGISTER_IMM(x)	MI_INSTR(0x22, 2*(x)-1)
+/* Gen11+. addr = base + (ctx_restore ? offset & GENMASK(12:2) : offset) */
+#define   MI_LRI_CS_MMIO		(1<<19)
 #define   MI_LRI_FORCE_POSTED		(1<<12)
 #define MI_STORE_REGISTER_MEM        MI_INSTR(0x24, 1)
 #define MI_STORE_REGISTER_MEM_GEN8   MI_INSTR(0x24, 2)
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 87b7473a6dfb..6c68ed2bf3d2 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1214,7 +1214,10 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
 				unsigned int n;
 
 				GEM_BUG_ON(READ_ONCE(ve->context.inflight));
-				virtual_update_register_offsets(regs, engine);
+
+				if (!intel_engine_has_relative_mmio(engine))
+					virtual_update_register_offsets(regs,
+									engine);
 
 				if (!list_empty(&ve->context.signals))
 					virtual_xfer_breadcrumbs(ve, engine);
@@ -2939,6 +2942,10 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 		if (HAS_LOGICAL_RING_PREEMPTION(engine->i915))
 			engine->flags |= I915_ENGINE_HAS_PREEMPTION;
 	}
+
+	engine->flags |= (engine->class != COPY_ENGINE_CLASS &&
+			  INTEL_GEN(engine->i915) >= 11) ?
+		I915_ENGINE_HAS_RELATIVE_MMIO : 0;
 }
 
 static void execlists_destroy(struct intel_engine_cs *engine)
@@ -3130,8 +3137,10 @@ static void execlists_init_reg_state(u32 *regs,
 				     struct intel_ring *ring)
 {
 	struct i915_ppgtt *ppgtt = vm_alias(ce->vm);
-	bool rcs = engine->class == RENDER_CLASS;
-	u32 base = engine->mmio_base;
+	const bool rcs = engine->class == RENDER_CLASS;
+	const u32 base = engine->mmio_base;
+	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
+		MI_LRI_CS_MMIO : 0;
 
 	/*
 	 * A context is actually a big batch buffer with several
@@ -3144,7 +3153,7 @@ static void execlists_init_reg_state(u32 *regs,
 	 * Must keep consistent with virtual_update_register_offsets().
 	 */
 	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 14 : 11) |
-				 MI_LRI_FORCE_POSTED;
+		MI_LRI_FORCE_POSTED | lri_base;
 
 	CTX_REG(regs, CTX_CONTEXT_CONTROL, RING_CONTEXT_CONTROL(base),
 		_MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT) |
@@ -3191,7 +3200,8 @@ static void execlists_init_reg_state(u32 *regs,
 		}
 	}
 
-	regs[CTX_LRI_HEADER_1] = MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED;
+	regs[CTX_LRI_HEADER_1] =
+		MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED | lri_base;
 
 	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
 	/* PDP values well be assigned later if needed */
@@ -3218,7 +3228,7 @@ static void execlists_init_reg_state(u32 *regs,
 	}
 
 	if (rcs) {
-		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1);
+		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1) | lri_base;
 		CTX_REG(regs, CTX_R_PWR_CLK_STATE, GEN8_R_PWR_CLK_STATE, 0);
 	}
 
@@ -3411,8 +3421,9 @@ static void virtual_engine_initial_hint(struct virtual_engine *ve)
 		return;
 
 	swap(ve->siblings[swp], ve->siblings[0]);
-	virtual_update_register_offsets(ve->context.lrc_reg_state,
-					ve->siblings[0]);
+	if (!intel_engine_has_relative_mmio(ve->siblings[0]))
+		virtual_update_register_offsets(ve->context.lrc_reg_state,
+						ve->siblings[0]);
 }
 
 static int virtual_context_pin(struct intel_context *ce)
-- 
2.17.1

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

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
@ 2019-09-06 12:23 ` Mika Kuoppala
  2019-09-06 15:42   ` Daniele Ceraolo Spurio
  2019-09-06 12:32 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup Patchwork
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 17+ messages in thread
From: Mika Kuoppala @ 2019-09-06 12:23 UTC (permalink / raw)
  To: intel-gfx; +Cc: Michel Thierry, Lucas De Marchi

From: Michel Thierry <michel.thierry@intel.com>

Gen12 has subtle changes in the reg state context offsets (some fields
are gone, some are in a different location), compared to previous Gens.

The simplest approach seems to be keeping Gen12 (and future platform)
changes apart from the previous gens, while keeping the registers that
are contiguous in functions we can reuse.

v2: alias, virtual engine, rpcs, prune unused regs
v3: use engine base (Daniele), take ctx_bb for all

Bspec: 46255
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c     | 196 +++++++++++++++++-------
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h |   6 +-
 2 files changed, 147 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 6c68ed2bf3d2..e9c873877253 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -808,8 +808,11 @@ static void virtual_update_register_offsets(u32 *regs,
 {
 	u32 base = engine->mmio_base;
 
+	GEM_WARN_ON(engine->class == COPY_ENGINE_CLASS);
+
 	/* Must match execlists_init_reg_state()! */
 
+	/* Common part */
 	regs[CTX_CONTEXT_CONTROL] =
 		i915_mmio_reg_offset(RING_CONTEXT_CONTROL(base));
 	regs[CTX_RING_HEAD] = i915_mmio_reg_offset(RING_HEAD(base));
@@ -820,13 +823,16 @@ static void virtual_update_register_offsets(u32 *regs,
 	regs[CTX_BB_HEAD_U] = i915_mmio_reg_offset(RING_BBADDR_UDW(base));
 	regs[CTX_BB_HEAD_L] = i915_mmio_reg_offset(RING_BBADDR(base));
 	regs[CTX_BB_STATE] = i915_mmio_reg_offset(RING_BBSTATE(base));
+
 	regs[CTX_SECOND_BB_HEAD_U] =
 		i915_mmio_reg_offset(RING_SBBADDR_UDW(base));
 	regs[CTX_SECOND_BB_HEAD_L] = i915_mmio_reg_offset(RING_SBBADDR(base));
 	regs[CTX_SECOND_BB_STATE] = i915_mmio_reg_offset(RING_SBBSTATE(base));
 
+	/* PPGTT part */
 	regs[CTX_CTX_TIMESTAMP] =
 		i915_mmio_reg_offset(RING_CTX_TIMESTAMP(base));
+
 	regs[CTX_PDP3_UDW] = i915_mmio_reg_offset(GEN8_RING_PDP_UDW(base, 3));
 	regs[CTX_PDP3_LDW] = i915_mmio_reg_offset(GEN8_RING_PDP_LDW(base, 3));
 	regs[CTX_PDP2_UDW] = i915_mmio_reg_offset(GEN8_RING_PDP_UDW(base, 2));
@@ -3123,37 +3129,13 @@ static u32 intel_lr_indirect_ctx_offset(struct intel_engine_cs *engine)
 	return indirect_ctx_offset;
 }
 
-static struct i915_ppgtt *vm_alias(struct i915_address_space *vm)
-{
-	if (i915_is_ggtt(vm))
-		return i915_vm_to_ggtt(vm)->alias;
-	else
-		return i915_vm_to_ppgtt(vm);
-}
 
-static void execlists_init_reg_state(u32 *regs,
-				     struct intel_context *ce,
-				     struct intel_engine_cs *engine,
-				     struct intel_ring *ring)
+static void init_common_reg_state(u32 * const regs,
+				  struct i915_ppgtt * const ppgtt,
+				  struct intel_engine_cs *engine,
+				  struct intel_ring *ring)
 {
-	struct i915_ppgtt *ppgtt = vm_alias(ce->vm);
-	const bool rcs = engine->class == RENDER_CLASS;
 	const u32 base = engine->mmio_base;
-	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
-		MI_LRI_CS_MMIO : 0;
-
-	/*
-	 * A context is actually a big batch buffer with several
-	 * MI_LOAD_REGISTER_IMM commands followed by (reg, value) pairs. The
-	 * values we are setting here are only for the first context restore:
-	 * on a subsequent save, the GPU will recreate this batchbuffer with new
-	 * values (including all the missing MI_LOAD_REGISTER_IMM commands that
-	 * we are not initializing here).
-	 *
-	 * Must keep consistent with virtual_update_register_offsets().
-	 */
-	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 14 : 11) |
-		MI_LRI_FORCE_POSTED | lri_base;
 
 	CTX_REG(regs, CTX_CONTEXT_CONTROL, RING_CONTEXT_CONTROL(base),
 		_MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT) |
@@ -3171,39 +3153,43 @@ static void execlists_init_reg_state(u32 *regs,
 	CTX_REG(regs, CTX_BB_HEAD_U, RING_BBADDR_UDW(base), 0);
 	CTX_REG(regs, CTX_BB_HEAD_L, RING_BBADDR(base), 0);
 	CTX_REG(regs, CTX_BB_STATE, RING_BBSTATE(base), RING_BB_PPGTT);
-	CTX_REG(regs, CTX_SECOND_BB_HEAD_U, RING_SBBADDR_UDW(base), 0);
-	CTX_REG(regs, CTX_SECOND_BB_HEAD_L, RING_SBBADDR(base), 0);
-	CTX_REG(regs, CTX_SECOND_BB_STATE, RING_SBBSTATE(base), 0);
-	if (rcs) {
-		struct i915_ctx_workarounds *wa_ctx = &engine->wa_ctx;
-
-		CTX_REG(regs, CTX_RCS_INDIRECT_CTX, RING_INDIRECT_CTX(base), 0);
-		CTX_REG(regs, CTX_RCS_INDIRECT_CTX_OFFSET,
-			RING_INDIRECT_CTX_OFFSET(base), 0);
-		if (wa_ctx->indirect_ctx.size) {
-			u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
+}
 
-			regs[CTX_RCS_INDIRECT_CTX + 1] =
-				(ggtt_offset + wa_ctx->indirect_ctx.offset) |
-				(wa_ctx->indirect_ctx.size / CACHELINE_BYTES);
+static void init_wa_bb_reg_state(u32 * const regs,
+				 struct intel_engine_cs *engine,
+				 u32 pos_bb_per_ctx)
+{
+	struct i915_ctx_workarounds * const wa_ctx = &engine->wa_ctx;
+	const u32 base = engine->mmio_base;
+	const u32 pos_indirect_ctx = pos_bb_per_ctx + 2;
+	const u32 pos_indirect_ctx_offset = pos_indirect_ctx + 2;
 
-			regs[CTX_RCS_INDIRECT_CTX_OFFSET + 1] =
-				intel_lr_indirect_ctx_offset(engine) << 6;
-		}
+	CTX_REG(regs, pos_indirect_ctx, RING_INDIRECT_CTX(base), 0);
+	CTX_REG(regs, pos_indirect_ctx_offset,
+		RING_INDIRECT_CTX_OFFSET(base), 0);
+	if (wa_ctx->indirect_ctx.size) {
+		const u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
 
-		CTX_REG(regs, CTX_BB_PER_CTX_PTR, RING_BB_PER_CTX_PTR(base), 0);
-		if (wa_ctx->per_ctx.size) {
-			u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
+		regs[pos_indirect_ctx + 1] =
+			(ggtt_offset + wa_ctx->indirect_ctx.offset) |
+			(wa_ctx->indirect_ctx.size / CACHELINE_BYTES);
 
-			regs[CTX_BB_PER_CTX_PTR + 1] =
-				(ggtt_offset + wa_ctx->per_ctx.offset) | 0x01;
-		}
+		regs[pos_indirect_ctx_offset + 1] =
+			intel_lr_indirect_ctx_offset(engine) << 6;
 	}
 
-	regs[CTX_LRI_HEADER_1] =
-		MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED | lri_base;
+	CTX_REG(regs, pos_bb_per_ctx, RING_BB_PER_CTX_PTR(base), 0);
+	if (wa_ctx->per_ctx.size) {
+		const u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
 
-	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
+		regs[pos_bb_per_ctx + 1] =
+			(ggtt_offset + wa_ctx->per_ctx.offset) | 0x01;
+	}
+}
+
+static void init_ppgtt_reg_state(u32 *regs, u32 base,
+				 struct i915_ppgtt *ppgtt)
+{
 	/* PDP values well be assigned later if needed */
 	CTX_REG(regs, CTX_PDP3_UDW, GEN8_RING_PDP_UDW(base, 3), 0);
 	CTX_REG(regs, CTX_PDP3_LDW, GEN8_RING_PDP_LDW(base, 3), 0);
@@ -3226,6 +3212,53 @@ static void execlists_init_reg_state(u32 *regs,
 		ASSIGN_CTX_PDP(ppgtt, regs, 1);
 		ASSIGN_CTX_PDP(ppgtt, regs, 0);
 	}
+}
+
+static struct i915_ppgtt *vm_alias(struct i915_address_space *vm)
+{
+	if (i915_is_ggtt(vm))
+		return i915_vm_to_ggtt(vm)->alias;
+	else
+		return i915_vm_to_ppgtt(vm);
+}
+
+static void gen8_init_reg_state(u32 * const regs,
+				struct intel_context *ce,
+				struct intel_engine_cs *engine,
+				struct intel_ring *ring)
+{
+	struct i915_ppgtt * const ppgtt = vm_alias(ce->vm);
+	const bool rcs = engine->class == RENDER_CLASS;
+	const u32 base = engine->mmio_base;
+	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
+		MI_LRI_CS_MMIO : 0;
+
+	/*
+	 * A context is actually a big batch buffer with several
+	 * MI_LOAD_REGISTER_IMM commands followed by (reg, value) pairs. The
+	 * values we are setting here are only for the first context restore:
+	 * on a subsequent save, the GPU will recreate this batchbuffer with new
+	 * values (including all the missing MI_LOAD_REGISTER_IMM commands that
+	 * we are not initializing here).
+	 *
+	 * Must keep consistent with virtual_update_register_offsets().
+	 */
+	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 14 : 11) |
+		MI_LRI_FORCE_POSTED | lri_base;
+
+	init_common_reg_state(regs, ppgtt, engine, ring);
+	CTX_REG(regs, CTX_SECOND_BB_HEAD_U, RING_SBBADDR_UDW(base), 0);
+	CTX_REG(regs, CTX_SECOND_BB_HEAD_L, RING_SBBADDR(base), 0);
+	CTX_REG(regs, CTX_SECOND_BB_STATE, RING_SBBSTATE(base), 0);
+	if (rcs)
+		init_wa_bb_reg_state(regs, engine, CTX_BB_PER_CTX_PTR);
+
+	regs[CTX_LRI_HEADER_1] =
+		MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED | lri_base;
+
+	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
+
+	init_ppgtt_reg_state(regs, base, ppgtt);
 
 	if (rcs) {
 		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1) | lri_base;
@@ -3237,6 +3270,61 @@ static void execlists_init_reg_state(u32 *regs,
 		regs[CTX_END] |= BIT(0);
 }
 
+static void gen12_init_reg_state(u32 * const regs,
+				 struct intel_context *ce,
+				 struct intel_engine_cs *engine,
+				 struct intel_ring *ring)
+{
+	struct i915_ppgtt * const ppgtt = i915_vm_to_ppgtt(ce->vm);
+	const bool rcs = engine->class == RENDER_CLASS;
+	const u32 base = engine->mmio_base;
+	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
+		MI_LRI_CS_MMIO : 0;
+
+	GEM_DEBUG_EXEC(DRM_INFO_ONCE("Using GEN12 Register State Context\n"));
+
+	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 11 : 9) |
+		MI_LRI_FORCE_POSTED | lri_base;
+
+	init_common_reg_state(regs, ppgtt, engine, ring);
+
+	/* We want ctx_ptr for all engines to be set */
+	init_wa_bb_reg_state(regs, engine, GEN12_CTX_BB_PER_CTX_PTR);
+
+	regs[CTX_LRI_HEADER_1] = MI_LOAD_REGISTER_IMM(9) |
+		MI_LRI_FORCE_POSTED | lri_base;
+
+	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
+
+	init_ppgtt_reg_state(regs, base, ppgtt);
+
+	if (rcs) {
+		regs[GEN12_CTX_LRI_HEADER_3] = MI_LOAD_REGISTER_IMM(1) |
+			lri_base;
+		CTX_REG(regs, CTX_R_PWR_CLK_STATE, GEN8_R_PWR_CLK_STATE, 0);
+
+		/* TODO: oa_init_reg_state ? */
+	}
+}
+
+static void execlists_init_reg_state(u32 *regs,
+				     struct intel_context *ce,
+				     struct intel_engine_cs *engine,
+				     struct intel_ring *ring)
+{
+	/* A context is actually a big batch buffer with several
+	 * MI_LOAD_REGISTER_IMM commands followed by (reg, value) pairs. The
+	 * values we are setting here are only for the first context restore:
+	 * on a subsequent save, the GPU will recreate this batchbuffer with new
+	 * values (including all the missing MI_LOAD_REGISTER_IMM commands that
+	 * we are not initializing here).
+	 */
+	if (INTEL_GEN(engine->i915) >= 12)
+		gen12_init_reg_state(regs, ce, engine, ring);
+	else
+		gen8_init_reg_state(regs, ce, engine, ring);
+}
+
 static int
 populate_lr_context(struct intel_context *ce,
 		    struct drm_i915_gem_object *ctx_obj,
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc_reg.h b/drivers/gpu/drm/i915/gt/intel_lrc_reg.h
index b8f20ad71169..68caf8541866 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc_reg.h
+++ b/drivers/gpu/drm/i915/gt/intel_lrc_reg.h
@@ -9,7 +9,7 @@
 
 #include <linux/types.h>
 
-/* GEN8+ Reg State Context */
+/* GEN8 to GEN11 Reg State Context */
 #define CTX_LRI_HEADER_0		0x01
 #define CTX_CONTEXT_CONTROL		0x02
 #define CTX_RING_HEAD			0x04
@@ -39,6 +39,10 @@
 #define CTX_R_PWR_CLK_STATE		0x42
 #define CTX_END				0x44
 
+/* GEN12+ Reg State Context */
+#define GEN12_CTX_BB_PER_CTX_PTR		0x12
+#define GEN12_CTX_LRI_HEADER_3			0x41
+
 #define CTX_REG(reg_state, pos, reg, val) do { \
 	u32 *reg_state__ = (reg_state); \
 	const u32 pos__ = (pos); \
-- 
2.17.1

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

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
  2019-09-06 12:23 ` [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12 Mika Kuoppala
@ 2019-09-06 12:32 ` Patchwork
  2019-09-06 12:56 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-09-06 12:32 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
URL   : https://patchwork.freedesktop.org/series/66335/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
0441c15504e2 drm/i915: Use engine relative LRIs on context setup
-:58: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV)
#58: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:136:
+#define   MI_LRI_CS_MMIO		(1<<19)
                         		  ^

total: 0 errors, 0 warnings, 1 checks, 96 lines checked
5f5d80a3dd01 drm/i915/tgl: Register state context definition for Gen12

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
  2019-09-06 12:23 ` [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12 Mika Kuoppala
  2019-09-06 12:32 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup Patchwork
@ 2019-09-06 12:56 ` Patchwork
  2019-09-06 13:29   ` Mika Kuoppala
  2019-09-06 13:31 ` [PATCH 1/2] " Mika Kuoppala
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 17+ messages in thread
From: Patchwork @ 2019-09-06 12:56 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
URL   : https://patchwork.freedesktop.org/series/66335/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6841 -> Patchwork_14302
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_14302:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_sync@basic-all:
    - {fi-tgl-u}:         NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-tgl-u/igt@gem_sync@basic-all.html

  
Known issues
------------

  Here are the changes found in Patchwork_14302 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_exec@basic:
    - fi-apl-guc:         [PASS][2] -> [INCOMPLETE][3] ([fdo#103927])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-apl-guc/igt@gem_ctx_exec@basic.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-apl-guc/igt@gem_ctx_exec@basic.html

  * igt@gem_ctx_switch@rcs0:
    - fi-icl-u2:          [PASS][4] -> [INCOMPLETE][5] ([fdo#107713])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u2/igt@gem_ctx_switch@rcs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u2/igt@gem_ctx_switch@rcs0.html

  * igt@kms_addfb_basic@tile-pitch-mismatch:
    - fi-icl-u3:          [PASS][6] -> [DMESG-WARN][7] ([fdo#107724]) +1 similar issue
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u3/igt@kms_addfb_basic@tile-pitch-mismatch.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u3/igt@kms_addfb_basic@tile-pitch-mismatch.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@basic-rte:
    - {fi-icl-guc}:       [DMESG-WARN][8] -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-guc/igt@i915_pm_rpm@basic-rte.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-guc/igt@i915_pm_rpm@basic-rte.html

  * igt@i915_selftest@live_execlists:
    - fi-skl-gvtdvm:      [DMESG-FAIL][10] ([fdo#111108]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-cml-u2:          [FAIL][12] ([fdo#110627]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_frontbuffer_tracking@basic:
    - {fi-icl-u4}:        [FAIL][14] ([fdo#103167]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u4/igt@kms_frontbuffer_tracking@basic.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u4/igt@kms_frontbuffer_tracking@basic.html

  * igt@vgem_basic@unload:
    - fi-icl-u3:          [DMESG-WARN][16] ([fdo#107724]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u3/igt@vgem_basic@unload.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u3/igt@vgem_basic@unload.html

  
#### Warnings ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][18] ([fdo#111407]) -> [FAIL][19] ([fdo#111096])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#110627]: https://bugs.freedesktop.org/show_bug.cgi?id=110627
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407


Participating hosts (53 -> 45)
------------------------------

  Additional (1): fi-tgl-u 
  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6841 -> Patchwork_14302

  CI-20190529: 20190529
  CI_DRM_6841: 5c24bcfb9c6036b32dbfdbc22d773473880ff498 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14302: 5f5d80a3dd019803bbba7d685805bade4a33d54c @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5f5d80a3dd01 drm/i915/tgl: Register state context definition for Gen12
0441c15504e2 drm/i915: Use engine relative LRIs on context setup

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
  2019-09-06 12:56 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-09-06 13:29   ` Mika Kuoppala
  0 siblings, 0 replies; 17+ messages in thread
From: Mika Kuoppala @ 2019-09-06 13:29 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx

Patchwork <patchwork@emeril.freedesktop.org> writes:

> == Series Details ==
>
> Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
> URL   : https://patchwork.freedesktop.org/series/66335/
> State : success
>
> == Summary ==
>
> CI Bug Log - changes from CI_DRM_6841 -> Patchwork_14302
> ====================================================
>
> Summary
> -------
>
>   **SUCCESS**
>
>   No regressions found.
>
>   External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/
>
> Possible new issues
> -------------------
>
>   Here are the unknown changes that may have been introduced in Patchwork_14302:
>
> ### IGT changes ###
>
> #### Suppressed ####
>
>   The following results come from untrusted machines, tests, or statuses.
>   They do not affect the overall result.
>
>   * igt@gem_sync@basic-all:
>     - {fi-tgl-u}:         NOTRUN -> [INCOMPLETE][1]
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-tgl-u/igt@gem_sync@basic-all.html
>
>   
> Known issues
> ------------
>
>   Here are the changes found in Patchwork_14302 that come from known issues:
>
> ### IGT changes ###
>
> #### Issues hit ####
>
>   * igt@gem_ctx_exec@basic:
>     - fi-apl-guc:         [PASS][2] -> [INCOMPLETE][3] ([fdo#103927])
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-apl-guc/igt@gem_ctx_exec@basic.html
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-apl-guc/igt@gem_ctx_exec@basic.html
>
>   * igt@gem_ctx_switch@rcs0:
>     - fi-icl-u2:          [PASS][4] -> [INCOMPLETE][5] ([fdo#107713])
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u2/igt@gem_ctx_switch@rcs0.html
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u2/igt@gem_ctx_switch@rcs0.html

Ok, disturbing enough. I will send v2 with relative offsets turned off
on icl.

Chris has selftest cooking so we can experiment with icl/cs_mmio on
later time.

-Mika

>
>   * igt@kms_addfb_basic@tile-pitch-mismatch:
>     - fi-icl-u3:          [PASS][6] -> [DMESG-WARN][7] ([fdo#107724]) +1 similar issue
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u3/igt@kms_addfb_basic@tile-pitch-mismatch.html
>    [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u3/igt@kms_addfb_basic@tile-pitch-mismatch.html
>
>   
> #### Possible fixes ####
>
>   * igt@i915_pm_rpm@basic-rte:
>     - {fi-icl-guc}:       [DMESG-WARN][8] -> [PASS][9]
>    [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-guc/igt@i915_pm_rpm@basic-rte.html
>    [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-guc/igt@i915_pm_rpm@basic-rte.html
>
>   * igt@i915_selftest@live_execlists:
>     - fi-skl-gvtdvm:      [DMESG-FAIL][10] ([fdo#111108]) -> [PASS][11]
>    [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
>    [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
>
>   * igt@kms_chamelium@dp-crc-fast:
>     - fi-cml-u2:          [FAIL][12] ([fdo#110627]) -> [PASS][13]
>    [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html
>    [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html
>
>   * igt@kms_frontbuffer_tracking@basic:
>     - {fi-icl-u4}:        [FAIL][14] ([fdo#103167]) -> [PASS][15]
>    [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u4/igt@kms_frontbuffer_tracking@basic.html
>    [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u4/igt@kms_frontbuffer_tracking@basic.html
>
>   * igt@vgem_basic@unload:
>     - fi-icl-u3:          [DMESG-WARN][16] ([fdo#107724]) -> [PASS][17]
>    [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-icl-u3/igt@vgem_basic@unload.html
>    [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-icl-u3/igt@vgem_basic@unload.html
>
>   
> #### Warnings ####
>
>   * igt@kms_chamelium@hdmi-hpd-fast:
>     - fi-kbl-7500u:       [FAIL][18] ([fdo#111407]) -> [FAIL][19] ([fdo#111096])
>    [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
>    [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
>
>   
>   {name}: This element is suppressed. This means it is ignored when computing
>           the status of the difference (SUCCESS, WARNING, or FAILURE).
>
>   [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
>   [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
>   [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
>   [fdo#110627]: https://bugs.freedesktop.org/show_bug.cgi?id=110627
>   [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
>   [fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108
>   [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
>
>
> Participating hosts (53 -> 45)
> ------------------------------
>
>   Additional (1): fi-tgl-u 
>   Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-icl-y fi-byt-clapper fi-bdw-samus 
>
>
> Build changes
> -------------
>
>   * CI: CI-20190529 -> None
>   * Linux: CI_DRM_6841 -> Patchwork_14302
>
>   CI-20190529: 20190529
>   CI_DRM_6841: 5c24bcfb9c6036b32dbfdbc22d773473880ff498 @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_14302: 5f5d80a3dd019803bbba7d685805bade4a33d54c @ git://anongit.freedesktop.org/gfx-ci/linux
>
>
> == Linux commits ==
>
> 5f5d80a3dd01 drm/i915/tgl: Register state context definition for Gen12
> 0441c15504e2 drm/i915: Use engine relative LRIs on context setup
>
> == Logs ==
>
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
                   ` (2 preceding siblings ...)
  2019-09-06 12:56 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-09-06 13:31 ` Mika Kuoppala
  2019-09-06 13:41   ` Chris Wilson
  2019-09-06 13:49   ` Mika Kuoppala
  2019-09-06 13:52 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev2) Patchwork
                   ` (5 subsequent siblings)
  9 siblings, 2 replies; 17+ messages in thread
From: Mika Kuoppala @ 2019-09-06 13:31 UTC (permalink / raw)
  To: intel-gfx; +Cc: Lucas De Marchi

Daniele pointed out that relative mmio works differently in
on context restore. Instead of adding the engine mmio base to offset,
it masks out the base and adds bits [12:2] to current engine base.

This should allow us to construct context register state to be
applicable to all instances, including virtual. And avoid the trouble
of updating the registers on virtual instances when submitting work.

v2: only enable for gen12 for now (Mika)

Bspec: 20206
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Suggested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/gt/intel_engine_types.h |  7 +++++
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h |  2 ++
 drivers/gpu/drm/i915/gt/intel_lrc.c          | 27 ++++++++++++++------
 3 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h
index 15e02cb58a67..943f0663837e 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
@@ -481,6 +481,7 @@ struct intel_engine_cs {
 #define I915_ENGINE_HAS_SEMAPHORES   BIT(3)
 #define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
 #define I915_ENGINE_IS_VIRTUAL       BIT(5)
+#define I915_ENGINE_HAS_RELATIVE_MMIO BIT(6)
 	unsigned int flags;
 
 	/*
@@ -576,6 +577,12 @@ intel_engine_is_virtual(const struct intel_engine_cs *engine)
 	return engine->flags & I915_ENGINE_IS_VIRTUAL;
 }
 
+static inline bool
+intel_engine_has_relative_mmio(const struct intel_engine_cs * const engine)
+{
+	return engine->flags & I915_ENGINE_HAS_RELATIVE_MMIO;
+}
+
 #define instdone_has_slice(dev_priv___, sseu___, slice___) \
 	((IS_GEN(dev_priv___, 7) ? 1 : ((sseu___)->slice_mask)) & BIT(slice___))
 
diff --git a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
index 86e00a2db8a4..fbad403ab7ac 100644
--- a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
+++ b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
@@ -132,6 +132,8 @@
  *   address/value pairs. Don't overdue it, though, x <= 2^4 must hold!
  */
 #define MI_LOAD_REGISTER_IMM(x)	MI_INSTR(0x22, 2*(x)-1)
+/* Gen11+. addr = base + (ctx_restore ? offset & GENMASK(12,2) : offset) */
+#define   MI_LRI_CS_MMIO		(1<<19)
 #define   MI_LRI_FORCE_POSTED		(1<<12)
 #define MI_STORE_REGISTER_MEM        MI_INSTR(0x24, 1)
 #define MI_STORE_REGISTER_MEM_GEN8   MI_INSTR(0x24, 2)
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 87b7473a6dfb..856be8745fb2 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1214,7 +1214,10 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
 				unsigned int n;
 
 				GEM_BUG_ON(READ_ONCE(ve->context.inflight));
-				virtual_update_register_offsets(regs, engine);
+
+				if (!intel_engine_has_relative_mmio(engine))
+					virtual_update_register_offsets(regs,
+									engine);
 
 				if (!list_empty(&ve->context.signals))
 					virtual_xfer_breadcrumbs(ve, engine);
@@ -2939,6 +2942,10 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 		if (HAS_LOGICAL_RING_PREEMPTION(engine->i915))
 			engine->flags |= I915_ENGINE_HAS_PREEMPTION;
 	}
+
+	engine->flags |= (engine->class != COPY_ENGINE_CLASS &&
+			  INTEL_GEN(engine->i915) >= 12) ?
+		I915_ENGINE_HAS_RELATIVE_MMIO : 0;
 }
 
 static void execlists_destroy(struct intel_engine_cs *engine)
@@ -3130,8 +3137,10 @@ static void execlists_init_reg_state(u32 *regs,
 				     struct intel_ring *ring)
 {
 	struct i915_ppgtt *ppgtt = vm_alias(ce->vm);
-	bool rcs = engine->class == RENDER_CLASS;
-	u32 base = engine->mmio_base;
+	const bool rcs = engine->class == RENDER_CLASS;
+	const u32 base = engine->mmio_base;
+	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
+		MI_LRI_CS_MMIO : 0;
 
 	/*
 	 * A context is actually a big batch buffer with several
@@ -3144,7 +3153,7 @@ static void execlists_init_reg_state(u32 *regs,
 	 * Must keep consistent with virtual_update_register_offsets().
 	 */
 	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 14 : 11) |
-				 MI_LRI_FORCE_POSTED;
+		MI_LRI_FORCE_POSTED | lri_base;
 
 	CTX_REG(regs, CTX_CONTEXT_CONTROL, RING_CONTEXT_CONTROL(base),
 		_MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT) |
@@ -3191,7 +3200,8 @@ static void execlists_init_reg_state(u32 *regs,
 		}
 	}
 
-	regs[CTX_LRI_HEADER_1] = MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED;
+	regs[CTX_LRI_HEADER_1] =
+		MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED | lri_base;
 
 	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
 	/* PDP values well be assigned later if needed */
@@ -3218,7 +3228,7 @@ static void execlists_init_reg_state(u32 *regs,
 	}
 
 	if (rcs) {
-		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1);
+		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1) | lri_base;
 		CTX_REG(regs, CTX_R_PWR_CLK_STATE, GEN8_R_PWR_CLK_STATE, 0);
 	}
 
@@ -3411,8 +3421,9 @@ static void virtual_engine_initial_hint(struct virtual_engine *ve)
 		return;
 
 	swap(ve->siblings[swp], ve->siblings[0]);
-	virtual_update_register_offsets(ve->context.lrc_reg_state,
-					ve->siblings[0]);
+	if (!intel_engine_has_relative_mmio(ve->siblings[0]))
+		virtual_update_register_offsets(ve->context.lrc_reg_state,
+						ve->siblings[0]);
 }
 
 static int virtual_context_pin(struct intel_context *ce)
-- 
2.17.1

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

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup
  2019-09-06 13:31 ` [PATCH 1/2] " Mika Kuoppala
@ 2019-09-06 13:41   ` Chris Wilson
  2019-09-06 13:49   ` Mika Kuoppala
  1 sibling, 0 replies; 17+ messages in thread
From: Chris Wilson @ 2019-09-06 13:41 UTC (permalink / raw)
  To: Mika Kuoppala, intel-gfx; +Cc: Lucas De Marchi

Quoting Mika Kuoppala (2019-09-06 14:31:45)
> @@ -2939,6 +2942,10 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
>                 if (HAS_LOGICAL_RING_PREEMPTION(engine->i915))
>                         engine->flags |= I915_ENGINE_HAS_PREEMPTION;
>         }
> +
> +       engine->flags |= (engine->class != COPY_ENGINE_CLASS &&
> +                         INTEL_GEN(engine->i915) >= 12) ?
> +               I915_ENGINE_HAS_RELATIVE_MMIO : 0;

Style nit, I would have stuck with a plain
	if (class != COPY && GEN >= 12)
		engine->flags |= I915_ENGINE_HAS_RELATIVE_MMIO;

The flag takes care of the virtual engine switching nicely.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup
  2019-09-06 13:31 ` [PATCH 1/2] " Mika Kuoppala
  2019-09-06 13:41   ` Chris Wilson
@ 2019-09-06 13:49   ` Mika Kuoppala
  1 sibling, 0 replies; 17+ messages in thread
From: Mika Kuoppala @ 2019-09-06 13:49 UTC (permalink / raw)
  To: intel-gfx; +Cc: Lucas De Marchi

Daniele pointed out that relative mmio works differently in
on context restore. Instead of adding the engine mmio base to offset,
it masks out the base and adds bits [12:2] to current engine base.

This should allow us to construct context register state to be
applicable to all instances, including virtual. And avoid the trouble
of updating the registers on virtual instances when submitting work.

v2: only enable for gen12 for now (Mika)
v3: make enabling readable (Chris)

Bspec: 20206
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Suggested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_engine_types.h |  7 ++++++
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h |  2 ++
 drivers/gpu/drm/i915/gt/intel_lrc.c          | 26 ++++++++++++++------
 3 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h
index 15e02cb58a67..943f0663837e 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
@@ -481,6 +481,7 @@ struct intel_engine_cs {
 #define I915_ENGINE_HAS_SEMAPHORES   BIT(3)
 #define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
 #define I915_ENGINE_IS_VIRTUAL       BIT(5)
+#define I915_ENGINE_HAS_RELATIVE_MMIO BIT(6)
 	unsigned int flags;
 
 	/*
@@ -576,6 +577,12 @@ intel_engine_is_virtual(const struct intel_engine_cs *engine)
 	return engine->flags & I915_ENGINE_IS_VIRTUAL;
 }
 
+static inline bool
+intel_engine_has_relative_mmio(const struct intel_engine_cs * const engine)
+{
+	return engine->flags & I915_ENGINE_HAS_RELATIVE_MMIO;
+}
+
 #define instdone_has_slice(dev_priv___, sseu___, slice___) \
 	((IS_GEN(dev_priv___, 7) ? 1 : ((sseu___)->slice_mask)) & BIT(slice___))
 
diff --git a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
index 86e00a2db8a4..fbad403ab7ac 100644
--- a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
+++ b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h
@@ -132,6 +132,8 @@
  *   address/value pairs. Don't overdue it, though, x <= 2^4 must hold!
  */
 #define MI_LOAD_REGISTER_IMM(x)	MI_INSTR(0x22, 2*(x)-1)
+/* Gen11+. addr = base + (ctx_restore ? offset & GENMASK(12,2) : offset) */
+#define   MI_LRI_CS_MMIO		(1<<19)
 #define   MI_LRI_FORCE_POSTED		(1<<12)
 #define MI_STORE_REGISTER_MEM        MI_INSTR(0x24, 1)
 #define MI_STORE_REGISTER_MEM_GEN8   MI_INSTR(0x24, 2)
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 87b7473a6dfb..d8070b1aa829 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1214,7 +1214,10 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
 				unsigned int n;
 
 				GEM_BUG_ON(READ_ONCE(ve->context.inflight));
-				virtual_update_register_offsets(regs, engine);
+
+				if (!intel_engine_has_relative_mmio(engine))
+					virtual_update_register_offsets(regs,
+									engine);
 
 				if (!list_empty(&ve->context.signals))
 					virtual_xfer_breadcrumbs(ve, engine);
@@ -2939,6 +2942,9 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine)
 		if (HAS_LOGICAL_RING_PREEMPTION(engine->i915))
 			engine->flags |= I915_ENGINE_HAS_PREEMPTION;
 	}
+
+	if (engine->class != COPY_ENGINE_CLASS && INTEL_GEN(engine->i915) >= 12)
+		engine->flags |= I915_ENGINE_HAS_RELATIVE_MMIO;
 }
 
 static void execlists_destroy(struct intel_engine_cs *engine)
@@ -3130,8 +3136,10 @@ static void execlists_init_reg_state(u32 *regs,
 				     struct intel_ring *ring)
 {
 	struct i915_ppgtt *ppgtt = vm_alias(ce->vm);
-	bool rcs = engine->class == RENDER_CLASS;
-	u32 base = engine->mmio_base;
+	const bool rcs = engine->class == RENDER_CLASS;
+	const u32 base = engine->mmio_base;
+	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
+		MI_LRI_CS_MMIO : 0;
 
 	/*
 	 * A context is actually a big batch buffer with several
@@ -3144,7 +3152,7 @@ static void execlists_init_reg_state(u32 *regs,
 	 * Must keep consistent with virtual_update_register_offsets().
 	 */
 	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 14 : 11) |
-				 MI_LRI_FORCE_POSTED;
+		MI_LRI_FORCE_POSTED | lri_base;
 
 	CTX_REG(regs, CTX_CONTEXT_CONTROL, RING_CONTEXT_CONTROL(base),
 		_MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT) |
@@ -3191,7 +3199,8 @@ static void execlists_init_reg_state(u32 *regs,
 		}
 	}
 
-	regs[CTX_LRI_HEADER_1] = MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED;
+	regs[CTX_LRI_HEADER_1] =
+		MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED | lri_base;
 
 	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
 	/* PDP values well be assigned later if needed */
@@ -3218,7 +3227,7 @@ static void execlists_init_reg_state(u32 *regs,
 	}
 
 	if (rcs) {
-		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1);
+		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1) | lri_base;
 		CTX_REG(regs, CTX_R_PWR_CLK_STATE, GEN8_R_PWR_CLK_STATE, 0);
 	}
 
@@ -3411,8 +3420,9 @@ static void virtual_engine_initial_hint(struct virtual_engine *ve)
 		return;
 
 	swap(ve->siblings[swp], ve->siblings[0]);
-	virtual_update_register_offsets(ve->context.lrc_reg_state,
-					ve->siblings[0]);
+	if (!intel_engine_has_relative_mmio(ve->siblings[0]))
+		virtual_update_register_offsets(ve->context.lrc_reg_state,
+						ve->siblings[0]);
 }
 
 static int virtual_context_pin(struct intel_context *ce)
-- 
2.17.1

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

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev2)
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
                   ` (3 preceding siblings ...)
  2019-09-06 13:31 ` [PATCH 1/2] " Mika Kuoppala
@ 2019-09-06 13:52 ` Patchwork
  2019-09-06 14:16 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-09-06 13:52 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev2)
URL   : https://patchwork.freedesktop.org/series/66335/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
319509655960 drm/i915: Use engine relative LRIs on context setup
-:61: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV)
#61: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:136:
+#define   MI_LRI_CS_MMIO		(1<<19)
                         		  ^

total: 0 errors, 0 warnings, 1 checks, 96 lines checked
32997572cece drm/i915/tgl: Register state context definition for Gen12

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev2)
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
                   ` (4 preceding siblings ...)
  2019-09-06 13:52 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev2) Patchwork
@ 2019-09-06 14:16 ` Patchwork
  2019-09-06 15:04 ` ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup Patchwork
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-09-06 14:16 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev2)
URL   : https://patchwork.freedesktop.org/series/66335/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6842 -> Patchwork_14303
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_14303:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_exec_suspend@basic-s4-devices:
    - {fi-tgl-u}:         [FAIL][1] ([fdo#111562]) -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-tgl-u/igt@gem_exec_suspend@basic-s4-devices.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-tgl-u/igt@gem_exec_suspend@basic-s4-devices.html

  
Known issues
------------

  Here are the changes found in Patchwork_14303 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@reload:
    - fi-blb-e6850:       [PASS][3] -> [INCOMPLETE][4] ([fdo#107718])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-blb-e6850/igt@i915_module_load@reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-blb-e6850/igt@i915_module_load@reload.html

  * igt@i915_selftest@live_execlists:
    - fi-skl-gvtdvm:      [PASS][5] -> [DMESG-FAIL][6] ([fdo#111108])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][7] -> [FAIL][8] ([fdo#111407])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@prime_vgem@basic-gtt:
    - fi-icl-u3:          [PASS][9] -> [DMESG-WARN][10] ([fdo#107724])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-icl-u3/igt@prime_vgem@basic-gtt.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-icl-u3/igt@prime_vgem@basic-gtt.html

  
#### Possible fixes ####

  * igt@gem_busy@busy-all:
    - {fi-tgl-u}:         [FAIL][11] ([fdo#111560]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-tgl-u/igt@gem_busy@busy-all.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-tgl-u/igt@gem_busy@busy-all.html

  * igt@gem_close_race@basic-process:
    - {fi-tgl-u}:         [DMESG-FAIL][13] ([fdo#111562]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-tgl-u/igt@gem_close_race@basic-process.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-tgl-u/igt@gem_close_race@basic-process.html

  * igt@gem_exec_suspend@basic-s3:
    - {fi-tgl-u}:         [FAIL][15] ([fdo#111562]) -> [PASS][16] +10 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-tgl-u/igt@gem_exec_suspend@basic-s3.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-tgl-u/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_selftest@live_hangcheck:
    - {fi-icl-guc}:       [INCOMPLETE][17] ([fdo#107713] / [fdo#108569]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-icl-guc/igt@i915_selftest@live_hangcheck.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-icl-guc/igt@i915_selftest@live_hangcheck.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-icl-u2:          [DMESG-WARN][19] ([fdo#110595] / [fdo#111214]) -> [DMESG-WARN][20] ([fdo#106107] / [fdo#110595] / [fdo#111214])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6842/fi-icl-u2/igt@i915_module_load@reload.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/fi-icl-u2/igt@i915_module_load@reload.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#110595]: https://bugs.freedesktop.org/show_bug.cgi?id=110595
  [fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111560]: https://bugs.freedesktop.org/show_bug.cgi?id=111560
  [fdo#111562]: https://bugs.freedesktop.org/show_bug.cgi?id=111562


Participating hosts (53 -> 47)
------------------------------

  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6842 -> Patchwork_14303

  CI-20190529: 20190529
  CI_DRM_6842: 8e261b91905f757c19188ad1d38c9b6bfc2837d1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14303: 32997572cece937001794e3fbbc56b48b8e5acf9 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

32997572cece drm/i915/tgl: Register state context definition for Gen12
319509655960 drm/i915: Use engine relative LRIs on context setup

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14303/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
                   ` (5 preceding siblings ...)
  2019-09-06 14:16 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-09-06 15:04 ` Patchwork
  2019-09-06 16:24 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3) Patchwork
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-09-06 15:04 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup
URL   : https://patchwork.freedesktop.org/series/66335/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6841_full -> Patchwork_14302_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_14302_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-skl:          [PASS][1] -> [INCOMPLETE][2] ([fdo#104108])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-skl7/igt@gem_ctx_isolation@rcs0-s3.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-skl6/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#110841])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb3/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_schedule@independent-bsd2:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([fdo#109276]) +12 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb5/igt@gem_exec_schedule@independent-bsd2.html

  * igt@gem_exec_schedule@preempt-bsd:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#111325]) +4 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb7/igt@gem_exec_schedule@preempt-bsd.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb2/igt@gem_exec_schedule@preempt-bsd.html

  * igt@gem_exec_suspend@basic-s3-devices:
    - shard-apl:          [PASS][9] -> [FAIL][10] ([fdo#111550])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl4/igt@gem_exec_suspend@basic-s3-devices.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl7/igt@gem_exec_suspend@basic-s3-devices.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [PASS][11] -> [INCOMPLETE][12] ([fdo#103927]) +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl6/igt@gem_workarounds@suspend-resume-context.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl2/igt@gem_workarounds@suspend-resume-context.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress:
    - shard-hsw:          [PASS][13] -> [FAIL][14] ([fdo#111548]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw6/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw2/igt@i915_pm_rpm@modeset-non-lpsp-stress.html

  * igt@i915_suspend@forcewake:
    - shard-snb:          [PASS][15] -> [FAIL][16] ([fdo#103375]) +3 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-snb7/igt@i915_suspend@forcewake.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-snb4/igt@i915_suspend@forcewake.html
    - shard-kbl:          [PASS][17] -> [FAIL][18] ([fdo#103375])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-kbl2/igt@i915_suspend@forcewake.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-kbl3/igt@i915_suspend@forcewake.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +4 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl4/igt@i915_suspend@sysfs-reader.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl5/igt@i915_suspend@sysfs-reader.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-skl:          [PASS][21] -> [FAIL][22] ([fdo#105363])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-skl8/igt@kms_flip@flip-vs-expired-vblank.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-skl5/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible:
    - shard-hsw:          [PASS][23] -> [FAIL][24] ([fdo#100368])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw2/igt@kms_flip@plain-flip-fb-recreate-interruptible.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw2/igt@kms_flip@plain-flip-fb-recreate-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
    - shard-iclb:         [PASS][25] -> [FAIL][26] ([fdo#103167]) +5 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [PASS][27] -> [SKIP][28] ([fdo#109441]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_setmode@basic:
    - shard-hsw:          [PASS][29] -> [FAIL][30] ([fdo#99912])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw7/igt@kms_setmode@basic.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw7/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-hsw:          [PASS][31] -> [FAIL][32] ([fdo#103375]) +3 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw7/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw2/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html

  * igt@perf_pmu@other-init-1:
    - shard-apl:          [PASS][33] -> [FAIL][34] ([fdo#111545]) +7 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl4/igt@perf_pmu@other-init-1.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl7/igt@perf_pmu@other-init-1.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-apl:          [DMESG-WARN][35] ([fdo#108566]) -> [PASS][36] +3 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl7/igt@gem_ctx_isolation@rcs0-s3.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl6/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_eio@unwedge-stress:
    - shard-snb:          [FAIL][37] ([fdo#109661]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-snb2/igt@gem_eio@unwedge-stress.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-snb5/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][39] ([fdo#110854]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb6/igt@gem_exec_balancer@smoke.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb1/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@in-order-bsd:
    - shard-iclb:         [SKIP][41] ([fdo#111325]) -> [PASS][42] +4 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb5/igt@gem_exec_schedule@in-order-bsd.html

  * igt@gem_exec_schedule@pi-ringfull-blt:
    - shard-apl:          [FAIL][43] ([fdo#111547]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl3/igt@gem_exec_schedule@pi-ringfull-blt.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl4/igt@gem_exec_schedule@pi-ringfull-blt.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-hsw:          [FAIL][45] ([fdo#103375]) -> [PASS][46] +3 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw2/igt@gem_exec_suspend@basic-s3.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw1/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - shard-hsw:          [FAIL][47] ([fdo#111550]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw2/igt@gem_exec_suspend@basic-s4-devices.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw7/igt@gem_exec_suspend@basic-s4-devices.html
    - shard-apl:          [FAIL][49] ([fdo#111550]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl3/igt@gem_exec_suspend@basic-s4-devices.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl4/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@gem_mocs_settings@mocs-rc6-ctx-dirty-render:
    - shard-apl:          [SKIP][51] ([fdo#109271]) -> [PASS][52] +1 similar issue
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl3/igt@gem_mocs_settings@mocs-rc6-ctx-dirty-render.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl4/igt@gem_mocs_settings@mocs-rc6-ctx-dirty-render.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-snb:          [SKIP][53] ([fdo#109271]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-snb5/igt@i915_pm_rc6_residency@rc6-accuracy.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-snb2/igt@i915_pm_rc6_residency@rc6-accuracy.html

  * igt@i915_pm_rpm@system-suspend:
    - shard-hsw:          [FAIL][55] ([fdo#111548]) -> [PASS][56] +4 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw2/igt@i915_pm_rpm@system-suspend.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw4/igt@i915_pm_rpm@system-suspend.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-skl:          [INCOMPLETE][57] ([fdo#110741]) -> [PASS][58] +1 similar issue
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-skl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-skl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_flip@plain-flip-fb-recreate:
    - shard-skl:          [FAIL][59] ([fdo#100368]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-skl6/igt@kms_flip@plain-flip-fb-recreate.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-skl2/igt@kms_flip@plain-flip-fb-recreate.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
    - shard-iclb:         [FAIL][61] ([fdo#103167]) -> [PASS][62] +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-snb:          [FAIL][63] ([fdo#103375]) -> [PASS][64] +2 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-snb6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-snb6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
    - shard-skl:          [FAIL][65] ([fdo#103166]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-skl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-skl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [FAIL][67] ([fdo#108145]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [SKIP][69] ([fdo#109441]) -> [PASS][70] +2 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb1/igt@kms_psr@psr2_primary_mmap_cpu.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-apl:          [FAIL][71] ([fdo#103375]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl3/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@perf@blocking:
    - shard-skl:          [FAIL][73] ([fdo#110728]) -> [PASS][74] +1 similar issue
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-skl6/igt@perf@blocking.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-skl2/igt@perf@blocking.html

  * igt@perf_pmu@other-read-0:
    - shard-apl:          [FAIL][75] ([fdo#111545]) -> [PASS][76] +7 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-apl3/igt@perf_pmu@other-read-0.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-apl4/igt@perf_pmu@other-read-0.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [SKIP][77] ([fdo#109276]) -> [PASS][78] +13 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb6/igt@prime_busy@hang-bsd2.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb1/igt@prime_busy@hang-bsd2.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [SKIP][79] ([fdo#109276]) -> [FAIL][80] ([fdo#111329])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb7/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_mocs_settings@mocs-reset-bsd2:
    - shard-iclb:         [FAIL][81] ([fdo#111330]) -> [SKIP][82] ([fdo#109276])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-iclb1/igt@gem_mocs_settings@mocs-reset-bsd2.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-iclb8/igt@gem_mocs_settings@mocs-reset-bsd2.html

  * igt@i915_pm_rpm@dpms-lpsp:
    - shard-hsw:          [SKIP][83] ([fdo#109271]) -> [FAIL][84] ([fdo#111548]) +1 similar issue
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw6/igt@i915_pm_rpm@dpms-lpsp.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw2/igt@i915_pm_rpm@dpms-lpsp.html

  * igt@i915_pm_rpm@modeset-lpsp-stress:
    - shard-hsw:          [FAIL][85] ([fdo#111548]) -> [SKIP][86] ([fdo#109271]) +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6841/shard-hsw2/igt@i915_pm_rpm@modeset-lpsp-stress.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/shard-hsw7/igt@i915_pm_rpm@modeset-lpsp-stress.html

  
  [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#110741]: https://bugs.freedesktop.org/show_bug.cgi?id=110741
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
  [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111545]: https://bugs.freedesktop.org/show_bug.cgi?id=111545
  [fdo#111547]: https://bugs.freedesktop.org/show_bug.cgi?id=111547
  [fdo#111548]: https://bugs.freedesktop.org/show_bug.cgi?id=111548
  [fdo#111550]: https://bugs.freedesktop.org/show_bug.cgi?id=111550
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6841 -> Patchwork_14302

  CI-20190529: 20190529
  CI_DRM_6841: 5c24bcfb9c6036b32dbfdbc22d773473880ff498 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14302: 5f5d80a3dd019803bbba7d685805bade4a33d54c @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14302/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12
  2019-09-06 12:23 ` [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12 Mika Kuoppala
@ 2019-09-06 15:42   ` Daniele Ceraolo Spurio
  2019-09-06 16:29     ` Chris Wilson
  2019-09-06 16:55     ` Chris Wilson
  0 siblings, 2 replies; 17+ messages in thread
From: Daniele Ceraolo Spurio @ 2019-09-06 15:42 UTC (permalink / raw)
  To: Mika Kuoppala, intel-gfx; +Cc: Michel Thierry, Lucas De Marchi



On 9/6/19 5:23 AM, Mika Kuoppala wrote:
> From: Michel Thierry <michel.thierry@intel.com>
> 
> Gen12 has subtle changes in the reg state context offsets (some fields
> are gone, some are in a different location), compared to previous Gens.
> 
> The simplest approach seems to be keeping Gen12 (and future platform)
> changes apart from the previous gens, while keeping the registers that
> are contiguous in functions we can reuse.
> 
> v2: alias, virtual engine, rpcs, prune unused regs
> v3: use engine base (Daniele), take ctx_bb for all
> 
> Bspec: 46255
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Signed-off-by: Michel Thierry <michel.thierry@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

I've tested this on TGL, both the gem_ctx_switch that failed on ICL and 
exec_balancer@nop passed for me.

Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>

A couple of non-blocking nits below.

> ---
>   drivers/gpu/drm/i915/gt/intel_lrc.c     | 196 +++++++++++++++++-------
>   drivers/gpu/drm/i915/gt/intel_lrc_reg.h |   6 +-
>   2 files changed, 147 insertions(+), 55 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index 6c68ed2bf3d2..e9c873877253 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -808,8 +808,11 @@ static void virtual_update_register_offsets(u32 *regs,
>   {
>   	u32 base = engine->mmio_base;
>   
> +	GEM_WARN_ON(engine->class == COPY_ENGINE_CLASS);

Could use a comment up here to explain why, something like:

/* HW doesn't not support relative MMIO on COPY_ENGINE and we don't
implement offset remap for all gens in SW because there is only 1
instance */

> + >   	/* Must match execlists_init_reg_state()! */
>   
> +	/* Common part */
>   	regs[CTX_CONTEXT_CONTROL] =
>   		i915_mmio_reg_offset(RING_CONTEXT_CONTROL(base));
>   	regs[CTX_RING_HEAD] = i915_mmio_reg_offset(RING_HEAD(base));
> @@ -820,13 +823,16 @@ static void virtual_update_register_offsets(u32 *regs,
>   	regs[CTX_BB_HEAD_U] = i915_mmio_reg_offset(RING_BBADDR_UDW(base));
>   	regs[CTX_BB_HEAD_L] = i915_mmio_reg_offset(RING_BBADDR(base));
>   	regs[CTX_BB_STATE] = i915_mmio_reg_offset(RING_BBSTATE(base));
> +
>   	regs[CTX_SECOND_BB_HEAD_U] =
>   		i915_mmio_reg_offset(RING_SBBADDR_UDW(base));
>   	regs[CTX_SECOND_BB_HEAD_L] = i915_mmio_reg_offset(RING_SBBADDR(base));
>   	regs[CTX_SECOND_BB_STATE] = i915_mmio_reg_offset(RING_SBBSTATE(base));
>   
> +	/* PPGTT part */
>   	regs[CTX_CTX_TIMESTAMP] =
>   		i915_mmio_reg_offset(RING_CTX_TIMESTAMP(base));
> +
>   	regs[CTX_PDP3_UDW] = i915_mmio_reg_offset(GEN8_RING_PDP_UDW(base, 3));
>   	regs[CTX_PDP3_LDW] = i915_mmio_reg_offset(GEN8_RING_PDP_LDW(base, 3));
>   	regs[CTX_PDP2_UDW] = i915_mmio_reg_offset(GEN8_RING_PDP_UDW(base, 2));
> @@ -3123,37 +3129,13 @@ static u32 intel_lr_indirect_ctx_offset(struct intel_engine_cs *engine)
>   	return indirect_ctx_offset;
>   }
>   
> -static struct i915_ppgtt *vm_alias(struct i915_address_space *vm)
> -{
> -	if (i915_is_ggtt(vm))
> -		return i915_vm_to_ggtt(vm)->alias;
> -	else
> -		return i915_vm_to_ppgtt(vm);
> -}
>   
> -static void execlists_init_reg_state(u32 *regs,
> -				     struct intel_context *ce,
> -				     struct intel_engine_cs *engine,
> -				     struct intel_ring *ring)
> +static void init_common_reg_state(u32 * const regs,
> +				  struct i915_ppgtt * const ppgtt,
> +				  struct intel_engine_cs *engine,
> +				  struct intel_ring *ring)
>   {
> -	struct i915_ppgtt *ppgtt = vm_alias(ce->vm);
> -	const bool rcs = engine->class == RENDER_CLASS;
>   	const u32 base = engine->mmio_base;
> -	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
> -		MI_LRI_CS_MMIO : 0;
> -
> -	/*
> -	 * A context is actually a big batch buffer with several
> -	 * MI_LOAD_REGISTER_IMM commands followed by (reg, value) pairs. The
> -	 * values we are setting here are only for the first context restore:
> -	 * on a subsequent save, the GPU will recreate this batchbuffer with new
> -	 * values (including all the missing MI_LOAD_REGISTER_IMM commands that
> -	 * we are not initializing here).
> -	 *
> -	 * Must keep consistent with virtual_update_register_offsets().
> -	 */
> -	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 14 : 11) |
> -		MI_LRI_FORCE_POSTED | lri_base;
>   
>   	CTX_REG(regs, CTX_CONTEXT_CONTROL, RING_CONTEXT_CONTROL(base),
>   		_MASKED_BIT_DISABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT) |
> @@ -3171,39 +3153,43 @@ static void execlists_init_reg_state(u32 *regs,
>   	CTX_REG(regs, CTX_BB_HEAD_U, RING_BBADDR_UDW(base), 0);
>   	CTX_REG(regs, CTX_BB_HEAD_L, RING_BBADDR(base), 0);
>   	CTX_REG(regs, CTX_BB_STATE, RING_BBSTATE(base), RING_BB_PPGTT);
> -	CTX_REG(regs, CTX_SECOND_BB_HEAD_U, RING_SBBADDR_UDW(base), 0);
> -	CTX_REG(regs, CTX_SECOND_BB_HEAD_L, RING_SBBADDR(base), 0);
> -	CTX_REG(regs, CTX_SECOND_BB_STATE, RING_SBBSTATE(base), 0);
> -	if (rcs) {
> -		struct i915_ctx_workarounds *wa_ctx = &engine->wa_ctx;
> -
> -		CTX_REG(regs, CTX_RCS_INDIRECT_CTX, RING_INDIRECT_CTX(base), 0);
> -		CTX_REG(regs, CTX_RCS_INDIRECT_CTX_OFFSET,
> -			RING_INDIRECT_CTX_OFFSET(base), 0);
> -		if (wa_ctx->indirect_ctx.size) {
> -			u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
> +}
>   
> -			regs[CTX_RCS_INDIRECT_CTX + 1] =
> -				(ggtt_offset + wa_ctx->indirect_ctx.offset) |
> -				(wa_ctx->indirect_ctx.size / CACHELINE_BYTES);
> +static void init_wa_bb_reg_state(u32 * const regs,
> +				 struct intel_engine_cs *engine,
> +				 u32 pos_bb_per_ctx)
> +{
> +	struct i915_ctx_workarounds * const wa_ctx = &engine->wa_ctx;
> +	const u32 base = engine->mmio_base;
> +	const u32 pos_indirect_ctx = pos_bb_per_ctx + 2;
> +	const u32 pos_indirect_ctx_offset = pos_indirect_ctx + 2;
>   
> -			regs[CTX_RCS_INDIRECT_CTX_OFFSET + 1] =
> -				intel_lr_indirect_ctx_offset(engine) << 6;
> -		}
> +	CTX_REG(regs, pos_indirect_ctx, RING_INDIRECT_CTX(base), 0);
> +	CTX_REG(regs, pos_indirect_ctx_offset,
> +		RING_INDIRECT_CTX_OFFSET(base), 0);
> +	if (wa_ctx->indirect_ctx.size) {
> +		const u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
>   
> -		CTX_REG(regs, CTX_BB_PER_CTX_PTR, RING_BB_PER_CTX_PTR(base), 0);
> -		if (wa_ctx->per_ctx.size) {
> -			u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
> +		regs[pos_indirect_ctx + 1] =
> +			(ggtt_offset + wa_ctx->indirect_ctx.offset) |
> +			(wa_ctx->indirect_ctx.size / CACHELINE_BYTES);
>   
> -			regs[CTX_BB_PER_CTX_PTR + 1] =
> -				(ggtt_offset + wa_ctx->per_ctx.offset) | 0x01;
> -		}
> +		regs[pos_indirect_ctx_offset + 1] =
> +			intel_lr_indirect_ctx_offset(engine) << 6;
>   	}
>   
> -	regs[CTX_LRI_HEADER_1] =
> -		MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED | lri_base;
> +	CTX_REG(regs, pos_bb_per_ctx, RING_BB_PER_CTX_PTR(base), 0);
> +	if (wa_ctx->per_ctx.size) {
> +		const u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma);
>   
> -	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
> +		regs[pos_bb_per_ctx + 1] =
> +			(ggtt_offset + wa_ctx->per_ctx.offset) | 0x01;
> +	}
> +}
> +
> +static void init_ppgtt_reg_state(u32 *regs, u32 base,
> +				 struct i915_ppgtt *ppgtt)
> +{
>   	/* PDP values well be assigned later if needed */
>   	CTX_REG(regs, CTX_PDP3_UDW, GEN8_RING_PDP_UDW(base, 3), 0);
>   	CTX_REG(regs, CTX_PDP3_LDW, GEN8_RING_PDP_LDW(base, 3), 0);
> @@ -3226,6 +3212,53 @@ static void execlists_init_reg_state(u32 *regs,
>   		ASSIGN_CTX_PDP(ppgtt, regs, 1);
>   		ASSIGN_CTX_PDP(ppgtt, regs, 0);
>   	}
> +}
> +
> +static struct i915_ppgtt *vm_alias(struct i915_address_space *vm)
> +{
> +	if (i915_is_ggtt(vm))
> +		return i915_vm_to_ggtt(vm)->alias;
> +	else
> +		return i915_vm_to_ppgtt(vm);
> +}
> +
> +static void gen8_init_reg_state(u32 * const regs,
> +				struct intel_context *ce,
> +				struct intel_engine_cs *engine,
> +				struct intel_ring *ring)
> +{
> +	struct i915_ppgtt * const ppgtt = vm_alias(ce->vm);
> +	const bool rcs = engine->class == RENDER_CLASS;
> +	const u32 base = engine->mmio_base;
> +	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
> +		MI_LRI_CS_MMIO : 0;
> +
> +	/*
> +	 * A context is actually a big batch buffer with several
> +	 * MI_LOAD_REGISTER_IMM commands followed by (reg, value) pairs. The
> +	 * values we are setting here are only for the first context restore:
> +	 * on a subsequent save, the GPU will recreate this batchbuffer with new
> +	 * values (including all the missing MI_LOAD_REGISTER_IMM commands that
> +	 * we are not initializing here).
> +	 *
> +	 * Must keep consistent with virtual_update_register_offsets().
> +	 */
> +	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 14 : 11) |
> +		MI_LRI_FORCE_POSTED | lri_base;
> +
> +	init_common_reg_state(regs, ppgtt, engine, ring);
> +	CTX_REG(regs, CTX_SECOND_BB_HEAD_U, RING_SBBADDR_UDW(base), 0);
> +	CTX_REG(regs, CTX_SECOND_BB_HEAD_L, RING_SBBADDR(base), 0);
> +	CTX_REG(regs, CTX_SECOND_BB_STATE, RING_SBBSTATE(base), 0);
> +	if (rcs)
> +		init_wa_bb_reg_state(regs, engine, CTX_BB_PER_CTX_PTR);
> +
> +	regs[CTX_LRI_HEADER_1] =
> +		MI_LOAD_REGISTER_IMM(9) | MI_LRI_FORCE_POSTED | lri_base;
> +
> +	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
> +
> +	init_ppgtt_reg_state(regs, base, ppgtt);
>   
>   	if (rcs) {
>   		regs[CTX_LRI_HEADER_2] = MI_LOAD_REGISTER_IMM(1) | lri_base;
> @@ -3237,6 +3270,61 @@ static void execlists_init_reg_state(u32 *regs,
>   		regs[CTX_END] |= BIT(0);
>   }
>   
> +static void gen12_init_reg_state(u32 * const regs,
> +				 struct intel_context *ce,
> +				 struct intel_engine_cs *engine,
> +				 struct intel_ring *ring)
> +{
> +	struct i915_ppgtt * const ppgtt = i915_vm_to_ppgtt(ce->vm);
> +	const bool rcs = engine->class == RENDER_CLASS;
> +	const u32 base = engine->mmio_base;
> +	const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
> +		MI_LRI_CS_MMIO : 0;
> +
> +	GEM_DEBUG_EXEC(DRM_INFO_ONCE("Using GEN12 Register State Context\n"));
> +
> +	regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 11 : 9) |

I would've kept a constant 13 here since we'll need to set the 13th 
register (that's the semaphore reg you had in the previous revision), 
but anyway we can bump it when that support is added in.

Daniele

> +		MI_LRI_FORCE_POSTED | lri_base;
> +
> +	init_common_reg_state(regs, ppgtt, engine, ring);
> +
> +	/* We want ctx_ptr for all engines to be set */
> +	init_wa_bb_reg_state(regs, engine, GEN12_CTX_BB_PER_CTX_PTR);
> +
> +	regs[CTX_LRI_HEADER_1] = MI_LOAD_REGISTER_IMM(9) |
> +		MI_LRI_FORCE_POSTED | lri_base;
> +
> +	CTX_REG(regs, CTX_CTX_TIMESTAMP, RING_CTX_TIMESTAMP(base), 0);
> +
> +	init_ppgtt_reg_state(regs, base, ppgtt);
> +
> +	if (rcs) {
> +		regs[GEN12_CTX_LRI_HEADER_3] = MI_LOAD_REGISTER_IMM(1) |
> +			lri_base;
> +		CTX_REG(regs, CTX_R_PWR_CLK_STATE, GEN8_R_PWR_CLK_STATE, 0);
> +
> +		/* TODO: oa_init_reg_state ? */
> +	}
> +}
> +
> +static void execlists_init_reg_state(u32 *regs,
> +				     struct intel_context *ce,
> +				     struct intel_engine_cs *engine,
> +				     struct intel_ring *ring)
> +{
> +	/* A context is actually a big batch buffer with several
> +	 * MI_LOAD_REGISTER_IMM commands followed by (reg, value) pairs. The
> +	 * values we are setting here are only for the first context restore:
> +	 * on a subsequent save, the GPU will recreate this batchbuffer with new
> +	 * values (including all the missing MI_LOAD_REGISTER_IMM commands that
> +	 * we are not initializing here).
> +	 */
> +	if (INTEL_GEN(engine->i915) >= 12)
> +		gen12_init_reg_state(regs, ce, engine, ring);
> +	else
> +		gen8_init_reg_state(regs, ce, engine, ring);
> +}
> +
>   static int
>   populate_lr_context(struct intel_context *ce,
>   		    struct drm_i915_gem_object *ctx_obj,
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc_reg.h b/drivers/gpu/drm/i915/gt/intel_lrc_reg.h
> index b8f20ad71169..68caf8541866 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc_reg.h
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc_reg.h
> @@ -9,7 +9,7 @@
>   
>   #include <linux/types.h>
>   
> -/* GEN8+ Reg State Context */
> +/* GEN8 to GEN11 Reg State Context */
>   #define CTX_LRI_HEADER_0		0x01
>   #define CTX_CONTEXT_CONTROL		0x02
>   #define CTX_RING_HEAD			0x04
> @@ -39,6 +39,10 @@
>   #define CTX_R_PWR_CLK_STATE		0x42
>   #define CTX_END				0x44
>   
> +/* GEN12+ Reg State Context */
> +#define GEN12_CTX_BB_PER_CTX_PTR		0x12
> +#define GEN12_CTX_LRI_HEADER_3			0x41
> +
>   #define CTX_REG(reg_state, pos, reg, val) do { \
>   	u32 *reg_state__ = (reg_state); \
>   	const u32 pos__ = (pos); \
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3)
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
                   ` (6 preceding siblings ...)
  2019-09-06 15:04 ` ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup Patchwork
@ 2019-09-06 16:24 ` Patchwork
  2019-09-06 16:48 ` ✓ Fi.CI.BAT: success " Patchwork
  2019-09-06 21:26 ` ✓ Fi.CI.IGT: " Patchwork
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-09-06 16:24 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3)
URL   : https://patchwork.freedesktop.org/series/66335/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
49f66db7db65 drm/i915: Use engine relative LRIs on context setup
-:62: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV)
#62: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:136:
+#define   MI_LRI_CS_MMIO		(1<<19)
                         		  ^

total: 0 errors, 0 warnings, 1 checks, 95 lines checked
bc7adb0fc5b7 drm/i915/tgl: Register state context definition for Gen12

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12
  2019-09-06 15:42   ` Daniele Ceraolo Spurio
@ 2019-09-06 16:29     ` Chris Wilson
  2019-09-06 16:55     ` Chris Wilson
  1 sibling, 0 replies; 17+ messages in thread
From: Chris Wilson @ 2019-09-06 16:29 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, Mika Kuoppala, intel-gfx
  Cc: Michel Thierry, Lucas De Marchi

Quoting Daniele Ceraolo Spurio (2019-09-06 16:42:50)
> 
> On 9/6/19 5:23 AM, Mika Kuoppala wrote:
> > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> > @@ -808,8 +808,11 @@ static void virtual_update_register_offsets(u32 *regs,
> >   {
> >       u32 base = engine->mmio_base;
> >   
> > +     GEM_WARN_ON(engine->class == COPY_ENGINE_CLASS);
> 
> Could use a comment up here to explain why, something like:
> 
> /* HW doesn't not support relative MMIO on COPY_ENGINE and we don't
> implement offset remap for all gens in SW because there is only 1
> instance */

What's the point of the check anyway? If the LRI are not using
relative addressing, we need to fixup the offsets. Aiui, it should just
be GEM_BUG_ON(intel_engine_has_relative_mmio(engine)). That we have only
a single instance in a particular class just means we never even call
the update function currently.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3)
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
                   ` (7 preceding siblings ...)
  2019-09-06 16:24 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3) Patchwork
@ 2019-09-06 16:48 ` Patchwork
  2019-09-06 21:26 ` ✓ Fi.CI.IGT: " Patchwork
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-09-06 16:48 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3)
URL   : https://patchwork.freedesktop.org/series/66335/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6844 -> Patchwork_14304
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_14304:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_sync@basic-all:
    - {fi-tgl-u}:         NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/fi-tgl-u/igt@gem_sync@basic-all.html

  
Known issues
------------

  Here are the changes found in Patchwork_14304 that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@gem_busy@busy-all:
    - {fi-tgl-u}:         [FAIL][2] ([fdo#111560]) -> [PASS][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/fi-tgl-u/igt@gem_busy@busy-all.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/fi-tgl-u/igt@gem_busy@busy-all.html

  * igt@gem_close_race@basic-process:
    - {fi-tgl-u}:         [INCOMPLETE][4] -> [PASS][5]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/fi-tgl-u/igt@gem_close_race@basic-process.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/fi-tgl-u/igt@gem_close_race@basic-process.html

  * igt@i915_selftest@live_execlists:
    - fi-skl-gvtdvm:      [DMESG-FAIL][6] ([fdo#111108]) -> [PASS][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

  
#### Warnings ####

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-icl-u2:          [FAIL][8] ([fdo#109483]) -> [DMESG-WARN][9] ([fdo#102505] / [fdo#110390])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][10] ([fdo#111096]) -> [FAIL][11] ([fdo#111407])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102505]: https://bugs.freedesktop.org/show_bug.cgi?id=102505
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#110390]: https://bugs.freedesktop.org/show_bug.cgi?id=110390
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111560]: https://bugs.freedesktop.org/show_bug.cgi?id=111560


Participating hosts (53 -> 45)
------------------------------

  Additional (1): fi-bxt-dsi 
  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-bdw-samus fi-icl-guc fi-byt-clapper fi-skl-6600u 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6844 -> Patchwork_14304

  CI-20190529: 20190529
  CI_DRM_6844: 7b96905a215c38f4cf53f51d864dcabbc2aa5b16 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5172: 073caf4acb7cac63abe7a5e1409ea27a764db5fd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14304: bc7adb0fc5b7bc8e4e044e55d5879db939f02f21 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

bc7adb0fc5b7 drm/i915/tgl: Register state context definition for Gen12
49f66db7db65 drm/i915: Use engine relative LRIs on context setup

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12
  2019-09-06 15:42   ` Daniele Ceraolo Spurio
  2019-09-06 16:29     ` Chris Wilson
@ 2019-09-06 16:55     ` Chris Wilson
  1 sibling, 0 replies; 17+ messages in thread
From: Chris Wilson @ 2019-09-06 16:55 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, Mika Kuoppala, intel-gfx
  Cc: Michel Thierry, Lucas De Marchi

Quoting Daniele Ceraolo Spurio (2019-09-06 16:42:50)
> 
> > +static void gen12_init_reg_state(u32 * const regs,
> > +                              struct intel_context *ce,
> > +                              struct intel_engine_cs *engine,
> > +                              struct intel_ring *ring)
> > +{
> > +     struct i915_ppgtt * const ppgtt = i915_vm_to_ppgtt(ce->vm);
> > +     const bool rcs = engine->class == RENDER_CLASS;
> > +     const u32 base = engine->mmio_base;
> > +     const u32 lri_base = intel_engine_has_relative_mmio(engine) ?
> > +             MI_LRI_CS_MMIO : 0;
> > +
> > +     GEM_DEBUG_EXEC(DRM_INFO_ONCE("Using GEN12 Register State Context\n"));
> > +
> > +     regs[CTX_LRI_HEADER_0] = MI_LOAD_REGISTER_IMM(rcs ? 11 : 9) |
> 
> I would've kept a constant 13 here since we'll need to set the 13th 
> register (that's the semaphore reg you had in the previous revision), 
> but anyway we can bump it when that support is added in.

I left this for a future task. Early next week I hope to have a new
selftest ready that enforces that our init_reg_state() matches the HW
layout. For now, this gets us onto the next error we need to debug.

Thanks for the patches and reviewing,
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3)
  2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
                   ` (8 preceding siblings ...)
  2019-09-06 16:48 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-09-06 21:26 ` Patchwork
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-09-06 21:26 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3)
URL   : https://patchwork.freedesktop.org/series/66335/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6844_full -> Patchwork_14304_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_14304_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_switch@bcs0-heavy-queue:
    - shard-apl:          [PASS][1] -> [INCOMPLETE][2] ([fdo#103927])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl4/igt@gem_ctx_switch@bcs0-heavy-queue.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl5/igt@gem_ctx_switch@bcs0-heavy-queue.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#111325]) +3 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb3/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb2/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-apl:          [PASS][5] -> [FAIL][6] ([fdo#103375])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl7/igt@gem_exec_suspend@basic-s3.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl1/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-kbl:          [PASS][7] -> [SKIP][8] ([fdo#109271])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-kbl6/igt@i915_pm_rc6_residency@rc6-accuracy.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-kbl2/igt@i915_pm_rc6_residency@rc6-accuracy.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-snb:          [PASS][9] -> [FAIL][10] ([fdo#103375])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-snb6/igt@i915_suspend@fence-restore-untiled.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-snb4/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          [PASS][11] -> [FAIL][12] ([fdo#105363])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-skl:          [PASS][13] -> [FAIL][14] ([fdo#105363])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl9/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-hsw:          [PASS][15] -> [INCOMPLETE][16] ([fdo#103540])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-hsw2/igt@kms_flip@flip-vs-suspend.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-hsw1/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-snb:          [PASS][17] -> [INCOMPLETE][18] ([fdo#105411])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-snb6/igt@kms_flip@flip-vs-suspend-interruptible.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-snb1/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
    - shard-iclb:         [PASS][19] -> [FAIL][20] ([fdo#103167]) +4 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-apl:          [PASS][21] -> [DMESG-WARN][22] ([fdo#108566]) +5 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl6/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl3/igt@kms_frontbuffer_tracking@fbc-suspend.html
    - shard-skl:          [PASS][23] -> [INCOMPLETE][24] ([fdo#104108])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl7/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl8/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [PASS][25] -> [FAIL][26] ([fdo#108145])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [PASS][27] -> [FAIL][28] ([fdo#108341])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb4/igt@kms_psr@no_drrs.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend:
    - shard-kbl:          [PASS][29] -> [INCOMPLETE][30] ([fdo#103665])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html

  * igt@kms_vblank@pipe-b-ts-continuation-suspend:
    - shard-iclb:         [PASS][31] -> [INCOMPLETE][32] ([fdo#107713])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb5/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb6/igt@kms_vblank@pipe-b-ts-continuation-suspend.html

  * igt@perf@short-reads:
    - shard-apl:          [PASS][33] -> [FAIL][34] ([fdo#103183])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl6/igt@perf@short-reads.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl5/igt@perf@short-reads.html

  * igt@perf_pmu@enable-race-vecs0:
    - shard-apl:          [PASS][35] -> [TIMEOUT][36] ([fdo#111545])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl4/igt@perf_pmu@enable-race-vecs0.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl1/igt@perf_pmu@enable-race-vecs0.html

  * igt@perf_pmu@render-node-busy-vcs0:
    - shard-apl:          [PASS][37] -> [FAIL][38] ([fdo#111545]) +4 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl7/igt@perf_pmu@render-node-busy-vcs0.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl1/igt@perf_pmu@render-node-busy-vcs0.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [PASS][39] -> [SKIP][40] ([fdo#109276]) +9 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb1/igt@prime_vgem@fence-wait-bsd2.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb8/igt@prime_vgem@fence-wait-bsd2.html

  
#### Possible fixes ####

  * igt@gem_exec_schedule@preempt-queue-bsd:
    - shard-iclb:         [SKIP][41] ([fdo#111325]) -> [PASS][42] +4 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb1/igt@gem_exec_schedule@preempt-queue-bsd.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb8/igt@gem_exec_schedule@preempt-queue-bsd.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-apl:          [DMESG-WARN][43] ([fdo#108566]) -> [PASS][44] +5 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl5/igt@i915_suspend@fence-restore-tiled2untiled.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl7/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-skl:          [INCOMPLETE][45] ([fdo#110741]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-skl:          [INCOMPLETE][47] ([fdo#104108]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl2/igt@kms_fbcon_fbt@psr-suspend.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl2/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_flip@dpms-off-confusion-interruptible:
    - shard-hsw:          [INCOMPLETE][49] ([fdo#103540]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-hsw1/igt@kms_flip@dpms-off-confusion-interruptible.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-hsw2/igt@kms_flip@dpms-off-confusion-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-skl:          [FAIL][51] ([fdo#103167]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl9/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [FAIL][53] ([fdo#103167]) -> [PASS][54] +4 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-snb:          [FAIL][55] ([fdo#103375]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-snb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-snb2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-apl:          [FAIL][57] ([fdo#103375]) -> [PASS][58] +1 similar issue
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-snb:          [DMESG-WARN][59] ([fdo#102365]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-snb6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-snb6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [FAIL][61] ([fdo#108145]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [FAIL][63] ([fdo#103166]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb5/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb7/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
    - shard-skl:          [DMESG-WARN][65] ([fdo#106885]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl3/igt@kms_plane_multiple@atomic-pipe-c-tiling-y.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl1/igt@kms_plane_multiple@atomic-pipe-c-tiling-y.html

  * igt@kms_psr@psr2_cursor_plane_move:
    - shard-iclb:         [SKIP][67] ([fdo#109441]) -> [PASS][68] +2 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb8/igt@kms_psr@psr2_cursor_plane_move.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][69] ([fdo#99912]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl7/igt@kms_setmode@basic.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl4/igt@kms_setmode@basic.html

  * igt@perf@blocking:
    - shard-skl:          [FAIL][71] ([fdo#110728]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-skl5/igt@perf@blocking.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-skl10/igt@perf@blocking.html

  * igt@perf_pmu@enable-race-bcs0:
    - shard-apl:          [TIMEOUT][73] ([fdo#111545]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl3/igt@perf_pmu@enable-race-bcs0.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl7/igt@perf_pmu@enable-race-bcs0.html

  * igt@perf_pmu@render-node-busy-idle-bcs0:
    - shard-apl:          [FAIL][75] ([fdo#111545]) -> [PASS][76] +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl3/igt@perf_pmu@render-node-busy-idle-bcs0.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl7/igt@perf_pmu@render-node-busy-idle-bcs0.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [SKIP][77] ([fdo#109276]) -> [PASS][78] +16 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb8/igt@prime_busy@hang-bsd2.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb2/igt@prime_busy@hang-bsd2.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-apl:          [DMESG-WARN][79] ([fdo#108566]) -> [FAIL][80] ([fdo#103375])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl7/igt@gem_ctx_isolation@rcs0-s3.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl1/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [FAIL][81] ([fdo#111329]) -> [SKIP][82] ([fdo#109276])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_mocs_settings@mocs-reset-bsd2:
    - shard-iclb:         [SKIP][83] ([fdo#109276]) -> [FAIL][84] ([fdo#111330])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-iclb7/igt@gem_mocs_settings@mocs-reset-bsd2.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-iclb4/igt@gem_mocs_settings@mocs-reset-bsd2.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [FAIL][85] ([fdo#103375]) -> [DMESG-WARN][86] ([fdo#108566])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6844/shard-apl3/igt@gem_workarounds@suspend-resume-context.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/shard-apl5/igt@gem_workarounds@suspend-resume-context.html

  
  [fdo#102365]: https://bugs.freedesktop.org/show_bug.cgi?id=102365
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103183]: https://bugs.freedesktop.org/show_bug.cgi?id=103183
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#106885]: https://bugs.freedesktop.org/show_bug.cgi?id=106885
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#110741]: https://bugs.freedesktop.org/show_bug.cgi?id=110741
  [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
  [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111545]: https://bugs.freedesktop.org/show_bug.cgi?id=111545
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6844 -> Patchwork_14304

  CI-20190529: 20190529
  CI_DRM_6844: 7b96905a215c38f4cf53f51d864dcabbc2aa5b16 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5172: 073caf4acb7cac63abe7a5e1409ea27a764db5fd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14304: bc7adb0fc5b7bc8e4e044e55d5879db939f02f21 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14304/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-09-06 21:26 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-06 12:23 [PATCH 1/2] drm/i915: Use engine relative LRIs on context setup Mika Kuoppala
2019-09-06 12:23 ` [PATCH 2/2] drm/i915/tgl: Register state context definition for Gen12 Mika Kuoppala
2019-09-06 15:42   ` Daniele Ceraolo Spurio
2019-09-06 16:29     ` Chris Wilson
2019-09-06 16:55     ` Chris Wilson
2019-09-06 12:32 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup Patchwork
2019-09-06 12:56 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-06 13:29   ` Mika Kuoppala
2019-09-06 13:31 ` [PATCH 1/2] " Mika Kuoppala
2019-09-06 13:41   ` Chris Wilson
2019-09-06 13:49   ` Mika Kuoppala
2019-09-06 13:52 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev2) Patchwork
2019-09-06 14:16 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-06 15:04 ` ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup Patchwork
2019-09-06 16:24 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use engine relative LRIs on context setup (rev3) Patchwork
2019-09-06 16:48 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-06 21:26 ` ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.