* [RFC PATCH v2 0/3] Solve dma_fence's problems by locking
@ 2026-10-20 10:00 Philipp Stanner
2026-10-20 10:00 ` [RFC PATCH v2 1/3] dma-fence: Remove RCU protection for fence->ops Philipp Stanner
` (5 more replies)
0 siblings, 6 replies; 11+ messages in thread
From: Philipp Stanner @ 2026-10-20 10:00 UTC (permalink / raw)
To: Sumit Semwal, Christian König, Jani Nikula, Joonas Lahtinen,
Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Simona Vetter,
Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, Miguel Ojeda,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Daniel Almeida, Tamir Duberstein, Alexandre Courbot,
Onur Özkan, Boris Brezillon, Alex Deucher
Cc: linux-media, dri-devel, linux-kernel, intel-gfx,
linux-trace-kernel, rust-for-linux, Philipp Stanner
In our Rust code bases, I'm currently experiencing what we also
experience in C at many places: that the dma_fence contract's RCU
requirements make the API more fragile and put an unnecessary burden on
the API user. Most notably, in C the API behaving correctly now depends
on the API *user* waiting before free()s, waiting before unloads – all
because dma_fence is not properly synchronized.
The patches commit messages give more details about where I want to go
with this particular RFC.
My rough "vision" for dma_fence, where I think it should develop to, can
be described like this:
1. All users should use inline-lock.
2. The fence-signaled state should be our decoupling point.
3. The fence state must be consistently locked.
4. This means all callbacks are only invoked for unsignaled fences, and
the fence cannot signal while a callback runs.
5. All fence API functions should be "atomically correct": they can
always be called without any manual RCU guards in their proximity.
6. The fence lock should, in the long-term, become inaccessible for
users.
Point №6 means that this:
dma_fence_lock_irqsave(…);
dma_fence_set_error(f, err);
dma_fence_signal_locked(f);
dma_fence_unlock_irqrestore(…);
synchronize_rcu();
kfree(driver_foo);
should simply become this:
dma_fence_signal(f, err);
kfree(driver_foo);
So we would end up with a simpler, more robust and more maintainable
API.
I gave this basic testing on a Nouveau desktop and it runs fine.
dma-buf-tests also run fine. I can do more tests on Xe and amdgpu, maybe
on Mali, too.
Since the series is mostly about locking the callbacks, all of which
except for set_deadline() are *already* locked, I am confident that this
can be done.
Feedback welcome
P.
Philipp Stanner (3):
dma-fence: Remove RCU protection for fence->ops
dma-fence: use lock to protect against module-unload
dma-fence: Support unload for ops->get_XXX_name()
drivers/dma-buf/dma-fence.c | 144 +++++++-------------
drivers/dma-buf/sync_file.c | 29 ++--
drivers/gpu/drm/i915/gt/intel_gt_requests.c | 16 +--
drivers/gpu/drm/i915/i915_request.c | 9 +-
drivers/gpu/drm/i915/i915_sw_fence.c | 15 +-
include/linux/dma-fence.h | 63 ++++-----
include/trace/events/dma_fence.h | 12 +-
7 files changed, 113 insertions(+), 175 deletions(-)
--
2.56.0
^ permalink raw reply [flat|nested] 11+ messages in thread* [RFC PATCH v2 1/3] dma-fence: Remove RCU protection for fence->ops 2026-10-20 10:00 [RFC PATCH v2 0/3] Solve dma_fence's problems by locking Philipp Stanner @ 2026-10-20 10:00 ` Philipp Stanner 2026-10-20 10:20 ` sashiko-bot 2026-10-20 10:00 ` [RFC PATCH v2 2/3] dma-fence: use lock to protect against module-unload Philipp Stanner ` (4 subsequent siblings) 5 siblings, 1 reply; 11+ messages in thread From: Philipp Stanner @ 2026-10-20 10:00 UTC (permalink / raw) To: Sumit Semwal, Christian König, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Simona Vetter, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein, Alexandre Courbot, Onur Özkan, Boris Brezillon, Alex Deucher Cc: linux-media, dri-devel, linux-kernel, intel-gfx, linux-trace-kernel, rust-for-linux, Philipp Stanner One issue dma_fence suffers from is that the implementation can run into the driver through dma_fence_ops pointers. The driver, however, might have unloaded at this point, or the callbacks might run into other UAF issues. It has been attempted to solve this with RCU protection, creating a set of sophisticated rules that the driver must follow. Notably, the driver must delay unloading by an RCU grace period, and must delay freeing of resources needed by the callbacks by a grace period also. This is fragile because the dma_fence implementation has no control over it. Subsequent patches present a more robust implementation. Remove the RCU protection for the backend-ops. As an additional bonus, this allows users again to identify their fence through the ops-pointer address, as is frequently done throughout the kernel. Signed-off-by: Philipp Stanner <phasta@kernel.org> --- drivers/dma-buf/dma-fence.c | 78 +++++++------------------------------ include/linux/dma-fence.h | 18 +++------ 2 files changed, 19 insertions(+), 77 deletions(-) diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c index bd58688b81a7..5dab647e3f3f 100644 --- a/drivers/dma-buf/dma-fence.c +++ b/drivers/dma-buf/dma-fence.c @@ -353,7 +353,6 @@ void __dma_fence_might_wait(void) void dma_fence_signal_timestamp_locked(struct dma_fence *fence, ktime_t timestamp) { - const struct dma_fence_ops *ops; struct dma_fence_cb *cur, *tmp; struct list_head cb_list; @@ -365,15 +364,6 @@ void dma_fence_signal_timestamp_locked(struct dma_fence *fence, trace_dma_fence_signaled(fence); - /* - * When neither a release nor a wait operation is specified set the ops - * pointer to NULL to allow the fence structure to become independent - * from who originally issued it. - */ - ops = rcu_dereference_protected(fence->ops, true); - if (!ops->release && !ops->wait) - RCU_INIT_POINTER(fence->ops, NULL); - /* Stash the cb_list before replacing it with the timestamp */ list_replace(&fence->cb_list, &cb_list); @@ -524,7 +514,7 @@ EXPORT_SYMBOL(dma_fence_signal); signed long dma_fence_wait_timeout(struct dma_fence *fence, bool intr, signed long timeout) { - const struct dma_fence_ops *ops; + const struct dma_fence_ops *ops = fence->ops; signed long ret; if (WARN_ON(timeout < 0)) @@ -537,19 +527,11 @@ dma_fence_wait_timeout(struct dma_fence *fence, bool intr, signed long timeout) dma_fence_enable_signaling(fence); rcu_read_lock(); - ops = rcu_dereference(fence->ops); trace_dma_fence_wait_start(fence); - if (ops && ops->wait) { - /* - * Implementing the wait ops is deprecated and not supported for - * issuers of fences who need their lifetime to be independent - * of their module after they signal, so it is ok to use the - * ops outside the RCU protected section. - */ - rcu_read_unlock(); + rcu_read_unlock(); + if (ops->wait) { ret = ops->wait(fence, intr, timeout); } else { - rcu_read_unlock(); ret = dma_fence_default_wait(fence, intr, timeout); } if (trace_dma_fence_wait_end_enabled()) { @@ -572,7 +554,7 @@ void dma_fence_release(struct kref *kref) { struct dma_fence *fence = container_of(kref, struct dma_fence, refcount); - const struct dma_fence_ops *ops; + const struct dma_fence_ops *ops = fence->ops; rcu_read_lock(); trace_dma_fence_destroy(fence); @@ -604,8 +586,7 @@ void dma_fence_release(struct kref *kref) dma_fence_unlock_irqrestore(fence, flags); } - ops = rcu_dereference(fence->ops); - if (ops && ops->release) + if (ops->release) ops->release(fence); else dma_fence_free(fence); @@ -628,7 +609,7 @@ EXPORT_SYMBOL(dma_fence_free); static bool __dma_fence_enable_signaling(struct dma_fence *fence) { - const struct dma_fence_ops *ops; + const struct dma_fence_ops *ops = fence->ops; bool was_set; dma_fence_assert_held(fence); @@ -639,18 +620,14 @@ static bool __dma_fence_enable_signaling(struct dma_fence *fence) if (dma_fence_test_signaled_flag(fence)) return false; - rcu_read_lock(); - ops = rcu_dereference(fence->ops); - if (!was_set && ops && ops->enable_signaling) { + if (!was_set && ops->enable_signaling) { trace_dma_fence_enable_signal(fence); if (!ops->enable_signaling(fence)) { - rcu_read_unlock(); dma_fence_signal_locked(fence); return false; } } - rcu_read_unlock(); return true; } @@ -1019,13 +996,10 @@ EXPORT_SYMBOL(dma_fence_wait_any_timeout); */ void dma_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) { - const struct dma_fence_ops *ops; + const struct dma_fence_ops *ops = fence->ops; - rcu_read_lock(); - ops = rcu_dereference(fence->ops); - if (ops && ops->set_deadline && !dma_fence_is_signaled(fence)) + if (ops->set_deadline && !dma_fence_is_signaled(fence)) ops->set_deadline(fence, deadline); - rcu_read_unlock(); } EXPORT_SYMBOL(dma_fence_set_deadline); @@ -1065,13 +1039,7 @@ __dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops, BUG_ON(!ops || !ops->get_driver_name || !ops->get_timeline_name); kref_init(&fence->refcount); - /* - * While it is counter intuitive to protect a constant function pointer - * table by RCU it allows modules to wait for an RCU grace period - * before they unload, to make sure that nobody is executing their - * functions any more. - */ - RCU_INIT_POINTER(fence->ops, ops); + fence->ops = ops; INIT_LIST_HEAD(&fence->cb_list); fence->context = context; fence->seqno = seqno; @@ -1166,17 +1134,8 @@ EXPORT_SYMBOL(dma_fence_init64); */ const char __rcu *dma_fence_driver_name(struct dma_fence *fence) { - const struct dma_fence_ops *ops; - - /* RCU protection is required for safe access to returned string */ - ops = rcu_dereference(fence->ops); - - /* - * Make load ordering irrelevant by checking both signaled state and ops - * pointer and ops pointer is only set to NULL on newer implementations. - */ - if (!dma_fence_test_signaled_flag(fence) && ops) - return (const char __rcu *)ops->get_driver_name(fence); + if (!dma_fence_test_signaled_flag(fence)) + return (const char __rcu *)fence->ops->get_driver_name(fence); else return (const char __rcu *)"detached-driver"; } @@ -1204,17 +1163,8 @@ EXPORT_SYMBOL(dma_fence_driver_name); */ const char __rcu *dma_fence_timeline_name(struct dma_fence *fence) { - const struct dma_fence_ops *ops; - - /* RCU protection is required for safe access to returned string */ - ops = rcu_dereference(fence->ops); - - /* - * Make load ordering irrelevant by checking both signaled state and ops - * pointer and ops pointer is only set to NULL on newer implementations. - */ - if (!dma_fence_test_signaled_flag(fence) && ops) - return (const char __rcu *)ops->get_timeline_name(fence); + if (!dma_fence_test_signaled_flag(fence)) + return (const char __rcu *)fence->ops->get_timeline_name(fence); else return (const char __rcu *)"signaled-timeline"; } diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h index dd07d128adc3..874848a4aec4 100644 --- a/include/linux/dma-fence.h +++ b/include/linux/dma-fence.h @@ -72,7 +72,7 @@ struct dma_fence { spinlock_t *extern_lock; spinlock_t inline_lock; }; - const struct dma_fence_ops __rcu *ops; + const struct dma_fence_ops *ops; /* * We clear the callback list on kref_put so that by the time we * release the fence it is unused. No one should be adding to the @@ -516,19 +516,15 @@ dma_fence_test_signaled_flag(struct dma_fence *fence) static inline bool dma_fence_is_signaled_locked(struct dma_fence *fence) { - const struct dma_fence_ops *ops; + const struct dma_fence_ops *ops = fence->ops; if (dma_fence_test_signaled_flag(fence)) return true; - rcu_read_lock(); - ops = rcu_dereference(fence->ops); if (ops && ops->signaled && ops->signaled(fence)) { - rcu_read_unlock(); dma_fence_signal_locked(fence); return true; } - rcu_read_unlock(); return false; } @@ -552,19 +548,15 @@ dma_fence_is_signaled_locked(struct dma_fence *fence) static inline bool dma_fence_is_signaled(struct dma_fence *fence) { - const struct dma_fence_ops *ops; + const struct dma_fence_ops *ops = fence->ops; if (dma_fence_test_signaled_flag(fence)) return true; - rcu_read_lock(); - ops = rcu_dereference(fence->ops); if (ops && ops->signaled && ops->signaled(fence)) { - rcu_read_unlock(); dma_fence_signal(fence); return true; } - rcu_read_unlock(); return false; } @@ -769,7 +761,7 @@ extern const struct dma_fence_ops dma_fence_chain_ops; */ static inline bool dma_fence_is_array(struct dma_fence *fence) { - return rcu_access_pointer(fence->ops) == &dma_fence_array_ops; + return fence->ops == &dma_fence_array_ops; } /** @@ -780,7 +772,7 @@ static inline bool dma_fence_is_array(struct dma_fence *fence) */ static inline bool dma_fence_is_chain(struct dma_fence *fence) { - return rcu_access_pointer(fence->ops) == &dma_fence_chain_ops; + return fence->ops == &dma_fence_chain_ops; } /** -- 2.56.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [RFC PATCH v2 1/3] dma-fence: Remove RCU protection for fence->ops 2026-10-20 10:00 ` [RFC PATCH v2 1/3] dma-fence: Remove RCU protection for fence->ops Philipp Stanner @ 2026-10-20 10:20 ` sashiko-bot 0 siblings, 0 replies; 11+ messages in thread From: sashiko-bot @ 2026-10-20 10:20 UTC (permalink / raw) To: Philipp Stanner Cc: dri-devel, intel-gfx, linux-trace-kernel, media-ci, ojeda, gary Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [Medium] dma-fence: broken KUnit test_signaling() after keeping fence->ops on signal - [Low] dma-fence: sparse warnings from remaining rcu_access_pointer() on fence->ops -- commit 4607587506fc5e0428c9d4ca148fc5a0c94b0003 Author: Philipp Stanner <phasta@kernel.org> dma-fence: Remove RCU protection for fence->ops This commit removes the RCU protection and __rcu annotation for struct dma_fence::ops, and stops clearing fence->ops to NULL when signaling fences without release or wait callbacks. > diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c > index bd58688b81a72..5dab647e3f3f9 100644 > --- a/drivers/dma-buf/dma-fence.c > +++ b/drivers/dma-buf/dma-fence.c > @@ -353,7 +353,6 @@ void __dma_fence_might_wait(void) > void dma_fence_signal_timestamp_locked(struct dma_fence *fence, > ktime_t timestamp) > { > - const struct dma_fence_ops *ops; > struct dma_fence_cb *cur, *tmp; > struct list_head cb_list; > > @@ -365,15 +364,6 @@ void dma_fence_signal_timestamp_locked(struct dma_fence *fence, > > trace_dma_fence_signaled(fence); > > - /* > - * When neither a release nor a wait operation is specified set the ops > - * pointer to NULL to allow the fence structure to become independent > - * from who originally issued it. > - */ > - ops = rcu_dereference_protected(fence->ops, true); > - if (!ops->release && !ops->wait) > - RCU_INIT_POINTER(fence->ops, NULL); > - [Severity: Medium] Does keeping fence->ops set here break test_signaling() in drivers/dma-buf/st-dma-fence.c? In drivers/dma-buf/st-dma-fence.c, test_signaling() (added in commit 3695d754ffbb ("dma-buf/selftests: test RCU ops and inline lock v2")) creates a mock fence using mock_ops (which defines neither .release nor .wait), signals it via dma_fence_check_and_signal(), and then checks: if (rcu_dereference_protected(f->ops, true)) { KUNIT_FAIL(test, "Fence ops not cleared on signal"); goto err_free; } Since dma_fence_signal_timestamp_locked() no longer clears fence->ops to NULL, won't this KUnit check unconditionally fail? Additionally, passing the non-__rcu f->ops pointer to rcu_dereference_protected() there will trigger a Sparse address-space warning. > /* Stash the cb_list before replacing it with the timestamp */ > list_replace(&fence->cb_list, &cb_list); > [ ... ] > diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h > index dd07d128adc3b..874848a4aec46 100644 > --- a/include/linux/dma-fence.h > +++ b/include/linux/dma-fence.h > @@ -72,7 +72,7 @@ struct dma_fence { > spinlock_t *extern_lock; > spinlock_t inline_lock; > }; > - const struct dma_fence_ops __rcu *ops; > + const struct dma_fence_ops *ops; [Severity: Low] Should the remaining rcu_access_pointer(fence->ops) callers in the tree also be updated now that the __rcu annotation is removed from struct dma_fence::ops? While dma_fence_is_array() and dma_fence_is_chain() are updated below, several other functions converted in commits f4cc3ab824d6, 764f241ad227, and 7519ba791b00 still wrap fence->ops in rcu_access_pointer(), which causes Sparse to emit address-space mismatch warnings when building with C=1: drivers/gpu/drm/drm_crtc.c:fence_to_crtc(): BUG_ON(rcu_access_pointer(fence->ops) != &drm_crtc_fence_ops); drivers/gpu/drm/scheduler/sched_fence.c:to_drm_sched_fence(): if (rcu_access_pointer(f->ops) == &drm_sched_fence_ops_scheduled) return container_of(f, struct drm_sched_fence, scheduled); if (rcu_access_pointer(f->ops) == &drm_sched_fence_ops_finished) return container_of(f, struct drm_sched_fence, finished); drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c:to_amdgpu_amdkfd_fence(): if (rcu_access_pointer(f->ops) == &amdkfd_fence_ops) return fence; drivers/gpu/host1x/fence.c:host1x_fence_extract(): if (rcu_access_pointer(fence->ops) != &host1x_syncpt_fence_ops) return -EINVAL; > /* > * We clear the callback list on kref_put so that by the time we > * release the fence it is unused. No one should be adding to the [ ... ] > @@ -769,7 +761,7 @@ extern const struct dma_fence_ops dma_fence_chain_ops; > */ > static inline bool dma_fence_is_array(struct dma_fence *fence) > { > - return rcu_access_pointer(fence->ops) == &dma_fence_array_ops; > + return fence->ops == &dma_fence_array_ops; > } > > /** > @@ -780,7 +772,7 @@ static inline bool dma_fence_is_array(struct dma_fence *fence) > */ > static inline bool dma_fence_is_chain(struct dma_fence *fence) > { > - return rcu_access_pointer(fence->ops) == &dma_fence_chain_ops; > + return fence->ops == &dma_fence_chain_ops; > } > > /** -- Sashiko AI review · https://sashiko.dev/#/patchset/20261020100034.759183-2-phasta@kernel.org?part=1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH v2 2/3] dma-fence: use lock to protect against module-unload 2026-10-20 10:00 [RFC PATCH v2 0/3] Solve dma_fence's problems by locking Philipp Stanner 2026-10-20 10:00 ` [RFC PATCH v2 1/3] dma-fence: Remove RCU protection for fence->ops Philipp Stanner @ 2026-10-20 10:00 ` Philipp Stanner 2026-10-20 10:19 ` sashiko-bot 2026-10-20 10:00 ` [RFC PATCH v2 3/3] dma-fence: Support unload for ops->get_XXX_name() Philipp Stanner ` (3 subsequent siblings) 5 siblings, 1 reply; 11+ messages in thread From: Philipp Stanner @ 2026-10-20 10:00 UTC (permalink / raw) To: Sumit Semwal, Christian König, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Simona Vetter, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein, Alexandre Courbot, Onur Özkan, Boris Brezillon, Alex Deucher Cc: linux-media, dri-devel, linux-kernel, intel-gfx, linux-trace-kernel, rust-for-linux, Philipp Stanner dma_fence's lock already guards the signaled-state, and most fence backend_ops callbacks are already called with the lock taken. The contract already relies on the fact that a producer must signal all fences before unloading. The callbacks then must never run on a fence that is already signaled. Currently, driver unload is supported by RCU-checking the fence->ops pointer. However, the design ended up with two partially redundant mechanisms, the other being the signaled-state: /* * Make load ordering irrelevant by checking both signaled state and ops * pointer and ops pointer is only set to NULL on newer implementations. */ if (!dma_fence_test_signaled_flag(fence) && ops) We have seen multiple bugs, such as ordering issues, because of that, for instance in: 035219a760ed ("dma-buf: dma-fence: Fix potential NULL pointer dereference") 3ed11c671ff7 ("dma-buf/dma-fence: fix checking signaling bit for timeline and driver name v3") Additionally, our RCU requirements can by definition not be controled by dma_fence, resulting in a burden on users and an unnecessary grace period delay. Most recently, this came to light in CRTC: https://lore.kernel.org/dri-devel/d54ba24b0a4748b5c00052d4542460ea014aa50d.camel@mailbox.org/ It appears to be the natural solution to guard the fence's signaled state *and* accesses to the driver and its data through the lock. However, in the past it has been argued that one cannot hold the fence-lock while running a callback, because this might lead to deadlocks, since drivers might want to access data protected by a driver lock. De-facto, it is already the case that ops callbacks are called with the lock taken, and don't run into the driver if the fence is signaled already. Thus, we merely need to make that rule official. This commit proposes making it standard to guard against UAF and module unload by holding the lock while running fence->ops. The current situation of the ops is like this: - release() and wait() are deprecated and can never work with module unload in any case, thus neither RCU nor lock help them anyways. - enable_signaling() and is_signaled() are already being invoked with the lock, thus continue doing so is fine. - get_driver_name() and get_timeline_name() can elegantly be solved by copying the name-strings. See subsequent patch. - set_deadline() is the only callback for which a locked call would be new. It has very few implementors, so correctness is easy to verify. For dma_fence_is_signaled(), dma_fence_is_signaled_locked()'s existence proofs that we can lock the former's ops->signaled() call, too. The fact that most callbacks are already invoked with the lock taken proofs that the drivers support it, and doing it consistently will make the entire API far more robust and consistent than RCU-guarding. Current users keep working, and future users can be well-informed about the locking considerations. Let's go for full, consistent locking. Add lock guards around the two missing paths running into non-deprecated backend_ops. Signed-off-by: Philipp Stanner <phasta@kernel.org> --- drivers/dma-buf/dma-fence.c | 7 ++++++- include/linux/dma-fence.h | 21 +++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c index 5dab647e3f3f..e4350bce9cf9 100644 --- a/drivers/dma-buf/dma-fence.c +++ b/drivers/dma-buf/dma-fence.c @@ -997,9 +997,14 @@ EXPORT_SYMBOL(dma_fence_wait_any_timeout); void dma_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) { const struct dma_fence_ops *ops = fence->ops; + unsigned long flags; - if (ops->set_deadline && !dma_fence_is_signaled(fence)) + dma_fence_lock_irqsave(fence, flags); + + if (ops->set_deadline && !dma_fence_is_signaled_locked(fence)) ops->set_deadline(fence, deadline); + + dma_fence_unlock_irqrestore(fence, flags); } EXPORT_SYMBOL(dma_fence_set_deadline); diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h index 874848a4aec4..2223d75c5a49 100644 --- a/include/linux/dma-fence.h +++ b/include/linux/dma-fence.h @@ -549,16 +549,29 @@ static inline bool dma_fence_is_signaled(struct dma_fence *fence) { const struct dma_fence_ops *ops = fence->ops; + unsigned long flags; + bool ret = false; + /* Fast-path optimization. */ if (dma_fence_test_signaled_flag(fence)) return true; - if (ops && ops->signaled && ops->signaled(fence)) { - dma_fence_signal(fence); - return true; + dma_fence_lock_irqsave(fence, flags); + + if (dma_fence_test_signaled_flag(fence)) { + ret = true; + goto out; } - return false; + if (ops->signaled && ops->signaled(fence)) { + ret = true; + dma_fence_signal_locked(fence); + } + +out: + dma_fence_unlock_irqrestore(fence, flags); + + return ret; } /** -- 2.56.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [RFC PATCH v2 2/3] dma-fence: use lock to protect against module-unload 2026-10-20 10:00 ` [RFC PATCH v2 2/3] dma-fence: use lock to protect against module-unload Philipp Stanner @ 2026-10-20 10:19 ` sashiko-bot 0 siblings, 0 replies; 11+ messages in thread From: sashiko-bot @ 2026-10-20 10:19 UTC (permalink / raw) To: Philipp Stanner Cc: dri-devel, intel-gfx, linux-trace-kernel, media-ci, ojeda, gary Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider: - [High] dma-fence: deadlock in dma_fence_set_deadline() holding fence lock - [High] dma-fence: recursive lock deadlock in dma_fence_is_signaled() - [High] dma-fence: module .rodata UAF on ops in dma_fence_set_deadline() -- commit be24351242cf77e69e189b5c2659a451b6892af0 Author: Philipp Stanner <phasta@kernel.org> dma-fence: use lock to protect against module-unload This commit acquires the dma_fence spinlock in dma_fence_set_deadline() and dma_fence_is_signaled() to serialize fence->ops callback invocations against signaling and module unload. > diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c > index 5dab647e3f3f9..e4350bce9cf9b 100644 > --- a/drivers/dma-buf/dma-fence.c > +++ b/drivers/dma-buf/dma-fence.c > @@ -997,9 +997,14 @@ EXPORT_SYMBOL(dma_fence_wait_any_timeout); > void dma_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) > { > const struct dma_fence_ops *ops = fence->ops; > + unsigned long flags; > + > + dma_fence_lock_irqsave(fence, flags); > > - if (ops->set_deadline && !dma_fence_is_signaled(fence)) > + if (ops->set_deadline && !dma_fence_is_signaled_locked(fence)) > ops->set_deadline(fence, deadline); > + > + dma_fence_unlock_irqrestore(fence, flags); > } > EXPORT_SYMBOL(dma_fence_set_deadline); [Severity: High] Will holding the fence spinlock across ops->set_deadline() here cause deadlocks in the existing set_deadline implementations? The comment on struct dma_fence_ops in include/linux/dma-fence.h states: * This is called without &dma_fence.lock held, it can be called * multiple times and from any context. Locking is up to the callee * if it has some state to manage. All three non-container implementations of set_deadline acquire the fence's own spinlock inside the callback, which will self-deadlock on the same CPU when called on an unsignaled fence (for example via the SYNC_IOC_SET_DEADLINE ioctl or DRM atomic commit paths): 1. drivers/gpu/drm/scheduler/sched_fence.c: drm_sched_fence_set_deadline_finished() calls dma_fence_lock_irqsave(f, flags) on the same fence: dma_fence_lock_irqsave(f, flags); /* If we already have an earlier deadline, keep it: */ if (test_bit(DRM_SCHED_FENCE_FLAG_HAS_DEADLINE_BIT, &f->flags) && ktime_before(fence->deadline, deadline)) { dma_fence_unlock_irqrestore(f, flags); return; } In addition, drm_sched_fence_set_deadline_finished() then propagates the deadline to the hardware parent fence: parent = smp_load_acquire(&fence->parent); if (parent) dma_fence_set_deadline(parent, deadline); If the outer dma_fence_set_deadline() holds s_fence->finished's lock across ops->set_deadline(), calling dma_fence_set_deadline(parent, ...) acquires parent's lock under s_fence->finished's lock. However, job completion in drivers/gpu/drm/scheduler/sched_main.c runs dma_fence_signal(parent) -> drm_sched_job_done_cb() -> drm_sched_job_done() -> drm_sched_fence_finished() -> dma_fence_signal(&s_fence->finished), which acquires s_fence->finished's lock while holding parent's lock, creating an AB-BA lock-order inversion. 2. drivers/gpu/drm/msm/msm_fence.c: msm_fence_set_deadline() acquires &fctx->spinlock: spin_lock_irqsave(&fctx->spinlock, flags); which is the fence's extern_lock passed to dma_fence_init() in msm_fence_init(). 3. drivers/dma-buf/sw_sync.c: timeline_fence_set_deadline() acquires the fence lock directly: dma_fence_lock_irqsave(fence, flags); [Severity: High] Also in dma_fence_set_deadline() above, can this still access freed driver memory or unmapped module .rodata when called on an already signaled fence after module unload? First, because there is no unlocked dma_fence_test_signaled_flag(fence) check before dma_fence_lock_irqsave(fence, flags), calling dma_fence_set_deadline() on a signaled fence unconditionally touches dma_fence_spinlock(fence), which may be an extern_lock freed by the driver after signaling. Second, inside the lock: if (ops->set_deadline && !dma_fence_is_signaled_locked(fence)) evaluates ops->set_deadline before checking !dma_fence_is_signaled_locked(fence). Since fence->ops is no longer set to NULL on signaling (after parent commit 4607587506fc ("dma-fence: Remove RCU protection for fence->ops")), calling dma_fence_set_deadline() on a signaled fence after the producer module has unloaded will dereference ops->set_deadline in the unmapped module's .rodata section. Similarly, the commit message notes that release() and wait() are deprecated, but even when a modular driver leaves .release and .wait as NULL in its struct dma_fence_ops table, dma_fence_release(): if (ops->release) ops->release(fence); else dma_fence_free(fence); and dma_fence_wait_timeout(): if (ops->wait) { ret = ops->wait(fence, intr, timeout); } else { ret = dma_fence_default_wait(fence, intr, timeout); } still dereference the ops table in the module's .rodata to check whether those pointers are NULL when a consumer waits on or drops the last reference to a signaled fence after the module has unloaded. > diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h > index 874848a4aec46..2223d75c5a496 100644 > --- a/include/linux/dma-fence.h > +++ b/include/linux/dma-fence.h > @@ -549,16 +549,29 @@ static inline bool > dma_fence_is_signaled(struct dma_fence *fence) > { > const struct dma_fence_ops *ops = fence->ops; > + unsigned long flags; > + bool ret = false; > > + /* Fast-path optimization. */ > if (dma_fence_test_signaled_flag(fence)) > return true; > > - if (ops && ops->signaled && ops->signaled(fence)) { > - dma_fence_signal(fence); > - return true; > + dma_fence_lock_irqsave(fence, flags); > + > + if (dma_fence_test_signaled_flag(fence)) { > + ret = true; > + goto out; > } > > - return false; > + if (ops->signaled && ops->signaled(fence)) { > + ret = true; > + dma_fence_signal_locked(fence); > + } > + > +out: > + dma_fence_unlock_irqrestore(fence, flags); > + > + return ret; > } [Severity: High] Can acquiring dma_fence_lock_irqsave() unconditionally in dma_fence_is_signaled() cause a recursive spinlock deadlock in amdkfd_fence_enable_signaling()? In drivers/dma-buf/dma-fence.c, __dma_fence_enable_signaling() holds the fence spinlock and calls ops->enable_signaling(fence) when the fence is not yet signaled: dma_fence_assert_held(fence); was_set = test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, &fence->flags); if (dma_fence_test_signaled_flag(fence)) return false; if (!was_set && ops->enable_signaling) { trace_dma_fence_enable_signal(fence); if (!ops->enable_signaling(fence)) { In drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c, amdkfd_fence_enable_signaling() (where amdkfd_fence_ops.signaled is NULL) calls dma_fence_is_signaled(f) and kgd2kfd_schedule_evict_and_restore_process(): static bool amdkfd_fence_enable_signaling(struct dma_fence *f) { struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); if (!fence) return false; if (dma_fence_is_signaled(f)) return true; if (!kgd2kfd_schedule_evict_and_restore_process(fence->mm, fence->context_id, f)) return true; and kgd2kfd_schedule_evict_and_restore_process() in drivers/gpu/drm/amd/amdkfd/kfd_device.c also checks: if (dma_fence_is_signaled(fence)) return 0; Previously, dma_fence_is_signaled(f) saw that ops->signaled was NULL and returned false without taking the lock. With this change, when DMA_FENCE_FLAG_SIGNALED_BIT is not set, dma_fence_is_signaled(f) attempts to acquire f's spinlock while __dma_fence_enable_signaling(f) already holds it on the same CPU. !] -- Sashiko AI review · https://sashiko.dev/#/patchset/20261020100034.759183-2-phasta@kernel.org?part=2 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH v2 3/3] dma-fence: Support unload for ops->get_XXX_name() 2026-10-20 10:00 [RFC PATCH v2 0/3] Solve dma_fence's problems by locking Philipp Stanner 2026-10-20 10:00 ` [RFC PATCH v2 1/3] dma-fence: Remove RCU protection for fence->ops Philipp Stanner 2026-10-20 10:00 ` [RFC PATCH v2 2/3] dma-fence: use lock to protect against module-unload Philipp Stanner @ 2026-10-20 10:00 ` Philipp Stanner 2026-10-20 10:27 ` sashiko-bot 2026-10-20 11:48 ` ✓ i915.CI.BAT: success for Solve dma_fence's problems by locking Patchwork ` (2 subsequent siblings) 5 siblings, 1 reply; 11+ messages in thread From: Philipp Stanner @ 2026-10-20 10:00 UTC (permalink / raw) To: Sumit Semwal, Christian König, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Simona Vetter, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein, Alexandre Courbot, Onur Özkan, Boris Brezillon, Alex Deucher Cc: linux-media, dri-devel, linux-kernel, intel-gfx, linux-trace-kernel, rust-for-linux, Philipp Stanner dma_fence's backend_ops get_driver_name() and get_timeline_name() have an unnecessary and complicated RCU requirement. Usage in sync_file, however, already shows how it can be done significantly simpler: Copy the name strings to the user. All that needs to be ensured for that is that the signaled-state is checked and that it cannot change while the callback runs, i.e., the lock must be held. Adjust the two callbacks so that they deep-copy name parameters under lock-protection. Signed-off-by: Philipp Stanner <phasta@kernel.org> --- drivers/dma-buf/dma-fence.c | 73 ++++++++++----------- drivers/dma-buf/sync_file.c | 29 ++++---- drivers/gpu/drm/i915/gt/intel_gt_requests.c | 16 ++--- drivers/gpu/drm/i915/i915_request.c | 9 ++- drivers/gpu/drm/i915/i915_sw_fence.c | 15 ++--- include/linux/dma-fence.h | 22 ++----- include/trace/events/dma_fence.h | 12 ++-- 7 files changed, 77 insertions(+), 99 deletions(-) diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c index e4350bce9cf9..d473d4ea601a 100644 --- a/drivers/dma-buf/dma-fence.c +++ b/drivers/dma-buf/dma-fence.c @@ -555,23 +555,22 @@ void dma_fence_release(struct kref *kref) struct dma_fence *fence = container_of(kref, struct dma_fence, refcount); const struct dma_fence_ops *ops = fence->ops; + const unsigned short len = 64; + char timeline[len]; + char driver[len]; - rcu_read_lock(); trace_dma_fence_destroy(fence); if (!list_empty(&fence->cb_list) && !dma_fence_test_signaled_flag(fence)) { - const char __rcu *timeline; - const char __rcu *driver; unsigned long flags; - driver = dma_fence_driver_name(fence); - timeline = dma_fence_timeline_name(fence); + dma_fence_driver_name(fence, driver, len); + dma_fence_timeline_name(fence, timeline, len); WARN(1, "Fence %s:%s:%llx:%llx released with pending signals!\n", - rcu_dereference(driver), rcu_dereference(timeline), - fence->context, fence->seqno); + driver, timeline, fence->context, fence->seqno); /* * Failed to signal before release, likely a refcounting issue. @@ -590,7 +589,6 @@ void dma_fence_release(struct kref *kref) ops->release(fence); else dma_fence_free(fence); - rcu_read_unlock(); } EXPORT_SYMBOL(dma_fence_release); @@ -1017,23 +1015,20 @@ EXPORT_SYMBOL(dma_fence_set_deadline); */ void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq) { - const char __rcu *timeline = (const char __rcu *)""; - const char __rcu *driver = (const char __rcu *)""; - const char *signaled = ""; - - rcu_read_lock(); + const unsigned short len = 64; + char timeline[len]; + char driver[len]; + char *signaled; if (!dma_fence_is_signaled(fence)) { - timeline = dma_fence_timeline_name(fence); - driver = dma_fence_driver_name(fence); + dma_fence_timeline_name(fence, timeline, len); + dma_fence_driver_name(fence, driver, len); signaled = "un"; } seq_printf(seq, "%llu:%llu %s %s %ssignalled\n", fence->context, fence->seqno, timeline, driver, signaled); - - rcu_read_unlock(); } EXPORT_SYMBOL(dma_fence_describe); @@ -1129,20 +1124,22 @@ EXPORT_SYMBOL(dma_fence_init64); * memory potentially accessed by the &dma_fence.ops functions, is forbidden * after the fence has been signalled. Drivers are allowed to free that data, * and some do. - * - * To allow safe access drivers are mandated to guarantee a RCU grace period - * between signalling the fence and freeing said data. - * - * As such access to the driver name is only valid inside a RCU locked section. - * The pointer MUST be both queried and USED ONLY WITHIN a SINGLE block guarded - * by the &rcu_read_lock and &rcu_read_unlock pair. */ -const char __rcu *dma_fence_driver_name(struct dma_fence *fence) +void dma_fence_driver_name(struct dma_fence *fence, char *s, unsigned short len) { + unsigned long flags; + const char *tmp; + + dma_fence_lock_irqsave(fence, flags); + if (!dma_fence_test_signaled_flag(fence)) - return (const char __rcu *)fence->ops->get_driver_name(fence); + tmp = fence->ops->get_driver_name(fence); else - return (const char __rcu *)"detached-driver"; + tmp = "detached-driver"; + + strscpy(s, tmp, len); + + dma_fence_unlock_irqrestore(fence, flags); } EXPORT_SYMBOL(dma_fence_driver_name); @@ -1158,19 +1155,21 @@ EXPORT_SYMBOL(dma_fence_driver_name); * memory potentially accessed by the &dma_fence.ops functions, is forbidden * after the fence has been signalled. Drivers are allowed to free that data, * and some do. - * - * To allow safe access drivers are mandated to guarantee a RCU grace period - * between signalling the fence and freeing said data. - * - * As such access to the driver name is only valid inside a RCU locked section. - * The pointer MUST be both queried and USED ONLY WITHIN a SINGLE block guarded - * by the &rcu_read_lock and &rcu_read_unlock pair. */ -const char __rcu *dma_fence_timeline_name(struct dma_fence *fence) +void dma_fence_timeline_name(struct dma_fence *fence, char *s, unsigned short len) { + unsigned long flags; + const char *tmp; + + dma_fence_lock_irqsave(fence, flags); + if (!dma_fence_test_signaled_flag(fence)) - return (const char __rcu *)fence->ops->get_timeline_name(fence); + tmp = fence->ops->get_timeline_name(fence); else - return (const char __rcu *)"signaled-timeline"; + tmp = "signaled-timeline"; + + strscpy(s, tmp, len); + + dma_fence_unlock_irqrestore(fence, flags); } EXPORT_SYMBOL(dma_fence_timeline_name); diff --git a/drivers/dma-buf/sync_file.c b/drivers/dma-buf/sync_file.c index 2166bbdf7e4a..0f08713b3b5e 100644 --- a/drivers/dma-buf/sync_file.c +++ b/drivers/dma-buf/sync_file.c @@ -18,6 +18,8 @@ #include <linux/sync_file.h> #include <uapi/linux/sync_file.h> +#define FENCE_NAME_LEN 64 + static const struct file_operations sync_file_fops; static struct sync_file *sync_file_alloc(void) @@ -131,22 +133,21 @@ EXPORT_SYMBOL(sync_file_get_fence); */ char *sync_file_get_name(struct sync_file *sync_file, char *buf, int len) { + char timeline[FENCE_NAME_LEN]; + char driver[FENCE_NAME_LEN]; + if (sync_file->user_name[0]) { strscpy(buf, sync_file->user_name, len); } else { struct dma_fence *fence = sync_file->fence; - const char __rcu *timeline; - const char __rcu *driver; - rcu_read_lock(); - driver = dma_fence_driver_name(fence); - timeline = dma_fence_timeline_name(fence); + dma_fence_driver_name(fence, driver, FENCE_NAME_LEN); + dma_fence_timeline_name(fence, timeline, FENCE_NAME_LEN); snprintf(buf, len, "%s-%s%llu-%lld", - rcu_dereference(driver), - rcu_dereference(timeline), + driver, + timeline, fence->context, fence->seqno); - rcu_read_unlock(); } return buf; @@ -268,19 +269,11 @@ static long sync_file_ioctl_merge(struct sync_file *sync_file, static int sync_fill_fence_info(struct dma_fence *fence, struct sync_fence_info *info) { - const char __rcu *timeline; - const char __rcu *driver; + dma_fence_timeline_name(fence, info->obj_name, sizeof(info->obj_name)); + dma_fence_driver_name(fence, info->driver_name, sizeof(info->driver_name)); rcu_read_lock(); - driver = dma_fence_driver_name(fence); - timeline = dma_fence_timeline_name(fence); - - strscpy(info->obj_name, rcu_dereference(timeline), - sizeof(info->obj_name)); - strscpy(info->driver_name, rcu_dereference(driver), - sizeof(info->driver_name)); - info->status = dma_fence_get_status(fence); info->timestamp_ns = dma_fence_is_signaled(fence) ? diff --git a/drivers/gpu/drm/i915/gt/intel_gt_requests.c b/drivers/gpu/drm/i915/gt/intel_gt_requests.c index 93298820bee2..a37069ca6d2a 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_requests.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_requests.c @@ -240,8 +240,12 @@ void intel_gt_watchdog_work(struct work_struct *work) { struct intel_gt *gt = container_of(work, typeof(*gt), watchdog.work); + const unsigned short len = 64; struct i915_request *rq, *rn; struct llist_node *first; + char timeline[len]; + char driver[len]; + first = llist_del_all(>->watchdog.list); if (!first) @@ -250,17 +254,13 @@ void intel_gt_watchdog_work(struct work_struct *work) llist_for_each_entry_safe(rq, rn, first, watchdog.link) { if (!i915_request_completed(rq)) { struct dma_fence *f = &rq->fence; - const char __rcu *timeline; - const char __rcu *driver; - rcu_read_lock(); - driver = dma_fence_driver_name(f); - timeline = dma_fence_timeline_name(f); + dma_fence_driver_name(f, driver, len); + dma_fence_timeline_name(f, timeline, len); pr_notice("Fence expiration time out i915-%s:%s:%llx!\n", - rcu_dereference(driver), - rcu_dereference(timeline), + driver, + timeline, f->seqno); - rcu_read_unlock(); i915_request_cancel(rq, -EINTR); } i915_request_put(rq); diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c index d2c7b1090df0..c81902d8a89a 100644 --- a/drivers/gpu/drm/i915/i915_request.c +++ b/drivers/gpu/drm/i915/i915_request.c @@ -2185,7 +2185,8 @@ void i915_request_show(struct drm_printer *m, const char *prefix, int indent) { - const char __rcu *timeline; + const unsigned short len = 64; + char timeline[len]; char buf[80] = ""; int x = 0; @@ -2221,8 +2222,7 @@ void i915_request_show(struct drm_printer *m, x = print_sched_attr(&rq->sched.attr, buf, x, sizeof(buf)); - rcu_read_lock(); - timeline = dma_fence_timeline_name((struct dma_fence *)&rq->fence); + dma_fence_timeline_name((struct dma_fence *)&rq->fence, timeline, len); drm_printf(m, "%s%.*s%c %llx:%lld%s%s %s @ %dms: %s\n", prefix, indent, " ", queue_status(rq), @@ -2231,8 +2231,7 @@ void i915_request_show(struct drm_printer *m, fence_status(rq), buf, jiffies_to_msecs(jiffies - rq->emitted_jiffies), - rcu_dereference(timeline)); - rcu_read_unlock(); + timeline); } static bool engine_match_ring(struct intel_engine_cs *engine, struct i915_request *rq) diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c index f24f616e23ee..08b5f96ae2a5 100644 --- a/drivers/gpu/drm/i915/i915_sw_fence.c +++ b/drivers/gpu/drm/i915/i915_sw_fence.c @@ -429,23 +429,22 @@ static void timer_i915_sw_fence_wake(struct timer_list *t) { struct i915_sw_dma_fence_cb_timer *cb = timer_container_of(cb, t, timer); + const unsigned short len = 64; struct i915_sw_fence *fence; - const char __rcu *timeline; - const char __rcu *driver; + char timeline[len]; + char driver[len]; fence = xchg(&cb->base.fence, NULL); if (!fence) return; - rcu_read_lock(); - driver = dma_fence_driver_name(cb->dma); - timeline = dma_fence_timeline_name(cb->dma); + dma_fence_driver_name(cb->dma, driver, len); + dma_fence_timeline_name(cb->dma, timeline, len); pr_notice("Asynchronous wait on fence %s:%s:%llx timed out (hint:%ps)\n", - rcu_dereference(driver), - rcu_dereference(timeline), + driver, + timeline, cb->dma->seqno, i915_sw_fence_debug_hint(fence)); - rcu_read_unlock(); i915_sw_fence_set_error_once(fence, -ETIMEDOUT); i915_sw_fence_complete(fence); diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h index 2223d75c5a49..08ecbc101f4c 100644 --- a/include/linux/dma-fence.h +++ b/include/linux/dma-fence.h @@ -459,25 +459,11 @@ void dma_fence_enable_signaling(struct dma_fence *fence); /** * DOC: Safe external access to driver provided object members * - * All data not stored directly in the dma-fence object, such as the - * &dma_fence.lock and memory potentially accessed by functions in the - * &dma_fence.ops table, MUST NOT be accessed after the fence has been signalled - * because after that point drivers are allowed to free it. - * - * All code accessing that data via the dma-fence API (or directly, which is - * discouraged), MUST make sure to contain the complete access within a - * &rcu_read_lock and &rcu_read_unlock pair. - * - * Some dma-fence API handles this automatically, while other, as for example - * &dma_fence_driver_name and &dma_fence_timeline_name, leave that - * responsibility to the caller. - * - * To enable this scheme to work drivers MUST ensure a RCU grace period elapses - * between signalling the fence and freeing the said data. - * + * Provides naming information strings about the fence if it is not yet signaled. + * Otherwise, provides default strings. */ -const char __rcu *dma_fence_driver_name(struct dma_fence *fence); -const char __rcu *dma_fence_timeline_name(struct dma_fence *fence); +void dma_fence_driver_name(struct dma_fence *fence, char *s, unsigned short len); +void dma_fence_timeline_name(struct dma_fence *fence, char *s, unsigned short len); /* * dma_fence_test_signaled_flag - Only check whether a fence is signaled yet. diff --git a/include/trace/events/dma_fence.h b/include/trace/events/dma_fence.h index 5b10a9e06fb4..f3b929b98cf4 100644 --- a/include/trace/events/dma_fence.h +++ b/include/trace/events/dma_fence.h @@ -9,6 +9,8 @@ struct dma_fence; +#define FENCE_NAME_LEN 64 + DECLARE_EVENT_CLASS(dma_fence, TP_PROTO(struct dma_fence *fence), @@ -16,21 +18,21 @@ DECLARE_EVENT_CLASS(dma_fence, TP_ARGS(fence), TP_STRUCT__entry( - __string(driver, dma_fence_driver_name(fence)) - __string(timeline, dma_fence_timeline_name(fence)) + __array(char, driver, FENCE_NAME_LEN) + __array(char, timeline, FENCE_NAME_LEN) __field(unsigned int, context) __field(unsigned int, seqno) ), TP_fast_assign( - __assign_str(driver); - __assign_str(timeline); + dma_fence_driver_name(fence, __entry->driver, FENCE_NAME_LEN); + dma_fence_timeline_name(fence, __entry->timeline, FENCE_NAME_LEN); __entry->context = fence->context; __entry->seqno = fence->seqno; ), TP_printk("driver=%s timeline=%s context=%u seqno=%u", - __get_str(driver), __get_str(timeline), __entry->context, + __entry->driver, __entry->timeline, __entry->context, __entry->seqno) ); -- 2.56.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [RFC PATCH v2 3/3] dma-fence: Support unload for ops->get_XXX_name() 2026-10-20 10:00 ` [RFC PATCH v2 3/3] dma-fence: Support unload for ops->get_XXX_name() Philipp Stanner @ 2026-10-20 10:27 ` sashiko-bot 0 siblings, 0 replies; 11+ messages in thread From: sashiko-bot @ 2026-10-20 10:27 UTC (permalink / raw) To: Philipp Stanner Cc: dri-devel, intel-gfx, linux-trace-kernel, media-ci, ojeda, gary Thank you for your contribution! Sashiko AI review found 6 potential issue(s) to consider: - [Critical] dma-fence: use-after-free on extern_lock in dma_fence_driver_name() - [High] dma-fence: uninitialized locals in dma_fence_describe() when signaled - [High] dma-fence: recursive spinlock deadlock via trace_dma_fence_destroy() - [High] drm/i915: rq->lock ABBA deadlock in i915_request_show() - [Low] dma-fence: stack VLAs in dma_fence and i915 fence name callers - [Low] dma-fence: leftover rcu_read_lock() and outdated kernel-doc in name helpers -- commit 9ca3a4e9e4ca7aa50b6bddada4c64fc3ed8e2861 Author: Philipp Stanner <phasta@kernel.org> dma-fence: Support unload for ops->get_XXX_name() This commit replaces the RCU-protected return values of dma_fence_driver_name() and dma_fence_timeline_name() with callers passing destination buffers that are populated under the fence lock. > diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c > index e4350bce9cf9b..d473d4ea601a7 100644 > --- a/drivers/dma-buf/dma-fence.c > +++ b/drivers/dma-buf/dma-fence.c > @@ -555,23 +555,22 @@ void dma_fence_release(struct kref *kref) > struct dma_fence *fence = > container_of(kref, struct dma_fence, refcount); > const struct dma_fence_ops *ops = fence->ops; > + const unsigned short len = 64; > + char timeline[len]; > + char driver[len]; [Severity: Low] In C11/gnu11, a const-qualified variable is not an integer constant expression, so does declaring timeline[len] and driver[len] create stack VLAs that trigger compiler warnings (and build failures with CONFIG_WERROR or CONFIG_DRM_I915_WERROR) under -Wvla-larger-than=1 in scripts/Makefile.warn? The same pattern appears in dma_fence_describe(), intel_gt_watchdog_work(), i915_request_show(), and timer_i915_sw_fence_wake(). Also, in dma_fence_release(), these buffers were moved out of the unlikely error block to the top of the function. > > - rcu_read_lock(); > trace_dma_fence_destroy(fence); [ ... ] > @@ -1017,23 +1015,20 @@ EXPORT_SYMBOL(dma_fence_set_deadline); > */ > void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq) > { > - const char __rcu *timeline = (const char __rcu *)""; > - const char __rcu *driver = (const char __rcu *)""; > - const char *signaled = ""; > - > - rcu_read_lock(); > + const unsigned short len = 64; > + char timeline[len]; > + char driver[len]; > + char *signaled; > > if (!dma_fence_is_signaled(fence)) { > - timeline = dma_fence_timeline_name(fence); > - driver = dma_fence_driver_name(fence); > + dma_fence_timeline_name(fence, timeline, len); > + dma_fence_driver_name(fence, driver, len); > signaled = "un"; > } > > seq_printf(seq, "%llu:%llu %s %s %ssignalled\n", > fence->context, fence->seqno, timeline, driver, > signaled); > - > - rcu_read_unlock(); > } > EXPORT_SYMBOL(dma_fence_describe); [Severity: High] What happens in dma_fence_describe() when dma_fence_is_signaled(fence) returns true? Previously, timeline, driver, and signaled were initialized to "" at declaration. Now they are only assigned inside the if (!dma_fence_is_signaled(fence)) block. When the fence is already signaled, won't seq_printf() dereference the uninitialized stack pointer signaled and read the uninitialized stack arrays timeline and driver? Also, if the fence signals concurrently right after !dma_fence_is_signaled(fence) evaluates to true, dma_fence_timeline_name() and dma_fence_driver_name() will populate "signaled-timeline" and "detached-driver" while signaled is set to "un". > @@ -1129,20 +1124,22 @@ EXPORT_SYMBOL(dma_fence_init64); > * memory potentially accessed by the &dma_fence.ops functions, is forbidden > * after the fence has been signalled. Drivers are allowed to free that data, > * and some do. > - * > - * To allow safe access drivers are mandated to guarantee a RCU grace period > - * between signalling the fence and freeing said data. > - * > - * As such access to the driver name is only valid inside a RCU locked section. > - * The pointer MUST be both queried and USED ONLY WITHIN a SINGLE block guarded > - * by the &rcu_read_lock and &rcu_read_unlock pair. > */ > -const char __rcu *dma_fence_driver_name(struct dma_fence *fence) > +void dma_fence_driver_name(struct dma_fence *fence, char *s, unsigned short len) > { > + unsigned long flags; > + const char *tmp; > + > + dma_fence_lock_irqsave(fence, flags); > + > if (!dma_fence_test_signaled_flag(fence)) > - return (const char __rcu *)fence->ops->get_driver_name(fence); > + tmp = fence->ops->get_driver_name(fence); > else > - return (const char __rcu *)"detached-driver"; > + tmp = "detached-driver"; > + > + strscpy(s, tmp, len); > + > + dma_fence_unlock_irqrestore(fence, flags); > } > EXPORT_SYMBOL(dma_fence_driver_name); > > @@ -1158,19 +1155,21 @@ EXPORT_SYMBOL(dma_fence_driver_name); > * memory potentially accessed by the &dma_fence.ops functions, is forbidden > * after the fence has been signalled. Drivers are allowed to free that data, > * and some do. > - * > - * To allow safe access drivers are mandated to guarantee a RCU grace period > - * between signalling the fence and freeing said data. > - * > - * As such access to the driver name is only valid inside a RCU locked section. > - * The pointer MUST be both queried and USED ONLY WITHIN a SINGLE block guarded > - * by the &rcu_read_lock and &rcu_read_unlock pair. > */ > -const char __rcu *dma_fence_timeline_name(struct dma_fence *fence) > +void dma_fence_timeline_name(struct dma_fence *fence, char *s, unsigned short len) > { > + unsigned long flags; > + const char *tmp; > + > + dma_fence_lock_irqsave(fence, flags); > + > if (!dma_fence_test_signaled_flag(fence)) > - return (const char __rcu *)fence->ops->get_timeline_name(fence); > + tmp = fence->ops->get_timeline_name(fence); > else > - return (const char __rcu *)"signaled-timeline"; > + tmp = "signaled-timeline"; > + > + strscpy(s, tmp, len); > + > + dma_fence_unlock_irqrestore(fence, flags); > } > EXPORT_SYMBOL(dma_fence_timeline_name); [Severity: Critical] Is it safe for dma_fence_driver_name() and dma_fence_timeline_name() to unconditionally acquire dma_fence_lock_irqsave(fence, flags) before checking if the fence is already signaled? As noted in the kernel-doc comment above these functions, external memory not embedded in struct dma_fence (including fence->extern_lock) must not be accessed after the fence has signaled because drivers are allowed to free the structure containing the lock once the fence is signaled: drivers/gpu/drm/panthor/panthor_sched.c:group_free_queue() dma_fence_put(queue->fence_ctx.last_fence); kfree(queue); /* frees queue->fence_ctx.lock */ drivers/gpu/drm/msm/msm_fence.c:msm_fence_context_free() kfree(fctx); /* frees fctx->spinlock */ drivers/gpu/drm/xe/xe_hw_fence.c:xe_hw_fence_irq_finish() synchronize_rcu(); /* before freeing irq containing irq->lock */ If a signaled fence is still held (for example in a sync_file) after the driver frees the structure containing fence->extern_lock, and userspace calls SYNC_IOC_FILE_INFO -> sync_fill_fence_info() -> dma_fence_timeline_name(), won't dma_fence_lock_irqsave() dereference and modify the freed spinlock? [Severity: High] Can acquiring dma_fence_lock_irqsave() inside dma_fence_driver_name() and dma_fence_timeline_name() also cause a recursive spinlock deadlock when trace_dma_fence_destroy is enabled? In dma_fence_release(), trace_dma_fence_destroy(fence) is invoked when the refcount drops to zero, which calls dma_fence_driver_name() and dma_fence_timeline_name() in TP_fast_assign(): dma_fence_put(fence) -> dma_fence_release() -> trace_dma_fence_destroy(fence) -> dma_fence_driver_name() -> dma_fence_lock_irqsave(fence, flags) However, several paths in the kernel call dma_fence_put() while already holding the fence's spinlock: 1. dma_fence_signal_timestamp_locked() holds dma_fence_spinlock(fence) while invoking callbacks such as dma_fence_chain_cb(), which calls dma_fence_put(f). 2. Drivers with shared external fence locks call dma_fence_put() while holding that lock, such as virtio_gpu_fence_event_process() (holding drv->lock), nouveau_fence_signal() (holding fctx->lock), and hw_fence_irq_run_cb() (holding irq->lock). If the last reference is dropped on any of these paths while the dma_fence_destroy tracepoint is active, won't dma_fence_lock_irqsave() deadlock trying to acquire the already-held lock on the same CPU? [Severity: Low] Also, should the kernel-doc comments for dma_fence_driver_name() and dma_fence_timeline_name() in drivers/dma-buf/dma-fence.c be updated to document the new @s and @len parameters and void return, as well as the get_driver_name and get_timeline_name comments in struct dma_fence_ops in include/linux/dma-fence.h (which still state that the returned string is RCU protected) and the leftover rcu_read_lock() wrappers around trace_dma_fence_wait_start() and trace_dma_fence_wait_end() in dma_fence_wait_timeout()? > diff --git a/drivers/dma-buf/sync_file.c b/drivers/dma-buf/sync_file.c > index 2166bbdf7e4a4..0f08713b3b5e2 100644 > --- a/drivers/dma-buf/sync_file.c > +++ b/drivers/dma-buf/sync_file.c [ ... ] > @@ -268,19 +269,11 @@ static long sync_file_ioctl_merge(struct sync_file *sync_file, > static int sync_fill_fence_info(struct dma_fence *fence, > struct sync_fence_info *info) > { > - const char __rcu *timeline; > - const char __rcu *driver; > + dma_fence_timeline_name(fence, info->obj_name, sizeof(info->obj_name)); > + dma_fence_driver_name(fence, info->driver_name, sizeof(info->driver_name)); > > rcu_read_lock(); > > - driver = dma_fence_driver_name(fence); > - timeline = dma_fence_timeline_name(fence); > - > - strscpy(info->obj_name, rcu_dereference(timeline), > - sizeof(info->obj_name)); > - strscpy(info->driver_name, rcu_dereference(driver), > - sizeof(info->driver_name)); > - > info->status = dma_fence_get_status(fence); > info->timestamp_ns = > dma_fence_is_signaled(fence) ? [Severity: Low] In sync_fill_fence_info(), now that dma_fence_timeline_name() and dma_fence_driver_name() have been moved outside the RCU critical section, is the remaining rcu_read_lock() / rcu_read_unlock() pair around dma_fence_get_status() and dma_fence_is_signaled() still needed? > diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c > index f66f8efc70629..ce9aff50c0885 100644 > --- a/drivers/gpu/drm/i915/i915_request.c > +++ b/drivers/gpu/drm/i915/i915_request.c > @@ -2183,7 +2183,8 @@ void i915_request_show(struct drm_printer *m, > const char *prefix, > int indent) > { > - const char __rcu *timeline; > + const unsigned short len = 64; > + char timeline[len]; > char buf[80] = ""; > int x = 0; > > @@ -2219,8 +2220,7 @@ void i915_request_show(struct drm_printer *m, > > x = print_sched_attr(&rq->sched.attr, buf, x, sizeof(buf)); > > - rcu_read_lock(); > - timeline = dma_fence_timeline_name((struct dma_fence *)&rq->fence); > + dma_fence_timeline_name((struct dma_fence *)&rq->fence, timeline, len); > drm_printf(m, "%s%.*s%c %llx:%lld%s%s %s @ %dms: %s\n", > prefix, indent, " ", > queue_status(rq), > @@ -2229,8 +2229,7 @@ void i915_request_show(struct drm_printer *m, > fence_status(rq), > buf, > jiffies_to_msecs(jiffies - rq->emitted_jiffies), > - rcu_dereference(timeline)); > - rcu_read_unlock(); > + timeline); > } > > static bool engine_match_ring(struct intel_engine_cs *engine, struct i915_request *rq) [Severity: High] Does calling dma_fence_timeline_name() in i915_request_show() introduce a lock ordering inversion between rq->lock and sched_engine->lock (or ce->guc_state.lock)? Each i915_request initializes rq->fence with &rq->lock. During request signaling in i915_request_retire() and signal_irq_work(), rq->lock is held while invoking fence callbacks: i915_request_retire() / signal_irq_work() [holds rq->lock] -> dma_fence_signal_locked(&rq->fence) -> dma_i915_sw_fence_wake() -> submit_notify() -> execlists_submit_request() [acquires sched_engine->lock] -> guc_submit_request() [acquires ce->guc_state.lock] However, i915_request_show() is called while holding sched_engine->lock or ce->guc_state.lock in paths such as: intel_execlists_show_requests() / intel_execlists_dump_active_requests() [holds sched_engine->lock] -> i915_request_show() -> dma_fence_timeline_name() [acquires rq->lock] intel_guc_dump_active_requests() [holds ce->guc_state.lock] -> intel_engine_dump_active_requests() -> engine_dump_request() -> i915_request_show() -> dma_fence_timeline_name() [acquires rq->lock] Can this cause an AB-BA deadlock when engine state is dumped concurrently with request retirement or breadcrumb signaling? [ ... ] > diff --git a/include/trace/events/dma_fence.h b/include/trace/events/dma_fence.h > index 5b10a9e06fb4e..f3b929b98cf42 100644 > --- a/include/trace/events/dma_fence.h > +++ b/include/trace/events/dma_fence.h > @@ -9,6 +9,8 @@ > > struct dma_fence; > > +#define FENCE_NAME_LEN 64 > + > DECLARE_EVENT_CLASS(dma_fence, > > TP_PROTO(struct dma_fence *fence), > @@ -16,21 +18,21 @@ DECLARE_EVENT_CLASS(dma_fence, > TP_ARGS(fence), > > TP_STRUCT__entry( > - __string(driver, dma_fence_driver_name(fence)) > - __string(timeline, dma_fence_timeline_name(fence)) > + __array(char, driver, FENCE_NAME_LEN) > + __array(char, timeline, FENCE_NAME_LEN) > __field(unsigned int, context) > __field(unsigned int, seqno) > ), > > TP_fast_assign( > - __assign_str(driver); > - __assign_str(timeline); > + dma_fence_driver_name(fence, __entry->driver, FENCE_NAME_LEN); > + dma_fence_timeline_name(fence, __entry->timeline, FENCE_NAME_LEN); > __entry->context = fence->context; > __entry->seqno = fence->seqno; > ), [Severity: High] As noted above in dma_fence_driver_name(), calling dma_fence_driver_name() and dma_fence_timeline_name() inside TP_fast_assign() acquires the fence spinlock during trace_dma_fence_destroy(fence), which can deadlock when dma_fence_put() is called under the fence lock. > > TP_printk("driver=%s timeline=%s context=%u seqno=%u", > - __get_str(driver), __get_str(timeline), __entry->context, > + __entry->driver, __entry->timeline, __entry->context, > __entry->seqno) > ); > -- Sashiko AI review · https://sashiko.dev/#/patchset/20261020100034.759183-2-phasta@kernel.org?part=3 ^ permalink raw reply [flat|nested] 11+ messages in thread
* ✓ i915.CI.BAT: success for Solve dma_fence's problems by locking 2026-10-20 10:00 [RFC PATCH v2 0/3] Solve dma_fence's problems by locking Philipp Stanner ` (2 preceding siblings ...) 2026-10-20 10:00 ` [RFC PATCH v2 3/3] dma-fence: Support unload for ops->get_XXX_name() Philipp Stanner @ 2026-10-20 11:48 ` Patchwork 2026-10-20 12:02 ` [RFC PATCH v2 0/3] " Christian König 2026-10-20 15:36 ` ✗ i915.CI.Full: failure for " Patchwork 5 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2026-10-20 11:48 UTC (permalink / raw) To: Philipp Stanner; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 2430 bytes --] == Series Details == Series: Solve dma_fence's problems by locking URL : https://patchwork.freedesktop.org/series/176479/ State : success == Summary == CI Bug Log - changes from CI_DRM_19366 -> Patchwork_176479v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/index.html Participating hosts (40 -> 39) ------------------------------ Missing (1): bat-dg2-13 Known issues ------------ Here are the changes found in Patchwork_176479v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@sanitycheck: - fi-kbl-7567u: [PASS][1] -> [DMESG-WARN][2] ([i915#13735]) +79 other tests dmesg-warn [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html * igt@kms_busy@basic@flip: - fi-kbl-7567u: [PASS][3] -> [DMESG-WARN][4] ([i915#13735] / [i915#180]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/fi-kbl-7567u/igt@kms_busy@basic@flip.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/fi-kbl-7567u/igt@kms_busy@basic@flip.html * igt@kms_pm_rpm@basic-pci-d3-state: - fi-kbl-7567u: [PASS][5] -> [DMESG-WARN][6] ([i915#13735] / [i915#15673] / [i915#180]) +52 other tests dmesg-warn [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html [i915#13735]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13735 [i915#15673]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15673 [i915#180]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/180 Build changes ------------- * Linux: CI_DRM_19366 -> Patchwork_176479v1 CI-20190529: 20190529 CI_DRM_19366: 24d867f5e671c78760ab39087a57c25ad98e1f42 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_9153: 9153 Patchwork_176479v1: 24d867f5e671c78760ab39087a57c25ad98e1f42 @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/index.html [-- Attachment #2: Type: text/html, Size: 3307 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [RFC PATCH v2 0/3] Solve dma_fence's problems by locking 2026-10-20 10:00 [RFC PATCH v2 0/3] Solve dma_fence's problems by locking Philipp Stanner ` (3 preceding siblings ...) 2026-10-20 11:48 ` ✓ i915.CI.BAT: success for Solve dma_fence's problems by locking Patchwork @ 2026-10-20 12:02 ` Christian König [not found] ` <ca78cdb7c24a9be9b640db782168cdcc5fe30b60.camel@mailbox.org> 2026-10-20 15:36 ` ✗ i915.CI.Full: failure for " Patchwork 5 siblings, 1 reply; 11+ messages in thread From: Christian König @ 2026-10-20 12:02 UTC (permalink / raw) To: Philipp Stanner, Sumit Semwal, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Simona Vetter, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein, Alexandre Courbot, Onur Özkan, Boris Brezillon, Alex Deucher Cc: linux-media, dri-devel, linux-kernel, intel-gfx, linux-trace-kernel, rust-for-linux On 10/20/26 12:00, Philipp Stanner wrote: > In our Rust code bases, I'm currently experiencing what we also > experience in C at many places: that the dma_fence contract's RCU > requirements make the API more fragile and put an unnecessary burden on > the API user. Most notably, in C the API behaving correctly now depends > on the API *user* waiting before free()s, waiting before unloads – all > because dma_fence is not properly synchronized. > > The patches commit messages give more details about where I want to go > with this particular RFC. > > My rough "vision" for dma_fence, where I think it should develop to, can > be described like this: > > 1. All users should use inline-lock. > 2. The fence-signaled state should be our decoupling point. > 3. The fence state must be consistently locked. > 4. This means all callbacks are only invoked for unsignaled fences, and > the fence cannot signal while a callback runs. First of all that prevents concurrent execution of the callbacks which for a lot of use cases is a must have. Then as I pointed out before the second problem is that this again makes the existing lock inversion between the signaling by polling and signaling by interrupts even worse than it already is. What we could use is an SRCU, but a spinlock or any kind of lock is clearly the wrong approach. So as far as I can see that is a big no-go and we should really just use RCU for everything and remove leaking the fence look into the callbacks like I outlined before. Regards, Christian. > 5. All fence API functions should be "atomically correct": they can > always be called without any manual RCU guards in their proximity. > 6. The fence lock should, in the long-term, become inaccessible for > users. > > Point №6 means that this: > > dma_fence_lock_irqsave(…); > dma_fence_set_error(f, err); > dma_fence_signal_locked(f); > dma_fence_unlock_irqrestore(…); > synchronize_rcu(); > kfree(driver_foo); > > should simply become this: > > dma_fence_signal(f, err); > kfree(driver_foo); > > So we would end up with a simpler, more robust and more maintainable > API. > > I gave this basic testing on a Nouveau desktop and it runs fine. > dma-buf-tests also run fine. I can do more tests on Xe and amdgpu, maybe > on Mali, too. > > Since the series is mostly about locking the callbacks, all of which > except for set_deadline() are *already* locked, I am confident that this > can be done. > > Feedback welcome > > P. > > Philipp Stanner (3): > dma-fence: Remove RCU protection for fence->ops > dma-fence: use lock to protect against module-unload > dma-fence: Support unload for ops->get_XXX_name() > > drivers/dma-buf/dma-fence.c | 144 +++++++------------- > drivers/dma-buf/sync_file.c | 29 ++-- > drivers/gpu/drm/i915/gt/intel_gt_requests.c | 16 +-- > drivers/gpu/drm/i915/i915_request.c | 9 +- > drivers/gpu/drm/i915/i915_sw_fence.c | 15 +- > include/linux/dma-fence.h | 63 ++++----- > include/trace/events/dma_fence.h | 12 +- > 7 files changed, 113 insertions(+), 175 deletions(-) > ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <ca78cdb7c24a9be9b640db782168cdcc5fe30b60.camel@mailbox.org>]
* Re: [RFC PATCH v2 0/3] Solve dma_fence's problems by locking [not found] ` <ca78cdb7c24a9be9b640db782168cdcc5fe30b60.camel@mailbox.org> @ 2026-10-20 15:07 ` Christian König 0 siblings, 0 replies; 11+ messages in thread From: Christian König @ 2026-10-20 15:07 UTC (permalink / raw) To: phasta, Sumit Semwal, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Simona Vetter, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein, Alexandre Courbot, Onur Özkan, Boris Brezillon, Alex Deucher Cc: linux-media, dri-devel, linux-kernel, intel-gfx, linux-trace-kernel, rust-for-linux On 10/20/26 16:41, Philipp Stanner wrote: > On Tue, 2026-10-20 at 14:02 +0200, Christian König wrote: >> On 10/20/26 12:00, Philipp Stanner wrote: >>> In our Rust code bases, I'm currently experiencing what we also >>> experience in C at many places: that the dma_fence contract's RCU >>> requirements make the API more fragile and put an unnecessary burden on >>> the API user. Most notably, in C the API behaving correctly now depends >>> on the API *user* waiting before free()s, waiting before unloads – all >>> because dma_fence is not properly synchronized. >>> >>> The patches commit messages give more details about where I want to go >>> with this particular RFC. >>> >>> My rough "vision" for dma_fence, where I think it should develop to, can >>> be described like this: >>> >>> 1. All users should use inline-lock. >>> 2. The fence-signaled state should be our decoupling point. >>> 3. The fence state must be consistently locked. >> >> >>> 4. This means all callbacks are only invoked for unsignaled fences, and >>> the fence cannot signal while a callback runs. >> >> First of all that prevents concurrent execution of the callbacks >> which for a lot of use cases is a must have. > > Currently only set_deadline() can execute in parallel. Especially the is_signaling() callback is executed in parallel by tons of use cases. > > IIUC in our past discussions, your wish has been that the driver can > take its own locks with free locking-order in the callbacks. > > Thus, the callback is invoked under lock in any case, just a few > instructions earlier or later. Thus, no callback ever truly executes > concurrently. And that is fine. Taking the look when you actually need it to protect data structures is perfectly correct. But what you propose here is to abuse the look as a barrier, e.g. to find out if something has finished or not and that is a completely different story. >> >> Then as I pointed out before the second problem is that this again >> makes the existing lock inversion between the signaling by polling >> and signaling by interrupts even worse than it already is. > > We asked for examples in our last discussions, and the only one ever > presented was the list-access requiring the fctx-lock in > nouveau_fence_no_signaling(). Nouveau is often not a good example. > > Can you provide examples in the kernel where deadlock would occur? Just exercise the simple example of a driver supporting both pull and interrupt: Interrupt: Handler takes lock protecting a linked list, finds fence and signals it. Polling: is_signaled is called with fence lock held, can't take list lock and so needs to work around that somehow. This pattern repeats multiple times all over the different dma_fence implementation. Nouveu is just the tip of the iceberg, we have cases of this in amdgpu as well as i915 as well as XE. > Note that I pointed out that all callbacks are already invoked with the > lock taken, which proofs that it's doable. Again, no it isn't. The shared lock was invented exactly because drivers ran into this problem. The common pattern is the same, implementations just dance around the fact that the callbacks are called with the fence lock held by delegating cleanup work and/or using lockless containers etc... A common component like dma_fence should never enforce users to do such workarounds just to solve it's own lifetime issues. > Future users with inline- > lock could employ various techniques for dealing with the lock-order. And that's exactly what I'm trying to avoid. > > Only exception currently is set_deadline(). The only user, MSM, > acquires the lock manually and then nevertheless triggers work on a > kthread, examplifying just one technique. > >> >> What we could use is an SRCU, but a spinlock or any kind of lock is >> clearly the wrong approach. >> >> So as far as I can see that is a big no-go and we should really just >> use RCU for everything and remove leaking the fence look into the >> callbacks like I outlined before. > > Look at patch 3. We might want to add some legacy support for shared- > lock, but it is evident how much more simple the code gets. To be honest I don't think that this is simpler at all. Regards, Christian. > > Also: > >>> >>> Point №6 means that this: >>> >>> dma_fence_lock_irqsave(…); > > I even forgot that you also need a > > if (!dma_fence_is_signaled_locked(…)) > > here > >>> dma_fence_set_error(f, err); >>> dma_fence_signal_locked(f); >>> dma_fence_unlock_irqrestore(…); >>> synchronize_rcu(); >>> kfree(driver_foo); >>> >>> should simply become this: >>> >>> dma_fence_signal(f, err); >>> kfree(driver_foo); > > > :) ^ permalink raw reply [flat|nested] 11+ messages in thread
* ✗ i915.CI.Full: failure for Solve dma_fence's problems by locking 2026-10-20 10:00 [RFC PATCH v2 0/3] Solve dma_fence's problems by locking Philipp Stanner ` (4 preceding siblings ...) 2026-10-20 12:02 ` [RFC PATCH v2 0/3] " Christian König @ 2026-10-20 15:36 ` Patchwork 5 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2026-10-20 15:36 UTC (permalink / raw) To: Philipp Stanner; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 128861 bytes --] == Series Details == Series: Solve dma_fence's problems by locking URL : https://patchwork.freedesktop.org/series/176479/ State : failure == Summary == CI Bug Log - changes from CI_DRM_19366_full -> Patchwork_176479v1_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_176479v1_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_176479v1_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 (10 -> 10) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_176479v1_full: ### IGT changes ### #### Possible regressions #### * igt@gem_eio@hibernate: - shard-snb: [PASS][1] -> [ABORT][2] +14 other tests abort [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-snb5/igt@gem_eio@hibernate.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-snb6/igt@gem_eio@hibernate.html * igt@gem_eio@wait-1us: - shard-tglu: [PASS][3] -> [ABORT][4] +15 other tests abort [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-tglu-7/igt@gem_eio@wait-1us.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-7/igt@gem_eio@wait-1us.html * igt@gem_eio@wait-wedge-10ms: - shard-dg1: [PASS][5] -> [ABORT][6] +17 other tests abort [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg1-19/igt@gem_eio@wait-wedge-10ms.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-18/igt@gem_eio@wait-wedge-10ms.html * igt@gem_exec_fence@nb-await: - shard-glk: [PASS][7] -> [ABORT][8] +5 other tests abort [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-glk6/igt@gem_exec_fence@nb-await.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk1/igt@gem_exec_fence@nb-await.html - shard-mtlp: NOTRUN -> [ABORT][9] +1 other test abort [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-1/igt@gem_exec_fence@nb-await.html * igt@gem_exec_schedule@implicit-write-read: - shard-mtlp: [PASS][10] -> [ABORT][11] +25 other tests abort [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-mtlp-6/igt@gem_exec_schedule@implicit-write-read.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-6/igt@gem_exec_schedule@implicit-write-read.html * igt@gem_exec_schedule@preempt-other-chain: - shard-glk: NOTRUN -> [ABORT][12] +1 other test abort [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk4/igt@gem_exec_schedule@preempt-other-chain.html * igt@gem_exec_schedule@preempt-other-chain@rcs0: - shard-rkl: [PASS][13] -> [ABORT][14] +17 other tests abort [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-4/igt@gem_exec_schedule@preempt-other-chain@rcs0.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-3/igt@gem_exec_schedule@preempt-other-chain@rcs0.html - shard-dg1: NOTRUN -> [ABORT][15] +6 other tests abort [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_exec_schedule@preempt-other-chain@rcs0.html * igt@gem_exec_schedule@preempt-other@rcs0: - shard-tglu-1: NOTRUN -> [ABORT][16] +2 other tests abort [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_exec_schedule@preempt-other@rcs0.html * igt@gem_exec_schedule@preempt-queue-contexts: - shard-tglu: NOTRUN -> [ABORT][17] +5 other tests abort [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-10/igt@gem_exec_schedule@preempt-queue-contexts.html * igt@gem_exec_whisper@basic-fds-forked: - shard-rkl: NOTRUN -> [ABORT][18] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@gem_exec_whisper@basic-fds-forked.html * igt@kms_busy@extended-modeset-hang-newfb-with-reset@pipe-a: - shard-dg2: NOTRUN -> [ABORT][19] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_busy@extended-modeset-hang-newfb-with-reset@pipe-a.html * igt@kms_busy@extended-modeset-hang-oldfb-with-reset@pipe-a: - shard-dg2: [PASS][20] -> [ABORT][21] +26 other tests abort [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-6/igt@kms_busy@extended-modeset-hang-oldfb-with-reset@pipe-a.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-1/igt@kms_busy@extended-modeset-hang-oldfb-with-reset@pipe-a.html #### Warnings #### * igt@kms_busy@extended-modeset-hang-newfb-with-reset: - shard-dg2: [SKIP][22] ([i915#17356]) -> [ABORT][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_busy@extended-modeset-hang-newfb-with-reset.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_busy@extended-modeset-hang-newfb-with-reset.html Known issues ------------ Here are the changes found in Patchwork_176479v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@blit-reloc-keep-cache: - shard-dg1: NOTRUN -> [SKIP][24] ([i915#8411]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@api_intel_bb@blit-reloc-keep-cache.html * igt@device_reset@cold-reset-bound: - shard-tglu-1: NOTRUN -> [SKIP][25] ([i915#11078]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@device_reset@cold-reset-bound.html - shard-dg1: NOTRUN -> [SKIP][26] ([i915#11078]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@device_reset@cold-reset-bound.html * igt@device_reset@unbind-cold-reset-rebind: - shard-tglu: NOTRUN -> [SKIP][27] ([i915#11078]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@device_reset@unbind-cold-reset-rebind.html * igt@gem_bad_reloc@negative-reloc-lut: - shard-rkl: NOTRUN -> [SKIP][28] ([i915#3281]) +1 other test skip [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@gem_bad_reloc@negative-reloc-lut.html * igt@gem_basic@multigpu-create-close: - shard-rkl: NOTRUN -> [SKIP][29] ([i915#7697]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@gem_basic@multigpu-create-close.html - shard-tglu-1: NOTRUN -> [SKIP][30] ([i915#7697]) [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_basic@multigpu-create-close.html * igt@gem_ccs@block-multicopy-inplace: - shard-tglu-1: NOTRUN -> [SKIP][31] ([i915#3555] / [i915#9323]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_ccs@block-multicopy-inplace.html - shard-dg1: NOTRUN -> [SKIP][32] ([i915#3555] / [i915#9323]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_ccs@block-multicopy-inplace.html * igt@gem_create@create-ext-cpu-access-sanity-check: - shard-tglu-1: NOTRUN -> [SKIP][33] ([i915#6335]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_create@create-ext-cpu-access-sanity-check.html * igt@gem_ctx_sseu@mmap-args: - shard-tglu: NOTRUN -> [SKIP][34] ([i915#280]) +1 other test skip [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@gem_ctx_sseu@mmap-args.html * igt@gem_eio@hibernate: - shard-rkl: [PASS][35] -> [ABORT][36] ([i915#7975]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-4/igt@gem_eio@hibernate.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@gem_eio@hibernate.html * igt@gem_exec_balancer@bonded-pair: - shard-dg1: NOTRUN -> [SKIP][37] ([i915#4771]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@gem_exec_balancer@bonded-pair.html * igt@gem_exec_balancer@parallel-bb-first: - shard-tglu-1: NOTRUN -> [SKIP][38] ([i915#4525]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_exec_balancer@parallel-bb-first.html * igt@gem_exec_big@single: - shard-tglu: NOTRUN -> [FAIL][39] ([i915#15816]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@gem_exec_big@single.html * igt@gem_exec_fence@submit3: - shard-dg1: NOTRUN -> [SKIP][40] ([i915#4812]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_exec_fence@submit3.html * igt@gem_exec_flush@basic-wb-set-default: - shard-dg1: NOTRUN -> [SKIP][41] ([i915#3539] / [i915#4852]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_exec_flush@basic-wb-set-default.html * igt@gem_exec_reloc@basic-gtt-cpu-active: - shard-dg1: NOTRUN -> [SKIP][42] ([i915#3281]) +4 other tests skip [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_exec_reloc@basic-gtt-cpu-active.html * igt@gem_exec_suspend@basic-s3: - shard-rkl: [PASS][43] -> [INCOMPLETE][44] ([i915#13356]) +1 other test incomplete [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-7/igt@gem_exec_suspend@basic-s3.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-3/igt@gem_exec_suspend@basic-s3.html * igt@gem_lmem_swapping@basic: - shard-glk: NOTRUN -> [SKIP][45] ([i915#4613]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk6/igt@gem_lmem_swapping@basic.html * igt@gem_lmem_swapping@massive: - shard-tglu-1: NOTRUN -> [SKIP][46] ([i915#4613]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_lmem_swapping@massive.html * igt@gem_lmem_swapping@smem-oom: - shard-tglu: NOTRUN -> [SKIP][47] ([i915#4613]) +3 other tests skip [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@gem_lmem_swapping@smem-oom.html * igt@gem_media_vme: - shard-tglu-1: NOTRUN -> [SKIP][48] ([i915#284]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_media_vme.html - shard-dg1: NOTRUN -> [SKIP][49] ([i915#284]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_media_vme.html * igt@gem_mmap_gtt@close-race: - shard-dg1: NOTRUN -> [SKIP][50] ([i915#4077]) +9 other tests skip [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@gem_mmap_gtt@close-race.html * igt@gem_mmap_gtt@medium-copy-xy: - shard-mtlp: NOTRUN -> [SKIP][51] ([i915#4077]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-1/igt@gem_mmap_gtt@medium-copy-xy.html * igt@gem_mmap_wc@bad-object: - shard-dg1: NOTRUN -> [SKIP][52] ([i915#4083]) +1 other test skip [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_mmap_wc@bad-object.html * igt@gem_partial_pwrite_pread@writes-after-reads-display: - shard-dg1: NOTRUN -> [SKIP][53] ([i915#3282]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_partial_pwrite_pread@writes-after-reads-display.html * igt@gem_pxp@hw-rejects-pxp-buffer: - shard-tglu: NOTRUN -> [SKIP][54] ([i915#13398]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-8/igt@gem_pxp@hw-rejects-pxp-buffer.html * igt@gem_pxp@verify-pxp-key-change-after-suspend-resume: - shard-dg1: NOTRUN -> [SKIP][55] ([i915#4270]) +1 other test skip [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html * igt@gem_softpin@evict-snoop: - shard-rkl: NOTRUN -> [SKIP][56] +24 other tests skip [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@gem_softpin@evict-snoop.html * igt@gem_userptr_blits@coherency-sync: - shard-dg1: NOTRUN -> [SKIP][57] ([i915#3297]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@gem_userptr_blits@coherency-sync.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-tglu: NOTRUN -> [SKIP][58] ([i915#3297]) +5 other tests skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_userptr_blits@map-fixed-invalidate-overlap: - shard-dg1: NOTRUN -> [SKIP][59] ([i915#3297] / [i915#4880]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html * igt@gem_userptr_blits@unsync-overlap: - shard-rkl: NOTRUN -> [SKIP][60] ([i915#3297]) +1 other test skip [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@gem_userptr_blits@unsync-overlap.html * igt@gem_userptr_blits@unsync-unmap-cycles: - shard-tglu-1: NOTRUN -> [SKIP][61] ([i915#3297]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@gem_userptr_blits@unsync-unmap-cycles.html * igt@gen9_exec_parse@bb-start-cmd: - shard-rkl: NOTRUN -> [SKIP][62] ([i915#14544] / [i915#2527]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@gen9_exec_parse@bb-start-cmd.html * igt@gen9_exec_parse@unaligned-jump: - shard-tglu: NOTRUN -> [SKIP][63] ([i915#2527] / [i915#2856]) +3 other tests skip [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@gen9_exec_parse@unaligned-jump.html * igt@i915_drm_fdinfo@all-busy-idle-check-all: - shard-dg1: NOTRUN -> [SKIP][64] ([i915#14123]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@i915_drm_fdinfo@all-busy-idle-check-all.html * igt@i915_drm_fdinfo@virtual-busy-all: - shard-dg1: NOTRUN -> [SKIP][65] ([i915#14118]) +1 other test skip [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@i915_drm_fdinfo@virtual-busy-all.html * igt@i915_pm_freq_api@freq-basic-api: - shard-tglu: NOTRUN -> [SKIP][66] ([i915#8399]) +1 other test skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@i915_pm_freq_api@freq-basic-api.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-tglu-1: NOTRUN -> [SKIP][67] ([i915#14498]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@i915_pm_rc6_residency@rc6-idle.html * igt@i915_pm_rps@thresholds: - shard-dg1: NOTRUN -> [SKIP][68] ([i915#11681]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@i915_pm_rps@thresholds.html * igt@i915_query@hwconfig_table: - shard-tglu-1: NOTRUN -> [SKIP][69] ([i915#6245]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@i915_query@hwconfig_table.html * igt@i915_query@query-topology-unsupported: - shard-tglu: NOTRUN -> [SKIP][70] ([i915#16079]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@i915_query@query-topology-unsupported.html * igt@i915_query@test-query-geometry-subslices: - shard-rkl: NOTRUN -> [SKIP][71] ([i915#5723]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@i915_query@test-query-geometry-subslices.html - shard-tglu: NOTRUN -> [SKIP][72] ([i915#5723]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@i915_query@test-query-geometry-subslices.html * igt@i915_suspend@fence-restore-untiled: - shard-rkl: [PASS][73] -> [ABORT][74] ([i915#15131]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-8/igt@i915_suspend@fence-restore-untiled.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-1/igt@i915_suspend@fence-restore-untiled.html * igt@intel_hwmon@hwmon-read: - shard-tglu-1: NOTRUN -> [SKIP][75] ([i915#7707]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@intel_hwmon@hwmon-read.html * igt@intel_hwmon@hwmon-write: - shard-tglu: NOTRUN -> [SKIP][76] ([i915#7707]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@intel_hwmon@hwmon-write.html * igt@kms_addfb_basic@tile-pitch-mismatch: - shard-dg1: NOTRUN -> [SKIP][77] ([i915#4212]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_addfb_basic@tile-pitch-mismatch.html * igt@kms_async_flips@alternate-sync-async-flip: - shard-dg1: [PASS][78] -> [FAIL][79] ([i915#14888]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg1-19/igt@kms_async_flips@alternate-sync-async-flip.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_async_flips@alternate-sync-async-flip.html * igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1: - shard-dg1: NOTRUN -> [FAIL][80] ([i915#14888]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1.html * igt@kms_async_flips@async-flip-suspend-resume: - shard-glk: NOTRUN -> [INCOMPLETE][81] ([i915#12761] / [i915#13356]) +1 other test incomplete [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk6/igt@kms_async_flips@async-flip-suspend-resume.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels: - shard-glk: NOTRUN -> [SKIP][82] ([i915#1769]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html - shard-tglu: NOTRUN -> [SKIP][83] ([i915#1769] / [i915#3555]) [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html * igt@kms_big_fb@4-tiled-8bpp-rotate-180: - shard-dg1: NOTRUN -> [SKIP][84] ([i915#4538] / [i915#5286]) +2 other tests skip [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html * igt@kms_big_fb@4-tiled-addfb: - shard-rkl: NOTRUN -> [SKIP][85] ([i915#5286]) +1 other test skip [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_big_fb@4-tiled-addfb.html - shard-tglu: NOTRUN -> [SKIP][86] ([i915#5286]) +5 other tests skip [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_big_fb@4-tiled-addfb.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip: - shard-tglu-1: NOTRUN -> [SKIP][87] ([i915#5286]) +2 other tests skip [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip: - shard-rkl: NOTRUN -> [SKIP][88] ([i915#14544] / [i915#5286]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html * igt@kms_big_fb@x-tiled-32bpp-rotate-270: - shard-dg1: NOTRUN -> [SKIP][89] ([i915#3638]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow: - shard-dg1: NOTRUN -> [SKIP][90] +39 other tests skip [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip: - shard-dg1: NOTRUN -> [SKIP][91] ([i915#4538]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html * igt@kms_busy@basic: - shard-dg2: [PASS][92] -> [SKIP][93] ([i915#11190] / [i915#17356]) +2 other tests skip [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_busy@basic.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_busy@basic.html * igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs: - shard-rkl: NOTRUN -> [SKIP][94] ([i915#14098] / [i915#6095]) +15 other tests skip [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs.html * igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][95] ([i915#10307] / [i915#6095]) +60 other tests skip [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-1.html * igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][96] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs: - shard-tglu: NOTRUN -> [SKIP][97] ([i915#12313]) [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][98] ([i915#6095]) +23 other tests skip [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1.html * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs: - shard-tglu-1: NOTRUN -> [SKIP][99] ([i915#6095]) +39 other tests skip [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc: - shard-tglu: NOTRUN -> [SKIP][100] ([i915#6095]) +44 other tests skip [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc.html * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs: - shard-dg2: [PASS][101] -> [SKIP][102] ([i915#17356]) +18 other tests skip [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-1: - shard-dg1: NOTRUN -> [SKIP][103] ([i915#6095]) +124 other tests skip [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-1.html * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-2: - shard-glk: NOTRUN -> [SKIP][104] +52 other tests skip [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk5/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][105] ([i915#6095]) +15 other tests skip [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs: - shard-dg1: NOTRUN -> [SKIP][106] ([i915#12313]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html * igt@kms_cdclk@mode-transition: - shard-dg1: NOTRUN -> [SKIP][107] ([i915#3742]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_cdclk@mode-transition.html * igt@kms_cdclk@mode-transition-all-outputs: - shard-rkl: NOTRUN -> [SKIP][108] ([i915#3742]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_cdclk@mode-transition-all-outputs.html - shard-tglu: NOTRUN -> [SKIP][109] ([i915#3742]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_cdclk@mode-transition-all-outputs.html * igt@kms_cdclk@plane-scaling: - shard-tglu-1: NOTRUN -> [SKIP][110] ([i915#3742]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_cdclk@plane-scaling.html * igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d: - shard-dg1: NOTRUN -> [SKIP][111] ([i915#16471]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d.html * igt@kms_chamelium_frames@hdmi-crc-multiple: - shard-tglu-1: NOTRUN -> [SKIP][112] ([i915#11151] / [i915#7828]) +3 other tests skip [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_chamelium_frames@hdmi-crc-multiple.html * igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode: - shard-rkl: NOTRUN -> [SKIP][113] ([i915#11151] / [i915#7828]) +1 other test skip [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html * igt@kms_chamelium_hpd@vga-hpd-for-each-pipe: - shard-dg1: NOTRUN -> [SKIP][114] ([i915#11151] / [i915#7828]) +4 other tests skip [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html * igt@kms_chamelium_hpd@vga-hpd-without-ddc: - shard-tglu: NOTRUN -> [SKIP][115] ([i915#11151] / [i915#7828]) +9 other tests skip [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-10/igt@kms_chamelium_hpd@vga-hpd-without-ddc.html * igt@kms_color@background-color: - shard-dg2: [PASS][116] -> [SKIP][117] ([i915#17373]) [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_color@background-color.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_color@background-color.html * igt@kms_color@legacy-gamma-reset: - shard-dg2: [PASS][118] -> [SKIP][119] ([i915#12655] / [i915#17373]) [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-3/igt@kms_color@legacy-gamma-reset.html [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_color@legacy-gamma-reset.html * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim: - shard-dg2: [PASS][120] -> [SKIP][121] ([i915#15529]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-3/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim.html [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim.html * igt@kms_color_pipeline@plane-lut1d-ctm3x4@pipe-d-plane-3: - shard-dg2: NOTRUN -> [SKIP][122] ([i915#16990]) +7 other tests skip [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_color_pipeline@plane-lut1d-ctm3x4@pipe-d-plane-3.html - shard-tglu-1: NOTRUN -> [SKIP][123] ([i915#16990]) +15 other tests skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_color_pipeline@plane-lut1d-ctm3x4@pipe-d-plane-3.html - shard-dg1: NOTRUN -> [SKIP][124] ([i915#16990]) +15 other tests skip [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_color_pipeline@plane-lut1d-ctm3x4@pipe-d-plane-3.html * igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-a-plane-3: - shard-rkl: NOTRUN -> [SKIP][125] ([i915#16990]) +5 other tests skip [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-a-plane-3.html * igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3: - shard-tglu: NOTRUN -> [SKIP][126] ([i915#16990]) +31 other tests skip [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3.html * igt@kms_content_protection@atomic: - shard-tglu: NOTRUN -> [SKIP][127] ([i915#15865]) [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-10/igt@kms_content_protection@atomic.html * igt@kms_content_protection@dp-mst-lic-type-0: - shard-tglu: NOTRUN -> [SKIP][128] ([i915#15330] / [i915#3116] / [i915#3299]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_content_protection@dp-mst-lic-type-0.html * igt@kms_content_protection@dp-mst-type-0-suspend-resume: - shard-rkl: NOTRUN -> [SKIP][129] ([i915#15330]) [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html - shard-tglu: NOTRUN -> [SKIP][130] ([i915#15330]) [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html * igt@kms_content_protection@srm: - shard-tglu-1: NOTRUN -> [SKIP][131] ([i915#15865]) +3 other tests skip [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_content_protection@srm.html - shard-dg1: NOTRUN -> [SKIP][132] ([i915#15865]) [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_content_protection@srm.html * igt@kms_content_protection@suspend-resume: - shard-rkl: NOTRUN -> [SKIP][133] ([i915#15865]) [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_content_protection@suspend-resume.html * igt@kms_cursor_crc@cursor-onscreen-32x32: - shard-dg1: NOTRUN -> [SKIP][134] ([i915#3555]) +2 other tests skip [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_cursor_crc@cursor-onscreen-32x32.html * igt@kms_cursor_crc@cursor-random-128x42: - shard-mtlp: NOTRUN -> [SKIP][135] ([i915#8814]) [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-1/igt@kms_cursor_crc@cursor-random-128x42.html * igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-2: - shard-rkl: NOTRUN -> [FAIL][136] ([i915#13566]) [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-2.html * igt@kms_cursor_crc@cursor-sliding-32x10: - shard-tglu-1: NOTRUN -> [SKIP][137] ([i915#3555]) +1 other test skip [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-32x10.html * igt@kms_cursor_crc@cursor-sliding-64x64@pipe-a-edp-1: - shard-mtlp: [PASS][138] -> [FAIL][139] ([i915#13566] / [i915#15733]) [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-mtlp-3/igt@kms_cursor_crc@cursor-sliding-64x64@pipe-a-edp-1.html [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-5/igt@kms_cursor_crc@cursor-sliding-64x64@pipe-a-edp-1.html * igt@kms_cursor_crc@cursor-sliding-max-size: - shard-rkl: NOTRUN -> [SKIP][140] ([i915#14544] / [i915#3555]) [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-max-size.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - shard-tglu: NOTRUN -> [SKIP][141] ([i915#4103]) [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_dirtyfb@drrs-dirtyfb-ioctl: - shard-tglu-1: NOTRUN -> [SKIP][142] ([i915#9723]) [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html - shard-dg1: NOTRUN -> [SKIP][143] ([i915#9723]) [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html * igt@kms_display_modes@extended-mode-basic: - shard-rkl: NOTRUN -> [SKIP][144] ([i915#13691] / [i915#14544]) [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_display_modes@extended-mode-basic.html * igt@kms_dp_link_training@non-uhbr-mst-tbtalt-train: - shard-tglu: NOTRUN -> [SKIP][145] ([i915#17291]) [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-8/igt@kms_dp_link_training@non-uhbr-mst-tbtalt-train.html * igt@kms_dp_link_training@non-uhbr-sst-direct-train: - shard-tglu: NOTRUN -> [SKIP][146] ([i915#17286]) [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_dp_link_training@non-uhbr-sst-direct-train.html * igt@kms_dp_link_training@non-uhbr-sst-tbtalt-train: - shard-rkl: NOTRUN -> [SKIP][147] ([i915#17290]) [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_dp_link_training@non-uhbr-sst-tbtalt-train.html - shard-tglu-1: NOTRUN -> [SKIP][148] ([i915#17290]) [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_dp_link_training@non-uhbr-sst-tbtalt-train.html * igt@kms_dp_linktrain_fallback@dp-fallback: - shard-dg1: NOTRUN -> [SKIP][149] ([i915#16867]) [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_dp_linktrain_fallback@dp-fallback.html * igt@kms_dsc@dsc-with-bpc-ultrajoiner: - shard-dg1: NOTRUN -> [SKIP][150] ([i915#16361]) +1 other test skip [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_dsc@dsc-with-bpc-ultrajoiner.html * igt@kms_dsc@dsc-with-formats: - shard-tglu: NOTRUN -> [SKIP][151] ([i915#16361]) +3 other tests skip [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@kms_dsc@dsc-with-formats.html * igt@kms_dsc@dsc-with-output-formats-ultrajoiner: - shard-rkl: NOTRUN -> [SKIP][152] ([i915#16361]) [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_dsc@dsc-with-output-formats-ultrajoiner.html - shard-tglu-1: NOTRUN -> [SKIP][153] ([i915#16361]) +1 other test skip [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_dsc@dsc-with-output-formats-ultrajoiner.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-dg2: [PASS][154] -> [SKIP][155] ([i915#1849]) [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_fbcon_fbt@fbc-suspend.html [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_fbcon_fbt@psr-suspend: - shard-dg1: NOTRUN -> [SKIP][156] ([i915#16680]) [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_feature_discovery@display-3x: - shard-tglu-1: NOTRUN -> [SKIP][157] ([i915#16081]) [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_feature_discovery@display-3x.html - shard-dg1: NOTRUN -> [SKIP][158] ([i915#16081]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_feature_discovery@display-3x.html * igt@kms_feature_discovery@dp-mst: - shard-tglu: NOTRUN -> [SKIP][159] ([i915#16599]) [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_feature_discovery@dp-mst.html * igt@kms_flip@2x-absolute-wf_vblank: - shard-dg1: NOTRUN -> [SKIP][160] ([i915#9934]) +3 other tests skip [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_flip@2x-absolute-wf_vblank.html * igt@kms_flip@2x-flip-vs-absolute-wf_vblank: - shard-tglu: NOTRUN -> [SKIP][161] ([i915#3637] / [i915#9934]) +4 other tests skip [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-10/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html * igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible: - shard-tglu: NOTRUN -> [SKIP][162] ([i915#9934]) [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible: - shard-rkl: NOTRUN -> [SKIP][163] ([i915#9934]) +1 other test skip [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html * igt@kms_flip@2x-plain-flip-interruptible: - shard-tglu-1: NOTRUN -> [SKIP][164] ([i915#3637] / [i915#9934]) +4 other tests skip [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_flip@2x-plain-flip-interruptible.html * igt@kms_flip@flip-vs-suspend: - shard-glk10: NOTRUN -> [INCOMPLETE][165] ([i915#12745] / [i915#13356] / [i915#17183] / [i915#4839]) [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk10/igt@kms_flip@flip-vs-suspend.html * igt@kms_flip@flip-vs-suspend@a-hdmi-a1: - shard-glk10: NOTRUN -> [INCOMPLETE][166] ([i915#12745] / [i915#13356] / [i915#17183]) [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk10/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html * igt@kms_flip@modeset-vs-vblank-race-interruptible: - shard-dg2: [PASS][167] -> [SKIP][168] ([i915#5354]) +1 other test skip [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_flip@modeset-vs-vblank-race-interruptible.html [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_flip@modeset-vs-vblank-race-interruptible.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling: - shard-rkl: NOTRUN -> [SKIP][169] ([i915#14544] / [i915#15643]) [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling: - shard-dg1: NOTRUN -> [SKIP][170] ([i915#15643]) +2 other tests skip [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling: - shard-tglu-1: NOTRUN -> [SKIP][171] ([i915#15643]) +2 other tests skip [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling: - shard-tglu: NOTRUN -> [SKIP][172] ([i915#15643]) +1 other test skip [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-10/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling: - shard-dg2: [PASS][173] -> [SKIP][174] ([i915#3555] / [i915#8813]) [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling: - shard-rkl: NOTRUN -> [SKIP][175] ([i915#15643]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html * igt@kms_force_connector_basic@force-edid: - shard-mtlp: [PASS][176] -> [SKIP][177] ([i915#15672]) [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-mtlp-5/igt@kms_force_connector_basic@force-edid.html [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-1/igt@kms_force_connector_basic@force-edid.html * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-render: - shard-dg2: [PASS][178] -> [SKIP][179] ([i915#16708]) [178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-render.html [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-render.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt: - shard-rkl: NOTRUN -> [SKIP][180] ([i915#14544]) +1 other test skip [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render: - shard-dg2: [PASS][181] -> [SKIP][182] ([i915#16708] / [i915#5354]) +3 other tests skip [181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-rkl: [PASS][183] -> [INCOMPLETE][184] ([i915#10056]) [183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-suspend.html [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@fbc-tiling-4: - shard-rkl: NOTRUN -> [SKIP][185] ([i915#5439]) [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-tiling-4.html - shard-tglu: NOTRUN -> [SKIP][186] ([i915#5439]) [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_frontbuffer_tracking@fbc-tiling-4.html * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-onoff: - shard-rkl: [PASS][187] -> [SKIP][188] ([i915#15989]) +11 other tests skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-onoff.html [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-onoff.html * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-pgflip-blt: - shard-tglu-1: NOTRUN -> [SKIP][189] +55 other tests skip [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-mmap-gtt: - shard-tglu: NOTRUN -> [SKIP][190] +100 other tests skip [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbchdr-tiling-y: - shard-mtlp: NOTRUN -> [SKIP][191] ([i915#10055]) [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbchdr-tiling-y.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc: - shard-dg1: NOTRUN -> [SKIP][192] ([i915#15104] / [i915#15990]) +1 other test skip [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc: - shard-dg1: NOTRUN -> [SKIP][193] ([i915#15990] / [i915#8708]) +5 other tests skip [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render: - shard-dg1: NOTRUN -> [SKIP][194] ([i915#15102]) +15 other tests skip [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-indfb-fliptrack-mmap-gtt: - shard-tglu: NOTRUN -> [SKIP][195] ([i915#15102]) +32 other tests skip [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-indfb-fliptrack-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move: - shard-tglu-1: NOTRUN -> [SKIP][196] ([i915#15102]) +24 other tests skip [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-indfb-plflip-blt: - shard-rkl: NOTRUN -> [SKIP][197] ([i915#15102]) +4 other tests skip [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-wc: - shard-mtlp: NOTRUN -> [SKIP][198] ([i915#15989]) [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-blt: - shard-tglu: NOTRUN -> [SKIP][199] ([i915#15989]) +19 other tests skip [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-8/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-cpu: - shard-rkl: NOTRUN -> [SKIP][200] ([i915#15989]) +5 other tests skip [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-pwrite: - shard-dg1: NOTRUN -> [SKIP][201] ([i915#15989]) +11 other tests skip [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-pwrite.html * igt@kms_frontbuffer_tracking@hdr-rgb565-draw-blt: - shard-glk: [PASS][202] -> [SKIP][203] +4 other tests skip [202]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-glk8/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-blt.html [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk9/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-blt.html * igt@kms_frontbuffer_tracking@hdr-shrfb-scaledprimary: - shard-tglu-1: NOTRUN -> [SKIP][204] ([i915#15989]) +10 other tests skip [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-shrfb-scaledprimary.html * igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-indfb-draw-mmap-wc: - shard-dg1: NOTRUN -> [SKIP][205] ([i915#15990]) +13 other tests skip [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-cur-indfb-draw-blt: - shard-glk10: NOTRUN -> [SKIP][206] +106 other tests skip [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk10/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-cur-indfb-draw-blt.html * igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery: - shard-tglu: NOTRUN -> [FAIL][207] ([i915#17101] / [i915#17108] / [i915#17188]) [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html * igt@kms_hdr@static-swap: - shard-rkl: [PASS][208] -> [SKIP][209] ([i915#16644] / [i915#3555] / [i915#8228]) +1 other test skip [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-1/igt@kms_hdr@static-swap.html [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_hdr@static-swap.html - shard-tglu: NOTRUN -> [SKIP][210] ([i915#3555] / [i915#8228]) [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_hdr@static-swap.html * igt@kms_hdr@static-toggle-suspend: - shard-rkl: NOTRUN -> [INCOMPLETE][211] ([i915#15436]) +1 other test incomplete [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_hdr@static-toggle-suspend.html * igt@kms_joiner@basic-force-big-joiner: - shard-tglu: NOTRUN -> [SKIP][212] ([i915#15459]) [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-10/igt@kms_joiner@basic-force-big-joiner.html * igt@kms_mst@mst-suspend-read-crc: - shard-dg1: NOTRUN -> [SKIP][213] ([i915#16451]) [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_mst@mst-suspend-read-crc.html - shard-tglu: NOTRUN -> [SKIP][214] ([i915#16451]) [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-8/igt@kms_mst@mst-suspend-read-crc.html * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-tglu: NOTRUN -> [SKIP][215] ([i915#15815]) [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html * igt@kms_pipe_stress@stress-xrgb8888-untiled: - shard-glk10: NOTRUN -> [DMESG-WARN][216] ([i915#118]) [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk10/igt@kms_pipe_stress@stress-xrgb8888-untiled.html * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping: - shard-tglu: NOTRUN -> [SKIP][217] ([i915#15709]) +3 other tests skip [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html * igt@kms_plane@pixel-format-x-tiled-modifier@pipe-a-plane-7: - shard-tglu: NOTRUN -> [SKIP][218] ([i915#16386]) +1 other test skip [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-8/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-a-plane-7.html * igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5: - shard-dg2: NOTRUN -> [SKIP][219] ([i915#16386]) +1 other test skip [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5.html * igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier: - shard-rkl: NOTRUN -> [SKIP][220] ([i915#15709]) +1 other test skip [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html - shard-tglu-1: NOTRUN -> [SKIP][221] ([i915#15709]) [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html * igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7: - shard-tglu-1: NOTRUN -> [SKIP][222] ([i915#16386]) +1 other test skip [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7.html - shard-dg1: NOTRUN -> [SKIP][223] ([i915#16386]) +3 other tests skip [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7.html * igt@kms_plane@pixel-format-yf-tiled-modifier: - shard-dg1: NOTRUN -> [SKIP][224] ([i915#15709]) +2 other tests skip [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_plane@pixel-format-yf-tiled-modifier.html * igt@kms_plane@plane-panning-bottom-right-suspend: - shard-glk: NOTRUN -> [INCOMPLETE][225] ([i915#13026] / [i915#13356]) +1 other test incomplete [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk2/igt@kms_plane@plane-panning-bottom-right-suspend.html * igt@kms_plane@plane-position-covered: - shard-dg2: [PASS][226] -> [SKIP][227] ([i915#8825]) +1 other test skip [226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-3/igt@kms_plane@plane-position-covered.html [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_plane@plane-position-covered.html * igt@kms_plane_alpha_blend@alpha-basic: - shard-glk: NOTRUN -> [FAIL][228] ([i915#12178]) [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk5/igt@kms_plane_alpha_blend@alpha-basic.html * igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1: - shard-glk: NOTRUN -> [FAIL][229] ([i915#7862]) +1 other test fail [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk5/igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1.html * igt@kms_plane_multiple@2x-tiling-x: - shard-tglu: NOTRUN -> [SKIP][230] ([i915#13958]) [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_plane_multiple@2x-tiling-x.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d: - shard-tglu-1: NOTRUN -> [SKIP][231] ([i915#15329]) +4 other tests skip [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d.html - shard-dg1: NOTRUN -> [SKIP][232] ([i915#15329]) +4 other tests skip [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d.html * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c: - shard-rkl: NOTRUN -> [SKIP][233] ([i915#15329]) +3 other tests skip [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d: - shard-tglu: NOTRUN -> [SKIP][234] ([i915#15329]) +4 other tests skip [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d.html * igt@kms_pm_backlight@brightness-with-dpms: - shard-tglu-1: NOTRUN -> [SKIP][235] ([i915#12343]) [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_pm_backlight@brightness-with-dpms.html - shard-dg1: NOTRUN -> [SKIP][236] ([i915#12343]) [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_pm_backlight@brightness-with-dpms.html * igt@kms_pm_backlight@fade-with-dpms: - shard-tglu: NOTRUN -> [SKIP][237] ([i915#12343] / [i915#9812]) [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@kms_pm_backlight@fade-with-dpms.html * igt@kms_pm_dc@dc5-psr-suspend-resume: - shard-tglu: NOTRUN -> [SKIP][238] ([i915#16914]) [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-2/igt@kms_pm_dc@dc5-psr-suspend-resume.html * igt@kms_pm_dc@dc6-dpms: - shard-tglu-1: NOTRUN -> [FAIL][239] ([i915#16479]) [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_pm_dc@dc6-dpms.html - shard-dg1: NOTRUN -> [SKIP][240] ([i915#3361]) [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_pm_dc@dc6-dpms.html * igt@kms_pm_rpm@dpms-lpsp: - shard-dg2: [PASS][241] -> [SKIP][242] ([i915#15073]) +1 other test skip [241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_pm_rpm@dpms-lpsp.html [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-8/igt@kms_pm_rpm@dpms-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp: - shard-dg1: [PASS][243] -> [SKIP][244] ([i915#15073]) [243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg1-19/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html * igt@kms_prime@d3hot: - shard-dg1: NOTRUN -> [SKIP][245] ([i915#6524]) [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_prime@d3hot.html * igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf: - shard-tglu: NOTRUN -> [SKIP][246] ([i915#11520]) +8 other tests skip [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf: - shard-glk: NOTRUN -> [SKIP][247] ([i915#11520]) [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk6/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf: - shard-dg1: NOTRUN -> [SKIP][248] ([i915#11520]) +2 other tests skip [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area: - shard-glk10: NOTRUN -> [SKIP][249] ([i915#11520]) +2 other tests skip [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk10/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area.html * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf: - shard-tglu-1: NOTRUN -> [SKIP][250] ([i915#11520]) +2 other tests skip [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html - shard-rkl: NOTRUN -> [SKIP][251] ([i915#11520]) [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_su@page_flip-nv12: - shard-dg1: NOTRUN -> [SKIP][252] ([i915#9683]) [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_psr2_su@page_flip-nv12.html * igt@kms_psr@fbc-psr2-primary-blt: - shard-tglu-1: NOTRUN -> [SKIP][253] ([i915#9732]) +6 other tests skip [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_psr@fbc-psr2-primary-blt.html - shard-dg1: NOTRUN -> [SKIP][254] ([i915#1072] / [i915#9732]) +11 other tests skip [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@kms_psr@fbc-psr2-primary-blt.html * igt@kms_psr@pr-primary-render: - shard-rkl: NOTRUN -> [SKIP][255] ([i915#1072] / [i915#14544] / [i915#9732]) [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_psr@pr-primary-render.html * igt@kms_psr@psr-sprite-blt: - shard-tglu: NOTRUN -> [SKIP][256] ([i915#9732]) +17 other tests skip [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-4/igt@kms_psr@psr-sprite-blt.html * igt@kms_psr@psr2-primary-render: - shard-rkl: NOTRUN -> [SKIP][257] ([i915#1072] / [i915#9732]) +3 other tests skip [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@kms_psr@psr2-primary-render.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0: - shard-dg1: NOTRUN -> [SKIP][258] ([i915#5289]) [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/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][259] ([i915#5289]) +1 other test skip [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html - shard-tglu-1: NOTRUN -> [SKIP][260] ([i915#5289]) +1 other test skip [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html * igt@kms_scaling_modes@scaling-mode-full-aspect: - shard-tglu: NOTRUN -> [SKIP][261] ([i915#3555]) +5 other tests skip [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-5/igt@kms_scaling_modes@scaling-mode-full-aspect.html * igt@kms_vblank@ts-continuation-dpms-suspend: - shard-glk10: NOTRUN -> [INCOMPLETE][262] ([i915#12276] / [i915#13356]) +1 other test incomplete [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk10/igt@kms_vblank@ts-continuation-dpms-suspend.html * igt@kms_vrr@flip-basic: - shard-rkl: NOTRUN -> [SKIP][263] ([i915#15243] / [i915#3555]) [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_vrr@flip-basic.html * igt@kms_vrr@flip-basic-fastset: - shard-tglu: NOTRUN -> [SKIP][264] ([i915#9906]) [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-10/igt@kms_vrr@flip-basic-fastset.html * igt@perf_pmu@module-unload: - shard-tglu-1: NOTRUN -> [FAIL][265] ([i915#17119]) [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-tglu-1/igt@perf_pmu@module-unload.html - shard-dg1: NOTRUN -> [FAIL][266] ([i915#17119]) [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-12/igt@perf_pmu@module-unload.html * igt@perf_pmu@rc6-suspend: - shard-glk: NOTRUN -> [INCOMPLETE][267] ([i915#13356] / [i915#14242] / [i915#16236]) [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk5/igt@perf_pmu@rc6-suspend.html * igt@prime_vgem@fence-flip-hang: - shard-rkl: NOTRUN -> [SKIP][268] ([i915#14544] / [i915#3708]) [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@prime_vgem@fence-flip-hang.html * igt@tools_test@sysfs_l3_parity: - shard-dg1: NOTRUN -> [SKIP][269] ([i915#4818]) [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-15/igt@tools_test@sysfs_l3_parity.html #### Possible fixes #### * igt@fbdev@unaligned-read: - shard-dg2: [SKIP][270] ([i915#2582]) -> [PASS][271] [270]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@fbdev@unaligned-read.html [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@fbdev@unaligned-read.html * igt@gem_exec_suspend@basic-s4-devices: - shard-rkl: [ABORT][272] ([i915#15542] / [i915#7975]) -> [PASS][273] +1 other test pass [272]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-1/igt@gem_exec_suspend@basic-s4-devices.html [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@gem_exec_suspend@basic-s4-devices.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-rkl: [ABORT][274] ([i915#15060]) -> [PASS][275] [274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-1/igt@i915_pm_rpm@system-suspend-execbuf.html [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-5/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@i915_pm_rps@waitboost: - shard-dg2: [FAIL][276] ([i915#17410]) -> [PASS][277] [276]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-6/igt@i915_pm_rps@waitboost.html [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-3/igt@i915_pm_rps@waitboost.html * igt@kms_async_flips@async-flip-hang: - shard-dg2: [SKIP][278] ([i915#17356]) -> [PASS][279] +32 other tests pass [278]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_async_flips@async-flip-hang.html [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_async_flips@async-flip-hang.html * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-c-edp-1: - shard-mtlp: [ABORT][280] ([i915#17255]) -> [PASS][281] +1 other test pass [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-mtlp-4/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-c-edp-1.html [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-1/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-c-edp-1.html * igt@kms_color@ctm-negative: - shard-dg2: [SKIP][282] ([i915#12655] / [i915#17373]) -> [PASS][283] [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_color@ctm-negative.html [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_color@ctm-negative.html * igt@kms_color_pipeline@plane-lut1d-ctm3x4: - shard-dg2: [SKIP][284] ([i915#15529]) -> [PASS][285] [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_color_pipeline@plane-lut1d-ctm3x4.html [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_color_pipeline@plane-lut1d-ctm3x4.html * igt@kms_cursor_crc@cursor-sliding-64x64@pipe-d-edp-1: - shard-mtlp: [FAIL][286] ([i915#13566] / [i915#15733]) -> [PASS][287] [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-mtlp-3/igt@kms_cursor_crc@cursor-sliding-64x64@pipe-d-edp-1.html [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-mtlp-5/igt@kms_cursor_crc@cursor-sliding-64x64@pipe-d-edp-1.html * igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size: - shard-dg2: [SKIP][288] ([i915#11190] / [i915#17356]) -> [PASS][289] +1 other test pass [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@a-vga1: - shard-snb: [FAIL][290] ([i915#10826]) -> [PASS][291] +1 other test pass [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-snb4/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-vga1.html [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-snb7/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-vga1.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling: - shard-dg2: [SKIP][292] ([i915#3555] / [i915#8813]) -> [PASS][293] +2 other tests pass [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-cpu: - shard-dg2: [SKIP][294] ([i915#16708] / [i915#5354]) -> [PASS][295] +5 other tests pass [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-cpu.html [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-mmap-cpu: - shard-rkl: [SKIP][296] ([i915#15989]) -> [PASS][297] +1 other test pass [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-8/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-mmap-cpu.html [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-1/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@hdr-2p-primscrn-spr-indfb-draw-mmap-cpu: - shard-glk: [SKIP][298] -> [PASS][299] +6 other tests pass [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-glk9/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-spr-indfb-draw-mmap-cpu.html [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-glk8/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-spr-indfb-draw-mmap-cpu.html * igt@kms_invalid_mode@bad-vsync-end: - shard-dg2: [SKIP][300] ([i915#16746] / [i915#3555]) -> [PASS][301] +1 other test pass [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_invalid_mode@bad-vsync-end.html [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_invalid_mode@bad-vsync-end.html * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping: - shard-dg2: [SKIP][302] ([i915#8825]) -> [PASS][303] +2 other tests pass [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation: - shard-dg2: [SKIP][304] ([i915#15329] / [i915#17356] / [i915#9423]) -> [PASS][305] [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation.html [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b: - shard-dg2: [SKIP][306] ([i915#15329]) -> [PASS][307] +5 other tests pass [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d: - shard-dg2: [SKIP][308] ([i915#15329] / [i915#17356]) -> [PASS][309] +1 other test pass [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d.html [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d.html * igt@kms_plane_scaling@planes-upscale-20x20: - shard-dg2: [SKIP][310] ([i915#15329] / [i915#17356] / [i915#6953] / [i915#9423]) -> [PASS][311] [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_plane_scaling@planes-upscale-20x20.html [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_plane_scaling@planes-upscale-20x20.html * igt@kms_pm_rpm@dpms-lpsp: - shard-rkl: [SKIP][312] ([i915#14544] / [i915#15073]) -> [PASS][313] [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_pm_rpm@dpms-lpsp.html [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_pm_rpm@dpms-lpsp.html * igt@kms_pm_rpm@modeset-lpsp: - shard-dg2: [SKIP][314] ([i915#15073]) -> [PASS][315] [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-8/igt@kms_pm_rpm@modeset-lpsp.html [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp.html * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait: - shard-dg1: [SKIP][316] ([i915#15073]) -> [PASS][317] [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg1-16/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-14/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@kms_properties@plane-properties-atomic: - shard-dg2: [SKIP][318] ([i915#11521]) -> [PASS][319] [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_properties@plane-properties-atomic.html [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_properties@plane-properties-atomic.html #### Warnings #### * igt@gem_ccs@large-ctrl-surf-copy: - shard-rkl: [SKIP][320] ([i915#13008] / [i915#14544]) -> [SKIP][321] ([i915#13008]) [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gem_ccs@large-ctrl-surf-copy.html [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@gem_ccs@large-ctrl-surf-copy.html * igt@gem_exec_balancer@parallel-keep-in-fence: - shard-rkl: [SKIP][322] ([i915#14544] / [i915#4525]) -> [SKIP][323] ([i915#4525]) [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gem_exec_balancer@parallel-keep-in-fence.html [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@gem_exec_balancer@parallel-keep-in-fence.html * igt@gem_exec_reloc@basic-gtt-read: - shard-rkl: [SKIP][324] ([i915#14544] / [i915#3281]) -> [SKIP][325] ([i915#3281]) +4 other tests skip [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-read.html [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@gem_exec_reloc@basic-gtt-read.html * igt@gem_lmem_evict@dontneed-evict-race: - shard-rkl: [SKIP][326] ([i915#14544] / [i915#4613] / [i915#7582]) -> [SKIP][327] ([i915#4613] / [i915#7582]) [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gem_lmem_evict@dontneed-evict-race.html [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@gem_lmem_evict@dontneed-evict-race.html * igt@gem_lmem_swapping@verify-random-ccs: - shard-rkl: [SKIP][328] ([i915#14544] / [i915#4613]) -> [SKIP][329] ([i915#4613]) [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gem_lmem_swapping@verify-random-ccs.html [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@gem_lmem_swapping@verify-random-ccs.html * igt@gem_madvise@dontneed-before-pwrite: - shard-rkl: [SKIP][330] ([i915#14544] / [i915#3282]) -> [SKIP][331] ([i915#3282]) +2 other tests skip [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gem_madvise@dontneed-before-pwrite.html [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@gem_madvise@dontneed-before-pwrite.html * igt@gem_set_tiling_vs_blt@tiled-to-untiled: - shard-rkl: [SKIP][332] ([i915#14544] / [i915#8411]) -> [SKIP][333] ([i915#8411]) +1 other test skip [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-7/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html * igt@gen9_exec_parse@bb-oversize: - shard-rkl: [SKIP][334] ([i915#14544] / [i915#2527]) -> [SKIP][335] ([i915#2527]) +2 other tests skip [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@gen9_exec_parse@bb-oversize.html [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@gen9_exec_parse@bb-oversize.html * igt@i915_pm_rc6_residency@media-rc6-accuracy: - shard-rkl: [SKIP][336] ([i915#14544] / [i915#16080] / [i915#16166]) -> [SKIP][337] ([i915#16080] / [i915#16166]) [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@i915_pm_rc6_residency@media-rc6-accuracy.html [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@i915_pm_rc6_residency@media-rc6-accuracy.html * igt@kms_big_fb@4-tiled-64bpp-rotate-90: - shard-rkl: [SKIP][338] ([i915#14544] / [i915#5286]) -> [SKIP][339] ([i915#5286]) +1 other test skip [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html * igt@kms_big_fb@linear-16bpp-rotate-270: - shard-dg2: [SKIP][340] -> [SKIP][341] ([i915#17356]) [340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_big_fb@linear-16bpp-rotate-270.html [341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_big_fb@linear-16bpp-rotate-270.html * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip: - shard-dg2: [SKIP][342] ([i915#3828]) -> [SKIP][343] ([i915#17356]) [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-3/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html [343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_big_fb@x-tiled-32bpp-rotate-270: - shard-dg2: [SKIP][344] ([i915#17356]) -> [SKIP][345] +1 other test skip [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html [345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html * igt@kms_big_fb@y-tiled-8bpp-rotate-0: - shard-dg2: [SKIP][346] ([i915#4538] / [i915#5190]) -> [SKIP][347] ([i915#17356] / [i915#5190]) +3 other tests skip [346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html [347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html * igt@kms_big_fb@y-tiled-8bpp-rotate-270: - shard-rkl: [SKIP][348] ([i915#14544] / [i915#3638]) -> [SKIP][349] ([i915#3638]) +1 other test skip [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html [349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip: - shard-dg2: [SKIP][350] ([i915#17356] / [i915#5190]) -> [SKIP][351] ([i915#4538] / [i915#5190]) +5 other tests skip [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html [351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html * igt@kms_big_fb@yf-tiled-addfb: - shard-dg2: [SKIP][352] ([i915#17356] / [i915#5190]) -> [SKIP][353] ([i915#5190]) +1 other test skip [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_big_fb@yf-tiled-addfb.html [353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_big_fb@yf-tiled-addfb.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-rkl: [SKIP][354] ([i915#14544]) -> [SKIP][355] +39 other tests skip [354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html [355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-2: - shard-rkl: [SKIP][356] ([i915#14544] / [i915#6095]) -> [SKIP][357] ([i915#6095]) +5 other tests skip [356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-2.html [357]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-2.html * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2: - shard-rkl: [SKIP][358] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][359] ([i915#14098] / [i915#6095]) +9 other tests skip [358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2.html [359]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs: - shard-dg2: [SKIP][360] ([i915#17356]) -> [SKIP][361] ([i915#6095]) +2 other tests skip [360]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html [361]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc: - shard-dg2: [SKIP][362] ([i915#10307] / [i915#6095]) -> [SKIP][363] ([i915#17356]) +2 other tests skip [362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc.html [363]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc.html * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs: - shard-dg2: [SKIP][364] ([i915#17356]) -> [SKIP][365] ([i915#10307] / [i915#6095]) +2 other tests skip [364]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs.html [365]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs.html * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2: - shard-rkl: [SKIP][366] ([i915#6095]) -> [SKIP][367] ([i915#14544] / [i915#6095]) +2 other tests skip [366]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html [367]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2: - shard-rkl: [SKIP][368] ([i915#14098] / [i915#6095]) -> [SKIP][369] ([i915#14098] / [i915#14544] / [i915#6095]) +3 other tests skip [368]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2.html [369]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2.html * igt@kms_cdclk@plane-scaling: - shard-dg2: [SKIP][370] ([i915#13781]) -> [SKIP][371] ([i915#17356]) [370]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_cdclk@plane-scaling.html [371]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_cdclk@plane-scaling.html * igt@kms_chamelium_color_pipeline@plane-lut3d-green-only: - shard-rkl: [SKIP][372] ([i915#14544] / [i915#16471]) -> [SKIP][373] ([i915#16471]) [372]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html [373]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html * igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k: - shard-rkl: [SKIP][374] ([i915#11151] / [i915#7828]) -> [SKIP][375] ([i915#11151] / [i915#14544] / [i915#7828]) [374]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html [375]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html * igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k: - shard-dg1: [SKIP][376] ([i915#11151] / [i915#4423] / [i915#7828]) -> [SKIP][377] ([i915#11151] / [i915#7828]) [376]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg1-19/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k.html [377]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-18/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k.html * igt@kms_chamelium_frames@hdmi-frame-dump: - shard-rkl: [SKIP][378] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][379] ([i915#11151] / [i915#7828]) +2 other tests skip [378]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_chamelium_frames@hdmi-frame-dump.html [379]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_chamelium_frames@hdmi-frame-dump.html * igt@kms_content_protection@dp-mst-type-0: - shard-dg2: [SKIP][380] ([i915#17356]) -> [SKIP][381] ([i915#15330] / [i915#3299]) [380]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_content_protection@dp-mst-type-0.html [381]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_content_protection@dp-mst-type-0.html - shard-rkl: [SKIP][382] ([i915#14544] / [i915#15330] / [i915#3116]) -> [SKIP][383] ([i915#15330] / [i915#3116]) [382]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_content_protection@dp-mst-type-0.html [383]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_content_protection@dp-mst-type-0.html * igt@kms_content_protection@lic-type-0: - shard-rkl: [SKIP][384] ([i915#14544] / [i915#15865]) -> [SKIP][385] ([i915#15865]) +1 other test skip [384]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_content_protection@lic-type-0.html [385]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_content_protection@lic-type-0.html * igt@kms_content_protection@srm: - shard-dg2: [SKIP][386] ([i915#17356]) -> [SKIP][387] ([i915#15865]) [386]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_content_protection@srm.html [387]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_content_protection@srm.html * igt@kms_content_protection@uevent: - shard-dg2: [SKIP][388] ([i915#15865]) -> [SKIP][389] ([i915#17356]) [388]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_content_protection@uevent.html [389]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@cursor-onscreen-512x170: - shard-dg2: [SKIP][390] ([i915#13049]) -> [SKIP][391] ([i915#17356]) [390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_cursor_crc@cursor-onscreen-512x170.html [391]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_cursor_crc@cursor-onscreen-512x170.html * igt@kms_cursor_crc@cursor-sliding-32x10: - shard-dg2: [SKIP][392] ([i915#17356]) -> [SKIP][393] ([i915#3555]) +1 other test skip [392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_cursor_crc@cursor-sliding-32x10.html [393]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_cursor_crc@cursor-sliding-32x10.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic: - shard-dg2: [SKIP][394] ([i915#13046] / [i915#5354]) -> [SKIP][395] ([i915#17356]) +1 other test skip [394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-3/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html [395]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size: - shard-dg2: [SKIP][396] ([i915#4103]) -> [SKIP][397] ([i915#17356]) [396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html [397]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size: - shard-dg2: [SKIP][398] ([i915#17356]) -> [SKIP][399] ([i915#13046] / [i915#5354]) +2 other tests skip [398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html [399]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions: - shard-dg2: [SKIP][400] ([i915#17356]) -> [SKIP][401] ([i915#4103]) [400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html [401]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html - shard-rkl: [SKIP][402] ([i915#14544] / [i915#4103]) -> [SKIP][403] ([i915#4103]) [402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html [403]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html * igt@kms_dirtyfb@drrs-dirtyfb-ioctl: - shard-dg2: [SKIP][404] ([i915#17356]) -> [SKIP][405] ([i915#9833]) [404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html [405]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html * igt@kms_dp_link_training@uhbr-sst-tbtalt-train: - shard-dg2: [SKIP][406] ([i915#17356]) -> [SKIP][407] ([i915#17285]) [406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html [407]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html - shard-rkl: [SKIP][408] ([i915#14544] / [i915#17285]) -> [SKIP][409] ([i915#17285]) [408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html [409]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html * igt@kms_dsc@dsc-with-bpc-ultrajoiner: - shard-dg2: [SKIP][410] ([i915#17356]) -> [SKIP][411] ([i915#16361]) +2 other tests skip [410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_dsc@dsc-with-bpc-ultrajoiner.html [411]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_dsc@dsc-with-bpc-ultrajoiner.html * igt@kms_dsc@dsc-with-formats-ultrajoiner: - shard-dg2: [SKIP][412] ([i915#16361]) -> [SKIP][413] ([i915#17356]) [412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_dsc@dsc-with-formats-ultrajoiner.html [413]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_dsc@dsc-with-formats-ultrajoiner.html * igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner: - shard-rkl: [SKIP][414] ([i915#14544] / [i915#16361]) -> [SKIP][415] ([i915#16361]) +2 other tests skip [414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner.html [415]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner.html * igt@kms_fbcon_fbt@psr-suspend: - shard-rkl: [SKIP][416] ([i915#16680]) -> [SKIP][417] ([i915#14544] / [i915#16680]) [416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_fbcon_fbt@psr-suspend.html [417]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_feature_discovery@chamelium: - shard-rkl: [SKIP][418] ([i915#14544] / [i915#16084]) -> [SKIP][419] ([i915#16084]) [418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_feature_discovery@chamelium.html [419]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-7/igt@kms_feature_discovery@chamelium.html * igt@kms_feature_discovery@dsc: - shard-rkl: [SKIP][420] ([i915#14544] / [i915#16600]) -> [SKIP][421] ([i915#16600]) [420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_feature_discovery@dsc.html [421]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_feature_discovery@dsc.html * igt@kms_fence_pin_leak: - shard-dg2: [SKIP][422] ([i915#4881]) -> [SKIP][423] ([i915#17356]) [422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_fence_pin_leak.html [423]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_fence_pin_leak.html * igt@kms_flip@2x-modeset-vs-vblank-race: - shard-rkl: [SKIP][424] ([i915#14544] / [i915#9934]) -> [SKIP][425] ([i915#9934]) +4 other tests skip [424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_flip@2x-modeset-vs-vblank-race.html [425]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_flip@2x-modeset-vs-vblank-race.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling: - shard-rkl: [SKIP][426] ([i915#14544] / [i915#15643]) -> [SKIP][427] ([i915#15643]) [426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html [427]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-dg2: [SKIP][428] ([i915#16708] / [i915#5354]) -> [SKIP][429] ([i915#15990] / [i915#8708]) +9 other tests skip [428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html [429]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-pwrite: - shard-dg2: [SKIP][430] ([i915#15989]) -> [SKIP][431] ([i915#16708]) +7 other tests skip [430]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-pwrite.html [431]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbchdr-1p-rte: - shard-dg2: [SKIP][432] ([i915#16708]) -> [SKIP][433] ([i915#15989]) +10 other tests skip [432]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@fbchdr-1p-rte.html [433]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_frontbuffer_tracking@fbchdr-1p-rte.html * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-mmap-wc: - shard-dg2: [SKIP][434] ([i915#15990]) -> [SKIP][435] ([i915#16708]) +11 other tests skip [434]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-mmap-wc.html [435]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc: - shard-dg2: [SKIP][436] ([i915#16708]) -> [SKIP][437] ([i915#15104] / [i915#15990]) +1 other test skip [436]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html [437]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu: - shard-dg2: [SKIP][438] ([i915#16708] / [i915#5354]) -> [SKIP][439] ([i915#15102]) +10 other tests skip [438]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html [439]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-rkl: [SKIP][440] ([i915#14544] / [i915#1825]) -> [SKIP][441] ([i915#1825]) +3 other tests skip [440]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html [441]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu: - shard-dg2: [SKIP][442] ([i915#15991] / [i915#5354]) -> [SKIP][443] ([i915#16708] / [i915#5354]) +8 other tests skip [442]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html [443]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-pwrite: - shard-dg2: [SKIP][444] ([i915#16708]) -> [SKIP][445] ([i915#15991]) +24 other tests skip [444]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-pwrite.html [445]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-wc: - shard-dg2: [SKIP][446] ([i915#16708]) -> [SKIP][447] ([i915#15990]) +13 other tests skip [446]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-wc.html [447]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-shrfb-draw-render: - shard-dg2: [SKIP][448] ([i915#15991]) -> [SKIP][449] ([i915#16708]) +10 other tests skip [448]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-shrfb-draw-render.html [449]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-shrfb-draw-render.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite: - shard-rkl: [SKIP][450] ([i915#15102]) -> [SKIP][451] ([i915#14544] / [i915#15102]) +1 other test skip [450]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html [451]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt: - shard-rkl: [SKIP][452] ([i915#14544] / [i915#15102]) -> [SKIP][453] ([i915#15102]) +27 other tests skip [452]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html [453]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt: - shard-dg2: [SKIP][454] ([i915#15102]) -> [SKIP][455] ([i915#16708] / [i915#5354]) +4 other tests skip [454]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html [455]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite: - shard-dg1: [SKIP][456] ([i915#15102]) -> [SKIP][457] ([i915#15102] / [i915#4423]) [456]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html [457]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move: - shard-dg2: [SKIP][458] ([i915#16708] / [i915#5354]) -> [SKIP][459] ([i915#15991] / [i915#5354]) +13 other tests skip [458]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move.html [459]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt: - shard-dg2: [SKIP][460] ([i915#15990] / [i915#8708]) -> [SKIP][461] ([i915#16708] / [i915#5354]) +3 other tests skip [460]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt.html [461]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-indfb-draw-mmap-cpu: - shard-dg2: [SKIP][462] ([i915#15102]) -> [SKIP][463] ([i915#16708]) +3 other tests skip [462]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-4/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-indfb-draw-mmap-cpu.html [463]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-shrfb-msflip-blt: - shard-dg2: [SKIP][464] ([i915#16708]) -> [SKIP][465] ([i915#15102]) +13 other tests skip [464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-shrfb-msflip-blt.html [465]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-4/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-shrfb-msflip-blt.html * igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-render: - shard-rkl: [SKIP][466] -> [SKIP][467] ([i915#14544]) +2 other tests skip [466]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-render.html [467]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-render.html * igt@kms_hdr@brightness-with-hdr: - shard-dg2: [SKIP][468] ([i915#17356]) -> [SKIP][469] ([i915#12713] / [i915#16518]) [468]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_hdr@brightness-with-hdr.html [469]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_hdr@brightness-with-hdr.html - shard-rkl: [SKIP][470] ([i915#14544] / [i915#16644]) -> [SKIP][471] ([i915#12713] / [i915#16644]) [470]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_hdr@brightness-with-hdr.html [471]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_hdr@brightness-with-hdr.html * igt@kms_hdr@invalid-hdr: - shard-rkl: [SKIP][472] ([i915#14544] / [i915#16644] / [i915#3555] / [i915#8228]) -> [SKIP][473] ([i915#16644] / [i915#3555] / [i915#8228]) [472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_hdr@invalid-hdr.html [473]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_hdr@invalid-hdr.html * igt@kms_mst@mst-suspend-read-crc: - shard-dg2: [SKIP][474] ([i915#17356]) -> [SKIP][475] ([i915#16451]) [474]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_mst@mst-suspend-read-crc.html [475]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_mst@mst-suspend-read-crc.html * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier: - shard-rkl: [SKIP][476] ([i915#14544] / [i915#15709]) -> [SKIP][477] ([i915#15709]) +1 other test skip [476]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier.html [477]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier.html * igt@kms_plane@pixel-format-y-tiled-ccs-modifier: - shard-rkl: [SKIP][478] ([i915#15709]) -> [SKIP][479] ([i915#14544] / [i915#15709]) +1 other test skip [478]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_plane@pixel-format-y-tiled-ccs-modifier.html [479]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_plane@pixel-format-y-tiled-ccs-modifier.html * igt@kms_plane_lowres@tiling-4: - shard-rkl: [SKIP][480] ([i915#14544] / [i915#3555]) -> [SKIP][481] ([i915#3555]) [480]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_plane_lowres@tiling-4.html [481]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_plane_lowres@tiling-4.html * igt@kms_plane_lowres@tiling-y: - shard-dg2: [SKIP][482] ([i915#8821]) -> [SKIP][483] ([i915#17356]) [482]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-3/igt@kms_plane_lowres@tiling-y.html [483]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-7/igt@kms_plane_lowres@tiling-y.html * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a: - shard-rkl: [SKIP][484] ([i915#14544] / [i915#15329]) -> [SKIP][485] ([i915#15329]) +3 other tests skip [484]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html [485]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html * igt@kms_pm_rpm@package-g7: - shard-rkl: [SKIP][486] ([i915#14544] / [i915#15403]) -> [SKIP][487] ([i915#15403]) [486]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_pm_rpm@package-g7.html [487]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_pm_rpm@package-g7.html * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf: - shard-rkl: [SKIP][488] ([i915#11520] / [i915#14544]) -> [SKIP][489] ([i915#11520]) +4 other tests skip [488]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html [489]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr@psr-sprite-plane-onoff: - shard-rkl: [SKIP][490] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][491] ([i915#1072] / [i915#9732]) +7 other tests skip [490]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_psr@psr-sprite-plane-onoff.html [491]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-7/igt@kms_psr@psr-sprite-plane-onoff.html * igt@kms_psr@psr2-suspend: - shard-rkl: [SKIP][492] ([i915#1072] / [i915#9732]) -> [SKIP][493] ([i915#1072] / [i915#14544] / [i915#9732]) +2 other tests skip [492]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_psr@psr2-suspend.html [493]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_psr@psr2-suspend.html * igt@kms_rotation_crc@primary-rotation-270: - shard-dg2: [SKIP][494] ([i915#17356]) -> [SKIP][495] ([i915#12755] / [i915#15867]) [494]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_rotation_crc@primary-rotation-270.html [495]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_rotation_crc@primary-rotation-270.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0: - shard-rkl: [SKIP][496] ([i915#5289]) -> [SKIP][497] ([i915#14544] / [i915#5289]) [496]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html [497]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-rkl: [SKIP][498] ([i915#14544] / [i915#5289]) -> [SKIP][499] ([i915#5289]) [498]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html [499]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_vrr@lobf: - shard-rkl: [SKIP][500] ([i915#11920] / [i915#14544]) -> [SKIP][501] ([i915#11920]) [500]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_vrr@lobf.html [501]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@kms_vrr@lobf.html * igt@kms_vrr@negative-basic: - shard-dg2: [SKIP][502] ([i915#17356]) -> [SKIP][503] ([i915#3555] / [i915#9906]) [502]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-dg2-7/igt@kms_vrr@negative-basic.html [503]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-dg2-5/igt@kms_vrr@negative-basic.html - shard-rkl: [SKIP][504] ([i915#14544] / [i915#3555] / [i915#9906]) -> [SKIP][505] ([i915#3555] / [i915#9906]) [504]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@kms_vrr@negative-basic.html [505]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-4/igt@kms_vrr@negative-basic.html * igt@prime_vgem@basic-read: - shard-rkl: [SKIP][506] ([i915#14544] / [i915#3291] / [i915#3708]) -> [SKIP][507] ([i915#3291] / [i915#3708]) [506]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19366/shard-rkl-6/igt@prime_vgem@basic-read.html [507]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_176479v1/shard-rkl-8/igt@prime_vgem@basic-read.html [i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055 [i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056 [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307 [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434 [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [i915#10826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10826 [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078 [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151 [i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190 [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520 [i915#11521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11521 [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681 [i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118 [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920 [i915#12178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12178 [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276 [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313 [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343 [i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655 [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713 [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745 [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755 [i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761 [i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008 [i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026 [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046 [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049 [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356 [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398 [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566 [i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691 [i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781 [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958 [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098 [i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118 [i915#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123 [i915#14242]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14242 [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498 [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544 [i915#14888]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14888 [i915#15060]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15060 [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073 [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102 [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104 [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131 [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243 [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329 [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330 [i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403 [i915#15436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15436 [i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459 [i915#15529]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15529 [i915#15542]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15542 [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643 [i915#15672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15672 [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709 [i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733 [i915#15815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15815 [i915#15816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15816 [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865 [i915#15867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15867 [i915#15989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15989 [i915#15990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15990 [i915#15991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15991 [i915#16079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16079 [i915#16080]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16080 [i915#16081]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16081 [i915#16084]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16084 [i915#16166]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16166 [i915#16236]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16236 [i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361 [i915#16386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16386 [i915#16451]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16451 [i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471 [i915#16479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16479 [i915#16518]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16518 [i915#16599]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16599 [i915#16600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16600 [i915#16644]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16644 [i915#16680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16680 [i915#16708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16708 [i915#16746]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16746 [i915#16867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16867 [i915#16914]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16914 [i915#16990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16990 [i915#17101]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17101 [i915#17108]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17108 [i915#17119]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17119 [i915#17183]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17183 [i915#17188]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17188 [i915#17255]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17255 [i915#17285]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17285 [i915#17286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17286 [i915#17290]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17290 [i915#17291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17291 [i915#17356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17356 [i915#17373]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17373 [i915#17410]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17410 [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825 [i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849 [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527 [i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582 [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284 [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856 [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116 [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299 [i915#3361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3361 [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638 [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708 [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742 [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828 [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077 [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212 [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270 [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423 [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812 [i915#4818]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4818 [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839 [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852 [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4881 [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190 [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289 [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354 [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439 [i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723 [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095 [i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245 [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335 [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524 [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953 [i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582 [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697 [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707 [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828 [i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862 [i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975 [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228 [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399 [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411 [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708 [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813 [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814 [i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821 [i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825 [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323 [i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423 [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683 [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812 [i915#9833]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9833 [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906 [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934 Build changes ------------- * Linux: CI_DRM_19366 -> Patchwork_176479v1 CI-20190529: 20190529 CI_DRM_19366: 24d867f5e671c78760ab39087a57c25ad98e1f42 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_9153: 9153 Patchwork_176479v1: 24d867f5e671c78760ab39087a57c25ad98e1f42 @ 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_176479v1/index.html [-- Attachment #2: Type: text/html, Size: 168559 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-10-20 15:36 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-20 10:00 [RFC PATCH v2 0/3] Solve dma_fence's problems by locking Philipp Stanner
2026-10-20 10:00 ` [RFC PATCH v2 1/3] dma-fence: Remove RCU protection for fence->ops Philipp Stanner
2026-10-20 10:20 ` sashiko-bot
2026-10-20 10:00 ` [RFC PATCH v2 2/3] dma-fence: use lock to protect against module-unload Philipp Stanner
2026-10-20 10:19 ` sashiko-bot
2026-10-20 10:00 ` [RFC PATCH v2 3/3] dma-fence: Support unload for ops->get_XXX_name() Philipp Stanner
2026-10-20 10:27 ` sashiko-bot
2026-10-20 11:48 ` ✓ i915.CI.BAT: success for Solve dma_fence's problems by locking Patchwork
2026-10-20 12:02 ` [RFC PATCH v2 0/3] " Christian König
[not found] ` <ca78cdb7c24a9be9b640db782168cdcc5fe30b60.camel@mailbox.org>
2026-10-20 15:07 ` Christian König
2026-10-20 15:36 ` ✗ i915.CI.Full: failure for " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox