All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 1/2] drm/i915/gt: preempt engine to idle before reset
@ 2022-03-16 13:07 Tejas Upadhyay
  2022-03-16 13:07 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: preempt and reset based on reset domain Tejas Upadhyay
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Tejas Upadhyay @ 2022-03-16 13:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Tejas Upadhyay, Chris Wilson

From: Chris Wilson <chris@chris-wilson.co.uk>

We need to be able to suspend execution along an
engine and flush any active contexts away from
the HW, back into the execution queue. This is
done using a preempt-to-idle, disabling the
submission backed while sending a preemption
request to ELSP. Unpon completion of the context
switch into the preemption context, we know the
existing contexts are now idle.

This is useful for reset, as it means we can
proceed knowing that the engine is idle or hung
(and so needs a reset).

Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_engine_types.h  |   4 +-
 .../drm/i915/gt/intel_execlists_submission.c  | 131 +++++++++++++++++-
 drivers/gpu/drm/i915/gt/intel_reset.c         |   9 ++
 3 files changed, 142 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h
index eac20112709c..194155de900d 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
@@ -237,6 +237,7 @@ struct intel_engine_execlists {
 	 */
 	struct rb_root_cached virtual;
 
+	struct intel_context *preempt_context;
 	/**
 	 * @csb_write: control register for Context Switch buffer
 	 *
@@ -445,8 +446,9 @@ struct intel_engine_cs {
 	void		(*irq_disable)(struct intel_engine_cs *engine);
 	void		(*irq_handler)(struct intel_engine_cs *engine, u16 iir);
 
-	void		(*sanitize)(struct intel_engine_cs *engine);
+	int             (*suspend)(struct intel_engine_cs *engine);
 	int		(*resume)(struct intel_engine_cs *engine);
+	void		(*sanitize)(struct intel_engine_cs *engine);
 
 	struct {
 		void (*prepare)(struct intel_engine_cs *engine);
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index e1470bb60f34..006e2d9a53e3 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -2440,6 +2440,125 @@ static void execlists_submission_tasklet(struct tasklet_struct *t)
 	rcu_read_unlock();
 }
 
+static void suspend_tasklet(struct tasklet_struct *t)
+{
+	struct i915_sched_engine *se = from_tasklet(se, t, tasklet);
+	struct intel_engine_cs * const engine = se->private_data;
+	struct i915_request *post[EXECLIST_MAX_PORTS];
+
+	rcu_read_lock();
+	post_process_csb(post, process_csb(engine, post));
+	rcu_read_unlock();
+}
+
+/* XXX return error and force a full reset if we fail to
+ * preempt-to-idle
+ */
+static int execlists_suspend(struct intel_engine_cs *engine)
+{
+	struct i915_sched_engine *se = engine->sched_engine;
+	struct intel_engine_execlists * const el = &engine->execlists;
+	unsigned long timeout;
+	int err;
+
+	/* Stop further submissions, but listen for our own preempt-to-idle */
+	tasklet_disable(&se->tasklet);
+	se->tasklet.callback = suspend_tasklet;
+	tasklet_enable(&se->tasklet);
+
+	/*
+	 * We have to wait for the HW to complete a pending context switch
+	 * before we can write to ELS[PQ] again. Otherwise the behaviour
+	 * is undefined...
+	 *
+	 * If the engine is truly hung, it will neither clear pending
+	 * nor respond to our preemption request. In the later case,
+	 * we have the dilemma of how to restore hang detection...
+	 */
+	timeout = jiffies + HZ / 2;
+	while (READ_ONCE(el->pending[0]) && time_before(jiffies, timeout))
+		intel_engine_flush_submission(engine);
+	if (READ_ONCE(el->pending[0])) {
+		err = -EBUSY;
+		goto err;
+	}
+
+	if (*el->active) { /* preempt to idle required */
+		struct i915_request **pending = el->pending;
+		struct intel_context *ce = el->preempt_context;
+		u64 desc;
+		int n;
+
+		/* Always submit an empty / idle context */
+		desc = lrc_update_regs(ce, engine, ce->ring->tail);
+
+		/*
+		 * As we submit a dummy context, we will get two events.
+		 * First a preemption of the running context, causing us
+		 * to promote el->pending to el->inflight. And then
+		 * we will receive a completion event as our context
+		 * idles.
+		 *
+		 * We can use any dummy request here for tracking the
+		 * preemption events.
+		 */
+		execlists_schedule_in(*el->active, 0);
+		*pending++ = i915_request_get(*el->active);
+		*pending++ = NULL;
+
+		/* Tell the HW to preempt to our special context */
+		for (n = execlists_num_ports(el); --n; )
+			write_desc(el, 0, n);
+		write_desc(el, desc, 0);
+		if (el->ctrl_reg)
+			writel(EL_CTRL_LOAD, el->ctrl_reg);
+
+		timeout = jiffies + HZ / 2;
+		while (READ_ONCE(el->pending[0]) &&
+		       time_before(jiffies, timeout))
+			intel_engine_flush_submission(engine);
+
+		if (READ_ONCE(el->pending[0])) {
+			err = -EIO;
+			goto err;
+		}
+	}
+
+	return 0;
+
+err:
+	tasklet_disable(&se->tasklet);
+	se->tasklet.callback = execlists_submission_tasklet;
+	tasklet_enable(&se->tasklet);
+	return err;
+}
+
+static int setup_preempt_to_idle(struct intel_engine_cs *engine)
+{
+	struct intel_engine_execlists * const el = &engine->execlists;
+	static struct lock_class_key preempt;
+	struct intel_context *ce;
+
+	ce = intel_engine_create_pinned_context(engine, engine->gt->vm, SZ_4K,
+						I915_GEM_HWS_SEQNO_ADDR, /* unused */
+						&preempt, "preempt_context");
+	if (IS_ERR(ce))
+		return PTR_ERR(ce);
+
+	el->preempt_context = ce;
+	return 0;
+}
+
+static void cleanup_preempt_to_idle(struct intel_engine_cs *engine)
+{
+	struct intel_engine_execlists * const el = &engine->execlists;
+
+	if (el->preempt_context) {
+		intel_engine_destroy_pinned_context(el->preempt_context);
+		el->preempt_context = NULL;
+	}
+}
+
 static void execlists_irq_handler(struct intel_engine_cs *engine, u16 iir)
 {
 	bool tasklet = false;
@@ -2907,6 +3026,10 @@ static void enable_execlists(struct intel_engine_cs *engine)
 
 static int execlists_resume(struct intel_engine_cs *engine)
 {
+	struct i915_sched_engine *se = engine->sched_engine;
+
+	se->tasklet.callback = execlists_submission_tasklet;
+
 	intel_mocs_init_engine(engine);
 	intel_breadcrumbs_reset(engine->breadcrumbs);
 
@@ -3337,6 +3460,7 @@ static void execlists_release(struct intel_engine_cs *engine)
 	engine->sanitize = NULL; /* no longer in control, nothing to sanitize */
 
 	execlists_shutdown(engine);
+	cleanup_preempt_to_idle(engine);
 
 	intel_engine_cleanup_common(engine);
 	lrc_fini_wa_ctx(engine);
@@ -3378,7 +3502,7 @@ static void
 logical_ring_default_vfuncs(struct intel_engine_cs *engine)
 {
 	/* Default vfuncs which can be overridden by each engine. */
-
+	engine->suspend = execlists_suspend;
 	engine->resume = execlists_resume;
 
 	engine->cops = &execlists_context_ops;
@@ -3480,6 +3604,7 @@ int intel_execlists_submission_setup(struct intel_engine_cs *engine)
 	struct drm_i915_private *i915 = engine->i915;
 	struct intel_uncore *uncore = engine->uncore;
 	u32 base = engine->mmio_base;
+	int err;
 
 	tasklet_setup(&engine->sched_engine->tasklet, execlists_submission_tasklet);
 	timer_setup(&engine->execlists.timer, execlists_timeslice, 0);
@@ -3491,6 +3616,10 @@ int intel_execlists_submission_setup(struct intel_engine_cs *engine)
 	if (engine->flags & I915_ENGINE_HAS_RCS_REG_STATE)
 		rcs_submission_override(engine);
 
+	err = setup_preempt_to_idle(engine);
+	if (err)
+		return err;
+
 	lrc_init_wa_ctx(engine);
 
 	if (HAS_LOGICAL_RING_ELSQ(i915)) {
diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
index a6ae213c7d89..e10718e2eee9 100644
--- a/drivers/gpu/drm/i915/gt/intel_reset.c
+++ b/drivers/gpu/drm/i915/gt/intel_reset.c
@@ -772,6 +772,12 @@ static intel_engine_mask_t reset_prepare(struct intel_gt *gt)
 	intel_engine_mask_t awake = 0;
 	enum intel_engine_id id;
 
+	intel_uncore_forcewake_get(gt->uncore, FORCEWAKE_ALL);
+	/* XXX Assumes we have reset_domain broadening */
+	for_each_engine(engine, gt, id)
+		if (engine->suspend)
+			engine->suspend(engine);
+
 	for_each_engine(engine, gt, id) {
 		if (intel_engine_pm_get_if_awake(engine))
 			awake |= engine->mask;
@@ -830,11 +836,14 @@ static void reset_finish(struct intel_gt *gt, intel_engine_mask_t awake)
 
 	for_each_engine(engine, gt, id) {
 		reset_finish_engine(engine);
+		if (engine->resume)
+			engine->resume(engine);
 		if (awake & engine->mask)
 			intel_engine_pm_put(engine);
 	}
 
 	intel_uc_reset_finish(&gt->uc);
+	intel_uncore_forcewake_put(gt->uncore, FORCEWAKE_ALL);
 }
 
 static void nop_submit_request(struct i915_request *request)
-- 
2.34.1


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

* [Intel-gfx] [PATCH 2/2] drm/i915/gt: preempt and reset based on reset domain
  2022-03-16 13:07 [Intel-gfx] [PATCH 1/2] drm/i915/gt: preempt engine to idle before reset Tejas Upadhyay
@ 2022-03-16 13:07 ` Tejas Upadhyay
  2022-03-16 20:19   ` kernel test robot
  2022-03-16 14:43 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915/gt: preempt engine to idle before reset Patchwork
  2022-03-16 15:23 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
  2 siblings, 1 reply; 5+ messages in thread
From: Tejas Upadhyay @ 2022-03-16 13:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Tejas Upadhyay, Chris Wilson

When we have shared reset domains, as we the engine
may be indirectly coupled to the stalled engine, and
we need to idle the current context to prevent
collateral damage.

Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_engine.h               | 3 ++-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c            | 6 ++++++
 drivers/gpu/drm/i915/gt/intel_engine_types.h         | 8 ++++++++
 drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 7 ++++++-
 drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c  | 2 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c         | 4 ++--
 drivers/gpu/drm/i915/selftests/i915_request.c        | 5 ++---
 7 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine.h b/drivers/gpu/drm/i915/gt/intel_engine.h
index 1c0ab05c3c40..a6ea0cdd8b53 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine.h
@@ -282,7 +282,8 @@ intel_engine_has_preempt_reset(const struct intel_engine_cs *engine)
 	if (!CONFIG_DRM_I915_PREEMPT_TIMEOUT)
 		return false;
 
-	return intel_engine_has_preemption(engine);
+	return intel_engine_has_preemption(engine) &&
+	       !intel_engine_has_shared_reset_domain(engine);
 }
 
 #define FORCE_VIRTUAL	BIT(0)
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 8080479f27aa..b28120f0158a 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -472,7 +472,13 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id,
 static void __setup_engine_capabilities(struct intel_engine_cs *engine)
 {
 	struct drm_i915_private *i915 = engine->i915;
+	enum intel_engine_id id;
+	struct intel_engine_cs *e;
 
+	for_each_engine(e, engine->gt, id)
+		if ((e->reset_domain & engine->reset_domain) &&
+		    e->id != engine->id)
+			engine->flags |= I915_ENGINE_HAS_SHARED_RESET_DOMAIN;
 	if (engine->class == VIDEO_DECODE_CLASS) {
 		/*
 		 * HEVC support is present on first engine instance
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h
index 194155de900d..d27103b23318 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
@@ -531,6 +531,8 @@ struct intel_engine_cs {
 #define I915_ENGINE_HAS_RCS_REG_STATE  BIT(9)
 #define I915_ENGINE_HAS_EU_PRIORITY    BIT(10)
 #define I915_ENGINE_FIRST_RENDER_COMPUTE BIT(11)
+#define I915_ENGINE_HAS_SHARED_RESET_DOMAIN BIT(9)
+
 	unsigned int flags;
 
 	/*
@@ -598,6 +600,12 @@ intel_engine_supports_stats(const struct intel_engine_cs *engine)
 	return engine->flags & I915_ENGINE_SUPPORTS_STATS;
 }
 
+static inline bool
+intel_engine_has_shared_reset_domain(const struct intel_engine_cs *engine)
+{
+	return engine->flags & I915_ENGINE_HAS_SHARED_RESET_DOMAIN;
+}
+
 static inline bool
 intel_engine_has_preemption(const struct intel_engine_cs *engine)
 {
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index 006e2d9a53e3..9dda02956494 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -2461,6 +2461,9 @@ static int execlists_suspend(struct intel_engine_cs *engine)
 	unsigned long timeout;
 	int err;
 
+	if (!intel_engine_pm_get_if_awake(engine))
+		return 0;
+	ENGINE_TRACE(engine, "supending active engine\n");
 	/* Stop further submissions, but listen for our own preempt-to-idle */
 	tasklet_disable(&se->tasklet);
 	se->tasklet.callback = suspend_tasklet;
@@ -2524,12 +2527,14 @@ static int execlists_suspend(struct intel_engine_cs *engine)
 		}
 	}
 
-	return 0;
+	goto out;
 
 err:
 	tasklet_disable(&se->tasklet);
 	se->tasklet.callback = execlists_submission_tasklet;
 	tasklet_enable(&se->tasklet);
+out:
+	intel_engine_pm_put(engine);
 	return err;
 }
 
diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
index 273d440a53e3..939bbea7ce1b 100644
--- a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
+++ b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
@@ -356,7 +356,7 @@ static int live_heartbeat_off(void *arg)
 		return 0;
 
 	for_each_engine(engine, gt, id) {
-		if (!intel_engine_has_preemption(engine))
+		if (!intel_engine_has_preempt_reset(engine))
 			continue;
 
 		err = __live_heartbeat_off(engine);
diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c
index 09f8cd2d0e2c..3eb3496cfb7e 100644
--- a/drivers/gpu/drm/i915/gt/selftest_execlists.c
+++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c
@@ -2389,7 +2389,7 @@ static int live_preempt_cancel(void *arg)
 		goto err_client_a;
 
 	for_each_engine(data.engine, gt, id) {
-		if (!intel_engine_has_preemption(data.engine))
+		if (!intel_engine_has_preempt_reset(data.engine))
 			continue;
 
 		err = __cancel_active0(&data);
@@ -3399,7 +3399,7 @@ static int live_preempt_timeout(void *arg)
 		unsigned long saved_timeout;
 		struct i915_request *rq;
 
-		if (!intel_engine_has_preemption(engine))
+		if (!intel_engine_has_preempt_reset(engine))
 			continue;
 
 		rq = spinner_create_request(&spin_lo, ctx_lo, engine,
diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c
index c56a0c2cd2f7..e80363c81d6b 100644
--- a/drivers/gpu/drm/i915/selftests/i915_request.c
+++ b/drivers/gpu/drm/i915/selftests/i915_request.c
@@ -803,8 +803,7 @@ static int __cancel_reset(struct drm_i915_private *i915,
 	unsigned long preempt_timeout_ms;
 	int err = 0;
 
-	if (!CONFIG_DRM_I915_PREEMPT_TIMEOUT ||
-	    !intel_has_reset_engine(engine->gt))
+	if (!intel_engine_has_preempt_reset(engine))
 		return 0;
 
 	preempt_timeout_ms = engine->props.preempt_timeout_ms;
@@ -906,7 +905,7 @@ static int live_cancel_request(void *arg)
 		struct igt_live_test t;
 		int err, err2;
 
-		if (!intel_engine_has_preemption(engine))
+		if (!intel_engine_has_preempt_reset(engine))
 			continue;
 
 		err = igt_live_test_begin(&t, i915, __func__, engine->name);
-- 
2.34.1


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

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915/gt: preempt engine to idle before reset
  2022-03-16 13:07 [Intel-gfx] [PATCH 1/2] drm/i915/gt: preempt engine to idle before reset Tejas Upadhyay
  2022-03-16 13:07 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: preempt and reset based on reset domain Tejas Upadhyay
@ 2022-03-16 14:43 ` Patchwork
  2022-03-16 15:23 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2022-03-16 14:43 UTC (permalink / raw)
  To: Tejas Upadhyay; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gt: preempt engine to idle before reset
URL   : https://patchwork.freedesktop.org/series/101432/
State : warning

== Summary ==

$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/gt: preempt engine to idle before reset
  2022-03-16 13:07 [Intel-gfx] [PATCH 1/2] drm/i915/gt: preempt engine to idle before reset Tejas Upadhyay
  2022-03-16 13:07 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: preempt and reset based on reset domain Tejas Upadhyay
  2022-03-16 14:43 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915/gt: preempt engine to idle before reset Patchwork
@ 2022-03-16 15:23 ` Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2022-03-16 15:23 UTC (permalink / raw)
  To: Tejas Upadhyay; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 27340 bytes --]

== Series Details ==

Series: series starting with [1/2] drm/i915/gt: preempt engine to idle before reset
URL   : https://patchwork.freedesktop.org/series/101432/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11368 -> Patchwork_22586
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_22586 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_22586, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/index.html

Participating hosts (48 -> 44)
------------------------------

  Additional (4): bat-rpls-1 bat-dg2-9 bat-dg1-6 bat-dg1-5 
  Missing    (8): shard-tglu fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-pnv-d510 shard-rkl shard-dg1 fi-bdw-samus 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-snb-2600:        [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-snb-2600/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-snb-2600/igt@core_hotunplug@unbind-rebind.html
    - fi-snb-2520m:       [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-snb-2520m/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-snb-2520m/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_hangman@error-state-basic:
    - fi-kbl-guc:         [PASS][5] -> [FAIL][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-kbl-guc/igt@i915_hangman@error-state-basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-kbl-guc/igt@i915_hangman@error-state-basic.html
    - fi-kbl-8809g:       [PASS][7] -> [FAIL][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-kbl-8809g/igt@i915_hangman@error-state-basic.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-kbl-8809g/igt@i915_hangman@error-state-basic.html
    - bat-dg1-5:          NOTRUN -> [FAIL][9]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@i915_hangman@error-state-basic.html
    - fi-cfl-8700k:       [PASS][10] -> [FAIL][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-cfl-8700k/igt@i915_hangman@error-state-basic.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-cfl-8700k/igt@i915_hangman@error-state-basic.html
    - fi-kbl-x1275:       [PASS][12] -> [FAIL][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-kbl-x1275/igt@i915_hangman@error-state-basic.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-kbl-x1275/igt@i915_hangman@error-state-basic.html
    - fi-skl-6700k2:      [PASS][14] -> [FAIL][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-skl-6700k2/igt@i915_hangman@error-state-basic.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-skl-6700k2/igt@i915_hangman@error-state-basic.html
    - fi-skl-guc:         [PASS][16] -> [FAIL][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-skl-guc/igt@i915_hangman@error-state-basic.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-skl-guc/igt@i915_hangman@error-state-basic.html
    - fi-kbl-7567u:       [PASS][18] -> [FAIL][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-kbl-7567u/igt@i915_hangman@error-state-basic.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-kbl-7567u/igt@i915_hangman@error-state-basic.html
    - fi-glk-j4005:       [PASS][20] -> [FAIL][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-glk-j4005/igt@i915_hangman@error-state-basic.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-glk-j4005/igt@i915_hangman@error-state-basic.html
    - fi-cfl-guc:         [PASS][22] -> [FAIL][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-cfl-guc/igt@i915_hangman@error-state-basic.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-cfl-guc/igt@i915_hangman@error-state-basic.html
    - fi-tgl-1115g4:      [PASS][24] -> [FAIL][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-tgl-1115g4/igt@i915_hangman@error-state-basic.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-tgl-1115g4/igt@i915_hangman@error-state-basic.html
    - fi-bxt-dsi:         [PASS][26] -> [FAIL][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-bxt-dsi/igt@i915_hangman@error-state-basic.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-bxt-dsi/igt@i915_hangman@error-state-basic.html
    - bat-dg1-6:          NOTRUN -> [FAIL][28]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@i915_hangman@error-state-basic.html
    - fi-kbl-7500u:       [PASS][29] -> [FAIL][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-kbl-7500u/igt@i915_hangman@error-state-basic.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-kbl-7500u/igt@i915_hangman@error-state-basic.html
    - fi-kbl-soraka:      [PASS][31] -> [FAIL][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-kbl-soraka/igt@i915_hangman@error-state-basic.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-kbl-soraka/igt@i915_hangman@error-state-basic.html
    - fi-glk-dsi:         [PASS][33] -> [FAIL][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-glk-dsi/igt@i915_hangman@error-state-basic.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-glk-dsi/igt@i915_hangman@error-state-basic.html
    - fi-cfl-8109u:       [PASS][35] -> [FAIL][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-cfl-8109u/igt@i915_hangman@error-state-basic.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-cfl-8109u/igt@i915_hangman@error-state-basic.html
    - fi-rkl-guc:         [PASS][37] -> [FAIL][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-rkl-guc/igt@i915_hangman@error-state-basic.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-rkl-guc/igt@i915_hangman@error-state-basic.html

  * igt@i915_selftest@live@hangcheck:
    - fi-glk-j4005:       [PASS][39] -> [INCOMPLETE][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-glk-j4005/igt@i915_selftest@live@hangcheck.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-glk-j4005/igt@i915_selftest@live@hangcheck.html
    - fi-ivb-3770:        [PASS][41] -> [INCOMPLETE][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@mman:
    - fi-bwr-2160:        [PASS][43] -> [INCOMPLETE][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-bwr-2160/igt@i915_selftest@live@mman.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-bwr-2160/igt@i915_selftest@live@mman.html
    - fi-ilk-650:         [PASS][45] -> [INCOMPLETE][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-ilk-650/igt@i915_selftest@live@mman.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-ilk-650/igt@i915_selftest@live@mman.html
    - fi-hsw-4770:        [PASS][47] -> [INCOMPLETE][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-hsw-4770/igt@i915_selftest@live@mman.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-hsw-4770/igt@i915_selftest@live@mman.html
    - fi-elk-e7500:       [PASS][49] -> [INCOMPLETE][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-elk-e7500/igt@i915_selftest@live@mman.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-elk-e7500/igt@i915_selftest@live@mman.html
    - fi-blb-e6850:       [PASS][51] -> [INCOMPLETE][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-blb-e6850/igt@i915_selftest@live@mman.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-blb-e6850/igt@i915_selftest@live@mman.html

  
#### Suppressed ####

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

  * igt@gem_ringfill@basic-all:
    - {bat-dg2-9}:        NOTRUN -> [DMESG-WARN][53]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg2-9/igt@gem_ringfill@basic-all.html

  * igt@i915_hangman@error-state-basic:
    - {fi-tgl-dsi}:       [PASS][54] -> [FAIL][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-tgl-dsi/igt@i915_hangman@error-state-basic.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-tgl-dsi/igt@i915_hangman@error-state-basic.html
    - {bat-rpls-2}:       [PASS][56] -> [FAIL][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-rpls-2/igt@i915_hangman@error-state-basic.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-rpls-2/igt@i915_hangman@error-state-basic.html
    - {fi-adl-ddr5}:      [PASS][58] -> [FAIL][59]
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-adl-ddr5/igt@i915_hangman@error-state-basic.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-adl-ddr5/igt@i915_hangman@error-state-basic.html
    - {bat-jsl-2}:        [PASS][60] -> [FAIL][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-jsl-2/igt@i915_hangman@error-state-basic.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-jsl-2/igt@i915_hangman@error-state-basic.html
    - {bat-adlp-6}:       [PASS][62] -> [FAIL][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-adlp-6/igt@i915_hangman@error-state-basic.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-adlp-6/igt@i915_hangman@error-state-basic.html
    - {fi-ehl-2}:         [PASS][64] -> [FAIL][65]
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-ehl-2/igt@i915_hangman@error-state-basic.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-ehl-2/igt@i915_hangman@error-state-basic.html
    - {bat-jsl-1}:        [PASS][66] -> [FAIL][67]
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-jsl-1/igt@i915_hangman@error-state-basic.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-jsl-1/igt@i915_hangman@error-state-basic.html
    - {fi-jsl-1}:         [PASS][68] -> [FAIL][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-jsl-1/igt@i915_hangman@error-state-basic.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-jsl-1/igt@i915_hangman@error-state-basic.html

  * igt@i915_pm_rps@basic-api:
    - {bat-dg2-8}:        [PASS][70] -> [FAIL][71] +1 similar issue
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-dg2-8/igt@i915_pm_rps@basic-api.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg2-8/igt@i915_pm_rps@basic-api.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@read_all_entries:
    - fi-cfl-8109u:       [PASS][72] -> [DMESG-WARN][73] ([i915#203] / [i915#262] / [i915#295])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-cfl-8109u/igt@debugfs_test@read_all_entries.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-cfl-8109u/igt@debugfs_test@read_all_entries.html

  * igt@fbdev@eof:
    - bat-dg1-5:          NOTRUN -> [SKIP][74] ([i915#2582]) +4 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@fbdev@eof.html

  * igt@gem_exec_gttfill@basic:
    - bat-dg1-6:          NOTRUN -> [SKIP][75] ([i915#4086])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@gem_exec_gttfill@basic.html
    - bat-dg1-5:          NOTRUN -> [SKIP][76] ([i915#4086])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@gem_exec_gttfill@basic.html

  * igt@gem_exec_suspend@basic-s0@smem:
    - fi-cfl-8109u:       [PASS][77] -> [DMESG-WARN][78] ([i915#203] / [i915#295])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0@smem.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@gem_mmap@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][79] ([i915#4083])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@gem_mmap@basic.html
    - bat-dg1-6:          NOTRUN -> [SKIP][80] ([i915#4083])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@gem_mmap@basic.html

  * igt@gem_mmap_gtt@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][81] ([i915#4077]) +2 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@gem_mmap_gtt@basic.html

  * igt@gem_tiled_blits@basic:
    - bat-dg1-6:          NOTRUN -> [SKIP][82] ([i915#4077]) +2 similar issues
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@gem_tiled_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-6:          NOTRUN -> [SKIP][83] ([i915#4079]) +1 similar issue
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@gem_tiled_pread_basic.html
    - bat-dg1-5:          NOTRUN -> [SKIP][84] ([i915#4079]) +1 similar issue
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - bat-dg1-5:          NOTRUN -> [SKIP][85] ([i915#1155])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html
    - bat-dg1-6:          NOTRUN -> [SKIP][86] ([i915#1155])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-6:          NOTRUN -> [FAIL][87] ([i915#4032])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-5:          NOTRUN -> [INCOMPLETE][88] ([i915#4418])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-6:          NOTRUN -> [DMESG-FAIL][89] ([i915#4494] / [i915#4957])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@i915_selftest@live@hangcheck.html

  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
    - bat-dg1-6:          NOTRUN -> [SKIP][90] ([i915#4212]) +7 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-5:          NOTRUN -> [SKIP][91] ([i915#4215])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html
    - bat-dg1-6:          NOTRUN -> [SKIP][92] ([i915#4215])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@tile-pitch-mismatch:
    - bat-dg1-5:          NOTRUN -> [SKIP][93] ([i915#4212]) +7 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_addfb_basic@tile-pitch-mismatch.html

  * igt@kms_busy@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][94] ([i915#4303])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_busy@basic.html

  * igt@kms_chamelium@dp-hpd-fast:
    - bat-dg1-5:          NOTRUN -> [SKIP][95] ([fdo#111827]) +8 similar issues
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_chamelium@dp-hpd-fast.html

  * igt@kms_chamelium@hdmi-edid-read:
    - bat-dg1-6:          NOTRUN -> [SKIP][96] ([fdo#111827]) +8 similar issues
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@kms_chamelium@hdmi-edid-read.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - bat-dg1-5:          NOTRUN -> [SKIP][97] ([i915#4103] / [i915#4213]) +1 similar issue
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
    - bat-dg1-6:          NOTRUN -> [SKIP][98] ([i915#4103] / [i915#4213]) +1 similar issue
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-dg1-6:          NOTRUN -> [SKIP][99] ([fdo#109285])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-5:          NOTRUN -> [SKIP][100] ([fdo#109285])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c:
    - bat-dg1-5:          NOTRUN -> [SKIP][101] ([i915#4078] / [i915#5341])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
    - bat-dg1-5:          NOTRUN -> [SKIP][102] ([i915#4078]) +23 similar issues
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html

  * igt@kms_psr@cursor_plane_move:
    - bat-dg1-6:          NOTRUN -> [SKIP][103] ([i915#1072] / [i915#4078]) +3 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@kms_psr@cursor_plane_move.html

  * igt@kms_psr@primary_page_flip:
    - bat-dg1-5:          NOTRUN -> [SKIP][104] ([i915#1072] / [i915#4078]) +3 similar issues
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_psr@primary_page_flip.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg1-6:          NOTRUN -> [SKIP][105] ([i915#3555])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-5:          NOTRUN -> [SKIP][106] ([i915#3555])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg1-5:          NOTRUN -> [SKIP][107] ([i915#3708]) +3 similar issues
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@prime_vgem@basic-fence-flip.html
    - bat-dg1-6:          NOTRUN -> [SKIP][108] ([i915#3708]) +3 similar issues
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg1-5:          NOTRUN -> [SKIP][109] ([i915#3708] / [i915#4077]) +1 similar issue
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-gtt:
    - bat-dg1-6:          NOTRUN -> [SKIP][110] ([i915#3708] / [i915#4077]) +1 similar issue
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-userptr:
    - bat-dg1-6:          NOTRUN -> [SKIP][111] ([i915#3708] / [i915#4873])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-6/igt@prime_vgem@basic-userptr.html
    - bat-dg1-5:          NOTRUN -> [SKIP][112] ([i915#3708] / [i915#4873])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-ilk-650:         NOTRUN -> [FAIL][113] ([fdo#109271] / [i915#4312])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-ilk-650/igt@runner@aborted.html
    - fi-hsw-4770:        NOTRUN -> [FAIL][114] ([fdo#109271] / [i915#1436] / [i915#2722] / [i915#4312])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-hsw-4770/igt@runner@aborted.html
    - fi-ivb-3770:        NOTRUN -> [FAIL][115] ([fdo#109271] / [i915#4312])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-ivb-3770/igt@runner@aborted.html
    - fi-glk-j4005:       NOTRUN -> [FAIL][116] ([i915#2426] / [i915#4312] / [k.org#202321])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-glk-j4005/igt@runner@aborted.html
    - fi-blb-e6850:       NOTRUN -> [FAIL][117] ([fdo#109271] / [i915#2403] / [i915#4312])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-blb-e6850/igt@runner@aborted.html
    - bat-dg1-5:          NOTRUN -> [FAIL][118] ([i915#4312] / [i915#5257])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-dg1-5/igt@runner@aborted.html
    - fi-bdw-5557u:       NOTRUN -> [FAIL][119] ([i915#2426] / [i915#4312])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-bdw-5557u/igt@runner@aborted.html
    - fi-bwr-2160:        NOTRUN -> [FAIL][120] ([i915#2722] / [i915#4312])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-bwr-2160/igt@runner@aborted.html
    - fi-elk-e7500:       NOTRUN -> [FAIL][121] ([fdo#109271] / [i915#4312])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/fi-elk-e7500/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hugepages:
    - {bat-rpls-2}:       [DMESG-WARN][122] ([i915#5278]) -> [PASS][123]
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-rpls-2/igt@i915_selftest@live@hugepages.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-rpls-2/igt@i915_selftest@live@hugepages.html

  * igt@i915_selftest@live@sanitycheck:
    - {bat-rpls-2}:       [DMESG-WARN][124] ([i915#4391]) -> [PASS][125] +1 similar issue
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-rpls-2/igt@i915_selftest@live@sanitycheck.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-rpls-2/igt@i915_selftest@live@sanitycheck.html

  * igt@kms_flip@basic-flip-vs-modeset@a-edp1:
    - {bat-adlp-6}:       [DMESG-WARN][126] ([i915#3576]) -> [PASS][127]
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11368/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@a-edp1.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@a-edp1.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#203]: https://gitlab.freedesktop.org/drm/intel/issues/203
  [i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576
  [i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4032]: https://gitlab.freedesktop.org/drm/intel/issues/4032
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4086]: https://gitlab.freedesktop.org/drm/intel/issues/4086
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4303]: https://gitlab.freedesktop.org/drm/intel/issues/4303
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
  [i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4897]: https://gitlab.freedesktop.org/drm/intel/issues/4897
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#5087]: https://gitlab.freedesktop.org/drm/intel/issues/5087
  [i915#5192]: https://gitlab.freedesktop.org/drm/intel/issues/5192
  [i915#5193]: https://gitlab.freedesktop.org/drm/intel/issues/5193
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#5270]: https://gitlab.freedesktop.org/drm/intel/issues/5270
  [i915#5278]: https://gitlab.freedesktop.org/drm/intel/issues/5278
  [i915#5323]: https://gitlab.freedesktop.org/drm/intel/issues/5323
  [i915#5339]: https://gitlab.freedesktop.org/drm/intel/issues/5339
  [i915#5341]: https://gitlab.freedesktop.org/drm/intel/issues/5341
  [i915#5356]: https://gitlab.freedesktop.org/drm/intel/issues/5356
  [k.org#202321]: https://bugzilla.kernel.org/show_bug.cgi?id=202321


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

  * Linux: CI_DRM_11368 -> Patchwork_22586

  CI-20190529: 20190529
  CI_DRM_11368: 66b3d1ac616565206cddf4327ca7c102b651b032 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6382: a6a5a178cb1cbe0dab8d8d092a4aee932ccb93cc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_22586: b4426e52080bf86ccfa6e737a817f461573648eb @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b4426e52080b drm/i915/gt: preempt and reset based on reset domain
48b1b2d476fe drm/i915/gt: preempt engine to idle before reset

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22586/index.html

[-- Attachment #2: Type: text/html, Size: 31741 bytes --]

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

* Re: [Intel-gfx] [PATCH 2/2] drm/i915/gt: preempt and reset based on reset domain
  2022-03-16 13:07 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: preempt and reset based on reset domain Tejas Upadhyay
@ 2022-03-16 20:19   ` kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-03-16 20:19 UTC (permalink / raw)
  To: Tejas Upadhyay, intel-gfx; +Cc: llvm, kbuild-all, Tejas Upadhyay, Chris Wilson

Hi Tejas,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next v5.17-rc8 next-20220316]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Tejas-Upadhyay/drm-i915-gt-preempt-engine-to-idle-before-reset/20220316-215054
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-randconfig-a005 (https://download.01.org/0day-ci/archive/20220317/202203170430.cDmFRpYE-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a6ec1e3d798f8eab43fb3a91028c6ab04e115fcb)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/06139e9768f3f8e43bf061ae6292feb7daf07944
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Tejas-Upadhyay/drm-i915-gt-preempt-engine-to-idle-before-reset/20220316-215054
        git checkout 06139e9768f3f8e43bf061ae6292feb7daf07944
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/i915/gt/intel_execlists_submission.c:2524:7: warning: variable 'err' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
                   if (READ_ONCE(el->pending[0])) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:47:28: note: expanded from macro 'READ_ONCE'
   #define READ_ONCE(x)                                                    \
                                                                           ^
   drivers/gpu/drm/i915/gt/intel_execlists_submission.c:2538:9: note: uninitialized use occurs here
           return err;
                  ^~~
   drivers/gpu/drm/i915/gt/intel_execlists_submission.c:2524:3: note: remove the 'if' if its condition is always true
                   if (READ_ONCE(el->pending[0])) {
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gt/intel_execlists_submission.c:2489:6: warning: variable 'err' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
           if (*el->active) { /* preempt to idle required */
               ^~~~~~~~~~~
   drivers/gpu/drm/i915/gt/intel_execlists_submission.c:2538:9: note: uninitialized use occurs here
           return err;
                  ^~~
   drivers/gpu/drm/i915/gt/intel_execlists_submission.c:2489:2: note: remove the 'if' if its condition is always true
           if (*el->active) { /* preempt to idle required */
           ^~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gt/intel_execlists_submission.c:2462:9: note: initialize the variable 'err' to silence this warning
           int err;
                  ^
                   = 0
   2 warnings generated.


vim +2524 drivers/gpu/drm/i915/gt/intel_execlists_submission.c

c3b2b6ffcd31318 Chris Wilson   2022-03-16  2453  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2454  /* XXX return error and force a full reset if we fail to
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2455   * preempt-to-idle
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2456   */
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2457  static int execlists_suspend(struct intel_engine_cs *engine)
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2458  {
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2459  	struct i915_sched_engine *se = engine->sched_engine;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2460  	struct intel_engine_execlists * const el = &engine->execlists;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2461  	unsigned long timeout;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2462  	int err;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2463  
06139e9768f3f8e Tejas Upadhyay 2022-03-16  2464  	if (!intel_engine_pm_get_if_awake(engine))
06139e9768f3f8e Tejas Upadhyay 2022-03-16  2465  		return 0;
06139e9768f3f8e Tejas Upadhyay 2022-03-16  2466  	ENGINE_TRACE(engine, "supending active engine\n");
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2467  	/* Stop further submissions, but listen for our own preempt-to-idle */
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2468  	tasklet_disable(&se->tasklet);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2469  	se->tasklet.callback = suspend_tasklet;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2470  	tasklet_enable(&se->tasklet);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2471  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2472  	/*
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2473  	 * We have to wait for the HW to complete a pending context switch
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2474  	 * before we can write to ELS[PQ] again. Otherwise the behaviour
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2475  	 * is undefined...
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2476  	 *
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2477  	 * If the engine is truly hung, it will neither clear pending
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2478  	 * nor respond to our preemption request. In the later case,
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2479  	 * we have the dilemma of how to restore hang detection...
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2480  	 */
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2481  	timeout = jiffies + HZ / 2;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2482  	while (READ_ONCE(el->pending[0]) && time_before(jiffies, timeout))
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2483  		intel_engine_flush_submission(engine);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2484  	if (READ_ONCE(el->pending[0])) {
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2485  		err = -EBUSY;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2486  		goto err;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2487  	}
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2488  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2489  	if (*el->active) { /* preempt to idle required */
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2490  		struct i915_request **pending = el->pending;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2491  		struct intel_context *ce = el->preempt_context;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2492  		u64 desc;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2493  		int n;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2494  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2495  		/* Always submit an empty / idle context */
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2496  		desc = lrc_update_regs(ce, engine, ce->ring->tail);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2497  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2498  		/*
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2499  		 * As we submit a dummy context, we will get two events.
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2500  		 * First a preemption of the running context, causing us
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2501  		 * to promote el->pending to el->inflight. And then
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2502  		 * we will receive a completion event as our context
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2503  		 * idles.
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2504  		 *
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2505  		 * We can use any dummy request here for tracking the
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2506  		 * preemption events.
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2507  		 */
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2508  		execlists_schedule_in(*el->active, 0);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2509  		*pending++ = i915_request_get(*el->active);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2510  		*pending++ = NULL;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2511  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2512  		/* Tell the HW to preempt to our special context */
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2513  		for (n = execlists_num_ports(el); --n; )
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2514  			write_desc(el, 0, n);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2515  		write_desc(el, desc, 0);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2516  		if (el->ctrl_reg)
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2517  			writel(EL_CTRL_LOAD, el->ctrl_reg);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2518  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2519  		timeout = jiffies + HZ / 2;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2520  		while (READ_ONCE(el->pending[0]) &&
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2521  		       time_before(jiffies, timeout))
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2522  			intel_engine_flush_submission(engine);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2523  
c3b2b6ffcd31318 Chris Wilson   2022-03-16 @2524  		if (READ_ONCE(el->pending[0])) {
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2525  			err = -EIO;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2526  			goto err;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2527  		}
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2528  	}
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2529  
06139e9768f3f8e Tejas Upadhyay 2022-03-16  2530  	goto out;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2531  
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2532  err:
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2533  	tasklet_disable(&se->tasklet);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2534  	se->tasklet.callback = execlists_submission_tasklet;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2535  	tasklet_enable(&se->tasklet);
06139e9768f3f8e Tejas Upadhyay 2022-03-16  2536  out:
06139e9768f3f8e Tejas Upadhyay 2022-03-16  2537  	intel_engine_pm_put(engine);
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2538  	return err;
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2539  }
c3b2b6ffcd31318 Chris Wilson   2022-03-16  2540  

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

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

end of thread, other threads:[~2022-03-16 20:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-16 13:07 [Intel-gfx] [PATCH 1/2] drm/i915/gt: preempt engine to idle before reset Tejas Upadhyay
2022-03-16 13:07 ` [Intel-gfx] [PATCH 2/2] drm/i915/gt: preempt and reset based on reset domain Tejas Upadhyay
2022-03-16 20:19   ` kernel test robot
2022-03-16 14:43 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915/gt: preempt engine to idle before reset Patchwork
2022-03-16 15:23 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " 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.