* [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race
@ 2026-10-29 9:55 Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 1/6] dma-buf: dma-fence: Add flags parameter to dma_fence_init() Philipp Stanner
` (10 more replies)
0 siblings, 11 replies; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 9:55 UTC (permalink / raw)
To: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Philipp Stanner, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
dma_fence_is_signaled() can return true *while* the fence is signaling.
This has caused explosions before and I guess we can agree that it's
just not ideal.
The fundamental issue is that the fence-signaled-bit is set under lock
protection but read without it.
So ideally, we would read it with the lock. This would not change the
relative order, i.e. the bit would still be true in the fence callbacks.
Christian informs us that taking the lock causes people to complain
about performance regressions because the lock-taking shoots down copied
cache-lines. (which is weird since it would mean that someone is
repeatedly polling on fences instead of just registering a callback to
notify himself once it signals)
Let's accept the potential for regressions as true for now.
Nevertheless, I think I can propose a path towards removing the race:
This series suggests taking the lock in dma_fence_is_signaled() *unless*
the driver explicitly asks for a check with a race-condition.
As a preparation, I allow drivers to set flags when initializing fences.
Then, we add a flag with which the driver can switch locking off for
that particular function.
By default, we let all drivers take the lock.
Should we then, in the kernel release process get reports about
regressions, we can set the race-flag for the affected driver and
restore the old behavior.
Should there be no reports, we could phase the flag out again after a
few releases, always taking the lock.
New users would always see the lock.
I put all potentially affected parties on Cc. Please point out if you
can already foresee your driver being negatively affected by this.
P.
Philipp Stanner (6):
dma-buf: dma-fence: Add flags parameter to dma_fence_init()
dma-buf: dma-fence: Add flag for using 64-bit seqnos
dma-buf: Port users of dma_fence_init64()
dma-buf: dma-fence: remove dma_fence_init64()
dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default
drm/nouveau: Remove hacky fence check
drivers/accel/amdxdna/amdxdna_ctx.c | 2 +-
drivers/accel/ethosu/ethosu_job.c | 2 +-
drivers/accel/ivpu/ivpu_job.c | 2 +-
drivers/accel/rocket/rocket_job.c | 2 +-
drivers/dma-buf/dma-fence-array.c | 2 +-
drivers/dma-buf/dma-fence-chain.c | 4 +-
drivers/dma-buf/dma-fence.c | 44 +++++------------
drivers/dma-buf/st-dma-fence-chain.c | 2 +-
drivers/dma-buf/st-dma-fence-unwrap.c | 2 +-
drivers/dma-buf/st-dma-fence.c | 2 +-
drivers/dma-buf/st-dma-resv.c | 2 +-
drivers/dma-buf/sw_sync.c | 2 +-
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 2 +-
.../drm/amd/amdgpu/amdgpu_eviction_fence.c | 7 +--
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 +-
.../gpu/drm/amd/amdgpu/amdgpu_userq_fence.c | 5 +-
.../gpu/drm/amd/amdgpu/amdgpu_vm_tlb_fence.c | 5 +-
drivers/gpu/drm/drm_crtc.c | 2 +-
drivers/gpu/drm/drm_writeback.c | 2 +-
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 2 +-
drivers/gpu/drm/i915/i915_request.c | 2 +-
drivers/gpu/drm/i915/i915_sw_fence_work.c | 2 +-
drivers/gpu/drm/i915/i915_vma_resource.c | 2 +-
.../gpu/drm/i915/selftests/i915_sw_fence.c | 2 +-
drivers/gpu/drm/imagination/pvr_ccb.c | 2 +-
drivers/gpu/drm/imagination/pvr_queue.c | 2 +-
drivers/gpu/drm/lima/lima_sched.c | 2 +-
drivers/gpu/drm/msm/msm_fence.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_drm.c | 13 -----
drivers/gpu/drm/nouveau/nouveau_fence.c | 4 +-
drivers/gpu/drm/panfrost/panfrost_job.c | 2 +-
drivers/gpu/drm/panthor/panthor_sched.c | 2 +-
drivers/gpu/drm/qxl/qxl_release.c | 2 +-
drivers/gpu/drm/radeon/radeon_fence.c | 2 +-
drivers/gpu/drm/scheduler/sched_fence.c | 4 +-
.../gpu/drm/scheduler/tests/mock_scheduler.c | 2 +-
drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 2 +-
.../gpu/drm/ttm/tests/ttm_bo_validate_test.c | 2 +-
drivers/gpu/drm/v3d/v3d_fence.c | 2 +-
drivers/gpu/drm/vc4/vc4_gem.c | 2 +-
drivers/gpu/drm/vgem/vgem_fence.c | 2 +-
drivers/gpu/drm/virtio/virtgpu_fence.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 2 +-
drivers/gpu/drm/xe/xe_hw_fence.c | 2 +-
drivers/gpu/drm/xe/xe_oa.c | 2 +-
drivers/gpu/drm/xe/xe_preempt_fence.c | 2 +-
drivers/gpu/drm/xe/xe_tlb_inval.c | 2 +-
drivers/gpu/host1x/fence.c | 2 +-
drivers/iio/industrialio-buffer.c | 2 +-
drivers/usb/gadget/function/f_fs.c | 2 +-
include/linux/dma-fence.h | 48 +++++++++++++++++--
52 files changed, 115 insertions(+), 105 deletions(-)
--
2.56.0
^ permalink raw reply [flat|nested] 17+ messages in thread
* [RFC PATCH 1/6] dma-buf: dma-fence: Add flags parameter to dma_fence_init()
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
@ 2026-10-29 9:55 ` Philipp Stanner
2026-10-29 13:38 ` Christian König
2026-10-29 9:55 ` [RFC PATCH 2/6] dma-buf: dma-fence: Add flag for using 64-bit seqnos Philipp Stanner
` (9 subsequent siblings)
10 siblings, 1 reply; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 9:55 UTC (permalink / raw)
To: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Philipp Stanner, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
Currently, there are two init functions for dma_fence, dma_fence_init()
and dma_fence_init64().
Since more future user options for dma_fence initialization would
require distinct init functions, too, it is better to do this in a
unified way.
To prepare for that, add a flags field to dma_fence_init(). Adjust all
affected drivers, preserving the old behavior.
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
drivers/accel/amdxdna/amdxdna_ctx.c | 2 +-
drivers/accel/ethosu/ethosu_job.c | 2 +-
drivers/accel/ivpu/ivpu_job.c | 2 +-
drivers/accel/rocket/rocket_job.c | 2 +-
drivers/dma-buf/dma-fence-array.c | 2 +-
drivers/dma-buf/dma-fence.c | 9 ++++----
drivers/dma-buf/st-dma-fence-chain.c | 2 +-
drivers/dma-buf/st-dma-fence-unwrap.c | 2 +-
drivers/dma-buf/st-dma-fence.c | 2 +-
drivers/dma-buf/st-dma-resv.c | 2 +-
drivers/dma-buf/sw_sync.c | 2 +-
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 +-
drivers/gpu/drm/drm_crtc.c | 2 +-
drivers/gpu/drm/drm_writeback.c | 2 +-
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 2 +-
drivers/gpu/drm/i915/i915_request.c | 2 +-
drivers/gpu/drm/i915/i915_sw_fence_work.c | 2 +-
drivers/gpu/drm/i915/i915_vma_resource.c | 2 +-
.../gpu/drm/i915/selftests/i915_sw_fence.c | 2 +-
drivers/gpu/drm/imagination/pvr_ccb.c | 2 +-
drivers/gpu/drm/imagination/pvr_queue.c | 2 +-
drivers/gpu/drm/lima/lima_sched.c | 2 +-
drivers/gpu/drm/msm/msm_fence.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_fence.c | 4 ++--
drivers/gpu/drm/panfrost/panfrost_job.c | 2 +-
drivers/gpu/drm/panthor/panthor_sched.c | 2 +-
drivers/gpu/drm/qxl/qxl_release.c | 2 +-
drivers/gpu/drm/radeon/radeon_fence.c | 2 +-
drivers/gpu/drm/scheduler/sched_fence.c | 4 ++--
.../gpu/drm/scheduler/tests/mock_scheduler.c | 2 +-
drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 2 +-
.../gpu/drm/ttm/tests/ttm_bo_validate_test.c | 2 +-
drivers/gpu/drm/v3d/v3d_fence.c | 2 +-
drivers/gpu/drm/vc4/vc4_gem.c | 2 +-
drivers/gpu/drm/vgem/vgem_fence.c | 2 +-
drivers/gpu/drm/virtio/virtgpu_fence.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 2 +-
drivers/gpu/drm/xe/xe_hw_fence.c | 2 +-
drivers/gpu/drm/xe/xe_oa.c | 2 +-
drivers/gpu/drm/xe/xe_preempt_fence.c | 2 +-
drivers/gpu/drm/xe/xe_tlb_inval.c | 2 +-
drivers/gpu/host1x/fence.c | 2 +-
drivers/iio/industrialio-buffer.c | 2 +-
drivers/usb/gadget/function/f_fs.c | 2 +-
include/linux/dma-fence.h | 22 ++++++++++++++++---
47 files changed, 71 insertions(+), 54 deletions(-)
diff --git a/drivers/accel/amdxdna/amdxdna_ctx.c b/drivers/accel/amdxdna/amdxdna_ctx.c
index f4004630dc1b..f2245541f1ee 100644
--- a/drivers/accel/amdxdna/amdxdna_ctx.c
+++ b/drivers/accel/amdxdna/amdxdna_ctx.c
@@ -53,7 +53,7 @@ static struct dma_fence *amdxdna_fence_create(struct amdxdna_hwctx *hwctx)
spin_lock_init(&fence->lock);
/* Unique timeline context prevents eviction from shared BO reservation. */
- dma_fence_init(&fence->base, &fence_ops, &fence->lock, dma_fence_context_alloc(1), 0);
+ dma_fence_init(&fence->base, &fence_ops, &fence->lock, dma_fence_context_alloc(1), 0, 0);
return &fence->base;
}
diff --git a/drivers/accel/ethosu/ethosu_job.c b/drivers/accel/ethosu/ethosu_job.c
index d656b3ec670e..d4fc71436cae 100644
--- a/drivers/accel/ethosu/ethosu_job.c
+++ b/drivers/accel/ethosu/ethosu_job.c
@@ -219,7 +219,7 @@ static struct dma_fence *ethosu_job_run(struct drm_sched_job *sched_job)
return NULL;
dma_fence_init(fence, ðosu_fence_ops, &dev->fence_lock,
- dev->fence_context, ++dev->emit_seqno);
+ dev->fence_context, ++dev->emit_seqno, 0);
dma_fence_get(fence);
ethosu_switch_perfmon(dev, job);
diff --git a/drivers/accel/ivpu/ivpu_job.c b/drivers/accel/ivpu/ivpu_job.c
index 6a1307ee2e19..ca24e84a2ed9 100644
--- a/drivers/accel/ivpu/ivpu_job.c
+++ b/drivers/accel/ivpu/ivpu_job.c
@@ -519,7 +519,7 @@ static struct dma_fence *ivpu_fence_create(struct ivpu_device *vdev)
fence->vdev = vdev;
spin_lock_init(&fence->lock);
- dma_fence_init(&fence->base, &ivpu_fence_ops, &fence->lock, dma_fence_context_alloc(1), 1);
+ dma_fence_init(&fence->base, &ivpu_fence_ops, &fence->lock, dma_fence_context_alloc(1), 1, 0);
return &fence->base;
}
diff --git a/drivers/accel/rocket/rocket_job.c b/drivers/accel/rocket/rocket_job.c
index ce994748dd5d..4526c28326bb 100644
--- a/drivers/accel/rocket/rocket_job.c
+++ b/drivers/accel/rocket/rocket_job.c
@@ -61,7 +61,7 @@ static struct dma_fence *rocket_fence_create(struct rocket_core *core)
return ERR_PTR(-ENOMEM);
dma_fence_init(fence, &rocket_fence_ops, &core->fence_lock,
- core->fence_context, ++core->emit_seqno);
+ core->fence_context, ++core->emit_seqno, 0);
return fence;
}
diff --git a/drivers/dma-buf/dma-fence-array.c b/drivers/dma-buf/dma-fence-array.c
index 5e10e8df372f..e2dddbfddea2 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -205,7 +205,7 @@ void dma_fence_array_init(struct dma_fence_array *array,
array->num_fences = num_fences;
dma_fence_init(&array->base, &dma_fence_array_ops, NULL, context,
- seqno);
+ seqno, 0);
init_irq_work(&array->work, irq_dma_fence_array_work);
/*
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index bd58688b81a7..a640fb99f942 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -122,7 +122,7 @@ static const struct dma_fence_ops dma_fence_stub_ops = {
static int __init dma_fence_init_stub(void)
{
- dma_fence_init(&dma_fence_stub, &dma_fence_stub_ops, NULL, 0, 0);
+ dma_fence_init(&dma_fence_stub, &dma_fence_stub_ops, NULL, 0, 0, 0);
set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
&dma_fence_stub.flags);
dma_fence_signal(&dma_fence_stub);
@@ -156,7 +156,7 @@ struct dma_fence *dma_fence_allocate_private_stub(ktime_t timestamp)
if (fence == NULL)
return NULL;
- dma_fence_init(fence, &dma_fence_stub_ops, NULL, 0, 0);
+ dma_fence_init(fence, &dma_fence_stub_ops, NULL, 0, 0, 0);
set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
&fence->flags);
@@ -1111,9 +1111,10 @@ __dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
*/
void
dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
- spinlock_t *lock, u64 context, u64 seqno)
+ spinlock_t *lock, u64 context, u64 seqno,
+ unsigned long init_flags)
{
- __dma_fence_init(fence, ops, lock, context, seqno, 0UL);
+ __dma_fence_init(fence, ops, lock, context, seqno, 0);
}
EXPORT_SYMBOL(dma_fence_init);
diff --git a/drivers/dma-buf/st-dma-fence-chain.c b/drivers/dma-buf/st-dma-fence-chain.c
index e0d9b69bfa76..b9610df3ff19 100644
--- a/drivers/dma-buf/st-dma-fence-chain.c
+++ b/drivers/dma-buf/st-dma-fence-chain.c
@@ -52,7 +52,7 @@ static struct dma_fence *mock_fence(void)
return NULL;
spin_lock_init(&f->lock);
- dma_fence_init(&f->base, &mock_ops, &f->lock, 0, 0);
+ dma_fence_init(&f->base, &mock_ops, &f->lock, 0, 0, 0);
return &f->base;
}
diff --git a/drivers/dma-buf/st-dma-fence-unwrap.c b/drivers/dma-buf/st-dma-fence-unwrap.c
index c5353b36f0e4..dbebc3046d42 100644
--- a/drivers/dma-buf/st-dma-fence-unwrap.c
+++ b/drivers/dma-buf/st-dma-fence-unwrap.c
@@ -36,7 +36,7 @@ static struct dma_fence *__mock_fence(u64 context, u64 seqno)
return NULL;
spin_lock_init(&f->lock);
- dma_fence_init(&f->base, &mock_ops, &f->lock, context, seqno);
+ dma_fence_init(&f->base, &mock_ops, &f->lock, context, seqno, 0);
return &f->base;
}
diff --git a/drivers/dma-buf/st-dma-fence.c b/drivers/dma-buf/st-dma-fence.c
index cb62e606d0a2..b3f88e89cc44 100644
--- a/drivers/dma-buf/st-dma-fence.c
+++ b/drivers/dma-buf/st-dma-fence.c
@@ -31,7 +31,7 @@ static struct dma_fence *mock_fence(void)
if (!f)
return NULL;
- dma_fence_init(f, &mock_ops, NULL, 0, 0);
+ dma_fence_init(f, &mock_ops, NULL, 0, 0, 0);
return f;
}
diff --git a/drivers/dma-buf/st-dma-resv.c b/drivers/dma-buf/st-dma-resv.c
index 0b96136bbd54..c3a920ab3fcf 100644
--- a/drivers/dma-buf/st-dma-resv.c
+++ b/drivers/dma-buf/st-dma-resv.c
@@ -35,7 +35,7 @@ static struct dma_fence *alloc_fence(void)
if (!f)
return NULL;
- dma_fence_init(f, &fence_ops, &fence_lock, 0, 0);
+ dma_fence_init(f, &fence_ops, &fence_lock, 0, 0, 0);
return f;
}
diff --git a/drivers/dma-buf/sw_sync.c b/drivers/dma-buf/sw_sync.c
index 8df20b0218a9..ce43af7e735e 100644
--- a/drivers/dma-buf/sw_sync.c
+++ b/drivers/dma-buf/sw_sync.c
@@ -258,7 +258,7 @@ static struct sync_pt *sync_pt_create(struct sync_timeline *obj,
sync_timeline_get(obj);
dma_fence_init(&pt->base, &timeline_fence_ops, &obj->lock,
- obj->context, value);
+ obj->context, value, 0);
INIT_LIST_HEAD(&pt->link);
spin_lock_irq(&obj->lock);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
index 9b10d015671c..30ccdb3e0b47 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
@@ -77,7 +77,7 @@ struct amdgpu_amdkfd_fence *amdgpu_amdkfd_fence_create(u64 context,
spin_lock_init(&fence->lock);
fence->context_id = context_id;
dma_fence_init(&fence->base, &amdkfd_fence_ops, &fence->lock,
- context, atomic_inc_return(&fence_seq));
+ context, atomic_inc_return(&fence_seq), 0);
return fence;
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
index 3043ad041bb4..e635884a218b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
@@ -112,7 +112,7 @@ void amdgpu_fence_emit(struct amdgpu_ring *ring, struct amdgpu_fence *af,
seq = ++ring->fence_drv.sync_seq;
dma_fence_init(fence, &amdgpu_fence_ops,
&ring->fence_drv.lock,
- adev->fence_context + ring->idx, seq);
+ adev->fence_context + ring->idx, seq, 0);
amdgpu_ring_emit_fence(ring, ring->fence_drv.gpu_addr,
seq, flags | AMDGPU_FENCE_FLAG_INT);
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 63ead8ba6756..92641bc0a378 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -190,7 +190,7 @@ struct dma_fence *drm_crtc_create_fence(struct drm_crtc *crtc)
return NULL;
dma_fence_init(fence, &drm_crtc_fence_ops, &crtc->fence_lock,
- crtc->fence_context, ++crtc->fence_seqno);
+ crtc->fence_context, ++crtc->fence_seqno, 0);
return fence;
}
diff --git a/drivers/gpu/drm/drm_writeback.c b/drivers/gpu/drm/drm_writeback.c
index b4a002e6d043..64b06b890f19 100644
--- a/drivers/gpu/drm/drm_writeback.c
+++ b/drivers/gpu/drm/drm_writeback.c
@@ -592,7 +592,7 @@ drm_writeback_get_out_fence(struct drm_writeback_connector *wb_connector)
dma_fence_init(fence, &drm_writeback_fence_ops,
&wb_connector->fence_lock, wb_connector->fence_context,
- ++wb_connector->fence_seqno);
+ ++wb_connector->fence_seqno, 0);
return fence;
}
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index 5c23182f4d33..36f88e0a2063 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1207,7 +1207,7 @@ static struct dma_fence *etnaviv_gpu_fence_alloc(struct etnaviv_gpu *gpu)
f->gpu = gpu;
dma_fence_init(&f->base, &etnaviv_fence_ops, &gpu->fence_spinlock,
- gpu->fence_context, ++gpu->next_fence);
+ gpu->fence_context, ++gpu->next_fence, 0);
return &f->base;
}
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
index 56489cc127d6..ffaa70191f27 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
@@ -437,7 +437,7 @@ i915_ttm_memcpy_work_arm(struct i915_ttm_memcpy_work *work,
int ret;
spin_lock_init(&work->lock);
- dma_fence_init(&work->fence, &dma_fence_memcpy_ops, &work->lock, 0, 0);
+ dma_fence_init(&work->fence, &dma_fence_memcpy_ops, &work->lock, 0, 0, 0);
dma_fence_get(&work->fence);
ret = dma_fence_add_callback(dep, &work->cb, __memcpy_cb);
if (ret) {
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index d2c7b1090df0..640f83615726 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -955,7 +955,7 @@ __i915_request_create(struct intel_context *ce, gfp_t gfp)
goto err_free;
dma_fence_init(&rq->fence, &i915_fence_ops, &rq->lock,
- tl->fence_context, seqno);
+ tl->fence_context, seqno, 0);
RCU_INIT_POINTER(rq->timeline, tl);
rq->hwsp_seqno = tl->hwsp_seqno;
diff --git a/drivers/gpu/drm/i915/i915_sw_fence_work.c b/drivers/gpu/drm/i915/i915_sw_fence_work.c
index 366418108f78..4cd44dd26e35 100644
--- a/drivers/gpu/drm/i915/i915_sw_fence_work.c
+++ b/drivers/gpu/drm/i915/i915_sw_fence_work.c
@@ -85,7 +85,7 @@ void dma_fence_work_init(struct dma_fence_work *f,
{
f->ops = ops;
spin_lock_init(&f->lock);
- dma_fence_init(&f->dma, &fence_ops, &f->lock, 0, 0);
+ dma_fence_init(&f->dma, &fence_ops, &f->lock, 0, 0, 0);
i915_sw_fence_init(&f->chain, fence_notify);
INIT_WORK(&f->work, fence_work);
}
diff --git a/drivers/gpu/drm/i915/i915_vma_resource.c b/drivers/gpu/drm/i915/i915_vma_resource.c
index a8f2112ce81f..19596410e32f 100644
--- a/drivers/gpu/drm/i915/i915_vma_resource.c
+++ b/drivers/gpu/drm/i915/i915_vma_resource.c
@@ -263,7 +263,7 @@ void __i915_vma_resource_init(struct i915_vma_resource *vma_res)
{
spin_lock_init(&vma_res->lock);
dma_fence_init(&vma_res->unbind_fence, &unbind_fence_ops,
- &vma_res->lock, 0, 0);
+ &vma_res->lock, 0, 0, 0);
refcount_set(&vma_res->hold_count, 1);
i915_sw_fence_init(&vma_res->chain, i915_vma_resource_fence_notify);
}
diff --git a/drivers/gpu/drm/i915/selftests/i915_sw_fence.c b/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
index 6a305322e30d..ca1f3dbe59f7 100644
--- a/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
+++ b/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
@@ -641,7 +641,7 @@ static struct dma_fence *alloc_dma_fence(void)
dma = kmalloc_obj(*dma);
if (dma)
- dma_fence_init(dma, &mock_fence_ops, &mock_fence_lock, 0, 0);
+ dma_fence_init(dma, &mock_fence_ops, &mock_fence_lock, 0, 0, 0);
return dma;
}
diff --git a/drivers/gpu/drm/imagination/pvr_ccb.c b/drivers/gpu/drm/imagination/pvr_ccb.c
index e408df74853d..7043b491fe54 100644
--- a/drivers/gpu/drm/imagination/pvr_ccb.c
+++ b/drivers/gpu/drm/imagination/pvr_ccb.c
@@ -645,7 +645,7 @@ pvr_kccb_reserve_slot(struct pvr_device *pvr_dev, struct dma_fence *f)
dma_fence_init(&fence->base, &pvr_kccb_fence_ops,
&pvr_dev->kccb.fence_ctx.lock,
pvr_dev->kccb.fence_ctx.id,
- atomic_inc_return(&pvr_dev->kccb.fence_ctx.seqno));
+ atomic_inc_return(&pvr_dev->kccb.fence_ctx.seqno), 0);
out_fence = dma_fence_get(&fence->base);
list_add_tail(&fence->node, &pvr_dev->kccb.waiters);
} else {
diff --git a/drivers/gpu/drm/imagination/pvr_queue.c b/drivers/gpu/drm/imagination/pvr_queue.c
index 24a8645aa913..34b826381aa2 100644
--- a/drivers/gpu/drm/imagination/pvr_queue.c
+++ b/drivers/gpu/drm/imagination/pvr_queue.c
@@ -305,7 +305,7 @@ pvr_queue_fence_init(struct dma_fence *f,
INIT_WORK(&fence->release_work, pvr_queue_fence_release_work);
dma_fence_init(&fence->base, fence_ops,
&fence_ctx->lock, fence_ctx->id,
- atomic_inc_return(&fence_ctx->seqno));
+ atomic_inc_return(&fence_ctx->seqno), 0);
}
/**
diff --git a/drivers/gpu/drm/lima/lima_sched.c b/drivers/gpu/drm/lima/lima_sched.c
index 9a1e6b9ecbe5..fee595b9629a 100644
--- a/drivers/gpu/drm/lima/lima_sched.c
+++ b/drivers/gpu/drm/lima/lima_sched.c
@@ -97,7 +97,7 @@ static struct lima_fence *lima_fence_create(struct lima_sched_pipe *pipe)
fence->pipe = pipe;
dma_fence_init(&fence->base, &lima_fence_ops, &pipe->fence_lock,
- pipe->fence_context, ++pipe->fence_seqno);
+ pipe->fence_context, ++pipe->fence_seqno, 0);
return fence;
}
diff --git a/drivers/gpu/drm/msm/msm_fence.c b/drivers/gpu/drm/msm/msm_fence.c
index 3dca8e09c192..1ec59919c32e 100644
--- a/drivers/gpu/drm/msm/msm_fence.c
+++ b/drivers/gpu/drm/msm/msm_fence.c
@@ -197,5 +197,5 @@ msm_fence_init(struct dma_fence *fence, struct msm_fence_context *fctx)
WARN_ON(kref_read(&fence->refcount));
dma_fence_init(&f->base, &msm_fence_ops, &fctx->spinlock,
- fctx->context, ++fctx->last_fence);
+ fctx->context, ++fctx->last_fence, 0);
}
diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c
index 11e95c37ce50..97e20954c71b 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fence.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fence.c
@@ -216,10 +216,10 @@ nouveau_fence_emit(struct nouveau_fence *fence)
if (priv->uevent)
dma_fence_init(&fence->base, &nouveau_fence_ops_uevent,
- &fctx->lock, fctx->context, ++fctx->sequence);
+ &fctx->lock, fctx->context, ++fctx->sequence, 0);
else
dma_fence_init(&fence->base, &nouveau_fence_ops_legacy,
- &fctx->lock, fctx->context, ++fctx->sequence);
+ &fctx->lock, fctx->context, ++fctx->sequence, 0);
kref_get(&fctx->fence_ref);
ret = fctx->emit(fence);
diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c
index 4ddf4b722ddf..de242d275978 100644
--- a/drivers/gpu/drm/panfrost/panfrost_job.c
+++ b/drivers/gpu/drm/panfrost/panfrost_job.c
@@ -105,7 +105,7 @@ static struct dma_fence *panfrost_fence_create(struct panfrost_device *pfdev, in
fence->queue = js_num;
fence->seqno = ++js->queue[js_num].emit_seqno;
dma_fence_init(&fence->base, &panfrost_fence_ops, &js->job_lock,
- js->queue[js_num].fence_context, fence->seqno);
+ js->queue[js_num].fence_context, fence->seqno, 0);
return &fence->base;
}
diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c
index a343c5180e01..c46f69ade7a0 100644
--- a/drivers/gpu/drm/panthor/panthor_sched.c
+++ b/drivers/gpu/drm/panthor/panthor_sched.c
@@ -3322,7 +3322,7 @@ queue_run_job(struct drm_sched_job *sched_job)
&panthor_queue_fence_ops,
&queue->fence_ctx.lock,
queue->fence_ctx.id,
- atomic64_inc_return(&queue->fence_ctx.seqno));
+ atomic64_inc_return(&queue->fence_ctx.seqno), 0);
job->profiling.slot = queue->profiling.seqno++;
if (queue->profiling.seqno == queue->profiling.slot_count)
diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c
index 06979d0e8a9f..2608d82f7370 100644
--- a/drivers/gpu/drm/qxl/qxl_release.c
+++ b/drivers/gpu/drm/qxl/qxl_release.c
@@ -430,7 +430,7 @@ void qxl_release_fence_buffer_objects(struct qxl_release *release)
* set the highest bits. This will break if we really allow exporting of dma-bufs.
*/
dma_fence_init(&release->base, &qxl_fence_ops, &qdev->release_lock,
- release->id | 0xf0000000, release->base.seqno);
+ release->id | 0xf0000000, release->base.seqno, 0);
trace_dma_fence_emit(&release->base);
list_for_each_entry(entry, &release->bos, list) {
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 8e9402b8811b..1360b5215f5e 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -148,7 +148,7 @@ int radeon_fence_emit(struct radeon_device *rdev,
dma_fence_init(&(*fence)->base, &radeon_fence_ops,
&rdev->fence_queue.lock,
rdev->fence_context + ring,
- seq);
+ seq, 0);
radeon_fence_ring_emit(rdev, ring, *fence);
trace_radeon_fence_emit(rdev_to_drm(rdev), ring, (*fence)->seq);
radeon_fence_schedule_check(rdev, ring);
diff --git a/drivers/gpu/drm/scheduler/sched_fence.c b/drivers/gpu/drm/scheduler/sched_fence.c
index b7a4cb921234..94ba0cf4fe02 100644
--- a/drivers/gpu/drm/scheduler/sched_fence.c
+++ b/drivers/gpu/drm/scheduler/sched_fence.c
@@ -229,9 +229,9 @@ void drm_sched_fence_init(struct drm_sched_fence *fence,
fence->sched = entity->rq->sched;
seq = atomic_inc_return(&entity->fence_seq);
dma_fence_init(&fence->scheduled, &drm_sched_fence_ops_scheduled,
- &fence->lock, entity->fence_context, seq);
+ &fence->lock, entity->fence_context, seq, 0);
dma_fence_init(&fence->finished, &drm_sched_fence_ops_finished,
- &fence->lock, entity->fence_context + 1, seq);
+ &fence->lock, entity->fence_context + 1, seq, 0);
}
module_init(drm_sched_fence_slab_init);
diff --git a/drivers/gpu/drm/scheduler/tests/mock_scheduler.c b/drivers/gpu/drm/scheduler/tests/mock_scheduler.c
index 2dfa3efef210..169792a4b329 100644
--- a/drivers/gpu/drm/scheduler/tests/mock_scheduler.c
+++ b/drivers/gpu/drm/scheduler/tests/mock_scheduler.c
@@ -173,7 +173,7 @@ static struct dma_fence *mock_sched_run_job(struct drm_sched_job *sched_job)
&drm_mock_sched_hw_fence_ops,
&sched->lock,
sched->hw_timeline.context,
- atomic_inc_return(&sched->hw_timeline.next_seqno));
+ atomic_inc_return(&sched->hw_timeline.next_seqno), 0);
dma_fence_get(&job->hw_fence); /* Reference for the job_list */
diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
index f3103307b5df..633cc7458505 100644
--- a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
+++ b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
@@ -450,7 +450,7 @@ static void ttm_bo_fini_shared_resv(struct kunit *test)
KUNIT_ASSERT_NOT_NULL(test, fence);
spin_lock_init(&fence_lock);
- dma_fence_init(fence, &mock_fence_ops, &fence_lock, 0, 0);
+ dma_fence_init(fence, &mock_fence_ops, &fence_lock, 0, 0, 0);
dma_resv_lock(external_resv, NULL);
dma_resv_reserve_fences(external_resv, 1);
diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c
index 56ad8ef32584..e22a1335f166 100644
--- a/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c
+++ b/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c
@@ -57,7 +57,7 @@ static struct dma_fence *alloc_mock_fence(struct kunit *test)
fence = kunit_kzalloc(test, sizeof(*fence), GFP_KERNEL);
KUNIT_ASSERT_NOT_NULL(test, fence);
- dma_fence_init(fence, &fence_ops, &fence_lock, 0, 0);
+ dma_fence_init(fence, &fence_ops, &fence_lock, 0, 0, 0);
return fence;
}
diff --git a/drivers/gpu/drm/v3d/v3d_fence.c b/drivers/gpu/drm/v3d/v3d_fence.c
index c500136d0455..1fdba5a21580 100644
--- a/drivers/gpu/drm/v3d/v3d_fence.c
+++ b/drivers/gpu/drm/v3d/v3d_fence.c
@@ -16,7 +16,7 @@ struct dma_fence *v3d_fence_create(struct v3d_dev *v3d, enum v3d_queue q)
fence->queue = q;
fence->seqno = ++queue->emit_seqno;
dma_fence_init(&fence->base, &v3d_fence_ops, &queue->queue_lock,
- queue->fence_context, fence->seqno);
+ queue->fence_context, fence->seqno, 0);
return &fence->base;
}
diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
index 0ea921bab906..d2ddafe6f87a 100644
--- a/drivers/gpu/drm/vc4/vc4_gem.c
+++ b/drivers/gpu/drm/vc4/vc4_gem.c
@@ -648,7 +648,7 @@ vc4_queue_submit(struct drm_device *dev, struct vc4_exec_info *exec,
exec->seqno = seqno;
dma_fence_init(&fence->base, &vc4_fence_ops, &vc4->job_lock,
- vc4->dma_fence_context, exec->seqno);
+ vc4->dma_fence_context, exec->seqno, 0);
fence->seqno = exec->seqno;
exec->fence = &fence->base;
diff --git a/drivers/gpu/drm/vgem/vgem_fence.c b/drivers/gpu/drm/vgem/vgem_fence.c
index 0e53ba7db629..18700e5f9167 100644
--- a/drivers/gpu/drm/vgem/vgem_fence.c
+++ b/drivers/gpu/drm/vgem/vgem_fence.c
@@ -77,7 +77,7 @@ static struct dma_fence *vgem_fence_create(struct vgem_file *vfile,
spin_lock_init(&fence->lock);
dma_fence_init(&fence->base, &vgem_fence_ops, &fence->lock,
- dma_fence_context_alloc(1), 1);
+ dma_fence_context_alloc(1), 1, 0);
timer_setup(&fence->timer, vgem_fence_timeout, TIMER_IRQSAFE);
diff --git a/drivers/gpu/drm/virtio/virtgpu_fence.c b/drivers/gpu/drm/virtio/virtgpu_fence.c
index c3e66ef2133a..8e469391d2e4 100644
--- a/drivers/gpu/drm/virtio/virtgpu_fence.c
+++ b/drivers/gpu/drm/virtio/virtgpu_fence.c
@@ -76,7 +76,7 @@ struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev,
*/
dma_fence_init(&fence->f, &virtio_gpu_fence_ops, &drv->lock,
- fence_context, 0);
+ fence_context, 0, 0);
return fence;
}
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
index 384c6736cf6b..15f355dc6881 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
@@ -163,7 +163,7 @@ static int vmw_fence_obj_init(struct vmw_fence_manager *fman,
int ret = 0;
dma_fence_init(&fence->base, &vmw_fence_ops, &fman->lock,
- fman->ctx, seqno);
+ fman->ctx, seqno, 0);
fence->destroy = destroy;
spin_lock(&fman->lock);
diff --git a/drivers/gpu/drm/xe/xe_hw_fence.c b/drivers/gpu/drm/xe/xe_hw_fence.c
index 14720623ad00..30bfc42972e0 100644
--- a/drivers/gpu/drm/xe/xe_hw_fence.c
+++ b/drivers/gpu/drm/xe/xe_hw_fence.c
@@ -243,7 +243,7 @@ void xe_hw_fence_init(struct dma_fence *fence, struct xe_hw_fence_ctx *ctx,
INIT_LIST_HEAD(&hw_fence->irq_link);
dma_fence_init(fence, &xe_hw_fence_ops, &ctx->irq->lock,
- ctx->dma_fence_ctx, ctx->next_seqno++);
+ ctx->dma_fence_ctx, ctx->next_seqno++, 0);
trace_xe_hw_fence_create(hw_fence);
}
diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c
index a3484e943c55..2860fe73971f 100644
--- a/drivers/gpu/drm/xe/xe_oa.c
+++ b/drivers/gpu/drm/xe/xe_oa.c
@@ -1045,7 +1045,7 @@ static int xe_oa_emit_oa_config(struct xe_oa_stream *stream, struct xe_oa_config
/* Point of no return: initialize and set fence to signal */
spin_lock_init(&ofence->lock);
- dma_fence_init(&ofence->base, &xe_oa_fence_ops, &ofence->lock, 0, 0);
+ dma_fence_init(&ofence->base, &xe_oa_fence_ops, &ofence->lock, 0, 0, 0);
for (i = 0; i < stream->num_syncs; i++) {
if (stream->syncs[i].flags & DRM_XE_SYNC_FLAG_SIGNAL)
diff --git a/drivers/gpu/drm/xe/xe_preempt_fence.c b/drivers/gpu/drm/xe/xe_preempt_fence.c
index 4aa570fe745d..343f1ba1e1cd 100644
--- a/drivers/gpu/drm/xe/xe_preempt_fence.c
+++ b/drivers/gpu/drm/xe/xe_preempt_fence.c
@@ -154,7 +154,7 @@ xe_preempt_fence_arm(struct xe_preempt_fence *pfence, struct xe_exec_queue *q,
pfence->q = xe_exec_queue_get(q);
spin_lock_init(&pfence->lock);
dma_fence_init(&pfence->base, &preempt_fence_ops,
- &pfence->lock, context, seqno);
+ &pfence->lock, context, seqno, 0);
return &pfence->base;
}
diff --git a/drivers/gpu/drm/xe/xe_tlb_inval.c b/drivers/gpu/drm/xe/xe_tlb_inval.c
index dd1030de9ab6..8edf64337196 100644
--- a/drivers/gpu/drm/xe/xe_tlb_inval.c
+++ b/drivers/gpu/drm/xe/xe_tlb_inval.c
@@ -490,7 +490,7 @@ void xe_tlb_inval_fence_init(struct xe_tlb_inval *tlb_inval,
spin_lock_irq(&tlb_inval->lock);
dma_fence_init(&fence->base, &inval_fence_ops, &tlb_inval->lock,
- dma_fence_context_alloc(1), 1);
+ dma_fence_context_alloc(1), 1, 0);
spin_unlock_irq(&tlb_inval->lock);
INIT_LIST_HEAD(&fence->link);
if (stack)
diff --git a/drivers/gpu/host1x/fence.c b/drivers/gpu/host1x/fence.c
index 1acf579c562b..7e074e72a055 100644
--- a/drivers/gpu/host1x/fence.c
+++ b/drivers/gpu/host1x/fence.c
@@ -136,7 +136,7 @@ struct dma_fence *host1x_fence_create(struct host1x_syncpt *sp, u32 threshold,
fence->timeout = timeout;
dma_fence_init(&fence->base, &host1x_syncpt_fence_ops, &sp->fences.lock,
- dma_fence_context_alloc(1), 0);
+ dma_fence_context_alloc(1), 0, 0);
INIT_DELAYED_WORK(&fence->timeout_work, do_fence_timeout);
diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index 2c9ec93dff47..57d8a61e5054 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -1900,7 +1900,7 @@ static int iio_buffer_enqueue_dmabuf(struct iio_dev_buffer_pair *ib,
* the dma_fence.
*/
dma_fence_init(&fence->base, &iio_buffer_dma_fence_ops,
- &fence->lock, priv->context, seqno);
+ &fence->lock, priv->context, seqno, 0);
ret = iio_dma_resv_lock(dmabuf, nonblock);
if (ret)
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index 43962e05eacf..dd09f71d2069 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -1733,7 +1733,7 @@ static int ffs_dmabuf_transfer(struct file *file,
seqno = atomic_add_return(1, &epfile->seqno);
dma_fence_init(&fence->base, &ffs_dmabuf_fence_ops,
- &priv->lock, priv->context, seqno);
+ &priv->lock, priv->context, seqno, 0);
resv_dir = epfile->in ? DMA_RESV_USAGE_READ : DMA_RESV_USAGE_WRITE;
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index dd07d128adc3..0cb425f7d5e9 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -103,6 +103,11 @@ struct dma_fence {
int error;
};
+/** enum dma_fence_flag_bits - internal dma_fence flags
+ *
+ * These flags are all only for internal usage, with the exception of the
+ * remaining free bits beginning at DMA_FENCE_FLAG_USER_BITS.
+ */
enum dma_fence_flag_bits {
DMA_FENCE_FLAG_INITIALIZED_BIT,
DMA_FENCE_FLAG_INLINE_LOCK_BIT,
@@ -110,9 +115,21 @@ enum dma_fence_flag_bits {
DMA_FENCE_FLAG_SIGNALED_BIT,
DMA_FENCE_FLAG_TIMESTAMP_BIT,
DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
+
DMA_FENCE_FLAG_USER_BITS, /* must always be last member */
};
+/** enum dma_fence_init_flag_bits - flags the user can specify for new fences
+ *
+ * These flags can be passed in dma_fence_init().
+ *
+ * DMA_FENCE_FLAG_SEQNO64_BIT - use 64-bit sequence numbers
+ */
+enum dma_fence_init_flags {
+ /* Must always be last member. */
+ DMA_FENCE_INIT_FLAG_NR_OF_FLAGs,
+};
+
typedef void (*dma_fence_func_t)(struct dma_fence *fence,
struct dma_fence_cb *cb);
@@ -279,11 +296,10 @@ struct dma_fence_ops {
};
void dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
- spinlock_t *lock, u64 context, u64 seqno);
-
+ spinlock_t *lock, u64 context, u64 seqno,
+ unsigned long flags);
void dma_fence_init64(struct dma_fence *fence, const struct dma_fence_ops *ops,
spinlock_t *lock, u64 context, u64 seqno);
-
void dma_fence_release(struct kref *kref);
void dma_fence_free(struct dma_fence *fence);
void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq);
--
2.56.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [RFC PATCH 2/6] dma-buf: dma-fence: Add flag for using 64-bit seqnos
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 1/6] dma-buf: dma-fence: Add flags parameter to dma_fence_init() Philipp Stanner
@ 2026-10-29 9:55 ` Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 3/6] dma-buf: Port users of dma_fence_init64() Philipp Stanner
` (8 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 9:55 UTC (permalink / raw)
To: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Philipp Stanner, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
dma_fence_init() now has its own flag field for user options. Use this
field to enable 64-bit seqno support through a dedicated field.
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
drivers/dma-buf/dma-fence.c | 8 +++++++-
include/linux/dma-fence.h | 4 +++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index a640fb99f942..b11ee52a40d8 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -1114,7 +1114,13 @@ dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
spinlock_t *lock, u64 context, u64 seqno,
unsigned long init_flags)
{
- __dma_fence_init(fence, ops, lock, context, seqno, 0);
+ unsigned long fence_flag_bits = 0;
+
+ /* Mapp the init_flags to the fence-internal flags. */
+ if (test_bit(DMA_FENCE_INIT_FLAG_SEQNO64, &init_flags))
+ set_bit(DMA_FENCE_FLAG_SEQNO64_BIT, &fence_flag_bits);
+
+ __dma_fence_init(fence, ops, lock, context, seqno, fence_flag_bits);
}
EXPORT_SYMBOL(dma_fence_init);
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index 0cb425f7d5e9..6654bcc2441f 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -123,9 +123,11 @@ enum dma_fence_flag_bits {
*
* These flags can be passed in dma_fence_init().
*
- * DMA_FENCE_FLAG_SEQNO64_BIT - use 64-bit sequence numbers
+ * @DMA_FENCE_INIT_FLAG_SEQNO64: Use 64-bit sequence numbers.
*/
enum dma_fence_init_flags {
+ DMA_FENCE_INIT_FLAG_SEQNO64,
+
/* Must always be last member. */
DMA_FENCE_INIT_FLAG_NR_OF_FLAGs,
};
--
2.56.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [RFC PATCH 3/6] dma-buf: Port users of dma_fence_init64()
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 1/6] dma-buf: dma-fence: Add flags parameter to dma_fence_init() Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 2/6] dma-buf: dma-fence: Add flag for using 64-bit seqnos Philipp Stanner
@ 2026-10-29 9:55 ` Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 4/6] dma-buf: dma-fence: remove dma_fence_init64() Philipp Stanner
` (7 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 9:55 UTC (permalink / raw)
To: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Philipp Stanner, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
dma_fence_init() now natively allows for selecting 64-bit seqno support.
Port all users of dma_fence_init64() to this unified method.
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
drivers/dma-buf/dma-fence-chain.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c | 7 ++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c | 5 +++--
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_tlb_fence.c | 5 +++--
4 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
index a588f55ea4d3..706e1f5e3a23 100644
--- a/drivers/dma-buf/dma-fence-chain.c
+++ b/drivers/dma-buf/dma-fence-chain.c
@@ -261,8 +261,8 @@ void dma_fence_chain_init(struct dma_fence_chain *chain,
seqno = max(prev->seqno, seqno);
}
- dma_fence_init64(&chain->base, &dma_fence_chain_ops, NULL,
- context, seqno);
+ dma_fence_init(&chain->base, &dma_fence_chain_ops, NULL,
+ context, seqno, BIT(DMA_FENCE_INIT_FLAG_SEQNO64));
/*
* dma_fence_chain_enable_signaling() is invoked while holding
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c
index f6b7522c3c82..1337f7f4195f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c
@@ -130,9 +130,10 @@ int amdgpu_evf_mgr_rearm(struct amdgpu_eviction_fence_mgr *evf_mgr,
ev_fence->evf_mgr = evf_mgr;
get_task_comm(ev_fence->timeline_name, current);
spin_lock_init(&ev_fence->lock);
- dma_fence_init64(&ev_fence->base, &amdgpu_eviction_fence_ops,
- &ev_fence->lock, evf_mgr->ev_fence_ctx,
- atomic_inc_return(&evf_mgr->ev_fence_seq));
+ dma_fence_init(&ev_fence->base, &amdgpu_eviction_fence_ops,
+ &ev_fence->lock, evf_mgr->ev_fence_ctx,
+ atomic_inc_return(&evf_mgr->ev_fence_seq),
+ BIT(DMA_FENCE_INIT_FLAG_SEQNO64));
/* Remember it for newly added BOs */
dma_fence_put(evf_mgr->ev_fence);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
index 6f1dc813ec5b..199cc1835448 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
@@ -274,8 +274,9 @@ static void amdgpu_userq_fence_init(struct amdgpu_usermode_queue *userq,
bool signaled = false;
spin_lock_init(&fence->lock);
- dma_fence_init64(&fence->base, &amdgpu_userq_fence_ops, &fence->lock,
- fence_drv->context, seq);
+ dma_fence_init(&fence->base, &amdgpu_userq_fence_ops, &fence->lock,
+ fence_drv->context, seq,
+ BIT(DMA_FENCE_INIT_FLAG_SEQNO64));
/* Make sure the fence is visible to the hang detect worker */
dma_fence_put(userq->last_fence);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_tlb_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_tlb_fence.c
index b0002c898386..8b9b9368956f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_tlb_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_tlb_fence.c
@@ -100,8 +100,9 @@ void amdgpu_vm_tlb_fence_create(struct amdgpu_device *adev, struct amdgpu_vm *vm
INIT_WORK(&f->work, amdgpu_tlb_fence_work);
spin_lock_init(&f->lock);
- dma_fence_init64(&f->base, &amdgpu_tlb_fence_ops, &f->lock,
- vm->tlb_fence_context, atomic64_read(&vm->tlb_seq));
+ dma_fence_init(&f->base, &amdgpu_tlb_fence_ops, &f->lock,
+ vm->tlb_fence_context, atomic64_read(&vm->tlb_seq),
+ BIT(DMA_FENCE_INIT_FLAG_SEQNO64));
/* TODO: We probably need a separate wq here */
dma_fence_get(&f->base);
--
2.56.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [RFC PATCH 4/6] dma-buf: dma-fence: remove dma_fence_init64()
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (2 preceding siblings ...)
2026-10-29 9:55 ` [RFC PATCH 3/6] dma-buf: Port users of dma_fence_init64() Philipp Stanner
@ 2026-10-29 9:55 ` Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 5/6] dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default Philipp Stanner
` (6 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 9:55 UTC (permalink / raw)
To: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Philipp Stanner, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
All users of dma_fence_init64() have been removed. They now use the
respective initialization flag in dma_fence_init().
Remove dma_fence_init64().
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
drivers/dma-buf/dma-fence.c | 27 ---------------------------
include/linux/dma-fence.h | 2 --
2 files changed, 29 deletions(-)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index b11ee52a40d8..f7c084926ae6 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -1124,33 +1124,6 @@ dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
}
EXPORT_SYMBOL(dma_fence_init);
-/**
- * dma_fence_init64 - Initialize a custom fence with 64-bit seqno support.
- * @fence: the fence to initialize
- * @ops: the dma_fence_ops for operations on this fence
- * @lock: optional irqsafe spinlock to use for locking this fence
- * @context: the execution context this fence is run on
- * @seqno: a linear increasing sequence number for this context
- *
- * Initializes an allocated fence, the caller doesn't have to keep its
- * refcount after committing with this fence, but it will need to hold a
- * refcount again if &dma_fence_ops.enable_signaling gets called.
- *
- * Context and seqno are used for easy comparison between fences, allowing
- * to check which fence is later by simply using dma_fence_later().
- *
- * New users MUST NOT use external locks. Check the documentation in
- * dma_fence_init() to understand the motives behind the legacy use cases.
- */
-void
-dma_fence_init64(struct dma_fence *fence, const struct dma_fence_ops *ops,
- spinlock_t *lock, u64 context, u64 seqno)
-{
- __dma_fence_init(fence, ops, lock, context, seqno,
- BIT(DMA_FENCE_FLAG_SEQNO64_BIT));
-}
-EXPORT_SYMBOL(dma_fence_init64);
-
/**
* dma_fence_driver_name - Access the driver name
* @fence: the fence to query
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index 6654bcc2441f..52e7ddfd2d06 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -300,8 +300,6 @@ struct dma_fence_ops {
void dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
spinlock_t *lock, u64 context, u64 seqno,
unsigned long flags);
-void dma_fence_init64(struct dma_fence *fence, const struct dma_fence_ops *ops,
- spinlock_t *lock, u64 context, u64 seqno);
void dma_fence_release(struct kref *kref);
void dma_fence_free(struct dma_fence *fence);
void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq);
--
2.56.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [RFC PATCH 5/6] dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (3 preceding siblings ...)
2026-10-29 9:55 ` [RFC PATCH 4/6] dma-buf: dma-fence: remove dma_fence_init64() Philipp Stanner
@ 2026-10-29 9:55 ` Philipp Stanner
2026-10-29 16:00 ` Matthew Brost
2026-10-29 9:55 ` [RFC PATCH 6/6] drm/nouveau: Remove hacky fence check Philipp Stanner
` (5 subsequent siblings)
10 siblings, 1 reply; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 9:55 UTC (permalink / raw)
To: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Philipp Stanner, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
dma_fence_is_signaled() contains a lockless check of the signaled-bit,
which is set under lock protection. This is a race condition which makes
the API fragile and has caused at least two bugs already, addressed in:
commit c8a5d5ea3ba6 ("nouveau: fix client work fence deletion race")
commit 7c703a7d3f2b ("drm/amdgpu: Fix one use-after-free of VM")
It has been argued by some that this race cannot be closed for the
entire kernel through locking because this would lead to a cache line
invalidation for all parties reading that fence. While it remains
unclear why these parties don't simply let themselves be notified about
the fence being signaled instead of checking this repeatedly manually,
there is a way to preserve this behavior in any case:
This patch adds a new flag for dma_fence_init(),
DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK. If this flag is not set, the
spinlock is taken and dma_fence_is_signaled() becomes perfectly
synchronized: it can only return true once signaling of the fence is
completed.
Disable the racy check for everyone by default. Should some parties
really experience severe performance degredations because of this, they
can trivially re-enable the race condition for their driver by setting
the flag in dma_fence_init().
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
drivers/dma-buf/dma-fence.c | 2 ++
include/linux/dma-fence.h | 22 ++++++++++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index f7c084926ae6..1ae8c7aade39 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -1119,6 +1119,8 @@ dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
/* Mapp the init_flags to the fence-internal flags. */
if (test_bit(DMA_FENCE_INIT_FLAG_SEQNO64, &init_flags))
set_bit(DMA_FENCE_FLAG_SEQNO64_BIT, &fence_flag_bits);
+ if (test_bit(DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK, &init_flags))
+ set_bit(DMA_FENCE_FLAG_RACY_SIGNALED_CHECK_BIT, &fence_flag_bits);
__dma_fence_init(fence, ops, lock, context, seqno, fence_flag_bits);
}
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index 52e7ddfd2d06..ee6e8de3ebc6 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -115,6 +115,7 @@ enum dma_fence_flag_bits {
DMA_FENCE_FLAG_SIGNALED_BIT,
DMA_FENCE_FLAG_TIMESTAMP_BIT,
DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
+ DMA_FENCE_FLAG_RACY_SIGNALED_CHECK_BIT,
DMA_FENCE_FLAG_USER_BITS, /* must always be last member */
};
@@ -124,9 +125,12 @@ enum dma_fence_flag_bits {
* These flags can be passed in dma_fence_init().
*
* @DMA_FENCE_INIT_FLAG_SEQNO64: Use 64-bit sequence numbers.
+ * @DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK:
+ * Legacy flag. Enables a race condition in dma_fence_is_signaled().
*/
enum dma_fence_init_flags {
DMA_FENCE_INIT_FLAG_SEQNO64,
+ DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK,
/* Must always be last member. */
DMA_FENCE_INIT_FLAG_NR_OF_FLAGs,
@@ -568,9 +572,27 @@ dma_fence_is_signaled_locked(struct dma_fence *fence)
static inline bool
dma_fence_is_signaled(struct dma_fence *fence)
{
+ const bool racy_check = test_bit(DMA_FENCE_FLAG_RACY_SIGNALED_CHECK_BIT,
+ &fence->flags);
const struct dma_fence_ops *ops;
+ bool signaled = false;
+ unsigned long flags;
+ /*
+ * For legacy reasons, there is a race window here against parties
+ * signaling the fence. They might still be doing that right now.
+ *
+ * For most users, this window shall be closed, but there are parties
+ * for whom the cache-line invalidation by taking the lock might be so
+ * significant that they prefer to accept the race at their own risk.
+ */
+ if (!racy_check)
+ dma_fence_lock_irqsave(fence, flags);
if (dma_fence_test_signaled_flag(fence))
+ signaled = true;
+ if (!racy_check)
+ dma_fence_unlock_irqrestore(fence, flags);
+ if (signaled)
return true;
rcu_read_lock();
--
2.56.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [RFC PATCH 6/6] drm/nouveau: Remove hacky fence check
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (4 preceding siblings ...)
2026-10-29 9:55 ` [RFC PATCH 5/6] dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default Philipp Stanner
@ 2026-10-29 9:55 ` Philipp Stanner
2026-10-29 10:07 ` ✗ CI.checkpatch: warning for dma-buf: Phase out is_signaled() race Patchwork
` (4 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 9:55 UTC (permalink / raw)
To: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Philipp Stanner, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
nouveau_cli_work() contains a section where a dma_fence lock is manually
taken and immediately released afterwards. This was added in
commit c8a5d5ea3ba6 ("nouveau: fix client work fence deletion race")
as a bugfix because the function dma_fence_is_signaled() could return
true while the fence was still signaling.
The fix was later modified in
commit a80d12eafad1 ("drm/nouveau: Simplify nouveau_cli_work")
Luckily, the dma_fence backend now fully synchronizes
dma_fence_is_signaled() with the spinlock. Thus, the check in nouveau is
not necessary anymore.
Remove the manual lock-unlock section.
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
drivers/gpu/drm/nouveau/nouveau_drm.c | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index b0f9fb10a74d..74632bb29f2f 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -163,19 +163,6 @@ nouveau_cli_work(struct work_struct *w)
struct dma_fence *fence = work->fence;
if (!fence || dma_fence_is_signaled(fence)) {
- if (fence) {
- unsigned long flags;
-
- /*
- * Because fence can still be in the process of
- * processing the callback list, and the
- * callback references the work we are about to
- * free, we need to sync with the callback
- * processing before freeing the work.
- */
- dma_fence_lock_irqsave(fence, flags);
- dma_fence_unlock_irqrestore(fence, flags);
- }
list_del(&work->head);
work->func(work);
dma_fence_put(fence);
--
2.56.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* ✗ CI.checkpatch: warning for dma-buf: Phase out is_signaled() race
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (5 preceding siblings ...)
2026-10-29 9:55 ` [RFC PATCH 6/6] drm/nouveau: Remove hacky fence check Philipp Stanner
@ 2026-10-29 10:07 ` Patchwork
2026-10-29 10:09 ` ✓ CI.KUnit: success " Patchwork
` (3 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2026-10-29 10:07 UTC (permalink / raw)
To: Philipp Stanner; +Cc: intel-xe
== Series Details ==
Series: dma-buf: Phase out is_signaled() race
URL : https://patchwork.freedesktop.org/series/177133/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
3009867cd31863246e4afc138520a7a8bd37bb11
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 88534836660d3b7105ad5dc39278396c3b37af68
Author: Philipp Stanner <phasta@kernel.org>
Date: Thu Oct 29 10:55:43 2026 +0100
drm/nouveau: Remove hacky fence check
nouveau_cli_work() contains a section where a dma_fence lock is manually
taken and immediately released afterwards. This was added in
commit c8a5d5ea3ba6 ("nouveau: fix client work fence deletion race")
as a bugfix because the function dma_fence_is_signaled() could return
true while the fence was still signaling.
The fix was later modified in
commit a80d12eafad1 ("drm/nouveau: Simplify nouveau_cli_work")
Luckily, the dma_fence backend now fully synchronizes
dma_fence_is_signaled() with the spinlock. Thus, the check in nouveau is
not necessary anymore.
Remove the manual lock-unlock section.
Signed-off-by: Philipp Stanner <phasta@kernel.org>
+ /mt/dim checkpatch da8074467a69dce9a0dd59602875f5c54874c92a drm-intel
f63e4084c4fb dma-buf: dma-fence: Add flags parameter to dma_fence_init()
-:53: WARNING:LONG_LINE: line length of 102 exceeds 100 columns
#53: FILE: drivers/accel/ivpu/ivpu_job.c:522:
+ dma_fence_init(&fence->base, &ivpu_fence_ops, &fence->lock, dma_fence_context_alloc(1), 1, 0);
-:675: CHECK:CAMELCASE: Avoid CamelCase: <DMA_FENCE_INIT_FLAG_NR_OF_FLAGs>
#675: FILE: include/linux/dma-fence.h:130:
+ DMA_FENCE_INIT_FLAG_NR_OF_FLAGs,
total: 0 errors, 1 warnings, 1 checks, 438 lines checked
af9af2f7c907 dma-buf: dma-fence: Add flag for using 64-bit seqnos
6aa932db0f69 dma-buf: Port users of dma_fence_init64()
e5eaa1ccb5ff dma-buf: dma-fence: remove dma_fence_init64()
8b15d5940aeb dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default
88534836660d drm/nouveau: Remove hacky fence check
^ permalink raw reply [flat|nested] 17+ messages in thread
* ✓ CI.KUnit: success for dma-buf: Phase out is_signaled() race
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (6 preceding siblings ...)
2026-10-29 10:07 ` ✗ CI.checkpatch: warning for dma-buf: Phase out is_signaled() race Patchwork
@ 2026-10-29 10:09 ` Patchwork
2026-10-29 10:23 ` [RFC PATCH 0/6] " Lucas Stach
` (2 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2026-10-29 10:09 UTC (permalink / raw)
To: Philipp Stanner; +Cc: intel-xe
== Series Details ==
Series: dma-buf: Phase out is_signaled() race
URL : https://patchwork.freedesktop.org/series/177133/
State : success
== Summary ==
+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[10:07:07] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:07:11] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[10:07:32] Starting KUnit Kernel (1/1)...
[10:07:32] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:07:32] ================= gpu_buddy (14 subtests) ==================
[10:07:32] [PASSED] gpu_test_buddy_alloc_limit
[10:07:32] [PASSED] gpu_test_buddy_alloc_optimistic
[10:07:32] [PASSED] gpu_test_buddy_alloc_pessimistic
[10:07:32] [PASSED] gpu_test_buddy_alloc_pathological
[10:07:32] [PASSED] gpu_test_buddy_alloc_contiguous
[10:07:32] [PASSED] gpu_test_buddy_alloc_clear
[10:07:32] [PASSED] gpu_test_buddy_alloc_range
[10:07:32] [PASSED] gpu_test_buddy_alloc_range_bias
[10:07:33] [PASSED] gpu_test_buddy_fragmentation_performance
[10:07:34] [PASSED] gpu_test_buddy_dirty_tracker_performance
[10:07:34] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[10:07:34] [PASSED] gpu_test_buddy_offset_aligned_allocation
[10:07:34] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[10:07:34] [PASSED] gpu_test_buddy_addr_to_block
[10:07:34] ==================== [PASSED] gpu_buddy ====================
[10:07:34] ============================================================
[10:07:34] Testing complete. Ran 14 tests: passed: 14
[10:07:34] Elapsed time: 26.637s total, 4.337s configuring, 20.433s building, 1.809s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[10:07:34] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:07:36] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[10:08:14] Starting KUnit Kernel (1/1)...
[10:08:14] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:08:15] ================== guc_buf (11 subtests) ===================
[10:08:15] [PASSED] test_smallest
[10:08:15] [PASSED] test_largest
[10:08:15] [PASSED] test_granular
[10:08:15] [PASSED] test_unique
[10:08:15] [PASSED] test_overlap
[10:08:15] [PASSED] test_reusable
[10:08:15] [PASSED] test_too_big
[10:08:15] [PASSED] test_flush
[10:08:15] [PASSED] test_lookup
[10:08:15] [PASSED] test_data
[10:08:15] [PASSED] test_class
[10:08:15] ===================== [PASSED] guc_buf =====================
[10:08:15] =================== guc_dbm (7 subtests) ===================
[10:08:15] [PASSED] test_empty
[10:08:15] [PASSED] test_default
[10:08:15] ======================== test_size ========================
[10:08:15] [PASSED] 4
[10:08:15] [PASSED] 8
[10:08:15] [PASSED] 32
[10:08:15] [PASSED] 256
[10:08:15] ==================== [PASSED] test_size ====================
[10:08:15] ======================= test_reuse ========================
[10:08:15] [PASSED] 4
[10:08:15] [PASSED] 8
[10:08:15] [PASSED] 32
[10:08:15] [PASSED] 256
[10:08:15] =================== [PASSED] test_reuse ====================
[10:08:15] =================== test_range_overlap ====================
[10:08:15] [PASSED] 4
[10:08:15] [PASSED] 8
[10:08:15] [PASSED] 32
[10:08:15] [PASSED] 256
[10:08:15] =============== [PASSED] test_range_overlap ================
[10:08:15] =================== test_range_compact ====================
[10:08:15] [PASSED] 4
[10:08:15] [PASSED] 8
[10:08:15] [PASSED] 32
[10:08:15] [PASSED] 256
[10:08:15] =============== [PASSED] test_range_compact ================
[10:08:15] ==================== test_range_spare =====================
[10:08:15] [PASSED] 4
[10:08:15] [PASSED] 8
[10:08:15] [PASSED] 32
[10:08:15] [PASSED] 256
[10:08:15] ================ [PASSED] test_range_spare =================
[10:08:15] ===================== [PASSED] guc_dbm =====================
[10:08:15] ================== guc_idm (22 subtests) ===================
[10:08:15] [PASSED] bad_init
[10:08:15] [PASSED] no_init
[10:08:15] [PASSED] init_fini
[10:08:15] [PASSED] check_init_small
[10:08:15] [PASSED] check_init_shared
[10:08:15] [PASSED] check_used
[10:08:15] [PASSED] check_quota
[10:08:15] [PASSED] check_all
[10:08:15] [PASSED] check_limits
[10:08:15] [PASSED] check_overlap
[10:08:15] [PASSED] check_overlap_alloc
[10:08:15] [PASSED] check_overlap_release
[10:08:15] [PASSED] check_overlap_partial_init
[10:08:15] [PASSED] check_overlap_partial_shared_range_blocking
[10:08:15] [PASSED] check_used_usable
[10:08:15] [PASSED] check_used_shareable
[10:08:15] [PASSED] check_used_mixed
[10:08:15] [PASSED] check_release_usable_range
[10:08:15] [PASSED] check_release_shareable_range
[10:08:15] [PASSED] check_split_boundaries
[10:08:15] [PASSED] check_shareable_spare
[10:08:15] [PASSED] check_shareable_spare_fragmented_tail
[10:08:15] ===================== [PASSED] guc_idm =====================
[10:08:15] ============== guc_klv_helpers (13 subtests) ===============
[10:08:15] [PASSED] test_count
[10:08:15] [PASSED] test_encode_u32
[10:08:15] [PASSED] test_encode_u64
[10:08:15] [PASSED] test_encode_string
[10:08:15] [PASSED] test_encode_object_raw
[10:08:15] [PASSED] test_encode_object_klv
[10:08:15] [PASSED] test_encode_object_nested
[10:08:15] [PASSED] test_encode_object_basic
[10:08:15] ===================== test_decode_u16 =====================
[10:08:15] [PASSED] empty
[10:08:15] [PASSED] valid
[10:08:15] [PASSED] max
[10:08:15] [PASSED] big
[10:08:15] [PASSED] long
[10:08:15] ================= [PASSED] test_decode_u16 =================
[10:08:15] ===================== test_decode_u32 =====================
[10:08:15] [PASSED] empty
[10:08:15] [PASSED] valid
[10:08:15] [PASSED] max
[10:08:15] [PASSED] long
[10:08:15] ================= [PASSED] test_decode_u32 =================
[10:08:15] ===================== test_decode_u64 =====================
[10:08:15] [PASSED] empty
[10:08:15] [PASSED] short
[10:08:15] [PASSED] valid
[10:08:15] [PASSED] max
[10:08:15] [PASSED] long
[10:08:15] ================= [PASSED] test_decode_u64 =================
[10:08:15] ===================== test_decode_str =====================
[10:08:15] [PASSED] empty
[10:08:15] [PASSED] one
[10:08:15] [PASSED] one_trash
[10:08:15] [PASSED] two
[10:08:15] [PASSED] two_trash
[10:08:15] [PASSED] three
[10:08:15] [PASSED] dword
[10:08:15] [PASSED] four
[10:08:15] [PASSED] five
[10:08:15] [PASSED] six
[10:08:15] [PASSED] seven
[10:08:15] [PASSED] qword
[10:08:15] ================= [PASSED] test_decode_str =================
[10:08:15] [PASSED] test_print
[10:08:15] ================= [PASSED] guc_klv_helpers =================
[10:08:15] =================== xe_log (4 subtests) ====================
[10:08:15] [PASSED] demo_cper
[10:08:15] [PASSED] demo_dmesg
[10:08:15] ======================= test_dmesg ========================
[10:08:15] [PASSED] test_fatal
[10:08:15] [PASSED] test_fatal_tile
[10:08:15] [PASSED] test_fatal_gt
[10:08:15] [PASSED] test_fatal_comp
[10:08:15] [PASSED] test_fatal_comp_tile
[10:08:15] [PASSED] test_fatal_comp_gt
[10:08:15] [PASSED] test_fatal_all
[10:08:15] [PASSED] test_recoverable
[10:08:15] [PASSED] test_recoverable_tile
[10:08:15] [PASSED] test_recoverable_gt
[10:08:15] [PASSED] test_recoverable_comp
[10:08:15] [PASSED] test_recoverable_comp_tile
[10:08:15] [PASSED] test_recoverable_comp_gt
[10:08:15] [PASSED] test_recoverable_all
[10:08:15] [PASSED] test_info
[10:08:15] [PASSED] test_info_tile
[10:08:15] [PASSED] test_info_gt
[10:08:15] [PASSED] test_info_err
[10:08:15] [PASSED] test_info_comp
[10:08:15] [PASSED] test_info_comp_tile
[10:08:15] [PASSED] test_info_comp_gt
[10:08:15] [PASSED] test_info_all
[10:08:15] [PASSED] test_hw_fatal
[10:08:15] [PASSED] test_hw_recoverable
[10:08:15] [PASSED] test_hw_corrected
[10:08:15] [PASSED] test_hw_informational
[10:08:15] =================== [PASSED] test_dmesg ====================
[10:08:15] ====================== test_invalid =======================
[10:08:15] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[10:08:15] ================== [SKIPPED] test_invalid ==================
[10:08:15] ===================== [PASSED] xe_log ======================
[10:08:15] ================== no_relay (3 subtests) ===================
[10:08:15] [PASSED] xe_drops_guc2pf_if_not_ready
[10:08:15] [PASSED] xe_drops_guc2vf_if_not_ready
[10:08:15] [PASSED] xe_rejects_send_if_not_ready
[10:08:15] ==================== [PASSED] no_relay =====================
[10:08:15] ================== pf_relay (14 subtests) ==================
[10:08:15] [PASSED] pf_rejects_guc2pf_too_short
[10:08:15] [PASSED] pf_rejects_guc2pf_too_long
[10:08:15] [PASSED] pf_rejects_guc2pf_no_payload
[10:08:15] [PASSED] pf_fails_no_payload
[10:08:15] [PASSED] pf_fails_bad_origin
[10:08:15] [PASSED] pf_fails_bad_type
[10:08:15] [PASSED] pf_txn_reports_error
[10:08:15] [PASSED] pf_txn_sends_pf2guc
[10:08:15] [PASSED] pf_sends_pf2guc
[10:08:15] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[10:08:15] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[10:08:15] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[10:08:15] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[10:08:15] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[10:08:15] ==================== [PASSED] pf_relay =====================
[10:08:15] ================== vf_relay (3 subtests) ===================
[10:08:15] [PASSED] vf_rejects_guc2vf_too_short
[10:08:15] [PASSED] vf_rejects_guc2vf_too_long
[10:08:15] [PASSED] vf_rejects_guc2vf_no_payload
[10:08:15] ==================== [PASSED] vf_relay =====================
[10:08:15] ================ pf_gt_config (9 subtests) =================
[10:08:15] [PASSED] fair_contexts_1vf
[10:08:15] [PASSED] fair_doorbells_1vf
[10:08:15] [PASSED] fair_ggtt_1vf
[10:08:15] ====================== fair_vram_1vf ======================
[10:08:15] [PASSED] 3.50 GiB
[10:08:15] [PASSED] 11.5 GiB
[10:08:15] [PASSED] 15.5 GiB
[10:08:15] [PASSED] 31.5 GiB
[10:08:15] [PASSED] 63.5 GiB
[10:08:15] [PASSED] 1.91 GiB
[10:08:15] ================== [PASSED] fair_vram_1vf ==================
[10:08:15] ================ fair_vram_1vf_admin_only =================
[10:08:15] [PASSED] 3.50 GiB
[10:08:15] [PASSED] 11.5 GiB
[10:08:15] [PASSED] 15.5 GiB
[10:08:15] [PASSED] 31.5 GiB
[10:08:15] [PASSED] 63.5 GiB
[10:08:15] [PASSED] 1.91 GiB
[10:08:15] ============ [PASSED] fair_vram_1vf_admin_only =============
[10:08:15] ====================== fair_contexts ======================
[10:08:15] [PASSED] 1 VF
[10:08:15] [PASSED] 2 VFs
[10:08:15] [PASSED] 3 VFs
[10:08:15] [PASSED] 4 VFs
[10:08:15] [PASSED] 5 VFs
[10:08:15] [PASSED] 6 VFs
[10:08:15] [PASSED] 7 VFs
[10:08:15] [PASSED] 8 VFs
[10:08:15] [PASSED] 9 VFs
[10:08:15] [PASSED] 10 VFs
[10:08:15] [PASSED] 11 VFs
[10:08:15] [PASSED] 12 VFs
[10:08:15] [PASSED] 13 VFs
[10:08:15] [PASSED] 14 VFs
[10:08:15] [PASSED] 15 VFs
[10:08:15] [PASSED] 16 VFs
[10:08:15] [PASSED] 17 VFs
[10:08:15] [PASSED] 18 VFs
[10:08:15] [PASSED] 19 VFs
[10:08:15] [PASSED] 20 VFs
[10:08:15] [PASSED] 21 VFs
[10:08:15] [PASSED] 22 VFs
[10:08:15] [PASSED] 23 VFs
[10:08:15] [PASSED] 24 VFs
[10:08:15] [PASSED] 25 VFs
[10:08:15] [PASSED] 26 VFs
[10:08:15] [PASSED] 27 VFs
[10:08:15] [PASSED] 28 VFs
[10:08:15] [PASSED] 29 VFs
[10:08:15] [PASSED] 30 VFs
[10:08:15] [PASSED] 31 VFs
[10:08:15] [PASSED] 32 VFs
[10:08:15] [PASSED] 33 VFs
[10:08:15] [PASSED] 34 VFs
[10:08:15] [PASSED] 35 VFs
[10:08:15] [PASSED] 36 VFs
[10:08:15] [PASSED] 37 VFs
[10:08:15] [PASSED] 38 VFs
[10:08:15] [PASSED] 39 VFs
[10:08:15] [PASSED] 40 VFs
[10:08:15] [PASSED] 41 VFs
[10:08:15] [PASSED] 42 VFs
[10:08:15] [PASSED] 43 VFs
[10:08:15] [PASSED] 44 VFs
[10:08:15] [PASSED] 45 VFs
[10:08:15] [PASSED] 46 VFs
[10:08:15] [PASSED] 47 VFs
[10:08:15] [PASSED] 48 VFs
[10:08:15] [PASSED] 49 VFs
[10:08:15] [PASSED] 50 VFs
[10:08:15] [PASSED] 51 VFs
[10:08:15] [PASSED] 52 VFs
[10:08:15] [PASSED] 53 VFs
[10:08:15] [PASSED] 54 VFs
[10:08:15] [PASSED] 55 VFs
[10:08:15] [PASSED] 56 VFs
[10:08:15] [PASSED] 57 VFs
[10:08:15] [PASSED] 58 VFs
[10:08:15] [PASSED] 59 VFs
[10:08:15] [PASSED] 60 VFs
[10:08:15] [PASSED] 61 VFs
[10:08:15] [PASSED] 62 VFs
[10:08:15] [PASSED] 63 VFs
[10:08:15] ================== [PASSED] fair_contexts ==================
[10:08:15] ===================== fair_doorbells ======================
[10:08:15] [PASSED] 1 VF
[10:08:15] [PASSED] 2 VFs
[10:08:15] [PASSED] 3 VFs
[10:08:15] [PASSED] 4 VFs
[10:08:15] [PASSED] 5 VFs
[10:08:15] [PASSED] 6 VFs
[10:08:15] [PASSED] 7 VFs
[10:08:15] [PASSED] 8 VFs
[10:08:15] [PASSED] 9 VFs
[10:08:15] [PASSED] 10 VFs
[10:08:15] [PASSED] 11 VFs
[10:08:15] [PASSED] 12 VFs
[10:08:15] [PASSED] 13 VFs
[10:08:15] [PASSED] 14 VFs
[10:08:15] [PASSED] 15 VFs
[10:08:15] [PASSED] 16 VFs
[10:08:15] [PASSED] 17 VFs
[10:08:15] [PASSED] 18 VFs
[10:08:15] [PASSED] 19 VFs
[10:08:15] [PASSED] 20 VFs
[10:08:15] [PASSED] 21 VFs
[10:08:15] [PASSED] 22 VFs
[10:08:15] [PASSED] 23 VFs
[10:08:15] [PASSED] 24 VFs
[10:08:15] [PASSED] 25 VFs
[10:08:15] [PASSED] 26 VFs
[10:08:15] [PASSED] 27 VFs
[10:08:15] [PASSED] 28 VFs
[10:08:15] [PASSED] 29 VFs
[10:08:15] [PASSED] 30 VFs
[10:08:15] [PASSED] 31 VFs
[10:08:15] [PASSED] 32 VFs
[10:08:15] [PASSED] 33 VFs
[10:08:15] [PASSED] 34 VFs
[10:08:15] [PASSED] 35 VFs
[10:08:15] [PASSED] 36 VFs
[10:08:15] [PASSED] 37 VFs
[10:08:15] [PASSED] 38 VFs
[10:08:15] [PASSED] 39 VFs
[10:08:15] [PASSED] 40 VFs
[10:08:15] [PASSED] 41 VFs
[10:08:15] [PASSED] 42 VFs
[10:08:15] [PASSED] 43 VFs
[10:08:15] [PASSED] 44 VFs
[10:08:15] [PASSED] 45 VFs
[10:08:15] [PASSED] 46 VFs
[10:08:15] [PASSED] 47 VFs
[10:08:15] [PASSED] 48 VFs
[10:08:15] [PASSED] 49 VFs
[10:08:15] [PASSED] 50 VFs
[10:08:15] [PASSED] 51 VFs
[10:08:15] [PASSED] 52 VFs
[10:08:15] [PASSED] 53 VFs
[10:08:15] [PASSED] 54 VFs
[10:08:15] [PASSED] 55 VFs
[10:08:15] [PASSED] 56 VFs
[10:08:15] [PASSED] 57 VFs
[10:08:15] [PASSED] 58 VFs
[10:08:15] [PASSED] 59 VFs
[10:08:15] [PASSED] 60 VFs
[10:08:15] [PASSED] 61 VFs
[10:08:15] [PASSED] 62 VFs
[10:08:15] [PASSED] 63 VFs
[10:08:15] ================= [PASSED] fair_doorbells ==================
[10:08:15] ======================== fair_ggtt ========================
[10:08:15] [PASSED] 1 VF
[10:08:15] [PASSED] 2 VFs
[10:08:15] [PASSED] 3 VFs
[10:08:15] [PASSED] 4 VFs
[10:08:15] [PASSED] 5 VFs
[10:08:15] [PASSED] 6 VFs
[10:08:15] [PASSED] 7 VFs
[10:08:15] [PASSED] 8 VFs
[10:08:15] [PASSED] 9 VFs
[10:08:15] [PASSED] 10 VFs
[10:08:15] [PASSED] 11 VFs
[10:08:15] [PASSED] 12 VFs
[10:08:15] [PASSED] 13 VFs
[10:08:15] [PASSED] 14 VFs
[10:08:15] [PASSED] 15 VFs
[10:08:15] [PASSED] 16 VFs
[10:08:15] [PASSED] 17 VFs
[10:08:15] [PASSED] 18 VFs
[10:08:15] [PASSED] 19 VFs
[10:08:15] [PASSED] 20 VFs
[10:08:15] [PASSED] 21 VFs
[10:08:15] [PASSED] 22 VFs
[10:08:15] [PASSED] 23 VFs
[10:08:15] [PASSED] 24 VFs
[10:08:15] [PASSED] 25 VFs
[10:08:15] [PASSED] 26 VFs
[10:08:15] [PASSED] 27 VFs
[10:08:15] [PASSED] 28 VFs
[10:08:15] [PASSED] 29 VFs
[10:08:15] [PASSED] 30 VFs
[10:08:15] [PASSED] 31 VFs
[10:08:15] [PASSED] 32 VFs
[10:08:15] [PASSED] 33 VFs
[10:08:15] [PASSED] 34 VFs
[10:08:15] [PASSED] 35 VFs
[10:08:15] [PASSED] 36 VFs
[10:08:15] [PASSED] 37 VFs
[10:08:15] [PASSED] 38 VFs
[10:08:15] [PASSED] 39 VFs
[10:08:15] [PASSED] 40 VFs
[10:08:15] [PASSED] 41 VFs
[10:08:15] [PASSED] 42 VFs
[10:08:15] [PASSED] 43 VFs
[10:08:15] [PASSED] 44 VFs
[10:08:15] [PASSED] 45 VFs
[10:08:15] [PASSED] 46 VFs
[10:08:15] [PASSED] 47 VFs
[10:08:15] [PASSED] 48 VFs
[10:08:15] [PASSED] 49 VFs
[10:08:15] [PASSED] 50 VFs
[10:08:15] [PASSED] 51 VFs
[10:08:15] [PASSED] 52 VFs
[10:08:15] [PASSED] 53 VFs
[10:08:15] [PASSED] 54 VFs
[10:08:15] [PASSED] 55 VFs
[10:08:15] [PASSED] 56 VFs
[10:08:15] [PASSED] 57 VFs
[10:08:15] [PASSED] 58 VFs
[10:08:15] [PASSED] 59 VFs
[10:08:15] [PASSED] 60 VFs
[10:08:15] [PASSED] 61 VFs
[10:08:15] [PASSED] 62 VFs
[10:08:15] [PASSED] 63 VFs
[10:08:15] ==================== [PASSED] fair_ggtt ====================
[10:08:15] ======================== fair_vram ========================
[10:08:15] [PASSED] 1 VF
[10:08:15] [PASSED] 2 VFs
[10:08:15] [PASSED] 3 VFs
[10:08:15] [PASSED] 4 VFs
[10:08:15] [PASSED] 5 VFs
[10:08:15] [PASSED] 6 VFs
[10:08:15] [PASSED] 7 VFs
[10:08:15] [PASSED] 8 VFs
[10:08:15] [PASSED] 9 VFs
[10:08:15] [PASSED] 10 VFs
[10:08:15] [PASSED] 11 VFs
[10:08:15] [PASSED] 12 VFs
[10:08:15] [PASSED] 13 VFs
[10:08:15] [PASSED] 14 VFs
[10:08:15] [PASSED] 15 VFs
[10:08:15] [PASSED] 16 VFs
[10:08:15] [PASSED] 17 VFs
[10:08:15] [PASSED] 18 VFs
[10:08:15] [PASSED] 19 VFs
[10:08:15] [PASSED] 20 VFs
[10:08:15] [PASSED] 21 VFs
[10:08:15] [PASSED] 22 VFs
[10:08:15] [PASSED] 23 VFs
[10:08:15] [PASSED] 24 VFs
[10:08:15] [PASSED] 25 VFs
[10:08:15] [PASSED] 26 VFs
[10:08:15] [PASSED] 27 VFs
[10:08:15] [PASSED] 28 VFs
[10:08:15] [PASSED] 29 VFs
[10:08:15] [PASSED] 30 VFs
[10:08:15] [PASSED] 31 VFs
[10:08:15] [PASSED] 32 VFs
[10:08:15] [PASSED] 33 VFs
[10:08:15] [PASSED] 34 VFs
[10:08:15] [PASSED] 35 VFs
[10:08:15] [PASSED] 36 VFs
[10:08:15] [PASSED] 37 VFs
[10:08:15] [PASSED] 38 VFs
[10:08:15] [PASSED] 39 VFs
[10:08:15] [PASSED] 40 VFs
[10:08:15] [PASSED] 41 VFs
[10:08:15] [PASSED] 42 VFs
[10:08:15] [PASSED] 43 VFs
[10:08:15] [PASSED] 44 VFs
[10:08:15] [PASSED] 45 VFs
[10:08:15] [PASSED] 46 VFs
[10:08:15] [PASSED] 47 VFs
[10:08:15] [PASSED] 48 VFs
[10:08:15] [PASSED] 49 VFs
[10:08:15] [PASSED] 50 VFs
[10:08:15] [PASSED] 51 VFs
[10:08:15] [PASSED] 52 VFs
[10:08:15] [PASSED] 53 VFs
[10:08:15] [PASSED] 54 VFs
[10:08:15] [PASSED] 55 VFs
[10:08:15] [PASSED] 56 VFs
[10:08:15] [PASSED] 57 VFs
[10:08:15] [PASSED] 58 VFs
[10:08:15] [PASSED] 59 VFs
[10:08:15] [PASSED] 60 VFs
[10:08:15] [PASSED] 61 VFs
[10:08:15] [PASSED] 62 VFs
[10:08:15] [PASSED] 63 VFs
[10:08:15] ==================== [PASSED] fair_vram ====================
[10:08:15] ================== [PASSED] pf_gt_config ===================
[10:08:15] ===================== lmtt (1 subtest) =====================
[10:08:15] ======================== test_ops =========================
[10:08:15] [PASSED] 2-level
[10:08:15] [PASSED] multi-level
[10:08:15] ==================== [PASSED] test_ops =====================
[10:08:15] ====================== [PASSED] lmtt =======================
[10:08:15] ================= sriov_packet (1 subtest) =================
[10:08:15] [PASSED] test_descriptor_init
[10:08:15] ================== [PASSED] sriov_packet ===================
[10:08:15] ================= pf_service (11 subtests) =================
[10:08:15] [PASSED] pf_negotiate_any
[10:08:15] [PASSED] pf_negotiate_base_match
[10:08:15] [PASSED] pf_negotiate_base_newer
[10:08:15] [PASSED] pf_negotiate_base_next
[10:08:15] [SKIPPED] pf_negotiate_base_older (no older minor)
[10:08:15] [PASSED] pf_negotiate_base_prev
[10:08:15] [PASSED] pf_negotiate_latest_match
[10:08:15] [PASSED] pf_negotiate_latest_newer
[10:08:15] [PASSED] pf_negotiate_latest_next
[10:08:15] [SKIPPED] pf_negotiate_latest_older (no older minor)
[10:08:15] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[10:08:15] =================== [PASSED] pf_service ====================
[10:08:15] ================= xe_guc_g2g (2 subtests) ==================
[10:08:15] ============== xe_live_guc_g2g_kunit_default ==============
[10:08:15] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[10:08:15] ============== xe_live_guc_g2g_kunit_allmem ===============
[10:08:15] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[10:08:15] =================== [SKIPPED] xe_guc_g2g ===================
[10:08:15] =================== xe_mocs (2 subtests) ===================
[10:08:15] ================ xe_live_mocs_kernel_kunit ================
[10:08:15] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[10:08:15] ================ xe_live_mocs_reset_kunit =================
[10:08:15] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[10:08:15] ==================== [SKIPPED] xe_mocs =====================
[10:08:15] ================= xe_migrate (3 subtests) ==================
[10:08:15] ================= xe_migrate_sanity_kunit =================
[10:08:15] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[10:08:15] ================== xe_validate_ccs_kunit ==================
[10:08:15] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[10:08:15] ============= xe_migrate_access_memory_kunit ==============
[10:08:15] ========= [SKIPPED] xe_migrate_access_memory_kunit =========
[10:08:15] =================== [SKIPPED] xe_migrate ===================
[10:08:15] ================== xe_dma_buf (1 subtest) ==================
[10:08:15] ==================== xe_dma_buf_kunit =====================
[10:08:15] ================ [SKIPPED] xe_dma_buf_kunit ================
[10:08:15] =================== [SKIPPED] xe_dma_buf ===================
[10:08:15] ================= xe_bo_shrink (1 subtest) =================
[10:08:15] =================== xe_bo_shrink_kunit ====================
[10:08:15] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[10:08:15] ================== [SKIPPED] xe_bo_shrink ==================
[10:08:15] ==================== xe_bo (2 subtests) ====================
[10:08:15] ================== xe_ccs_migrate_kunit ===================
[10:08:15] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[10:08:15] ==================== xe_bo_evict_kunit ====================
[10:08:15] =============== [SKIPPED] xe_bo_evict_kunit ================
[10:08:15] ===================== [SKIPPED] xe_bo ======================
[10:08:15] =================== xe_any (9 subtests) ====================
[10:08:15] [PASSED] test_to_xe
[10:08:15] [PASSED] test_to_dev
[10:08:15] [PASSED] test_to_pdev
[10:08:15] [PASSED] test_to_drm
[10:08:15] [PASSED] test_if_pdev
[10:08:15] [PASSED] test_if_xe
[10:08:15] [PASSED] test_if_tile
[10:08:15] [PASSED] test_if_gt
[10:08:15] [PASSED] test_to_id
[10:08:15] ===================== [PASSED] xe_any ======================
[10:08:15] ==================== args (13 subtests) ====================
[10:08:15] [PASSED] count_args_test
[10:08:15] [PASSED] call_args_example
[10:08:15] [PASSED] call_args_test
[10:08:15] [PASSED] drop_first_arg_example
[10:08:15] [PASSED] drop_first_arg_test
[10:08:15] [PASSED] first_arg_example
[10:08:15] [PASSED] first_arg_test
[10:08:15] [PASSED] last_arg_example
[10:08:15] [PASSED] last_arg_test
[10:08:15] [PASSED] pick_arg_example
[10:08:15] [PASSED] if_args_example
[10:08:15] [PASSED] if_args_test
[10:08:15] [PASSED] sep_comma_example
[10:08:15] ====================== [PASSED] args =======================
[10:08:15] =================== xe_pci (3 subtests) ====================
[10:08:15] ==================== check_graphics_ip ====================
[10:08:15] [PASSED] 12.00 Xe_LP
[10:08:15] [PASSED] 12.10 Xe_LP+
[10:08:15] [PASSED] 12.55 Xe_HPG
[10:08:15] [PASSED] 12.60 Xe_HPC
[10:08:15] [PASSED] 12.70 Xe_LPG
[10:08:15] [PASSED] 12.71 Xe_LPG
[10:08:15] [PASSED] 12.74 Xe_LPG+
[10:08:15] [PASSED] 20.01 Xe2_HPG
[10:08:15] [PASSED] 20.02 Xe2_HPG
[10:08:15] [PASSED] 20.04 Xe2_LPG
[10:08:15] [PASSED] 30.00 Xe3_LPG
[10:08:15] [PASSED] 30.01 Xe3_LPG
[10:08:15] [PASSED] 30.03 Xe3_LPG
[10:08:15] [PASSED] 30.04 Xe3_LPG
[10:08:15] [PASSED] 30.05 Xe3_LPG
[10:08:15] [PASSED] 35.10 Xe3p_LPG
[10:08:15] [PASSED] 35.11 Xe3p_XPC
[10:08:15] ================ [PASSED] check_graphics_ip ================
[10:08:15] ===================== check_media_ip ======================
[10:08:15] [PASSED] 12.00 Xe_M
[10:08:15] [PASSED] 12.55 Xe_HPM
[10:08:15] [PASSED] 13.00 Xe_LPM+
[10:08:15] [PASSED] 13.01 Xe2_HPM
[10:08:15] [PASSED] 20.00 Xe2_LPM
[10:08:15] [PASSED] 30.00 Xe3_LPM
[10:08:15] [PASSED] 30.02 Xe3_LPM
[10:08:15] [PASSED] 35.00 Xe3p_LPM
[10:08:15] [PASSED] 35.03 Xe3p_HPM
[10:08:15] ================= [PASSED] check_media_ip ==================
[10:08:15] =================== check_platform_desc ===================
[10:08:15] [PASSED] 0x9A60 (TIGERLAKE)
[10:08:15] [PASSED] 0x9A68 (TIGERLAKE)
[10:08:15] [PASSED] 0x9A70 (TIGERLAKE)
[10:08:15] [PASSED] 0x9A40 (TIGERLAKE)
[10:08:15] [PASSED] 0x9A49 (TIGERLAKE)
[10:08:15] [PASSED] 0x9A59 (TIGERLAKE)
[10:08:15] [PASSED] 0x9A78 (TIGERLAKE)
[10:08:15] [PASSED] 0x9AC0 (TIGERLAKE)
[10:08:15] [PASSED] 0x9AC9 (TIGERLAKE)
[10:08:15] [PASSED] 0x9AD9 (TIGERLAKE)
[10:08:15] [PASSED] 0x9AF8 (TIGERLAKE)
[10:08:15] [PASSED] 0x4C80 (ROCKETLAKE)
[10:08:15] [PASSED] 0x4C8A (ROCKETLAKE)
[10:08:15] [PASSED] 0x4C8B (ROCKETLAKE)
[10:08:15] [PASSED] 0x4C8C (ROCKETLAKE)
[10:08:15] [PASSED] 0x4C90 (ROCKETLAKE)
[10:08:15] [PASSED] 0x4C9A (ROCKETLAKE)
[10:08:15] [PASSED] 0x4680 (ALDERLAKE_S)
[10:08:15] [PASSED] 0x4682 (ALDERLAKE_S)
[10:08:15] [PASSED] 0x4688 (ALDERLAKE_S)
[10:08:15] [PASSED] 0x468A (ALDERLAKE_S)
[10:08:15] [PASSED] 0x468B (ALDERLAKE_S)
[10:08:15] [PASSED] 0x4690 (ALDERLAKE_S)
[10:08:15] [PASSED] 0x4692 (ALDERLAKE_S)
[10:08:15] [PASSED] 0x4693 (ALDERLAKE_S)
[10:08:15] [PASSED] 0x46A0 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46A1 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46A2 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46A3 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46A6 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46A8 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46AA (ALDERLAKE_P)
[10:08:15] [PASSED] 0x462A (ALDERLAKE_P)
[10:08:15] [PASSED] 0x4626 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x4628 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46B0 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46B1 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46B2 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46B3 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46C0 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46C1 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46C2 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46C3 (ALDERLAKE_P)
[10:08:15] [PASSED] 0x46D0 (ALDERLAKE_N)
[10:08:15] [PASSED] 0x46D1 (ALDERLAKE_N)
[10:08:15] [PASSED] 0x46D2 (ALDERLAKE_N)
[10:08:15] [PASSED] 0x46D3 (ALDERLAKE_N)
[10:08:15] [PASSED] 0x46D4 (ALDERLAKE_N)
[10:08:15] [PASSED] 0xA721 (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7A1 (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7A9 (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7AC (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7AD (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA720 (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7A0 (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7A8 (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7AA (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA7AB (ALDERLAKE_P)
[10:08:15] [PASSED] 0xA780 (ALDERLAKE_S)
[10:08:15] [PASSED] 0xA781 (ALDERLAKE_S)
[10:08:15] [PASSED] 0xA782 (ALDERLAKE_S)
[10:08:15] [PASSED] 0xA783 (ALDERLAKE_S)
[10:08:15] [PASSED] 0xA788 (ALDERLAKE_S)
[10:08:15] [PASSED] 0xA789 (ALDERLAKE_S)
[10:08:15] [PASSED] 0xA78A (ALDERLAKE_S)
[10:08:15] [PASSED] 0xA78B (ALDERLAKE_S)
[10:08:15] [PASSED] 0x4905 (DG1)
[10:08:15] [PASSED] 0x4906 (DG1)
[10:08:15] [PASSED] 0x4907 (DG1)
[10:08:15] [PASSED] 0x4908 (DG1)
[10:08:15] [PASSED] 0x4909 (DG1)
[10:08:15] [PASSED] 0x56C0 (DG2)
[10:08:15] [PASSED] 0x56C2 (DG2)
[10:08:15] [PASSED] 0x56C1 (DG2)
[10:08:15] [PASSED] 0x7D51 (METEORLAKE)
[10:08:15] [PASSED] 0x7DD1 (METEORLAKE)
[10:08:15] [PASSED] 0x7D41 (METEORLAKE)
[10:08:15] [PASSED] 0x7D67 (METEORLAKE)
[10:08:15] [PASSED] 0xB640 (METEORLAKE)
[10:08:15] [PASSED] 0x56A0 (DG2)
[10:08:15] [PASSED] 0x56A1 (DG2)
[10:08:15] [PASSED] 0x56A2 (DG2)
[10:08:15] [PASSED] 0x56BE (DG2)
[10:08:15] [PASSED] 0x56BF (DG2)
[10:08:15] [PASSED] 0x5690 (DG2)
[10:08:15] [PASSED] 0x5691 (DG2)
[10:08:15] [PASSED] 0x5692 (DG2)
[10:08:15] [PASSED] 0x56A5 (DG2)
[10:08:15] [PASSED] 0x56A6 (DG2)
[10:08:15] [PASSED] 0x56B0 (DG2)
[10:08:15] [PASSED] 0x56B1 (DG2)
[10:08:15] [PASSED] 0x56BA (DG2)
[10:08:15] [PASSED] 0x56BB (DG2)
[10:08:15] [PASSED] 0x56BC (DG2)
[10:08:15] [PASSED] 0x56BD (DG2)
[10:08:15] [PASSED] 0x5693 (DG2)
[10:08:15] [PASSED] 0x5694 (DG2)
[10:08:15] [PASSED] 0x5695 (DG2)
[10:08:15] [PASSED] 0x56A3 (DG2)
[10:08:15] [PASSED] 0x56A4 (DG2)
[10:08:15] [PASSED] 0x56B2 (DG2)
[10:08:15] [PASSED] 0x56B3 (DG2)
[10:08:15] [PASSED] 0x5696 (DG2)
[10:08:15] [PASSED] 0x5697 (DG2)
[10:08:15] [PASSED] 0xB69 (PVC)
[10:08:15] [PASSED] 0xB6E (PVC)
[10:08:15] [PASSED] 0xBD4 (PVC)
[10:08:15] [PASSED] 0xBD5 (PVC)
[10:08:15] [PASSED] 0xBD6 (PVC)
[10:08:15] [PASSED] 0xBD7 (PVC)
[10:08:15] [PASSED] 0xBD8 (PVC)
[10:08:15] [PASSED] 0xBD9 (PVC)
[10:08:15] [PASSED] 0xBDA (PVC)
[10:08:15] [PASSED] 0xBDB (PVC)
[10:08:15] [PASSED] 0xBE0 (PVC)
[10:08:15] [PASSED] 0xBE1 (PVC)
[10:08:15] [PASSED] 0xBE5 (PVC)
[10:08:15] [PASSED] 0x7D40 (METEORLAKE)
[10:08:15] [PASSED] 0x7D45 (METEORLAKE)
[10:08:15] [PASSED] 0x7D55 (METEORLAKE)
[10:08:15] [PASSED] 0x7D60 (METEORLAKE)
[10:08:15] [PASSED] 0x7DD5 (METEORLAKE)
[10:08:15] [PASSED] 0x6420 (LUNARLAKE)
[10:08:15] [PASSED] 0x64A0 (LUNARLAKE)
[10:08:15] [PASSED] 0x64B0 (LUNARLAKE)
[10:08:15] [PASSED] 0xE202 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE209 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE20B (BATTLEMAGE)
[10:08:15] [PASSED] 0xE20C (BATTLEMAGE)
[10:08:15] [PASSED] 0xE20D (BATTLEMAGE)
[10:08:15] [PASSED] 0xE210 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE211 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE212 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE216 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE220 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE221 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE222 (BATTLEMAGE)
[10:08:15] [PASSED] 0xE223 (BATTLEMAGE)
[10:08:15] [PASSED] 0xB080 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB081 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB082 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB083 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB084 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB085 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB086 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB087 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB08F (PANTHERLAKE)
[10:08:15] [PASSED] 0xB090 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB0A0 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB0A1 (PANTHERLAKE)
[10:08:15] [PASSED] 0xB0B0 (PANTHERLAKE)
[10:08:15] [PASSED] 0xFD80 (PANTHERLAKE)
[10:08:15] [PASSED] 0xFD81 (PANTHERLAKE)
[10:08:15] [PASSED] 0xD740 (NOVALAKE_S)
[10:08:15] [PASSED] 0xD741 (NOVALAKE_S)
[10:08:15] [PASSED] 0xD742 (NOVALAKE_S)
[10:08:15] [PASSED] 0xD743 (NOVALAKE_S)
[10:08:15] [PASSED] 0xD745 (NOVALAKE_S)
[10:08:15] [PASSED] 0xD74A (NOVALAKE_S)
[10:08:15] [PASSED] 0xD74B (NOVALAKE_S)
[10:08:15] [PASSED] 0x674C (CRESCENTISLAND)
[10:08:15] [PASSED] 0x674D (CRESCENTISLAND)
[10:08:15] [PASSED] 0x674E (CRESCENTISLAND)
[10:08:15] [PASSED] 0x674F (CRESCENTISLAND)
[10:08:15] [PASSED] 0x6750 (CRESCENTISLAND)
[10:08:15] [PASSED] 0x6751 (CRESCENTISLAND)
[10:08:15] [PASSED] 0x6752 (CRESCENTISLAND)
[10:08:15] [PASSED] 0xD750 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD751 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD752 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD753 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD754 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD755 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD756 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD757 (NOVALAKE_P)
[10:08:15] [PASSED] 0xD75F (NOVALAKE_P)
[10:08:15] =============== [PASSED] check_platform_desc ===============
[10:08:15] ===================== [PASSED] xe_pci ======================
[10:08:15] ============= xe_rtp_tables_test (5 subtests) ==============
[10:08:15] ================== xe_rtp_table_gt_test ===================
[10:08:15] [PASSED] gt_was/14011060649
[10:08:15] [PASSED] gt_was/14011059788
[10:08:15] [PASSED] gt_was/14015795083
[10:08:15] [PASSED] gt_was/16021867713
[10:08:15] [PASSED] gt_was/14019449301
[10:08:15] [PASSED] gt_was/16028005424
[10:08:15] [PASSED] gt_was/14026578760
[10:08:15] [PASSED] gt_was/1409420604
[10:08:15] [PASSED] gt_was/1408615072
[10:08:15] [PASSED] gt_was/22010523718
[10:08:15] [PASSED] gt_was/14011006942
[10:08:15] [PASSED] gt_was/14014830051
[10:08:15] [PASSED] gt_was/18018781329
[10:08:15] [PASSED] gt_was/1509235366
[10:08:15] [PASSED] gt_was/18018781329
[10:08:15] [PASSED] gt_was/16016694945
[10:08:15] [PASSED] gt_was/14018575942
[10:08:15] [PASSED] gt_was/22016670082
[10:08:15] [PASSED] gt_was/22016670082
[10:08:15] [PASSED] gt_was/14017421178
[10:08:15] [PASSED] gt_was/16025250150
[10:08:15] [PASSED] gt_was/14021871409
[10:08:15] [PASSED] gt_was/16021865536
[10:08:15] [PASSED] gt_was/14021486841
[10:08:15] [PASSED] gt_was/14025160223
[10:08:15] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[10:08:15] [PASSED] gt_was/14025635424
[10:08:15] [PASSED] gt_was/16028005424
[10:08:15] ============== [PASSED] xe_rtp_table_gt_test ===============
[10:08:15] ================== xe_rtp_table_gt_test ===================
[10:08:15] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[10:08:15] [PASSED] gt_tunings/Tuning: 32B Access Enable
[10:08:15] [PASSED] gt_tunings/Tuning: L3 cache
[10:08:15] [PASSED] gt_tunings/Tuning: L3 cache - media
[10:08:15] [PASSED] gt_tunings/Tuning: Compression Overfetch
[10:08:15] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[10:08:15] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[10:08:15] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[10:08:15] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[10:08:15] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[10:08:15] [PASSED] gt_tunings/Tuning: Stateless compression control
[10:08:15] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[10:08:15] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[10:08:15] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[10:08:15] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[10:08:15] [PASSED] gt_tunings/Tuning: Force All Non-Compressible Memory Reads to be 256B Overfetches
[10:08:15] ============== [PASSED] xe_rtp_table_gt_test ===============
[10:08:15] ================== xe_rtp_table_oob_test ==================
[10:08:15] [PASSED] oob_was/1607983814
[10:08:15] [PASSED] oob_was/16010904313
[10:08:15] [PASSED] oob_was/18022495364
[10:08:15] [PASSED] oob_was/22012773006
[10:08:15] [PASSED] oob_was/14014475959
[10:08:15] [PASSED] oob_was/22011391025
[10:08:15] [PASSED] oob_was/22012727170
[10:08:15] [PASSED] oob_was/22012727685
[10:08:15] [PASSED] oob_was/22016596838
[10:08:15] [PASSED] oob_was/18020744125
[10:08:15] [PASSED] oob_was/1409600907
[10:08:15] [PASSED] oob_was/22014953428
[10:08:15] [PASSED] oob_was/16017236439
[10:08:15] [PASSED] oob_was/14019821291
[10:08:15] [PASSED] oob_was/14015076503
[10:08:15] [PASSED] oob_was/22016122933
[10:08:15] [PASSED] oob_was/14018913170
[10:08:15] [PASSED] oob_was/14018094691
[10:08:15] [PASSED] oob_was/18024947630
[10:08:15] [PASSED] oob_was/16022287689
[10:08:15] [PASSED] oob_was/13011645652
[10:08:15] [PASSED] oob_was/14022293748
[10:08:15] [PASSED] oob_was/22019794406
[10:08:15] [PASSED] oob_was/22019338487
[10:08:15] [PASSED] oob_was/16023588340
[10:08:15] [PASSED] oob_was/14019789679
[10:08:15] [PASSED] oob_was/14022866841
[10:08:15] [PASSED] oob_was/16021333562
[10:08:15] [PASSED] oob_was/14016712196
[10:08:15] [PASSED] oob_was/14015568240
[10:08:15] [PASSED] oob_was/18013179988
[10:08:15] [PASSED] oob_was/1508761755
[10:08:15] [PASSED] oob_was/16023105232
[10:08:15] [PASSED] oob_was/16026508708
[10:08:15] [PASSED] oob_was/14020001231
[10:08:15] [PASSED] oob_was/16023683509
[10:08:15] [PASSED] oob_was/14025515070
[10:08:15] [PASSED] oob_was/15015404425_disable
[10:08:15] [PASSED] oob_was/16026007364
[10:08:15] [PASSED] oob_was/14020316580
[10:08:15] [PASSED] oob_was/14025883347
[10:08:15] [PASSED] oob_was/16029380221
[10:08:15] [PASSED] oob_was/22022079272
[10:08:15] [PASSED] oob_was/16029897822
[10:08:15] [PASSED] oob_was/14026539277
[10:08:15] [PASSED] oob_was/14027054324
[10:08:15] [PASSED] oob_was/14025941587
[10:08:15] [PASSED] oob_was/16030224309
[10:08:15] ============== [PASSED] xe_rtp_table_oob_test ==============
[10:08:15] ================ xe_rtp_table_dev_oob_test ================
[10:08:15] [PASSED] device_oob_was/22010954014
[10:08:15] [PASSED] device_oob_was/15015404425
[10:08:15] [PASSED] device_oob_was/22019338487_display
[10:08:15] [PASSED] device_oob_was/14022085890
[10:08:15] [PASSED] device_oob_was/14026633728
[10:08:15] [PASSED] device_oob_was/14026746987
[10:08:15] [PASSED] device_oob_was/14026779378
[10:08:15] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[10:08:15] ========== xe_rtp_table_missing_upper_bound_test ==========
[10:08:15] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[10:08:15] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[10:08:15] [PASSED] register_whitelist/1806527549
[10:08:15] [PASSED] register_whitelist/allow_read_ctx_timestamp
[10:08:15] [PASSED] register_whitelist/allow_read_queue_timestamp
[10:08:15] [PASSED] register_whitelist/16014440446
[10:08:15] [PASSED] register_whitelist/16017236439
[10:08:15] [PASSED] register_whitelist/16020183090
[10:08:15] [PASSED] register_whitelist/14024997852
[10:08:15] [PASSED] register_whitelist/14024997852
[10:08:15] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[10:08:15] =============== [PASSED] xe_rtp_tables_test ================
[10:08:15] =================== xe_rtp (3 subtests) ====================
[10:08:15] =================== xe_rtp_rules_tests ====================
[10:08:15] [PASSED] no
[10:08:15] [PASSED] yes
[10:08:15] [PASSED] no-and-no
[10:08:15] [PASSED] no-and-yes
[10:08:15] [PASSED] yes-and-no
[10:08:15] [PASSED] yes-and-yes
[10:08:15] [PASSED] no-or-no
[10:08:15] [PASSED] no-or-yes
[10:08:15] [PASSED] yes-or-no
[10:08:15] [PASSED] yes-or-yes
[10:08:15] [PASSED] no-yes-or-yes-no
[10:08:15] [PASSED] no-yes-or-yes-yes
[10:08:15] [PASSED] yes-yes-or-no-yes
[10:08:15] [PASSED] yes-yes-or-yes-yes
[10:08:15] [PASSED] no-no-or-yes-or-no
[10:08:15] [PASSED] or
[10:08:15] [PASSED] or-yes
[10:08:15] [PASSED] or-no
[10:08:15] [PASSED] yes-or
[10:08:15] [PASSED] no-or
[10:08:15] [PASSED] no-or-or-yes
[10:08:15] [PASSED] yes-or-or-no
[10:08:15] [PASSED] no-or-or-no
[10:08:15] [PASSED] missing-context-engine-class
[10:08:15] [PASSED] missing-context-engine-class-or-yes
[10:08:15] [PASSED] missing-context-engine-class-or-or-yes
[10:08:15] =============== [PASSED] xe_rtp_rules_tests ================
[10:08:15] =============== xe_rtp_process_to_sr_tests ================
[10:08:15] [PASSED] coalesce-same-reg
[10:08:15] [PASSED] coalesce-same-reg-literal-and-func
[10:08:15] [PASSED] no-match-no-add
[10:08:15] [PASSED] two-regs-two-entries
[10:08:15] [PASSED] clr-one-set-other
[10:08:15] [PASSED] set-field
[10:08:15] [PASSED] conflict-duplicate
[10:08:15] [PASSED] conflict-not-disjoint
[10:08:15] [PASSED] conflict-not-disjoint-literal-and-func
[10:08:15] [PASSED] conflict-reg-type
[10:08:15] [PASSED] bad-mcr-reg-forced-to-regular
[10:08:15] [PASSED] bad-regular-reg-forced-to-mcr
[10:08:15] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[10:08:15] ================== xe_rtp_process_tests ===================
[10:08:15] [PASSED] active1
[10:08:15] [PASSED] active2
[10:08:15] [PASSED] active-inactive
[10:08:15] [PASSED] inactive-active
[10:08:15] [PASSED] inactive-active-inactive
[10:08:15] [PASSED] inactive-inactive-inactive
[10:08:15] ============== [PASSED] xe_rtp_process_tests ===============
[10:08:15] ===================== [PASSED] xe_rtp ======================
[10:08:15] ==================== xe_wa (1 subtest) =====================
[10:08:15] ======================== xe_wa_gt =========================
[10:08:15] [PASSED] TIGERLAKE B0
[10:08:15] [PASSED] DG1 A0
[10:08:15] [PASSED] DG1 B0
[10:08:15] [PASSED] ALDERLAKE_S A0
[10:08:15] [PASSED] ALDERLAKE_S B0
[10:08:15] [PASSED] ALDERLAKE_S C0
[10:08:15] [PASSED] ALDERLAKE_S D0
[10:08:15] [PASSED] ALDERLAKE_P A0
[10:08:15] [PASSED] ALDERLAKE_P B0
[10:08:15] [PASSED] ALDERLAKE_P C0
[10:08:15] [PASSED] ALDERLAKE_S RPLS D0
[10:08:15] [PASSED] ALDERLAKE_P RPLU E0
[10:08:15] [PASSED] DG2 G10 C0
[10:08:15] [PASSED] DG2 G11 B1
[10:08:15] [PASSED] DG2 G12 A1
[10:08:15] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[10:08:15] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[10:08:15] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[10:08:15] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[10:08:15] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[10:08:15] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[10:08:15] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[10:08:15] ==================== [PASSED] xe_wa_gt =====================
[10:08:15] ====================== [PASSED] xe_wa ======================
[10:08:15] ============================================================
[10:08:15] Testing complete. Ran 839 tests: passed: 810, skipped: 29
[10:08:15] Elapsed time: 41.175s total, 1.874s configuring, 38.535s building, 0.720s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[10:08:15] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:08:17] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[10:08:42] Starting KUnit Kernel (1/1)...
[10:08:42] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:08:42] ============ drm_test_pick_cmdline (2 subtests) ============
[10:08:42] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[10:08:42] =============== drm_test_pick_cmdline_named ===============
[10:08:42] [PASSED] NTSC
[10:08:42] [PASSED] NTSC-J
[10:08:42] [PASSED] PAL
[10:08:42] [PASSED] PAL-M
[10:08:42] =========== [PASSED] drm_test_pick_cmdline_named ===========
[10:08:42] ============== [PASSED] drm_test_pick_cmdline ==============
[10:08:42] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[10:08:42] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[10:08:42] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[10:08:42] =========== drm_validate_clone_mode (2 subtests) ===========
[10:08:42] ============== drm_test_check_in_clone_mode ===============
[10:08:42] [PASSED] in_clone_mode
[10:08:42] [PASSED] not_in_clone_mode
[10:08:42] ========== [PASSED] drm_test_check_in_clone_mode ===========
[10:08:42] =============== drm_test_check_valid_clones ===============
[10:08:42] [PASSED] not_in_clone_mode
[10:08:42] [PASSED] valid_clone
[10:08:42] [PASSED] invalid_clone
[10:08:42] =========== [PASSED] drm_test_check_valid_clones ===========
[10:08:42] ============= [PASSED] drm_validate_clone_mode =============
[10:08:42] ============= drm_validate_modeset (1 subtest) =============
[10:08:42] [PASSED] drm_test_check_connector_changed_modeset
[10:08:42] ============== [PASSED] drm_validate_modeset ===============
[10:08:42] ====== drm_test_bridge_get_current_state (1 subtest) =======
[10:08:42] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[10:08:42] ======== [PASSED] drm_test_bridge_get_current_state ========
[10:08:42] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[10:08:42] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[10:08:42] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[10:08:42] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[10:08:42] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[10:08:42] ============== drm_bridge_alloc (2 subtests) ===============
[10:08:42] [PASSED] drm_test_drm_bridge_alloc_basic
[10:08:42] [PASSED] drm_test_drm_bridge_alloc_get_put
[10:08:42] ================ [PASSED] drm_bridge_alloc =================
[10:08:42] ============= drm_bridge_bus_fmt (5 subtests) ==============
[10:08:42] [PASSED] drm_test_bridge_rgb_yuv_rgb
[10:08:42] [PASSED] drm_test_bridge_must_convert_to_yuv444
[10:08:42] [PASSED] drm_test_bridge_hdmi_auto_rgb
[10:08:42] [PASSED] drm_test_bridge_auto_first
[10:08:42] [PASSED] drm_test_bridge_rgb_yuv_no_path
[10:08:42] =============== [PASSED] drm_bridge_bus_fmt ================
[10:08:42] ============= drm_cmdline_parser (40 subtests) =============
[10:08:42] [PASSED] drm_test_cmdline_force_d_only
[10:08:42] [PASSED] drm_test_cmdline_force_D_only_dvi
[10:08:42] [PASSED] drm_test_cmdline_force_D_only_hdmi
[10:08:42] [PASSED] drm_test_cmdline_force_D_only_not_digital
[10:08:42] [PASSED] drm_test_cmdline_force_e_only
[10:08:42] [PASSED] drm_test_cmdline_res
[10:08:42] [PASSED] drm_test_cmdline_res_vesa
[10:08:42] [PASSED] drm_test_cmdline_res_vesa_rblank
[10:08:42] [PASSED] drm_test_cmdline_res_rblank
[10:08:42] [PASSED] drm_test_cmdline_res_bpp
[10:08:42] [PASSED] drm_test_cmdline_res_refresh
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[10:08:42] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[10:08:42] [PASSED] drm_test_cmdline_res_margins_force_on
[10:08:42] [PASSED] drm_test_cmdline_res_vesa_margins
[10:08:42] [PASSED] drm_test_cmdline_name
[10:08:42] [PASSED] drm_test_cmdline_name_bpp
[10:08:42] [PASSED] drm_test_cmdline_name_option
[10:08:42] [PASSED] drm_test_cmdline_name_bpp_option
[10:08:42] [PASSED] drm_test_cmdline_rotate_0
[10:08:42] [PASSED] drm_test_cmdline_rotate_90
[10:08:42] [PASSED] drm_test_cmdline_rotate_180
[10:08:42] [PASSED] drm_test_cmdline_rotate_270
[10:08:42] [PASSED] drm_test_cmdline_hmirror
[10:08:42] [PASSED] drm_test_cmdline_vmirror
[10:08:42] [PASSED] drm_test_cmdline_margin_options
[10:08:42] [PASSED] drm_test_cmdline_multiple_options
[10:08:42] [PASSED] drm_test_cmdline_bpp_extra_and_option
[10:08:42] [PASSED] drm_test_cmdline_extra_and_option
[10:08:42] [PASSED] drm_test_cmdline_freestanding_options
[10:08:42] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[10:08:42] [PASSED] drm_test_cmdline_panel_orientation
[10:08:42] ================ drm_test_cmdline_invalid =================
[10:08:42] [PASSED] margin_only
[10:08:42] [PASSED] interlace_only
[10:08:42] [PASSED] res_missing_x
[10:08:42] [PASSED] res_missing_y
[10:08:42] [PASSED] res_bad_y
[10:08:42] [PASSED] res_missing_y_bpp
[10:08:42] [PASSED] res_bad_bpp
[10:08:42] [PASSED] res_bad_refresh
[10:08:42] [PASSED] res_bpp_refresh_force_on_off
[10:08:42] [PASSED] res_invalid_mode
[10:08:42] [PASSED] res_bpp_wrong_place_mode
[10:08:42] [PASSED] name_bpp_refresh
[10:08:42] [PASSED] name_refresh
[10:08:42] [PASSED] name_refresh_wrong_mode
[10:08:42] [PASSED] name_refresh_invalid_mode
[10:08:42] [PASSED] rotate_multiple
[10:08:42] [PASSED] rotate_invalid_val
[10:08:42] [PASSED] rotate_truncated
[10:08:42] [PASSED] invalid_option
[10:08:42] [PASSED] invalid_tv_option
[10:08:42] [PASSED] truncated_tv_option
[10:08:42] ============ [PASSED] drm_test_cmdline_invalid =============
[10:08:42] =============== drm_test_cmdline_tv_options ===============
[10:08:42] [PASSED] NTSC
[10:08:42] [PASSED] NTSC_443
[10:08:42] [PASSED] NTSC_J
[10:08:42] [PASSED] PAL
[10:08:42] [PASSED] PAL_M
[10:08:42] [PASSED] PAL_N
[10:08:42] [PASSED] SECAM
[10:08:42] [PASSED] MONO_525
[10:08:42] [PASSED] MONO_625
[10:08:42] =========== [PASSED] drm_test_cmdline_tv_options ===========
[10:08:42] =============== [PASSED] drm_cmdline_parser ================
[10:08:42] ========== drmm_connector_hdmi_init (20 subtests) ==========
[10:08:42] [PASSED] drm_test_connector_hdmi_init_valid
[10:08:42] [PASSED] drm_test_connector_hdmi_init_bpc_8
[10:08:42] [PASSED] drm_test_connector_hdmi_init_bpc_10
[10:08:42] [PASSED] drm_test_connector_hdmi_init_bpc_12
[10:08:42] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[10:08:42] [PASSED] drm_test_connector_hdmi_init_bpc_null
[10:08:42] [PASSED] drm_test_connector_hdmi_init_formats_empty
[10:08:42] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[10:08:42] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[10:08:42] [PASSED] supported_formats=0x9 yuv420_allowed=1
[10:08:42] [PASSED] supported_formats=0x9 yuv420_allowed=0
[10:08:42] [PASSED] supported_formats=0x5 yuv420_allowed=1
[10:08:42] [PASSED] supported_formats=0x5 yuv420_allowed=0
[10:08:42] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[10:08:42] [PASSED] drm_test_connector_hdmi_init_null_ddc
[10:08:42] [PASSED] drm_test_connector_hdmi_init_null_product
[10:08:42] [PASSED] drm_test_connector_hdmi_init_null_vendor
[10:08:42] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[10:08:42] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[10:08:42] [PASSED] drm_test_connector_hdmi_init_product_valid
[10:08:42] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[10:08:42] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[10:08:42] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[10:08:42] ========= drm_test_connector_hdmi_init_type_valid =========
[10:08:42] [PASSED] HDMI-A
[10:08:42] [PASSED] HDMI-B
[10:08:42] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[10:08:42] ======== drm_test_connector_hdmi_init_type_invalid ========
[10:08:42] [PASSED] Unknown
[10:08:42] [PASSED] VGA
[10:08:42] [PASSED] DVI-I
[10:08:42] [PASSED] DVI-D
[10:08:42] [PASSED] DVI-A
[10:08:42] [PASSED] Composite
[10:08:42] [PASSED] SVIDEO
[10:08:42] [PASSED] LVDS
[10:08:42] [PASSED] Component
[10:08:42] [PASSED] DIN
[10:08:42] [PASSED] DP
[10:08:42] [PASSED] TV
[10:08:42] [PASSED] eDP
[10:08:42] [PASSED] Virtual
[10:08:42] [PASSED] DSI
[10:08:42] [PASSED] DPI
[10:08:42] [PASSED] Writeback
[10:08:42] [PASSED] SPI
[10:08:42] [PASSED] USB
[10:08:42] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[10:08:42] ============ [PASSED] drmm_connector_hdmi_init =============
[10:08:42] ============= drmm_connector_init (3 subtests) =============
[10:08:42] [PASSED] drm_test_drmm_connector_init
[10:08:42] [PASSED] drm_test_drmm_connector_init_null_ddc
[10:08:42] ========= drm_test_drmm_connector_init_type_valid =========
[10:08:42] [PASSED] Unknown
[10:08:42] [PASSED] VGA
[10:08:42] [PASSED] DVI-I
[10:08:42] [PASSED] DVI-D
[10:08:42] [PASSED] DVI-A
[10:08:42] [PASSED] Composite
[10:08:42] [PASSED] SVIDEO
[10:08:42] [PASSED] LVDS
[10:08:42] [PASSED] Component
[10:08:42] [PASSED] DIN
[10:08:42] [PASSED] DP
[10:08:42] [PASSED] HDMI-A
[10:08:42] [PASSED] HDMI-B
[10:08:42] [PASSED] TV
[10:08:42] [PASSED] eDP
[10:08:42] [PASSED] Virtual
[10:08:42] [PASSED] DSI
[10:08:42] [PASSED] DPI
[10:08:42] [PASSED] Writeback
[10:08:42] [PASSED] SPI
[10:08:42] [PASSED] USB
[10:08:42] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[10:08:42] =============== [PASSED] drmm_connector_init ===============
[10:08:42] ========= drm_connector_dynamic_init (6 subtests) ==========
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_init
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_init_properties
[10:08:42] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[10:08:42] [PASSED] Unknown
[10:08:42] [PASSED] VGA
[10:08:42] [PASSED] DVI-I
[10:08:42] [PASSED] DVI-D
[10:08:42] [PASSED] DVI-A
[10:08:42] [PASSED] Composite
[10:08:42] [PASSED] SVIDEO
[10:08:42] [PASSED] LVDS
[10:08:42] [PASSED] Component
[10:08:42] [PASSED] DIN
[10:08:42] [PASSED] DP
[10:08:42] [PASSED] HDMI-A
[10:08:42] [PASSED] HDMI-B
[10:08:42] [PASSED] TV
[10:08:42] [PASSED] eDP
[10:08:42] [PASSED] Virtual
[10:08:42] [PASSED] DSI
[10:08:42] [PASSED] DPI
[10:08:42] [PASSED] Writeback
[10:08:42] [PASSED] SPI
[10:08:42] [PASSED] USB
[10:08:42] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[10:08:42] ======== drm_test_drm_connector_dynamic_init_name =========
[10:08:42] [PASSED] Unknown
[10:08:42] [PASSED] VGA
[10:08:42] [PASSED] DVI-I
[10:08:42] [PASSED] DVI-D
[10:08:42] [PASSED] DVI-A
[10:08:42] [PASSED] Composite
[10:08:42] [PASSED] SVIDEO
[10:08:42] [PASSED] LVDS
[10:08:42] [PASSED] Component
[10:08:42] [PASSED] DIN
[10:08:42] [PASSED] DP
[10:08:42] [PASSED] HDMI-A
[10:08:42] [PASSED] HDMI-B
[10:08:42] [PASSED] TV
[10:08:42] [PASSED] eDP
[10:08:42] [PASSED] Virtual
[10:08:42] [PASSED] DSI
[10:08:42] [PASSED] DPI
[10:08:42] [PASSED] Writeback
[10:08:42] [PASSED] SPI
[10:08:42] [PASSED] USB
[10:08:42] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[10:08:42] =========== [PASSED] drm_connector_dynamic_init ============
[10:08:42] ==== drm_connector_dynamic_register_early (4 subtests) =====
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[10:08:42] ====== [PASSED] drm_connector_dynamic_register_early =======
[10:08:42] ======= drm_connector_dynamic_register (7 subtests) ========
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[10:08:42] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[10:08:42] ========= [PASSED] drm_connector_dynamic_register ==========
[10:08:42] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[10:08:42] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[10:08:42] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[10:08:42] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[10:08:42] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[10:08:42] ========== drm_test_get_tv_mode_from_name_valid ===========
[10:08:42] [PASSED] NTSC
[10:08:42] [PASSED] NTSC-443
[10:08:42] [PASSED] NTSC-J
[10:08:42] [PASSED] PAL
[10:08:42] [PASSED] PAL-M
[10:08:42] [PASSED] PAL-N
[10:08:42] [PASSED] SECAM
[10:08:42] [PASSED] Mono
[10:08:42] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[10:08:42] [PASSED] drm_test_get_tv_mode_from_name_truncated
[10:08:42] ============ [PASSED] drm_get_tv_mode_from_name ============
[10:08:42] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[10:08:42] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[10:08:42] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[10:08:42] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[10:08:42] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[10:08:42] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[10:08:42] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[10:08:42] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[10:08:42] [PASSED] VIC 96
[10:08:42] [PASSED] VIC 97
[10:08:42] [PASSED] VIC 101
[10:08:42] [PASSED] VIC 102
[10:08:42] [PASSED] VIC 106
[10:08:42] [PASSED] VIC 107
[10:08:42] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[10:08:42] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[10:08:42] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[10:08:42] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[10:08:42] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[10:08:42] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[10:08:42] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[10:08:42] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[10:08:42] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[10:08:42] [PASSED] Automatic
[10:08:42] [PASSED] Full
[10:08:42] [PASSED] Limited 16:235
[10:08:42] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[10:08:42] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[10:08:42] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[10:08:42] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[10:08:42] === drm_test_drm_hdmi_connector_get_output_format_name ====
[10:08:42] [PASSED] RGB
[10:08:42] [PASSED] YUV 4:2:0
[10:08:42] [PASSED] YUV 4:2:2
[10:08:42] [PASSED] YUV 4:4:4
[10:08:42] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[10:08:42] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[10:08:42] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[10:08:42] ============= drm_damage_helper (21 subtests) ==============
[10:08:42] [PASSED] drm_test_damage_iter_no_damage
[10:08:42] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[10:08:42] [PASSED] drm_test_damage_iter_no_damage_src_moved
[10:08:42] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[10:08:42] [PASSED] drm_test_damage_iter_no_damage_not_visible
[10:08:42] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[10:08:42] [PASSED] drm_test_damage_iter_no_damage_no_fb
[10:08:42] [PASSED] drm_test_damage_iter_simple_damage
[10:08:42] [PASSED] drm_test_damage_iter_single_damage
[10:08:42] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[10:08:42] [PASSED] drm_test_damage_iter_single_damage_outside_src
[10:08:42] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[10:08:42] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[10:08:42] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[10:08:42] [PASSED] drm_test_damage_iter_single_damage_src_moved
[10:08:42] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[10:08:42] [PASSED] drm_test_damage_iter_damage
[10:08:42] [PASSED] drm_test_damage_iter_damage_one_intersect
[10:08:42] [PASSED] drm_test_damage_iter_damage_one_outside
[10:08:42] [PASSED] drm_test_damage_iter_damage_src_moved
[10:08:42] [PASSED] drm_test_damage_iter_damage_not_visible
[10:08:42] ================ [PASSED] drm_damage_helper ================
[10:08:42] ============== drm_dp_mst_helper (3 subtests) ==============
[10:08:42] ============== drm_test_dp_mst_calc_pbn_mode ==============
[10:08:42] [PASSED] Clock 154000 BPP 30 DSC disabled
[10:08:42] [PASSED] Clock 234000 BPP 30 DSC disabled
[10:08:42] [PASSED] Clock 297000 BPP 24 DSC disabled
[10:08:42] [PASSED] Clock 332880 BPP 24 DSC enabled
[10:08:42] [PASSED] Clock 324540 BPP 24 DSC enabled
[10:08:42] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[10:08:42] ============== drm_test_dp_mst_calc_pbn_div ===============
[10:08:42] [PASSED] Link rate 2000000 lane count 4
[10:08:42] [PASSED] Link rate 2000000 lane count 2
[10:08:42] [PASSED] Link rate 2000000 lane count 1
[10:08:42] [PASSED] Link rate 1350000 lane count 4
[10:08:42] [PASSED] Link rate 1350000 lane count 2
[10:08:42] [PASSED] Link rate 1350000 lane count 1
[10:08:42] [PASSED] Link rate 1000000 lane count 4
[10:08:42] [PASSED] Link rate 1000000 lane count 2
[10:08:42] [PASSED] Link rate 1000000 lane count 1
[10:08:42] [PASSED] Link rate 810000 lane count 4
[10:08:42] [PASSED] Link rate 810000 lane count 2
[10:08:42] [PASSED] Link rate 810000 lane count 1
[10:08:42] [PASSED] Link rate 540000 lane count 4
[10:08:42] [PASSED] Link rate 540000 lane count 2
[10:08:42] [PASSED] Link rate 540000 lane count 1
[10:08:42] [PASSED] Link rate 270000 lane count 4
[10:08:42] [PASSED] Link rate 270000 lane count 2
[10:08:42] [PASSED] Link rate 270000 lane count 1
[10:08:42] [PASSED] Link rate 162000 lane count 4
[10:08:42] [PASSED] Link rate 162000 lane count 2
[10:08:42] [PASSED] Link rate 162000 lane count 1
[10:08:42] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[10:08:42] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[10:08:42] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[10:08:42] [PASSED] DP_POWER_UP_PHY with port number
[10:08:42] [PASSED] DP_POWER_DOWN_PHY with port number
[10:08:42] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[10:08:42] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[10:08:42] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[10:08:42] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[10:08:42] [PASSED] DP_QUERY_PAYLOAD with port number
[10:08:42] [PASSED] DP_QUERY_PAYLOAD with VCPI
[10:08:42] [PASSED] DP_REMOTE_DPCD_READ with port number
[10:08:42] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[10:08:42] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[10:08:42] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[10:08:42] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[10:08:42] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[10:08:42] [PASSED] DP_REMOTE_I2C_READ with port number
[10:08:42] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[10:08:42] [PASSED] DP_REMOTE_I2C_READ with transactions array
[10:08:42] [PASSED] DP_REMOTE_I2C_WRITE with port number
[10:08:42] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[10:08:42] [PASSED] DP_REMOTE_I2C_WRITE with data array
[10:08:42] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[10:08:42] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[10:08:42] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[10:08:42] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[10:08:42] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[10:08:42] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[10:08:42] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[10:08:42] ================ [PASSED] drm_dp_mst_helper ================
[10:08:42] ================== drm_exec (7 subtests) ===================
[10:08:42] [PASSED] sanitycheck
[10:08:42] [PASSED] test_lock
[10:08:42] [PASSED] test_lock_unlock
[10:08:42] [PASSED] test_duplicates
[10:08:42] [PASSED] test_prepare
[10:08:42] [PASSED] test_prepare_array
[10:08:42] [PASSED] test_multiple_loops
[10:08:42] ==================== [PASSED] drm_exec =====================
[10:08:42] =========== drm_format_helper_test (17 subtests) ===========
[10:08:42] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[10:08:42] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[10:08:42] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[10:08:42] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[10:08:42] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[10:08:42] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[10:08:42] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[10:08:42] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[10:08:42] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[10:08:42] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[10:08:42] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[10:08:42] ============== drm_test_fb_xrgb8888_to_mono ===============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[10:08:42] ==================== drm_test_fb_swab =====================
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ================ [PASSED] drm_test_fb_swab =================
[10:08:42] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[10:08:42] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[10:08:42] [PASSED] single_pixel_source_buffer
[10:08:42] [PASSED] single_pixel_clip_rectangle
[10:08:42] [PASSED] well_known_colors
[10:08:42] [PASSED] destination_pitch
[10:08:42] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[10:08:42] ================= drm_test_fb_clip_offset =================
[10:08:42] [PASSED] pass through
[10:08:42] [PASSED] horizontal offset
[10:08:42] [PASSED] vertical offset
[10:08:42] [PASSED] horizontal and vertical offset
[10:08:42] [PASSED] horizontal offset (custom pitch)
[10:08:42] [PASSED] vertical offset (custom pitch)
[10:08:42] [PASSED] horizontal and vertical offset (custom pitch)
[10:08:42] ============= [PASSED] drm_test_fb_clip_offset =============
[10:08:42] =================== drm_test_fb_memcpy ====================
[10:08:42] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[10:08:42] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[10:08:42] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[10:08:42] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[10:08:42] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[10:08:42] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[10:08:42] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[10:08:42] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[10:08:42] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[10:08:42] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[10:08:42] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[10:08:42] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[10:08:42] =============== [PASSED] drm_test_fb_memcpy ================
[10:08:42] ============= [PASSED] drm_format_helper_test ==============
[10:08:42] ================= drm_format (18 subtests) =================
[10:08:42] [PASSED] drm_test_format_block_width_invalid
[10:08:42] [PASSED] drm_test_format_block_width_one_plane
[10:08:42] [PASSED] drm_test_format_block_width_two_plane
[10:08:42] [PASSED] drm_test_format_block_width_three_plane
[10:08:42] [PASSED] drm_test_format_block_width_tiled
[10:08:42] [PASSED] drm_test_format_block_height_invalid
[10:08:42] [PASSED] drm_test_format_block_height_one_plane
[10:08:42] [PASSED] drm_test_format_block_height_two_plane
[10:08:42] [PASSED] drm_test_format_block_height_three_plane
[10:08:42] [PASSED] drm_test_format_block_height_tiled
[10:08:42] [PASSED] drm_test_format_min_pitch_invalid
[10:08:42] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[10:08:42] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[10:08:42] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[10:08:42] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[10:08:42] [PASSED] drm_test_format_min_pitch_two_plane
[10:08:42] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[10:08:42] [PASSED] drm_test_format_min_pitch_tiled
[10:08:42] =================== [PASSED] drm_format ====================
[10:08:42] ============== drm_framebuffer (10 subtests) ===============
[10:08:42] ========== drm_test_framebuffer_check_src_coords ==========
[10:08:42] [PASSED] Success: source fits into fb
[10:08:42] [PASSED] Fail: overflowing fb with x-axis coordinate
[10:08:42] [PASSED] Fail: overflowing fb with y-axis coordinate
[10:08:42] [PASSED] Fail: overflowing fb with source width
[10:08:42] [PASSED] Fail: overflowing fb with source height
[10:08:42] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[10:08:42] [PASSED] drm_test_framebuffer_cleanup
[10:08:42] =============== drm_test_framebuffer_create ===============
[10:08:42] [PASSED] ABGR8888 normal sizes
[10:08:42] [PASSED] ABGR8888 max sizes
[10:08:42] [PASSED] ABGR8888 pitch greater than min required
[10:08:42] [PASSED] ABGR8888 pitch less than min required
[10:08:42] [PASSED] ABGR8888 Invalid width
[10:08:42] [PASSED] ABGR8888 Invalid buffer handle
[10:08:42] [PASSED] No pixel format
[10:08:42] [PASSED] ABGR8888 Width 0
[10:08:42] [PASSED] ABGR8888 Height 0
[10:08:42] [PASSED] ABGR8888 Out of bound height * pitch combination
[10:08:42] [PASSED] ABGR8888 Large buffer offset
[10:08:42] [PASSED] ABGR8888 Buffer offset for inexistent plane
[10:08:42] [PASSED] ABGR8888 Invalid flag
[10:08:42] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[10:08:42] [PASSED] ABGR8888 Valid buffer modifier
[10:08:42] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[10:08:42] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[10:08:42] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[10:08:42] [PASSED] NV12 Normal sizes
[10:08:42] [PASSED] NV12 Max sizes
[10:08:42] [PASSED] NV12 Invalid pitch
[10:08:42] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[10:08:42] [PASSED] NV12 different modifier per-plane
[10:08:42] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[10:08:42] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[10:08:42] [PASSED] NV12 Modifier for inexistent plane
[10:08:42] [PASSED] NV12 Handle for inexistent plane
[10:08:42] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[10:08:42] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[10:08:42] [PASSED] YVU420 Normal sizes
[10:08:42] [PASSED] YVU420 Max sizes
[10:08:42] [PASSED] YVU420 Invalid pitch
[10:08:42] [PASSED] YVU420 Different pitches
[10:08:42] [PASSED] YVU420 Different buffer offsets/pitches
[10:08:42] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[10:08:42] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[10:08:42] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[10:08:42] [PASSED] YVU420 Valid modifier
[10:08:42] [PASSED] YVU420 Different modifiers per plane
[10:08:42] [PASSED] YVU420 Modifier for inexistent plane
[10:08:42] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[10:08:42] [PASSED] X0L2 Normal sizes
[10:08:42] [PASSED] X0L2 Max sizes
[10:08:42] [PASSED] X0L2 Invalid pitch
[10:08:42] [PASSED] X0L2 Pitch greater than minimum required
[10:08:42] [PASSED] X0L2 Handle for inexistent plane
[10:08:42] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[10:08:42] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[10:08:42] [PASSED] X0L2 Valid modifier
[10:08:42] [PASSED] X0L2 Modifier for inexistent plane
[10:08:42] =========== [PASSED] drm_test_framebuffer_create ===========
[10:08:42] [PASSED] drm_test_framebuffer_free
[10:08:42] [PASSED] drm_test_framebuffer_init
[10:08:42] [PASSED] drm_test_framebuffer_init_bad_format
[10:08:42] [PASSED] drm_test_framebuffer_init_dev_mismatch
[10:08:42] [PASSED] drm_test_framebuffer_lookup
[10:08:42] [PASSED] drm_test_framebuffer_lookup_inexistent
[10:08:42] [PASSED] drm_test_framebuffer_modifiers_not_supported
[10:08:42] ================= [PASSED] drm_framebuffer =================
[10:08:42] ================ drm_gem_shmem (8 subtests) ================
[10:08:42] [PASSED] drm_gem_shmem_test_obj_create
[10:08:42] [PASSED] drm_gem_shmem_test_obj_create_private
[10:08:42] [PASSED] drm_gem_shmem_test_pin_pages
[10:08:42] [PASSED] drm_gem_shmem_test_vmap
[10:08:42] [PASSED] drm_gem_shmem_test_get_sg_table
[10:08:42] [PASSED] drm_gem_shmem_test_get_pages_sgt
[10:08:42] [PASSED] drm_gem_shmem_test_madvise
[10:08:42] [PASSED] drm_gem_shmem_test_purge
[10:08:42] ================== [PASSED] drm_gem_shmem ==================
[10:08:42] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[10:08:42] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[10:08:42] [PASSED] Automatic
[10:08:42] [PASSED] Full
[10:08:42] [PASSED] Limited 16:235
[10:08:42] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[10:08:42] [PASSED] drm_test_check_disable_connector
[10:08:42] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[10:08:42] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[10:08:42] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[10:08:42] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[10:08:42] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[10:08:42] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[10:08:42] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[10:08:42] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[10:08:42] [PASSED] drm_test_check_output_bpc_dvi
[10:08:42] [PASSED] drm_test_check_output_bpc_format_vic_1
[10:08:42] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[10:08:42] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[10:08:42] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[10:08:42] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[10:08:42] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[10:08:42] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[10:08:42] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[10:08:42] ============ drm_test_check_hdmi_color_format =============
[10:08:42] [PASSED] AUTO -> RGB
[10:08:42] [PASSED] YCBCR422 -> YUV422
[10:08:42] [PASSED] YCBCR420 -> YUV420
[10:08:42] [PASSED] YCBCR444 -> YUV444
[10:08:42] [PASSED] RGB -> RGB
[10:08:42] ======== [PASSED] drm_test_check_hdmi_color_format =========
[10:08:42] ======== drm_test_check_hdmi_color_format_420_only ========
[10:08:42] [PASSED] RGB should fail
[10:08:42] [PASSED] YUV444 should fail
[10:08:42] [PASSED] YUV422 should fail
[10:08:42] [PASSED] YUV420 should work
[10:08:42] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[10:08:42] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[10:08:42] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[10:08:42] [PASSED] drm_test_check_broadcast_rgb_value
[10:08:42] [PASSED] drm_test_check_bpc_8_value
[10:08:42] [PASSED] drm_test_check_bpc_10_value
[10:08:42] [PASSED] drm_test_check_bpc_12_value
[10:08:42] [PASSED] drm_test_check_format_value
[10:08:42] [PASSED] drm_test_check_tmds_char_value
[10:08:42] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[10:08:42] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[10:08:42] [PASSED] drm_test_check_mode_valid
[10:08:42] [PASSED] drm_test_check_mode_valid_reject
[10:08:42] [PASSED] drm_test_check_mode_valid_reject_rate
[10:08:42] [PASSED] drm_test_check_mode_valid_reject_max_clock
[10:08:42] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[10:08:42] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[10:08:42] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[10:08:42] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[10:08:42] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[10:08:42] [PASSED] drm_test_check_infoframes
[10:08:42] [PASSED] drm_test_check_reject_avi_infoframe
[10:08:42] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[10:08:42] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[10:08:42] [PASSED] drm_test_check_reject_audio_infoframe
[10:08:42] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[10:08:42] ================= drm_managed (2 subtests) =================
[10:08:42] [PASSED] drm_test_managed_release_action
[10:08:42] [PASSED] drm_test_managed_run_action
[10:08:42] =================== [PASSED] drm_managed ===================
[10:08:42] =================== drm_mm (6 subtests) ====================
[10:08:42] [PASSED] drm_test_mm_init
[10:08:42] [PASSED] drm_test_mm_debug
[10:08:42] [PASSED] drm_test_mm_align32
[10:08:42] [PASSED] drm_test_mm_align64
[10:08:42] [PASSED] drm_test_mm_lowest
[10:08:42] [PASSED] drm_test_mm_highest
[10:08:42] ===================== [PASSED] drm_mm ======================
[10:08:42] ============= drm_modes_analog_tv (5 subtests) =============
[10:08:42] [PASSED] drm_test_modes_analog_tv_mono_576i
[10:08:42] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[10:08:42] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[10:08:42] [PASSED] drm_test_modes_analog_tv_pal_576i
[10:08:42] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[10:08:42] =============== [PASSED] drm_modes_analog_tv ===============
[10:08:42] ============== drm_panic_helper (3 subtests) ===============
[10:08:42] ============= drm_test_panic_screen_user_map ==============
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[10:08:42] ========= [PASSED] drm_test_panic_screen_user_map ==========
[10:08:42] ============= drm_test_panic_screen_user_page =============
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[10:08:42] ========= [PASSED] drm_test_panic_screen_user_page =========
[10:08:42] ========== drm_test_panic_screen_user_set_pixel ===========
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[10:08:42] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[10:08:42] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[10:08:42] ====== [PASSED] drm_test_panic_screen_user_set_pixel =======
[10:08:42] ================ [PASSED] drm_panic_helper =================
[10:08:42] ============== drm_plane_helper (2 subtests) ===============
[10:08:42] =============== drm_test_check_plane_state ================
[10:08:42] [PASSED] clipping_simple
[10:08:42] [PASSED] clipping_rotate_reflect
[10:08:42] [PASSED] positioning_simple
[10:08:42] [PASSED] upscaling
[10:08:42] [PASSED] downscaling
[10:08:42] [PASSED] rounding1
[10:08:42] [PASSED] rounding2
[10:08:42] [PASSED] rounding3
[10:08:42] [PASSED] rounding4
[10:08:42] =========== [PASSED] drm_test_check_plane_state ============
[10:08:42] =========== drm_test_check_invalid_plane_state ============
[10:08:42] [PASSED] positioning_invalid
[10:08:42] [PASSED] upscaling_invalid
[10:08:42] [PASSED] downscaling_invalid
[10:08:42] ======= [PASSED] drm_test_check_invalid_plane_state ========
[10:08:42] ================ [PASSED] drm_plane_helper =================
[10:08:42] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[10:08:42] ====== drm_test_connector_helper_tv_get_modes_check =======
[10:08:42] [PASSED] None
[10:08:42] [PASSED] PAL
[10:08:42] [PASSED] NTSC
[10:08:42] [PASSED] Both, NTSC Default
[10:08:42] [PASSED] Both, PAL Default
[10:08:42] [PASSED] Both, NTSC Default, with PAL on command-line
[10:08:42] [PASSED] Both, PAL Default, with NTSC on command-line
[10:08:42] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[10:08:42] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[10:08:42] ================== drm_rect (9 subtests) ===================
[10:08:42] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[10:08:42] [PASSED] drm_test_rect_clip_scaled_not_clipped
[10:08:42] [PASSED] drm_test_rect_clip_scaled_clipped
[10:08:42] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[10:08:42] ================= drm_test_rect_intersect =================
[10:08:42] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[10:08:42] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[10:08:42] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[10:08:42] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[10:08:42] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[10:08:42] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[10:08:42] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[10:08:42] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[10:08:42] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[10:08:42] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[10:08:42] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[10:08:42] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[10:08:42] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[10:08:42] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[10:08:42] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[10:08:42] ============= [PASSED] drm_test_rect_intersect =============
[10:08:42] ================ drm_test_rect_calc_hscale ================
[10:08:42] [PASSED] normal use
[10:08:42] [PASSED] out of max range
[10:08:42] [PASSED] out of min range
[10:08:42] [PASSED] zero dst
[10:08:42] [PASSED] negative src
[10:08:42] [PASSED] negative dst
[10:08:42] ============ [PASSED] drm_test_rect_calc_hscale ============
[10:08:42] ================ drm_test_rect_calc_vscale ================
[10:08:42] [PASSED] normal use
[10:08:42] [PASSED] out of max range
[10:08:42] [PASSED] out of min range
[10:08:42] [PASSED] zero dst
[10:08:42] [PASSED] negative src
[10:08:42] [PASSED] negative dst
[10:08:42] ============ [PASSED] drm_test_rect_calc_vscale ============
[10:08:42] ================== drm_test_rect_rotate ===================
[10:08:42] [PASSED] reflect-x
[10:08:42] [PASSED] reflect-y
[10:08:42] [PASSED] rotate-0
[10:08:42] [PASSED] rotate-90
[10:08:42] [PASSED] rotate-180
[10:08:42] [PASSED] rotate-270
[10:08:42] ============== [PASSED] drm_test_rect_rotate ===============
[10:08:42] ================ drm_test_rect_rotate_inv =================
[10:08:42] [PASSED] reflect-x
[10:08:42] [PASSED] reflect-y
[10:08:42] [PASSED] rotate-0
[10:08:42] [PASSED] rotate-90
[10:08:42] [PASSED] rotate-180
[10:08:42] [PASSED] rotate-270
[10:08:42] ============ [PASSED] drm_test_rect_rotate_inv =============
[10:08:42] ==================== [PASSED] drm_rect =====================
[10:08:42] ============ drm_sysfb_modeset_test (1 subtest) ============
[10:08:42] ============ drm_test_sysfb_build_fourcc_list =============
[10:08:42] [PASSED] no native formats
[10:08:42] [PASSED] XRGB8888 as native format
[10:08:42] [PASSED] remove duplicates
[10:08:42] [PASSED] convert alpha formats
[10:08:42] [PASSED] random formats
[10:08:42] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[10:08:42] ============= [PASSED] drm_sysfb_modeset_test ==============
[10:08:42] ================== drm_fixp (2 subtests) ===================
[10:08:42] [PASSED] drm_test_int2fixp
[10:08:42] [PASSED] drm_test_sm2fixp
[10:08:42] ==================== [PASSED] drm_fixp =====================
[10:08:42] ============================================================
[10:08:42] Testing complete. Ran 667 tests: passed: 667
[10:08:42] Elapsed time: 26.966s total, 1.858s configuring, 24.686s building, 0.414s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[10:08:42] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:08:44] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[10:08:54] Starting KUnit Kernel (1/1)...
[10:08:54] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:08:55] ================= ttm_device (5 subtests) ==================
[10:08:55] [PASSED] ttm_device_init_basic
[10:08:55] [PASSED] ttm_device_init_multiple
[10:08:55] [PASSED] ttm_device_fini_basic
[10:08:55] [PASSED] ttm_device_init_no_vma_man
[10:08:55] ================== ttm_device_init_pools ==================
[10:08:55] [PASSED] No DMA allocations, no DMA32 required
[10:08:55] [PASSED] DMA allocations, DMA32 required
[10:08:55] [PASSED] No DMA allocations, DMA32 required
[10:08:55] [PASSED] DMA allocations, no DMA32 required
[10:08:55] ============== [PASSED] ttm_device_init_pools ==============
[10:08:55] =================== [PASSED] ttm_device ====================
[10:08:55] ================== ttm_pool (8 subtests) ===================
[10:08:55] ================== ttm_pool_alloc_basic ===================
[10:08:55] [PASSED] One page
[10:08:55] [PASSED] More than one page
[10:08:55] [PASSED] Above the allocation limit
[10:08:55] [PASSED] One page, with coherent DMA mappings enabled
[10:08:55] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[10:08:55] ============== [PASSED] ttm_pool_alloc_basic ===============
[10:08:55] ============== ttm_pool_alloc_basic_dma_addr ==============
[10:08:55] [PASSED] One page
[10:08:55] [PASSED] More than one page
[10:08:55] [PASSED] Above the allocation limit
[10:08:55] [PASSED] One page, with coherent DMA mappings enabled
[10:08:55] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[10:08:55] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[10:08:55] [PASSED] ttm_pool_alloc_order_caching_match
[10:08:55] [PASSED] ttm_pool_alloc_caching_mismatch
[10:08:55] [PASSED] ttm_pool_alloc_order_mismatch
[10:08:55] [PASSED] ttm_pool_free_dma_alloc
[10:08:55] [PASSED] ttm_pool_free_no_dma_alloc
[10:08:55] [PASSED] ttm_pool_fini_basic
[10:08:55] ==================== [PASSED] ttm_pool =====================
[10:08:55] ================ ttm_resource (8 subtests) =================
[10:08:55] ================= ttm_resource_init_basic =================
[10:08:55] [PASSED] Init resource in TTM_PL_SYSTEM
[10:08:55] [PASSED] Init resource in TTM_PL_VRAM
[10:08:55] [PASSED] Init resource in a private placement
[10:08:55] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[10:08:55] ============= [PASSED] ttm_resource_init_basic =============
[10:08:55] [PASSED] ttm_resource_init_pinned
[10:08:55] [PASSED] ttm_resource_fini_basic
[10:08:55] [PASSED] ttm_resource_manager_init_basic
[10:08:55] [PASSED] ttm_resource_manager_usage_basic
[10:08:55] [PASSED] ttm_resource_manager_set_used_basic
[10:08:55] [PASSED] ttm_sys_man_alloc_basic
[10:08:55] [PASSED] ttm_sys_man_free_basic
[10:08:55] ================== [PASSED] ttm_resource ===================
[10:08:55] =================== ttm_tt (15 subtests) ===================
[10:08:55] ==================== ttm_tt_init_basic ====================
[10:08:55] [PASSED] Page-aligned size
[10:08:55] [PASSED] Extra pages requested
[10:08:55] ================ [PASSED] ttm_tt_init_basic ================
[10:08:55] [PASSED] ttm_tt_init_misaligned
[10:08:55] [PASSED] ttm_tt_fini_basic
[10:08:55] [PASSED] ttm_tt_fini_sg
[10:08:55] [PASSED] ttm_tt_fini_shmem
[10:08:55] [PASSED] ttm_tt_create_basic
[10:08:55] [PASSED] ttm_tt_create_invalid_bo_type
[10:08:55] [PASSED] ttm_tt_create_ttm_exists
[10:08:55] [PASSED] ttm_tt_create_failed
[10:08:55] [PASSED] ttm_tt_destroy_basic
[10:08:55] [PASSED] ttm_tt_populate_null_ttm
[10:08:55] [PASSED] ttm_tt_populate_populated_ttm
[10:08:55] [PASSED] ttm_tt_unpopulate_basic
[10:08:55] [PASSED] ttm_tt_unpopulate_empty_ttm
[10:08:55] [PASSED] ttm_tt_swapin_basic
[10:08:55] ===================== [PASSED] ttm_tt ======================
[10:08:55] =================== ttm_bo (14 subtests) ===================
[10:08:55] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[10:08:55] [PASSED] Cannot be interrupted and sleeps
[10:08:55] [PASSED] Cannot be interrupted, locks straight away
[10:08:55] [PASSED] Can be interrupted, sleeps
[10:08:55] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[10:08:55] [PASSED] ttm_bo_reserve_locked_no_sleep
[10:08:55] [PASSED] ttm_bo_reserve_no_wait_ticket
[10:08:55] [PASSED] ttm_bo_reserve_double_resv
[10:08:55] [PASSED] ttm_bo_reserve_interrupted
[10:08:55] [PASSED] ttm_bo_reserve_deadlock
[10:08:55] [PASSED] ttm_bo_unreserve_basic
[10:08:55] [PASSED] ttm_bo_unreserve_pinned
[10:08:55] [PASSED] ttm_bo_unreserve_bulk
[10:08:55] [PASSED] ttm_bo_fini_basic
[10:08:55] [PASSED] ttm_bo_fini_shared_resv
[10:08:55] [PASSED] ttm_bo_pin_basic
[10:08:55] [PASSED] ttm_bo_pin_unpin_resource
[10:08:55] [PASSED] ttm_bo_multiple_pin_one_unpin
[10:08:55] ===================== [PASSED] ttm_bo ======================
[10:08:55] ============== ttm_bo_validate (22 subtests) ===============
[10:08:55] ============== ttm_bo_init_reserved_sys_man ===============
[10:08:55] [PASSED] Buffer object for userspace
[10:08:55] [PASSED] Kernel buffer object
[10:08:55] [PASSED] Shared buffer object
[10:08:55] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[10:08:55] ============== ttm_bo_init_reserved_mock_man ==============
[10:08:55] [PASSED] Buffer object for userspace
[10:08:55] [PASSED] Kernel buffer object
[10:08:55] [PASSED] Shared buffer object
[10:08:55] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[10:08:55] [PASSED] ttm_bo_init_reserved_resv
[10:08:55] ================== ttm_bo_validate_basic ==================
[10:08:55] [PASSED] Buffer object for userspace
[10:08:55] [PASSED] Kernel buffer object
[10:08:55] [PASSED] Shared buffer object
[10:08:55] ============== [PASSED] ttm_bo_validate_basic ==============
[10:08:55] [PASSED] ttm_bo_validate_invalid_placement
[10:08:55] ============= ttm_bo_validate_same_placement ==============
[10:08:55] [PASSED] System manager
[10:08:55] [PASSED] VRAM manager
[10:08:55] ========= [PASSED] ttm_bo_validate_same_placement ==========
[10:08:55] [PASSED] ttm_bo_validate_failed_alloc
[10:08:55] [PASSED] ttm_bo_validate_pinned
[10:08:55] [PASSED] ttm_bo_validate_busy_placement
[10:08:55] ================ ttm_bo_validate_multihop =================
[10:08:55] [PASSED] Buffer object for userspace
[10:08:55] [PASSED] Kernel buffer object
[10:08:55] [PASSED] Shared buffer object
[10:08:55] ============ [PASSED] ttm_bo_validate_multihop =============
[10:08:55] ========== ttm_bo_validate_no_placement_signaled ==========
[10:08:55] [PASSED] Buffer object in system domain, no page vector
[10:08:55] [PASSED] Buffer object in system domain with an existing page vector
[10:08:55] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[10:08:55] ======== ttm_bo_validate_no_placement_not_signaled ========
[10:08:55] [PASSED] Buffer object for userspace
[10:08:55] [PASSED] Kernel buffer object
[10:08:55] [PASSED] Shared buffer object
[10:08:55] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[10:08:55] [PASSED] ttm_bo_validate_move_fence_signaled
[10:08:55] ========= ttm_bo_validate_move_fence_not_signaled =========
[10:08:55] [PASSED] Waits for GPU
[10:08:55] [PASSED] Tries to lock straight away
[10:08:55] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[10:08:55] [PASSED] ttm_bo_validate_swapout
[10:08:55] [PASSED] ttm_bo_validate_happy_evict
[10:08:55] [PASSED] ttm_bo_validate_all_pinned_evict
[10:08:55] [PASSED] ttm_bo_validate_allowed_only_evict
[10:08:55] [PASSED] ttm_bo_validate_deleted_evict
[10:08:55] [PASSED] ttm_bo_validate_busy_domain_evict
[10:08:55] [PASSED] ttm_bo_validate_evict_gutting
[10:08:55] [PASSED] ttm_bo_validate_recrusive_evict
[10:08:55] ================= [PASSED] ttm_bo_validate =================
[10:08:55] ============================================================
[10:08:55] Testing complete. Ran 102 tests: passed: 102
[10:08:55] Elapsed time: 12.324s total, 1.900s configuring, 10.159s building, 0.230s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[10:08:55] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:08:57] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[10:09:05] Starting KUnit Kernel (1/1)...
[10:09:05] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:09:05] =============== dma-buf-fence (12 subtests) ================
[10:09:05] [PASSED] test_sanitycheck
[10:09:05] [PASSED] test_signaling
[10:09:05] [PASSED] test_add_callback
[10:09:05] [PASSED] test_late_add_callback
[10:09:05] [PASSED] test_rm_callback
[10:09:05] [PASSED] test_late_rm_callback
[10:09:05] [PASSED] test_status
[10:09:05] [PASSED] test_error
[10:09:06] [PASSED] test_wait
[10:09:06] [PASSED] test_wait_timeout
[10:09:06] [PASSED] test_stub
[10:09:06] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[10:09:06] ================== [PASSED] dma-buf-fence ==================
[10:09:06] ============ dma-buf-fence-chain (11 subtests) =============
[10:09:06] [PASSED] test_sanitycheck
[10:09:06] [PASSED] test_find_seqno
[10:09:06] [PASSED] test_find_signaled
[10:09:06] [PASSED] test_find_out_of_order
[10:09:11] [PASSED] test_find_gap
[10:09:11] [PASSED] test_find_race
[10:09:11] [PASSED] test_signal_forward
[10:09:11] [PASSED] test_signal_backward
[10:09:11] [PASSED] test_wait_forward
[10:09:11] [PASSED] test_wait_backward
[10:09:11] [PASSED] test_wait_random
[10:09:11] =============== [PASSED] dma-buf-fence-chain ===============
[10:09:11] ============ dma-buf-fence-unwrap (11 subtests) ============
[10:09:11] [PASSED] test_sanitycheck
[10:09:11] [PASSED] test_unwrap_array
[10:09:11] [PASSED] test_unwrap_chain
[10:09:11] [PASSED] test_unwrap_chain_array
[10:09:11] [PASSED] test_unwrap_merge
[10:09:11] [PASSED] test_unwrap_merge_duplicate
[10:09:11] [PASSED] test_unwrap_merge_seqno
[10:09:11] [PASSED] test_unwrap_merge_order
[10:09:11] [PASSED] test_unwrap_merge_complex
[10:09:11] [PASSED] test_unwrap_merge_complex_seqno
[10:09:11] [PASSED] test_dedup_empty
[10:09:11] ============== [PASSED] dma-buf-fence-unwrap ===============
[10:09:11] ================ dma-buf-resv (5 subtests) =================
[10:09:11] [PASSED] test_sanitycheck
[10:09:11] ===================== test_signaling ======================
[10:09:11] [PASSED] kernel
[10:09:11] [PASSED] write
[10:09:11] [PASSED] read
[10:09:11] [PASSED] bookkeep
[10:09:11] ================= [PASSED] test_signaling ==================
[10:09:11] ====================== test_for_each ======================
[10:09:11] [PASSED] kernel
[10:09:11] [PASSED] write
[10:09:11] [PASSED] read
[10:09:11] [PASSED] bookkeep
[10:09:11] ================== [PASSED] test_for_each ==================
[10:09:11] ================= test_for_each_unlocked ==================
[10:09:11] [PASSED] kernel
[10:09:11] [PASSED] write
[10:09:11] [PASSED] read
[10:09:11] [PASSED] bookkeep
[10:09:11] ============= [PASSED] test_for_each_unlocked ==============
[10:09:11] ===================== test_get_fences =====================
[10:09:11] [PASSED] kernel
[10:09:11] [PASSED] write
[10:09:11] [PASSED] read
[10:09:11] [PASSED] bookkeep
[10:09:11] ================= [PASSED] test_get_fences =================
[10:09:11] ================== [PASSED] dma-buf-resv ===================
[10:09:11] ============================================================
[10:09:11] Testing complete. Ran 51 tests: passed: 50, skipped: 1
[10:09:11] Elapsed time: 15.958s total, 1.871s configuring, 8.764s building, 5.299s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (7 preceding siblings ...)
2026-10-29 10:09 ` ✓ CI.KUnit: success " Patchwork
@ 2026-10-29 10:23 ` Lucas Stach
2026-10-29 10:28 ` Philipp Stanner
2026-10-29 10:46 ` ✓ Xe.CI.BAT: success for " Patchwork
2026-10-29 23:07 ` ✗ Xe.CI.FULL: failure " Patchwork
10 siblings, 1 reply; 17+ messages in thread
From: Lucas Stach @ 2026-10-29 10:23 UTC (permalink / raw)
To: Philipp Stanner, Min Ma, Lizhi Hou, Oded Gabbay,
Rob Herring (Arm), Tomeu Vizoso, Karol Wachowski,
Andrzej Kacprowski, Sumit Semwal, Christian König,
Felix Kuehling, Alex Deucher, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Russell King,
Christian Gmeiner, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
Tvrtko Ursulin, Alessio Belle, Luigi Santivetti, Qiang Yu,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, Lyude Paul, Danilo Krummrich,
Boris Brezillon, Steven Price, Adrián Larumbe, Liviu Dudau,
Dave Airlie, Gerd Hoffmann, Matthew Brost, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
Hi Philipp, hi Christian,
Am Donnerstag, dem 29.10.2026 um 10:55 +0100 schrieb Philipp Stanner:
> dma_fence_is_signaled() can return true *while* the fence is signaling.
> This has caused explosions before and I guess we can agree that it's
> just not ideal.
>
> The fundamental issue is that the fence-signaled-bit is set under lock
> protection but read without it.
>
> So ideally, we would read it with the lock. This would not change the
> relative order, i.e. the bit would still be true in the fence callbacks.
>
> Christian informs us that taking the lock causes people to complain
> about performance regressions because the lock-taking shoots down copied
> cache-lines. (which is weird since it would mean that someone is
> repeatedly polling on fences instead of just registering a callback to
> notify himself once it signals)
>
I think we would all be interested in the actual use-case that's
sensitive to this kind of latency.
However, I wonder if this is even an issue anymore with the lock
inlined into the fence structure. With the deprecated external lock you
would potentially get two cacheline bounces/remote invalidations for
the exclusive access: once for the lock and one for the
test_and_set_bit atomic op on the flags field.
Now with the inlined lock, the lock operation will bring the cacheline
into exclusive state on the local CPU and the flag check would then
operate on that same cacheline, so there should be only a very minimal
penalty compared to the sole atomic op.
Regards,
Lucas
> Let's accept the potential for regressions as true for now.
> Nevertheless, I think I can propose a path towards removing the race:
>
> This series suggests taking the lock in dma_fence_is_signaled() *unless*
> the driver explicitly asks for a check with a race-condition.
>
> As a preparation, I allow drivers to set flags when initializing fences.
> Then, we add a flag with which the driver can switch locking off for
> that particular function.
>
> By default, we let all drivers take the lock.
>
> Should we then, in the kernel release process get reports about
> regressions, we can set the race-flag for the affected driver and
> restore the old behavior.
>
> Should there be no reports, we could phase the flag out again after a
> few releases, always taking the lock.
>
> New users would always see the lock.
>
> I put all potentially affected parties on Cc. Please point out if you
> can already foresee your driver being negatively affected by this.
>
> P.
>
>
> Philipp Stanner (6):
> dma-buf: dma-fence: Add flags parameter to dma_fence_init()
> dma-buf: dma-fence: Add flag for using 64-bit seqnos
> dma-buf: Port users of dma_fence_init64()
> dma-buf: dma-fence: remove dma_fence_init64()
> dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default
> drm/nouveau: Remove hacky fence check
>
> drivers/accel/amdxdna/amdxdna_ctx.c | 2 +-
> drivers/accel/ethosu/ethosu_job.c | 2 +-
> drivers/accel/ivpu/ivpu_job.c | 2 +-
> drivers/accel/rocket/rocket_job.c | 2 +-
> drivers/dma-buf/dma-fence-array.c | 2 +-
> drivers/dma-buf/dma-fence-chain.c | 4 +-
> drivers/dma-buf/dma-fence.c | 44 +++++------------
> drivers/dma-buf/st-dma-fence-chain.c | 2 +-
> drivers/dma-buf/st-dma-fence-unwrap.c | 2 +-
> drivers/dma-buf/st-dma-fence.c | 2 +-
> drivers/dma-buf/st-dma-resv.c | 2 +-
> drivers/dma-buf/sw_sync.c | 2 +-
> .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 2 +-
> .../drm/amd/amdgpu/amdgpu_eviction_fence.c | 7 +--
> drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 +-
> .../gpu/drm/amd/amdgpu/amdgpu_userq_fence.c | 5 +-
> .../gpu/drm/amd/amdgpu/amdgpu_vm_tlb_fence.c | 5 +-
> drivers/gpu/drm/drm_crtc.c | 2 +-
> drivers/gpu/drm/drm_writeback.c | 2 +-
> drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
> drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 2 +-
> drivers/gpu/drm/i915/i915_request.c | 2 +-
> drivers/gpu/drm/i915/i915_sw_fence_work.c | 2 +-
> drivers/gpu/drm/i915/i915_vma_resource.c | 2 +-
> .../gpu/drm/i915/selftests/i915_sw_fence.c | 2 +-
> drivers/gpu/drm/imagination/pvr_ccb.c | 2 +-
> drivers/gpu/drm/imagination/pvr_queue.c | 2 +-
> drivers/gpu/drm/lima/lima_sched.c | 2 +-
> drivers/gpu/drm/msm/msm_fence.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_drm.c | 13 -----
> drivers/gpu/drm/nouveau/nouveau_fence.c | 4 +-
> drivers/gpu/drm/panfrost/panfrost_job.c | 2 +-
> drivers/gpu/drm/panthor/panthor_sched.c | 2 +-
> drivers/gpu/drm/qxl/qxl_release.c | 2 +-
> drivers/gpu/drm/radeon/radeon_fence.c | 2 +-
> drivers/gpu/drm/scheduler/sched_fence.c | 4 +-
> .../gpu/drm/scheduler/tests/mock_scheduler.c | 2 +-
> drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 2 +-
> .../gpu/drm/ttm/tests/ttm_bo_validate_test.c | 2 +-
> drivers/gpu/drm/v3d/v3d_fence.c | 2 +-
> drivers/gpu/drm/vc4/vc4_gem.c | 2 +-
> drivers/gpu/drm/vgem/vgem_fence.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_fence.c | 2 +-
> drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 2 +-
> drivers/gpu/drm/xe/xe_hw_fence.c | 2 +-
> drivers/gpu/drm/xe/xe_oa.c | 2 +-
> drivers/gpu/drm/xe/xe_preempt_fence.c | 2 +-
> drivers/gpu/drm/xe/xe_tlb_inval.c | 2 +-
> drivers/gpu/host1x/fence.c | 2 +-
> drivers/iio/industrialio-buffer.c | 2 +-
> drivers/usb/gadget/function/f_fs.c | 2 +-
> include/linux/dma-fence.h | 48 +++++++++++++++++--
> 52 files changed, 115 insertions(+), 105 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race
2026-10-29 10:23 ` [RFC PATCH 0/6] " Lucas Stach
@ 2026-10-29 10:28 ` Philipp Stanner
2026-10-29 11:23 ` Lucas Stach
2026-10-29 13:43 ` Christian König
0 siblings, 2 replies; 17+ messages in thread
From: Philipp Stanner @ 2026-10-29 10:28 UTC (permalink / raw)
To: Lucas Stach, Philipp Stanner, Min Ma, Lizhi Hou, Oded Gabbay,
Rob Herring (Arm), Tomeu Vizoso, Karol Wachowski,
Andrzej Kacprowski, Sumit Semwal, Christian König,
Felix Kuehling, Alex Deucher, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Russell King,
Christian Gmeiner, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
Tvrtko Ursulin, Alessio Belle, Luigi Santivetti, Qiang Yu,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, Lyude Paul, Danilo Krummrich,
Boris Brezillon, Steven Price, Adrián Larumbe, Liviu Dudau,
Dave Airlie, Gerd Hoffmann, Matthew Brost, Natalie Vock,
Arun Pravin, Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
On Thu, 2026-10-29 at 11:23 +0100, Lucas Stach wrote:
> Hi Philipp, hi Christian,
Jo Lucas
>
> Am Donnerstag, dem 29.10.2026 um 10:55 +0100 schrieb Philipp Stanner:
[…]
> I think we would all be interested in the actual use-case that's
> sensitive to this kind of latency.
Me too.
Let me use this opportunity to stress that in the future, in DRM,
whenever we have [to accept] a racy "optimization", both commit
messages and code comments must document why it exists and who
requested it with what proof.
Would save us lots of time when those things are discussed >5 years
later.
>
> However, I wonder if this is even an issue anymore with the lock
> inlined into the fence structure.
Almost no one uses inline-lock so far. So unfortunately, we might
regress old drivers, maybe.
But sounds as if you're in favor of phasing the locklessness out :)
P.
^ permalink raw reply [flat|nested] 17+ messages in thread
* ✓ Xe.CI.BAT: success for dma-buf: Phase out is_signaled() race
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (8 preceding siblings ...)
2026-10-29 10:23 ` [RFC PATCH 0/6] " Lucas Stach
@ 2026-10-29 10:46 ` Patchwork
2026-10-29 23:07 ` ✗ Xe.CI.FULL: failure " Patchwork
10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2026-10-29 10:46 UTC (permalink / raw)
To: Philipp Stanner; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 4409 bytes --]
== Series Details ==
Series: dma-buf: Phase out is_signaled() race
URL : https://patchwork.freedesktop.org/series/177133/
State : success
== Summary ==
CI Bug Log - changes from xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201_BAT -> xe-pw-177133v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (15 -> 15)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-177133v1_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_evict@evict-beng-small:
- bat-ptl-2: NOTRUN -> [SKIP][1] ([Intel XE#5764]) +11 other tests skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_evict@evict-beng-small.html
* igt@xe_exec_balancer@twice-parallel-userptr:
- bat-ptl-2: NOTRUN -> [SKIP][2] ([Intel XE#7482]) +17 other tests skip
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_exec_balancer@twice-parallel-userptr.html
* igt@xe_exec_multi_queue@many-queues-priority:
- bat-ptl-2: NOTRUN -> [SKIP][3] ([Intel XE#8364]) +13 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_exec_multi_queue@many-queues-priority.html
* igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit:
- bat-ptl-2: NOTRUN -> [SKIP][4] ([Intel XE#5775]) +2 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit.html
* igt@xe_live_ktest@xe_migrate@xe_migrate_access_memory_kunit:
- bat-ptl-2: NOTRUN -> [SKIP][5] ([Intel XE#9657])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_live_ktest@xe_migrate@xe_migrate_access_memory_kunit.html
* igt@xe_mmap@vram:
- bat-ptl-2: NOTRUN -> [SKIP][6] ([Intel XE#5776])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_mmap@vram.html
* igt@xe_pat@pat-index-xehpc:
- bat-ptl-2: NOTRUN -> [SKIP][7] ([Intel XE#5777] / [Intel XE#7590])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelp:
- bat-ptl-2: NOTRUN -> [SKIP][8] ([Intel XE#5771] / [Intel XE#7590])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_pat@pat-index-xelp.html
* igt@xe_pat@pat-index-xelpg:
- bat-ptl-2: NOTRUN -> [SKIP][9] ([Intel XE#5780] / [Intel XE#7590])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_pat@pat-index-xelpg.html
#### Possible fixes ####
* igt@xe_compute_preempt@compute-threadgroup-preempt:
- bat-ptl-2: [ABORT][10] ([Intel XE#9362]) -> [PASS][11] +1 other test pass
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/bat-ptl-2/igt@xe_compute_preempt@compute-threadgroup-preempt.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/bat-ptl-2/igt@xe_compute_preempt@compute-threadgroup-preempt.html
[Intel XE#5764]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5764
[Intel XE#5771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5771
[Intel XE#5775]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5775
[Intel XE#5776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5776
[Intel XE#5777]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5777
[Intel XE#5780]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5780
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
[Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
[Intel XE#9362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9362
[Intel XE#9657]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9657
Build changes
-------------
* Linux: xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201 -> xe-pw-177133v1
IGT_9170: 9170
xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201: adf57aa7454332ef1651f5735de1ab6a1cc6b201
xe-pw-177133v1: 177133v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/index.html
[-- Attachment #2: Type: text/html, Size: 5323 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race
2026-10-29 10:28 ` Philipp Stanner
@ 2026-10-29 11:23 ` Lucas Stach
2026-10-29 13:43 ` Christian König
1 sibling, 0 replies; 17+ messages in thread
From: Lucas Stach @ 2026-10-29 11:23 UTC (permalink / raw)
To: phasta, Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm),
Tomeu Vizoso, Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Russell King, Christian Gmeiner, Jani Nikula,
Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, Alessio Belle,
Luigi Santivetti, Qiang Yu, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten,
Lyude Paul, Danilo Krummrich, Boris Brezillon, Steven Price,
Adrián Larumbe, Liviu Dudau, Dave Airlie, Gerd Hoffmann,
Matthew Brost, Natalie Vock, Arun Pravin, Matthew Auld,
Thomas Hellström, Melissa Wen, Maíra Canal,
Dave Stevenson, Raspberry Pi Kernel Maintenance, Dmitry Osipenko,
Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
Am Donnerstag, dem 29.10.2026 um 11:28 +0100 schrieb Philipp Stanner:
> On Thu, 2026-10-29 at 11:23 +0100, Lucas Stach wrote:
> > Hi Philipp, hi Christian,
>
> Jo Lucas
>
> >
> > Am Donnerstag, dem 29.10.2026 um 10:55 +0100 schrieb Philipp Stanner:
>
> […]
>
> > I think we would all be interested in the actual use-case that's
> > sensitive to this kind of latency.
>
> Me too.
>
> Let me use this opportunity to stress that in the future, in DRM,
> whenever we have [to accept] a racy "optimization", both commit
> messages and code comments must document why it exists and who
> requested it with what proof.
>
I don't fully agree that this is a racy optimization. To me it seems
the most critical issue here is that "fence is signaled" is under
specified.
Does it purely mean that the actual hardware operation that the fence
is guarding is done? In that case the current implementation is fine,
as the bit is only set after the HW told us that it is done. This is
the interpretation I would assume was the original intent behind the
current implementation.
Does it mean that the hardware is done and all registered callbacks
have been run, even if the actual work is done in a (indefinitely)
deferred worker? You mentioning explosions caused by the pure signal
state check outside the lock would imply that some consumers of the
fence took the signaled state to mean this interpretation.
> Would save us lots of time when those things are discussed >5 years
> later.
>
> >
> > However, I wonder if this is even an issue anymore with the lock
> > inlined into the fence structure.
>
> Almost no one uses inline-lock so far. So unfortunately, we might
> regress old drivers, maybe.
>
> But sounds as if you're in favor of phasing the locklessness out :)
>
I'm in favor of ripping out hard to reason optimizations if they turn
out to not provide any optimization after all. However, before going in
either direction we need to clarify the fence signal state interface.
Either we keep the (in my interpretation) original intent of the signal
state only telling about HW progress state and thus declare some
current uses as wrong usage of the interface, which need to be fixed.
Or we need to include the SW callbacks too, but then your current lock
approach only guards against code directly executed in the callback
functions. If the implementation of the callback defers anything to a
worker this may still be racy.
And that's also my criticism to this patchset now that I thought a bit
more about this: by simply putting things under the lock you serialized
more of the SW state without actually better defining the guarantees
that this changed fence interface provides or doesn't provide to the
consumers.
Regards,
Lucas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC PATCH 1/6] dma-buf: dma-fence: Add flags parameter to dma_fence_init()
2026-10-29 9:55 ` [RFC PATCH 1/6] dma-buf: dma-fence: Add flags parameter to dma_fence_init() Philipp Stanner
@ 2026-10-29 13:38 ` Christian König
0 siblings, 0 replies; 17+ messages in thread
From: Christian König @ 2026-10-29 13:38 UTC (permalink / raw)
To: Philipp Stanner, Min Ma, Lizhi Hou, Oded Gabbay,
Rob Herring (Arm), Tomeu Vizoso, Karol Wachowski,
Andrzej Kacprowski, Sumit Semwal, Felix Kuehling, Alex Deucher,
David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Matthew Brost, Natalie Vock, Arun Pravin,
Matthew Auld, Thomas Hellström, Melissa Wen,
Maíra Canal, Dave Stevenson, Raspberry Pi Kernel Maintenance,
Dmitry Osipenko, Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
On 10/29/26 10:55, Philipp Stanner wrote:
> Currently, there are two init functions for dma_fence, dma_fence_init()
> and dma_fence_init64().
>
> Since more future user options for dma_fence initialization would
> require distinct init functions, too, it is better to do this in a
> unified way.
>
> To prepare for that, add a flags field to dma_fence_init(). Adjust all
> affected drivers, preserving the old behavior.
I really like that we remove dma_fence_init64() but I think we should avoid adding dma_fence_init_flags.
Instead just using dma_fence_flag_bits as parameter to dma_fence_init() and filtering/warning if any of the not allowed internal flags are given as parameter should be enough.
This way drivers can also give their driver internal flags (e.g. DMA_FENCE_FLAG_USER_BITS) to the function as well.
Regards,
Christian.
>
> Signed-off-by: Philipp Stanner <phasta@kernel.org>
> ---
> drivers/accel/amdxdna/amdxdna_ctx.c | 2 +-
> drivers/accel/ethosu/ethosu_job.c | 2 +-
> drivers/accel/ivpu/ivpu_job.c | 2 +-
> drivers/accel/rocket/rocket_job.c | 2 +-
> drivers/dma-buf/dma-fence-array.c | 2 +-
> drivers/dma-buf/dma-fence.c | 9 ++++----
> drivers/dma-buf/st-dma-fence-chain.c | 2 +-
> drivers/dma-buf/st-dma-fence-unwrap.c | 2 +-
> drivers/dma-buf/st-dma-fence.c | 2 +-
> drivers/dma-buf/st-dma-resv.c | 2 +-
> drivers/dma-buf/sw_sync.c | 2 +-
> .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 +-
> drivers/gpu/drm/drm_crtc.c | 2 +-
> drivers/gpu/drm/drm_writeback.c | 2 +-
> drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
> drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 2 +-
> drivers/gpu/drm/i915/i915_request.c | 2 +-
> drivers/gpu/drm/i915/i915_sw_fence_work.c | 2 +-
> drivers/gpu/drm/i915/i915_vma_resource.c | 2 +-
> .../gpu/drm/i915/selftests/i915_sw_fence.c | 2 +-
> drivers/gpu/drm/imagination/pvr_ccb.c | 2 +-
> drivers/gpu/drm/imagination/pvr_queue.c | 2 +-
> drivers/gpu/drm/lima/lima_sched.c | 2 +-
> drivers/gpu/drm/msm/msm_fence.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_fence.c | 4 ++--
> drivers/gpu/drm/panfrost/panfrost_job.c | 2 +-
> drivers/gpu/drm/panthor/panthor_sched.c | 2 +-
> drivers/gpu/drm/qxl/qxl_release.c | 2 +-
> drivers/gpu/drm/radeon/radeon_fence.c | 2 +-
> drivers/gpu/drm/scheduler/sched_fence.c | 4 ++--
> .../gpu/drm/scheduler/tests/mock_scheduler.c | 2 +-
> drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 2 +-
> .../gpu/drm/ttm/tests/ttm_bo_validate_test.c | 2 +-
> drivers/gpu/drm/v3d/v3d_fence.c | 2 +-
> drivers/gpu/drm/vc4/vc4_gem.c | 2 +-
> drivers/gpu/drm/vgem/vgem_fence.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_fence.c | 2 +-
> drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 2 +-
> drivers/gpu/drm/xe/xe_hw_fence.c | 2 +-
> drivers/gpu/drm/xe/xe_oa.c | 2 +-
> drivers/gpu/drm/xe/xe_preempt_fence.c | 2 +-
> drivers/gpu/drm/xe/xe_tlb_inval.c | 2 +-
> drivers/gpu/host1x/fence.c | 2 +-
> drivers/iio/industrialio-buffer.c | 2 +-
> drivers/usb/gadget/function/f_fs.c | 2 +-
> include/linux/dma-fence.h | 22 ++++++++++++++++---
> 47 files changed, 71 insertions(+), 54 deletions(-)
>
> diff --git a/drivers/accel/amdxdna/amdxdna_ctx.c b/drivers/accel/amdxdna/amdxdna_ctx.c
> index f4004630dc1b..f2245541f1ee 100644
> --- a/drivers/accel/amdxdna/amdxdna_ctx.c
> +++ b/drivers/accel/amdxdna/amdxdna_ctx.c
> @@ -53,7 +53,7 @@ static struct dma_fence *amdxdna_fence_create(struct amdxdna_hwctx *hwctx)
>
> spin_lock_init(&fence->lock);
> /* Unique timeline context prevents eviction from shared BO reservation. */
> - dma_fence_init(&fence->base, &fence_ops, &fence->lock, dma_fence_context_alloc(1), 0);
> + dma_fence_init(&fence->base, &fence_ops, &fence->lock, dma_fence_context_alloc(1), 0, 0);
> return &fence->base;
> }
>
> diff --git a/drivers/accel/ethosu/ethosu_job.c b/drivers/accel/ethosu/ethosu_job.c
> index d656b3ec670e..d4fc71436cae 100644
> --- a/drivers/accel/ethosu/ethosu_job.c
> +++ b/drivers/accel/ethosu/ethosu_job.c
> @@ -219,7 +219,7 @@ static struct dma_fence *ethosu_job_run(struct drm_sched_job *sched_job)
> return NULL;
>
> dma_fence_init(fence, ðosu_fence_ops, &dev->fence_lock,
> - dev->fence_context, ++dev->emit_seqno);
> + dev->fence_context, ++dev->emit_seqno, 0);
> dma_fence_get(fence);
>
> ethosu_switch_perfmon(dev, job);
> diff --git a/drivers/accel/ivpu/ivpu_job.c b/drivers/accel/ivpu/ivpu_job.c
> index 6a1307ee2e19..ca24e84a2ed9 100644
> --- a/drivers/accel/ivpu/ivpu_job.c
> +++ b/drivers/accel/ivpu/ivpu_job.c
> @@ -519,7 +519,7 @@ static struct dma_fence *ivpu_fence_create(struct ivpu_device *vdev)
>
> fence->vdev = vdev;
> spin_lock_init(&fence->lock);
> - dma_fence_init(&fence->base, &ivpu_fence_ops, &fence->lock, dma_fence_context_alloc(1), 1);
> + dma_fence_init(&fence->base, &ivpu_fence_ops, &fence->lock, dma_fence_context_alloc(1), 1, 0);
>
> return &fence->base;
> }
> diff --git a/drivers/accel/rocket/rocket_job.c b/drivers/accel/rocket/rocket_job.c
> index ce994748dd5d..4526c28326bb 100644
> --- a/drivers/accel/rocket/rocket_job.c
> +++ b/drivers/accel/rocket/rocket_job.c
> @@ -61,7 +61,7 @@ static struct dma_fence *rocket_fence_create(struct rocket_core *core)
> return ERR_PTR(-ENOMEM);
>
> dma_fence_init(fence, &rocket_fence_ops, &core->fence_lock,
> - core->fence_context, ++core->emit_seqno);
> + core->fence_context, ++core->emit_seqno, 0);
>
> return fence;
> }
> diff --git a/drivers/dma-buf/dma-fence-array.c b/drivers/dma-buf/dma-fence-array.c
> index 5e10e8df372f..e2dddbfddea2 100644
> --- a/drivers/dma-buf/dma-fence-array.c
> +++ b/drivers/dma-buf/dma-fence-array.c
> @@ -205,7 +205,7 @@ void dma_fence_array_init(struct dma_fence_array *array,
> array->num_fences = num_fences;
>
> dma_fence_init(&array->base, &dma_fence_array_ops, NULL, context,
> - seqno);
> + seqno, 0);
> init_irq_work(&array->work, irq_dma_fence_array_work);
>
> /*
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index bd58688b81a7..a640fb99f942 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -122,7 +122,7 @@ static const struct dma_fence_ops dma_fence_stub_ops = {
>
> static int __init dma_fence_init_stub(void)
> {
> - dma_fence_init(&dma_fence_stub, &dma_fence_stub_ops, NULL, 0, 0);
> + dma_fence_init(&dma_fence_stub, &dma_fence_stub_ops, NULL, 0, 0, 0);
> set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> &dma_fence_stub.flags);
> dma_fence_signal(&dma_fence_stub);
> @@ -156,7 +156,7 @@ struct dma_fence *dma_fence_allocate_private_stub(ktime_t timestamp)
> if (fence == NULL)
> return NULL;
>
> - dma_fence_init(fence, &dma_fence_stub_ops, NULL, 0, 0);
> + dma_fence_init(fence, &dma_fence_stub_ops, NULL, 0, 0, 0);
> set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> &fence->flags);
>
> @@ -1111,9 +1111,10 @@ __dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
> */
> void
> dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
> - spinlock_t *lock, u64 context, u64 seqno)
> + spinlock_t *lock, u64 context, u64 seqno,
> + unsigned long init_flags)
> {
> - __dma_fence_init(fence, ops, lock, context, seqno, 0UL);
> + __dma_fence_init(fence, ops, lock, context, seqno, 0);
> }
> EXPORT_SYMBOL(dma_fence_init);
>
> diff --git a/drivers/dma-buf/st-dma-fence-chain.c b/drivers/dma-buf/st-dma-fence-chain.c
> index e0d9b69bfa76..b9610df3ff19 100644
> --- a/drivers/dma-buf/st-dma-fence-chain.c
> +++ b/drivers/dma-buf/st-dma-fence-chain.c
> @@ -52,7 +52,7 @@ static struct dma_fence *mock_fence(void)
> return NULL;
>
> spin_lock_init(&f->lock);
> - dma_fence_init(&f->base, &mock_ops, &f->lock, 0, 0);
> + dma_fence_init(&f->base, &mock_ops, &f->lock, 0, 0, 0);
>
> return &f->base;
> }
> diff --git a/drivers/dma-buf/st-dma-fence-unwrap.c b/drivers/dma-buf/st-dma-fence-unwrap.c
> index c5353b36f0e4..dbebc3046d42 100644
> --- a/drivers/dma-buf/st-dma-fence-unwrap.c
> +++ b/drivers/dma-buf/st-dma-fence-unwrap.c
> @@ -36,7 +36,7 @@ static struct dma_fence *__mock_fence(u64 context, u64 seqno)
> return NULL;
>
> spin_lock_init(&f->lock);
> - dma_fence_init(&f->base, &mock_ops, &f->lock, context, seqno);
> + dma_fence_init(&f->base, &mock_ops, &f->lock, context, seqno, 0);
>
> return &f->base;
> }
> diff --git a/drivers/dma-buf/st-dma-fence.c b/drivers/dma-buf/st-dma-fence.c
> index cb62e606d0a2..b3f88e89cc44 100644
> --- a/drivers/dma-buf/st-dma-fence.c
> +++ b/drivers/dma-buf/st-dma-fence.c
> @@ -31,7 +31,7 @@ static struct dma_fence *mock_fence(void)
> if (!f)
> return NULL;
>
> - dma_fence_init(f, &mock_ops, NULL, 0, 0);
> + dma_fence_init(f, &mock_ops, NULL, 0, 0, 0);
> return f;
> }
>
> diff --git a/drivers/dma-buf/st-dma-resv.c b/drivers/dma-buf/st-dma-resv.c
> index 0b96136bbd54..c3a920ab3fcf 100644
> --- a/drivers/dma-buf/st-dma-resv.c
> +++ b/drivers/dma-buf/st-dma-resv.c
> @@ -35,7 +35,7 @@ static struct dma_fence *alloc_fence(void)
> if (!f)
> return NULL;
>
> - dma_fence_init(f, &fence_ops, &fence_lock, 0, 0);
> + dma_fence_init(f, &fence_ops, &fence_lock, 0, 0, 0);
> return f;
> }
>
> diff --git a/drivers/dma-buf/sw_sync.c b/drivers/dma-buf/sw_sync.c
> index 8df20b0218a9..ce43af7e735e 100644
> --- a/drivers/dma-buf/sw_sync.c
> +++ b/drivers/dma-buf/sw_sync.c
> @@ -258,7 +258,7 @@ static struct sync_pt *sync_pt_create(struct sync_timeline *obj,
>
> sync_timeline_get(obj);
> dma_fence_init(&pt->base, &timeline_fence_ops, &obj->lock,
> - obj->context, value);
> + obj->context, value, 0);
> INIT_LIST_HEAD(&pt->link);
>
> spin_lock_irq(&obj->lock);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
> index 9b10d015671c..30ccdb3e0b47 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
> @@ -77,7 +77,7 @@ struct amdgpu_amdkfd_fence *amdgpu_amdkfd_fence_create(u64 context,
> spin_lock_init(&fence->lock);
> fence->context_id = context_id;
> dma_fence_init(&fence->base, &amdkfd_fence_ops, &fence->lock,
> - context, atomic_inc_return(&fence_seq));
> + context, atomic_inc_return(&fence_seq), 0);
>
> return fence;
> }
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> index 3043ad041bb4..e635884a218b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> @@ -112,7 +112,7 @@ void amdgpu_fence_emit(struct amdgpu_ring *ring, struct amdgpu_fence *af,
> seq = ++ring->fence_drv.sync_seq;
> dma_fence_init(fence, &amdgpu_fence_ops,
> &ring->fence_drv.lock,
> - adev->fence_context + ring->idx, seq);
> + adev->fence_context + ring->idx, seq, 0);
>
> amdgpu_ring_emit_fence(ring, ring->fence_drv.gpu_addr,
> seq, flags | AMDGPU_FENCE_FLAG_INT);
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 63ead8ba6756..92641bc0a378 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -190,7 +190,7 @@ struct dma_fence *drm_crtc_create_fence(struct drm_crtc *crtc)
> return NULL;
>
> dma_fence_init(fence, &drm_crtc_fence_ops, &crtc->fence_lock,
> - crtc->fence_context, ++crtc->fence_seqno);
> + crtc->fence_context, ++crtc->fence_seqno, 0);
>
> return fence;
> }
> diff --git a/drivers/gpu/drm/drm_writeback.c b/drivers/gpu/drm/drm_writeback.c
> index b4a002e6d043..64b06b890f19 100644
> --- a/drivers/gpu/drm/drm_writeback.c
> +++ b/drivers/gpu/drm/drm_writeback.c
> @@ -592,7 +592,7 @@ drm_writeback_get_out_fence(struct drm_writeback_connector *wb_connector)
>
> dma_fence_init(fence, &drm_writeback_fence_ops,
> &wb_connector->fence_lock, wb_connector->fence_context,
> - ++wb_connector->fence_seqno);
> + ++wb_connector->fence_seqno, 0);
>
> return fence;
> }
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> index 5c23182f4d33..36f88e0a2063 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> @@ -1207,7 +1207,7 @@ static struct dma_fence *etnaviv_gpu_fence_alloc(struct etnaviv_gpu *gpu)
> f->gpu = gpu;
>
> dma_fence_init(&f->base, &etnaviv_fence_ops, &gpu->fence_spinlock,
> - gpu->fence_context, ++gpu->next_fence);
> + gpu->fence_context, ++gpu->next_fence, 0);
>
> return &f->base;
> }
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
> index 56489cc127d6..ffaa70191f27 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
> @@ -437,7 +437,7 @@ i915_ttm_memcpy_work_arm(struct i915_ttm_memcpy_work *work,
> int ret;
>
> spin_lock_init(&work->lock);
> - dma_fence_init(&work->fence, &dma_fence_memcpy_ops, &work->lock, 0, 0);
> + dma_fence_init(&work->fence, &dma_fence_memcpy_ops, &work->lock, 0, 0, 0);
> dma_fence_get(&work->fence);
> ret = dma_fence_add_callback(dep, &work->cb, __memcpy_cb);
> if (ret) {
> diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> index d2c7b1090df0..640f83615726 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -955,7 +955,7 @@ __i915_request_create(struct intel_context *ce, gfp_t gfp)
> goto err_free;
>
> dma_fence_init(&rq->fence, &i915_fence_ops, &rq->lock,
> - tl->fence_context, seqno);
> + tl->fence_context, seqno, 0);
>
> RCU_INIT_POINTER(rq->timeline, tl);
> rq->hwsp_seqno = tl->hwsp_seqno;
> diff --git a/drivers/gpu/drm/i915/i915_sw_fence_work.c b/drivers/gpu/drm/i915/i915_sw_fence_work.c
> index 366418108f78..4cd44dd26e35 100644
> --- a/drivers/gpu/drm/i915/i915_sw_fence_work.c
> +++ b/drivers/gpu/drm/i915/i915_sw_fence_work.c
> @@ -85,7 +85,7 @@ void dma_fence_work_init(struct dma_fence_work *f,
> {
> f->ops = ops;
> spin_lock_init(&f->lock);
> - dma_fence_init(&f->dma, &fence_ops, &f->lock, 0, 0);
> + dma_fence_init(&f->dma, &fence_ops, &f->lock, 0, 0, 0);
> i915_sw_fence_init(&f->chain, fence_notify);
> INIT_WORK(&f->work, fence_work);
> }
> diff --git a/drivers/gpu/drm/i915/i915_vma_resource.c b/drivers/gpu/drm/i915/i915_vma_resource.c
> index a8f2112ce81f..19596410e32f 100644
> --- a/drivers/gpu/drm/i915/i915_vma_resource.c
> +++ b/drivers/gpu/drm/i915/i915_vma_resource.c
> @@ -263,7 +263,7 @@ void __i915_vma_resource_init(struct i915_vma_resource *vma_res)
> {
> spin_lock_init(&vma_res->lock);
> dma_fence_init(&vma_res->unbind_fence, &unbind_fence_ops,
> - &vma_res->lock, 0, 0);
> + &vma_res->lock, 0, 0, 0);
> refcount_set(&vma_res->hold_count, 1);
> i915_sw_fence_init(&vma_res->chain, i915_vma_resource_fence_notify);
> }
> diff --git a/drivers/gpu/drm/i915/selftests/i915_sw_fence.c b/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
> index 6a305322e30d..ca1f3dbe59f7 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
> @@ -641,7 +641,7 @@ static struct dma_fence *alloc_dma_fence(void)
>
> dma = kmalloc_obj(*dma);
> if (dma)
> - dma_fence_init(dma, &mock_fence_ops, &mock_fence_lock, 0, 0);
> + dma_fence_init(dma, &mock_fence_ops, &mock_fence_lock, 0, 0, 0);
>
> return dma;
> }
> diff --git a/drivers/gpu/drm/imagination/pvr_ccb.c b/drivers/gpu/drm/imagination/pvr_ccb.c
> index e408df74853d..7043b491fe54 100644
> --- a/drivers/gpu/drm/imagination/pvr_ccb.c
> +++ b/drivers/gpu/drm/imagination/pvr_ccb.c
> @@ -645,7 +645,7 @@ pvr_kccb_reserve_slot(struct pvr_device *pvr_dev, struct dma_fence *f)
> dma_fence_init(&fence->base, &pvr_kccb_fence_ops,
> &pvr_dev->kccb.fence_ctx.lock,
> pvr_dev->kccb.fence_ctx.id,
> - atomic_inc_return(&pvr_dev->kccb.fence_ctx.seqno));
> + atomic_inc_return(&pvr_dev->kccb.fence_ctx.seqno), 0);
> out_fence = dma_fence_get(&fence->base);
> list_add_tail(&fence->node, &pvr_dev->kccb.waiters);
> } else {
> diff --git a/drivers/gpu/drm/imagination/pvr_queue.c b/drivers/gpu/drm/imagination/pvr_queue.c
> index 24a8645aa913..34b826381aa2 100644
> --- a/drivers/gpu/drm/imagination/pvr_queue.c
> +++ b/drivers/gpu/drm/imagination/pvr_queue.c
> @@ -305,7 +305,7 @@ pvr_queue_fence_init(struct dma_fence *f,
> INIT_WORK(&fence->release_work, pvr_queue_fence_release_work);
> dma_fence_init(&fence->base, fence_ops,
> &fence_ctx->lock, fence_ctx->id,
> - atomic_inc_return(&fence_ctx->seqno));
> + atomic_inc_return(&fence_ctx->seqno), 0);
> }
>
> /**
> diff --git a/drivers/gpu/drm/lima/lima_sched.c b/drivers/gpu/drm/lima/lima_sched.c
> index 9a1e6b9ecbe5..fee595b9629a 100644
> --- a/drivers/gpu/drm/lima/lima_sched.c
> +++ b/drivers/gpu/drm/lima/lima_sched.c
> @@ -97,7 +97,7 @@ static struct lima_fence *lima_fence_create(struct lima_sched_pipe *pipe)
>
> fence->pipe = pipe;
> dma_fence_init(&fence->base, &lima_fence_ops, &pipe->fence_lock,
> - pipe->fence_context, ++pipe->fence_seqno);
> + pipe->fence_context, ++pipe->fence_seqno, 0);
>
> return fence;
> }
> diff --git a/drivers/gpu/drm/msm/msm_fence.c b/drivers/gpu/drm/msm/msm_fence.c
> index 3dca8e09c192..1ec59919c32e 100644
> --- a/drivers/gpu/drm/msm/msm_fence.c
> +++ b/drivers/gpu/drm/msm/msm_fence.c
> @@ -197,5 +197,5 @@ msm_fence_init(struct dma_fence *fence, struct msm_fence_context *fctx)
> WARN_ON(kref_read(&fence->refcount));
>
> dma_fence_init(&f->base, &msm_fence_ops, &fctx->spinlock,
> - fctx->context, ++fctx->last_fence);
> + fctx->context, ++fctx->last_fence, 0);
> }
> diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c
> index 11e95c37ce50..97e20954c71b 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_fence.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_fence.c
> @@ -216,10 +216,10 @@ nouveau_fence_emit(struct nouveau_fence *fence)
>
> if (priv->uevent)
> dma_fence_init(&fence->base, &nouveau_fence_ops_uevent,
> - &fctx->lock, fctx->context, ++fctx->sequence);
> + &fctx->lock, fctx->context, ++fctx->sequence, 0);
> else
> dma_fence_init(&fence->base, &nouveau_fence_ops_legacy,
> - &fctx->lock, fctx->context, ++fctx->sequence);
> + &fctx->lock, fctx->context, ++fctx->sequence, 0);
> kref_get(&fctx->fence_ref);
>
> ret = fctx->emit(fence);
> diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c
> index 4ddf4b722ddf..de242d275978 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_job.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_job.c
> @@ -105,7 +105,7 @@ static struct dma_fence *panfrost_fence_create(struct panfrost_device *pfdev, in
> fence->queue = js_num;
> fence->seqno = ++js->queue[js_num].emit_seqno;
> dma_fence_init(&fence->base, &panfrost_fence_ops, &js->job_lock,
> - js->queue[js_num].fence_context, fence->seqno);
> + js->queue[js_num].fence_context, fence->seqno, 0);
>
> return &fence->base;
> }
> diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c
> index a343c5180e01..c46f69ade7a0 100644
> --- a/drivers/gpu/drm/panthor/panthor_sched.c
> +++ b/drivers/gpu/drm/panthor/panthor_sched.c
> @@ -3322,7 +3322,7 @@ queue_run_job(struct drm_sched_job *sched_job)
> &panthor_queue_fence_ops,
> &queue->fence_ctx.lock,
> queue->fence_ctx.id,
> - atomic64_inc_return(&queue->fence_ctx.seqno));
> + atomic64_inc_return(&queue->fence_ctx.seqno), 0);
>
> job->profiling.slot = queue->profiling.seqno++;
> if (queue->profiling.seqno == queue->profiling.slot_count)
> diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c
> index 06979d0e8a9f..2608d82f7370 100644
> --- a/drivers/gpu/drm/qxl/qxl_release.c
> +++ b/drivers/gpu/drm/qxl/qxl_release.c
> @@ -430,7 +430,7 @@ void qxl_release_fence_buffer_objects(struct qxl_release *release)
> * set the highest bits. This will break if we really allow exporting of dma-bufs.
> */
> dma_fence_init(&release->base, &qxl_fence_ops, &qdev->release_lock,
> - release->id | 0xf0000000, release->base.seqno);
> + release->id | 0xf0000000, release->base.seqno, 0);
> trace_dma_fence_emit(&release->base);
>
> list_for_each_entry(entry, &release->bos, list) {
> diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
> index 8e9402b8811b..1360b5215f5e 100644
> --- a/drivers/gpu/drm/radeon/radeon_fence.c
> +++ b/drivers/gpu/drm/radeon/radeon_fence.c
> @@ -148,7 +148,7 @@ int radeon_fence_emit(struct radeon_device *rdev,
> dma_fence_init(&(*fence)->base, &radeon_fence_ops,
> &rdev->fence_queue.lock,
> rdev->fence_context + ring,
> - seq);
> + seq, 0);
> radeon_fence_ring_emit(rdev, ring, *fence);
> trace_radeon_fence_emit(rdev_to_drm(rdev), ring, (*fence)->seq);
> radeon_fence_schedule_check(rdev, ring);
> diff --git a/drivers/gpu/drm/scheduler/sched_fence.c b/drivers/gpu/drm/scheduler/sched_fence.c
> index b7a4cb921234..94ba0cf4fe02 100644
> --- a/drivers/gpu/drm/scheduler/sched_fence.c
> +++ b/drivers/gpu/drm/scheduler/sched_fence.c
> @@ -229,9 +229,9 @@ void drm_sched_fence_init(struct drm_sched_fence *fence,
> fence->sched = entity->rq->sched;
> seq = atomic_inc_return(&entity->fence_seq);
> dma_fence_init(&fence->scheduled, &drm_sched_fence_ops_scheduled,
> - &fence->lock, entity->fence_context, seq);
> + &fence->lock, entity->fence_context, seq, 0);
> dma_fence_init(&fence->finished, &drm_sched_fence_ops_finished,
> - &fence->lock, entity->fence_context + 1, seq);
> + &fence->lock, entity->fence_context + 1, seq, 0);
> }
>
> module_init(drm_sched_fence_slab_init);
> diff --git a/drivers/gpu/drm/scheduler/tests/mock_scheduler.c b/drivers/gpu/drm/scheduler/tests/mock_scheduler.c
> index 2dfa3efef210..169792a4b329 100644
> --- a/drivers/gpu/drm/scheduler/tests/mock_scheduler.c
> +++ b/drivers/gpu/drm/scheduler/tests/mock_scheduler.c
> @@ -173,7 +173,7 @@ static struct dma_fence *mock_sched_run_job(struct drm_sched_job *sched_job)
> &drm_mock_sched_hw_fence_ops,
> &sched->lock,
> sched->hw_timeline.context,
> - atomic_inc_return(&sched->hw_timeline.next_seqno));
> + atomic_inc_return(&sched->hw_timeline.next_seqno), 0);
>
> dma_fence_get(&job->hw_fence); /* Reference for the job_list */
>
> diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
> index f3103307b5df..633cc7458505 100644
> --- a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
> +++ b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c
> @@ -450,7 +450,7 @@ static void ttm_bo_fini_shared_resv(struct kunit *test)
> KUNIT_ASSERT_NOT_NULL(test, fence);
>
> spin_lock_init(&fence_lock);
> - dma_fence_init(fence, &mock_fence_ops, &fence_lock, 0, 0);
> + dma_fence_init(fence, &mock_fence_ops, &fence_lock, 0, 0, 0);
>
> dma_resv_lock(external_resv, NULL);
> dma_resv_reserve_fences(external_resv, 1);
> diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c
> index 56ad8ef32584..e22a1335f166 100644
> --- a/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c
> +++ b/drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c
> @@ -57,7 +57,7 @@ static struct dma_fence *alloc_mock_fence(struct kunit *test)
> fence = kunit_kzalloc(test, sizeof(*fence), GFP_KERNEL);
> KUNIT_ASSERT_NOT_NULL(test, fence);
>
> - dma_fence_init(fence, &fence_ops, &fence_lock, 0, 0);
> + dma_fence_init(fence, &fence_ops, &fence_lock, 0, 0, 0);
>
> return fence;
> }
> diff --git a/drivers/gpu/drm/v3d/v3d_fence.c b/drivers/gpu/drm/v3d/v3d_fence.c
> index c500136d0455..1fdba5a21580 100644
> --- a/drivers/gpu/drm/v3d/v3d_fence.c
> +++ b/drivers/gpu/drm/v3d/v3d_fence.c
> @@ -16,7 +16,7 @@ struct dma_fence *v3d_fence_create(struct v3d_dev *v3d, enum v3d_queue q)
> fence->queue = q;
> fence->seqno = ++queue->emit_seqno;
> dma_fence_init(&fence->base, &v3d_fence_ops, &queue->queue_lock,
> - queue->fence_context, fence->seqno);
> + queue->fence_context, fence->seqno, 0);
>
> return &fence->base;
> }
> diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
> index 0ea921bab906..d2ddafe6f87a 100644
> --- a/drivers/gpu/drm/vc4/vc4_gem.c
> +++ b/drivers/gpu/drm/vc4/vc4_gem.c
> @@ -648,7 +648,7 @@ vc4_queue_submit(struct drm_device *dev, struct vc4_exec_info *exec,
> exec->seqno = seqno;
>
> dma_fence_init(&fence->base, &vc4_fence_ops, &vc4->job_lock,
> - vc4->dma_fence_context, exec->seqno);
> + vc4->dma_fence_context, exec->seqno, 0);
> fence->seqno = exec->seqno;
> exec->fence = &fence->base;
>
> diff --git a/drivers/gpu/drm/vgem/vgem_fence.c b/drivers/gpu/drm/vgem/vgem_fence.c
> index 0e53ba7db629..18700e5f9167 100644
> --- a/drivers/gpu/drm/vgem/vgem_fence.c
> +++ b/drivers/gpu/drm/vgem/vgem_fence.c
> @@ -77,7 +77,7 @@ static struct dma_fence *vgem_fence_create(struct vgem_file *vfile,
>
> spin_lock_init(&fence->lock);
> dma_fence_init(&fence->base, &vgem_fence_ops, &fence->lock,
> - dma_fence_context_alloc(1), 1);
> + dma_fence_context_alloc(1), 1, 0);
>
> timer_setup(&fence->timer, vgem_fence_timeout, TIMER_IRQSAFE);
>
> diff --git a/drivers/gpu/drm/virtio/virtgpu_fence.c b/drivers/gpu/drm/virtio/virtgpu_fence.c
> index c3e66ef2133a..8e469391d2e4 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_fence.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_fence.c
> @@ -76,7 +76,7 @@ struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev,
> */
>
> dma_fence_init(&fence->f, &virtio_gpu_fence_ops, &drv->lock,
> - fence_context, 0);
> + fence_context, 0, 0);
>
> return fence;
> }
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
> index 384c6736cf6b..15f355dc6881 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
> @@ -163,7 +163,7 @@ static int vmw_fence_obj_init(struct vmw_fence_manager *fman,
> int ret = 0;
>
> dma_fence_init(&fence->base, &vmw_fence_ops, &fman->lock,
> - fman->ctx, seqno);
> + fman->ctx, seqno, 0);
> fence->destroy = destroy;
>
> spin_lock(&fman->lock);
> diff --git a/drivers/gpu/drm/xe/xe_hw_fence.c b/drivers/gpu/drm/xe/xe_hw_fence.c
> index 14720623ad00..30bfc42972e0 100644
> --- a/drivers/gpu/drm/xe/xe_hw_fence.c
> +++ b/drivers/gpu/drm/xe/xe_hw_fence.c
> @@ -243,7 +243,7 @@ void xe_hw_fence_init(struct dma_fence *fence, struct xe_hw_fence_ctx *ctx,
> INIT_LIST_HEAD(&hw_fence->irq_link);
>
> dma_fence_init(fence, &xe_hw_fence_ops, &ctx->irq->lock,
> - ctx->dma_fence_ctx, ctx->next_seqno++);
> + ctx->dma_fence_ctx, ctx->next_seqno++, 0);
>
> trace_xe_hw_fence_create(hw_fence);
> }
> diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c
> index a3484e943c55..2860fe73971f 100644
> --- a/drivers/gpu/drm/xe/xe_oa.c
> +++ b/drivers/gpu/drm/xe/xe_oa.c
> @@ -1045,7 +1045,7 @@ static int xe_oa_emit_oa_config(struct xe_oa_stream *stream, struct xe_oa_config
>
> /* Point of no return: initialize and set fence to signal */
> spin_lock_init(&ofence->lock);
> - dma_fence_init(&ofence->base, &xe_oa_fence_ops, &ofence->lock, 0, 0);
> + dma_fence_init(&ofence->base, &xe_oa_fence_ops, &ofence->lock, 0, 0, 0);
>
> for (i = 0; i < stream->num_syncs; i++) {
> if (stream->syncs[i].flags & DRM_XE_SYNC_FLAG_SIGNAL)
> diff --git a/drivers/gpu/drm/xe/xe_preempt_fence.c b/drivers/gpu/drm/xe/xe_preempt_fence.c
> index 4aa570fe745d..343f1ba1e1cd 100644
> --- a/drivers/gpu/drm/xe/xe_preempt_fence.c
> +++ b/drivers/gpu/drm/xe/xe_preempt_fence.c
> @@ -154,7 +154,7 @@ xe_preempt_fence_arm(struct xe_preempt_fence *pfence, struct xe_exec_queue *q,
> pfence->q = xe_exec_queue_get(q);
> spin_lock_init(&pfence->lock);
> dma_fence_init(&pfence->base, &preempt_fence_ops,
> - &pfence->lock, context, seqno);
> + &pfence->lock, context, seqno, 0);
>
> return &pfence->base;
> }
> diff --git a/drivers/gpu/drm/xe/xe_tlb_inval.c b/drivers/gpu/drm/xe/xe_tlb_inval.c
> index dd1030de9ab6..8edf64337196 100644
> --- a/drivers/gpu/drm/xe/xe_tlb_inval.c
> +++ b/drivers/gpu/drm/xe/xe_tlb_inval.c
> @@ -490,7 +490,7 @@ void xe_tlb_inval_fence_init(struct xe_tlb_inval *tlb_inval,
>
> spin_lock_irq(&tlb_inval->lock);
> dma_fence_init(&fence->base, &inval_fence_ops, &tlb_inval->lock,
> - dma_fence_context_alloc(1), 1);
> + dma_fence_context_alloc(1), 1, 0);
> spin_unlock_irq(&tlb_inval->lock);
> INIT_LIST_HEAD(&fence->link);
> if (stack)
> diff --git a/drivers/gpu/host1x/fence.c b/drivers/gpu/host1x/fence.c
> index 1acf579c562b..7e074e72a055 100644
> --- a/drivers/gpu/host1x/fence.c
> +++ b/drivers/gpu/host1x/fence.c
> @@ -136,7 +136,7 @@ struct dma_fence *host1x_fence_create(struct host1x_syncpt *sp, u32 threshold,
> fence->timeout = timeout;
>
> dma_fence_init(&fence->base, &host1x_syncpt_fence_ops, &sp->fences.lock,
> - dma_fence_context_alloc(1), 0);
> + dma_fence_context_alloc(1), 0, 0);
>
> INIT_DELAYED_WORK(&fence->timeout_work, do_fence_timeout);
>
> diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
> index 2c9ec93dff47..57d8a61e5054 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -1900,7 +1900,7 @@ static int iio_buffer_enqueue_dmabuf(struct iio_dev_buffer_pair *ib,
> * the dma_fence.
> */
> dma_fence_init(&fence->base, &iio_buffer_dma_fence_ops,
> - &fence->lock, priv->context, seqno);
> + &fence->lock, priv->context, seqno, 0);
>
> ret = iio_dma_resv_lock(dmabuf, nonblock);
> if (ret)
> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
> index 43962e05eacf..dd09f71d2069 100644
> --- a/drivers/usb/gadget/function/f_fs.c
> +++ b/drivers/usb/gadget/function/f_fs.c
> @@ -1733,7 +1733,7 @@ static int ffs_dmabuf_transfer(struct file *file,
> seqno = atomic_add_return(1, &epfile->seqno);
>
> dma_fence_init(&fence->base, &ffs_dmabuf_fence_ops,
> - &priv->lock, priv->context, seqno);
> + &priv->lock, priv->context, seqno, 0);
>
> resv_dir = epfile->in ? DMA_RESV_USAGE_READ : DMA_RESV_USAGE_WRITE;
>
> diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
> index dd07d128adc3..0cb425f7d5e9 100644
> --- a/include/linux/dma-fence.h
> +++ b/include/linux/dma-fence.h
> @@ -103,6 +103,11 @@ struct dma_fence {
> int error;
> };
>
> +/** enum dma_fence_flag_bits - internal dma_fence flags
> + *
> + * These flags are all only for internal usage, with the exception of the
> + * remaining free bits beginning at DMA_FENCE_FLAG_USER_BITS.
> + */
> enum dma_fence_flag_bits {
> DMA_FENCE_FLAG_INITIALIZED_BIT,
> DMA_FENCE_FLAG_INLINE_LOCK_BIT,
> @@ -110,9 +115,21 @@ enum dma_fence_flag_bits {
> DMA_FENCE_FLAG_SIGNALED_BIT,
> DMA_FENCE_FLAG_TIMESTAMP_BIT,
> DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> +
> DMA_FENCE_FLAG_USER_BITS, /* must always be last member */
> };
>
> +/** enum dma_fence_init_flag_bits - flags the user can specify for new fences
> + *
> + * These flags can be passed in dma_fence_init().
> + *
> + * DMA_FENCE_FLAG_SEQNO64_BIT - use 64-bit sequence numbers
> + */
> +enum dma_fence_init_flags {
> + /* Must always be last member. */
> + DMA_FENCE_INIT_FLAG_NR_OF_FLAGs,
> +};
> +
> typedef void (*dma_fence_func_t)(struct dma_fence *fence,
> struct dma_fence_cb *cb);
>
> @@ -279,11 +296,10 @@ struct dma_fence_ops {
> };
>
> void dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
> - spinlock_t *lock, u64 context, u64 seqno);
> -
> + spinlock_t *lock, u64 context, u64 seqno,
> + unsigned long flags);
> void dma_fence_init64(struct dma_fence *fence, const struct dma_fence_ops *ops,
> spinlock_t *lock, u64 context, u64 seqno);
> -
> void dma_fence_release(struct kref *kref);
> void dma_fence_free(struct dma_fence *fence);
> void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq);
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race
2026-10-29 10:28 ` Philipp Stanner
2026-10-29 11:23 ` Lucas Stach
@ 2026-10-29 13:43 ` Christian König
1 sibling, 0 replies; 17+ messages in thread
From: Christian König @ 2026-10-29 13:43 UTC (permalink / raw)
To: phasta, Lucas Stach, Min Ma, Lizhi Hou, Oded Gabbay,
Rob Herring (Arm), Tomeu Vizoso, Karol Wachowski,
Andrzej Kacprowski, Sumit Semwal, Felix Kuehling, Alex Deucher,
David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Russell King, Christian Gmeiner, Jani Nikula,
Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, Alessio Belle,
Luigi Santivetti, Qiang Yu, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten,
Lyude Paul, Danilo Krummrich, Boris Brezillon, Steven Price,
Adrián Larumbe, Liviu Dudau, Dave Airlie, Gerd Hoffmann,
Matthew Brost, Natalie Vock, Arun Pravin, Matthew Auld,
Thomas Hellström, Melissa Wen, Maíra Canal,
Dave Stevenson, Raspberry Pi Kernel Maintenance, Dmitry Osipenko,
Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis
Cc: dri-devel, linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
Hi guys,
On 10/29/26 11:28, Philipp Stanner wrote:
> On Thu, 2026-10-29 at 11:23 +0100, Lucas Stach wrote:
>> Hi Philipp, hi Christian,
>
> Jo Lucas
>
>>
>> Am Donnerstag, dem 29.10.2026 um 10:55 +0100 schrieb Philipp Stanner:
>
> […]
>
>> I think we would all be interested in the actual use-case that's
>> sensitive to this kind of latency.
Well everything which wants things to start as early as possible when the fence is signaled and not wait for the callbacks to run is affected.
If I'm not completely mistaken when we start to wait for the callbacks to finish in is_signaled we break more things than we fix because some people relied on timing here.
> Me too.
>
> Let me use this opportunity to stress that in the future, in DRM,
> whenever we have [to accept] a racy "optimization", both commit
> messages and code comments must document why it exists and who
> requested it with what proof.
That is a really good idea I think.
>
> Would save us lots of time when those things are discussed >5 years
> later.
>
>>
>> However, I wonder if this is even an issue anymore with the lock
>> inlined into the fence structure.
>
> Almost no one uses inline-lock so far. So unfortunately, we might
> regress old drivers, maybe.
Considering that I still get bug reports even for the performance of radeon when we change things I fear that this is true.
Regards,
Christian.
>
> But sounds as if you're in favor of phasing the locklessness out :)
>
>
> P.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC PATCH 5/6] dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default
2026-10-29 9:55 ` [RFC PATCH 5/6] dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default Philipp Stanner
@ 2026-10-29 16:00 ` Matthew Brost
0 siblings, 0 replies; 17+ messages in thread
From: Matthew Brost @ 2026-10-29 16:00 UTC (permalink / raw)
To: Philipp Stanner
Cc: Min Ma, Lizhi Hou, Oded Gabbay, Rob Herring (Arm), Tomeu Vizoso,
Karol Wachowski, Andrzej Kacprowski, Sumit Semwal,
Christian König, Felix Kuehling, Alex Deucher, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lucas Stach, Russell King, Christian Gmeiner,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
Alessio Belle, Luigi Santivetti, Qiang Yu, Rob Clark,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Sean Paul,
Marijn Suijten, Lyude Paul, Danilo Krummrich, Boris Brezillon,
Steven Price, Adrián Larumbe, Liviu Dudau, Dave Airlie,
Gerd Hoffmann, Natalie Vock, Arun Pravin, Matthew Auld,
Thomas Hellström, Melissa Wen, Maíra Canal,
Dave Stevenson, Raspberry Pi Kernel Maintenance, Dmitry Osipenko,
Gurchetan Singh, Chia-I Wu, Zack Rusin,
Broadcom internal kernel review list, Thierry Reding,
Mikko Perttunen, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Greg Kroah-Hartman, Sunil Khatri, Kees Cook,
Jesse Zhang, Timur Kristóf, Srinivasan Shanmugam, Kexin Sun,
Prike Liang, David Rosca, Krzysztof Karas, Marco Crivellari,
Shixiong Ou, Jouni Högander, Thadeu Lima de Souza Cascardo,
Pierre-Eric Pelloux-Prayer, Joel Fernandes, Al Viro, Neill Kapron,
Michael Bommarito, Sam Day, Gabriel Prostitis, dri-devel,
linux-kernel, linux-media, amd-gfx, etnaviv, intel-gfx,
imagination, lima, linux-arm-msm, freedreno, nouveau,
virtualization, spice-devel, intel-xe, linux-tegra, linux-iio,
linux-usb
On Thu, Oct 29, 2026 at 10:55:42AM +0100, Philipp Stanner wrote:
> dma_fence_is_signaled() contains a lockless check of the signaled-bit,
> which is set under lock protection. This is a race condition which makes
> the API fragile and has caused at least two bugs already, addressed in:
>
> commit c8a5d5ea3ba6 ("nouveau: fix client work fence deletion race")
> commit 7c703a7d3f2b ("drm/amdgpu: Fix one use-after-free of VM")
>
> It has been argued by some that this race cannot be closed for the
> entire kernel through locking because this would lead to a cache line
> invalidation for all parties reading that fence. While it remains
> unclear why these parties don't simply let themselves be notified about
> the fence being signaled instead of checking this repeatedly manually,
> there is a way to preserve this behavior in any case:
>
> This patch adds a new flag for dma_fence_init(),
> DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK. If this flag is not set, the
> spinlock is taken and dma_fence_is_signaled() becomes perfectly
> synchronized: it can only return true once signaling of the fence is
> completed.
>
> Disable the racy check for everyone by default. Should some parties
> really experience severe performance degredations because of this, they
> can trivially re-enable the race condition for their driver by setting
> the flag in dma_fence_init().
>
My 2 cents - anyone arguing about cachelines probably has broken code to
begin with. I'd say don't give anyone an option to opt into a racey
check, if this regressing some peoples code the answer is likely
structurally fix your broken code.
Matt
> Signed-off-by: Philipp Stanner <phasta@kernel.org>
> ---
> drivers/dma-buf/dma-fence.c | 2 ++
> include/linux/dma-fence.h | 22 ++++++++++++++++++++++
> 2 files changed, 24 insertions(+)
>
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index f7c084926ae6..1ae8c7aade39 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -1119,6 +1119,8 @@ dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
> /* Mapp the init_flags to the fence-internal flags. */
> if (test_bit(DMA_FENCE_INIT_FLAG_SEQNO64, &init_flags))
> set_bit(DMA_FENCE_FLAG_SEQNO64_BIT, &fence_flag_bits);
> + if (test_bit(DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK, &init_flags))
> + set_bit(DMA_FENCE_FLAG_RACY_SIGNALED_CHECK_BIT, &fence_flag_bits);
>
> __dma_fence_init(fence, ops, lock, context, seqno, fence_flag_bits);
> }
> diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
> index 52e7ddfd2d06..ee6e8de3ebc6 100644
> --- a/include/linux/dma-fence.h
> +++ b/include/linux/dma-fence.h
> @@ -115,6 +115,7 @@ enum dma_fence_flag_bits {
> DMA_FENCE_FLAG_SIGNALED_BIT,
> DMA_FENCE_FLAG_TIMESTAMP_BIT,
> DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> + DMA_FENCE_FLAG_RACY_SIGNALED_CHECK_BIT,
>
> DMA_FENCE_FLAG_USER_BITS, /* must always be last member */
> };
> @@ -124,9 +125,12 @@ enum dma_fence_flag_bits {
> * These flags can be passed in dma_fence_init().
> *
> * @DMA_FENCE_INIT_FLAG_SEQNO64: Use 64-bit sequence numbers.
> + * @DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK:
> + * Legacy flag. Enables a race condition in dma_fence_is_signaled().
> */
> enum dma_fence_init_flags {
> DMA_FENCE_INIT_FLAG_SEQNO64,
> + DMA_FENCE_INIT_FLAG_RACY_SIGNALED_CHECK,
>
> /* Must always be last member. */
> DMA_FENCE_INIT_FLAG_NR_OF_FLAGs,
> @@ -568,9 +572,27 @@ dma_fence_is_signaled_locked(struct dma_fence *fence)
> static inline bool
> dma_fence_is_signaled(struct dma_fence *fence)
> {
> + const bool racy_check = test_bit(DMA_FENCE_FLAG_RACY_SIGNALED_CHECK_BIT,
> + &fence->flags);
> const struct dma_fence_ops *ops;
> + bool signaled = false;
> + unsigned long flags;
>
> + /*
> + * For legacy reasons, there is a race window here against parties
> + * signaling the fence. They might still be doing that right now.
> + *
> + * For most users, this window shall be closed, but there are parties
> + * for whom the cache-line invalidation by taking the lock might be so
> + * significant that they prefer to accept the race at their own risk.
> + */
> + if (!racy_check)
> + dma_fence_lock_irqsave(fence, flags);
> if (dma_fence_test_signaled_flag(fence))
> + signaled = true;
> + if (!racy_check)
> + dma_fence_unlock_irqrestore(fence, flags);
> + if (signaled)
> return true;
>
> rcu_read_lock();
> --
> 2.56.0
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* ✗ Xe.CI.FULL: failure for dma-buf: Phase out is_signaled() race
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
` (9 preceding siblings ...)
2026-10-29 10:46 ` ✓ Xe.CI.BAT: success for " Patchwork
@ 2026-10-29 23:07 ` Patchwork
10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2026-10-29 23:07 UTC (permalink / raw)
To: Philipp Stanner; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 86224 bytes --]
== Series Details ==
Series: dma-buf: Phase out is_signaled() race
URL : https://patchwork.freedesktop.org/series/177133/
State : failure
== Summary ==
CI Bug Log - changes from xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201_FULL -> xe-pw-177133v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-177133v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-177133v1_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 (3 -> 3)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-177133v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_content_protection@legacy-hdcp14@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [INCOMPLETE][1] +1 other test incomplete
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@kms_content_protection@legacy-hdcp14@pipe-a-dp-2.html
New tests
---------
New tests have been introduced between xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201_FULL and xe-pw-177133v1_FULL:
### New IGT tests (2) ###
* igt@xe_oa@tail-address-wrap@oam-2-1m:
- Statuses : 1 pass(s)
- Exec time: [0.14] s
* igt@xe_oa@tail-address-wrap@sag-1-1m:
- Statuses : 1 pass(s)
- Exec time: [0.14] s
Known issues
------------
Here are the changes found in xe-pw-177133v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@intel_hwmon@hwmon-write:
- shard-ptl: NOTRUN -> [SKIP][2] ([Intel XE#7225]) +1 other test skip
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@intel_hwmon@hwmon-write.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- shard-ptl: NOTRUN -> [SKIP][3] ([Intel XE#5765])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-ptl: NOTRUN -> [SKIP][4] ([Intel XE#3157])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_async_flips@alternate-sync-async-flip:
- shard-bmg: [PASS][5] -> [FAIL][6] ([Intel XE#3718] / [Intel XE#6078])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-5/igt@kms_async_flips@alternate-sync-async-flip.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-10/igt@kms_async_flips@alternate-sync-async-flip.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-a-dp-2:
- shard-bmg: [PASS][7] -> [FAIL][8] ([Intel XE#6078])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-5/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-dp-2.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-10/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-dp-2.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-ptl: NOTRUN -> [SKIP][9] ([Intel XE#5947]) +1 other test skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
- shard-lnl: NOTRUN -> [SKIP][10] ([Intel XE#3279])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-270:
- shard-ptl: NOTRUN -> [SKIP][11] ([Intel XE#5901]) +17 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-ptl: NOTRUN -> [SKIP][12] ([Intel XE#6925]) +2 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip:
- shard-ptl: NOTRUN -> [SKIP][13] ([Intel XE#7085]) +3 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html
* igt@kms_big_fb@x-tiled-addfb:
- shard-ptl: NOTRUN -> [SKIP][14] ([Intel XE#5850]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_big_fb@x-tiled-addfb.html
* igt@kms_big_fb@x-tiled-addfb-size-offset-overflow:
- shard-ptl: NOTRUN -> [SKIP][15] ([Intel XE#5851]) +2 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_big_fb@x-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#1124]) +2 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#1124])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
- shard-ptl: NOTRUN -> [SKIP][18] ([Intel XE#5808]) +88 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-ptl: NOTRUN -> [SKIP][19] ([Intel XE#5855]) +1 other test skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_bw@connected-linear-tiling-3-displays-target-2160x1440p:
- shard-ptl: NOTRUN -> [SKIP][20] ([Intel XE#7679]) +10 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_bw@connected-linear-tiling-3-displays-target-2160x1440p.html
* igt@kms_bw@linear-tiling-3-displays-target-1920x1080p:
- shard-ptl: NOTRUN -> [SKIP][21] ([Intel XE#367]) +7 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_bw@linear-tiling-3-displays-target-1920x1080p.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][22] ([Intel XE#2887]) +2 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-c-edp-1:
- shard-ptl: NOTRUN -> [SKIP][23] ([Intel XE#5823] / [Intel XE#6918]) +29 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-c-edp-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc:
- shard-ptl: NOTRUN -> [SKIP][24] ([Intel XE#5822]) +92 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs@pipe-c-dp-1:
- shard-bmg: NOTRUN -> [SKIP][25] ([Intel XE#2652]) +7 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-7/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs@pipe-c-dp-1.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#2887]) +4 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs.html
* igt@kms_cdclk@mode-transition:
- shard-ptl: NOTRUN -> [SKIP][27] ([Intel XE#9205]) +4 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-ptl: NOTRUN -> [SKIP][28] ([Intel XE#7008])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@plane-scaling@pipe-b-edp-1:
- shard-ptl: NOTRUN -> [SKIP][29] ([Intel XE#9219]) +4 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_cdclk@plane-scaling@pipe-b-edp-1.html
* igt@kms_chamelium_audio@dp-audio:
- shard-ptl: NOTRUN -> [SKIP][30] ([Intel XE#2252]) +44 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_chamelium_audio@dp-audio.html
* igt@kms_chamelium_color@ctm-0-25:
- shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#2325] / [Intel XE#7358])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_chamelium_color@ctm-0-25.html
* igt@kms_chamelium_color@ctm-blue-to-red:
- shard-ptl: NOTRUN -> [SKIP][32] ([Intel XE#5824]) +9 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_chamelium_color@ctm-blue-to-red.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4:
- shard-ptl: NOTRUN -> [SKIP][33] ([Intel XE#8391]) +18 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#7358]) +1 other test skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4.html
* igt@kms_chamelium_hpd@dp-hpd-after-runtime-suspend-d3hot:
- shard-ptl: NOTRUN -> [SKIP][35] ([Intel XE#9671]) +1 other test skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_chamelium_hpd@dp-hpd-after-runtime-suspend-d3hot.html
* igt@kms_chamelium_hpd@dp-hpd-for-each-pipe:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#2252])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_chamelium_hpd@dp-hpd-for-each-pipe.html
* igt@kms_chamelium_sharpness_filter@filter-basic:
- shard-ptl: NOTRUN -> [SKIP][37] ([Intel XE#6507])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_chamelium_sharpness_filter@filter-basic.html
* igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-3:
- shard-ptl: NOTRUN -> [SKIP][38] ([Intel XE#6969]) +68 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-3.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][39] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-ptl: NOTRUN -> [SKIP][40] ([Intel XE#5832] / [Intel XE#6974]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@dp-mst-type-0-suspend-resume:
- shard-ptl: NOTRUN -> [SKIP][41] ([Intel XE#6974]) +3 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#2390] / [Intel XE#6974])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@legacy-hdcp14:
- shard-lnl: NOTRUN -> [SKIP][43] ([Intel XE#7642])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_content_protection@legacy-hdcp14.html
* igt@kms_content_protection@lic-type-0:
- shard-ptl: NOTRUN -> [SKIP][44] ([Intel XE#7642]) +14 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@mei-interface:
- shard-ptl: NOTRUN -> [SKIP][45] ([Intel XE#5845])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@uevent-hdcp14@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][46] ([Intel XE#6707] / [Intel XE#7439])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@kms_content_protection@uevent-hdcp14@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-ptl: NOTRUN -> [SKIP][47] ([Intel XE#5846]) +9 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-onscreen-64x21:
- shard-bmg: NOTRUN -> [SKIP][48] ([Intel XE#2320]) +1 other test skip
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_cursor_crc@cursor-onscreen-64x21.html
* igt@kms_cursor_crc@cursor-rapid-movement-64x21:
- shard-ptl: NOTRUN -> [SKIP][49] ([Intel XE#5900]) +28 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html
* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-ptl: NOTRUN -> [SKIP][50] ([Intel XE#5962]) +19 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
- shard-ptl: NOTRUN -> [SKIP][51] ([Intel XE#5962] / [Intel XE#7343]) +5 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-ptl: NOTRUN -> [SKIP][52] ([Intel XE#6035]) +2 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-ptl: NOTRUN -> [SKIP][53] ([Intel XE#5958])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#4210] / [Intel XE#7467])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html
* igt@kms_display_modes@extended-mode-basic:
- shard-ptl: NOTRUN -> [SKIP][55] ([Intel XE#4302])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dp_link_training@non-uhbr-mst:
- shard-ptl: NOTRUN -> [SKIP][56] ([Intel XE#9536])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_dp_link_training@non-uhbr-mst.html
* igt@kms_dp_link_training@non-uhbr-mst-direct-train:
- shard-ptl: NOTRUN -> [SKIP][57] ([Intel XE#9532])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@kms_dp_link_training@non-uhbr-mst-direct-train.html
* igt@kms_dp_link_training@non-uhbr-mst-tbtalt-train:
- shard-ptl: NOTRUN -> [SKIP][58] ([Intel XE#9528])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_dp_link_training@non-uhbr-mst-tbtalt-train.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-ptl: NOTRUN -> [SKIP][59] ([Intel XE#9530])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dp_link_training@non-uhbr-sst-tbtalt-train:
- shard-ptl: NOTRUN -> [SKIP][60] ([Intel XE#9539])
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_dp_link_training@non-uhbr-sst-tbtalt-train.html
* igt@kms_dp_link_training@uhbr-mst:
- shard-ptl: NOTRUN -> [SKIP][61] ([Intel XE#9533])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_dp_link_training@uhbr-mst.html
* igt@kms_dp_link_training@uhbr-mst-direct-train:
- shard-ptl: NOTRUN -> [SKIP][62] ([Intel XE#9527])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_dp_link_training@uhbr-mst-direct-train.html
* igt@kms_dp_link_training@uhbr-mst-tbtalt-train:
- shard-ptl: NOTRUN -> [SKIP][63] ([Intel XE#9531])
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_dp_link_training@uhbr-mst-tbtalt-train.html
* igt@kms_dp_link_training@uhbr-sst:
- shard-ptl: NOTRUN -> [SKIP][64] ([Intel XE#9535])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_dp_link_training@uhbr-sst.html
* igt@kms_dp_link_training@uhbr-sst-direct-train:
- shard-ptl: NOTRUN -> [SKIP][65] ([Intel XE#9529])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_dp_link_training@uhbr-sst-direct-train.html
* igt@kms_dp_link_training@uhbr-sst-tbtalt-train:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#9537])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html
- shard-ptl: NOTRUN -> [SKIP][67] ([Intel XE#9537])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html
* igt@kms_dp_linktrain_fallback@dsc-fallback:
- shard-ptl: NOTRUN -> [SKIP][68] ([Intel XE#7227])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@kms_dp_linktrain_fallback@dsc-fallback.html
* igt@kms_dp_linktrain_fallback@uhbr-to-hbr-fallback:
- shard-ptl: NOTRUN -> [SKIP][69] ([Intel XE#9009]) +1 other test skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_dp_linktrain_fallback@uhbr-to-hbr-fallback.html
* igt@kms_dsc@dsc-fractional-bpp-ultrajoiner:
- shard-ptl: NOTRUN -> [SKIP][70] ([Intel XE#5907]) +21 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_dsc@dsc-fractional-bpp-ultrajoiner.html
* igt@kms_feature_discovery@chamelium:
- shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#2372] / [Intel XE#7359])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_feature_discovery@chamelium.html
- shard-ptl: NOTRUN -> [SKIP][72] ([Intel XE#7359])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@display-2x:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#702] / [Intel XE#7344])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_feature_discovery@display-2x.html
* igt@kms_feature_discovery@display-3x:
- shard-ptl: NOTRUN -> [SKIP][74] ([Intel XE#7448])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@display-4x:
- shard-ptl: NOTRUN -> [SKIP][75] ([Intel XE#7344]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@dp-mst:
- shard-ptl: NOTRUN -> [SKIP][76] ([Intel XE#2375])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@hdr:
- shard-ptl: NOTRUN -> [SKIP][77] ([Intel XE#9287]) +1 other test skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_feature_discovery@hdr.html
* igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
- shard-ptl: NOTRUN -> [SKIP][78] ([Intel XE#2316]) +37 other tests skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a3:
- shard-bmg: [PASS][79] -> [FAIL][80] ([Intel XE#3321]) +1 other test fail
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-1/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a3.html
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-7/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a3.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][82] ([Intel XE#1397] / [Intel XE#7385] / [Intel XE#9144])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-linear-to-32bpp-linear-reflect-x:
- shard-ptl: NOTRUN -> [SKIP][83] ([Intel XE#7179]) +3 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-32bpp-linear-reflect-x.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
- shard-ptl: NOTRUN -> [SKIP][84] ([Intel XE#7178]) +30 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][85] ([Intel XE#7178] / [Intel XE#7351]) +2 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#7178] / [Intel XE#7351])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling:
- shard-ptl: NOTRUN -> [SKIP][87] ([Intel XE#5828]) +11 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-pgflip-blt:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#2311]) +14 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-pgflip-blt.html
- shard-lnl: NOTRUN -> [SKIP][89] ([Intel XE#6312] / [Intel XE#651]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc:
- shard-ptl: NOTRUN -> [SKIP][90] ([Intel XE#5800] / [Intel XE#6312]) +67 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#4141]) +6 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt:
- shard-ptl: NOTRUN -> [SKIP][92] ([Intel XE#5812]) +491 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#656] / [Intel XE#7905]) +4 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-tiling-y:
- shard-ptl: NOTRUN -> [SKIP][94] ([Intel XE#5865] / [Intel XE#7399]) +2 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc:
- shard-ptl: NOTRUN -> [SKIP][95] ([Intel XE#6312]) +90 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt:
- shard-ptl: NOTRUN -> [SKIP][96] ([Intel XE#7061] / [Intel XE#7356]) +26 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#2352] / [Intel XE#7399])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-shrfb-pgflip-blt:
- shard-lnl: NOTRUN -> [SKIP][98] ([Intel XE#6312])
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-tiling-y:
- shard-ptl: NOTRUN -> [SKIP][99] ([Intel XE#7399]) +2 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_frontbuffer_tracking@fbcdrrshdr-tiling-y.html
* igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc:
- shard-ptl: NOTRUN -> [SKIP][100] ([Intel XE#7061]) +34 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc:
- shard-ptl: NOTRUN -> [SKIP][101] ([Intel XE#7865]) +155 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-render:
- shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][103] ([Intel XE#7865]) +3 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-cur-indfb-move:
- shard-lnl: NOTRUN -> [SKIP][104] ([Intel XE#7905]) +1 other test skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][105] ([Intel XE#7061])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][106] ([Intel XE#2313]) +5 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_hdmi_audio_bw@audio-bw-hblank80:
- shard-ptl: NOTRUN -> [SKIP][107] ([Intel XE#9312]) +4 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_hdmi_audio_bw@audio-bw-hblank80.html
* igt@kms_hdr@static-toggle-dpms:
- shard-ptl: NOTRUN -> [SKIP][108] ([Intel XE#5917] / [Intel XE#6174]) +5 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_joiner@basic-big-joiner:
- shard-ptl: NOTRUN -> [SKIP][109] ([Intel XE#6901]) +1 other test skip
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-ptl: NOTRUN -> [DMESG-WARN][110] ([Intel XE#9686]) +1 other test dmesg-warn
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-ptl: NOTRUN -> [SKIP][111] ([Intel XE#5873])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][112] ([Intel XE#6901])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-ptl: NOTRUN -> [SKIP][113] ([Intel XE#6900]) +2 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-ptl: NOTRUN -> [SKIP][114] ([Intel XE#7173])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_mst@mst-suspend-read-crc:
- shard-ptl: NOTRUN -> [SKIP][115] ([Intel XE#8348])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_mst@mst-suspend-read-crc.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-ptl: NOTRUN -> [SKIP][116] ([Intel XE#7591])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-bmg: NOTRUN -> [SKIP][117] ([Intel XE#6912] / [Intel XE#7375])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
- shard-ptl: NOTRUN -> [SKIP][118] ([Intel XE#6912]) +1 other test skip
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-a-plane-5:
- shard-ptl: NOTRUN -> [SKIP][119] ([Intel XE#8303]) +3 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-a-plane-5.html
* igt@kms_plane@pixel-format-x-tiled-modifier-source-clamping:
- shard-ptl: NOTRUN -> [SKIP][120] ([Intel XE#7283]) +25 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_plane@pixel-format-x-tiled-modifier-source-clamping.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping:
- shard-bmg: NOTRUN -> [SKIP][121] ([Intel XE#7283])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping.html
- shard-lnl: NOTRUN -> [SKIP][122] ([Intel XE#7283])
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping.html
* igt@kms_plane_lowres@tiling-none@pipe-b-edp-1:
- shard-ptl: NOTRUN -> [SKIP][123] ([Intel XE#5844]) +9 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_plane_lowres@tiling-none@pipe-b-edp-1.html
* igt@kms_plane_lowres@tiling-y:
- shard-ptl: NOTRUN -> [SKIP][124] ([Intel XE#5946]) +2 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_plane_lowres@tiling-y.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-ptl: NOTRUN -> [SKIP][125] ([Intel XE#4596] / [Intel XE#5854]) +3 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@tiling-x:
- shard-ptl: NOTRUN -> [SKIP][126] ([Intel XE#5020]) +1 other test skip
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_plane_multiple@tiling-x.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-ptl: NOTRUN -> [SKIP][127] ([Intel XE#5879] / [Intel XE#7343])
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-ptl: NOTRUN -> [SKIP][128] ([Intel XE#5959])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-d:
- shard-ptl: NOTRUN -> [SKIP][129] ([Intel XE#6886]) +61 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-d.html
* igt@kms_pm_dc@dc3co-framedrop-check:
- shard-ptl: NOTRUN -> [SKIP][130] ([Intel XE#8395] / [Intel XE#8396]) +7 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_pm_dc@dc3co-framedrop-check.html
* igt@kms_pm_dc@dc3co-vpb-framegap@psr2-xrgb8888:
- shard-ptl: NOTRUN -> [SKIP][131] ([Intel XE#8396]) +7 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_pm_dc@dc3co-vpb-framegap@psr2-xrgb8888.html
* igt@kms_pm_dc@dc5-dpms-negative:
- shard-ptl: NOTRUN -> [SKIP][132] ([Intel XE#1131])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_pm_dc@dc5-dpms-negative.html
- shard-lnl: NOTRUN -> [SKIP][133] ([Intel XE#1131])
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_pm_dc@dc5-dpms-negative.html
* igt@kms_pm_dc@deep-pkgc:
- shard-ptl: NOTRUN -> [FAIL][134] ([Intel XE#7395])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_pm_dc@deep-pkgc.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-bmg: NOTRUN -> [SKIP][135] ([Intel XE#2499])
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-ptl: NOTRUN -> [SKIP][136] ([Intel XE#5810])
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-ptl: NOTRUN -> [SKIP][137] ([Intel XE#5849]) +3 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_pm_rpm@package-g7:
- shard-ptl: NOTRUN -> [SKIP][138] ([Intel XE#6813])
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@kms_pm_rpm@package-g7.html
* igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][139] ([Intel XE#1489])
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1:
- shard-ptl: NOTRUN -> [SKIP][140] ([Intel XE#5858]) +11 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1:
- shard-ptl: NOTRUN -> [SKIP][141] ([Intel XE#5858] / [Intel XE#7304]) +23 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1.html
* igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][142] ([Intel XE#2893] / [Intel XE#7304])
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@pr-plane-move-sf-dmg-area:
- shard-ptl: NOTRUN -> [SKIP][143] ([Intel XE#7304]) +22 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@kms_psr2_sf@pr-plane-move-sf-dmg-area.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-ptl: NOTRUN -> [SKIP][144] ([Intel XE#7413]) +3 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-bmg: NOTRUN -> [SKIP][145] ([Intel XE#2387] / [Intel XE#7429])
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-cursor-plane-move:
- shard-ptl: NOTRUN -> [SKIP][146] ([Intel XE#1406]) +23 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_psr@fbc-pr-cursor-plane-move.html
* igt@kms_psr@fbc-psr2-no-drrs:
- shard-ptl: NOTRUN -> [SKIP][147] ([Intel XE#1406] / [Intel XE#5835]) +23 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_psr@fbc-psr2-no-drrs.html
* igt@kms_psr@fbc-psr2-sprite-render:
- shard-lnl: NOTRUN -> [SKIP][148] ([Intel XE#1406] / [Intel XE#7345])
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_psr@fbc-psr2-sprite-render.html
* igt@kms_psr@fbc-psr2-sprite-render@edp-1:
- shard-lnl: NOTRUN -> [SKIP][149] ([Intel XE#1406] / [Intel XE#4609] / [Intel XE#7345])
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_psr@fbc-psr2-sprite-render@edp-1.html
* igt@kms_psr@pr-basic:
- shard-lnl: NOTRUN -> [SKIP][150] ([Intel XE#1406])
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-2/igt@kms_psr@pr-basic.html
* igt@kms_psr@pr-sprite-plane-onoff:
- shard-bmg: NOTRUN -> [SKIP][151] ([Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@kms_psr@pr-sprite-plane-onoff.html
* igt@kms_rotation_crc@primary-x-tiled-reflect-x-0:
- shard-ptl: NOTRUN -> [SKIP][152] ([Intel XE#5813]) +5 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@kms_rotation_crc@primary-x-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-ptl: NOTRUN -> [SKIP][153] ([Intel XE#5821]) +12 other tests skip
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-bmg: NOTRUN -> [SKIP][154] ([Intel XE#3904] / [Intel XE#7342])
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
- shard-lnl: NOTRUN -> [SKIP][155] ([Intel XE#3904] / [Intel XE#7342])
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-ptl: NOTRUN -> [SKIP][156] ([Intel XE#5910]) +4 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-ptl: NOTRUN -> [SKIP][157] ([Intel XE#5848]) +1 other test skip
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_vrr@cmrr-desktop-mode:
- shard-ptl: NOTRUN -> [SKIP][158] ([Intel XE#9277])
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_vrr@cmrr-desktop-mode.html
* igt@kms_vrr@cmrr-desktop-mode@pipe-a-edp-1:
- shard-ptl: NOTRUN -> [SKIP][159] ([Intel XE#9277] / [Intel XE#9278])
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@kms_vrr@cmrr-desktop-mode@pipe-a-edp-1.html
* igt@kms_vrr@flipline@pipe-a-edp-1:
- shard-ptl: NOTRUN -> [FAIL][160] ([Intel XE#4227] / [Intel XE#7397]) +1 other test fail
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_vrr@flipline@pipe-a-edp-1.html
* igt@kms_vrr@lobf:
- shard-ptl: NOTRUN -> [SKIP][161] ([Intel XE#5950] / [Intel XE#9277])
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_vrr@lobf.html
* igt@kms_vrr@lobf-dc3co:
- shard-ptl: NOTRUN -> [SKIP][162] ([Intel XE#8397])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@kms_vrr@lobf-dc3co.html
* igt@kms_vrr@lobf@pipe-a-edp-1:
- shard-ptl: NOTRUN -> [SKIP][163] ([Intel XE#7638] / [Intel XE#9277])
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_vrr@lobf@pipe-a-edp-1.html
* igt@kms_vrr@negative-basic:
- shard-ptl: NOTRUN -> [SKIP][164] ([Intel XE#5949] / [Intel XE#9277])
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-ptl: NOTRUN -> [SKIP][165] ([Intel XE#5948] / [Intel XE#9277]) +1 other test skip
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all:
- shard-ptl: NOTRUN -> [ABORT][166] ([Intel XE#8868]) +1 other test abort
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all.html
* igt@xe_ccs@vm-bind-decompress:
- shard-ptl: NOTRUN -> [SKIP][167] ([Intel XE#7644]) +1 other test skip
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@xe_ccs@vm-bind-decompress.html
* igt@xe_compute@ccs-mode-basic:
- shard-ptl: NOTRUN -> [SKIP][168] ([Intel XE#6599]) +2 other tests skip
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_compute@ccs-mode-basic.html
* igt@xe_compute_preempt@compute-preempt-many-vram-evict:
- shard-ptl: NOTRUN -> [SKIP][169] ([Intel XE#5191])
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_compute_preempt@compute-preempt-many-vram-evict.html
* igt@xe_configfs@survivability-mode:
- shard-ptl: NOTRUN -> [SKIP][170] ([Intel XE#8428])
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_configfs@survivability-mode.html
* igt@xe_create@create-big-vram:
- shard-ptl: NOTRUN -> [SKIP][171] ([Intel XE#5853] / [Intel XE#7457])
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_create@create-big-vram.html
* igt@xe_create@multigpu-create-massive-size:
- shard-ptl: NOTRUN -> [SKIP][172] ([Intel XE#5878])
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_create@multigpu-create-massive-size.html
* igt@xe_cw_post_sync@walker-post-sync:
- shard-ptl: NOTRUN -> [SKIP][173] ([Intel XE#8608])
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_cw_post_sync@walker-post-sync.html
* igt@xe_evict@evict-cm-threads-small-multi-vm:
- shard-ptl: NOTRUN -> [SKIP][174] ([Intel XE#5764]) +55 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_evict@evict-cm-threads-small-multi-vm.html
* igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd:
- shard-lnl: NOTRUN -> [SKIP][175] ([Intel XE#6540] / [Intel XE#688]) +1 other test skip
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html
* igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen:
- shard-ptl: NOTRUN -> [SKIP][176] ([Intel XE#6144]) +6 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen.html
* igt@xe_exec_balancer@many-virtual-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][177] ([Intel XE#7482]) +1 other test skip
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_exec_balancer@many-virtual-userptr-invalidate.html
* igt@xe_exec_balancer@many-virtual-userptr-rebind:
- shard-ptl: NOTRUN -> [SKIP][178] ([Intel XE#7482]) +112 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_exec_balancer@many-virtual-userptr-rebind.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap:
- shard-bmg: NOTRUN -> [SKIP][179] ([Intel XE#2322] / [Intel XE#7372]) +1 other test skip
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-mmap:
- shard-lnl: NOTRUN -> [SKIP][180] ([Intel XE#1392]) +1 other test skip
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-mmap.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-ptl: NOTRUN -> [SKIP][181] ([Intel XE#5575] / [Intel XE#7484]) +48 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-prefetch:
- shard-ptl: NOTRUN -> [SKIP][182] ([Intel XE#8374]) +74 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@xe_exec_fault_mode@many-execqueues-multi-queue-prefetch.html
* igt@xe_exec_fault_mode@many-multi-queue-rebind-prefetch:
- shard-bmg: NOTRUN -> [SKIP][183] ([Intel XE#8374]) +5 other tests skip
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@xe_exec_fault_mode@many-multi-queue-rebind-prefetch.html
- shard-lnl: NOTRUN -> [SKIP][184] ([Intel XE#8374])
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_exec_fault_mode@many-multi-queue-rebind-prefetch.html
* igt@xe_exec_mix_modes@exec-multi-queue-spinner-interrupted-lr:
- shard-ptl: NOTRUN -> [SKIP][185] ([Intel XE#9003])
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_exec_mix_modes@exec-multi-queue-spinner-interrupted-lr.html
* igt@xe_exec_multi_queue@max-queues-basic:
- shard-bmg: NOTRUN -> [SKIP][186] ([Intel XE#8364]) +12 other tests skip
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@xe_exec_multi_queue@max-queues-basic.html
* igt@xe_exec_multi_queue@max-queues-preempt-mode-priority:
- shard-ptl: NOTRUN -> [SKIP][187] ([Intel XE#8364]) +167 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@xe_exec_multi_queue@max-queues-preempt-mode-priority.html
* igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-close-fd-smem:
- shard-lnl: NOTRUN -> [SKIP][188] ([Intel XE#8364]) +3 other tests skip
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-close-fd-smem.html
* igt@xe_exec_reset@gt-stress-reset-pm-transition:
- shard-ptl: NOTRUN -> [DMESG-WARN][189] ([Intel XE#8652])
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_exec_reset@gt-stress-reset-pm-transition.html
* igt@xe_exec_reset@multi-queue-close-fd:
- shard-bmg: NOTRUN -> [SKIP][190] ([Intel XE#8369])
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@xe_exec_reset@multi-queue-close-fd.html
* igt@xe_exec_reset@multi-queue-gt-reset:
- shard-ptl: NOTRUN -> [SKIP][191] ([Intel XE#8369]) +12 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@xe_exec_reset@multi-queue-gt-reset.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-multi-vma:
- shard-ptl: NOTRUN -> [SKIP][192] ([Intel XE#6196]) +2 other tests skip
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-multi-vma.html
* igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-invalidate-race:
- shard-ptl: NOTRUN -> [SKIP][193] ([Intel XE#8378]) +52 other tests skip
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-invalidate-race.html
- shard-lnl: NOTRUN -> [SKIP][194] ([Intel XE#8378]) +1 other test skip
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-invalidate-race.html
* igt@xe_exec_threads@threads-multi-queue-mixed-userptr-rebind:
- shard-bmg: NOTRUN -> [SKIP][195] ([Intel XE#8378]) +2 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@xe_exec_threads@threads-multi-queue-mixed-userptr-rebind.html
* igt@xe_gpgpu_fill@offset-4x4:
- shard-ptl: NOTRUN -> [SKIP][196] ([Intel XE#7954])
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_gpgpu_fill@offset-4x4.html
* igt@xe_gt_freq@freq_suspend:
- shard-ptl: NOTRUN -> [SKIP][197] ([Intel XE#7070])
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_gt_freq@freq_suspend.html
- shard-lnl: NOTRUN -> [SKIP][198] ([Intel XE#584] / [Intel XE#7369])
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_gt_freq@freq_suspend.html
* igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit:
- shard-ptl: NOTRUN -> [SKIP][199] ([Intel XE#5775]) +1 other test skip
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit.html
* igt@xe_live_ktest@xe_migrate@xe_migrate_access_memory_kunit:
- shard-ptl: NOTRUN -> [SKIP][200] ([Intel XE#9657])
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@xe_live_ktest@xe_migrate@xe_migrate_access_memory_kunit.html
* igt@xe_madvise@atomic-global:
- shard-ptl: NOTRUN -> [SKIP][201] ([Intel XE#7980]) +2 other tests skip
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_madvise@atomic-global.html
* igt@xe_mempage_offline@inject-single-page:
- shard-ptl: NOTRUN -> [SKIP][202] ([Intel XE#9203]) +1 other test skip
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_mempage_offline@inject-single-page.html
* igt@xe_mmap@pci-membarrier:
- shard-ptl: NOTRUN -> [SKIP][203] ([Intel XE#5100] / [Intel XE#7408]) +3 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_mmap@pci-membarrier.html
* igt@xe_mmap@small-bar:
- shard-ptl: NOTRUN -> [SKIP][204] ([Intel XE#5867])
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_mmap@small-bar.html
* igt@xe_mmap@vram:
- shard-ptl: NOTRUN -> [SKIP][205] ([Intel XE#5776])
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-8/igt@xe_mmap@vram.html
* igt@xe_multigpu_svm@mgpu-latency-copy-basic:
- shard-ptl: NOTRUN -> [SKIP][206] ([Intel XE#6964]) +17 other tests skip
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@xe_multigpu_svm@mgpu-latency-copy-basic.html
* igt@xe_noexec_ping_pong@basic:
- shard-ptl: NOTRUN -> [SKIP][207] ([Intel XE#6259] / [Intel XE#7406])
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_noexec_ping_pong@basic.html
* igt@xe_oa@oa-tlb-invalidate:
- shard-ptl: NOTRUN -> [SKIP][208] ([Intel XE#6069])
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@xe_oa@oa-tlb-invalidate.html
* igt@xe_page_reclaim@pat-index-xd:
- shard-ptl: NOTRUN -> [SKIP][209] ([Intel XE#7793]) +10 other tests skip
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_page_reclaim@pat-index-xd.html
* igt@xe_page_reclaim@prl-max-entries:
- shard-bmg: NOTRUN -> [SKIP][210] ([Intel XE#7793])
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@xe_page_reclaim@prl-max-entries.html
* igt@xe_pat@l2-flush-opt-svm-pat-restrict:
- shard-ptl: NOTRUN -> [SKIP][211] ([Intel XE#7590]) +2 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_pat@l2-flush-opt-svm-pat-restrict.html
* igt@xe_pat@pat-index-xehpc:
- shard-ptl: NOTRUN -> [SKIP][212] ([Intel XE#5777] / [Intel XE#7590])
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelp:
- shard-ptl: NOTRUN -> [SKIP][213] ([Intel XE#5771] / [Intel XE#7590])
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_pat@pat-index-xelp.html
* igt@xe_pat@pat-index-xelpg:
- shard-ptl: NOTRUN -> [SKIP][214] ([Intel XE#5780] / [Intel XE#7590])
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_pat@pat-index-xelpg.html
* igt@xe_pat@pat-sw-hw-compare:
- shard-ptl: NOTRUN -> [FAIL][215] ([Intel XE#7695]) +2 other tests fail
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_pat@pat-sw-hw-compare.html
* igt@xe_peer2peer@read:
- shard-ptl: NOTRUN -> [SKIP][216] ([Intel XE#6588]) +1 other test skip
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@xe_peer2peer@read.html
* igt@xe_pm@d3cold-mmap-vram:
- shard-ptl: NOTRUN -> [SKIP][217] ([Intel XE#5741]) +9 other tests skip
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_pm@d3cold-mmap-vram.html
* igt@xe_pm@d3hot-i2c:
- shard-ptl: NOTRUN -> [SKIP][218] ([Intel XE#5742] / [Intel XE#7400])
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-2/igt@xe_pm@d3hot-i2c.html
* igt@xe_pm@d3hot-mmap-vram:
- shard-ptl: NOTRUN -> [SKIP][219] ([Intel XE#5834])
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_pm@d3hot-mmap-vram.html
* igt@xe_pm@s2idle-d3cold-basic-exec:
- shard-bmg: NOTRUN -> [SKIP][220] ([Intel XE#2284] / [Intel XE#7370])
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-2/igt@xe_pm@s2idle-d3cold-basic-exec.html
- shard-lnl: NOTRUN -> [SKIP][221] ([Intel XE#2284] / [Intel XE#366] / [Intel XE#7370])
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_pm@s2idle-d3cold-basic-exec.html
* igt@xe_pm@s3-mocs:
- shard-ptl: NOTRUN -> [SKIP][222] ([Intel XE#6867]) +9 other tests skip
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_pm@s3-mocs.html
* igt@xe_pm@s4-vm-bind-prefetch:
- shard-lnl: [PASS][223] -> [ABORT][224] ([Intel XE#9362])
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-lnl-3/igt@xe_pm@s4-vm-bind-prefetch.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-7/igt@xe_pm@s4-vm-bind-prefetch.html
* igt@xe_pm@s4-vm-bind-userptr:
- shard-ptl: NOTRUN -> [ABORT][225] ([Intel XE#9362])
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@xe_pm@s4-vm-bind-userptr.html
* igt@xe_pm@vram-d3cold-threshold:
- shard-ptl: NOTRUN -> [SKIP][226] ([Intel XE#5611] / [Intel XE#7456])
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-5/igt@xe_pm@vram-d3cold-threshold.html
* igt@xe_pm_residency@aspm_link_residency:
- shard-ptl: NOTRUN -> [SKIP][227] ([Intel XE#7271])
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_pm_residency@aspm_link_residency.html
* igt@xe_pm_residency@gt-c6-freeze@gt1:
- shard-bmg: [PASS][228] -> [FAIL][229] ([Intel XE#9254])
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-5/igt@xe_pm_residency@gt-c6-freeze@gt1.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-10/igt@xe_pm_residency@gt-c6-freeze@gt1.html
* igt@xe_prefetch_fault@l2-prefetch-fault-svm:
- shard-ptl: NOTRUN -> [SKIP][230] ([Intel XE#8815]) +1 other test skip
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_prefetch_fault@l2-prefetch-fault-svm.html
* igt@xe_prefetch_fault@prefetch-fault:
- shard-ptl: NOTRUN -> [SKIP][231] ([Intel XE#7599]) +1 other test skip
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-6/igt@xe_prefetch_fault@prefetch-fault.html
* igt@xe_prefetch_fault@prefetch-fault-svm:
- shard-bmg: NOTRUN -> [SKIP][232] ([Intel XE#7599])
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@xe_prefetch_fault@prefetch-fault-svm.html
* igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
- shard-bmg: NOTRUN -> [SKIP][233] ([Intel XE#4733] / [Intel XE#7417])
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html
* igt@xe_query@multigpu-query-hwconfig:
- shard-lnl: NOTRUN -> [SKIP][234] ([Intel XE#944])
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_query@multigpu-query-hwconfig.html
* igt@xe_query@multigpu-query-invalid-size:
- shard-ptl: NOTRUN -> [SKIP][235] ([Intel XE#6019]) +16 other tests skip
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-7/igt@xe_query@multigpu-query-invalid-size.html
* igt@xe_ras@gpu-health:
- shard-ptl: NOTRUN -> [SKIP][236] ([Intel XE#9588])
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_ras@gpu-health.html
* igt@xe_sriov_vfio@bind-unbind-vfs:
- shard-lnl: NOTRUN -> [SKIP][237] ([Intel XE#7724])
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-5/igt@xe_sriov_vfio@bind-unbind-vfs.html
* igt@xe_sriov_vram@vf-access-after-resize-up:
- shard-ptl: NOTRUN -> [SKIP][238] ([Intel XE#6376] / [Intel XE#7422]) +3 other tests skip
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_sriov_vram@vf-access-after-resize-up.html
* igt@xe_survivability@i2c-functionality:
- shard-ptl: NOTRUN -> [SKIP][239] ([Intel XE#8415] / [Intel XE#8432]) +1 other test skip
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-1/igt@xe_survivability@i2c-functionality.html
* igt@xe_vm@bind-array-enobufs:
- shard-ptl: NOTRUN -> [FAIL][240] ([Intel XE#9424])
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-4/igt@xe_vm@bind-array-enobufs.html
* igt@xe_vm@out-of-memory:
- shard-ptl: NOTRUN -> [SKIP][241] ([Intel XE#5745] / [Intel XE#7892])
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_vm@out-of-memory.html
* igt@xe_vm@overcommit-nonfault-vram-no-lr:
- shard-ptl: NOTRUN -> [SKIP][242] ([Intel XE#9597]) +4 other tests skip
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-ptl-3/igt@xe_vm@overcommit-nonfault-vram-no-lr.html
#### Possible fixes ####
* igt@kms_bw@linear-tiling-1-displays-target-3840x2160p:
- shard-bmg: [SKIP][243] ([Intel XE#367]) -> [PASS][244]
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-1/igt@kms_bw@linear-tiling-1-displays-target-3840x2160p.html
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-7/igt@kms_bw@linear-tiling-1-displays-target-3840x2160p.html
* igt@kms_flip@2x-absolute-wf_vblank-interruptible@ac-dp2-hdmi-a3:
- shard-bmg: [INCOMPLETE][245] ([Intel XE#8155]) -> [PASS][246] +1 other test pass
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-2/igt@kms_flip@2x-absolute-wf_vblank-interruptible@ac-dp2-hdmi-a3.html
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-5/igt@kms_flip@2x-absolute-wf_vblank-interruptible@ac-dp2-hdmi-a3.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
- shard-lnl: [FAIL][247] ([Intel XE#301]) -> [PASS][248] +1 other test pass
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: [SKIP][249] ([Intel XE#1503]) -> [PASS][250]
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-3/igt@kms_hdr@invalid-hdr.html
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-8/igt@kms_hdr@invalid-hdr.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-bmg: [INCOMPLETE][251] ([Intel XE#6321] / [Intel XE#8355]) -> [PASS][252]
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-4/igt@xe_evict@evict-mixed-many-threads-small.html
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-6/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early:
- shard-bmg: [ABORT][253] ([Intel XE#9463]) -> [PASS][254]
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-10/igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early.html
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-4/igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-lnl: [ABORT][255] ([Intel XE#9362]) -> [PASS][256] +1 other test pass
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-lnl-8/igt@xe_pm@s4-vm-bind-unbind-all.html
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-lnl-2/igt@xe_pm@s4-vm-bind-unbind-all.html
* igt@xe_pm_residency@gt-c6-freeze@gt0:
- shard-bmg: [FAIL][257] ([Intel XE#9254]) -> [PASS][258]
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-5/igt@xe_pm_residency@gt-c6-freeze@gt0.html
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-10/igt@xe_pm_residency@gt-c6-freeze@gt0.html
#### Warnings ####
* igt@kms_hdr@brightness-with-hdr:
- shard-bmg: [SKIP][259] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][260] ([Intel XE#3544])
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201/shard-bmg-8/igt@kms_hdr@brightness-with-hdr.html
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/shard-bmg-9/igt@kms_hdr@brightness-with-hdr.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1131
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
[Intel XE#2372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2372
[Intel XE#2375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2375
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
[Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3157]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3157
[Intel XE#3279]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3279
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
[Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
[Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4210]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4210
[Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
[Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
[Intel XE#5100]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5100
[Intel XE#5191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5191
[Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575
[Intel XE#5611]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5611
[Intel XE#5741]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5741
[Intel XE#5742]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5742
[Intel XE#5745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5745
[Intel XE#5764]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5764
[Intel XE#5765]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5765
[Intel XE#5771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5771
[Intel XE#5775]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5775
[Intel XE#5776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5776
[Intel XE#5777]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5777
[Intel XE#5780]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5780
[Intel XE#5800]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5800
[Intel XE#5808]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5808
[Intel XE#5810]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5810
[Intel XE#5812]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5812
[Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
[Intel XE#5821]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5821
[Intel XE#5822]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5822
[Intel XE#5823]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5823
[Intel XE#5824]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5824
[Intel XE#5828]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5828
[Intel XE#5832]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5832
[Intel XE#5834]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5834
[Intel XE#5835]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5835
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#5844]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5844
[Intel XE#5845]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5845
[Intel XE#5846]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5846
[Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
[Intel XE#5849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5849
[Intel XE#5850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5850
[Intel XE#5851]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5851
[Intel XE#5853]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5853
[Intel XE#5854]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5854
[Intel XE#5855]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5855
[Intel XE#5858]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5858
[Intel XE#5865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5865
[Intel XE#5867]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5867
[Intel XE#5873]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5873
[Intel XE#5878]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5878
[Intel XE#5879]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5879
[Intel XE#5900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5900
[Intel XE#5901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5901
[Intel XE#5907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5907
[Intel XE#5910]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5910
[Intel XE#5917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5917
[Intel XE#5946]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5946
[Intel XE#5947]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5947
[Intel XE#5948]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5948
[Intel XE#5949]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5949
[Intel XE#5950]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5950
[Intel XE#5958]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5958
[Intel XE#5959]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5959
[Intel XE#5962]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5962
[Intel XE#6019]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6019
[Intel XE#6035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6035
[Intel XE#6069]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6069
[Intel XE#6078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6078
[Intel XE#6144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6144
[Intel XE#6174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6174
[Intel XE#6196]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6196
[Intel XE#6259]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6259
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
[Intel XE#6376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6376
[Intel XE#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6588]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6588
[Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
[Intel XE#6707]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6707
[Intel XE#6813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6813
[Intel XE#6867]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6867
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
[Intel XE#6900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6900
[Intel XE#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901
[Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
[Intel XE#6918]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6918
[Intel XE#6925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6925
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#6969]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6969
[Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
[Intel XE#7008]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7008
[Intel XE#702]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/702
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7070]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7070
[Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085
[Intel XE#7173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7173
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179
[Intel XE#7225]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7225
[Intel XE#7227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7227
[Intel XE#7271]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7271
[Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
[Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
[Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
[Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
[Intel XE#7344]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7344
[Intel XE#7345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7345
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
[Intel XE#7359]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7359
[Intel XE#7369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7369
[Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
[Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
[Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
[Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
[Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385
[Intel XE#7395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7395
[Intel XE#7397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7397
[Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
[Intel XE#7400]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7400
[Intel XE#7406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7406
[Intel XE#7408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7408
[Intel XE#7413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7413
[Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
[Intel XE#7422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7422
[Intel XE#7429]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7429
[Intel XE#7439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7439
[Intel XE#7448]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7448
[Intel XE#7456]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7456
[Intel XE#7457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7457
[Intel XE#7467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7467
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7484]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7484
[Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
[Intel XE#7591]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7591
[Intel XE#7599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7599
[Intel XE#7638]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7638
[Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
[Intel XE#7644]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7644
[Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
[Intel XE#7695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7695
[Intel XE#7724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7724
[Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
[Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
[Intel XE#7892]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7892
[Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
[Intel XE#7954]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7954
[Intel XE#7980]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7980
[Intel XE#8155]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8155
[Intel XE#8303]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8303
[Intel XE#8348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8348
[Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
[Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
[Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
[Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
[Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
[Intel XE#8391]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8391
[Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
[Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
[Intel XE#8397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8397
[Intel XE#8415]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8415
[Intel XE#8428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8428
[Intel XE#8432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8432
[Intel XE#8608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8608
[Intel XE#8652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8652
[Intel XE#8815]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8815
[Intel XE#8868]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8868
[Intel XE#9003]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9003
[Intel XE#9009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9009
[Intel XE#9144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9144
[Intel XE#9203]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9203
[Intel XE#9205]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9205
[Intel XE#9219]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9219
[Intel XE#9254]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9254
[Intel XE#9277]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9277
[Intel XE#9278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9278
[Intel XE#9287]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9287
[Intel XE#9312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9312
[Intel XE#9362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9362
[Intel XE#9424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9424
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#9463]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9463
[Intel XE#9527]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9527
[Intel XE#9528]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9528
[Intel XE#9529]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9529
[Intel XE#9530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9530
[Intel XE#9531]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9531
[Intel XE#9532]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9532
[Intel XE#9533]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9533
[Intel XE#9535]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9535
[Intel XE#9536]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9536
[Intel XE#9537]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9537
[Intel XE#9539]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9539
[Intel XE#9588]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9588
[Intel XE#9597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9597
[Intel XE#9657]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9657
[Intel XE#9671]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9671
[Intel XE#9686]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9686
Build changes
-------------
* Linux: xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201 -> xe-pw-177133v1
IGT_9170: 9170
xe-6029-adf57aa7454332ef1651f5735de1ab6a1cc6b201: adf57aa7454332ef1651f5735de1ab6a1cc6b201
xe-pw-177133v1: 177133v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177133v1/index.html
[-- Attachment #2: Type: text/html, Size: 96564 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2026-10-29 23:07 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-29 9:55 [RFC PATCH 0/6] dma-buf: Phase out is_signaled() race Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 1/6] dma-buf: dma-fence: Add flags parameter to dma_fence_init() Philipp Stanner
2026-10-29 13:38 ` Christian König
2026-10-29 9:55 ` [RFC PATCH 2/6] dma-buf: dma-fence: Add flag for using 64-bit seqnos Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 3/6] dma-buf: Port users of dma_fence_init64() Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 4/6] dma-buf: dma-fence: remove dma_fence_init64() Philipp Stanner
2026-10-29 9:55 ` [RFC PATCH 5/6] dma-buf: dma-fence: Close race in dma_fence_is_signaled() by default Philipp Stanner
2026-10-29 16:00 ` Matthew Brost
2026-10-29 9:55 ` [RFC PATCH 6/6] drm/nouveau: Remove hacky fence check Philipp Stanner
2026-10-29 10:07 ` ✗ CI.checkpatch: warning for dma-buf: Phase out is_signaled() race Patchwork
2026-10-29 10:09 ` ✓ CI.KUnit: success " Patchwork
2026-10-29 10:23 ` [RFC PATCH 0/6] " Lucas Stach
2026-10-29 10:28 ` Philipp Stanner
2026-10-29 11:23 ` Lucas Stach
2026-10-29 13:43 ` Christian König
2026-10-29 10:46 ` ✓ Xe.CI.BAT: success for " Patchwork
2026-10-29 23:07 ` ✗ Xe.CI.FULL: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox