* [PATCH v9 0/2] Resolve suspend-resume racing with GuC destroy-context-worker
@ 2023-12-28 4:55 ` Alan Previn
0 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-28 4:55 UTC (permalink / raw)
To: intel-gfx; +Cc: Alan Previn, Tvrtko Ursulin, dri-devel, Rodrigo Vivi
This series is the result of debugging issues root caused to
races between the GuC's destroyed_worker_func being triggered
vs repeating suspend-resume cycles with concurrent delayed
fence signals for engine-freeing.
The reproduction steps require that an app is launched right
before the start of the suspend cycle where it creates a
new gem context and submits a tiny workload that would
complete in the middle of the suspend cycle. However this
app uses dma-buffer sharing or dma-fence with non-GPU
objects or signals that eventually triggers a FENCE_FREE
via__i915_sw_fence_notify that connects to engines_notify ->
free_engines_rcu -> intel_context_put ->
kref_put(&ce->ref..) that queues the worker after the GuCs
CTB has been disabled (i.e. after i915-gem's suspend-late).
This sequence is a corner-case and required repeating this
app->suspend->resume cycle ~1500 times across 4 identical
systems to see it once. That said, based on above callstack,
it is clear that merely flushing the context destruction worker,
which is obviously missing and needed, isn't sufficient.
Because of that, this series adds additional patches besides
the obvious (Patch #1) flushing of the worker during the
suspend flows. It also includes (Patch #2) closing a race
between sending the context-deregistration H2G vs the CTB
getting disabled in the midst of it (by detecing the failure
and unrolling the guc-lrc-unpin flow) and adding an additional
rcu_barrier in the gem-suspend flow to purge outstanding
rcu defered tasks that may include context destruction.
This patch was tested and confirmed to be reliably working
after running ~1500 suspend resume cycles on 4 concurrent
machines.
Changes from prior revs:
v8: - Rebase again to resolve conflicts (Rodrigo).
v7: - Rebase on latest drm-tip.
v6: - Dont hold the spinlock while calling deregister_context
which can take a longer time. (Rodrigo)
- Fix / improve of comments. (Rodrigo)
- Release the ce->guc_state.lock before calling
deregister_context and retake it if we fail. (John/Daniele).
v5: - Remove Patch #3 which doesnt solve this exact bug
but can be a separate patch(Tvrtko).
v4: - In Patch #2, change the position of the calls into
rcu_barrier based on latest testing data. (Alan/Anshuman).
- In Patch #3, fix the timeout value selection for the
final gt-pm idle-wait that was incorrectly using a 'ns'
#define as a milisec timeout.
v3: - In Patch #3, when deregister_context fails, instead
of calling intel_gt_pm_put(that might sleep), call
__intel_wakeref_put (without ASYNC flag) (Rodrigo/Anshuman).
- In wait_for_suspend add an rcu_barrier before we
proceed to wait for idle. (Anshuman)
v2: - Patch #2 Restructure code in guc_lrc_desc_unpin so
it's more readible to differentiate (1)direct guc-id
cleanup ..vs (2) sending the H2G ctx-destroy action ..
vs (3) the unrolling steps if the H2G fails.
- Patch #2 Add a check to close the race sooner by checking
for intel_guc_is_ready from destroyed_worker_func.
- Patch #2 When guc_submission_send_busy_loop gets a
failure from intel_guc_send_busy_loop, we need to undo
i.e. decrement the outstanding_submission_g2h.
- Patch #3 In wait_for_suspend, fix checking of return from
intel_gt_pm_wait_timeout_for_idle to now use -ETIMEDOUT
and add documentation for intel_wakeref_wait_for_idle.
(Rodrigo).
Alan Previn (2):
drm/i915/guc: Flush context destruction worker at suspend
drm/i915/guc: Close deregister-context race against CT-loss
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 10 +++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 78 +++++++++++++++++--
.../gpu/drm/i915/gt/uc/intel_guc_submission.h | 2 +
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 +
4 files changed, 87 insertions(+), 5 deletions(-)
base-commit: 56c351e9f8c3ca9389a924ff2a46b34b50fb37dd
--
2.39.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v9 0/2] Resolve suspend-resume racing with GuC destroy-context-worker
@ 2023-12-28 4:55 ` Alan Previn
0 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-28 4:55 UTC (permalink / raw)
To: intel-gfx
Cc: Alan Previn, Tvrtko Ursulin, Anshuman Gupta, dri-devel,
Daniele Ceraolo Spurio, Rodrigo Vivi, John Harrison
This series is the result of debugging issues root caused to
races between the GuC's destroyed_worker_func being triggered
vs repeating suspend-resume cycles with concurrent delayed
fence signals for engine-freeing.
The reproduction steps require that an app is launched right
before the start of the suspend cycle where it creates a
new gem context and submits a tiny workload that would
complete in the middle of the suspend cycle. However this
app uses dma-buffer sharing or dma-fence with non-GPU
objects or signals that eventually triggers a FENCE_FREE
via__i915_sw_fence_notify that connects to engines_notify ->
free_engines_rcu -> intel_context_put ->
kref_put(&ce->ref..) that queues the worker after the GuCs
CTB has been disabled (i.e. after i915-gem's suspend-late).
This sequence is a corner-case and required repeating this
app->suspend->resume cycle ~1500 times across 4 identical
systems to see it once. That said, based on above callstack,
it is clear that merely flushing the context destruction worker,
which is obviously missing and needed, isn't sufficient.
Because of that, this series adds additional patches besides
the obvious (Patch #1) flushing of the worker during the
suspend flows. It also includes (Patch #2) closing a race
between sending the context-deregistration H2G vs the CTB
getting disabled in the midst of it (by detecing the failure
and unrolling the guc-lrc-unpin flow) and adding an additional
rcu_barrier in the gem-suspend flow to purge outstanding
rcu defered tasks that may include context destruction.
This patch was tested and confirmed to be reliably working
after running ~1500 suspend resume cycles on 4 concurrent
machines.
Changes from prior revs:
v8: - Rebase again to resolve conflicts (Rodrigo).
v7: - Rebase on latest drm-tip.
v6: - Dont hold the spinlock while calling deregister_context
which can take a longer time. (Rodrigo)
- Fix / improve of comments. (Rodrigo)
- Release the ce->guc_state.lock before calling
deregister_context and retake it if we fail. (John/Daniele).
v5: - Remove Patch #3 which doesnt solve this exact bug
but can be a separate patch(Tvrtko).
v4: - In Patch #2, change the position of the calls into
rcu_barrier based on latest testing data. (Alan/Anshuman).
- In Patch #3, fix the timeout value selection for the
final gt-pm idle-wait that was incorrectly using a 'ns'
#define as a milisec timeout.
v3: - In Patch #3, when deregister_context fails, instead
of calling intel_gt_pm_put(that might sleep), call
__intel_wakeref_put (without ASYNC flag) (Rodrigo/Anshuman).
- In wait_for_suspend add an rcu_barrier before we
proceed to wait for idle. (Anshuman)
v2: - Patch #2 Restructure code in guc_lrc_desc_unpin so
it's more readible to differentiate (1)direct guc-id
cleanup ..vs (2) sending the H2G ctx-destroy action ..
vs (3) the unrolling steps if the H2G fails.
- Patch #2 Add a check to close the race sooner by checking
for intel_guc_is_ready from destroyed_worker_func.
- Patch #2 When guc_submission_send_busy_loop gets a
failure from intel_guc_send_busy_loop, we need to undo
i.e. decrement the outstanding_submission_g2h.
- Patch #3 In wait_for_suspend, fix checking of return from
intel_gt_pm_wait_timeout_for_idle to now use -ETIMEDOUT
and add documentation for intel_wakeref_wait_for_idle.
(Rodrigo).
Alan Previn (2):
drm/i915/guc: Flush context destruction worker at suspend
drm/i915/guc: Close deregister-context race against CT-loss
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 10 +++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 78 +++++++++++++++++--
.../gpu/drm/i915/gt/uc/intel_guc_submission.h | 2 +
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 +
4 files changed, 87 insertions(+), 5 deletions(-)
base-commit: 56c351e9f8c3ca9389a924ff2a46b34b50fb37dd
--
2.39.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v9 1/2] drm/i915/guc: Flush context destruction worker at suspend
2023-12-28 4:55 ` Alan Previn
@ 2023-12-28 4:55 ` Alan Previn
-1 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-28 4:55 UTC (permalink / raw)
To: intel-gfx
Cc: Alan Previn, Tvrtko Ursulin, dri-devel, Rodrigo Vivi,
Mousumi Jana
When suspending, flush the context-guc-id
deregistration worker at the final stages of
intel_gt_suspend_late when we finally call gt_sanitize
that eventually leads down to __uc_sanitize so that
the deregistration worker doesn't fire off later as
we reset the GuC microcontroller.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Tested-by: Mousumi Jana <mousumi.jana@intel.com>
---
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 5 +++++
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h | 2 ++
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 ++
3 files changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index a259f1118c5a..9c64ae0766cc 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -1613,6 +1613,11 @@ static void guc_flush_submissions(struct intel_guc *guc)
spin_unlock_irqrestore(&sched_engine->lock, flags);
}
+void intel_guc_submission_flush_work(struct intel_guc *guc)
+{
+ flush_work(&guc->submission_state.destroyed_worker);
+}
+
static void guc_flush_destroyed_contexts(struct intel_guc *guc);
void intel_guc_submission_reset_prepare(struct intel_guc *guc)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
index c57b29cdb1a6..b6df75622d3b 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
@@ -38,6 +38,8 @@ int intel_guc_wait_for_pending_msg(struct intel_guc *guc,
bool interruptible,
long timeout);
+void intel_guc_submission_flush_work(struct intel_guc *guc);
+
static inline bool intel_guc_submission_is_supported(struct intel_guc *guc)
{
return guc->submission_supported;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 3872d309ed31..b8b09b1bee3e 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -690,6 +690,8 @@ void intel_uc_suspend(struct intel_uc *uc)
return;
}
+ intel_guc_submission_flush_work(guc);
+
with_intel_runtime_pm(&uc_to_gt(uc)->i915->runtime_pm, wakeref) {
err = intel_guc_suspend(guc);
if (err)
--
2.39.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v9 1/2] drm/i915/guc: Flush context destruction worker at suspend
@ 2023-12-28 4:55 ` Alan Previn
0 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-28 4:55 UTC (permalink / raw)
To: intel-gfx
Cc: Alan Previn, Tvrtko Ursulin, Anshuman Gupta, dri-devel,
Daniele Ceraolo Spurio, Rodrigo Vivi, Mousumi Jana, John Harrison
When suspending, flush the context-guc-id
deregistration worker at the final stages of
intel_gt_suspend_late when we finally call gt_sanitize
that eventually leads down to __uc_sanitize so that
the deregistration worker doesn't fire off later as
we reset the GuC microcontroller.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Tested-by: Mousumi Jana <mousumi.jana@intel.com>
---
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 5 +++++
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h | 2 ++
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 ++
3 files changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index a259f1118c5a..9c64ae0766cc 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -1613,6 +1613,11 @@ static void guc_flush_submissions(struct intel_guc *guc)
spin_unlock_irqrestore(&sched_engine->lock, flags);
}
+void intel_guc_submission_flush_work(struct intel_guc *guc)
+{
+ flush_work(&guc->submission_state.destroyed_worker);
+}
+
static void guc_flush_destroyed_contexts(struct intel_guc *guc);
void intel_guc_submission_reset_prepare(struct intel_guc *guc)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
index c57b29cdb1a6..b6df75622d3b 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
@@ -38,6 +38,8 @@ int intel_guc_wait_for_pending_msg(struct intel_guc *guc,
bool interruptible,
long timeout);
+void intel_guc_submission_flush_work(struct intel_guc *guc);
+
static inline bool intel_guc_submission_is_supported(struct intel_guc *guc)
{
return guc->submission_supported;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 3872d309ed31..b8b09b1bee3e 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -690,6 +690,8 @@ void intel_uc_suspend(struct intel_uc *uc)
return;
}
+ intel_guc_submission_flush_work(guc);
+
with_intel_runtime_pm(&uc_to_gt(uc)->i915->runtime_pm, wakeref) {
err = intel_guc_suspend(guc);
if (err)
--
2.39.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v9 2/2] drm/i915/guc: Close deregister-context race against CT-loss
2023-12-28 4:55 ` Alan Previn
@ 2023-12-28 4:55 ` Alan Previn
-1 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-28 4:55 UTC (permalink / raw)
To: intel-gfx
Cc: Alan Previn, Tvrtko Ursulin, dri-devel, Rodrigo Vivi,
Mousumi Jana
If we are at the end of suspend or very early in resume
its possible an async fence signal (via rcu_call) is triggered
to free_engines which could lead us to the execution of
the context destruction worker (after a prior worker flush).
Thus, when suspending, insert rcu_barriers at the start
of i915_gem_suspend (part of driver's suspend prepare) and
again in i915_gem_suspend_late so that all such cases have
completed and context destruction list isn't missing anything.
In destroyed_worker_func, close the race against CT-loss
by checking that CT is enabled before calling into
deregister_destroyed_contexts.
Based on testing, guc_lrc_desc_unpin may still race and fail
as we traverse the GuC's context-destroy list because the
CT could be disabled right before calling GuC's CT send function.
We've witnessed this race condition once every ~6000-8000
suspend-resume cycles while ensuring workloads that render
something onscreen is continuously started just before
we suspend (and the workload is small enough to complete
and trigger the queued engine/context free-up either very
late in suspend or very early in resume).
In such a case, we need to unroll the entire process because
guc-lrc-unpin takes a gt wakeref which only gets released in
the G2H IRQ reply that never comes through in this corner
case. Without the unroll, the taken wakeref is leaked and will
cascade into a kernel hang later at the tail end of suspend in
this function:
intel_wakeref_wait_for_idle(>->wakeref)
(called by) - intel_gt_pm_wait_for_idle
(called by) - wait_for_suspend
Thus, do an unroll in guc_lrc_desc_unpin and deregister_destroyed_-
contexts if guc_lrc_desc_unpin fails due to CT send falure.
When unrolling, keep the context in the GuC's destroy-list so
it can get picked up on the next destroy worker invocation
(if suspend aborted) or get fully purged as part of a GuC
sanitization (end of suspend) or a reset flow.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Tested-by: Mousumi Jana <mousumi.jana@intel.com>
Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 10 +++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 73 +++++++++++++++++--
2 files changed, 78 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
index 0d812f4d787d..3b27218aabe2 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
@@ -28,6 +28,13 @@ void i915_gem_suspend(struct drm_i915_private *i915)
GEM_TRACE("%s\n", dev_name(i915->drm.dev));
intel_wakeref_auto(&i915->runtime_pm.userfault_wakeref, 0);
+ /*
+ * On rare occasions, we've observed the fence completion triggers
+ * free_engines asynchronously via rcu_call. Ensure those are done.
+ * This path is only called on suspend, so it's an acceptable cost.
+ */
+ rcu_barrier();
+
flush_workqueue(i915->wq);
/*
@@ -160,6 +167,9 @@ void i915_gem_suspend_late(struct drm_i915_private *i915)
* machine in an unusable condition.
*/
+ /* Like i915_gem_suspend, flush tasks staged from fence triggers */
+ rcu_barrier();
+
for_each_gt(gt, i915, i)
intel_gt_suspend_late(gt);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 9c64ae0766cc..cae637fc3ead 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -236,6 +236,13 @@ set_context_destroyed(struct intel_context *ce)
ce->guc_state.sched_state |= SCHED_STATE_DESTROYED;
}
+static inline void
+clr_context_destroyed(struct intel_context *ce)
+{
+ lockdep_assert_held(&ce->guc_state.lock);
+ ce->guc_state.sched_state &= ~SCHED_STATE_DESTROYED;
+}
+
static inline bool context_pending_disable(struct intel_context *ce)
{
return ce->guc_state.sched_state & SCHED_STATE_PENDING_DISABLE;
@@ -613,6 +620,8 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
u32 g2h_len_dw,
bool loop)
{
+ int ret;
+
/*
* We always loop when a send requires a reply (i.e. g2h_len_dw > 0),
* so we don't handle the case where we don't get a reply because we
@@ -623,7 +632,11 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
if (g2h_len_dw)
atomic_inc(&guc->outstanding_submission_g2h);
- return intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ ret = intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ if (ret)
+ atomic_dec(&guc->outstanding_submission_g2h);
+
+ return ret;
}
int intel_guc_wait_for_pending_msg(struct intel_guc *guc,
@@ -3288,12 +3301,13 @@ static void guc_context_close(struct intel_context *ce)
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
}
-static inline void guc_lrc_desc_unpin(struct intel_context *ce)
+static inline int guc_lrc_desc_unpin(struct intel_context *ce)
{
struct intel_guc *guc = ce_to_guc(ce);
struct intel_gt *gt = guc_to_gt(guc);
unsigned long flags;
bool disabled;
+ int ret;
GEM_BUG_ON(!intel_gt_pm_is_awake(gt));
GEM_BUG_ON(!ctx_id_mapped(guc, ce->guc_id.id));
@@ -3304,18 +3318,41 @@ static inline void guc_lrc_desc_unpin(struct intel_context *ce)
spin_lock_irqsave(&ce->guc_state.lock, flags);
disabled = submission_disabled(guc);
if (likely(!disabled)) {
+ /*
+ * Take a gt-pm ref and change context state to be destroyed.
+ * NOTE: a G2H IRQ that comes after will put this gt-pm ref back
+ */
__intel_gt_pm_get(gt);
set_context_destroyed(ce);
clr_context_registered(ce);
}
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
+
if (unlikely(disabled)) {
release_guc_id(guc, ce);
__guc_context_destroy(ce);
- return;
+ return 0;
}
- deregister_context(ce, ce->guc_id.id);
+ /*
+ * GuC is active, lets destroy this context, but at this point we can still be racing
+ * with suspend, so we undo everything if the H2G fails in deregister_context so
+ * that GuC reset will find this context during clean up.
+ */
+ ret = deregister_context(ce, ce->guc_id.id);
+ if (ret) {
+ spin_lock(&ce->guc_state.lock);
+ set_context_registered(ce);
+ clr_context_destroyed(ce);
+ spin_unlock(&ce->guc_state.lock);
+ /*
+ * As gt-pm is awake at function entry, intel_wakeref_put_async merely decrements
+ * the wakeref immediately but per function spec usage call this after unlock.
+ */
+ intel_wakeref_put_async(>->wakeref);
+ }
+
+ return ret;
}
static void __guc_context_destroy(struct intel_context *ce)
@@ -3383,7 +3420,22 @@ static void deregister_destroyed_contexts(struct intel_guc *guc)
if (!ce)
break;
- guc_lrc_desc_unpin(ce);
+ if (guc_lrc_desc_unpin(ce)) {
+ /*
+ * This means GuC's CT link severed mid-way which could happen
+ * in suspend-resume corner cases. In this case, put the
+ * context back into the destroyed_contexts list which will
+ * get picked up on the next context deregistration event or
+ * purged in a GuC sanitization event (reset/unload/wedged/...).
+ */
+ spin_lock_irqsave(&guc->submission_state.lock, flags);
+ list_add_tail(&ce->destroyed_link,
+ &guc->submission_state.destroyed_contexts);
+ spin_unlock_irqrestore(&guc->submission_state.lock, flags);
+ /* Bail now since the list might never be emptied if h2gs fail */
+ break;
+ }
+
}
}
@@ -3394,6 +3446,17 @@ static void destroyed_worker_func(struct work_struct *w)
struct intel_gt *gt = guc_to_gt(guc);
intel_wakeref_t wakeref;
+ /*
+ * In rare cases we can get here via async context-free fence-signals that
+ * come very late in suspend flow or very early in resume flows. In these
+ * cases, GuC won't be ready but just skipping it here is fine as these
+ * pending-destroy-contexts get destroyed totally at GuC reset time at the
+ * end of suspend.. OR.. this worker can be picked up later on the next
+ * context destruction trigger after resume-completes
+ */
+ if (!intel_guc_is_ready(guc))
+ return;
+
with_intel_gt_pm(gt, wakeref)
deregister_destroyed_contexts(guc);
}
--
2.39.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v9 2/2] drm/i915/guc: Close deregister-context race against CT-loss
@ 2023-12-28 4:55 ` Alan Previn
0 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-28 4:55 UTC (permalink / raw)
To: intel-gfx
Cc: Alan Previn, Tvrtko Ursulin, Anshuman Gupta, dri-devel,
Daniele Ceraolo Spurio, Rodrigo Vivi, Mousumi Jana, John Harrison
If we are at the end of suspend or very early in resume
its possible an async fence signal (via rcu_call) is triggered
to free_engines which could lead us to the execution of
the context destruction worker (after a prior worker flush).
Thus, when suspending, insert rcu_barriers at the start
of i915_gem_suspend (part of driver's suspend prepare) and
again in i915_gem_suspend_late so that all such cases have
completed and context destruction list isn't missing anything.
In destroyed_worker_func, close the race against CT-loss
by checking that CT is enabled before calling into
deregister_destroyed_contexts.
Based on testing, guc_lrc_desc_unpin may still race and fail
as we traverse the GuC's context-destroy list because the
CT could be disabled right before calling GuC's CT send function.
We've witnessed this race condition once every ~6000-8000
suspend-resume cycles while ensuring workloads that render
something onscreen is continuously started just before
we suspend (and the workload is small enough to complete
and trigger the queued engine/context free-up either very
late in suspend or very early in resume).
In such a case, we need to unroll the entire process because
guc-lrc-unpin takes a gt wakeref which only gets released in
the G2H IRQ reply that never comes through in this corner
case. Without the unroll, the taken wakeref is leaked and will
cascade into a kernel hang later at the tail end of suspend in
this function:
intel_wakeref_wait_for_idle(>->wakeref)
(called by) - intel_gt_pm_wait_for_idle
(called by) - wait_for_suspend
Thus, do an unroll in guc_lrc_desc_unpin and deregister_destroyed_-
contexts if guc_lrc_desc_unpin fails due to CT send falure.
When unrolling, keep the context in the GuC's destroy-list so
it can get picked up on the next destroy worker invocation
(if suspend aborted) or get fully purged as part of a GuC
sanitization (end of suspend) or a reset flow.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Tested-by: Mousumi Jana <mousumi.jana@intel.com>
Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 10 +++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 73 +++++++++++++++++--
2 files changed, 78 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
index 0d812f4d787d..3b27218aabe2 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
@@ -28,6 +28,13 @@ void i915_gem_suspend(struct drm_i915_private *i915)
GEM_TRACE("%s\n", dev_name(i915->drm.dev));
intel_wakeref_auto(&i915->runtime_pm.userfault_wakeref, 0);
+ /*
+ * On rare occasions, we've observed the fence completion triggers
+ * free_engines asynchronously via rcu_call. Ensure those are done.
+ * This path is only called on suspend, so it's an acceptable cost.
+ */
+ rcu_barrier();
+
flush_workqueue(i915->wq);
/*
@@ -160,6 +167,9 @@ void i915_gem_suspend_late(struct drm_i915_private *i915)
* machine in an unusable condition.
*/
+ /* Like i915_gem_suspend, flush tasks staged from fence triggers */
+ rcu_barrier();
+
for_each_gt(gt, i915, i)
intel_gt_suspend_late(gt);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 9c64ae0766cc..cae637fc3ead 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -236,6 +236,13 @@ set_context_destroyed(struct intel_context *ce)
ce->guc_state.sched_state |= SCHED_STATE_DESTROYED;
}
+static inline void
+clr_context_destroyed(struct intel_context *ce)
+{
+ lockdep_assert_held(&ce->guc_state.lock);
+ ce->guc_state.sched_state &= ~SCHED_STATE_DESTROYED;
+}
+
static inline bool context_pending_disable(struct intel_context *ce)
{
return ce->guc_state.sched_state & SCHED_STATE_PENDING_DISABLE;
@@ -613,6 +620,8 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
u32 g2h_len_dw,
bool loop)
{
+ int ret;
+
/*
* We always loop when a send requires a reply (i.e. g2h_len_dw > 0),
* so we don't handle the case where we don't get a reply because we
@@ -623,7 +632,11 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
if (g2h_len_dw)
atomic_inc(&guc->outstanding_submission_g2h);
- return intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ ret = intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ if (ret)
+ atomic_dec(&guc->outstanding_submission_g2h);
+
+ return ret;
}
int intel_guc_wait_for_pending_msg(struct intel_guc *guc,
@@ -3288,12 +3301,13 @@ static void guc_context_close(struct intel_context *ce)
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
}
-static inline void guc_lrc_desc_unpin(struct intel_context *ce)
+static inline int guc_lrc_desc_unpin(struct intel_context *ce)
{
struct intel_guc *guc = ce_to_guc(ce);
struct intel_gt *gt = guc_to_gt(guc);
unsigned long flags;
bool disabled;
+ int ret;
GEM_BUG_ON(!intel_gt_pm_is_awake(gt));
GEM_BUG_ON(!ctx_id_mapped(guc, ce->guc_id.id));
@@ -3304,18 +3318,41 @@ static inline void guc_lrc_desc_unpin(struct intel_context *ce)
spin_lock_irqsave(&ce->guc_state.lock, flags);
disabled = submission_disabled(guc);
if (likely(!disabled)) {
+ /*
+ * Take a gt-pm ref and change context state to be destroyed.
+ * NOTE: a G2H IRQ that comes after will put this gt-pm ref back
+ */
__intel_gt_pm_get(gt);
set_context_destroyed(ce);
clr_context_registered(ce);
}
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
+
if (unlikely(disabled)) {
release_guc_id(guc, ce);
__guc_context_destroy(ce);
- return;
+ return 0;
}
- deregister_context(ce, ce->guc_id.id);
+ /*
+ * GuC is active, lets destroy this context, but at this point we can still be racing
+ * with suspend, so we undo everything if the H2G fails in deregister_context so
+ * that GuC reset will find this context during clean up.
+ */
+ ret = deregister_context(ce, ce->guc_id.id);
+ if (ret) {
+ spin_lock(&ce->guc_state.lock);
+ set_context_registered(ce);
+ clr_context_destroyed(ce);
+ spin_unlock(&ce->guc_state.lock);
+ /*
+ * As gt-pm is awake at function entry, intel_wakeref_put_async merely decrements
+ * the wakeref immediately but per function spec usage call this after unlock.
+ */
+ intel_wakeref_put_async(>->wakeref);
+ }
+
+ return ret;
}
static void __guc_context_destroy(struct intel_context *ce)
@@ -3383,7 +3420,22 @@ static void deregister_destroyed_contexts(struct intel_guc *guc)
if (!ce)
break;
- guc_lrc_desc_unpin(ce);
+ if (guc_lrc_desc_unpin(ce)) {
+ /*
+ * This means GuC's CT link severed mid-way which could happen
+ * in suspend-resume corner cases. In this case, put the
+ * context back into the destroyed_contexts list which will
+ * get picked up on the next context deregistration event or
+ * purged in a GuC sanitization event (reset/unload/wedged/...).
+ */
+ spin_lock_irqsave(&guc->submission_state.lock, flags);
+ list_add_tail(&ce->destroyed_link,
+ &guc->submission_state.destroyed_contexts);
+ spin_unlock_irqrestore(&guc->submission_state.lock, flags);
+ /* Bail now since the list might never be emptied if h2gs fail */
+ break;
+ }
+
}
}
@@ -3394,6 +3446,17 @@ static void destroyed_worker_func(struct work_struct *w)
struct intel_gt *gt = guc_to_gt(guc);
intel_wakeref_t wakeref;
+ /*
+ * In rare cases we can get here via async context-free fence-signals that
+ * come very late in suspend flow or very early in resume flows. In these
+ * cases, GuC won't be ready but just skipping it here is fine as these
+ * pending-destroy-contexts get destroyed totally at GuC reset time at the
+ * end of suspend.. OR.. this worker can be picked up later on the next
+ * context destruction trigger after resume-completes
+ */
+ if (!intel_guc_is_ready(guc))
+ return;
+
with_intel_gt_pm(gt, wakeref)
deregister_destroyed_contexts(guc);
}
--
2.39.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v9 2/2] drm/i915/guc: Close deregister-context race against CT-loss
2023-12-28 4:55 ` Alan Previn
@ 2023-12-29 21:51 ` Alan Previn
-1 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-29 21:51 UTC (permalink / raw)
To: intel-gfx
Cc: Alan Previn, Tvrtko Ursulin, dri-devel, Rodrigo Vivi,
Mousumi Jana
If we are at the end of suspend or very early in resume
its possible an async fence signal (via rcu_call) is triggered
to free_engines which could lead us to the execution of
the context destruction worker (after a prior worker flush).
Thus, when suspending, insert rcu_barriers at the start
of i915_gem_suspend (part of driver's suspend prepare) and
again in i915_gem_suspend_late so that all such cases have
completed and context destruction list isn't missing anything.
In destroyed_worker_func, close the race against CT-loss
by checking that CT is enabled before calling into
deregister_destroyed_contexts.
Based on testing, guc_lrc_desc_unpin may still race and fail
as we traverse the GuC's context-destroy list because the
CT could be disabled right before calling GuC's CT send function.
We've witnessed this race condition once every ~6000-8000
suspend-resume cycles while ensuring workloads that render
something onscreen is continuously started just before
we suspend (and the workload is small enough to complete
and trigger the queued engine/context free-up either very
late in suspend or very early in resume).
In such a case, we need to unroll the entire process because
guc-lrc-unpin takes a gt wakeref which only gets released in
the G2H IRQ reply that never comes through in this corner
case. Without the unroll, the taken wakeref is leaked and will
cascade into a kernel hang later at the tail end of suspend in
this function:
intel_wakeref_wait_for_idle(>->wakeref)
(called by) - intel_gt_pm_wait_for_idle
(called by) - wait_for_suspend
Thus, do an unroll in guc_lrc_desc_unpin and deregister_destroyed_-
contexts if guc_lrc_desc_unpin fails due to CT send falure.
When unrolling, keep the context in the GuC's destroy-list so
it can get picked up on the next destroy worker invocation
(if suspend aborted) or get fully purged as part of a GuC
sanitization (end of suspend) or a reset flow.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Tested-by: Mousumi Jana <mousumi.jana@intel.com>
Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 10 +++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 73 +++++++++++++++++--
2 files changed, 78 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
index 0d812f4d787d..3b27218aabe2 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
@@ -28,6 +28,13 @@ void i915_gem_suspend(struct drm_i915_private *i915)
GEM_TRACE("%s\n", dev_name(i915->drm.dev));
intel_wakeref_auto(&i915->runtime_pm.userfault_wakeref, 0);
+ /*
+ * On rare occasions, we've observed the fence completion triggers
+ * free_engines asynchronously via rcu_call. Ensure those are done.
+ * This path is only called on suspend, so it's an acceptable cost.
+ */
+ rcu_barrier();
+
flush_workqueue(i915->wq);
/*
@@ -160,6 +167,9 @@ void i915_gem_suspend_late(struct drm_i915_private *i915)
* machine in an unusable condition.
*/
+ /* Like i915_gem_suspend, flush tasks staged from fence triggers */
+ rcu_barrier();
+
for_each_gt(gt, i915, i)
intel_gt_suspend_late(gt);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 9c64ae0766cc..cae637fc3ead 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -236,6 +236,13 @@ set_context_destroyed(struct intel_context *ce)
ce->guc_state.sched_state |= SCHED_STATE_DESTROYED;
}
+static inline void
+clr_context_destroyed(struct intel_context *ce)
+{
+ lockdep_assert_held(&ce->guc_state.lock);
+ ce->guc_state.sched_state &= ~SCHED_STATE_DESTROYED;
+}
+
static inline bool context_pending_disable(struct intel_context *ce)
{
return ce->guc_state.sched_state & SCHED_STATE_PENDING_DISABLE;
@@ -613,6 +620,8 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
u32 g2h_len_dw,
bool loop)
{
+ int ret;
+
/*
* We always loop when a send requires a reply (i.e. g2h_len_dw > 0),
* so we don't handle the case where we don't get a reply because we
@@ -623,7 +632,11 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
if (g2h_len_dw)
atomic_inc(&guc->outstanding_submission_g2h);
- return intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ ret = intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ if (ret)
+ atomic_dec(&guc->outstanding_submission_g2h);
+
+ return ret;
}
int intel_guc_wait_for_pending_msg(struct intel_guc *guc,
@@ -3288,12 +3301,13 @@ static void guc_context_close(struct intel_context *ce)
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
}
-static inline void guc_lrc_desc_unpin(struct intel_context *ce)
+static inline int guc_lrc_desc_unpin(struct intel_context *ce)
{
struct intel_guc *guc = ce_to_guc(ce);
struct intel_gt *gt = guc_to_gt(guc);
unsigned long flags;
bool disabled;
+ int ret;
GEM_BUG_ON(!intel_gt_pm_is_awake(gt));
GEM_BUG_ON(!ctx_id_mapped(guc, ce->guc_id.id));
@@ -3304,18 +3318,41 @@ static inline void guc_lrc_desc_unpin(struct intel_context *ce)
spin_lock_irqsave(&ce->guc_state.lock, flags);
disabled = submission_disabled(guc);
if (likely(!disabled)) {
+ /*
+ * Take a gt-pm ref and change context state to be destroyed.
+ * NOTE: a G2H IRQ that comes after will put this gt-pm ref back
+ */
__intel_gt_pm_get(gt);
set_context_destroyed(ce);
clr_context_registered(ce);
}
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
+
if (unlikely(disabled)) {
release_guc_id(guc, ce);
__guc_context_destroy(ce);
- return;
+ return 0;
}
- deregister_context(ce, ce->guc_id.id);
+ /*
+ * GuC is active, lets destroy this context, but at this point we can still be racing
+ * with suspend, so we undo everything if the H2G fails in deregister_context so
+ * that GuC reset will find this context during clean up.
+ */
+ ret = deregister_context(ce, ce->guc_id.id);
+ if (ret) {
+ spin_lock(&ce->guc_state.lock);
+ set_context_registered(ce);
+ clr_context_destroyed(ce);
+ spin_unlock(&ce->guc_state.lock);
+ /*
+ * As gt-pm is awake at function entry, intel_wakeref_put_async merely decrements
+ * the wakeref immediately but per function spec usage call this after unlock.
+ */
+ intel_wakeref_put_async(>->wakeref);
+ }
+
+ return ret;
}
static void __guc_context_destroy(struct intel_context *ce)
@@ -3383,7 +3420,22 @@ static void deregister_destroyed_contexts(struct intel_guc *guc)
if (!ce)
break;
- guc_lrc_desc_unpin(ce);
+ if (guc_lrc_desc_unpin(ce)) {
+ /*
+ * This means GuC's CT link severed mid-way which could happen
+ * in suspend-resume corner cases. In this case, put the
+ * context back into the destroyed_contexts list which will
+ * get picked up on the next context deregistration event or
+ * purged in a GuC sanitization event (reset/unload/wedged/...).
+ */
+ spin_lock_irqsave(&guc->submission_state.lock, flags);
+ list_add_tail(&ce->destroyed_link,
+ &guc->submission_state.destroyed_contexts);
+ spin_unlock_irqrestore(&guc->submission_state.lock, flags);
+ /* Bail now since the list might never be emptied if h2gs fail */
+ break;
+ }
+
}
}
@@ -3394,6 +3446,17 @@ static void destroyed_worker_func(struct work_struct *w)
struct intel_gt *gt = guc_to_gt(guc);
intel_wakeref_t wakeref;
+ /*
+ * In rare cases we can get here via async context-free fence-signals that
+ * come very late in suspend flow or very early in resume flows. In these
+ * cases, GuC won't be ready but just skipping it here is fine as these
+ * pending-destroy-contexts get destroyed totally at GuC reset time at the
+ * end of suspend.. OR.. this worker can be picked up later on the next
+ * context destruction trigger after resume-completes
+ */
+ if (!intel_guc_is_ready(guc))
+ return;
+
with_intel_gt_pm(gt, wakeref)
deregister_destroyed_contexts(guc);
}
--
2.39.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v9 2/2] drm/i915/guc: Close deregister-context race against CT-loss
@ 2023-12-29 21:51 ` Alan Previn
0 siblings, 0 replies; 16+ messages in thread
From: Alan Previn @ 2023-12-29 21:51 UTC (permalink / raw)
To: intel-gfx
Cc: Alan Previn, Tvrtko Ursulin, Anshuman Gupta, dri-devel,
Daniele Ceraolo Spurio, Rodrigo Vivi, Mousumi Jana, John Harrison
If we are at the end of suspend or very early in resume
its possible an async fence signal (via rcu_call) is triggered
to free_engines which could lead us to the execution of
the context destruction worker (after a prior worker flush).
Thus, when suspending, insert rcu_barriers at the start
of i915_gem_suspend (part of driver's suspend prepare) and
again in i915_gem_suspend_late so that all such cases have
completed and context destruction list isn't missing anything.
In destroyed_worker_func, close the race against CT-loss
by checking that CT is enabled before calling into
deregister_destroyed_contexts.
Based on testing, guc_lrc_desc_unpin may still race and fail
as we traverse the GuC's context-destroy list because the
CT could be disabled right before calling GuC's CT send function.
We've witnessed this race condition once every ~6000-8000
suspend-resume cycles while ensuring workloads that render
something onscreen is continuously started just before
we suspend (and the workload is small enough to complete
and trigger the queued engine/context free-up either very
late in suspend or very early in resume).
In such a case, we need to unroll the entire process because
guc-lrc-unpin takes a gt wakeref which only gets released in
the G2H IRQ reply that never comes through in this corner
case. Without the unroll, the taken wakeref is leaked and will
cascade into a kernel hang later at the tail end of suspend in
this function:
intel_wakeref_wait_for_idle(>->wakeref)
(called by) - intel_gt_pm_wait_for_idle
(called by) - wait_for_suspend
Thus, do an unroll in guc_lrc_desc_unpin and deregister_destroyed_-
contexts if guc_lrc_desc_unpin fails due to CT send falure.
When unrolling, keep the context in the GuC's destroy-list so
it can get picked up on the next destroy worker invocation
(if suspend aborted) or get fully purged as part of a GuC
sanitization (end of suspend) or a reset flow.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Tested-by: Mousumi Jana <mousumi.jana@intel.com>
Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 10 +++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 73 +++++++++++++++++--
2 files changed, 78 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
index 0d812f4d787d..3b27218aabe2 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
@@ -28,6 +28,13 @@ void i915_gem_suspend(struct drm_i915_private *i915)
GEM_TRACE("%s\n", dev_name(i915->drm.dev));
intel_wakeref_auto(&i915->runtime_pm.userfault_wakeref, 0);
+ /*
+ * On rare occasions, we've observed the fence completion triggers
+ * free_engines asynchronously via rcu_call. Ensure those are done.
+ * This path is only called on suspend, so it's an acceptable cost.
+ */
+ rcu_barrier();
+
flush_workqueue(i915->wq);
/*
@@ -160,6 +167,9 @@ void i915_gem_suspend_late(struct drm_i915_private *i915)
* machine in an unusable condition.
*/
+ /* Like i915_gem_suspend, flush tasks staged from fence triggers */
+ rcu_barrier();
+
for_each_gt(gt, i915, i)
intel_gt_suspend_late(gt);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 9c64ae0766cc..cae637fc3ead 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -236,6 +236,13 @@ set_context_destroyed(struct intel_context *ce)
ce->guc_state.sched_state |= SCHED_STATE_DESTROYED;
}
+static inline void
+clr_context_destroyed(struct intel_context *ce)
+{
+ lockdep_assert_held(&ce->guc_state.lock);
+ ce->guc_state.sched_state &= ~SCHED_STATE_DESTROYED;
+}
+
static inline bool context_pending_disable(struct intel_context *ce)
{
return ce->guc_state.sched_state & SCHED_STATE_PENDING_DISABLE;
@@ -613,6 +620,8 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
u32 g2h_len_dw,
bool loop)
{
+ int ret;
+
/*
* We always loop when a send requires a reply (i.e. g2h_len_dw > 0),
* so we don't handle the case where we don't get a reply because we
@@ -623,7 +632,11 @@ static int guc_submission_send_busy_loop(struct intel_guc *guc,
if (g2h_len_dw)
atomic_inc(&guc->outstanding_submission_g2h);
- return intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ ret = intel_guc_send_busy_loop(guc, action, len, g2h_len_dw, loop);
+ if (ret)
+ atomic_dec(&guc->outstanding_submission_g2h);
+
+ return ret;
}
int intel_guc_wait_for_pending_msg(struct intel_guc *guc,
@@ -3288,12 +3301,13 @@ static void guc_context_close(struct intel_context *ce)
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
}
-static inline void guc_lrc_desc_unpin(struct intel_context *ce)
+static inline int guc_lrc_desc_unpin(struct intel_context *ce)
{
struct intel_guc *guc = ce_to_guc(ce);
struct intel_gt *gt = guc_to_gt(guc);
unsigned long flags;
bool disabled;
+ int ret;
GEM_BUG_ON(!intel_gt_pm_is_awake(gt));
GEM_BUG_ON(!ctx_id_mapped(guc, ce->guc_id.id));
@@ -3304,18 +3318,41 @@ static inline void guc_lrc_desc_unpin(struct intel_context *ce)
spin_lock_irqsave(&ce->guc_state.lock, flags);
disabled = submission_disabled(guc);
if (likely(!disabled)) {
+ /*
+ * Take a gt-pm ref and change context state to be destroyed.
+ * NOTE: a G2H IRQ that comes after will put this gt-pm ref back
+ */
__intel_gt_pm_get(gt);
set_context_destroyed(ce);
clr_context_registered(ce);
}
spin_unlock_irqrestore(&ce->guc_state.lock, flags);
+
if (unlikely(disabled)) {
release_guc_id(guc, ce);
__guc_context_destroy(ce);
- return;
+ return 0;
}
- deregister_context(ce, ce->guc_id.id);
+ /*
+ * GuC is active, lets destroy this context, but at this point we can still be racing
+ * with suspend, so we undo everything if the H2G fails in deregister_context so
+ * that GuC reset will find this context during clean up.
+ */
+ ret = deregister_context(ce, ce->guc_id.id);
+ if (ret) {
+ spin_lock(&ce->guc_state.lock);
+ set_context_registered(ce);
+ clr_context_destroyed(ce);
+ spin_unlock(&ce->guc_state.lock);
+ /*
+ * As gt-pm is awake at function entry, intel_wakeref_put_async merely decrements
+ * the wakeref immediately but per function spec usage call this after unlock.
+ */
+ intel_wakeref_put_async(>->wakeref);
+ }
+
+ return ret;
}
static void __guc_context_destroy(struct intel_context *ce)
@@ -3383,7 +3420,22 @@ static void deregister_destroyed_contexts(struct intel_guc *guc)
if (!ce)
break;
- guc_lrc_desc_unpin(ce);
+ if (guc_lrc_desc_unpin(ce)) {
+ /*
+ * This means GuC's CT link severed mid-way which could happen
+ * in suspend-resume corner cases. In this case, put the
+ * context back into the destroyed_contexts list which will
+ * get picked up on the next context deregistration event or
+ * purged in a GuC sanitization event (reset/unload/wedged/...).
+ */
+ spin_lock_irqsave(&guc->submission_state.lock, flags);
+ list_add_tail(&ce->destroyed_link,
+ &guc->submission_state.destroyed_contexts);
+ spin_unlock_irqrestore(&guc->submission_state.lock, flags);
+ /* Bail now since the list might never be emptied if h2gs fail */
+ break;
+ }
+
}
}
@@ -3394,6 +3446,17 @@ static void destroyed_worker_func(struct work_struct *w)
struct intel_gt *gt = guc_to_gt(guc);
intel_wakeref_t wakeref;
+ /*
+ * In rare cases we can get here via async context-free fence-signals that
+ * come very late in suspend flow or very early in resume flows. In these
+ * cases, GuC won't be ready but just skipping it here is fine as these
+ * pending-destroy-contexts get destroyed totally at GuC reset time at the
+ * end of suspend.. OR.. this worker can be picked up later on the next
+ * context destruction trigger after resume-completes
+ */
+ if (!intel_guc_is_ready(guc))
+ return;
+
with_intel_gt_pm(gt, wakeref)
deregister_destroyed_contexts(guc);
}
--
2.39.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH v9 0/2] Resolve suspend-resume racing with GuC destroy-context-worker
2023-12-28 4:55 ` Alan Previn
@ 2024-01-02 17:40 ` Teres Alexis, Alan Previn
-1 siblings, 0 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2024-01-02 17:40 UTC (permalink / raw)
To: Vivi, Rodrigo, intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, Ursulin, Tvrtko
On Wed, 2023-12-27 at 20:55 -0800, Teres Alexis, Alan Previn wrote:
> This series is the result of debugging issues root caused to
> races between the GuC's destroyed_worker_func being triggered
> vs repeating suspend-resume cycles with concurrent delayed
> fence signals for engine-freeing.
>
alan:snip.
alan: I did not receive the CI-premerge email where the following was reported:
IGT changes
Possible regressions
igt@i915_selftest@live@gt_pm:
shard-rkl: PASS -> DMESG-FAIL
After going thru the error in dmesg and codes, i am confident this failure not
related to the series. This selftest calls rdmsrl functions (that doen't do
any requests / guc submissions) but gets a reply power of zero (the bug reported).
So this is unrelated.
Hi @"Vivi, Rodrigo" <rodrigo.vivi@intel.com>, just an FYI note that after the last
requested rebase, BAT passed twice in a row now so i am confident failures on rev7
and prior was unrelated and that this series is ready for merging. Thanks again
for all your help and patiences - this was a long one :)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v9 0/2] Resolve suspend-resume racing with GuC destroy-context-worker
@ 2024-01-02 17:40 ` Teres Alexis, Alan Previn
0 siblings, 0 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2024-01-02 17:40 UTC (permalink / raw)
To: Vivi, Rodrigo, intel-gfx@lists.freedesktop.org
Cc: Gupta, Anshuman, Ceraolo Spurio, Daniele, Harrison, John C,
dri-devel@lists.freedesktop.org, Ursulin, Tvrtko
On Wed, 2023-12-27 at 20:55 -0800, Teres Alexis, Alan Previn wrote:
> This series is the result of debugging issues root caused to
> races between the GuC's destroyed_worker_func being triggered
> vs repeating suspend-resume cycles with concurrent delayed
> fence signals for engine-freeing.
>
alan:snip.
alan: I did not receive the CI-premerge email where the following was reported:
IGT changes
Possible regressions
igt@i915_selftest@live@gt_pm:
shard-rkl: PASS -> DMESG-FAIL
After going thru the error in dmesg and codes, i am confident this failure not
related to the series. This selftest calls rdmsrl functions (that doen't do
any requests / guc submissions) but gets a reply power of zero (the bug reported).
So this is unrelated.
Hi @"Vivi, Rodrigo" <rodrigo.vivi@intel.com>, just an FYI note that after the last
requested rebase, BAT passed twice in a row now so i am confident failures on rev7
and prior was unrelated and that this series is ready for merging. Thanks again
for all your help and patiences - this was a long one :)
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✗ Fi.CI.SPARSE: warning for Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
2023-12-28 4:55 ` Alan Previn
` (3 preceding siblings ...)
(?)
@ 2024-01-04 8:32 ` Patchwork
-1 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2024-01-04 8:32 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
== Series Details ==
Series: Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
URL : https://patchwork.freedesktop.org/series/121916/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.BAT: success for Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
2023-12-28 4:55 ` Alan Previn
` (4 preceding siblings ...)
(?)
@ 2024-01-04 8:43 ` Patchwork
-1 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2024-01-04 8:43 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 2750 bytes --]
== Series Details ==
Series: Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
URL : https://patchwork.freedesktop.org/series/121916/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_14076 -> Patchwork_121916v13
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/index.html
Participating hosts (38 -> 37)
------------------------------
Additional (1): bat-kbl-2
Missing (2): fi-snb-2520m bat-adlp-6
Known issues
------------
Here are the changes found in Patchwork_121916v13 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@info:
- bat-kbl-2: NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#1849])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/bat-kbl-2/igt@fbdev@info.html
* igt@gem_lmem_swapping@parallel-random-engines:
- bat-kbl-2: NOTRUN -> [SKIP][2] ([fdo#109271]) +36 other tests skip
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/bat-kbl-2/igt@gem_lmem_swapping@parallel-random-engines.html
#### Possible fixes ####
* igt@kms_pm_rpm@basic-rte:
- bat-rpls-2: [ABORT][3] ([i915#8668] / [i915#9368] / [i915#9897]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/bat-rpls-2/igt@kms_pm_rpm@basic-rte.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/bat-rpls-2/igt@kms_pm_rpm@basic-rte.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
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
[i915#9368]: https://gitlab.freedesktop.org/drm/intel/issues/9368
[i915#9897]: https://gitlab.freedesktop.org/drm/intel/issues/9897
Build changes
-------------
* Linux: CI_DRM_14076 -> Patchwork_121916v13
CI-20190529: 20190529
CI_DRM_14076: 6fb23c8c47c3c76c9ea4e62d3e4244eb42a6d081 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7655: ddf7cf40a00caa7d02f3729e1e50f78f102463d9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_121916v13: 6fb23c8c47c3c76c9ea4e62d3e4244eb42a6d081 @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
7826a10cf6a2 drm/i915/guc: Close deregister-context race against CT-loss
5fb165135ee0 drm/i915/guc: Flush context destruction worker at suspend
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/index.html
[-- Attachment #2: Type: text/html, Size: 3487 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✗ Fi.CI.IGT: failure for Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
2023-12-28 4:55 ` Alan Previn
` (5 preceding siblings ...)
(?)
@ 2024-01-04 10:57 ` Patchwork
2024-01-04 17:39 ` Teres Alexis, Alan Previn
-1 siblings, 1 reply; 16+ messages in thread
From: Patchwork @ 2024-01-04 10:57 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 92503 bytes --]
== Series Details ==
Series: Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
URL : https://patchwork.freedesktop.org/series/121916/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_14076_full -> Patchwork_121916v13_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_121916v13_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_121916v13_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (9 -> 8)
------------------------------
Missing (1): shard-snb-0
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_121916v13_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_eio@wait-wedge-immediate:
- shard-mtlp: [PASS][1] -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-3/igt@gem_eio@wait-wedge-immediate.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-4/igt@gem_eio@wait-wedge-immediate.html
Known issues
------------
Here are the changes found in Patchwork_121916v13_full that come from known issues:
### CI changes ###
#### Issues hit ####
* boot:
- shard-rkl: ([PASS][3], [PASS][4], [PASS][5], [PASS][6], [PASS][7], [PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23]) -> ([PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30], [PASS][31], [PASS][32], [PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [FAIL][44], [PASS][45], [PASS][46], [PASS][47]) ([i915#8293])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-1/boot.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-1/boot.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-1/boot.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-2/boot.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/boot.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/boot.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/boot.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/boot.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/boot.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-4/boot.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-4/boot.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-4/boot.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-4/boot.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-5/boot.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-5/boot.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-5/boot.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-5/boot.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-7/boot.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-7/boot.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-7/boot.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-7/boot.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/boot.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-5/boot.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-5/boot.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-5/boot.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/boot.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/boot.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/boot.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/boot.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/boot.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/boot.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-3/boot.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/boot.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/boot.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/boot.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/boot.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/boot.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/boot.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/boot.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/boot.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/boot.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-6/boot.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/boot.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/boot.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-6/boot.html
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-reloc-keep-cache:
- shard-dg2: NOTRUN -> [SKIP][48] ([i915#8411])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@api_intel_bb@blit-reloc-keep-cache.html
* igt@api_intel_bb@object-reloc-keep-cache:
- shard-dg1: NOTRUN -> [SKIP][49] ([i915#8411])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@api_intel_bb@object-reloc-keep-cache.html
* igt@api_intel_bb@render-ccs:
- shard-dg2: NOTRUN -> [FAIL][50] ([i915#6122])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@api_intel_bb@render-ccs.html
* igt@debugfs_test@basic-hwmon:
- shard-rkl: NOTRUN -> [SKIP][51] ([i915#9318])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@debugfs_test@basic-hwmon.html
* igt@device_reset@cold-reset-bound:
- shard-dg1: NOTRUN -> [SKIP][52] ([i915#7701])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@device_reset@cold-reset-bound.html
* igt@device_reset@unbind-cold-reset-rebind:
- shard-rkl: NOTRUN -> [SKIP][53] ([i915#7701]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@device_reset@unbind-cold-reset-rebind.html
* igt@drm_fdinfo@busy-idle@vcs1:
- shard-dg1: NOTRUN -> [SKIP][54] ([i915#8414]) +4 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@drm_fdinfo@busy-idle@vcs1.html
* igt@drm_fdinfo@most-busy-check-all@bcs0:
- shard-dg2: NOTRUN -> [SKIP][55] ([i915#8414]) +22 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@drm_fdinfo@most-busy-check-all@bcs0.html
* igt@gem_ccs@suspend-resume:
- shard-rkl: NOTRUN -> [SKIP][56] ([i915#9323])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@gem_ccs@suspend-resume.html
* igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0:
- shard-dg2: NOTRUN -> [INCOMPLETE][57] ([i915#7297])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html
* igt@gem_create@create-ext-cpu-access-big:
- shard-rkl: NOTRUN -> [SKIP][58] ([i915#6335])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_create@create-ext-set-pat:
- shard-dg2: NOTRUN -> [SKIP][59] ([i915#8562])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@gem_create@create-ext-set-pat.html
* igt@gem_create@hog-create@smem0:
- shard-mtlp: NOTRUN -> [FAIL][60] ([i915#8758])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gem_create@hog-create@smem0.html
* igt@gem_ctx_persistence@hang:
- shard-dg1: NOTRUN -> [SKIP][61] ([i915#8555])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@gem_ctx_persistence@hang.html
* igt@gem_ctx_persistence@heartbeat-hostile:
- shard-dg2: NOTRUN -> [SKIP][62] ([i915#8555]) +2 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@gem_ctx_persistence@heartbeat-hostile.html
* igt@gem_ctx_persistence@legacy-engines-mixed:
- shard-snb: NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#1099]) +2 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed.html
* igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0:
- shard-dg2: NOTRUN -> [SKIP][64] ([i915#5882]) +9 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0.html
* igt@gem_ctx_sseu@engines:
- shard-dg2: NOTRUN -> [SKIP][65] ([i915#280])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@invalid-args:
- shard-dg1: NOTRUN -> [SKIP][66] ([i915#280])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_eio@hibernate:
- shard-tglu: [PASS][67] -> [ABORT][68] ([i915#7975] / [i915#8213] / [i915#8398])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-tglu-3/igt@gem_eio@hibernate.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-tglu-10/igt@gem_eio@hibernate.html
* igt@gem_eio@unwedge-stress:
- shard-dg1: [PASS][69] -> [FAIL][70] ([i915#5784])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-dg1-14/igt@gem_eio@unwedge-stress.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_balancer@bonded-dual:
- shard-dg2: NOTRUN -> [SKIP][71] ([i915#4771])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@gem_exec_balancer@bonded-dual.html
* igt@gem_exec_balancer@noheartbeat:
- shard-mtlp: NOTRUN -> [SKIP][72] ([i915#8555])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_exec_balancer@noheartbeat.html
* igt@gem_exec_balancer@parallel-ordering:
- shard-rkl: NOTRUN -> [SKIP][73] ([i915#4525])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_balancer@sliced:
- shard-dg2: NOTRUN -> [SKIP][74] ([i915#4812]) +3 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@gem_exec_balancer@sliced.html
* igt@gem_exec_capture@capture-invisible@smem0:
- shard-mtlp: NOTRUN -> [SKIP][75] ([i915#6334])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gem_exec_capture@capture-invisible@smem0.html
* igt@gem_exec_capture@many-4k-zero:
- shard-dg2: NOTRUN -> [FAIL][76] ([i915#9606])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@gem_exec_capture@many-4k-zero.html
* igt@gem_exec_fair@basic-deadline:
- shard-dg1: NOTRUN -> [SKIP][77] ([i915#3539] / [i915#4852]) +1 other test skip
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@gem_exec_fair@basic-deadline.html
- shard-glk: NOTRUN -> [FAIL][78] ([i915#2846])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk6/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-rrul:
- shard-mtlp: NOTRUN -> [SKIP][79] ([i915#4473] / [i915#4771])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_exec_fair@basic-none-rrul.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-glk: [PASS][80] -> [FAIL][81] ([i915#2842]) +1 other test fail
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-glk3/igt@gem_exec_fair@basic-none-share@rcs0.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk9/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_fair@basic-pace-share:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#3539] / [i915#4852]) +8 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@gem_exec_fair@basic-pace-share.html
* igt@gem_exec_fair@basic-throttle:
- shard-dg2: NOTRUN -> [SKIP][83] ([i915#3539]) +1 other test skip
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@gem_exec_fair@basic-throttle.html
* igt@gem_exec_fence@submit3:
- shard-dg1: NOTRUN -> [SKIP][84] ([i915#4812])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@gem_exec_fence@submit3.html
* igt@gem_exec_gttfill@multigpu-basic:
- shard-rkl: NOTRUN -> [SKIP][85] ([i915#7697])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@gem_exec_gttfill@multigpu-basic.html
- shard-dg1: NOTRUN -> [SKIP][86] ([i915#7697])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@gem_exec_gttfill@multigpu-basic.html
* igt@gem_exec_params@secure-non-master:
- shard-rkl: NOTRUN -> [SKIP][87] ([fdo#112283])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@gem_exec_params@secure-non-master.html
- shard-dg1: NOTRUN -> [SKIP][88] ([fdo#112283])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@gem_exec_params@secure-non-master.html
* igt@gem_exec_reloc@basic-active:
- shard-mtlp: NOTRUN -> [SKIP][89] ([i915#3281]) +2 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_exec_reloc@basic-active.html
* igt@gem_exec_reloc@basic-cpu-read:
- shard-dg2: NOTRUN -> [SKIP][90] ([i915#3281]) +19 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@gem_exec_reloc@basic-cpu-read.html
* igt@gem_exec_reloc@basic-gtt-read-noreloc:
- shard-rkl: NOTRUN -> [SKIP][91] ([i915#3281]) +8 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@gem_exec_reloc@basic-gtt-read-noreloc.html
- shard-dg1: NOTRUN -> [SKIP][92] ([i915#3281]) +5 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@gem_exec_reloc@basic-gtt-read-noreloc.html
* igt@gem_exec_schedule@preempt-queue-chain:
- shard-mtlp: NOTRUN -> [SKIP][93] ([i915#4537] / [i915#4812])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_exec_schedule@preempt-queue-chain.html
* igt@gem_exec_schedule@reorder-wide:
- shard-dg2: NOTRUN -> [SKIP][94] ([i915#4537] / [i915#4812]) +1 other test skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@gem_exec_schedule@reorder-wide.html
* igt@gem_exec_suspend@basic-s4-devices@lmem0:
- shard-dg1: NOTRUN -> [ABORT][95] ([i915#7975] / [i915#8213])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
* igt@gem_fence_thrash@bo-write-verify-none:
- shard-dg1: NOTRUN -> [SKIP][96] ([i915#4860])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@gem_fence_thrash@bo-write-verify-none.html
* igt@gem_fence_thrash@bo-write-verify-y:
- shard-mtlp: NOTRUN -> [SKIP][97] ([i915#4860]) +1 other test skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gem_fence_thrash@bo-write-verify-y.html
* igt@gem_fenced_exec_thrash@no-spare-fences:
- shard-dg2: NOTRUN -> [SKIP][98] ([i915#4860]) +1 other test skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@gem_fenced_exec_thrash@no-spare-fences.html
* igt@gem_huc_copy@huc-copy:
- shard-rkl: NOTRUN -> [SKIP][99] ([i915#2190])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@massive:
- shard-mtlp: NOTRUN -> [SKIP][100] ([i915#4613])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gem_lmem_swapping@massive.html
* igt@gem_lmem_swapping@parallel-random-verify:
- shard-rkl: NOTRUN -> [SKIP][101] ([i915#4613]) +1 other test skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@gem_lmem_swapping@parallel-random-verify.html
* igt@gem_madvise@dontneed-before-exec:
- shard-rkl: NOTRUN -> [SKIP][102] ([i915#3282]) +1 other test skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@gem_madvise@dontneed-before-exec.html
* igt@gem_media_fill@media-fill:
- shard-mtlp: NOTRUN -> [SKIP][103] ([i915#8289])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_media_fill@media-fill.html
* igt@gem_media_vme:
- shard-dg1: NOTRUN -> [SKIP][104] ([i915#284])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@gem_media_vme.html
* igt@gem_mmap@short-mmap:
- shard-mtlp: NOTRUN -> [SKIP][105] ([i915#4083]) +3 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gem_mmap@short-mmap.html
* igt@gem_mmap_gtt@basic-wc:
- shard-dg1: NOTRUN -> [SKIP][106] ([i915#4077]) +9 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@gem_mmap_gtt@basic-wc.html
* igt@gem_mmap_gtt@cpuset-medium-copy-odd:
- shard-mtlp: NOTRUN -> [SKIP][107] ([i915#4077]) +2 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gem_mmap_gtt@cpuset-medium-copy-odd.html
* igt@gem_mmap_gtt@hang:
- shard-dg2: NOTRUN -> [SKIP][108] ([i915#4077]) +17 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@gem_mmap_gtt@hang.html
* igt@gem_mmap_wc@fault-concurrent:
- shard-dg2: NOTRUN -> [SKIP][109] ([i915#4083]) +9 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@gem_mmap_wc@fault-concurrent.html
* igt@gem_mmap_wc@write-read-distinct:
- shard-dg1: NOTRUN -> [SKIP][110] ([i915#4083])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@gem_mmap_wc@write-read-distinct.html
* igt@gem_partial_pwrite_pread@reads-display:
- shard-mtlp: NOTRUN -> [SKIP][111] ([i915#3282]) +3 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_partial_pwrite_pread@reads-display.html
* igt@gem_pread@snoop:
- shard-dg2: NOTRUN -> [SKIP][112] ([i915#3282]) +8 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@gem_pread@snoop.html
* igt@gem_pwrite@basic-exhaustion:
- shard-dg1: NOTRUN -> [SKIP][113] ([i915#3282]) +5 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@create-regular-context-1:
- shard-rkl: NOTRUN -> [SKIP][114] ([i915#4270]) +1 other test skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@gem_pxp@create-regular-context-1.html
* igt@gem_pxp@create-valid-protected-context:
- shard-dg2: NOTRUN -> [SKIP][115] ([i915#4270]) +5 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@gem_pxp@create-valid-protected-context.html
* igt@gem_pxp@fail-invalid-protected-context:
- shard-dg1: NOTRUN -> [SKIP][116] ([i915#4270])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@gem_pxp@fail-invalid-protected-context.html
* igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs:
- shard-mtlp: NOTRUN -> [SKIP][117] ([i915#8428]) +2 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-dg2: NOTRUN -> [SKIP][118] ([i915#4079]) +3 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_set_tiling_vs_gtt:
- shard-dg1: NOTRUN -> [SKIP][119] ([i915#4079]) +1 other test skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@gem_set_tiling_vs_gtt.html
* igt@gem_softpin@evict-snoop:
- shard-dg1: NOTRUN -> [SKIP][120] ([i915#4885])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@gem_softpin@evict-snoop.html
* igt@gem_unfence_active_buffers:
- shard-dg2: NOTRUN -> [SKIP][121] ([i915#4879])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@gem_unfence_active_buffers.html
* igt@gem_userptr_blits@coherency-unsync:
- shard-dg2: NOTRUN -> [SKIP][122] ([i915#3297]) +2 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@gem_userptr_blits@coherency-unsync.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-dg1: NOTRUN -> [SKIP][123] ([i915#3297]) +1 other test skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gem_userptr_blits@unsync-unmap-after-close:
- shard-mtlp: NOTRUN -> [SKIP][124] ([i915#3297])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gem_userptr_blits@unsync-unmap-after-close.html
* igt@gem_vm_create@invalid-create:
- shard-snb: NOTRUN -> [SKIP][125] ([fdo#109271]) +171 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb2/igt@gem_vm_create@invalid-create.html
* igt@gen3_mixed_blits:
- shard-dg1: NOTRUN -> [SKIP][126] ([fdo#109289]) +1 other test skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@gen3_mixed_blits.html
* igt@gen7_exec_parse@basic-allocation:
- shard-rkl: NOTRUN -> [SKIP][127] ([fdo#109289]) +1 other test skip
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@gen7_exec_parse@basic-allocation.html
* igt@gen7_exec_parse@bitmasks:
- shard-dg2: NOTRUN -> [SKIP][128] ([fdo#109289]) +8 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@gen7_exec_parse@bitmasks.html
* igt@gen7_exec_parse@load-register-reg:
- shard-mtlp: NOTRUN -> [SKIP][129] ([fdo#109289]) +1 other test skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@gen7_exec_parse@load-register-reg.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: [PASS][130] -> [ABORT][131] ([i915#5566])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-glk9/igt@gen9_exec_parse@allowed-all.html
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk1/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@batch-without-end:
- shard-dg2: NOTRUN -> [SKIP][132] ([i915#2856]) +2 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@gen9_exec_parse@batch-without-end.html
* igt@gen9_exec_parse@bb-large:
- shard-mtlp: NOTRUN -> [SKIP][133] ([i915#2856])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gen9_exec_parse@bb-large.html
* igt@gen9_exec_parse@bb-secure:
- shard-dg1: NOTRUN -> [SKIP][134] ([i915#2527]) +3 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@gen9_exec_parse@bb-secure.html
* igt@gen9_exec_parse@valid-registers:
- shard-rkl: NOTRUN -> [SKIP][135] ([i915#2527]) +3 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@gen9_exec_parse@valid-registers.html
* igt@i915_module_load@load:
- shard-dg2: NOTRUN -> [SKIP][136] ([i915#6227])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@i915_module_load@load.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-rkl: [PASS][137] -> [INCOMPLETE][138] ([i915#9820] / [i915#9849])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-4/igt@i915_module_load@reload-with-fault-injection.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@i915_module_load@reload-with-fault-injection.html
- shard-dg2: [PASS][139] -> [DMESG-WARN][140] ([i915#9559])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-dg2-7/igt@i915_module_load@reload-with-fault-injection.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0:
- shard-dg1: [PASS][141] -> [FAIL][142] ([i915#3591]) +2 other tests fail
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-19/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
* igt@i915_pm_rps@thresholds-idle@gt0:
- shard-dg2: NOTRUN -> [SKIP][143] ([i915#8925])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@i915_pm_rps@thresholds-idle@gt0.html
* igt@i915_pm_sseu@full-enable:
- shard-mtlp: NOTRUN -> [SKIP][144] ([i915#8437])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@i915_pm_sseu@full-enable.html
* igt@i915_selftest@mock@memory_region:
- shard-glk: NOTRUN -> [DMESG-WARN][145] ([i915#9311])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk5/igt@i915_selftest@mock@memory_region.html
* igt@intel_hwmon@hwmon-write:
- shard-rkl: NOTRUN -> [SKIP][146] ([i915#7707])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@intel_hwmon@hwmon-write.html
* igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling:
- shard-mtlp: NOTRUN -> [SKIP][147] ([i915#4212])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- shard-dg2: NOTRUN -> [SKIP][148] ([i915#4212]) +1 other test skip
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-1-y-rc-ccs:
- shard-rkl: NOTRUN -> [SKIP][149] ([i915#8709]) +3 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-1-y-rc-ccs.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-4-y-rc-ccs:
- shard-dg1: NOTRUN -> [SKIP][150] ([i915#8709]) +7 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-19/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-4-y-rc-ccs.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-3-4-mc-ccs:
- shard-dg2: NOTRUN -> [SKIP][151] ([i915#8709]) +11 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-3-4-mc-ccs.html
* igt@kms_async_flips@crc@pipe-b-hdmi-a-3:
- shard-dg1: NOTRUN -> [FAIL][152] ([i915#8247]) +3 other tests fail
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-13/igt@kms_async_flips@crc@pipe-b-hdmi-a-3.html
* igt@kms_async_flips@crc@pipe-c-hdmi-a-3:
- shard-dg2: NOTRUN -> [FAIL][153] ([i915#8247]) +3 other tests fail
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_async_flips@crc@pipe-c-hdmi-a-3.html
* igt@kms_async_flips@invalid-async-flip:
- shard-dg2: NOTRUN -> [SKIP][154] ([i915#6228])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@kms_async_flips@invalid-async-flip.html
* igt@kms_atomic@plane-primary-overlay-mutable-zpos:
- shard-mtlp: NOTRUN -> [SKIP][155] ([i915#3555])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-rkl: NOTRUN -> [SKIP][156] ([i915#5286]) +4 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-dg1: NOTRUN -> [SKIP][157] ([i915#4538] / [i915#5286]) +5 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [PASS][158] -> [FAIL][159] ([i915#5138])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-dg2: NOTRUN -> [SKIP][160] ([fdo#111614]) +6 other tests skip
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-tglu: [PASS][161] -> [FAIL][162] ([i915#3743]) +2 other tests fail
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-tglu-4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-tglu-5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][163] ([fdo#111614] / [i915#3638]) +2 other tests skip
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][164] ([i915#3638]) +5 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-dg2: NOTRUN -> [SKIP][165] ([i915#5190]) +19 other tests skip
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
- shard-dg2: NOTRUN -> [SKIP][166] ([i915#4538] / [i915#5190]) +8 other tests skip
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-mtlp: NOTRUN -> [SKIP][167] ([i915#6187]) +1 other test skip
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-rkl: NOTRUN -> [SKIP][168] ([fdo#110723]) +3 other tests skip
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
- shard-dg1: NOTRUN -> [SKIP][169] ([i915#4538]) +3 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
- shard-mtlp: NOTRUN -> [SKIP][170] ([fdo#111615]) +3 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_big_joiner@invalid-modeset:
- shard-dg1: NOTRUN -> [SKIP][171] ([i915#2705])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@kms_big_joiner@invalid-modeset.html
* igt@kms_ccs@pipe-b-bad-pixel-format-4-tiled-dg2-mc-ccs:
- shard-dg1: NOTRUN -> [SKIP][172] ([i915#5354] / [i915#6095]) +38 other tests skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@kms_ccs@pipe-b-bad-pixel-format-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@pipe-b-ccs-on-another-bo-y-tiled-gen12-mc-ccs:
- shard-dg2: NOTRUN -> [SKIP][173] ([i915#5354]) +120 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_ccs@pipe-b-ccs-on-another-bo-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@pipe-b-missing-ccs-buffer-y-tiled-gen12-mc-ccs:
- shard-rkl: NOTRUN -> [SKIP][174] ([i915#5354] / [i915#6095]) +19 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@kms_ccs@pipe-b-missing-ccs-buffer-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4-tiled-mtl-rc-ccs:
- shard-rkl: NOTRUN -> [SKIP][175] ([i915#5354]) +23 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@pipe-c-crc-sprite-planes-basic-yf-tiled-ccs:
- shard-mtlp: NOTRUN -> [SKIP][176] ([i915#5354] / [i915#6095]) +16 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-yf-tiled-ccs.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-dg2: NOTRUN -> [SKIP][177] ([i915#4087] / [i915#7213])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_chamelium_color@ctm-0-75:
- shard-rkl: NOTRUN -> [SKIP][178] ([fdo#111827])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_chamelium_color@ctm-0-75.html
* igt@kms_chamelium_color@ctm-green-to-red:
- shard-dg2: NOTRUN -> [SKIP][179] ([fdo#111827]) +5 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_chamelium_color@ctm-green-to-red.html
* igt@kms_chamelium_color@ctm-limited-range:
- shard-dg1: NOTRUN -> [SKIP][180] ([fdo#111827])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@kms_chamelium_color@ctm-limited-range.html
* igt@kms_chamelium_color@ctm-negative:
- shard-mtlp: NOTRUN -> [SKIP][181] ([fdo#111827])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_chamelium_color@ctm-negative.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- shard-rkl: NOTRUN -> [SKIP][182] ([i915#7828]) +5 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_chamelium_frames@dp-crc-fast:
- shard-dg2: NOTRUN -> [SKIP][183] ([i915#7828]) +10 other tests skip
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_chamelium_frames@dp-crc-fast.html
* igt@kms_chamelium_frames@dp-crc-single:
- shard-dg1: NOTRUN -> [SKIP][184] ([i915#7828]) +7 other tests skip
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@kms_chamelium_frames@dp-crc-single.html
* igt@kms_chamelium_hpd@vga-hpd:
- shard-mtlp: NOTRUN -> [SKIP][185] ([i915#7828]) +3 other tests skip
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_chamelium_hpd@vga-hpd.html
* igt@kms_content_protection@atomic:
- shard-dg1: NOTRUN -> [SKIP][186] ([i915#7116]) +1 other test skip
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@content-type-change:
- shard-dg2: NOTRUN -> [SKIP][187] ([i915#9424])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@lic@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][188] ([i915#7173])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@kms_content_protection@lic@pipe-a-dp-4.html
* igt@kms_content_protection@srm:
- shard-dg2: NOTRUN -> [SKIP][189] ([i915#7118]) +1 other test skip
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-3/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-offscreen-32x10:
- shard-mtlp: NOTRUN -> [SKIP][190] ([i915#3555] / [i915#8814]) +1 other test skip
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_cursor_crc@cursor-offscreen-32x10.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-dg2: NOTRUN -> [SKIP][191] ([i915#3359]) +4 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-max-size:
- shard-dg1: NOTRUN -> [SKIP][192] ([i915#3555]) +4 other tests skip
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-mtlp: NOTRUN -> [SKIP][193] ([i915#8814]) +2 other tests skip
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_crc@cursor-sliding-32x10:
- shard-dg2: NOTRUN -> [SKIP][194] ([i915#3555]) +7 other tests skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@kms_cursor_crc@cursor-sliding-32x10.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-dg1: NOTRUN -> [SKIP][195] ([i915#3359]) +1 other test skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-dg1: NOTRUN -> [SKIP][196] ([i915#4103] / [i915#4213])
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@cursora-vs-flipb-atomic:
- shard-mtlp: NOTRUN -> [SKIP][197] ([i915#9809]) +2 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
- shard-dg2: NOTRUN -> [SKIP][198] ([fdo#109274] / [i915#5354]) +8 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-rkl: NOTRUN -> [SKIP][199] ([fdo#111825]) +7 other tests skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
- shard-rkl: NOTRUN -> [SKIP][200] ([fdo#111767] / [fdo#111825])
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-dg2: NOTRUN -> [SKIP][201] ([i915#4103] / [i915#4213]) +2 other tests skip
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-dg2: NOTRUN -> [SKIP][202] ([i915#9833])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-dp-4:
- shard-dg2: NOTRUN -> [SKIP][203] ([i915#9227])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-dp-4.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][204] ([i915#9723])
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-2.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-dg2: NOTRUN -> [SKIP][205] ([i915#8588])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_draw_crc@draw-method-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][206] ([i915#8812])
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_draw_crc@draw-method-mmap-gtt.html
* igt@kms_dsc@dsc-basic:
- shard-dg1: NOTRUN -> [SKIP][207] ([i915#3555] / [i915#3840])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@kms_dsc@dsc-basic.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-mtlp: NOTRUN -> [SKIP][208] ([i915#3555] / [i915#3840])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-rkl: NOTRUN -> [SKIP][209] ([i915#3555] / [i915#3840]) +1 other test skip
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-dg2: NOTRUN -> [SKIP][210] ([i915#3840] / [i915#9053])
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_fbcon_fbt@psr:
- shard-dg2: NOTRUN -> [SKIP][211] ([i915#3469])
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_fbcon_fbt@psr.html
* igt@kms_feature_discovery@display-4x:
- shard-dg2: NOTRUN -> [SKIP][212] ([i915#1839])
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@dp-mst:
- shard-dg2: NOTRUN -> [SKIP][213] ([i915#9337])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@psr2:
- shard-dg2: NOTRUN -> [SKIP][214] ([i915#658])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
- shard-mtlp: NOTRUN -> [SKIP][215] ([i915#3637]) +2 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-mtlp: NOTRUN -> [SKIP][216] ([fdo#111767] / [i915#3637])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@2x-flip-vs-modeset-vs-hang:
- shard-dg2: NOTRUN -> [SKIP][217] ([fdo#109274]) +8 other tests skip
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html
* igt@kms_flip@2x-flip-vs-rmfb-interruptible:
- shard-dg2: NOTRUN -> [SKIP][218] ([fdo#109274] / [fdo#111767])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html
* igt@kms_flip@2x-plain-flip:
- shard-dg1: NOTRUN -> [SKIP][219] ([fdo#111825] / [i915#9934]) +2 other tests skip
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip@flip-vs-fences-interruptible:
- shard-dg1: NOTRUN -> [SKIP][220] ([i915#8381])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@kms_flip@flip-vs-fences-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][221] ([i915#3555] / [i915#8810])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][222] ([i915#2672]) +4 other tests skip
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][223] ([i915#2672] / [i915#3555])
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-valid-mode:
- shard-dg1: NOTRUN -> [SKIP][224] ([i915#2587] / [i915#2672]) +4 other tests skip
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][225] ([i915#2672]) +5 other tests skip
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode.html
* igt@kms_force_connector_basic@force-load-detect:
- shard-rkl: NOTRUN -> [SKIP][226] ([fdo#109285])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_force_connector_basic@force-load-detect.html
- shard-dg2: NOTRUN -> [SKIP][227] ([fdo#109285])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][228] ([i915#8708]) +4 other tests skip
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite:
- shard-snb: [PASS][229] -> [SKIP][230] ([fdo#109271]) +15 other tests skip
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite.html
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
- shard-dg1: NOTRUN -> [SKIP][231] ([fdo#111825]) +26 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][232] ([i915#8708]) +11 other tests skip
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2: NOTRUN -> [SKIP][233] ([i915#8708]) +32 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-mtlp: NOTRUN -> [SKIP][234] ([i915#1825]) +14 other tests skip
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw:
- shard-glk: NOTRUN -> [SKIP][235] ([fdo#109271]) +165 other tests skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk6/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite:
- shard-rkl: NOTRUN -> [SKIP][236] ([i915#3023]) +18 other tests skip
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html
- shard-dg1: NOTRUN -> [SKIP][237] ([i915#3458]) +13 other tests skip
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff:
- shard-dg2: NOTRUN -> [SKIP][238] ([i915#3458]) +28 other tests skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc:
- shard-rkl: NOTRUN -> [SKIP][239] ([fdo#111825] / [i915#1825]) +24 other tests skip
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2: NOTRUN -> [SKIP][240] ([i915#3555] / [i915#8228]) +1 other test skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_hdr@invalid-hdr.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-rkl: NOTRUN -> [SKIP][241] ([i915#3555] / [i915#8228])
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-toggle-dpms:
- shard-dg1: NOTRUN -> [SKIP][242] ([i915#3555] / [i915#8228])
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-mtlp: NOTRUN -> [SKIP][243] ([i915#4816])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_panel_fitting@legacy:
- shard-dg2: NOTRUN -> [SKIP][244] ([i915#6301])
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@kms_panel_fitting@legacy.html
* igt@kms_plane_multiple@tiling-y:
- shard-dg2: NOTRUN -> [SKIP][245] ([i915#8806])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_plane_multiple@tiling-y.html
* igt@kms_plane_multiple@tiling-yf:
- shard-rkl: NOTRUN -> [SKIP][246] ([i915#3555]) +4 other tests skip
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_plane_multiple@tiling-yf.html
- shard-dg2: NOTRUN -> [SKIP][247] ([i915#3555] / [i915#8806])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-dg2: NOTRUN -> [SKIP][248] ([fdo#109274] / [i915#5354] / [i915#9423])
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3:
- shard-dg1: NOTRUN -> [FAIL][249] ([i915#8292])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-13/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-2:
- shard-dg2: NOTRUN -> [SKIP][250] ([i915#9423]) +7 other tests skip
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-3/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-c-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][251] ([i915#9423]) +11 other tests skip
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-13/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-c-hdmi-a-3.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][252] ([i915#9423]) +1 other test skip
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][253] ([i915#5176]) +5 other tests skip
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][254] ([i915#5176] / [i915#9423]) +3 other tests skip
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-c-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][255] ([i915#5235]) +15 other tests skip
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-c-hdmi-a-3.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][256] ([i915#5235]) +3 other tests skip
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b-hdmi-a-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][257] ([i915#5235] / [i915#9423]) +7 other tests skip
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-hdmi-a-3.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][258] ([i915#5235]) +5 other tests skip
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-edp-1.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][259] ([i915#3555] / [i915#5235]) +1 other test skip
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-edp-1.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg2: NOTRUN -> [SKIP][260] ([i915#9519]) +2 other tests skip
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-rkl: [PASS][261] -> [SKIP][262] ([i915#9519]) +2 other tests skip
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-rkl: NOTRUN -> [SKIP][263] ([i915#9519])
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_pm_rpm@modeset-pc8-residency-stress:
- shard-dg2: NOTRUN -> [SKIP][264] ([fdo#109293] / [fdo#109506])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-11/igt@kms_pm_rpm@modeset-pc8-residency-stress.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-dg1: NOTRUN -> [SKIP][265] ([i915#6524])
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_prime@d3hot:
- shard-mtlp: NOTRUN -> [SKIP][266] ([i915#6524])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
- shard-dg1: NOTRUN -> [SKIP][267] ([i915#9683])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@overlay-plane-update-continuous-sf:
- shard-rkl: NOTRUN -> [SKIP][268] ([fdo#111068] / [i915#9683])
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-mtlp: NOTRUN -> [SKIP][269] ([i915#4348])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr2_su@page_flip-p010:
- shard-dg2: NOTRUN -> [SKIP][270] ([i915#9683]) +4 other tests skip
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-rkl: NOTRUN -> [SKIP][271] ([i915#9685])
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
- shard-dg1: NOTRUN -> [SKIP][272] ([i915#9685])
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-dg1: NOTRUN -> [SKIP][273] ([fdo#111615] / [i915#5289])
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-12/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-rkl: NOTRUN -> [SKIP][274] ([fdo#111615] / [i915#5289]) +1 other test skip
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-dg2: NOTRUN -> [SKIP][275] ([i915#4235] / [i915#5190])
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
- shard-dg2: NOTRUN -> [SKIP][276] ([i915#4235]) +1 other test skip
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
* igt@kms_sysfs_edid_timing:
- shard-dg1: NOTRUN -> [FAIL][277] ([IGT#2] / [i915#6493])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-14/igt@kms_sysfs_edid_timing.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg2: NOTRUN -> [SKIP][278] ([i915#8623])
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-mtlp: NOTRUN -> [SKIP][279] ([i915#8623])
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_tv_load_detect@load-detect:
- shard-dg2: NOTRUN -> [SKIP][280] ([fdo#109309])
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@kms_tv_load_detect@load-detect.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1:
- shard-snb: [PASS][281] -> [FAIL][282] ([i915#9196])
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-snb4/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
- shard-tglu: [PASS][283] -> [FAIL][284] ([i915#9196])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-tglu-10/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-tglu-3/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1:
- shard-mtlp: [PASS][285] -> [FAIL][286] ([i915#9196])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-8/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-6/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html
* igt@kms_vrr@flip-basic:
- shard-mtlp: NOTRUN -> [SKIP][287] ([i915#3555] / [i915#8808])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@kms_vrr@flip-basic.html
* igt@kms_vrr@flip-basic-fastset:
- shard-dg1: NOTRUN -> [SKIP][288] ([i915#9906])
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-glk: NOTRUN -> [SKIP][289] ([fdo#109271] / [i915#2437])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk9/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-dg2: NOTRUN -> [SKIP][290] ([i915#2437] / [i915#9412])
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-dg2: NOTRUN -> [SKIP][291] ([i915#2437])
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_writeback@writeback-invalid-parameters.html
* igt@perf@global-sseu-config:
- shard-dg2: NOTRUN -> [SKIP][292] ([i915#7387])
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@perf@global-sseu-config.html
* igt@perf@mi-rpc:
- shard-dg2: NOTRUN -> [SKIP][293] ([i915#2434])
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-6/igt@perf@mi-rpc.html
* igt@perf_pmu@busy-double-start@rcs0:
- shard-mtlp: [PASS][294] -> [FAIL][295] ([i915#4349])
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-6/igt@perf_pmu@busy-double-start@rcs0.html
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-5/igt@perf_pmu@busy-double-start@rcs0.html
* igt@perf_pmu@event-wait@rcs0:
- shard-dg2: NOTRUN -> [SKIP][296] ([fdo#112283])
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@perf_pmu@event-wait@rcs0.html
* igt@perf_pmu@module-unload:
- shard-dg2: NOTRUN -> [FAIL][297] ([i915#5793])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-1/igt@perf_pmu@module-unload.html
* igt@perf_pmu@rc6-all-gts:
- shard-dg1: NOTRUN -> [SKIP][298] ([i915#8516])
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-15/igt@perf_pmu@rc6-all-gts.html
* igt@prime_vgem@basic-gtt:
- shard-dg2: NOTRUN -> [SKIP][299] ([i915#3708] / [i915#4077])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@prime_vgem@basic-gtt.html
* igt@prime_vgem@basic-read:
- shard-mtlp: NOTRUN -> [SKIP][300] ([i915#3708])
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@prime_vgem@basic-read.html
* igt@prime_vgem@fence-read-hang:
- shard-dg2: NOTRUN -> [SKIP][301] ([i915#3708])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@prime_vgem@fence-read-hang.html
- shard-rkl: NOTRUN -> [SKIP][302] ([fdo#109295] / [i915#3708])
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@prime_vgem@fence-read-hang.html
* igt@prime_vgem@fence-write-hang:
- shard-dg1: NOTRUN -> [SKIP][303] ([i915#3708])
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@prime_vgem@fence-write-hang.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-mtlp: NOTRUN -> [SKIP][304] ([i915#9917])
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@sriov_basic@enable-vfs-autoprobe-off.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-dg2: NOTRUN -> [SKIP][305] ([i915#9917])
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@sriov_basic@enable-vfs-autoprobe-on.html
- shard-rkl: NOTRUN -> [SKIP][306] ([i915#9917])
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@syncobj_timeline@invalid-wait-zero-handles:
- shard-mtlp: NOTRUN -> [FAIL][307] ([i915#9781])
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@syncobj_timeline@invalid-wait-zero-handles.html
* igt@syncobj_wait@invalid-wait-zero-handles:
- shard-dg1: NOTRUN -> [FAIL][308] ([i915#9779])
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@syncobj_wait@invalid-wait-zero-handles.html
- shard-glk: NOTRUN -> [FAIL][309] ([i915#9779])
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk6/igt@syncobj_wait@invalid-wait-zero-handles.html
* igt@v3d/v3d_perfmon@create-perfmon-exceed:
- shard-mtlp: NOTRUN -> [SKIP][310] ([i915#2575]) +4 other tests skip
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@v3d/v3d_perfmon@create-perfmon-exceed.html
* igt@v3d/v3d_perfmon@create-two-perfmon:
- shard-rkl: NOTRUN -> [SKIP][311] ([fdo#109315]) +8 other tests skip
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-4/igt@v3d/v3d_perfmon@create-two-perfmon.html
* igt@v3d/v3d_perfmon@get-values-invalid-pad:
- shard-dg1: NOTRUN -> [SKIP][312] ([i915#2575]) +9 other tests skip
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@v3d/v3d_perfmon@get-values-invalid-pad.html
* igt@v3d/v3d_submit_csd@job-perfmon:
- shard-dg2: NOTRUN -> [SKIP][313] ([i915#2575]) +20 other tests skip
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-10/igt@v3d/v3d_submit_csd@job-perfmon.html
* igt@vc4/vc4_label_bo@set-bad-name:
- shard-dg1: NOTRUN -> [SKIP][314] ([i915#7711]) +5 other tests skip
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg1-16/igt@vc4/vc4_label_bo@set-bad-name.html
* igt@vc4/vc4_perfmon@create-perfmon-exceed:
- shard-mtlp: NOTRUN -> [SKIP][315] ([i915#7711]) +4 other tests skip
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@vc4/vc4_perfmon@create-perfmon-exceed.html
* igt@vc4/vc4_perfmon@create-two-perfmon:
- shard-rkl: NOTRUN -> [SKIP][316] ([i915#7711]) +6 other tests skip
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-1/igt@vc4/vc4_perfmon@create-two-perfmon.html
* igt@vc4/vc4_wait_bo@bad-pad:
- shard-dg2: NOTRUN -> [SKIP][317] ([i915#7711]) +10 other tests skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@vc4/vc4_wait_bo@bad-pad.html
#### Possible fixes ####
* igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
- shard-rkl: [FAIL][318] ([i915#7742]) -> [PASS][319]
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-7/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-7/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
* igt@fbdev@pan:
- shard-snb: [FAIL][320] ([i915#4435]) -> [PASS][321]
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-snb7/igt@fbdev@pan.html
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb1/igt@fbdev@pan.html
* igt@gem_mmap_offset@clear@smem0:
- shard-mtlp: [ABORT][322] -> [PASS][323]
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-3/igt@gem_mmap_offset@clear@smem0.html
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-7/igt@gem_mmap_offset@clear@smem0.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-mtlp: [ABORT][324] ([i915#9697]) -> [PASS][325]
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-1/igt@i915_module_load@reload-with-fault-injection.html
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-8/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0:
- shard-mtlp: [FAIL][326] ([i915#5138]) -> [PASS][327]
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-tglu: [FAIL][328] ([i915#3743]) -> [PASS][329]
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-tglu-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-tglu-4/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [FAIL][330] ([i915#2346]) -> [PASS][331]
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a1:
- shard-snb: [INCOMPLETE][332] ([i915#4839]) -> [PASS][333]
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-snb6/igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a1.html
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb4/igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a1.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-snb: [SKIP][334] ([fdo#109271]) -> [PASS][335] +10 other tests pass
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-snb1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
- shard-dg2: [FAIL][336] ([i915#6880]) -> [PASS][337]
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
* igt@kms_pm_dc@dc9-dpms:
- shard-tglu: [SKIP][338] ([i915#4281]) -> [PASS][339]
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-tglu-6/igt@kms_pm_dc@dc9-dpms.html
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-tglu-4/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: [SKIP][340] ([i915#9519]) -> [PASS][341] +1 other test pass
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-2/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-6/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1:
- shard-tglu: [FAIL][342] ([i915#9196]) -> [PASS][343] +1 other test pass
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-tglu-10/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-tglu-3/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
#### Warnings ####
* igt@kms_async_flips@crc@pipe-b-edp-1:
- shard-mtlp: [DMESG-FAIL][344] ([i915#8561]) -> [FAIL][345] ([i915#8247])
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-1/igt@kms_async_flips@crc@pipe-b-edp-1.html
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-4/igt@kms_async_flips@crc@pipe-b-edp-1.html
* igt@kms_content_protection@lic:
- shard-snb: [INCOMPLETE][346] ([i915#8816]) -> [SKIP][347] ([fdo#109271])
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-snb7/igt@kms_content_protection@lic.html
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb1/igt@kms_content_protection@lic.html
* igt@kms_content_protection@srm:
- shard-snb: [SKIP][348] ([fdo#109271]) -> [INCOMPLETE][349] ([i915#8816])
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-snb6/igt@kms_content_protection@srm.html
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-snb7/igt@kms_content_protection@srm.html
* igt@kms_fbcon_fbt@psr:
- shard-rkl: [SKIP][350] ([i915#3955]) -> [SKIP][351] ([fdo#110189] / [i915#3955])
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/igt@kms_fbcon_fbt@psr.html
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/igt@kms_fbcon_fbt@psr.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][352] ([i915#4816]) -> [SKIP][353] ([i915#4070] / [i915#4816])
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: [SKIP][354] ([i915#3361]) -> [SKIP][355] ([i915#4281])
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-rkl-3/igt@kms_pm_dc@dc9-dpms.html
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-rkl-5/igt@kms_pm_dc@dc9-dpms.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
[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#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
[i915#4348]: https://gitlab.freedesktop.org/drm/intel/issues/4348
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4435]: https://gitlab.freedesktop.org/drm/intel/issues/4435
[i915#4473]: https://gitlab.freedesktop.org/drm/intel/issues/4473
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
[i915#4839]: https://gitlab.freedesktop.org/drm/intel/issues/4839
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
[i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
[i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#5793]: https://gitlab.freedesktop.org/drm/intel/issues/5793
[i915#5882]: https://gitlab.freedesktop.org/drm/intel/issues/5882
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6122]: https://gitlab.freedesktop.org/drm/intel/issues/6122
[i915#6187]: https://gitlab.freedesktop.org/drm/intel/issues/6187
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6228]: https://gitlab.freedesktop.org/drm/intel/issues/6228
[i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
[i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
[i915#7213]: https://gitlab.freedesktop.org/drm/intel/issues/7213
[i915#7297]: https://gitlab.freedesktop.org/drm/intel/issues/7297
[i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
[i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
[i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
[i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
[i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
[i915#8289]: https://gitlab.freedesktop.org/drm/intel/issues/8289
[i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
[i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
[i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
[i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398
[i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411
[i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
[i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
[i915#8437]: https://gitlab.freedesktop.org/drm/intel/issues/8437
[i915#8516]: https://gitlab.freedesktop.org/drm/intel/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
[i915#8561]: https://gitlab.freedesktop.org/drm/intel/issues/8561
[i915#8562]: https://gitlab.freedesktop.org/drm/intel/issues/8562
[i915#8588]: https://gitlab.freedesktop.org/drm/intel/issues/8588
[i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
[i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709
[i915#8758]: https://gitlab.freedesktop.org/drm/intel/issues/8758
[i915#8806]: https://gitlab.freedesktop.org/drm/intel/issues/8806
[i915#8808]: https://gitlab.freedesktop.org/drm/intel/issues/8808
[i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810
[i915#8812]: https://gitlab.freedesktop.org/drm/intel/issues/8812
[i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814
[i915#8816]: https://gitlab.freedesktop.org/drm/intel/issues/8816
[i915#8925]: https://gitlab.freedesktop.org/drm/intel/issues/8925
[i915#9053]: https://gitlab.freedesktop.org/drm/intel/issues/9053
[i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196
[i915#9227]: https://gitlab.freedesktop.org/drm/intel/issues/9227
[i915#9311]: https://gitlab.freedesktop.org/drm/intel/issues/9311
[i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
[i915#9323]: https://gitlab.freedesktop.org/drm/intel/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/intel/issues/9337
[i915#9412]: https://gitlab.freedesktop.org/drm/intel/issues/9412
[i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424
[i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519
[i915#9559]: https://gitlab.freedesktop.org/drm/intel/issues/9559
[i915#9606]: https://gitlab.freedesktop.org/drm/intel/issues/9606
[i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673
[i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/intel/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
[i915#9697]: https://gitlab.freedesktop.org/drm/intel/issues/9697
[i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
[i915#9779]: https://gitlab.freedesktop.org/drm/intel/issues/9779
[i915#9781]: https://gitlab.freedesktop.org/drm/intel/issues/9781
[i915#9808]: https://gitlab.freedesktop.org/drm/intel/issues/9808
[i915#9809]: https://gitlab.freedesktop.org/drm/intel/issues/9809
[i915#9820]: https://gitlab.freedesktop.org/drm/intel/issues/9820
[i915#9833]: https://gitlab.freedesktop.org/drm/intel/issues/9833
[i915#9849]: https://gitlab.freedesktop.org/drm/intel/issues/9849
[i915#9906]: https://gitlab.freedesktop.org/drm/intel/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/intel/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/intel/issues/9934
Build changes
-------------
* Linux: CI_DRM_14076 -> Patchwork_121916v13
CI-20190529: 20190529
CI_DRM_14076: 6fb23c8c47c3c76c9ea4e62d3e4244eb42a6d081 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7655: ddf7cf40a00caa7d02f3729e1e50f78f102463d9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_121916v13: 6fb23c8c47c3c76c9ea4e62d3e4244eb42a6d081 @ 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_121916v13/index.html
[-- Attachment #2: Type: text/html, Size: 111745 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: ✗ Fi.CI.IGT: failure for Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
2024-01-04 10:57 ` ✗ Fi.CI.IGT: failure " Patchwork
@ 2024-01-04 17:39 ` Teres Alexis, Alan Previn
2024-01-09 17:41 ` Matt Roper
2024-01-09 22:42 ` Rodrigo Vivi
0 siblings, 2 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2024-01-04 17:39 UTC (permalink / raw)
To: intel-gfx@lists.freedesktop.org
On Thu, 2024-01-04 at 10:57 +0000, Patchwork wrote:
> Patch Details
> Series: Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
> URL: https://patchwork.freedesktop.org/series/121916/
> State: failure
> Details: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/index.html
> CI Bug Log - changes from CI_DRM_14076_full -> Patchwork_121916v13_full
> Summary
>
> FAILURE
alan:snip
> Here are the unknown changes that may have been introduced in Patchwork_121916v13_full:
>
> IGT changes
> Possible regressions
>
> * igt@gem_eio@wait-wedge-immediate:
> * shard-mtlp: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-3/igt@gem_eio@wait-wedge-immediate.html> -> ABORT<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-4/igt@gem_eio@wait-wedge-immediate.html>
>
alan: from the code and dmesg, this is unrelated to guc context destruction flows.
Its reading an MCR register that times out. Additionally, i believe this error is occuring during post-reset-init flows.
So its definitely not doing any context destruction at this point (as reset would have happenned sooner).
> Known issues
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: ✗ Fi.CI.IGT: failure for Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
2024-01-04 17:39 ` Teres Alexis, Alan Previn
@ 2024-01-09 17:41 ` Matt Roper
2024-01-09 22:42 ` Rodrigo Vivi
1 sibling, 0 replies; 16+ messages in thread
From: Matt Roper @ 2024-01-09 17:41 UTC (permalink / raw)
To: Teres Alexis, Alan Previn; +Cc: intel-gfx@lists.freedesktop.org
On Thu, Jan 04, 2024 at 05:39:16PM +0000, Teres Alexis, Alan Previn wrote:
> On Thu, 2024-01-04 at 10:57 +0000, Patchwork wrote:
> > Patch Details
> > Series: Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
> > URL: https://patchwork.freedesktop.org/series/121916/
> > State: failure
> > Details: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/index.html
> > CI Bug Log - changes from CI_DRM_14076_full -> Patchwork_121916v13_full
> > Summary
> >
> > FAILURE
> alan:snip
>
>
> > Here are the unknown changes that may have been introduced in Patchwork_121916v13_full:
> >
> > IGT changes
> > Possible regressions
> >
> > * igt@gem_eio@wait-wedge-immediate:
> > * shard-mtlp: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-3/igt@gem_eio@wait-wedge-immediate.html> -> ABORT<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-4/igt@gem_eio@wait-wedge-immediate.html>
> >
> alan: from the code and dmesg, this is unrelated to guc context destruction flows.
> Its reading an MCR register that times out. Additionally, i believe this error is occuring during post-reset-init flows.
> So its definitely not doing any context destruction at this point (as reset would have happenned sooner).
Yeah, the MCR timeouts are due to these CI machines running an outdated
IFWI, so they're missing an important workaround in the firmware.
Series applies to drm-intel-gt-next. Thanks for the patches and
reviews.
Matt
> > Known issues
> >
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: ✗ Fi.CI.IGT: failure for Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
2024-01-04 17:39 ` Teres Alexis, Alan Previn
2024-01-09 17:41 ` Matt Roper
@ 2024-01-09 22:42 ` Rodrigo Vivi
1 sibling, 0 replies; 16+ messages in thread
From: Rodrigo Vivi @ 2024-01-09 22:42 UTC (permalink / raw)
To: Teres Alexis, Alan Previn; +Cc: intel-gfx@lists.freedesktop.org
On Thu, Jan 04, 2024 at 05:39:16PM +0000, Teres Alexis, Alan Previn wrote:
> On Thu, 2024-01-04 at 10:57 +0000, Patchwork wrote:
> > Patch Details
> > Series: Resolve suspend-resume racing with GuC destroy-context-worker (rev13)
> > URL: https://patchwork.freedesktop.org/series/121916/
> > State: failure
> > Details: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/index.html
> > CI Bug Log - changes from CI_DRM_14076_full -> Patchwork_121916v13_full
> > Summary
> >
> > FAILURE
> alan:snip
>
>
> > Here are the unknown changes that may have been introduced in Patchwork_121916v13_full:
> >
> > IGT changes
> > Possible regressions
> >
> > * igt@gem_eio@wait-wedge-immediate:
> > * shard-mtlp: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14076/shard-mtlp-3/igt@gem_eio@wait-wedge-immediate.html> -> ABORT<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_121916v13/shard-mtlp-4/igt@gem_eio@wait-wedge-immediate.html>
> >
> alan: from the code and dmesg, this is unrelated to guc context destruction flows.
> Its reading an MCR register that times out. Additionally, i believe this error is occuring during post-reset-init flows.
> So its definitely not doing any context destruction at this point (as reset would have happenned sooner).
yeap, it is indeed happening once in a while:

https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7659/shard-mtlp-4/igt@gem_eio@wait-wedge-immediate.html
I was going to merge the series now, but then I noticed that Matt had taken care of that.
Thank you all.
> > Known issues
> >
>
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2024-01-09 22:42 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-28 4:55 [PATCH v9 0/2] Resolve suspend-resume racing with GuC destroy-context-worker Alan Previn
2023-12-28 4:55 ` Alan Previn
2023-12-28 4:55 ` [PATCH v9 1/2] drm/i915/guc: Flush context destruction worker at suspend Alan Previn
2023-12-28 4:55 ` Alan Previn
2023-12-28 4:55 ` [PATCH v9 2/2] drm/i915/guc: Close deregister-context race against CT-loss Alan Previn
2023-12-28 4:55 ` Alan Previn
2023-12-29 21:51 ` Alan Previn
2023-12-29 21:51 ` Alan Previn
2024-01-02 17:40 ` [PATCH v9 0/2] Resolve suspend-resume racing with GuC destroy-context-worker Teres Alexis, Alan Previn
2024-01-02 17:40 ` Teres Alexis, Alan Previn
2024-01-04 8:32 ` ✗ Fi.CI.SPARSE: warning for Resolve suspend-resume racing with GuC destroy-context-worker (rev13) Patchwork
2024-01-04 8:43 ` ✓ Fi.CI.BAT: success " Patchwork
2024-01-04 10:57 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-01-04 17:39 ` Teres Alexis, Alan Previn
2024-01-09 17:41 ` Matt Roper
2024-01-09 22:42 ` Rodrigo Vivi
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.