* [PATCH 0/3] Elide clear on full SVM copies
@ 2026-09-29 18:10 Matthew Brost
2026-09-29 18:10 ` [PATCH 1/3] drm/xe: Add XE_BO_FLAG_SKIP_CLEAR Matthew Brost
` (5 more replies)
0 siblings, 6 replies; 13+ messages in thread
From: Matthew Brost @ 2026-09-29 18:10 UTC (permalink / raw)
To: intel-xe
Clearing a BO whose contents will be fully overwritten immediately afterward
provides little benefit and reduces page-fault and prefetch bandwidth.
Elide the initial clear for SVM-allocated BOs, and only perform a clear in
the copy_to_device vfunc when the CPU pages are not fully populated.
Matt
Matthew Brost (3):
drm/xe: Add XE_BO_FLAG_SKIP_CLEAR
drm/xe: Add xe_migrate_clear_vram
drm/xe: Do not clear SVM device memory allocations up front
drivers/gpu/drm/xe/xe_bo.c | 3 +
drivers/gpu/drm/xe/xe_bo.h | 1 +
drivers/gpu/drm/xe/xe_migrate.c | 89 +++++++++++++++++++
drivers/gpu/drm/xe/xe_migrate.h | 5 ++
drivers/gpu/drm/xe/xe_svm.c | 150 ++++++++++++++++++++++++++++++--
5 files changed, 241 insertions(+), 7 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* [PATCH 1/3] drm/xe: Add XE_BO_FLAG_SKIP_CLEAR 2026-09-29 18:10 [PATCH 0/3] Elide clear on full SVM copies Matthew Brost @ 2026-09-29 18:10 ` Matthew Brost 2026-09-29 18:10 ` [PATCH 2/3] drm/xe: Add xe_migrate_clear_vram Matthew Brost ` (4 subsequent siblings) 5 siblings, 0 replies; 13+ messages in thread From: Matthew Brost @ 2026-09-29 18:10 UTC (permalink / raw) To: intel-xe TTM issues a GPU clear when a BO is first backed by device memory. For BOs whose owner guarantees that every byte is either overwritten or explicitly cleared before the contents can be observed, that clear is pure overhead. Add XE_BO_FLAG_SKIP_CLEAR which suppresses it. The first user is SVM device memory, where the clear sits directly in the GPU page fault and prefetch critical paths. Assisted-by: Github-Copilot:Claude-opus-5 Signed-off-by: Matthew Brost <matthew.brost@intel.com> --- drivers/gpu/drm/xe/xe_bo.c | 3 +++ drivers/gpu/drm/xe/xe_bo.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c index 6921b6967330..351cb12ecd11 100644 --- a/drivers/gpu/drm/xe/xe_bo.c +++ b/drivers/gpu/drm/xe/xe_bo.c @@ -1024,6 +1024,9 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict, needs_clear = (ttm && ttm->page_flags & TTM_TT_FLAG_ZERO_ALLOC) || (!ttm && ttm_bo->type == ttm_bo_type_device); + if (bo->flags & XE_BO_FLAG_SKIP_CLEAR) + needs_clear = false; + if (new_mem->mem_type == XE_PL_TT) { ret = xe_tt_map_sg(xe, ttm); if (ret) diff --git a/drivers/gpu/drm/xe/xe_bo.h b/drivers/gpu/drm/xe/xe_bo.h index 861b1be231de..45fd6dea4fa7 100644 --- a/drivers/gpu/drm/xe/xe_bo.h +++ b/drivers/gpu/drm/xe/xe_bo.h @@ -56,6 +56,7 @@ #define XE_BO_FLAG_FORCE_USER_VRAM BIT(25) #define XE_BO_FLAG_NO_COMPRESSION BIT(26) #define XE_BO_FLAG_NEEDS_1G BIT(27) +#define XE_BO_FLAG_SKIP_CLEAR BIT(28) /* this one is trigger internally only */ #define XE_BO_FLAG_INTERNAL_TEST BIT(30) -- 2.34.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/3] drm/xe: Add xe_migrate_clear_vram 2026-09-29 18:10 [PATCH 0/3] Elide clear on full SVM copies Matthew Brost 2026-09-29 18:10 ` [PATCH 1/3] drm/xe: Add XE_BO_FLAG_SKIP_CLEAR Matthew Brost @ 2026-09-29 18:10 ` Matthew Brost 2026-09-29 18:10 ` [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front Matthew Brost ` (3 subsequent siblings) 5 siblings, 0 replies; 13+ messages in thread From: Matthew Brost @ 2026-09-29 18:10 UTC (permalink / raw) To: intel-xe Add a clear which takes a device physical address and a page count rather than a struct ttm_resource, so callers which only know the physical extent of a VRAM range can zero it. VRAM is reachable through the migrate identity map, so no page table updates are required and the batch is just the clear (plus a CCS clear on platforms which need one). The upcoming SVM user skips the clear at allocation time and instead clears only the ranges which are not fully overwritten by a migration. Assisted-by: Github-Copilot:Claude-opus-5 Signed-off-by: Matthew Brost <matthew.brost@intel.com> --- drivers/gpu/drm/xe/xe_migrate.c | 89 +++++++++++++++++++++++++++++++++ drivers/gpu/drm/xe/xe_migrate.h | 5 ++ 2 files changed, 94 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c index 0dfc54ba3b8f..04c7cb8aec68 100644 --- a/drivers/gpu/drm/xe/xe_migrate.c +++ b/drivers/gpu/drm/xe/xe_migrate.c @@ -2371,6 +2371,95 @@ struct dma_fence *xe_migrate_from_vram(struct xe_migrate *m, deps, XE_MIGRATE_COPY_TO_SRAM); } +/** + * xe_migrate_clear_vram() - Clear a VRAM device physical address range + * @m: The migration context. + * @npages: Number of pages to clear. + * @vram_addr: Device physical address of VRAM to clear. + * @deps: struct dma_fence representing the dependencies that need to be + * signaled before the clear. + * + * Zero a physically contiguous VRAM range addressed by its device physical + * address rather than by a &struct ttm_resource. Used by SVM, which skips the + * clear at allocation time and instead clears only the ranges which are not + * fully overwritten by a subsequent migration. + * + * Return: dma fence for the clear to signal completion on success, ERR_PTR on + * failure + */ +struct dma_fence *xe_migrate_clear_vram(struct xe_migrate *m, + unsigned long npages, + u64 vram_addr, + struct dma_fence *deps) +{ + struct xe_gt *gt = m->tile->primary_gt; + struct xe_device *xe = gt_to_xe(gt); + bool use_usm_batch = xe->info.has_usm; + unsigned long len = npages * PAGE_SIZE; + u32 flush_flags = 0, batch_size, update_idx; + struct dma_fence *fence; + struct xe_sched_job *job; + struct xe_bb *bb; + u64 clear_ofs; + int err; + + xe_assert(xe, len <= MAX_PREEMPTDISABLE_TRANSFER); + + batch_size = 1 + emit_clear_cmd_len(gt); + if (xe_migrate_needs_ccs_emit(xe)) + batch_size += EMIT_COPY_CCS_DW; + + bb = xe_bb_new(gt, batch_size, use_usm_batch); + if (IS_ERR(bb)) + return ERR_CAST(bb); + + clear_ofs = xe_migrate_vram_ofs(xe, vram_addr, false); + + bb->cs[bb->len++] = MI_BATCH_BUFFER_END; + update_idx = bb->len; + + emit_clear(gt, bb, clear_ofs, len, XE_PAGE_SIZE, true); + + if (xe_migrate_needs_ccs_emit(xe)) { + emit_copy_ccs(gt, bb, clear_ofs, true, m->cleared_mem_ofs, + false, len); + flush_flags |= MI_FLUSH_DW_CCS; + } + + job = xe_bb_create_migration_job(m->q, bb, + xe_migrate_batch_base(m, use_usm_batch), + update_idx); + if (IS_ERR(job)) { + err = PTR_ERR(job); + goto err; + } + + xe_sched_job_add_migrate_flush(job, flush_flags); + + if (deps && !dma_fence_is_signaled(deps)) { + dma_fence_get(deps); + err = drm_sched_job_add_dependency(&job->drm, deps); + if (err) + dma_fence_wait(deps, false); + } + + mutex_lock(&m->job_mutex); + fence = xe_migrate_job_push(m, job); + + dma_fence_put(m->fence); + m->fence = dma_fence_get(fence); + mutex_unlock(&m->job_mutex); + + xe_bb_free(bb, fence); + + return fence; + +err: + xe_bb_free(bb, NULL); + + return ERR_PTR(err); +} + static void xe_migrate_dma_unmap(struct xe_device *xe, struct drm_pagemap_addr *pagemap_addr, int len, int write) diff --git a/drivers/gpu/drm/xe/xe_migrate.h b/drivers/gpu/drm/xe/xe_migrate.h index 2e8be10fdb71..fc38204394f6 100644 --- a/drivers/gpu/drm/xe/xe_migrate.h +++ b/drivers/gpu/drm/xe/xe_migrate.h @@ -49,6 +49,11 @@ struct dma_fence *xe_migrate_from_vram(struct xe_migrate *m, struct drm_pagemap_addr *dst_addr, struct dma_fence *deps); +struct dma_fence *xe_migrate_clear_vram(struct xe_migrate *m, + unsigned long npages, + u64 vram_addr, + struct dma_fence *deps); + struct dma_fence *xe_migrate_copy(struct xe_migrate *m, struct xe_bo *src_bo, struct xe_bo *dst_bo, -- 2.34.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front 2026-09-29 18:10 [PATCH 0/3] Elide clear on full SVM copies Matthew Brost 2026-09-29 18:10 ` [PATCH 1/3] drm/xe: Add XE_BO_FLAG_SKIP_CLEAR Matthew Brost 2026-09-29 18:10 ` [PATCH 2/3] drm/xe: Add xe_migrate_clear_vram Matthew Brost @ 2026-09-29 18:10 ` Matthew Brost 2026-09-29 18:27 ` sashiko-bot 2026-09-29 20:16 ` Summers, Stuart 2026-09-29 18:18 ` ✓ CI.KUnit: success for Elide clear on full SVM copies Patchwork ` (2 subsequent siblings) 5 siblings, 2 replies; 13+ messages in thread From: Matthew Brost @ 2026-09-29 18:10 UTC (permalink / raw) To: intel-xe xe_drm_pagemap_populate_mm() allocates a BO to back the range being migrated into device memory, and TTM clears it. That clear is on the GPU page fault and SVM prefetch critical paths, and in the common case it is immediately overwritten in its entirety by the migration itself. Allocate the BO with XE_BO_FLAG_SKIP_CLEAR and instead deal with the contents in xe_svm_copy(). A migration to VRAM only sources pages which are populated on the CPU side, so if every page has a source DMA address the copy covers the whole allocation and nothing else is needed. Only when the migration is sparse - holes in the CPU VMA from never faulted anonymous memory, for instance - is a clear issued, ahead of the copies, so the uncovered pages still read as zero. The clear walks the destination device pages, taking the extent of each entry from its folio order since only folio heads are populated, and coalesces physically contiguous entries into chunks of at most 8M. It runs on the same ordered migrate queue as the copies, so it takes over the pre-migrate fence dependency and the copies are implicitly ordered behind it. Assisted-by: Github-Copilot:Claude-opus-5 Signed-off-by: Matthew Brost <matthew.brost@intel.com> --- drivers/gpu/drm/xe/xe_svm.c | 150 ++++++++++++++++++++++++++++++++++-- 1 file changed, 143 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c index f39e647512ad..1b4d1222fbb7 100644 --- a/drivers/gpu/drm/xe/xe_svm.c +++ b/drivers/gpu/drm/xe/xe_svm.c @@ -586,6 +586,124 @@ static void xe_svm_copy_us_stats_incr(struct xe_gt *gt, } } +#define XE_MIGRATE_CHUNK_SIZE SZ_8M +#define XE_VRAM_ADDR_INVALID ~0x0ull + +/** + * xe_svm_copy_covers_all() - Does a migration write every page? + * @pagemap_addr: Array of DMA information for the system side of the migration + * @npages: Number of pages covered by @pagemap_addr + * + * A migration to device memory only sources pages which are actually populated + * on the CPU side. Holes in the CPU VMA (never faulted anonymous memory, for + * instance) have no DMA address and leave the corresponding device pages + * untouched by the copy. + * + * Return: true if every page has a source address, false otherwise. + */ +static bool xe_svm_copy_covers_all(struct drm_pagemap_addr *pagemap_addr, + unsigned long npages) +{ + unsigned long i; + + for (i = 0; i < npages;) { + if (!pagemap_addr[i].addr) + return false; + + i += NR_PAGES(pagemap_addr[i].order); + } + + return true; +} + +static int xe_svm_clear_vram_chunk(struct xe_vram_region *vr, u64 vram_addr, + unsigned long npages, + struct dma_fence **fence, + struct dma_fence **deps) +{ + struct dma_fence *__fence; + + vm_dbg(&vr->xe->drm, "CLEAR VRAM - 0x%016llx, NPAGES=%ld", + vram_addr, npages); + + __fence = xe_migrate_clear_vram(vr->migrate, npages, vram_addr, *deps); + if (IS_ERR(__fence)) + return PTR_ERR(__fence); + + /* Ordered queue - only the first job needs to take the dependency */ + *deps = NULL; + dma_fence_put(*fence); + *fence = __fence; + + return 0; +} + +/** + * xe_svm_clear_vram() - Clear the device memory backing a migration + * @pages: Array of device pages which back the migration destination + * @npages: Number of pages in @pages + * @fence: In/out pointer to the last fence issued on the migrate queue + * @deps: In/out pointer to a dependency to attach to the first job issued + * + * Zero the device memory described by @pages. Entries in @pages are only + * populated at the head of each folio, so the extent of each entry is taken + * from the folio order, and physically contiguous entries are coalesced into a + * single clear of at most XE_MIGRATE_CHUNK_SIZE. + * + * Return: 0 on success, negative error code on failure. + */ +static int xe_svm_clear_vram(struct page **pages, unsigned long npages, + struct dma_fence **fence, + struct dma_fence **deps) +{ + struct xe_vram_region *vr = NULL; + unsigned long i, count = 0; + u64 vram_addr = XE_VRAM_ADDR_INVALID; + int err; + + for (i = 0; i < npages;) { + struct page *page = pages[i]; + unsigned long nr; + u64 addr; + + if (!page) { + ++i; + continue; + } + + if (!vr) + vr = xe_page_to_vr(page); + XE_WARN_ON(xe_page_to_vr(page) != vr); + + nr = NR_PAGES(folio_order(page_folio(page))); + addr = xe_page_to_dpa(page); + + /* Not contiguous with the pending clear, or chunk is full */ + if (count && (addr != vram_addr + count * PAGE_SIZE || + count + nr > XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE)) { + err = xe_svm_clear_vram_chunk(vr, vram_addr, count, + fence, deps); + if (err) + return err; + count = 0; + } + + if (!count) + vram_addr = addr; + count += nr; + i += nr; + } + + if (count) { + err = xe_svm_clear_vram_chunk(vr, vram_addr, count, fence, + deps); + if (err) + return err; + } + + return 0; +} + static int xe_svm_copy(struct page **pages, struct drm_pagemap_addr *pagemap_addr, unsigned long npages, const enum xe_svm_copy_dir dir, @@ -596,12 +714,23 @@ static int xe_svm_copy(struct page **pages, struct xe_device *xe; struct dma_fence *fence = NULL; unsigned long i; -#define XE_VRAM_ADDR_INVALID ~0x0ull u64 vram_addr = XE_VRAM_ADDR_INVALID; int err = 0, pos = 0; bool sram = dir == XE_SVM_COPY_TO_SRAM; ktime_t start = xe_gt_stats_ktime_get(); + /* + * Device memory is allocated with XE_BO_FLAG_SKIP_CLEAR, so it still + * holds whatever the previous owner left behind. A copy covering every + * page scrubs it, anything less has to be cleared first. + */ + if (!sram && !xe_svm_copy_covers_all(pagemap_addr, npages)) { + err = xe_svm_clear_vram(pages, npages, &fence, + &pre_migrate_fence); + if (err) + goto err_out; + } + /* * This flow is complex: it locates physically contiguous device pages, * derives the starting physical address, and performs a single GPU copy @@ -617,7 +746,6 @@ static int xe_svm_copy(struct page **pages, u64 __vram_addr; bool match = false, chunk, last; -#define XE_MIGRATE_CHUNK_SIZE SZ_8M chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE); last = (i + 1) == npages; @@ -758,8 +886,6 @@ static int xe_svm_copy(struct page **pages, xe_svm_copy_us_stats_incr(gt, dir, npages, start); return err; -#undef XE_MIGRATE_CHUNK_SIZE -#undef XE_VRAM_ADDR_INVALID } static int xe_svm_copy_to_devmem(struct page **pages, @@ -1121,18 +1247,28 @@ static int xe_drm_pagemap_populate_mm(struct drm_pagemap *dpagemap, struct xe_validation_ctx vctx; struct drm_exec exec; struct xe_bo *bo; + u32 bo_flags; int err = 0, idx; if (!drm_dev_enter(&xe->drm, &idx)) return -ENODEV; + /* + * Skip the clear on device memory - xe_svm_copy() either fully + * overwrites the allocation or clears it explicitly, so clearing here + * is pure overhead on the page fault and prefetch paths. + */ + if (IS_DGFX(xe)) + bo_flags = XE_BO_FLAG_VRAM(vr) | XE_BO_FLAG_SKIP_CLEAR; + else + bo_flags = XE_BO_FLAG_SYSTEM; + bo_flags |= XE_BO_FLAG_CPU_ADDR_MIRROR; + xe_pm_runtime_get(xe); xe_validation_guard(&vctx, &xe->val, &exec, (struct xe_val_flags) {}, err) { bo = xe_bo_create_locked(xe, NULL, NULL, end - start, - ttm_bo_type_device, - (IS_DGFX(xe) ? XE_BO_FLAG_VRAM(vr) : XE_BO_FLAG_SYSTEM) | - XE_BO_FLAG_CPU_ADDR_MIRROR, &exec); + ttm_bo_type_device, bo_flags, &exec); drm_exec_retry_on_contention(&exec); if (IS_ERR(bo)) { err = PTR_ERR(bo); -- 2.34.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front 2026-09-29 18:10 ` [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front Matthew Brost @ 2026-09-29 18:27 ` sashiko-bot 2026-09-29 18:31 ` Matthew Brost 2026-09-29 20:16 ` Summers, Stuart 1 sibling, 1 reply; 13+ messages in thread From: sashiko-bot @ 2026-09-29 18:27 UTC (permalink / raw) To: Matthew Brost; +Cc: intel-xe Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] xe/svm: oversized chunk lengths in migration cause kernel panic -- commit ed6428a65926a64520b6fe556921289286c9c71f Author: Matthew Brost <matthew.brost@intel.com> drm/xe: Do not clear SVM device memory allocations up front The patch updates SVM device memory allocations to skip initial clearing by using XE_BO_FLAG_SKIP_CLEAR. Instead, only sparse areas without CPU source data are cleared explicitly during migration using the new xe_svm_clear_vram() function. > diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c > index f39e647512ad9..1b4d1222fbb7e 100644 > --- a/drivers/gpu/drm/xe/xe_svm.c > +++ b/drivers/gpu/drm/xe/xe_svm.c [ ... ] > @@ -586,6 +586,124 @@ static void xe_svm_copy_us_stats_incr(struct xe_gt *gt, [ ... ] > +static int xe_svm_clear_vram(struct page **pages, unsigned long npages, > + struct dma_fence **fence, > + struct dma_fence **deps) > +{ [ ... ] > + /* Not contiguous with the pending clear, or chunk is full */ > + if (count && (addr != vram_addr + count * PAGE_SIZE || > + count + nr > XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE)) { > + err = xe_svm_clear_vram_chunk(vr, vram_addr, count, > + fence, deps); > + if (err) > + return err; > + count = 0; > + } > + > + if (!count) > + vram_addr = addr; > + count += nr; > + i += nr; [Severity: High] Does this logic allow oversized chunks to bypass the chunk size limit? If a single device folio exceeds the 8MB limit (e.g., THP or 1GB huge pages) and is the first page processed in a chunk (where count == 0), the check is skipped. This would cause the oversized nr to be added to count directly, which later gets passed to xe_svm_clear_vram_chunk() and xe_migrate_clear_vram(). Could this trigger a kernel panic via an xe_assert() or cause hardware corruption by emitting oversized memory copy commands that exceed max parameters? [ ... ] > @@ -617,7 +746,6 @@ static int xe_svm_copy(struct page **pages, > u64 __vram_addr; > bool match = false, chunk, last; > > -#define XE_MIGRATE_CHUNK_SIZE SZ_8M > chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE); > last = (i + 1) == npages; [Severity: High] Can i - pos entirely overshoot the exact equality check here and later in the function? Further down in xe_svm_copy(), the chunk flag is updated for large orders: if (pagemap_addr[i].order) { i += NR_PAGES(pagemap_addr[i].order) - 1; chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE); last = (i + 1) == npages; } If a large system folio's NR_PAGES (such as a 1GB huge page) is added to i, could i - pos jump completely over the exact XE_MIGRATE_CHUNK_SIZE boundary, causing chunk to evaluate to false? This would bypass the chunk splitting, resulting in an oversized transfer length passed to xe_migrate_to_vram() or xe_migrate_from_vram(), which could lead to hardware command corruption and a GPU hang. [ ... ] -- Sashiko AI review · https://sashiko.dev/#/patchset/20260929181024.2743854-1-matthew.brost@intel.com?part=3 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front 2026-09-29 18:27 ` sashiko-bot @ 2026-09-29 18:31 ` Matthew Brost 0 siblings, 0 replies; 13+ messages in thread From: Matthew Brost @ 2026-09-29 18:31 UTC (permalink / raw) To: sashiko-reviews; +Cc: intel-xe On Tue, Sep 29, 2026 at 06:27:18PM +0000, sashiko-bot@kernel.org wrote: > Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: > - [High] xe/svm: oversized chunk lengths in migration cause kernel panic > -- > > commit ed6428a65926a64520b6fe556921289286c9c71f > Author: Matthew Brost <matthew.brost@intel.com> > > drm/xe: Do not clear SVM device memory allocations up front > > The patch updates SVM device memory allocations to skip initial clearing > by using XE_BO_FLAG_SKIP_CLEAR. Instead, only sparse areas without CPU > source data are cleared explicitly during migration using the new > xe_svm_clear_vram() function. > > > diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c > > index f39e647512ad9..1b4d1222fbb7e 100644 > > --- a/drivers/gpu/drm/xe/xe_svm.c > > +++ b/drivers/gpu/drm/xe/xe_svm.c > [ ... ] > > @@ -586,6 +586,124 @@ static void xe_svm_copy_us_stats_incr(struct xe_gt *gt, > [ ... ] > > +static int xe_svm_clear_vram(struct page **pages, unsigned long npages, > > + struct dma_fence **fence, > > + struct dma_fence **deps) > > +{ > [ ... ] > > + /* Not contiguous with the pending clear, or chunk is full */ > > + if (count && (addr != vram_addr + count * PAGE_SIZE || > > + count + nr > XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE)) { > > + err = xe_svm_clear_vram_chunk(vr, vram_addr, count, > > + fence, deps); > > + if (err) > > + return err; > > + count = 0; > > + } > > + > > + if (!count) > > + vram_addr = addr; > > + count += nr; > > + i += nr; > > [Severity: High] > Does this logic allow oversized chunks to bypass the chunk size limit? > > If a single device folio exceeds the 8MB limit (e.g., THP or 1GB huge pages) > and is the first page processed in a chunk (where count == 0), the check > is skipped. > > This would cause the oversized nr to be added to count directly, which later > gets passed to xe_svm_clear_vram_chunk() and xe_migrate_clear_vram(). > > Could this trigger a kernel panic via an xe_assert() or cause hardware > corruption by emitting oversized memory copy commands that exceed max > parameters? > > [ ... ] > > @@ -617,7 +746,6 @@ static int xe_svm_copy(struct page **pages, > > u64 __vram_addr; > > bool match = false, chunk, last; > > > > -#define XE_MIGRATE_CHUNK_SIZE SZ_8M > > chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE); > > last = (i + 1) == npages; > > [Severity: High] > Can i - pos entirely overshoot the exact equality check here and later > in the function? > > Further down in xe_svm_copy(), the chunk flag is updated for large orders: > > if (pagemap_addr[i].order) { > i += NR_PAGES(pagemap_addr[i].order) - 1; > chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / PAGE_SIZE); > last = (i + 1) == npages; > } > > If a large system folio's NR_PAGES (such as a 1GB huge page) is added to i, > could i - pos jump completely over the exact XE_MIGRATE_CHUNK_SIZE boundary, > causing chunk to evaluate to false? > > This would bypass the chunk splitting, resulting in an oversized transfer length > passed to xe_migrate_to_vram() or xe_migrate_from_vram(), which could lead to > hardware command corruption and a GPU hang. > Both non-issues as the max folio size supported is 2M, at least on x86. Maybe in a follow up we should assert the give folio size < XE_MIGRATE_CHUNK_SIZE to future proof this a bit. Matt > [ ... ] > > -- > Sashiko AI review · https://sashiko.dev/#/patchset/20260929181024.2743854-1-matthew.brost@intel.com?part=3 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front 2026-09-29 18:10 ` [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front Matthew Brost 2026-09-29 18:27 ` sashiko-bot @ 2026-09-29 20:16 ` Summers, Stuart 2026-09-29 21:14 ` Matthew Brost 1 sibling, 1 reply; 13+ messages in thread From: Summers, Stuart @ 2026-09-29 20:16 UTC (permalink / raw) To: intel-xe@lists.freedesktop.org, Brost, Matthew On Tue, 2026-09-29 at 11:10 -0700, Matthew Brost wrote: > xe_drm_pagemap_populate_mm() allocates a BO to back the range being > migrated into device memory, and TTM clears it. That clear is on the > GPU > page fault and SVM prefetch critical paths, and in the common case it > is > immediately overwritten in its entirety by the migration itself. > > Allocate the BO with XE_BO_FLAG_SKIP_CLEAR and instead deal with the > contents in xe_svm_copy(). A migration to VRAM only sources pages > which > are populated on the CPU side, so if every page has a source DMA > address > the copy covers the whole allocation and nothing else is needed. Only > when the migration is sparse - holes in the CPU VMA from never > faulted > anonymous memory, for instance - is a clear issued, ahead of the > copies, > so the uncovered pages still read as zero. > > The clear walks the destination device pages, taking the extent of > each > entry from its folio order since only folio heads are populated, and > coalesces physically contiguous entries into chunks of at most 8M. It Why 8M? > runs on the same ordered migrate queue as the copies, so it takes > over > the pre-migrate fence dependency and the copies are implicitly > ordered > behind it. > > Assisted-by: Github-Copilot:Claude-opus-5 > Signed-off-by: Matthew Brost <matthew.brost@intel.com> > --- > drivers/gpu/drm/xe/xe_svm.c | 150 > ++++++++++++++++++++++++++++++++++-- > 1 file changed, 143 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/xe/xe_svm.c > b/drivers/gpu/drm/xe/xe_svm.c > index f39e647512ad..1b4d1222fbb7 100644 > --- a/drivers/gpu/drm/xe/xe_svm.c > +++ b/drivers/gpu/drm/xe/xe_svm.c > @@ -586,6 +586,124 @@ static void xe_svm_copy_us_stats_incr(struct > xe_gt *gt, > } > } > > +#define XE_MIGRATE_CHUNK_SIZE SZ_8M > +#define XE_VRAM_ADDR_INVALID ~0x0ull > + > +/** > + * xe_svm_copy_covers_all() - Does a migration write every page? > + * @pagemap_addr: Array of DMA information for the system side of > the migration > + * @npages: Number of pages covered by @pagemap_addr > + * > + * A migration to device memory only sources pages which are > actually populated > + * on the CPU side. Holes in the CPU VMA (never faulted anonymous > memory, for > + * instance) have no DMA address and leave the corresponding device > pages > + * untouched by the copy. > + * > + * Return: true if every page has a source address, false otherwise. > + */ > +static bool xe_svm_copy_covers_all(struct drm_pagemap_addr > *pagemap_addr, > + unsigned long npages) > +{ > + unsigned long i; > + > + for (i = 0; i < npages;) { > + if (!pagemap_addr[i].addr) > + return false; > + > + i += NR_PAGES(pagemap_addr[i].order); > + } > + > + return true; > +} > + > +static int xe_svm_clear_vram_chunk(struct xe_vram_region *vr, u64 > vram_addr, > + unsigned long npages, > + struct dma_fence **fence, > + struct dma_fence **deps) > +{ > + struct dma_fence *__fence; > + > + vm_dbg(&vr->xe->drm, "CLEAR VRAM - 0x%016llx, NPAGES=%ld", > + vram_addr, npages); > + > + __fence = xe_migrate_clear_vram(vr->migrate, npages, > vram_addr, *deps); > + if (IS_ERR(__fence)) > + return PTR_ERR(__fence); > + > + /* Ordered queue - only the first job needs to take the > dependency */ > + *deps = NULL; > + dma_fence_put(*fence); > + *fence = __fence; > + > + return 0; > +} > + > +/** > + * xe_svm_clear_vram() - Clear the device memory backing a migration > + * @pages: Array of device pages which back the migration > destination > + * @npages: Number of pages in @pages > + * @fence: In/out pointer to the last fence issued on the migrate > queue > + * @deps: In/out pointer to a dependency to attach to the first job > issued > + * > + * Zero the device memory described by @pages. Entries in @pages are > only > + * populated at the head of each folio, so the extent of each entry > is taken > + * from the folio order, and physically contiguous entries are > coalesced into a > + * single clear of at most XE_MIGRATE_CHUNK_SIZE. > + * > + * Return: 0 on success, negative error code on failure. > + */ > +static int xe_svm_clear_vram(struct page **pages, unsigned long > npages, > + struct dma_fence **fence, > + struct dma_fence **deps) > +{ > + struct xe_vram_region *vr = NULL; > + unsigned long i, count = 0; > + u64 vram_addr = XE_VRAM_ADDR_INVALID; > + int err; > + > + for (i = 0; i < npages;) { > + struct page *page = pages[i]; > + unsigned long nr; > + u64 addr; > + > + if (!page) { > + ++i; > + continue; > + } > + > + if (!vr) > + vr = xe_page_to_vr(page); > + XE_WARN_ON(xe_page_to_vr(page) != vr); > + > + nr = NR_PAGES(folio_order(page_folio(page))); > + addr = xe_page_to_dpa(page); > + > + /* Not contiguous with the pending clear, or chunk is > full */ > + if (count && (addr != vram_addr + count * PAGE_SIZE > || > + count + nr > XE_MIGRATE_CHUNK_SIZE / > PAGE_SIZE)) { > + err = xe_svm_clear_vram_chunk(vr, vram_addr, > count, > + fence, deps); > + if (err) > + return err; > + count = 0; > + } > + > + if (!count) > + vram_addr = addr; > + count += nr; > + i += nr; > + } > + > + if (count) { > + err = xe_svm_clear_vram_chunk(vr, vram_addr, count, > fence, > + deps); > + if (err) > + return err; > + } > + > + return 0; > +} > + > static int xe_svm_copy(struct page **pages, > struct drm_pagemap_addr *pagemap_addr, > unsigned long npages, const enum > xe_svm_copy_dir dir, > @@ -596,12 +714,23 @@ static int xe_svm_copy(struct page **pages, > struct xe_device *xe; > struct dma_fence *fence = NULL; > unsigned long i; > -#define XE_VRAM_ADDR_INVALID ~0x0ull > u64 vram_addr = XE_VRAM_ADDR_INVALID; > int err = 0, pos = 0; > bool sram = dir == XE_SVM_COPY_TO_SRAM; > ktime_t start = xe_gt_stats_ktime_get(); > > + /* > + * Device memory is allocated with XE_BO_FLAG_SKIP_CLEAR, so > it still Should we check that explicitly somewhere here (or in the wrapper)? What if someone changes the code down the road to not skip the clear accidentally... I guess we just have a slight performance drop so maybe not a functional problem? > + * holds whatever the previous owner left behind. A copy > covering every > + * page scrubs it, anything less has to be cleared first. > + */ > + if (!sram && !xe_svm_copy_covers_all(pagemap_addr, npages)) { > + err = xe_svm_clear_vram(pages, npages, &fence, > + &pre_migrate_fence); > + if (err) > + goto err_out; > + } > + > /* > * This flow is complex: it locates physically contiguous > device pages, > * derives the starting physical address, and performs a > single GPU copy > @@ -617,7 +746,6 @@ static int xe_svm_copy(struct page **pages, > u64 __vram_addr; > bool match = false, chunk, last; > > -#define XE_MIGRATE_CHUNK_SIZE SZ_8M > chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / > PAGE_SIZE); > last = (i + 1) == npages; > > @@ -758,8 +886,6 @@ static int xe_svm_copy(struct page **pages, > xe_svm_copy_us_stats_incr(gt, dir, npages, start); > > return err; > -#undef XE_MIGRATE_CHUNK_SIZE > -#undef XE_VRAM_ADDR_INVALID > } > > static int xe_svm_copy_to_devmem(struct page **pages, > @@ -1121,18 +1247,28 @@ static int xe_drm_pagemap_populate_mm(struct > drm_pagemap *dpagemap, > struct xe_validation_ctx vctx; > struct drm_exec exec; > struct xe_bo *bo; > + u32 bo_flags; > int err = 0, idx; > > if (!drm_dev_enter(&xe->drm, &idx)) > return -ENODEV; > > + /* > + * Skip the clear on device memory - xe_svm_copy() either > fully > + * overwrites the allocation or clears it explicitly, so > clearing here > + * is pure overhead on the page fault and prefetch paths. > + */ > + if (IS_DGFX(xe)) > + bo_flags = XE_BO_FLAG_VRAM(vr) | > XE_BO_FLAG_SKIP_CLEAR; This is maybe a comment that should go in the earlier patch that adds the flag, but should we have a check that ensures this is a kernel/migration BO and not a user BO? Thanks, Stuart > + else > + bo_flags = XE_BO_FLAG_SYSTEM; > + bo_flags |= XE_BO_FLAG_CPU_ADDR_MIRROR; > + > xe_pm_runtime_get(xe); > > xe_validation_guard(&vctx, &xe->val, &exec, (struct > xe_val_flags) {}, err) { > bo = xe_bo_create_locked(xe, NULL, NULL, end - start, > - ttm_bo_type_device, > - (IS_DGFX(xe) ? > XE_BO_FLAG_VRAM(vr) : XE_BO_FLAG_SYSTEM) | > - XE_BO_FLAG_CPU_ADDR_MIRROR, > &exec); > + ttm_bo_type_device, > bo_flags, &exec); > drm_exec_retry_on_contention(&exec); > if (IS_ERR(bo)) { > err = PTR_ERR(bo); ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front 2026-09-29 20:16 ` Summers, Stuart @ 2026-09-29 21:14 ` Matthew Brost 2026-09-29 22:05 ` Summers, Stuart 0 siblings, 1 reply; 13+ messages in thread From: Matthew Brost @ 2026-09-29 21:14 UTC (permalink / raw) To: Summers, Stuart; +Cc: intel-xe@lists.freedesktop.org On Tue, Sep 29, 2026 at 02:16:18PM -0600, Summers, Stuart wrote: > On Tue, 2026-09-29 at 11:10 -0700, Matthew Brost wrote: > > xe_drm_pagemap_populate_mm() allocates a BO to back the range being > > migrated into device memory, and TTM clears it. That clear is on the > > GPU > > page fault and SVM prefetch critical paths, and in the common case it > > is > > immediately overwritten in its entirety by the migration itself. > > > > Allocate the BO with XE_BO_FLAG_SKIP_CLEAR and instead deal with the > > contents in xe_svm_copy(). A migration to VRAM only sources pages > > which > > are populated on the CPU side, so if every page has a source DMA > > address > > the copy covers the whole allocation and nothing else is needed. Only > > when the migration is sparse - holes in the CPU VMA from never > > faulted > > anonymous memory, for instance - is a clear issued, ahead of the > > copies, > > so the uncovered pages still read as zero. > > > > The clear walks the destination device pages, taking the extent of > > each > > entry from its folio order since only folio heads are populated, and > > coalesces physically contiguous entries into chunks of at most 8M. It > > Why 8M? > XE_MIGRATE_CHUNK_SIZE is existing code which has picked 8M for copies, so using same size for clears. In practice this is limited at 2M as that is max SVM allocation size but that part is table driven and can be changed at any time. > > runs on the same ordered migrate queue as the copies, so it takes > > over > > the pre-migrate fence dependency and the copies are implicitly > > ordered > > behind it. > > > > Assisted-by: Github-Copilot:Claude-opus-5 > > Signed-off-by: Matthew Brost <matthew.brost@intel.com> > > --- > > drivers/gpu/drm/xe/xe_svm.c | 150 > > ++++++++++++++++++++++++++++++++++-- > > 1 file changed, 143 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/gpu/drm/xe/xe_svm.c > > b/drivers/gpu/drm/xe/xe_svm.c > > index f39e647512ad..1b4d1222fbb7 100644 > > --- a/drivers/gpu/drm/xe/xe_svm.c > > +++ b/drivers/gpu/drm/xe/xe_svm.c > > @@ -586,6 +586,124 @@ static void xe_svm_copy_us_stats_incr(struct > > xe_gt *gt, > > } > > } > > > > +#define XE_MIGRATE_CHUNK_SIZE SZ_8M > > +#define XE_VRAM_ADDR_INVALID ~0x0ull > > + > > +/** > > + * xe_svm_copy_covers_all() - Does a migration write every page? > > + * @pagemap_addr: Array of DMA information for the system side of > > the migration > > + * @npages: Number of pages covered by @pagemap_addr > > + * > > + * A migration to device memory only sources pages which are > > actually populated > > + * on the CPU side. Holes in the CPU VMA (never faulted anonymous > > memory, for > > + * instance) have no DMA address and leave the corresponding device > > pages > > + * untouched by the copy. > > + * > > + * Return: true if every page has a source address, false otherwise. > > + */ > > +static bool xe_svm_copy_covers_all(struct drm_pagemap_addr > > *pagemap_addr, > > + unsigned long npages) > > +{ > > + unsigned long i; > > + > > + for (i = 0; i < npages;) { > > + if (!pagemap_addr[i].addr) > > + return false; > > + > > + i += NR_PAGES(pagemap_addr[i].order); > > + } > > + > > + return true; > > +} > > + > > +static int xe_svm_clear_vram_chunk(struct xe_vram_region *vr, u64 > > vram_addr, > > + unsigned long npages, > > + struct dma_fence **fence, > > + struct dma_fence **deps) > > +{ > > + struct dma_fence *__fence; > > + > > + vm_dbg(&vr->xe->drm, "CLEAR VRAM - 0x%016llx, NPAGES=%ld", > > + vram_addr, npages); > > + > > + __fence = xe_migrate_clear_vram(vr->migrate, npages, > > vram_addr, *deps); > > + if (IS_ERR(__fence)) > > + return PTR_ERR(__fence); > > + > > + /* Ordered queue - only the first job needs to take the > > dependency */ > > + *deps = NULL; > > + dma_fence_put(*fence); > > + *fence = __fence; > > + > > + return 0; > > +} > > + > > +/** > > + * xe_svm_clear_vram() - Clear the device memory backing a migration > > + * @pages: Array of device pages which back the migration > > destination > > + * @npages: Number of pages in @pages > > + * @fence: In/out pointer to the last fence issued on the migrate > > queue > > + * @deps: In/out pointer to a dependency to attach to the first job > > issued > > + * > > + * Zero the device memory described by @pages. Entries in @pages are > > only > > + * populated at the head of each folio, so the extent of each entry > > is taken > > + * from the folio order, and physically contiguous entries are > > coalesced into a > > + * single clear of at most XE_MIGRATE_CHUNK_SIZE. > > + * > > + * Return: 0 on success, negative error code on failure. > > + */ > > +static int xe_svm_clear_vram(struct page **pages, unsigned long > > npages, > > + struct dma_fence **fence, > > + struct dma_fence **deps) > > +{ > > + struct xe_vram_region *vr = NULL; > > + unsigned long i, count = 0; > > + u64 vram_addr = XE_VRAM_ADDR_INVALID; > > + int err; > > + > > + for (i = 0; i < npages;) { > > + struct page *page = pages[i]; > > + unsigned long nr; > > + u64 addr; > > + > > + if (!page) { > > + ++i; > > + continue; > > + } > > + > > + if (!vr) > > + vr = xe_page_to_vr(page); > > + XE_WARN_ON(xe_page_to_vr(page) != vr); > > + > > + nr = NR_PAGES(folio_order(page_folio(page))); > > + addr = xe_page_to_dpa(page); > > + > > + /* Not contiguous with the pending clear, or chunk is > > full */ > > + if (count && (addr != vram_addr + count * PAGE_SIZE > > || > > + count + nr > XE_MIGRATE_CHUNK_SIZE / > > PAGE_SIZE)) { > > + err = xe_svm_clear_vram_chunk(vr, vram_addr, > > count, > > + fence, deps); > > + if (err) > > + return err; > > + count = 0; > > + } > > + > > + if (!count) > > + vram_addr = addr; > > + count += nr; > > + i += nr; > > + } > > + > > + if (count) { > > + err = xe_svm_clear_vram_chunk(vr, vram_addr, count, > > fence, > > + deps); > > + if (err) > > + return err; > > + } > > + > > + return 0; > > +} > > + > > static int xe_svm_copy(struct page **pages, > > struct drm_pagemap_addr *pagemap_addr, > > unsigned long npages, const enum > > xe_svm_copy_dir dir, > > @@ -596,12 +714,23 @@ static int xe_svm_copy(struct page **pages, > > struct xe_device *xe; > > struct dma_fence *fence = NULL; > > unsigned long i; > > -#define XE_VRAM_ADDR_INVALID ~0x0ull > > u64 vram_addr = XE_VRAM_ADDR_INVALID; > > int err = 0, pos = 0; > > bool sram = dir == XE_SVM_COPY_TO_SRAM; > > ktime_t start = xe_gt_stats_ktime_get(); > > > > + /* > > + * Device memory is allocated with XE_BO_FLAG_SKIP_CLEAR, so > > it still > > Should we check that explicitly somewhere here (or in the wrapper)? > What if someone changes the code down the road to not skip the clear > accidentally... I guess we just have a slight performance drop so maybe > not a functional problem? > We don't have the BO here, only addresses. The why interfaces in GPUSVM are defined that layer has no idea if driver allocated a BO or not. > > + * holds whatever the previous owner left behind. A copy > > covering every > > + * page scrubs it, anything less has to be cleared first. > > + */ > > + if (!sram && !xe_svm_copy_covers_all(pagemap_addr, npages)) { > > + err = xe_svm_clear_vram(pages, npages, &fence, > > + &pre_migrate_fence); > > + if (err) > > + goto err_out; > > + } > > + > > /* > > * This flow is complex: it locates physically contiguous > > device pages, > > * derives the starting physical address, and performs a > > single GPU copy > > @@ -617,7 +746,6 @@ static int xe_svm_copy(struct page **pages, > > u64 __vram_addr; > > bool match = false, chunk, last; > > > > -#define XE_MIGRATE_CHUNK_SIZE SZ_8M > > chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / > > PAGE_SIZE); > > last = (i + 1) == npages; > > > > @@ -758,8 +886,6 @@ static int xe_svm_copy(struct page **pages, > > xe_svm_copy_us_stats_incr(gt, dir, npages, start); > > > > return err; > > -#undef XE_MIGRATE_CHUNK_SIZE > > -#undef XE_VRAM_ADDR_INVALID > > } > > > > static int xe_svm_copy_to_devmem(struct page **pages, > > @@ -1121,18 +1247,28 @@ static int xe_drm_pagemap_populate_mm(struct > > drm_pagemap *dpagemap, > > struct xe_validation_ctx vctx; > > struct drm_exec exec; > > struct xe_bo *bo; > > + u32 bo_flags; > > int err = 0, idx; > > > > if (!drm_dev_enter(&xe->drm, &idx)) > > return -ENODEV; > > > > + /* > > + * Skip the clear on device memory - xe_svm_copy() either > > fully > > + * overwrites the allocation or clears it explicitly, so > > clearing here > > + * is pure overhead on the page fault and prefetch paths. > > + */ > > + if (IS_DGFX(xe)) > > + bo_flags = XE_BO_FLAG_VRAM(vr) | > > XE_BO_FLAG_SKIP_CLEAR; > > This is maybe a comment that should go in the earlier patch that adds > the flag, but should we have a check that ensures this is a > kernel/migration BO and not a user BO? I think the comment here is valid as it explains why setting XE_BO_FLAG_SKIP_CLEAR is safe as it done later if it is required, but I should likely add an assert !xe_bo_is_user if XE_BO_FLAG_SKIP_CLEAR is set. Let me add that. Matt > > Thanks, > Stuart > > > + else > > + bo_flags = XE_BO_FLAG_SYSTEM; > > + bo_flags |= XE_BO_FLAG_CPU_ADDR_MIRROR; > > + > > xe_pm_runtime_get(xe); > > > > xe_validation_guard(&vctx, &xe->val, &exec, (struct > > xe_val_flags) {}, err) { > > bo = xe_bo_create_locked(xe, NULL, NULL, end - start, > > - ttm_bo_type_device, > > - (IS_DGFX(xe) ? > > XE_BO_FLAG_VRAM(vr) : XE_BO_FLAG_SYSTEM) | > > - XE_BO_FLAG_CPU_ADDR_MIRROR, > > &exec); > > + ttm_bo_type_device, > > bo_flags, &exec); > > drm_exec_retry_on_contention(&exec); > > if (IS_ERR(bo)) { > > err = PTR_ERR(bo); > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front 2026-09-29 21:14 ` Matthew Brost @ 2026-09-29 22:05 ` Summers, Stuart 2026-09-29 23:21 ` Matthew Brost 0 siblings, 1 reply; 13+ messages in thread From: Summers, Stuart @ 2026-09-29 22:05 UTC (permalink / raw) To: Brost, Matthew; +Cc: intel-xe@lists.freedesktop.org On Tue, 2026-09-29 at 14:14 -0700, Matthew Brost wrote: > On Tue, Sep 29, 2026 at 02:16:18PM -0600, Summers, Stuart wrote: > > On Tue, 2026-09-29 at 11:10 -0700, Matthew Brost wrote: > > > xe_drm_pagemap_populate_mm() allocates a BO to back the range > > > being > > > migrated into device memory, and TTM clears it. That clear is on > > > the > > > GPU > > > page fault and SVM prefetch critical paths, and in the common > > > case it > > > is > > > immediately overwritten in its entirety by the migration itself. > > > > > > Allocate the BO with XE_BO_FLAG_SKIP_CLEAR and instead deal with > > > the > > > contents in xe_svm_copy(). A migration to VRAM only sources pages > > > which > > > are populated on the CPU side, so if every page has a source DMA > > > address > > > the copy covers the whole allocation and nothing else is needed. > > > Only > > > when the migration is sparse - holes in the CPU VMA from never > > > faulted > > > anonymous memory, for instance - is a clear issued, ahead of the > > > copies, > > > so the uncovered pages still read as zero. > > > > > > The clear walks the destination device pages, taking the extent > > > of > > > each > > > entry from its folio order since only folio heads are populated, > > > and > > > coalesces physically contiguous entries into chunks of at most > > > 8M. It > > > > Why 8M? > > > > XE_MIGRATE_CHUNK_SIZE is existing code which has picked 8M for > copies, > so using same size for clears. In practice this is limited at 2M as > that > is max SVM allocation size but that part is table driven and can be > changed at any time. Yeah I guess my question was related to the page size granularity (2M), so the 8M chunk seems a little arbitrary to me. I don't have all the migrate chunk size history though... But yeah makes sense generally. > > > > runs on the same ordered migrate queue as the copies, so it takes > > > over > > > the pre-migrate fence dependency and the copies are implicitly > > > ordered > > > behind it. > > > > > > Assisted-by: Github-Copilot:Claude-opus-5 > > > Signed-off-by: Matthew Brost <matthew.brost@intel.com> > > > --- > > > drivers/gpu/drm/xe/xe_svm.c | 150 > > > ++++++++++++++++++++++++++++++++++-- > > > 1 file changed, 143 insertions(+), 7 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/xe/xe_svm.c > > > b/drivers/gpu/drm/xe/xe_svm.c > > > index f39e647512ad..1b4d1222fbb7 100644 > > > --- a/drivers/gpu/drm/xe/xe_svm.c > > > +++ b/drivers/gpu/drm/xe/xe_svm.c > > > @@ -586,6 +586,124 @@ static void > > > xe_svm_copy_us_stats_incr(struct > > > xe_gt *gt, > > > } > > > } > > > > > > +#define XE_MIGRATE_CHUNK_SIZE SZ_8M > > > +#define XE_VRAM_ADDR_INVALID ~0x0ull > > > + > > > +/** > > > + * xe_svm_copy_covers_all() - Does a migration write every page? > > > + * @pagemap_addr: Array of DMA information for the system side > > > of > > > the migration > > > + * @npages: Number of pages covered by @pagemap_addr > > > + * > > > + * A migration to device memory only sources pages which are > > > actually populated > > > + * on the CPU side. Holes in the CPU VMA (never faulted > > > anonymous > > > memory, for > > > + * instance) have no DMA address and leave the corresponding > > > device > > > pages > > > + * untouched by the copy. > > > + * > > > + * Return: true if every page has a source address, false > > > otherwise. > > > + */ > > > +static bool xe_svm_copy_covers_all(struct drm_pagemap_addr > > > *pagemap_addr, > > > + unsigned long npages) > > > +{ > > > + unsigned long i; > > > + > > > + for (i = 0; i < npages;) { > > > + if (!pagemap_addr[i].addr) > > > + return false; > > > + > > > + i += NR_PAGES(pagemap_addr[i].order); > > > + } > > > + > > > + return true; > > > +} > > > + > > > +static int xe_svm_clear_vram_chunk(struct xe_vram_region *vr, > > > u64 > > > vram_addr, > > > + unsigned long npages, > > > + struct dma_fence **fence, > > > + struct dma_fence **deps) > > > +{ > > > + struct dma_fence *__fence; > > > + > > > + vm_dbg(&vr->xe->drm, "CLEAR VRAM - 0x%016llx, > > > NPAGES=%ld", > > > + vram_addr, npages); > > > + > > > + __fence = xe_migrate_clear_vram(vr->migrate, npages, > > > vram_addr, *deps); > > > + if (IS_ERR(__fence)) > > > + return PTR_ERR(__fence); > > > + > > > + /* Ordered queue - only the first job needs to take the > > > dependency */ > > > + *deps = NULL; > > > + dma_fence_put(*fence); > > > + *fence = __fence; > > > + > > > + return 0; > > > +} > > > + > > > +/** > > > + * xe_svm_clear_vram() - Clear the device memory backing a > > > migration > > > + * @pages: Array of device pages which back the migration > > > destination > > > + * @npages: Number of pages in @pages > > > + * @fence: In/out pointer to the last fence issued on the > > > migrate > > > queue > > > + * @deps: In/out pointer to a dependency to attach to the first > > > job > > > issued > > > + * > > > + * Zero the device memory described by @pages. Entries in @pages > > > are > > > only > > > + * populated at the head of each folio, so the extent of each > > > entry > > > is taken > > > + * from the folio order, and physically contiguous entries are > > > coalesced into a > > > + * single clear of at most XE_MIGRATE_CHUNK_SIZE. > > > + * > > > + * Return: 0 on success, negative error code on failure. > > > + */ > > > +static int xe_svm_clear_vram(struct page **pages, unsigned long > > > npages, > > > + struct dma_fence **fence, > > > + struct dma_fence **deps) > > > +{ > > > + struct xe_vram_region *vr = NULL; > > > + unsigned long i, count = 0; > > > + u64 vram_addr = XE_VRAM_ADDR_INVALID; > > > + int err; > > > + > > > + for (i = 0; i < npages;) { > > > + struct page *page = pages[i]; > > > + unsigned long nr; > > > + u64 addr; > > > + > > > + if (!page) { > > > + ++i; > > > + continue; > > > + } > > > + > > > + if (!vr) > > > + vr = xe_page_to_vr(page); > > > + XE_WARN_ON(xe_page_to_vr(page) != vr); > > > + > > > + nr = NR_PAGES(folio_order(page_folio(page))); > > > + addr = xe_page_to_dpa(page); > > > + > > > + /* Not contiguous with the pending clear, or > > > chunk is > > > full */ > > > + if (count && (addr != vram_addr + count * > > > PAGE_SIZE > > > > > > > > + count + nr > XE_MIGRATE_CHUNK_SIZE > > > / > > > PAGE_SIZE)) { > > > + err = xe_svm_clear_vram_chunk(vr, > > > vram_addr, > > > count, > > > + fence, > > > deps); > > > + if (err) > > > + return err; > > > + count = 0; > > > + } > > > + > > > + if (!count) > > > + vram_addr = addr; > > > + count += nr; > > > + i += nr; > > > + } > > > + > > > + if (count) { > > > + err = xe_svm_clear_vram_chunk(vr, vram_addr, > > > count, > > > fence, > > > + deps); > > > + if (err) > > > + return err; > > > + } > > > + > > > + return 0; > > > +} > > > + > > > static int xe_svm_copy(struct page **pages, > > > struct drm_pagemap_addr *pagemap_addr, > > > unsigned long npages, const enum > > > xe_svm_copy_dir dir, > > > @@ -596,12 +714,23 @@ static int xe_svm_copy(struct page **pages, > > > struct xe_device *xe; > > > struct dma_fence *fence = NULL; > > > unsigned long i; > > > -#define XE_VRAM_ADDR_INVALID ~0x0ull > > > u64 vram_addr = XE_VRAM_ADDR_INVALID; > > > int err = 0, pos = 0; > > > bool sram = dir == XE_SVM_COPY_TO_SRAM; > > > ktime_t start = xe_gt_stats_ktime_get(); > > > > > > + /* > > > + * Device memory is allocated with XE_BO_FLAG_SKIP_CLEAR, > > > so > > > it still > > > > Should we check that explicitly somewhere here (or in the wrapper)? > > What if someone changes the code down the road to not skip the > > clear > > accidentally... I guess we just have a slight performance drop so > > maybe > > not a functional problem? > > > > We don't have the BO here, only addresses. The why interfaces in > GPUSVM > are defined that layer has no idea if driver allocated a BO or not. Ok so basically the SVM layer is going to do this no matter what and we just need to ensure in the BO layer that this isn't doing a double clear? Should we have a performance test to make sure we don't regress there? > > > > + * holds whatever the previous owner left behind. A copy > > > covering every > > > + * page scrubs it, anything less has to be cleared first. > > > + */ > > > + if (!sram && !xe_svm_copy_covers_all(pagemap_addr, > > > npages)) { > > > + err = xe_svm_clear_vram(pages, npages, &fence, > > > + &pre_migrate_fence); > > > + if (err) > > > + goto err_out; > > > + } > > > + > > > /* > > > * This flow is complex: it locates physically contiguous > > > device pages, > > > * derives the starting physical address, and performs a > > > single GPU copy > > > @@ -617,7 +746,6 @@ static int xe_svm_copy(struct page **pages, > > > u64 __vram_addr; > > > bool match = false, chunk, last; > > > > > > -#define XE_MIGRATE_CHUNK_SIZE SZ_8M > > > chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / > > > PAGE_SIZE); > > > last = (i + 1) == npages; > > > > > > @@ -758,8 +886,6 @@ static int xe_svm_copy(struct page **pages, > > > xe_svm_copy_us_stats_incr(gt, dir, npages, > > > start); > > > > > > return err; > > > -#undef XE_MIGRATE_CHUNK_SIZE > > > -#undef XE_VRAM_ADDR_INVALID > > > } > > > > > > static int xe_svm_copy_to_devmem(struct page **pages, > > > @@ -1121,18 +1247,28 @@ static int > > > xe_drm_pagemap_populate_mm(struct > > > drm_pagemap *dpagemap, > > > struct xe_validation_ctx vctx; > > > struct drm_exec exec; > > > struct xe_bo *bo; > > > + u32 bo_flags; > > > int err = 0, idx; > > > > > > if (!drm_dev_enter(&xe->drm, &idx)) > > > return -ENODEV; > > > > > > + /* > > > + * Skip the clear on device memory - xe_svm_copy() either > > > fully > > > + * overwrites the allocation or clears it explicitly, so > > > clearing here > > > + * is pure overhead on the page fault and prefetch paths. > > > + */ > > > + if (IS_DGFX(xe)) > > > + bo_flags = XE_BO_FLAG_VRAM(vr) | > > > XE_BO_FLAG_SKIP_CLEAR; > > > > This is maybe a comment that should go in the earlier patch that > > adds > > the flag, but should we have a check that ensures this is a > > kernel/migration BO and not a user BO? > > I think the comment here is valid as it explains why setting Oh sorry that was really unclear by "a comment" here I meant my review comment, not your in code comment which looks fine :) > XE_BO_FLAG_SKIP_CLEAR is safe as it done later if it is required, but > I > should likely add an assert !xe_bo_is_user if XE_BO_FLAG_SKIP_CLEAR > is > set. Let me add that. Yeah perfect. Thanks, Stuart > > Matt > > > > > Thanks, > > Stuart > > > > > + else > > > + bo_flags = XE_BO_FLAG_SYSTEM; > > > + bo_flags |= XE_BO_FLAG_CPU_ADDR_MIRROR; > > > + > > > xe_pm_runtime_get(xe); > > > > > > xe_validation_guard(&vctx, &xe->val, &exec, (struct > > > xe_val_flags) {}, err) { > > > bo = xe_bo_create_locked(xe, NULL, NULL, end - > > > start, > > > - ttm_bo_type_device, > > > - (IS_DGFX(xe) ? > > > XE_BO_FLAG_VRAM(vr) : XE_BO_FLAG_SYSTEM) | > > > - > > > XE_BO_FLAG_CPU_ADDR_MIRROR, > > > &exec); > > > + ttm_bo_type_device, > > > bo_flags, &exec); > > > drm_exec_retry_on_contention(&exec); > > > if (IS_ERR(bo)) { > > > err = PTR_ERR(bo); > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front 2026-09-29 22:05 ` Summers, Stuart @ 2026-09-29 23:21 ` Matthew Brost 0 siblings, 0 replies; 13+ messages in thread From: Matthew Brost @ 2026-09-29 23:21 UTC (permalink / raw) To: Summers, Stuart; +Cc: intel-xe@lists.freedesktop.org On Tue, Sep 29, 2026 at 04:05:44PM -0600, Summers, Stuart wrote: > On Tue, 2026-09-29 at 14:14 -0700, Matthew Brost wrote: > > On Tue, Sep 29, 2026 at 02:16:18PM -0600, Summers, Stuart wrote: > > > On Tue, 2026-09-29 at 11:10 -0700, Matthew Brost wrote: > > > > xe_drm_pagemap_populate_mm() allocates a BO to back the range > > > > being > > > > migrated into device memory, and TTM clears it. That clear is on > > > > the > > > > GPU > > > > page fault and SVM prefetch critical paths, and in the common > > > > case it > > > > is > > > > immediately overwritten in its entirety by the migration itself. > > > > > > > > Allocate the BO with XE_BO_FLAG_SKIP_CLEAR and instead deal with > > > > the > > > > contents in xe_svm_copy(). A migration to VRAM only sources pages > > > > which > > > > are populated on the CPU side, so if every page has a source DMA > > > > address > > > > the copy covers the whole allocation and nothing else is needed. > > > > Only > > > > when the migration is sparse - holes in the CPU VMA from never > > > > faulted > > > > anonymous memory, for instance - is a clear issued, ahead of the > > > > copies, > > > > so the uncovered pages still read as zero. > > > > > > > > The clear walks the destination device pages, taking the extent > > > > of > > > > each > > > > entry from its folio order since only folio heads are populated, > > > > and > > > > coalesces physically contiguous entries into chunks of at most > > > > 8M. It > > > > > > Why 8M? > > > > > > > XE_MIGRATE_CHUNK_SIZE is existing code which has picked 8M for > > copies, > > so using same size for clears. In practice this is limited at 2M as > > that > > is max SVM allocation size but that part is table driven and can be > > changed at any time. > > Yeah I guess my question was related to the page size granularity (2M), > so the 8M chunk seems a little arbitrary to me. I don't have all the > migrate chunk size history though... > > But yeah makes sense generally. > > > > > > > runs on the same ordered migrate queue as the copies, so it takes > > > > over > > > > the pre-migrate fence dependency and the copies are implicitly > > > > ordered > > > > behind it. > > > > > > > > Assisted-by: Github-Copilot:Claude-opus-5 > > > > Signed-off-by: Matthew Brost <matthew.brost@intel.com> > > > > --- > > > > drivers/gpu/drm/xe/xe_svm.c | 150 > > > > ++++++++++++++++++++++++++++++++++-- > > > > 1 file changed, 143 insertions(+), 7 deletions(-) > > > > > > > > diff --git a/drivers/gpu/drm/xe/xe_svm.c > > > > b/drivers/gpu/drm/xe/xe_svm.c > > > > index f39e647512ad..1b4d1222fbb7 100644 > > > > --- a/drivers/gpu/drm/xe/xe_svm.c > > > > +++ b/drivers/gpu/drm/xe/xe_svm.c > > > > @@ -586,6 +586,124 @@ static void > > > > xe_svm_copy_us_stats_incr(struct > > > > xe_gt *gt, > > > > } > > > > } > > > > > > > > +#define XE_MIGRATE_CHUNK_SIZE SZ_8M > > > > +#define XE_VRAM_ADDR_INVALID ~0x0ull > > > > + > > > > +/** > > > > + * xe_svm_copy_covers_all() - Does a migration write every page? > > > > + * @pagemap_addr: Array of DMA information for the system side > > > > of > > > > the migration > > > > + * @npages: Number of pages covered by @pagemap_addr > > > > + * > > > > + * A migration to device memory only sources pages which are > > > > actually populated > > > > + * on the CPU side. Holes in the CPU VMA (never faulted > > > > anonymous > > > > memory, for > > > > + * instance) have no DMA address and leave the corresponding > > > > device > > > > pages > > > > + * untouched by the copy. > > > > + * > > > > + * Return: true if every page has a source address, false > > > > otherwise. > > > > + */ > > > > +static bool xe_svm_copy_covers_all(struct drm_pagemap_addr > > > > *pagemap_addr, > > > > + unsigned long npages) > > > > +{ > > > > + unsigned long i; > > > > + > > > > + for (i = 0; i < npages;) { > > > > + if (!pagemap_addr[i].addr) > > > > + return false; > > > > + > > > > + i += NR_PAGES(pagemap_addr[i].order); > > > > + } > > > > + > > > > + return true; > > > > +} > > > > + > > > > +static int xe_svm_clear_vram_chunk(struct xe_vram_region *vr, > > > > u64 > > > > vram_addr, > > > > + unsigned long npages, > > > > + struct dma_fence **fence, > > > > + struct dma_fence **deps) > > > > +{ > > > > + struct dma_fence *__fence; > > > > + > > > > + vm_dbg(&vr->xe->drm, "CLEAR VRAM - 0x%016llx, > > > > NPAGES=%ld", > > > > + vram_addr, npages); > > > > + > > > > + __fence = xe_migrate_clear_vram(vr->migrate, npages, > > > > vram_addr, *deps); > > > > + if (IS_ERR(__fence)) > > > > + return PTR_ERR(__fence); > > > > + > > > > + /* Ordered queue - only the first job needs to take the > > > > dependency */ > > > > + *deps = NULL; > > > > + dma_fence_put(*fence); > > > > + *fence = __fence; > > > > + > > > > + return 0; > > > > +} > > > > + > > > > +/** > > > > + * xe_svm_clear_vram() - Clear the device memory backing a > > > > migration > > > > + * @pages: Array of device pages which back the migration > > > > destination > > > > + * @npages: Number of pages in @pages > > > > + * @fence: In/out pointer to the last fence issued on the > > > > migrate > > > > queue > > > > + * @deps: In/out pointer to a dependency to attach to the first > > > > job > > > > issued > > > > + * > > > > + * Zero the device memory described by @pages. Entries in @pages > > > > are > > > > only > > > > + * populated at the head of each folio, so the extent of each > > > > entry > > > > is taken > > > > + * from the folio order, and physically contiguous entries are > > > > coalesced into a > > > > + * single clear of at most XE_MIGRATE_CHUNK_SIZE. > > > > + * > > > > + * Return: 0 on success, negative error code on failure. > > > > + */ > > > > +static int xe_svm_clear_vram(struct page **pages, unsigned long > > > > npages, > > > > + struct dma_fence **fence, > > > > + struct dma_fence **deps) > > > > +{ > > > > + struct xe_vram_region *vr = NULL; > > > > + unsigned long i, count = 0; > > > > + u64 vram_addr = XE_VRAM_ADDR_INVALID; > > > > + int err; > > > > + > > > > + for (i = 0; i < npages;) { > > > > + struct page *page = pages[i]; > > > > + unsigned long nr; > > > > + u64 addr; > > > > + > > > > + if (!page) { > > > > + ++i; > > > > + continue; > > > > + } > > > > + > > > > + if (!vr) > > > > + vr = xe_page_to_vr(page); > > > > + XE_WARN_ON(xe_page_to_vr(page) != vr); > > > > + > > > > + nr = NR_PAGES(folio_order(page_folio(page))); > > > > + addr = xe_page_to_dpa(page); > > > > + > > > > + /* Not contiguous with the pending clear, or > > > > chunk is > > > > full */ > > > > + if (count && (addr != vram_addr + count * > > > > PAGE_SIZE > > > > > > > > > > + count + nr > XE_MIGRATE_CHUNK_SIZE > > > > / > > > > PAGE_SIZE)) { > > > > + err = xe_svm_clear_vram_chunk(vr, > > > > vram_addr, > > > > count, > > > > + fence, > > > > deps); > > > > + if (err) > > > > + return err; > > > > + count = 0; > > > > + } > > > > + > > > > + if (!count) > > > > + vram_addr = addr; > > > > + count += nr; > > > > + i += nr; > > > > + } > > > > + > > > > + if (count) { > > > > + err = xe_svm_clear_vram_chunk(vr, vram_addr, > > > > count, > > > > fence, > > > > + deps); > > > > + if (err) > > > > + return err; > > > > + } > > > > + > > > > + return 0; > > > > +} > > > > + > > > > static int xe_svm_copy(struct page **pages, > > > > struct drm_pagemap_addr *pagemap_addr, > > > > unsigned long npages, const enum > > > > xe_svm_copy_dir dir, > > > > @@ -596,12 +714,23 @@ static int xe_svm_copy(struct page **pages, > > > > struct xe_device *xe; > > > > struct dma_fence *fence = NULL; > > > > unsigned long i; > > > > -#define XE_VRAM_ADDR_INVALID ~0x0ull > > > > u64 vram_addr = XE_VRAM_ADDR_INVALID; > > > > int err = 0, pos = 0; > > > > bool sram = dir == XE_SVM_COPY_TO_SRAM; > > > > ktime_t start = xe_gt_stats_ktime_get(); > > > > > > > > + /* > > > > + * Device memory is allocated with XE_BO_FLAG_SKIP_CLEAR, > > > > so > > > > it still > > > > > > Should we check that explicitly somewhere here (or in the wrapper)? > > > What if someone changes the code down the road to not skip the > > > clear > > > accidentally... I guess we just have a slight performance drop so > > > maybe > > > not a functional problem? > > > > > > > We don't have the BO here, only addresses. The why interfaces in > > GPUSVM > > are defined that layer has no idea if driver allocated a BO or not. > > Ok so basically the SVM layer is going to do this no matter what and we > just need to ensure in the BO layer that this isn't doing a double > clear? Should we have a performance test to make sure we don't regress > there? > The old code: - Always clear upon alloc BO - Copy The new code: - Skip clear upon alloc BO - Do clear late *after* we get the CPU pages if the CPU pages don't fully cover BO, if fully covered skip clear - Copy Having a test to verify this is tricky, as the speed of each machine's copy engine varies based on several factors: CPU type, whether the IOMMU is enabled, the discrete GPU SKU, and the GPU power management configuration. In other words, hardcoding an expected value in an IGT will not work. I have scripts that measure copy time via GT stats after running an IGT, and they show that this optimization shaves roughly 10 µs off the copy time. Prefetch IGTs show an approximately 4 GB/s throughput increase in benchmark sections on BMG G31, and similarly, UMD benchmarks that measure fault throughput show roughly a 4 GB/s improvement. I have a good understanding of what "good" numbers look like on the machines I use regularly, and I also review any code that touches SVM, so I'm not overly concerned about regressions. Matt > > > > > > + * holds whatever the previous owner left behind. A copy > > > > covering every > > > > + * page scrubs it, anything less has to be cleared first. > > > > + */ > > > > + if (!sram && !xe_svm_copy_covers_all(pagemap_addr, > > > > npages)) { > > > > + err = xe_svm_clear_vram(pages, npages, &fence, > > > > + &pre_migrate_fence); > > > > + if (err) > > > > + goto err_out; > > > > + } > > > > + > > > > /* > > > > * This flow is complex: it locates physically contiguous > > > > device pages, > > > > * derives the starting physical address, and performs a > > > > single GPU copy > > > > @@ -617,7 +746,6 @@ static int xe_svm_copy(struct page **pages, > > > > u64 __vram_addr; > > > > bool match = false, chunk, last; > > > > > > > > -#define XE_MIGRATE_CHUNK_SIZE SZ_8M > > > > chunk = (i - pos) == (XE_MIGRATE_CHUNK_SIZE / > > > > PAGE_SIZE); > > > > last = (i + 1) == npages; > > > > > > > > @@ -758,8 +886,6 @@ static int xe_svm_copy(struct page **pages, > > > > xe_svm_copy_us_stats_incr(gt, dir, npages, > > > > start); > > > > > > > > return err; > > > > -#undef XE_MIGRATE_CHUNK_SIZE > > > > -#undef XE_VRAM_ADDR_INVALID > > > > } > > > > > > > > static int xe_svm_copy_to_devmem(struct page **pages, > > > > @@ -1121,18 +1247,28 @@ static int > > > > xe_drm_pagemap_populate_mm(struct > > > > drm_pagemap *dpagemap, > > > > struct xe_validation_ctx vctx; > > > > struct drm_exec exec; > > > > struct xe_bo *bo; > > > > + u32 bo_flags; > > > > int err = 0, idx; > > > > > > > > if (!drm_dev_enter(&xe->drm, &idx)) > > > > return -ENODEV; > > > > > > > > + /* > > > > + * Skip the clear on device memory - xe_svm_copy() either > > > > fully > > > > + * overwrites the allocation or clears it explicitly, so > > > > clearing here > > > > + * is pure overhead on the page fault and prefetch paths. > > > > + */ > > > > + if (IS_DGFX(xe)) > > > > + bo_flags = XE_BO_FLAG_VRAM(vr) | > > > > XE_BO_FLAG_SKIP_CLEAR; > > > > > > This is maybe a comment that should go in the earlier patch that > > > adds > > > the flag, but should we have a check that ensures this is a > > > kernel/migration BO and not a user BO? > > > > I think the comment here is valid as it explains why setting > > Oh sorry that was really unclear by "a comment" here I meant my review > comment, not your in code comment which looks fine :) > > > XE_BO_FLAG_SKIP_CLEAR is safe as it done later if it is required, but > > I > > should likely add an assert !xe_bo_is_user if XE_BO_FLAG_SKIP_CLEAR > > is > > set. Let me add that. > > Yeah perfect. > > Thanks, > Stuart > > > > > Matt > > > > > > > > Thanks, > > > Stuart > > > > > > > + else > > > > + bo_flags = XE_BO_FLAG_SYSTEM; > > > > + bo_flags |= XE_BO_FLAG_CPU_ADDR_MIRROR; > > > > + > > > > xe_pm_runtime_get(xe); > > > > > > > > xe_validation_guard(&vctx, &xe->val, &exec, (struct > > > > xe_val_flags) {}, err) { > > > > bo = xe_bo_create_locked(xe, NULL, NULL, end - > > > > start, > > > > - ttm_bo_type_device, > > > > - (IS_DGFX(xe) ? > > > > XE_BO_FLAG_VRAM(vr) : XE_BO_FLAG_SYSTEM) | > > > > - > > > > XE_BO_FLAG_CPU_ADDR_MIRROR, > > > > &exec); > > > > + ttm_bo_type_device, > > > > bo_flags, &exec); > > > > drm_exec_retry_on_contention(&exec); > > > > if (IS_ERR(bo)) { > > > > err = PTR_ERR(bo); > > > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* ✓ CI.KUnit: success for Elide clear on full SVM copies 2026-09-29 18:10 [PATCH 0/3] Elide clear on full SVM copies Matthew Brost ` (2 preceding siblings ...) 2026-09-29 18:10 ` [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front Matthew Brost @ 2026-09-29 18:18 ` Patchwork 2026-09-29 19:36 ` ✓ Xe.CI.BAT: " Patchwork 2026-09-30 0:17 ` ✗ Xe.CI.FULL: failure " Patchwork 5 siblings, 0 replies; 13+ messages in thread From: Patchwork @ 2026-09-29 18:18 UTC (permalink / raw) To: Matthew Brost; +Cc: intel-xe == Series Details == Series: Elide clear on full SVM copies URL : https://patchwork.freedesktop.org/series/175238/ 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 [18:16:48] Configuring KUnit Kernel ... Generating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [18:16:52] 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 [18:17:12] Starting KUnit Kernel (1/1)... [18:17:12] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [18:17:13] ============= refcount_interrupt (4 subtests) ============== [18:17:13] [PASSED] test_single_irq_change [18:17:13] [PASSED] test_nested_irq_change [18:17:13] [PASSED] test_multiple_irq_change [18:17:13] [PASSED] test_irq_save [18:17:13] =============== [PASSED] refcount_interrupt ================ [18:17:13] ================= gpu_buddy (14 subtests) ================== [18:17:13] [PASSED] gpu_test_buddy_alloc_limit [18:17:13] [PASSED] gpu_test_buddy_alloc_optimistic [18:17:13] [PASSED] gpu_test_buddy_alloc_pessimistic [18:17:13] [PASSED] gpu_test_buddy_alloc_pathological [18:17:13] [PASSED] gpu_test_buddy_alloc_contiguous [18:17:13] [PASSED] gpu_test_buddy_alloc_clear [18:17:13] [PASSED] gpu_test_buddy_alloc_range [18:17:13] [PASSED] gpu_test_buddy_alloc_range_bias [18:17:14] [PASSED] gpu_test_buddy_fragmentation_performance [18:17:14] [PASSED] gpu_test_buddy_dirty_tracker_performance [18:17:14] [PASSED] gpu_test_buddy_alloc_exceeds_max_order [18:17:14] [PASSED] gpu_test_buddy_offset_aligned_allocation [18:17:14] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress [18:17:14] [PASSED] gpu_test_buddy_addr_to_block [18:17:14] ==================== [PASSED] gpu_buddy ==================== [18:17:14] ============================================================ [18:17:14] Testing complete. Ran 18 tests: passed: 18 [18:17:14] Elapsed time: 26.665s total, 4.378s configuring, 20.370s building, 1.854s 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 [18:17:15] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [18:17:16] 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 [18:17:50] Starting KUnit Kernel (1/1)... [18:17:50] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [18:17:50] ============= refcount_interrupt (4 subtests) ============== [18:17:50] [PASSED] test_single_irq_change [18:17:50] [PASSED] test_nested_irq_change [18:17:50] [PASSED] test_multiple_irq_change [18:17:50] [PASSED] test_irq_save [18:17:50] =============== [PASSED] refcount_interrupt ================ [18:17:50] ================== guc_buf (11 subtests) =================== [18:17:50] [PASSED] test_smallest [18:17:50] [PASSED] test_largest [18:17:50] [PASSED] test_granular [18:17:50] [PASSED] test_unique [18:17:50] [PASSED] test_overlap [18:17:50] [PASSED] test_reusable [18:17:50] [PASSED] test_too_big [18:17:50] [PASSED] test_flush [18:17:50] [PASSED] test_lookup [18:17:50] [PASSED] test_data [18:17:50] [PASSED] test_class [18:17:50] ===================== [PASSED] guc_buf ===================== [18:17:50] =================== guc_dbm (7 subtests) =================== [18:17:50] [PASSED] test_empty [18:17:50] [PASSED] test_default [18:17:50] ======================== test_size ======================== [18:17:50] [PASSED] 4 [18:17:50] [PASSED] 8 [18:17:50] [PASSED] 32 [18:17:50] [PASSED] 256 [18:17:50] ==================== [PASSED] test_size ==================== [18:17:50] ======================= test_reuse ======================== [18:17:50] [PASSED] 4 [18:17:50] [PASSED] 8 [18:17:50] [PASSED] 32 [18:17:50] [PASSED] 256 [18:17:50] =================== [PASSED] test_reuse ==================== [18:17:50] =================== test_range_overlap ==================== [18:17:50] [PASSED] 4 [18:17:50] [PASSED] 8 [18:17:50] [PASSED] 32 [18:17:50] [PASSED] 256 [18:17:50] =============== [PASSED] test_range_overlap ================ [18:17:50] =================== test_range_compact ==================== [18:17:50] [PASSED] 4 [18:17:50] [PASSED] 8 [18:17:50] [PASSED] 32 [18:17:50] [PASSED] 256 [18:17:50] =============== [PASSED] test_range_compact ================ [18:17:50] ==================== test_range_spare ===================== [18:17:50] [PASSED] 4 [18:17:50] [PASSED] 8 [18:17:50] [PASSED] 32 [18:17:50] [PASSED] 256 [18:17:50] ================ [PASSED] test_range_spare ================= [18:17:50] ===================== [PASSED] guc_dbm ===================== [18:17:50] =================== guc_idm (6 subtests) =================== [18:17:50] [PASSED] bad_init [18:17:50] [PASSED] no_init [18:17:50] [PASSED] init_fini [18:17:50] [PASSED] check_used [18:17:50] [PASSED] check_quota [18:17:50] [PASSED] check_all [18:17:50] ===================== [PASSED] guc_idm ===================== [18:17:50] ============== guc_klv_helpers (13 subtests) =============== [18:17:50] [PASSED] test_count [18:17:50] [PASSED] test_encode_u32 [18:17:50] [PASSED] test_encode_u64 [18:17:50] [PASSED] test_encode_string [18:17:50] [PASSED] test_encode_object_raw [18:17:50] [PASSED] test_encode_object_klv [18:17:50] [PASSED] test_encode_object_nested [18:17:50] [PASSED] test_encode_object_basic [18:17:50] ===================== test_decode_u16 ===================== [18:17:50] [PASSED] empty [18:17:50] [PASSED] valid [18:17:50] [PASSED] max [18:17:50] [PASSED] big [18:17:50] [PASSED] long [18:17:50] ================= [PASSED] test_decode_u16 ================= [18:17:50] ===================== test_decode_u32 ===================== [18:17:50] [PASSED] empty [18:17:50] [PASSED] valid [18:17:50] [PASSED] max [18:17:50] [PASSED] long [18:17:50] ================= [PASSED] test_decode_u32 ================= [18:17:50] ===================== test_decode_u64 ===================== [18:17:50] [PASSED] empty [18:17:50] [PASSED] short [18:17:50] [PASSED] valid [18:17:50] [PASSED] max [18:17:50] [PASSED] long [18:17:50] ================= [PASSED] test_decode_u64 ================= [18:17:50] ===================== test_decode_str ===================== [18:17:50] [PASSED] empty [18:17:50] [PASSED] one [18:17:50] [PASSED] one_trash [18:17:50] [PASSED] two [18:17:50] [PASSED] two_trash [18:17:50] [PASSED] three [18:17:50] [PASSED] dword [18:17:50] [PASSED] four [18:17:50] [PASSED] five [18:17:50] [PASSED] six [18:17:50] [PASSED] seven [18:17:50] [PASSED] qword [18:17:50] ================= [PASSED] test_decode_str ================= [18:17:50] [PASSED] test_print [18:17:50] ================= [PASSED] guc_klv_helpers ================= [18:17:50] =================== xe_log (4 subtests) ==================== [18:17:50] [PASSED] demo_cper [18:17:50] [PASSED] demo_dmesg [18:17:50] ======================= test_dmesg ======================== [18:17:50] [PASSED] test_fatal [18:17:50] [PASSED] test_fatal_tile [18:17:50] [PASSED] test_fatal_gt [18:17:50] [PASSED] test_fatal_comp [18:17:50] [PASSED] test_fatal_comp_tile [18:17:50] [PASSED] test_fatal_comp_gt [18:17:50] [PASSED] test_fatal_all [18:17:50] [PASSED] test_recoverable [18:17:50] [PASSED] test_recoverable_tile [18:17:50] [PASSED] test_recoverable_gt [18:17:50] [PASSED] test_recoverable_comp [18:17:50] [PASSED] test_recoverable_comp_tile [18:17:50] [PASSED] test_recoverable_comp_gt [18:17:50] [PASSED] test_recoverable_all [18:17:50] [PASSED] test_info [18:17:50] [PASSED] test_info_tile [18:17:50] [PASSED] test_info_gt [18:17:50] [PASSED] test_info_err [18:17:50] [PASSED] test_info_comp [18:17:50] [PASSED] test_info_comp_tile [18:17:50] [PASSED] test_info_comp_gt [18:17:50] [PASSED] test_info_all [18:17:50] [PASSED] test_hw_fatal [18:17:50] [PASSED] test_hw_recoverable [18:17:50] [PASSED] test_hw_corrected [18:17:50] [PASSED] test_hw_informational [18:17:50] =================== [PASSED] test_dmesg ==================== [18:17:50] ====================== test_invalid ======================= [18:17:50] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG) [18:17:50] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG) [18:17:50] ================== [SKIPPED] test_invalid ================== [18:17:50] ===================== [PASSED] xe_log ====================== [18:17:50] ================== no_relay (3 subtests) =================== [18:17:50] [PASSED] xe_drops_guc2pf_if_not_ready [18:17:50] [PASSED] xe_drops_guc2vf_if_not_ready [18:17:50] [PASSED] xe_rejects_send_if_not_ready [18:17:50] ==================== [PASSED] no_relay ===================== [18:17:50] ================== pf_relay (14 subtests) ================== [18:17:50] [PASSED] pf_rejects_guc2pf_too_short [18:17:50] [PASSED] pf_rejects_guc2pf_too_long [18:17:50] [PASSED] pf_rejects_guc2pf_no_payload [18:17:50] [PASSED] pf_fails_no_payload [18:17:50] [PASSED] pf_fails_bad_origin [18:17:50] [PASSED] pf_fails_bad_type [18:17:50] [PASSED] pf_txn_reports_error [18:17:50] [PASSED] pf_txn_sends_pf2guc [18:17:50] [PASSED] pf_sends_pf2guc [18:17:50] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV) [18:17:50] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV) [18:17:50] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV) [18:17:50] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV) [18:17:50] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV) [18:17:50] ==================== [PASSED] pf_relay ===================== [18:17:50] ================== vf_relay (3 subtests) =================== [18:17:50] [PASSED] vf_rejects_guc2vf_too_short [18:17:50] [PASSED] vf_rejects_guc2vf_too_long [18:17:50] [PASSED] vf_rejects_guc2vf_no_payload [18:17:50] ==================== [PASSED] vf_relay ===================== [18:17:50] ================ pf_gt_config (9 subtests) ================= [18:17:50] [PASSED] fair_contexts_1vf [18:17:50] [PASSED] fair_doorbells_1vf [18:17:50] [PASSED] fair_ggtt_1vf [18:17:50] ====================== fair_vram_1vf ====================== [18:17:50] [PASSED] 3.50 GiB [18:17:50] [PASSED] 11.5 GiB [18:17:50] [PASSED] 15.5 GiB [18:17:50] [PASSED] 31.5 GiB [18:17:50] [PASSED] 63.5 GiB [18:17:50] [PASSED] 1.91 GiB [18:17:50] ================== [PASSED] fair_vram_1vf ================== [18:17:50] ================ fair_vram_1vf_admin_only ================= [18:17:50] [PASSED] 3.50 GiB [18:17:50] [PASSED] 11.5 GiB [18:17:50] [PASSED] 15.5 GiB [18:17:50] [PASSED] 31.5 GiB [18:17:50] [PASSED] 63.5 GiB [18:17:50] [PASSED] 1.91 GiB [18:17:50] ============ [PASSED] fair_vram_1vf_admin_only ============= [18:17:50] ====================== fair_contexts ====================== [18:17:50] [PASSED] 1 VF [18:17:50] [PASSED] 2 VFs [18:17:50] [PASSED] 3 VFs [18:17:50] [PASSED] 4 VFs [18:17:50] [PASSED] 5 VFs [18:17:50] [PASSED] 6 VFs [18:17:50] [PASSED] 7 VFs [18:17:50] [PASSED] 8 VFs [18:17:50] [PASSED] 9 VFs [18:17:50] [PASSED] 10 VFs [18:17:50] [PASSED] 11 VFs [18:17:50] [PASSED] 12 VFs [18:17:50] [PASSED] 13 VFs [18:17:50] [PASSED] 14 VFs [18:17:50] [PASSED] 15 VFs [18:17:50] [PASSED] 16 VFs [18:17:50] [PASSED] 17 VFs [18:17:50] [PASSED] 18 VFs [18:17:50] [PASSED] 19 VFs [18:17:50] [PASSED] 20 VFs [18:17:50] [PASSED] 21 VFs [18:17:50] [PASSED] 22 VFs [18:17:50] [PASSED] 23 VFs [18:17:50] [PASSED] 24 VFs [18:17:50] [PASSED] 25 VFs [18:17:50] [PASSED] 26 VFs [18:17:50] [PASSED] 27 VFs [18:17:50] [PASSED] 28 VFs [18:17:50] [PASSED] 29 VFs [18:17:50] [PASSED] 30 VFs [18:17:50] [PASSED] 31 VFs [18:17:50] [PASSED] 32 VFs [18:17:50] [PASSED] 33 VFs [18:17:50] [PASSED] 34 VFs [18:17:50] [PASSED] 35 VFs [18:17:50] [PASSED] 36 VFs [18:17:50] [PASSED] 37 VFs [18:17:50] [PASSED] 38 VFs [18:17:50] [PASSED] 39 VFs [18:17:50] [PASSED] 40 VFs [18:17:50] [PASSED] 41 VFs [18:17:50] [PASSED] 42 VFs [18:17:50] [PASSED] 43 VFs [18:17:50] [PASSED] 44 VFs [18:17:50] [PASSED] 45 VFs [18:17:50] [PASSED] 46 VFs [18:17:50] [PASSED] 47 VFs [18:17:50] [PASSED] 48 VFs [18:17:50] [PASSED] 49 VFs [18:17:50] [PASSED] 50 VFs [18:17:50] [PASSED] 51 VFs [18:17:50] [PASSED] 52 VFs [18:17:50] [PASSED] 53 VFs [18:17:50] [PASSED] 54 VFs [18:17:50] [PASSED] 55 VFs [18:17:50] [PASSED] 56 VFs [18:17:50] [PASSED] 57 VFs [18:17:50] [PASSED] 58 VFs [18:17:50] [PASSED] 59 VFs [18:17:50] [PASSED] 60 VFs [18:17:50] [PASSED] 61 VFs [18:17:50] [PASSED] 62 VFs [18:17:50] [PASSED] 63 VFs [18:17:50] ================== [PASSED] fair_contexts ================== [18:17:50] ===================== fair_doorbells ====================== [18:17:50] [PASSED] 1 VF [18:17:50] [PASSED] 2 VFs [18:17:50] [PASSED] 3 VFs [18:17:50] [PASSED] 4 VFs [18:17:50] [PASSED] 5 VFs [18:17:50] [PASSED] 6 VFs [18:17:50] [PASSED] 7 VFs [18:17:50] [PASSED] 8 VFs [18:17:50] [PASSED] 9 VFs [18:17:50] [PASSED] 10 VFs [18:17:50] [PASSED] 11 VFs [18:17:50] [PASSED] 12 VFs [18:17:50] [PASSED] 13 VFs [18:17:50] [PASSED] 14 VFs [18:17:50] [PASSED] 15 VFs [18:17:50] [PASSED] 16 VFs [18:17:50] [PASSED] 17 VFs [18:17:50] [PASSED] 18 VFs [18:17:50] [PASSED] 19 VFs [18:17:50] [PASSED] 20 VFs [18:17:50] [PASSED] 21 VFs [18:17:50] [PASSED] 22 VFs [18:17:50] [PASSED] 23 VFs [18:17:50] [PASSED] 24 VFs [18:17:50] [PASSED] 25 VFs [18:17:50] [PASSED] 26 VFs [18:17:50] [PASSED] 27 VFs [18:17:50] [PASSED] 28 VFs [18:17:50] [PASSED] 29 VFs [18:17:50] [PASSED] 30 VFs [18:17:50] [PASSED] 31 VFs [18:17:50] [PASSED] 32 VFs [18:17:50] [PASSED] 33 VFs [18:17:50] [PASSED] 34 VFs [18:17:50] [PASSED] 35 VFs [18:17:50] [PASSED] 36 VFs [18:17:50] [PASSED] 37 VFs [18:17:50] [PASSED] 38 VFs [18:17:50] [PASSED] 39 VFs [18:17:50] [PASSED] 40 VFs [18:17:50] [PASSED] 41 VFs [18:17:50] [PASSED] 42 VFs [18:17:51] [PASSED] 43 VFs [18:17:51] [PASSED] 44 VFs [18:17:51] [PASSED] 45 VFs [18:17:51] [PASSED] 46 VFs [18:17:51] [PASSED] 47 VFs [18:17:51] [PASSED] 48 VFs [18:17:51] [PASSED] 49 VFs [18:17:51] [PASSED] 50 VFs [18:17:51] [PASSED] 51 VFs [18:17:51] [PASSED] 52 VFs [18:17:51] [PASSED] 53 VFs [18:17:51] [PASSED] 54 VFs [18:17:51] [PASSED] 55 VFs [18:17:51] [PASSED] 56 VFs [18:17:51] [PASSED] 57 VFs [18:17:51] [PASSED] 58 VFs [18:17:51] [PASSED] 59 VFs [18:17:51] [PASSED] 60 VFs [18:17:51] [PASSED] 61 VFs [18:17:51] [PASSED] 62 VFs [18:17:51] [PASSED] 63 VFs [18:17:51] ================= [PASSED] fair_doorbells ================== [18:17:51] ======================== fair_ggtt ======================== [18:17:51] [PASSED] 1 VF [18:17:51] [PASSED] 2 VFs [18:17:51] [PASSED] 3 VFs [18:17:51] [PASSED] 4 VFs [18:17:51] [PASSED] 5 VFs [18:17:51] [PASSED] 6 VFs [18:17:51] [PASSED] 7 VFs [18:17:51] [PASSED] 8 VFs [18:17:51] [PASSED] 9 VFs [18:17:51] [PASSED] 10 VFs [18:17:51] [PASSED] 11 VFs [18:17:51] [PASSED] 12 VFs [18:17:51] [PASSED] 13 VFs [18:17:51] [PASSED] 14 VFs [18:17:51] [PASSED] 15 VFs [18:17:51] [PASSED] 16 VFs [18:17:51] [PASSED] 17 VFs [18:17:51] [PASSED] 18 VFs [18:17:51] [PASSED] 19 VFs [18:17:51] [PASSED] 20 VFs [18:17:51] [PASSED] 21 VFs [18:17:51] [PASSED] 22 VFs [18:17:51] [PASSED] 23 VFs [18:17:51] [PASSED] 24 VFs [18:17:51] [PASSED] 25 VFs [18:17:51] [PASSED] 26 VFs [18:17:51] [PASSED] 27 VFs [18:17:51] [PASSED] 28 VFs [18:17:51] [PASSED] 29 VFs [18:17:51] [PASSED] 30 VFs [18:17:51] [PASSED] 31 VFs [18:17:51] [PASSED] 32 VFs [18:17:51] [PASSED] 33 VFs [18:17:51] [PASSED] 34 VFs [18:17:51] [PASSED] 35 VFs [18:17:51] [PASSED] 36 VFs [18:17:51] [PASSED] 37 VFs [18:17:51] [PASSED] 38 VFs [18:17:51] [PASSED] 39 VFs [18:17:51] [PASSED] 40 VFs [18:17:51] [PASSED] 41 VFs [18:17:51] [PASSED] 42 VFs [18:17:51] [PASSED] 43 VFs [18:17:51] [PASSED] 44 VFs [18:17:51] [PASSED] 45 VFs [18:17:51] [PASSED] 46 VFs [18:17:51] [PASSED] 47 VFs [18:17:51] [PASSED] 48 VFs [18:17:51] [PASSED] 49 VFs [18:17:51] [PASSED] 50 VFs [18:17:51] [PASSED] 51 VFs [18:17:51] [PASSED] 52 VFs [18:17:51] [PASSED] 53 VFs [18:17:51] [PASSED] 54 VFs [18:17:51] [PASSED] 55 VFs [18:17:51] [PASSED] 56 VFs [18:17:51] [PASSED] 57 VFs [18:17:51] [PASSED] 58 VFs [18:17:51] [PASSED] 59 VFs [18:17:51] [PASSED] 60 VFs [18:17:51] [PASSED] 61 VFs [18:17:51] [PASSED] 62 VFs [18:17:51] [PASSED] 63 VFs [18:17:51] ==================== [PASSED] fair_ggtt ==================== [18:17:51] ======================== fair_vram ======================== [18:17:51] [PASSED] 1 VF [18:17:51] [PASSED] 2 VFs [18:17:51] [PASSED] 3 VFs [18:17:51] [PASSED] 4 VFs [18:17:51] [PASSED] 5 VFs [18:17:51] [PASSED] 6 VFs [18:17:51] [PASSED] 7 VFs [18:17:51] [PASSED] 8 VFs [18:17:51] [PASSED] 9 VFs [18:17:51] [PASSED] 10 VFs [18:17:51] [PASSED] 11 VFs [18:17:51] [PASSED] 12 VFs [18:17:51] [PASSED] 13 VFs [18:17:51] [PASSED] 14 VFs [18:17:51] [PASSED] 15 VFs [18:17:51] [PASSED] 16 VFs [18:17:51] [PASSED] 17 VFs [18:17:51] [PASSED] 18 VFs [18:17:51] [PASSED] 19 VFs [18:17:51] [PASSED] 20 VFs [18:17:51] [PASSED] 21 VFs [18:17:51] [PASSED] 22 VFs [18:17:51] [PASSED] 23 VFs [18:17:51] [PASSED] 24 VFs [18:17:51] [PASSED] 25 VFs [18:17:51] [PASSED] 26 VFs [18:17:51] [PASSED] 27 VFs [18:17:51] [PASSED] 28 VFs [18:17:51] [PASSED] 29 VFs [18:17:51] [PASSED] 30 VFs [18:17:51] [PASSED] 31 VFs [18:17:51] [PASSED] 32 VFs [18:17:51] [PASSED] 33 VFs [18:17:51] [PASSED] 34 VFs [18:17:51] [PASSED] 35 VFs [18:17:51] [PASSED] 36 VFs [18:17:51] [PASSED] 37 VFs [18:17:51] [PASSED] 38 VFs [18:17:51] [PASSED] 39 VFs [18:17:51] [PASSED] 40 VFs [18:17:51] [PASSED] 41 VFs [18:17:51] [PASSED] 42 VFs [18:17:51] [PASSED] 43 VFs [18:17:51] [PASSED] 44 VFs [18:17:51] [PASSED] 45 VFs [18:17:51] [PASSED] 46 VFs [18:17:51] [PASSED] 47 VFs [18:17:51] [PASSED] 48 VFs [18:17:51] [PASSED] 49 VFs [18:17:51] [PASSED] 50 VFs [18:17:51] [PASSED] 51 VFs [18:17:51] [PASSED] 52 VFs [18:17:51] [PASSED] 53 VFs [18:17:51] [PASSED] 54 VFs [18:17:51] [PASSED] 55 VFs [18:17:51] [PASSED] 56 VFs [18:17:51] [PASSED] 57 VFs [18:17:51] [PASSED] 58 VFs [18:17:51] [PASSED] 59 VFs [18:17:51] [PASSED] 60 VFs [18:17:51] [PASSED] 61 VFs [18:17:51] [PASSED] 62 VFs [18:17:51] [PASSED] 63 VFs [18:17:51] ==================== [PASSED] fair_vram ==================== [18:17:51] ================== [PASSED] pf_gt_config =================== [18:17:51] ===================== lmtt (1 subtest) ===================== [18:17:51] ======================== test_ops ========================= [18:17:51] [PASSED] 2-level [18:17:51] [PASSED] multi-level [18:17:51] ==================== [PASSED] test_ops ===================== [18:17:51] ====================== [PASSED] lmtt ======================= [18:17:51] ================= sriov_packet (1 subtest) ================= [18:17:51] [PASSED] test_descriptor_init [18:17:51] ================== [PASSED] sriov_packet =================== [18:17:51] ================= pf_service (11 subtests) ================= [18:17:51] [PASSED] pf_negotiate_any [18:17:51] [PASSED] pf_negotiate_base_match [18:17:51] [PASSED] pf_negotiate_base_newer [18:17:51] [PASSED] pf_negotiate_base_next [18:17:51] [SKIPPED] pf_negotiate_base_older (no older minor) [18:17:51] [PASSED] pf_negotiate_base_prev [18:17:51] [PASSED] pf_negotiate_latest_match [18:17:51] [PASSED] pf_negotiate_latest_newer [18:17:51] [PASSED] pf_negotiate_latest_next [18:17:51] [SKIPPED] pf_negotiate_latest_older (no older minor) [18:17:51] [SKIPPED] pf_negotiate_latest_prev (no prev major) [18:17:51] =================== [PASSED] pf_service ==================== [18:17:51] ================= xe_guc_g2g (2 subtests) ================== [18:17:51] ============== xe_live_guc_g2g_kunit_default ============== [18:17:51] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ========== [18:17:51] ============== xe_live_guc_g2g_kunit_allmem =============== [18:17:51] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ========== [18:17:51] =================== [SKIPPED] xe_guc_g2g =================== [18:17:51] =================== xe_mocs (2 subtests) =================== [18:17:51] ================ xe_live_mocs_kernel_kunit ================ [18:17:51] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============ [18:17:51] ================ xe_live_mocs_reset_kunit ================= [18:17:51] ============ [SKIPPED] xe_live_mocs_reset_kunit ============ [18:17:51] ==================== [SKIPPED] xe_mocs ===================== [18:17:51] ================= xe_migrate (2 subtests) ================== [18:17:51] ================= xe_migrate_sanity_kunit ================= [18:17:51] ============ [SKIPPED] xe_migrate_sanity_kunit ============= [18:17:51] ================== xe_validate_ccs_kunit ================== [18:17:51] ============= [SKIPPED] xe_validate_ccs_kunit ============== [18:17:51] =================== [SKIPPED] xe_migrate =================== [18:17:51] ================== xe_dma_buf (1 subtest) ================== [18:17:51] ==================== xe_dma_buf_kunit ===================== [18:17:51] ================ [SKIPPED] xe_dma_buf_kunit ================ [18:17:51] =================== [SKIPPED] xe_dma_buf =================== [18:17:51] ================= xe_bo_shrink (1 subtest) ================= [18:17:51] =================== xe_bo_shrink_kunit ==================== [18:17:51] =============== [SKIPPED] xe_bo_shrink_kunit =============== [18:17:51] ================== [SKIPPED] xe_bo_shrink ================== [18:17:51] ==================== xe_bo (2 subtests) ==================== [18:17:51] ================== xe_ccs_migrate_kunit =================== [18:17:51] ============== [SKIPPED] xe_ccs_migrate_kunit ============== [18:17:51] ==================== xe_bo_evict_kunit ==================== [18:17:51] =============== [SKIPPED] xe_bo_evict_kunit ================ [18:17:51] ===================== [SKIPPED] xe_bo ====================== [18:17:51] =================== xe_any (9 subtests) ==================== [18:17:51] [PASSED] test_to_xe [18:17:51] [PASSED] test_to_dev [18:17:51] [PASSED] test_to_pdev [18:17:51] [PASSED] test_to_drm [18:17:51] [PASSED] test_if_pdev [18:17:51] [PASSED] test_if_xe [18:17:51] [PASSED] test_if_tile [18:17:51] [PASSED] test_if_gt [18:17:51] [PASSED] test_to_id [18:17:51] ===================== [PASSED] xe_any ====================== [18:17:51] ==================== args (13 subtests) ==================== [18:17:51] [PASSED] count_args_test [18:17:51] [PASSED] call_args_example [18:17:51] [PASSED] call_args_test [18:17:51] [PASSED] drop_first_arg_example [18:17:51] [PASSED] drop_first_arg_test [18:17:51] [PASSED] first_arg_example [18:17:51] [PASSED] first_arg_test [18:17:51] [PASSED] last_arg_example [18:17:51] [PASSED] last_arg_test [18:17:51] [PASSED] pick_arg_example [18:17:51] [PASSED] if_args_example [18:17:51] [PASSED] if_args_test [18:17:51] [PASSED] sep_comma_example [18:17:51] ====================== [PASSED] args ======================= [18:17:51] =================== xe_pci (3 subtests) ==================== [18:17:51] ==================== check_graphics_ip ==================== [18:17:51] [PASSED] 12.00 Xe_LP [18:17:51] [PASSED] 12.10 Xe_LP+ [18:17:51] [PASSED] 12.55 Xe_HPG [18:17:51] [PASSED] 12.60 Xe_HPC [18:17:51] [PASSED] 12.70 Xe_LPG [18:17:51] [PASSED] 12.71 Xe_LPG [18:17:51] [PASSED] 12.74 Xe_LPG+ [18:17:51] [PASSED] 20.01 Xe2_HPG [18:17:51] [PASSED] 20.02 Xe2_HPG [18:17:51] [PASSED] 20.04 Xe2_LPG [18:17:51] [PASSED] 30.00 Xe3_LPG [18:17:51] [PASSED] 30.01 Xe3_LPG [18:17:51] [PASSED] 30.03 Xe3_LPG [18:17:51] [PASSED] 30.04 Xe3_LPG [18:17:51] [PASSED] 30.05 Xe3_LPG [18:17:51] [PASSED] 35.10 Xe3p_LPG [18:17:51] [PASSED] 35.11 Xe3p_XPC [18:17:51] ================ [PASSED] check_graphics_ip ================ [18:17:51] ===================== check_media_ip ====================== [18:17:51] [PASSED] 12.00 Xe_M [18:17:51] [PASSED] 12.55 Xe_HPM [18:17:51] [PASSED] 13.00 Xe_LPM+ [18:17:51] [PASSED] 13.01 Xe2_HPM [18:17:51] [PASSED] 20.00 Xe2_LPM [18:17:51] [PASSED] 30.00 Xe3_LPM [18:17:51] [PASSED] 30.02 Xe3_LPM [18:17:51] [PASSED] 35.00 Xe3p_LPM [18:17:51] [PASSED] 35.03 Xe3p_HPM [18:17:51] ================= [PASSED] check_media_ip ================== [18:17:51] =================== check_platform_desc =================== [18:17:51] [PASSED] 0x9A60 (TIGERLAKE) [18:17:51] [PASSED] 0x9A68 (TIGERLAKE) [18:17:51] [PASSED] 0x9A70 (TIGERLAKE) [18:17:51] [PASSED] 0x9A40 (TIGERLAKE) [18:17:51] [PASSED] 0x9A49 (TIGERLAKE) [18:17:51] [PASSED] 0x9A59 (TIGERLAKE) [18:17:51] [PASSED] 0x9A78 (TIGERLAKE) [18:17:51] [PASSED] 0x9AC0 (TIGERLAKE) [18:17:51] [PASSED] 0x9AC9 (TIGERLAKE) [18:17:51] [PASSED] 0x9AD9 (TIGERLAKE) [18:17:51] [PASSED] 0x9AF8 (TIGERLAKE) [18:17:51] [PASSED] 0x4C80 (ROCKETLAKE) [18:17:51] [PASSED] 0x4C8A (ROCKETLAKE) [18:17:51] [PASSED] 0x4C8B (ROCKETLAKE) [18:17:51] [PASSED] 0x4C8C (ROCKETLAKE) [18:17:51] [PASSED] 0x4C90 (ROCKETLAKE) [18:17:51] [PASSED] 0x4C9A (ROCKETLAKE) [18:17:51] [PASSED] 0x4680 (ALDERLAKE_S) [18:17:51] [PASSED] 0x4682 (ALDERLAKE_S) [18:17:51] [PASSED] 0x4688 (ALDERLAKE_S) [18:17:51] [PASSED] 0x468A (ALDERLAKE_S) [18:17:51] [PASSED] 0x468B (ALDERLAKE_S) [18:17:51] [PASSED] 0x4690 (ALDERLAKE_S) [18:17:51] [PASSED] 0x4692 (ALDERLAKE_S) [18:17:51] [PASSED] 0x4693 (ALDERLAKE_S) [18:17:51] [PASSED] 0x46A0 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46A1 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46A2 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46A3 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46A6 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46A8 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46AA (ALDERLAKE_P) [18:17:51] [PASSED] 0x462A (ALDERLAKE_P) [18:17:51] [PASSED] 0x4626 (ALDERLAKE_P) [18:17:51] [PASSED] 0x4628 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46B0 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46B1 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46B2 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46B3 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46C0 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46C1 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46C2 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46C3 (ALDERLAKE_P) [18:17:51] [PASSED] 0x46D0 (ALDERLAKE_N) [18:17:51] [PASSED] 0x46D1 (ALDERLAKE_N) [18:17:51] [PASSED] 0x46D2 (ALDERLAKE_N) [18:17:51] [PASSED] 0x46D3 (ALDERLAKE_N) [18:17:51] [PASSED] 0x46D4 (ALDERLAKE_N) [18:17:51] [PASSED] 0xA721 (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7A1 (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7A9 (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7AC (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7AD (ALDERLAKE_P) [18:17:51] [PASSED] 0xA720 (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7A0 (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7A8 (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7AA (ALDERLAKE_P) [18:17:51] [PASSED] 0xA7AB (ALDERLAKE_P) [18:17:51] [PASSED] 0xA780 (ALDERLAKE_S) [18:17:51] [PASSED] 0xA781 (ALDERLAKE_S) [18:17:51] [PASSED] 0xA782 (ALDERLAKE_S) [18:17:51] [PASSED] 0xA783 (ALDERLAKE_S) [18:17:51] [PASSED] 0xA788 (ALDERLAKE_S) [18:17:51] [PASSED] 0xA789 (ALDERLAKE_S) [18:17:51] [PASSED] 0xA78A (ALDERLAKE_S) [18:17:51] [PASSED] 0xA78B (ALDERLAKE_S) [18:17:51] [PASSED] 0x4905 (DG1) [18:17:51] [PASSED] 0x4906 (DG1) [18:17:51] [PASSED] 0x4907 (DG1) [18:17:51] [PASSED] 0x4908 (DG1) [18:17:51] [PASSED] 0x4909 (DG1) [18:17:51] [PASSED] 0x56C0 (DG2) [18:17:51] [PASSED] 0x56C2 (DG2) [18:17:51] [PASSED] 0x56C1 (DG2) [18:17:51] [PASSED] 0x7D51 (METEORLAKE) [18:17:51] [PASSED] 0x7DD1 (METEORLAKE) [18:17:51] [PASSED] 0x7D41 (METEORLAKE) [18:17:51] [PASSED] 0x7D67 (METEORLAKE) [18:17:51] [PASSED] 0xB640 (METEORLAKE) [18:17:51] [PASSED] 0x56A0 (DG2) [18:17:51] [PASSED] 0x56A1 (DG2) [18:17:51] [PASSED] 0x56A2 (DG2) [18:17:51] [PASSED] 0x56BE (DG2) [18:17:51] [PASSED] 0x56BF (DG2) [18:17:51] [PASSED] 0x5690 (DG2) [18:17:51] [PASSED] 0x5691 (DG2) [18:17:51] [PASSED] 0x5692 (DG2) [18:17:51] [PASSED] 0x56A5 (DG2) [18:17:51] [PASSED] 0x56A6 (DG2) [18:17:51] [PASSED] 0x56B0 (DG2) [18:17:51] [PASSED] 0x56B1 (DG2) [18:17:51] [PASSED] 0x56BA (DG2) [18:17:51] [PASSED] 0x56BB (DG2) [18:17:51] [PASSED] 0x56BC (DG2) [18:17:51] [PASSED] 0x56BD (DG2) [18:17:51] [PASSED] 0x5693 (DG2) [18:17:51] [PASSED] 0x5694 (DG2) [18:17:51] [PASSED] 0x5695 (DG2) [18:17:51] [PASSED] 0x56A3 (DG2) [18:17:51] [PASSED] 0x56A4 (DG2) [18:17:51] [PASSED] 0x56B2 (DG2) [18:17:51] [PASSED] 0x56B3 (DG2) [18:17:51] [PASSED] 0x5696 (DG2) [18:17:51] [PASSED] 0x5697 (DG2) [18:17:51] [PASSED] 0xB69 (PVC) [18:17:51] [PASSED] 0xB6E (PVC) [18:17:51] [PASSED] 0xBD4 (PVC) [18:17:51] [PASSED] 0xBD5 (PVC) [18:17:51] [PASSED] 0xBD6 (PVC) [18:17:51] [PASSED] 0xBD7 (PVC) [18:17:51] [PASSED] 0xBD8 (PVC) [18:17:51] [PASSED] 0xBD9 (PVC) [18:17:51] [PASSED] 0xBDA (PVC) [18:17:51] [PASSED] 0xBDB (PVC) [18:17:51] [PASSED] 0xBE0 (PVC) [18:17:51] [PASSED] 0xBE1 (PVC) [18:17:51] [PASSED] 0xBE5 (PVC) [18:17:51] [PASSED] 0x7D40 (METEORLAKE) [18:17:51] [PASSED] 0x7D45 (METEORLAKE) [18:17:51] [PASSED] 0x7D55 (METEORLAKE) [18:17:51] [PASSED] 0x7D60 (METEORLAKE) [18:17:51] [PASSED] 0x7DD5 (METEORLAKE) [18:17:51] [PASSED] 0x6420 (LUNARLAKE) [18:17:51] [PASSED] 0x64A0 (LUNARLAKE) [18:17:51] [PASSED] 0x64B0 (LUNARLAKE) [18:17:51] [PASSED] 0xE202 (BATTLEMAGE) [18:17:51] [PASSED] 0xE209 (BATTLEMAGE) [18:17:51] [PASSED] 0xE20B (BATTLEMAGE) [18:17:51] [PASSED] 0xE20C (BATTLEMAGE) [18:17:51] [PASSED] 0xE20D (BATTLEMAGE) [18:17:51] [PASSED] 0xE210 (BATTLEMAGE) [18:17:51] [PASSED] 0xE211 (BATTLEMAGE) [18:17:51] [PASSED] 0xE212 (BATTLEMAGE) [18:17:51] [PASSED] 0xE216 (BATTLEMAGE) [18:17:51] [PASSED] 0xE220 (BATTLEMAGE) [18:17:51] [PASSED] 0xE221 (BATTLEMAGE) [18:17:51] [PASSED] 0xE222 (BATTLEMAGE) [18:17:51] [PASSED] 0xE223 (BATTLEMAGE) [18:17:51] [PASSED] 0xB080 (PANTHERLAKE) [18:17:51] [PASSED] 0xB081 (PANTHERLAKE) [18:17:51] [PASSED] 0xB082 (PANTHERLAKE) [18:17:51] [PASSED] 0xB083 (PANTHERLAKE) [18:17:51] [PASSED] 0xB084 (PANTHERLAKE) [18:17:51] [PASSED] 0xB085 (PANTHERLAKE) [18:17:51] [PASSED] 0xB086 (PANTHERLAKE) [18:17:51] [PASSED] 0xB087 (PANTHERLAKE) [18:17:51] [PASSED] 0xB08F (PANTHERLAKE) [18:17:51] [PASSED] 0xB090 (PANTHERLAKE) [18:17:51] [PASSED] 0xB0A0 (PANTHERLAKE) [18:17:51] [PASSED] 0xB0A1 (PANTHERLAKE) [18:17:51] [PASSED] 0xB0B0 (PANTHERLAKE) [18:17:51] [PASSED] 0xFD80 (PANTHERLAKE) [18:17:51] [PASSED] 0xFD81 (PANTHERLAKE) [18:17:51] [PASSED] 0xD740 (NOVALAKE_S) [18:17:51] [PASSED] 0xD741 (NOVALAKE_S) [18:17:51] [PASSED] 0xD742 (NOVALAKE_S) [18:17:51] [PASSED] 0xD743 (NOVALAKE_S) [18:17:51] [PASSED] 0xD745 (NOVALAKE_S) [18:17:51] [PASSED] 0xD74A (NOVALAKE_S) [18:17:51] [PASSED] 0xD74B (NOVALAKE_S) [18:17:51] [PASSED] 0x674C (CRESCENTISLAND) [18:17:51] [PASSED] 0x674D (CRESCENTISLAND) [18:17:51] [PASSED] 0x674E (CRESCENTISLAND) [18:17:51] [PASSED] 0x674F (CRESCENTISLAND) [18:17:51] [PASSED] 0x6750 (CRESCENTISLAND) [18:17:51] [PASSED] 0xD750 (NOVALAKE_P) [18:17:51] [PASSED] 0xD751 (NOVALAKE_P) [18:17:51] [PASSED] 0xD752 (NOVALAKE_P) [18:17:51] [PASSED] 0xD753 (NOVALAKE_P) [18:17:51] [PASSED] 0xD754 (NOVALAKE_P) [18:17:51] [PASSED] 0xD755 (NOVALAKE_P) [18:17:51] [PASSED] 0xD756 (NOVALAKE_P) [18:17:51] [PASSED] 0xD757 (NOVALAKE_P) [18:17:51] [PASSED] 0xD75F (NOVALAKE_P) [18:17:51] =============== [PASSED] check_platform_desc =============== [18:17:51] ===================== [PASSED] xe_pci ====================== [18:17:51] ============= xe_rtp_tables_test (5 subtests) ============== [18:17:51] ================== xe_rtp_table_gt_test =================== [18:17:51] [PASSED] gt_was/14011060649 [18:17:51] [PASSED] gt_was/14011059788 [18:17:51] [PASSED] gt_was/14015795083 [18:17:51] [PASSED] gt_was/16021867713 [18:17:51] [PASSED] gt_was/14019449301 [18:17:51] [PASSED] gt_was/16028005424 [18:17:51] [PASSED] gt_was/14026578760 [18:17:51] [PASSED] gt_was/1409420604 [18:17:51] [PASSED] gt_was/1408615072 [18:17:51] [PASSED] gt_was/22010523718 [18:17:51] [PASSED] gt_was/14011006942 [18:17:51] [PASSED] gt_was/14014830051 [18:17:51] [PASSED] gt_was/18018781329 [18:17:51] [PASSED] gt_was/1509235366 [18:17:51] [PASSED] gt_was/18018781329 [18:17:51] [PASSED] gt_was/16016694945 [18:17:51] [PASSED] gt_was/14018575942 [18:17:51] [PASSED] gt_was/22016670082 [18:17:51] [PASSED] gt_was/22016670082 [18:17:51] [PASSED] gt_was/14017421178 [18:17:51] [PASSED] gt_was/16025250150 [18:17:51] [PASSED] gt_was/14021871409 [18:17:51] [PASSED] gt_was/16021865536 [18:17:51] [PASSED] gt_was/14021486841 [18:17:51] [PASSED] gt_was/14025160223 [18:17:51] [PASSED] gt_was/14026144927, 16029437861, 14026127056 [18:17:51] [PASSED] gt_was/14025635424 [18:17:51] [PASSED] gt_was/16028005424 [18:17:51] ============== [PASSED] xe_rtp_table_gt_test =============== [18:17:51] ================== xe_rtp_table_gt_test =================== [18:17:51] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable [18:17:51] [PASSED] gt_tunings/Tuning: 32B Access Enable [18:17:51] [PASSED] gt_tunings/Tuning: L3 cache [18:17:51] [PASSED] gt_tunings/Tuning: L3 cache - media [18:17:51] [PASSED] gt_tunings/Tuning: Compression Overfetch [18:17:51] [PASSED] gt_tunings/Tuning: Compression Overfetch - media [18:17:51] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 [18:17:51] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media [18:17:51] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only [18:17:51] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media [18:17:51] [PASSED] gt_tunings/Tuning: Stateless compression control [18:17:51] [PASSED] gt_tunings/Tuning: Stateless compression control - media [18:17:51] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache [18:17:51] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media [18:17:51] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB [18:17:51] ============== [PASSED] xe_rtp_table_gt_test =============== [18:17:51] ================== xe_rtp_table_oob_test ================== [18:17:51] [PASSED] oob_was/1607983814 [18:17:51] [PASSED] oob_was/16010904313 [18:17:51] [PASSED] oob_was/18022495364 [18:17:51] [PASSED] oob_was/22012773006 [18:17:51] [PASSED] oob_was/14014475959 [18:17:51] [PASSED] oob_was/22011391025 [18:17:51] [PASSED] oob_was/22012727170 [18:17:51] [PASSED] oob_was/22012727685 [18:17:51] [PASSED] oob_was/22016596838 [18:17:51] [PASSED] oob_was/18020744125 [18:17:51] [PASSED] oob_was/1409600907 [18:17:51] [PASSED] oob_was/22014953428 [18:17:51] [PASSED] oob_was/16017236439 [18:17:51] [PASSED] oob_was/14019821291 [18:17:51] [PASSED] oob_was/14015076503 [18:17:51] [PASSED] oob_was/22016122933 [18:17:51] [PASSED] oob_was/14018913170 [18:17:51] [PASSED] oob_was/14018094691 [18:17:51] [PASSED] oob_was/18024947630 [18:17:51] [PASSED] oob_was/16022287689 [18:17:51] [PASSED] oob_was/13011645652 [18:17:51] [PASSED] oob_was/14022293748 [18:17:51] [PASSED] oob_was/22019794406 [18:17:51] [PASSED] oob_was/22019338487 [18:17:51] [PASSED] oob_was/16023588340 [18:17:51] [PASSED] oob_was/14019789679 [18:17:51] [PASSED] oob_was/14022866841 [18:17:51] [PASSED] oob_was/16021333562 [18:17:51] [PASSED] oob_was/14016712196 [18:17:51] [PASSED] oob_was/14015568240 [18:17:51] [PASSED] oob_was/18013179988 [18:17:51] [PASSED] oob_was/1508761755 [18:17:51] [PASSED] oob_was/16023105232 [18:17:51] [PASSED] oob_was/16026508708 [18:17:51] [PASSED] oob_was/14020001231 [18:17:51] [PASSED] oob_was/16023683509 [18:17:51] [PASSED] oob_was/14025515070 [18:17:51] [PASSED] oob_was/15015404425_disable [18:17:51] [PASSED] oob_was/16026007364 [18:17:51] [PASSED] oob_was/14020316580 [18:17:51] [PASSED] oob_was/14025883347 [18:17:51] [PASSED] oob_was/16029380221 [18:17:51] [PASSED] oob_was/22022079272 [18:17:51] [PASSED] oob_was/16029897822 [18:17:51] [PASSED] oob_was/14027054324 [18:17:51] [PASSED] oob_was/14025941587 [18:17:51] [PASSED] oob_was/16030224309 [18:17:51] ============== [PASSED] xe_rtp_table_oob_test ============== [18:17:51] ================ xe_rtp_table_dev_oob_test ================ [18:17:51] [PASSED] device_oob_was/22010954014 [18:17:51] [PASSED] device_oob_was/15015404425 [18:17:51] [PASSED] device_oob_was/22019338487_display [18:17:51] [PASSED] device_oob_was/14022085890 [18:17:51] [PASSED] device_oob_was/14026539277 [18:17:51] [PASSED] device_oob_was/14026633728 [18:17:51] [PASSED] device_oob_was/14026746987 [18:17:51] [PASSED] device_oob_was/14026779378 [18:17:51] ============ [PASSED] xe_rtp_table_dev_oob_test ============ [18:17:51] ========== xe_rtp_table_missing_upper_bound_test ========== [18:17:51] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865 [18:17:51] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037 [18:17:51] [PASSED] register_whitelist/1806527549 [18:17:51] [PASSED] register_whitelist/allow_read_ctx_timestamp [18:17:51] [PASSED] register_whitelist/allow_read_queue_timestamp [18:17:51] [PASSED] register_whitelist/16014440446 [18:17:51] [PASSED] register_whitelist/16017236439 [18:17:51] [PASSED] register_whitelist/16020183090 [18:17:51] [PASSED] register_whitelist/14024997852 [18:17:51] [PASSED] register_whitelist/14024997852 [18:17:51] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ====== [18:17:51] =============== [PASSED] xe_rtp_tables_test ================ [18:17:51] =================== xe_rtp (3 subtests) ==================== [18:17:51] =================== xe_rtp_rules_tests ==================== [18:17:51] [PASSED] no [18:17:51] [PASSED] yes [18:17:51] [PASSED] no-and-no [18:17:51] [PASSED] no-and-yes [18:17:51] [PASSED] yes-and-no [18:17:51] [PASSED] yes-and-yes [18:17:51] [PASSED] no-or-no [18:17:51] [PASSED] no-or-yes [18:17:51] [PASSED] yes-or-no [18:17:51] [PASSED] yes-or-yes [18:17:51] [PASSED] no-yes-or-yes-no [18:17:51] [PASSED] no-yes-or-yes-yes [18:17:51] [PASSED] yes-yes-or-no-yes [18:17:51] [PASSED] yes-yes-or-yes-yes [18:17:51] [PASSED] no-no-or-yes-or-no [18:17:51] [PASSED] or [18:17:51] [PASSED] or-yes [18:17:51] [PASSED] or-no [18:17:51] [PASSED] yes-or [18:17:51] [PASSED] no-or [18:17:51] [PASSED] no-or-or-yes [18:17:51] [PASSED] yes-or-or-no [18:17:51] [PASSED] no-or-or-no [18:17:51] [PASSED] missing-context-engine-class [18:17:51] [PASSED] missing-context-engine-class-or-yes [18:17:51] [PASSED] missing-context-engine-class-or-or-yes [18:17:51] =============== [PASSED] xe_rtp_rules_tests ================ [18:17:51] =============== xe_rtp_process_to_sr_tests ================ [18:17:51] [PASSED] coalesce-same-reg [18:17:51] [PASSED] coalesce-same-reg-literal-and-func [18:17:51] [PASSED] no-match-no-add [18:17:51] [PASSED] two-regs-two-entries [18:17:51] [PASSED] clr-one-set-other [18:17:51] [PASSED] set-field [18:17:51] [PASSED] conflict-duplicate [18:17:51] [PASSED] conflict-not-disjoint [18:17:51] [PASSED] conflict-not-disjoint-literal-and-func [18:17:51] [PASSED] conflict-reg-type [18:17:51] [PASSED] bad-mcr-reg-forced-to-regular [18:17:51] [PASSED] bad-regular-reg-forced-to-mcr [18:17:51] =========== [PASSED] xe_rtp_process_to_sr_tests ============ [18:17:51] ================== xe_rtp_process_tests =================== [18:17:51] [PASSED] active1 [18:17:51] [PASSED] active2 [18:17:51] [PASSED] active-inactive [18:17:51] [PASSED] inactive-active [18:17:51] [PASSED] inactive-active-inactive [18:17:51] [PASSED] inactive-inactive-inactive [18:17:51] ============== [PASSED] xe_rtp_process_tests =============== [18:17:51] ===================== [PASSED] xe_rtp ====================== [18:17:51] ==================== xe_wa (1 subtest) ===================== [18:17:51] ======================== xe_wa_gt ========================= [18:17:51] [PASSED] TIGERLAKE B0 [18:17:51] [PASSED] DG1 A0 [18:17:51] [PASSED] DG1 B0 [18:17:51] [PASSED] ALDERLAKE_S A0 [18:17:51] [PASSED] ALDERLAKE_S B0 [18:17:51] [PASSED] ALDERLAKE_S C0 [18:17:51] [PASSED] ALDERLAKE_S D0 [18:17:51] [PASSED] ALDERLAKE_P A0 [18:17:51] [PASSED] ALDERLAKE_P B0 [18:17:51] [PASSED] ALDERLAKE_P C0 [18:17:51] [PASSED] ALDERLAKE_S RPLS D0 [18:17:51] [PASSED] ALDERLAKE_P RPLU E0 [18:17:51] [PASSED] DG2 G10 C0 [18:17:51] [PASSED] DG2 G11 B1 [18:17:51] [PASSED] DG2 G12 A1 [18:17:51] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0 [18:17:51] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0 [18:17:51] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0 [18:17:51] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0 [18:17:51] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0 [18:17:51] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1 [18:17:51] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0 [18:17:51] ==================== [PASSED] xe_wa_gt ===================== [18:17:51] ====================== [PASSED] xe_wa ====================== [18:17:51] ============================================================ [18:17:51] Testing complete. Ran 823 tests: passed: 795, skipped: 28 [18:17:51] Elapsed time: 36.204s total, 1.796s configuring, 33.691s building, 0.710s 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 [18:17:51] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [18:17:53] 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 [18:18:18] Starting KUnit Kernel (1/1)... [18:18:18] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [18:18:18] ============= refcount_interrupt (4 subtests) ============== [18:18:18] [PASSED] test_single_irq_change [18:18:18] [PASSED] test_nested_irq_change [18:18:18] [PASSED] test_multiple_irq_change [18:18:18] [PASSED] test_irq_save [18:18:18] =============== [PASSED] refcount_interrupt ================ [18:18:18] ============ drm_test_pick_cmdline (2 subtests) ============ [18:18:18] [PASSED] drm_test_pick_cmdline_res_1920_1080_60 [18:18:18] =============== drm_test_pick_cmdline_named =============== [18:18:18] [PASSED] NTSC [18:18:18] [PASSED] NTSC-J [18:18:18] [PASSED] PAL [18:18:18] [PASSED] PAL-M [18:18:18] =========== [PASSED] drm_test_pick_cmdline_named =========== [18:18:18] ============== [PASSED] drm_test_pick_cmdline ============== [18:18:18] == drm_test_atomic_get_connector_for_encoder (1 subtest) === [18:18:18] [PASSED] drm_test_drm_atomic_get_connector_for_encoder [18:18:18] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ==== [18:18:18] =========== drm_validate_clone_mode (2 subtests) =========== [18:18:18] ============== drm_test_check_in_clone_mode =============== [18:18:18] [PASSED] in_clone_mode [18:18:18] [PASSED] not_in_clone_mode [18:18:18] ========== [PASSED] drm_test_check_in_clone_mode =========== [18:18:18] =============== drm_test_check_valid_clones =============== [18:18:18] [PASSED] not_in_clone_mode [18:18:18] [PASSED] valid_clone [18:18:18] [PASSED] invalid_clone [18:18:18] =========== [PASSED] drm_test_check_valid_clones =========== [18:18:18] ============= [PASSED] drm_validate_clone_mode ============= [18:18:18] ============= drm_validate_modeset (1 subtest) ============= [18:18:18] [PASSED] drm_test_check_connector_changed_modeset [18:18:18] ============== [PASSED] drm_validate_modeset =============== [18:18:18] ====== drm_test_bridge_get_current_state (1 subtest) ======= [18:18:18] [PASSED] drm_test_drm_bridge_get_current_state_atomic [18:18:18] ======== [PASSED] drm_test_bridge_get_current_state ======== [18:18:18] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ====== [18:18:18] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic [18:18:18] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled [18:18:18] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts [18:18:18] ======== [PASSED] drm_test_bridge_helper_reset_crtc ======== [18:18:18] ============== drm_bridge_alloc (2 subtests) =============== [18:18:18] [PASSED] drm_test_drm_bridge_alloc_basic [18:18:18] [PASSED] drm_test_drm_bridge_alloc_get_put [18:18:18] ================ [PASSED] drm_bridge_alloc ================= [18:18:18] ============= drm_bridge_bus_fmt (5 subtests) ============== [18:18:18] [PASSED] drm_test_bridge_rgb_yuv_rgb [18:18:18] [PASSED] drm_test_bridge_must_convert_to_yuv444 [18:18:18] [PASSED] drm_test_bridge_hdmi_auto_rgb [18:18:18] [PASSED] drm_test_bridge_auto_first [18:18:18] [PASSED] drm_test_bridge_rgb_yuv_no_path [18:18:18] =============== [PASSED] drm_bridge_bus_fmt ================ [18:18:18] ============= drm_cmdline_parser (40 subtests) ============= [18:18:18] [PASSED] drm_test_cmdline_force_d_only [18:18:18] [PASSED] drm_test_cmdline_force_D_only_dvi [18:18:18] [PASSED] drm_test_cmdline_force_D_only_hdmi [18:18:18] [PASSED] drm_test_cmdline_force_D_only_not_digital [18:18:18] [PASSED] drm_test_cmdline_force_e_only [18:18:18] [PASSED] drm_test_cmdline_res [18:18:18] [PASSED] drm_test_cmdline_res_vesa [18:18:18] [PASSED] drm_test_cmdline_res_vesa_rblank [18:18:18] [PASSED] drm_test_cmdline_res_rblank [18:18:18] [PASSED] drm_test_cmdline_res_bpp [18:18:18] [PASSED] drm_test_cmdline_res_refresh [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh_margins [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital [18:18:18] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on [18:18:18] [PASSED] drm_test_cmdline_res_margins_force_on [18:18:18] [PASSED] drm_test_cmdline_res_vesa_margins [18:18:18] [PASSED] drm_test_cmdline_name [18:18:18] [PASSED] drm_test_cmdline_name_bpp [18:18:18] [PASSED] drm_test_cmdline_name_option [18:18:18] [PASSED] drm_test_cmdline_name_bpp_option [18:18:18] [PASSED] drm_test_cmdline_rotate_0 [18:18:18] [PASSED] drm_test_cmdline_rotate_90 [18:18:18] [PASSED] drm_test_cmdline_rotate_180 [18:18:18] [PASSED] drm_test_cmdline_rotate_270 [18:18:18] [PASSED] drm_test_cmdline_hmirror [18:18:18] [PASSED] drm_test_cmdline_vmirror [18:18:18] [PASSED] drm_test_cmdline_margin_options [18:18:18] [PASSED] drm_test_cmdline_multiple_options [18:18:18] [PASSED] drm_test_cmdline_bpp_extra_and_option [18:18:18] [PASSED] drm_test_cmdline_extra_and_option [18:18:18] [PASSED] drm_test_cmdline_freestanding_options [18:18:18] [PASSED] drm_test_cmdline_freestanding_force_e_and_options [18:18:18] [PASSED] drm_test_cmdline_panel_orientation [18:18:18] ================ drm_test_cmdline_invalid ================= [18:18:18] [PASSED] margin_only [18:18:18] [PASSED] interlace_only [18:18:18] [PASSED] res_missing_x [18:18:18] [PASSED] res_missing_y [18:18:18] [PASSED] res_bad_y [18:18:18] [PASSED] res_missing_y_bpp [18:18:18] [PASSED] res_bad_bpp [18:18:18] [PASSED] res_bad_refresh [18:18:18] [PASSED] res_bpp_refresh_force_on_off [18:18:18] [PASSED] res_invalid_mode [18:18:18] [PASSED] res_bpp_wrong_place_mode [18:18:18] [PASSED] name_bpp_refresh [18:18:18] [PASSED] name_refresh [18:18:18] [PASSED] name_refresh_wrong_mode [18:18:18] [PASSED] name_refresh_invalid_mode [18:18:18] [PASSED] rotate_multiple [18:18:18] [PASSED] rotate_invalid_val [18:18:18] [PASSED] rotate_truncated [18:18:18] [PASSED] invalid_option [18:18:18] [PASSED] invalid_tv_option [18:18:18] [PASSED] truncated_tv_option [18:18:18] ============ [PASSED] drm_test_cmdline_invalid ============= [18:18:18] =============== drm_test_cmdline_tv_options =============== [18:18:18] [PASSED] NTSC [18:18:18] [PASSED] NTSC_443 [18:18:18] [PASSED] NTSC_J [18:18:18] [PASSED] PAL [18:18:18] [PASSED] PAL_M [18:18:18] [PASSED] PAL_N [18:18:18] [PASSED] SECAM [18:18:18] [PASSED] MONO_525 [18:18:18] [PASSED] MONO_625 [18:18:18] =========== [PASSED] drm_test_cmdline_tv_options =========== [18:18:18] =============== [PASSED] drm_cmdline_parser ================ [18:18:18] ========== drmm_connector_hdmi_init (20 subtests) ========== [18:18:18] [PASSED] drm_test_connector_hdmi_init_valid [18:18:18] [PASSED] drm_test_connector_hdmi_init_bpc_8 [18:18:18] [PASSED] drm_test_connector_hdmi_init_bpc_10 [18:18:18] [PASSED] drm_test_connector_hdmi_init_bpc_12 [18:18:18] [PASSED] drm_test_connector_hdmi_init_bpc_invalid [18:18:18] [PASSED] drm_test_connector_hdmi_init_bpc_null [18:18:18] [PASSED] drm_test_connector_hdmi_init_formats_empty [18:18:18] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb [18:18:18] === drm_test_connector_hdmi_init_formats_yuv420_allowed === [18:18:18] [PASSED] supported_formats=0x9 yuv420_allowed=1 [18:18:18] [PASSED] supported_formats=0x9 yuv420_allowed=0 [18:18:18] [PASSED] supported_formats=0x5 yuv420_allowed=1 [18:18:18] [PASSED] supported_formats=0x5 yuv420_allowed=0 [18:18:18] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed === [18:18:18] [PASSED] drm_test_connector_hdmi_init_null_ddc [18:18:18] [PASSED] drm_test_connector_hdmi_init_null_product [18:18:18] [PASSED] drm_test_connector_hdmi_init_null_vendor [18:18:18] [PASSED] drm_test_connector_hdmi_init_product_length_exact [18:18:18] [PASSED] drm_test_connector_hdmi_init_product_length_too_long [18:18:18] [PASSED] drm_test_connector_hdmi_init_product_valid [18:18:18] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact [18:18:18] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long [18:18:18] [PASSED] drm_test_connector_hdmi_init_vendor_valid [18:18:18] ========= drm_test_connector_hdmi_init_type_valid ========= [18:18:18] [PASSED] HDMI-A [18:18:18] [PASSED] HDMI-B [18:18:18] ===== [PASSED] drm_test_connector_hdmi_init_type_valid ===== [18:18:18] ======== drm_test_connector_hdmi_init_type_invalid ======== [18:18:18] [PASSED] Unknown [18:18:18] [PASSED] VGA [18:18:18] [PASSED] DVI-I [18:18:18] [PASSED] DVI-D [18:18:18] [PASSED] DVI-A [18:18:18] [PASSED] Composite [18:18:18] [PASSED] SVIDEO [18:18:18] [PASSED] LVDS [18:18:18] [PASSED] Component [18:18:18] [PASSED] DIN [18:18:18] [PASSED] DP [18:18:18] [PASSED] TV [18:18:18] [PASSED] eDP [18:18:18] [PASSED] Virtual [18:18:18] [PASSED] DSI [18:18:18] [PASSED] DPI [18:18:18] [PASSED] Writeback [18:18:18] [PASSED] SPI [18:18:18] [PASSED] USB [18:18:18] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ==== [18:18:18] ============ [PASSED] drmm_connector_hdmi_init ============= [18:18:18] ============= drmm_connector_init (3 subtests) ============= [18:18:18] [PASSED] drm_test_drmm_connector_init [18:18:18] [PASSED] drm_test_drmm_connector_init_null_ddc [18:18:18] ========= drm_test_drmm_connector_init_type_valid ========= [18:18:18] [PASSED] Unknown [18:18:18] [PASSED] VGA [18:18:18] [PASSED] DVI-I [18:18:18] [PASSED] DVI-D [18:18:18] [PASSED] DVI-A [18:18:18] [PASSED] Composite [18:18:18] [PASSED] SVIDEO [18:18:18] [PASSED] LVDS [18:18:18] [PASSED] Component [18:18:18] [PASSED] DIN [18:18:18] [PASSED] DP [18:18:18] [PASSED] HDMI-A [18:18:18] [PASSED] HDMI-B [18:18:18] [PASSED] TV [18:18:18] [PASSED] eDP [18:18:18] [PASSED] Virtual [18:18:18] [PASSED] DSI [18:18:18] [PASSED] DPI [18:18:18] [PASSED] Writeback [18:18:18] [PASSED] SPI [18:18:18] [PASSED] USB [18:18:18] ===== [PASSED] drm_test_drmm_connector_init_type_valid ===== [18:18:18] =============== [PASSED] drmm_connector_init =============== [18:18:18] ========= drm_connector_dynamic_init (6 subtests) ========== [18:18:18] [PASSED] drm_test_drm_connector_dynamic_init [18:18:18] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc [18:18:18] [PASSED] drm_test_drm_connector_dynamic_init_not_added [18:18:18] [PASSED] drm_test_drm_connector_dynamic_init_properties [18:18:18] ===== drm_test_drm_connector_dynamic_init_type_valid ====== [18:18:18] [PASSED] Unknown [18:18:18] [PASSED] VGA [18:18:18] [PASSED] DVI-I [18:18:18] [PASSED] DVI-D [18:18:18] [PASSED] DVI-A [18:18:18] [PASSED] Composite [18:18:18] [PASSED] SVIDEO [18:18:18] [PASSED] LVDS [18:18:18] [PASSED] Component [18:18:18] [PASSED] DIN [18:18:18] [PASSED] DP [18:18:18] [PASSED] HDMI-A [18:18:18] [PASSED] HDMI-B [18:18:18] [PASSED] TV [18:18:18] [PASSED] eDP [18:18:18] [PASSED] Virtual [18:18:18] [PASSED] DSI [18:18:18] [PASSED] DPI [18:18:18] [PASSED] Writeback [18:18:18] [PASSED] SPI [18:18:18] [PASSED] USB [18:18:18] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid == [18:18:18] ======== drm_test_drm_connector_dynamic_init_name ========= [18:18:18] [PASSED] Unknown [18:18:18] [PASSED] VGA [18:18:18] [PASSED] DVI-I [18:18:18] [PASSED] DVI-D [18:18:18] [PASSED] DVI-A [18:18:18] [PASSED] Composite [18:18:18] [PASSED] SVIDEO [18:18:18] [PASSED] LVDS [18:18:18] [PASSED] Component [18:18:18] [PASSED] DIN [18:18:18] [PASSED] DP [18:18:18] [PASSED] HDMI-A [18:18:18] [PASSED] HDMI-B [18:18:18] [PASSED] TV [18:18:18] [PASSED] eDP [18:18:18] [PASSED] Virtual [18:18:18] [PASSED] DSI [18:18:18] [PASSED] DPI [18:18:18] [PASSED] Writeback [18:18:18] [PASSED] SPI [18:18:18] [PASSED] USB [18:18:18] ==== [PASSED] drm_test_drm_connector_dynamic_init_name ===== [18:18:18] =========== [PASSED] drm_connector_dynamic_init ============ [18:18:18] ==== drm_connector_dynamic_register_early (4 subtests) ===== [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_early_defer [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object [18:18:18] ====== [PASSED] drm_connector_dynamic_register_early ======= [18:18:18] ======= drm_connector_dynamic_register (7 subtests) ======== [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_on_list [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_no_defer [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_no_init [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_mode_object [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_sysfs [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name [18:18:18] [PASSED] drm_test_drm_connector_dynamic_register_debugfs [18:18:18] ========= [PASSED] drm_connector_dynamic_register ========== [18:18:18] = drm_connector_attach_broadcast_rgb_property (2 subtests) = [18:18:18] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property [18:18:18] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector [18:18:18] === [PASSED] drm_connector_attach_broadcast_rgb_property === [18:18:18] ========== drm_get_tv_mode_from_name (2 subtests) ========== [18:18:18] ========== drm_test_get_tv_mode_from_name_valid =========== [18:18:18] [PASSED] NTSC [18:18:18] [PASSED] NTSC-443 [18:18:18] [PASSED] NTSC-J [18:18:18] [PASSED] PAL [18:18:18] [PASSED] PAL-M [18:18:18] [PASSED] PAL-N [18:18:18] [PASSED] SECAM [18:18:18] [PASSED] Mono [18:18:18] ====== [PASSED] drm_test_get_tv_mode_from_name_valid ======= [18:18:18] [PASSED] drm_test_get_tv_mode_from_name_truncated [18:18:18] ============ [PASSED] drm_get_tv_mode_from_name ============ [18:18:18] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) = [18:18:18] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb [18:18:18] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc [18:18:18] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1 [18:18:18] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc [18:18:18] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1 [18:18:18] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double [18:18:18] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid = [18:18:18] [PASSED] VIC 96 [18:18:18] [PASSED] VIC 97 [18:18:18] [PASSED] VIC 101 [18:18:18] [PASSED] VIC 102 [18:18:18] [PASSED] VIC 106 [18:18:18] [PASSED] VIC 107 [18:18:18] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid === [18:18:18] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc [18:18:18] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc [18:18:18] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc [18:18:18] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc [18:18:18] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc [18:18:18] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ==== [18:18:18] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) == [18:18:18] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ==== [18:18:18] [PASSED] Automatic [18:18:18] [PASSED] Full [18:18:18] [PASSED] Limited 16:235 [18:18:18] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name === [18:18:18] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid [18:18:18] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ==== [18:18:18] == drm_hdmi_connector_get_output_format_name (2 subtests) == [18:18:18] === drm_test_drm_hdmi_connector_get_output_format_name ==== [18:18:18] [PASSED] RGB [18:18:18] [PASSED] YUV 4:2:0 [18:18:18] [PASSED] YUV 4:2:2 [18:18:18] [PASSED] YUV 4:4:4 [18:18:18] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name === [18:18:18] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid [18:18:18] ==== [PASSED] drm_hdmi_connector_get_output_format_name ==== [18:18:18] ============= drm_damage_helper (21 subtests) ============== [18:18:18] [PASSED] drm_test_damage_iter_no_damage [18:18:18] [PASSED] drm_test_damage_iter_no_damage_fractional_src [18:18:18] [PASSED] drm_test_damage_iter_no_damage_src_moved [18:18:18] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved [18:18:18] [PASSED] drm_test_damage_iter_no_damage_not_visible [18:18:18] [PASSED] drm_test_damage_iter_no_damage_no_crtc [18:18:18] [PASSED] drm_test_damage_iter_no_damage_no_fb [18:18:18] [PASSED] drm_test_damage_iter_simple_damage [18:18:18] [PASSED] drm_test_damage_iter_single_damage [18:18:18] [PASSED] drm_test_damage_iter_single_damage_intersect_src [18:18:18] [PASSED] drm_test_damage_iter_single_damage_outside_src [18:18:18] [PASSED] drm_test_damage_iter_single_damage_fractional_src [18:18:18] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src [18:18:18] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src [18:18:18] [PASSED] drm_test_damage_iter_single_damage_src_moved [18:18:18] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved [18:18:18] [PASSED] drm_test_damage_iter_damage [18:18:18] [PASSED] drm_test_damage_iter_damage_one_intersect [18:18:18] [PASSED] drm_test_damage_iter_damage_one_outside [18:18:18] [PASSED] drm_test_damage_iter_damage_src_moved [18:18:18] [PASSED] drm_test_damage_iter_damage_not_visible [18:18:18] ================ [PASSED] drm_damage_helper ================ [18:18:18] ============== drm_dp_mst_helper (3 subtests) ============== [18:18:18] ============== drm_test_dp_mst_calc_pbn_mode ============== [18:18:18] [PASSED] Clock 154000 BPP 30 DSC disabled [18:18:18] [PASSED] Clock 234000 BPP 30 DSC disabled [18:18:18] [PASSED] Clock 297000 BPP 24 DSC disabled [18:18:18] [PASSED] Clock 332880 BPP 24 DSC enabled [18:18:18] [PASSED] Clock 324540 BPP 24 DSC enabled [18:18:18] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ========== [18:18:18] ============== drm_test_dp_mst_calc_pbn_div =============== [18:18:18] [PASSED] Link rate 2000000 lane count 4 [18:18:18] [PASSED] Link rate 2000000 lane count 2 [18:18:18] [PASSED] Link rate 2000000 lane count 1 [18:18:18] [PASSED] Link rate 1350000 lane count 4 [18:18:18] [PASSED] Link rate 1350000 lane count 2 [18:18:18] [PASSED] Link rate 1350000 lane count 1 [18:18:18] [PASSED] Link rate 1000000 lane count 4 [18:18:18] [PASSED] Link rate 1000000 lane count 2 [18:18:18] [PASSED] Link rate 1000000 lane count 1 [18:18:18] [PASSED] Link rate 810000 lane count 4 [18:18:18] [PASSED] Link rate 810000 lane count 2 [18:18:18] [PASSED] Link rate 810000 lane count 1 [18:18:18] [PASSED] Link rate 540000 lane count 4 [18:18:18] [PASSED] Link rate 540000 lane count 2 [18:18:18] [PASSED] Link rate 540000 lane count 1 [18:18:18] [PASSED] Link rate 270000 lane count 4 [18:18:18] [PASSED] Link rate 270000 lane count 2 [18:18:18] [PASSED] Link rate 270000 lane count 1 [18:18:18] [PASSED] Link rate 162000 lane count 4 [18:18:18] [PASSED] Link rate 162000 lane count 2 [18:18:18] [PASSED] Link rate 162000 lane count 1 [18:18:18] ========== [PASSED] drm_test_dp_mst_calc_pbn_div =========== [18:18:18] ========= drm_test_dp_mst_sideband_msg_req_decode ========= [18:18:18] [PASSED] DP_ENUM_PATH_RESOURCES with port number [18:18:18] [PASSED] DP_POWER_UP_PHY with port number [18:18:18] [PASSED] DP_POWER_DOWN_PHY with port number [18:18:18] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks [18:18:18] [PASSED] DP_ALLOCATE_PAYLOAD with port number [18:18:18] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI [18:18:18] [PASSED] DP_ALLOCATE_PAYLOAD with PBN [18:18:18] [PASSED] DP_QUERY_PAYLOAD with port number [18:18:18] [PASSED] DP_QUERY_PAYLOAD with VCPI [18:18:18] [PASSED] DP_REMOTE_DPCD_READ with port number [18:18:18] [PASSED] DP_REMOTE_DPCD_READ with DPCD address [18:18:18] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes [18:18:18] [PASSED] DP_REMOTE_DPCD_WRITE with port number [18:18:18] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address [18:18:18] [PASSED] DP_REMOTE_DPCD_WRITE with data array [18:18:18] [PASSED] DP_REMOTE_I2C_READ with port number [18:18:18] [PASSED] DP_REMOTE_I2C_READ with I2C device ID [18:18:18] [PASSED] DP_REMOTE_I2C_READ with transactions array [18:18:18] [PASSED] DP_REMOTE_I2C_WRITE with port number [18:18:18] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID [18:18:18] [PASSED] DP_REMOTE_I2C_WRITE with data array [18:18:18] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID [18:18:18] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID [18:18:18] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event [18:18:18] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event [18:18:18] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior [18:18:18] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior [18:18:18] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode ===== [18:18:18] ================ [PASSED] drm_dp_mst_helper ================ [18:18:18] ================== drm_exec (7 subtests) =================== [18:18:18] [PASSED] sanitycheck [18:18:18] [PASSED] test_lock [18:18:18] [PASSED] test_lock_unlock [18:18:18] [PASSED] test_duplicates [18:18:18] [PASSED] test_prepare [18:18:18] [PASSED] test_prepare_array [18:18:18] [PASSED] test_multiple_loops [18:18:18] ==================== [PASSED] drm_exec ===================== [18:18:18] =========== drm_format_helper_test (17 subtests) =========== [18:18:18] ============== drm_test_fb_xrgb8888_to_gray8 ============== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ========== [18:18:18] ============= drm_test_fb_xrgb8888_to_rgb332 ============== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ========== [18:18:18] ============= drm_test_fb_xrgb8888_to_rgb565 ============== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ========== [18:18:18] ============ drm_test_fb_xrgb8888_to_xrgb1555 ============= [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 ========= [18:18:18] ============ drm_test_fb_xrgb8888_to_argb1555 ============= [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 ========= [18:18:18] ============ drm_test_fb_xrgb8888_to_rgba5551 ============= [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 ========= [18:18:18] ============= drm_test_fb_xrgb8888_to_rgb888 ============== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ========== [18:18:18] ============= drm_test_fb_xrgb8888_to_bgr888 ============== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ========== [18:18:18] ============ drm_test_fb_xrgb8888_to_argb8888 ============= [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 ========= [18:18:18] =========== drm_test_fb_xrgb8888_to_xrgb2101010 =========== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 ======= [18:18:18] =========== drm_test_fb_xrgb8888_to_argb2101010 =========== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 ======= [18:18:18] ============== drm_test_fb_xrgb8888_to_mono =============== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ========== [PASSED] drm_test_fb_xrgb8888_to_mono =========== [18:18:18] ==================== drm_test_fb_swab ===================== [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ================ [PASSED] drm_test_fb_swab ================= [18:18:18] ============ drm_test_fb_xrgb8888_to_xbgr8888 ============= [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 ========= [18:18:18] ============ drm_test_fb_xrgb8888_to_abgr8888 ============= [18:18:18] [PASSED] single_pixel_source_buffer [18:18:18] [PASSED] single_pixel_clip_rectangle [18:18:18] [PASSED] well_known_colors [18:18:18] [PASSED] destination_pitch [18:18:18] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 ========= [18:18:18] ================= drm_test_fb_clip_offset ================= [18:18:18] [PASSED] pass through [18:18:18] [PASSED] horizontal offset [18:18:18] [PASSED] vertical offset [18:18:18] [PASSED] horizontal and vertical offset [18:18:18] [PASSED] horizontal offset (custom pitch) [18:18:18] [PASSED] vertical offset (custom pitch) [18:18:18] [PASSED] horizontal and vertical offset (custom pitch) [18:18:18] ============= [PASSED] drm_test_fb_clip_offset ============= [18:18:18] =================== drm_test_fb_memcpy ==================== [18:18:18] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258) [18:18:18] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258) [18:18:18] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559) [18:18:18] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258) [18:18:18] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258) [18:18:18] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559) [18:18:18] [PASSED] well_known_colors: XB24 little-endian (0x34324258) [18:18:18] [PASSED] well_known_colors: XRA8 little-endian (0x38415258) [18:18:18] [PASSED] well_known_colors: YU24 little-endian (0x34325559) [18:18:18] [PASSED] destination_pitch: XB24 little-endian (0x34324258) [18:18:18] [PASSED] destination_pitch: XRA8 little-endian (0x38415258) [18:18:18] [PASSED] destination_pitch: YU24 little-endian (0x34325559) [18:18:18] =============== [PASSED] drm_test_fb_memcpy ================ [18:18:18] ============= [PASSED] drm_format_helper_test ============== [18:18:18] ================= drm_format (18 subtests) ================= [18:18:18] [PASSED] drm_test_format_block_width_invalid [18:18:18] [PASSED] drm_test_format_block_width_one_plane [18:18:18] [PASSED] drm_test_format_block_width_two_plane [18:18:18] [PASSED] drm_test_format_block_width_three_plane [18:18:18] [PASSED] drm_test_format_block_width_tiled [18:18:18] [PASSED] drm_test_format_block_height_invalid [18:18:18] [PASSED] drm_test_format_block_height_one_plane [18:18:18] [PASSED] drm_test_format_block_height_two_plane [18:18:18] [PASSED] drm_test_format_block_height_three_plane [18:18:18] [PASSED] drm_test_format_block_height_tiled [18:18:18] [PASSED] drm_test_format_min_pitch_invalid [18:18:18] [PASSED] drm_test_format_min_pitch_one_plane_8bpp [18:18:18] [PASSED] drm_test_format_min_pitch_one_plane_16bpp [18:18:18] [PASSED] drm_test_format_min_pitch_one_plane_24bpp [18:18:18] [PASSED] drm_test_format_min_pitch_one_plane_32bpp [18:18:18] [PASSED] drm_test_format_min_pitch_two_plane [18:18:18] [PASSED] drm_test_format_min_pitch_three_plane_8bpp [18:18:18] [PASSED] drm_test_format_min_pitch_tiled [18:18:18] =================== [PASSED] drm_format ==================== [18:18:18] ============== drm_framebuffer (10 subtests) =============== [18:18:18] ========== drm_test_framebuffer_check_src_coords ========== [18:18:18] [PASSED] Success: source fits into fb [18:18:18] [PASSED] Fail: overflowing fb with x-axis coordinate [18:18:18] [PASSED] Fail: overflowing fb with y-axis coordinate [18:18:18] [PASSED] Fail: overflowing fb with source width [18:18:18] [PASSED] Fail: overflowing fb with source height [18:18:18] ====== [PASSED] drm_test_framebuffer_check_src_coords ====== [18:18:18] [PASSED] drm_test_framebuffer_cleanup [18:18:18] =============== drm_test_framebuffer_create =============== [18:18:18] [PASSED] ABGR8888 normal sizes [18:18:18] [PASSED] ABGR8888 max sizes [18:18:18] [PASSED] ABGR8888 pitch greater than min required [18:18:18] [PASSED] ABGR8888 pitch less than min required [18:18:18] [PASSED] ABGR8888 Invalid width [18:18:18] [PASSED] ABGR8888 Invalid buffer handle [18:18:18] [PASSED] No pixel format [18:18:18] [PASSED] ABGR8888 Width 0 [18:18:18] [PASSED] ABGR8888 Height 0 [18:18:18] [PASSED] ABGR8888 Out of bound height * pitch combination [18:18:18] [PASSED] ABGR8888 Large buffer offset [18:18:18] [PASSED] ABGR8888 Buffer offset for inexistent plane [18:18:18] [PASSED] ABGR8888 Invalid flag [18:18:18] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers [18:18:18] [PASSED] ABGR8888 Valid buffer modifier [18:18:18] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE) [18:18:18] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS [18:18:18] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS [18:18:18] [PASSED] NV12 Normal sizes [18:18:18] [PASSED] NV12 Max sizes [18:18:18] [PASSED] NV12 Invalid pitch [18:18:18] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag [18:18:18] [PASSED] NV12 different modifier per-plane [18:18:18] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE [18:18:18] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS [18:18:18] [PASSED] NV12 Modifier for inexistent plane [18:18:18] [PASSED] NV12 Handle for inexistent plane [18:18:18] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS [18:18:18] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier [18:18:18] [PASSED] YVU420 Normal sizes [18:18:18] [PASSED] YVU420 Max sizes [18:18:18] [PASSED] YVU420 Invalid pitch [18:18:18] [PASSED] YVU420 Different pitches [18:18:18] [PASSED] YVU420 Different buffer offsets/pitches [18:18:18] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS [18:18:18] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS [18:18:18] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS [18:18:18] [PASSED] YVU420 Valid modifier [18:18:18] [PASSED] YVU420 Different modifiers per plane [18:18:18] [PASSED] YVU420 Modifier for inexistent plane [18:18:18] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR) [18:18:18] [PASSED] X0L2 Normal sizes [18:18:18] [PASSED] X0L2 Max sizes [18:18:18] [PASSED] X0L2 Invalid pitch [18:18:18] [PASSED] X0L2 Pitch greater than minimum required [18:18:18] [PASSED] X0L2 Handle for inexistent plane [18:18:18] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set [18:18:18] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set [18:18:18] [PASSED] X0L2 Valid modifier [18:18:18] [PASSED] X0L2 Modifier for inexistent plane [18:18:18] =========== [PASSED] drm_test_framebuffer_create =========== [18:18:18] [PASSED] drm_test_framebuffer_free [18:18:18] [PASSED] drm_test_framebuffer_init [18:18:18] [PASSED] drm_test_framebuffer_init_bad_format [18:18:18] [PASSED] drm_test_framebuffer_init_dev_mismatch [18:18:18] [PASSED] drm_test_framebuffer_lookup [18:18:18] [PASSED] drm_test_framebuffer_lookup_inexistent [18:18:18] [PASSED] drm_test_framebuffer_modifiers_not_supported [18:18:18] ================= [PASSED] drm_framebuffer ================= [18:18:18] ================ drm_gem_shmem (8 subtests) ================ [18:18:18] [PASSED] drm_gem_shmem_test_obj_create [18:18:18] [PASSED] drm_gem_shmem_test_obj_create_private [18:18:18] [PASSED] drm_gem_shmem_test_pin_pages [18:18:18] [PASSED] drm_gem_shmem_test_vmap [18:18:18] [PASSED] drm_gem_shmem_test_get_sg_table [18:18:18] [PASSED] drm_gem_shmem_test_get_pages_sgt [18:18:18] [PASSED] drm_gem_shmem_test_madvise [18:18:18] [PASSED] drm_gem_shmem_test_purge [18:18:18] ================== [PASSED] drm_gem_shmem ================== [18:18:18] === drm_atomic_helper_connector_hdmi_check (29 subtests) === [18:18:18] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode [18:18:18] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1 [18:18:18] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode [18:18:18] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1 [18:18:18] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode [18:18:18] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1 [18:18:18] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 ======= [18:18:18] [PASSED] Automatic [18:18:18] [PASSED] Full [18:18:18] [PASSED] Limited 16:235 [18:18:18] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 === [18:18:18] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed [18:18:18] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed [18:18:18] [PASSED] drm_test_check_disable_connector [18:18:18] [PASSED] drm_test_check_hdmi_funcs_reject_rate [18:18:18] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb [18:18:18] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420 [18:18:18] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422 [18:18:18] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420 [18:18:18] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420 [18:18:18] [PASSED] drm_test_check_output_bpc_crtc_mode_changed [18:18:18] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed [18:18:18] [PASSED] drm_test_check_output_bpc_dvi [18:18:18] [PASSED] drm_test_check_output_bpc_format_vic_1 [18:18:18] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only [18:18:18] [PASSED] drm_test_check_output_bpc_format_display_rgb_only [18:18:18] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only [18:18:18] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only [18:18:18] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc [18:18:18] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc [18:18:18] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc [18:18:18] ============ drm_test_check_hdmi_color_format ============= [18:18:18] [PASSED] AUTO -> RGB [18:18:18] [PASSED] YCBCR422 -> YUV422 [18:18:18] [PASSED] YCBCR420 -> YUV420 [18:18:18] [PASSED] YCBCR444 -> YUV444 [18:18:18] [PASSED] RGB -> RGB [18:18:18] ======== [PASSED] drm_test_check_hdmi_color_format ========= [18:18:18] ======== drm_test_check_hdmi_color_format_420_only ======== [18:18:18] [PASSED] RGB should fail [18:18:18] [PASSED] YUV444 should fail [18:18:18] [PASSED] YUV422 should fail [18:18:18] [PASSED] YUV420 should work [18:18:18] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ==== [18:18:18] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ====== [18:18:18] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ==== [18:18:18] [PASSED] drm_test_check_broadcast_rgb_value [18:18:18] [PASSED] drm_test_check_bpc_8_value [18:18:18] [PASSED] drm_test_check_bpc_10_value [18:18:18] [PASSED] drm_test_check_bpc_12_value [18:18:18] [PASSED] drm_test_check_format_value [18:18:18] [PASSED] drm_test_check_tmds_char_value [18:18:18] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ====== [18:18:18] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) = [18:18:18] [PASSED] drm_test_check_mode_valid [18:18:18] [PASSED] drm_test_check_mode_valid_reject [18:18:18] [PASSED] drm_test_check_mode_valid_reject_rate [18:18:18] [PASSED] drm_test_check_mode_valid_reject_max_clock [18:18:18] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock [18:18:18] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector [18:18:18] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb [18:18:18] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid === [18:18:18] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) = [18:18:18] [PASSED] drm_test_check_infoframes [18:18:18] [PASSED] drm_test_check_reject_avi_infoframe [18:18:18] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8 [18:18:18] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10 [18:18:18] [PASSED] drm_test_check_reject_audio_infoframe [18:18:18] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes === [18:18:18] ================= drm_managed (2 subtests) ================= [18:18:18] [PASSED] drm_test_managed_release_action [18:18:18] [PASSED] drm_test_managed_run_action [18:18:18] =================== [PASSED] drm_managed =================== [18:18:18] =================== drm_mm (6 subtests) ==================== [18:18:18] [PASSED] drm_test_mm_init [18:18:18] [PASSED] drm_test_mm_debug [18:18:18] [PASSED] drm_test_mm_align32 [18:18:18] [PASSED] drm_test_mm_align64 [18:18:18] [PASSED] drm_test_mm_lowest [18:18:18] [PASSED] drm_test_mm_highest [18:18:18] ===================== [PASSED] drm_mm ====================== [18:18:18] ============= drm_modes_analog_tv (5 subtests) ============= [18:18:18] [PASSED] drm_test_modes_analog_tv_mono_576i [18:18:18] [PASSED] drm_test_modes_analog_tv_ntsc_480i [18:18:18] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined [18:18:18] [PASSED] drm_test_modes_analog_tv_pal_576i [18:18:18] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined [18:18:18] =============== [PASSED] drm_modes_analog_tv =============== [18:18:18] ============== drm_panic_helper (3 subtests) =============== [18:18:18] ============= drm_test_panic_screen_user_map ============== [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752) [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752) [18:18:18] ========= [PASSED] drm_test_panic_screen_user_map ========== [18:18:18] ============= drm_test_panic_screen_user_page ============= [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752) [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752) [18:18:18] ========= [PASSED] drm_test_panic_screen_user_page ========= [18:18:18] ========== drm_test_panic_screen_user_set_pixel =========== [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752) [18:18:18] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752) [18:18:18] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752) [18:18:18] ====== [PASSED] drm_test_panic_screen_user_set_pixel ======= [18:18:18] ================ [PASSED] drm_panic_helper ================= [18:18:18] ============== drm_plane_helper (2 subtests) =============== [18:18:18] =============== drm_test_check_plane_state ================ [18:18:18] [PASSED] clipping_simple [18:18:18] [PASSED] clipping_rotate_reflect [18:18:18] [PASSED] positioning_simple [18:18:18] [PASSED] upscaling [18:18:18] [PASSED] downscaling [18:18:18] [PASSED] rounding1 [18:18:18] [PASSED] rounding2 [18:18:18] [PASSED] rounding3 [18:18:18] [PASSED] rounding4 [18:18:18] =========== [PASSED] drm_test_check_plane_state ============ [18:18:18] =========== drm_test_check_invalid_plane_state ============ [18:18:18] [PASSED] positioning_invalid [18:18:18] [PASSED] upscaling_invalid [18:18:18] [PASSED] downscaling_invalid [18:18:18] ======= [PASSED] drm_test_check_invalid_plane_state ======== [18:18:18] ================ [PASSED] drm_plane_helper ================= [18:18:18] ====== drm_connector_helper_tv_get_modes (1 subtest) ======= [18:18:18] ====== drm_test_connector_helper_tv_get_modes_check ======= [18:18:18] [PASSED] None [18:18:18] [PASSED] PAL [18:18:18] [PASSED] NTSC [18:18:18] [PASSED] Both, NTSC Default [18:18:18] [PASSED] Both, PAL Default [18:18:18] [PASSED] Both, NTSC Default, with PAL on command-line [18:18:18] [PASSED] Both, PAL Default, with NTSC on command-line [18:18:18] == [PASSED] drm_test_connector_helper_tv_get_modes_check === [18:18:18] ======== [PASSED] drm_connector_helper_tv_get_modes ======== [18:18:18] ================== drm_rect (9 subtests) =================== [18:18:18] [PASSED] drm_test_rect_clip_scaled_div_by_zero [18:18:18] [PASSED] drm_test_rect_clip_scaled_not_clipped [18:18:18] [PASSED] drm_test_rect_clip_scaled_clipped [18:18:18] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned [18:18:18] ================= drm_test_rect_intersect ================= [18:18:18] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0 [18:18:18] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1 [18:18:18] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0 [18:18:18] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1 [18:18:18] [PASSED] right x left: 2x1+0+0 x 3x1+1+0 [18:18:18] [PASSED] left x right: 3x1+1+0 x 2x1+0+0 [18:18:18] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1 [18:18:18] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0 [18:18:18] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1 [18:18:18] [PASSED] touching side: 1x1+0+0 x 1x1+1+0 [18:18:18] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0 [18:18:18] [PASSED] inside another: 2x2+0+0 x 1x1+1+1 [18:18:18] [PASSED] far away: 1x1+0+0 x 1x1+3+6 [18:18:18] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10 [18:18:18] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10 [18:18:18] ============= [PASSED] drm_test_rect_intersect ============= [18:18:18] ================ drm_test_rect_calc_hscale ================ [18:18:18] [PASSED] normal use [18:18:18] [PASSED] out of max range [18:18:18] [PASSED] out of min range [18:18:18] [PASSED] zero dst [18:18:18] [PASSED] negative src [18:18:18] [PASSED] negative dst [18:18:18] ============ [PASSED] drm_test_rect_calc_hscale ============ [18:18:18] ================ drm_test_rect_calc_vscale ================ [18:18:18] [PASSED] normal use [18:18:18] [PASSED] out of max range [18:18:18] [PASSED] out of min range [18:18:18] [PASSED] zero dst [18:18:18] [PASSED] negative src [18:18:18] [PASSED] negative dst [18:18:18] ============ [PASSED] drm_test_rect_calc_vscale ============ [18:18:18] ================== drm_test_rect_rotate =================== [18:18:18] [PASSED] reflect-x [18:18:18] [PASSED] reflect-y [18:18:18] [PASSED] rotate-0 [18:18:18] [PASSED] rotate-90 [18:18:18] [PASSED] rotate-180 [18:18:18] [PASSED] rotate-270 [18:18:18] ============== [PASSED] drm_test_rect_rotate =============== [18:18:18] ================ drm_test_rect_rotate_inv ================= [18:18:18] [PASSED] reflect-x [18:18:18] [PASSED] reflect-y [18:18:18] [PASSED] rotate-0 [18:18:18] [PASSED] rotate-90 [18:18:18] [PASSED] rotate-180 [18:18:18] [PASSED] rotate-270 [18:18:18] ============ [PASSED] drm_test_rect_rotate_inv ============= [18:18:18] ==================== [PASSED] drm_rect ===================== [18:18:18] ============ drm_sysfb_modeset_test (1 subtest) ============ [18:18:18] ============ drm_test_sysfb_build_fourcc_list ============= [18:18:18] [PASSED] no native formats [18:18:18] [PASSED] XRGB8888 as native format [18:18:18] [PASSED] remove duplicates [18:18:18] [PASSED] convert alpha formats [18:18:18] [PASSED] random formats [18:18:18] ======== [PASSED] drm_test_sysfb_build_fourcc_list ========= [18:18:18] ============= [PASSED] drm_sysfb_modeset_test ============== [18:18:18] ================== drm_fixp (2 subtests) =================== [18:18:18] [PASSED] drm_test_int2fixp [18:18:18] [PASSED] drm_test_sm2fixp [18:18:18] ==================== [PASSED] drm_fixp ===================== [18:18:18] ============================================================ [18:18:18] Testing complete. Ran 671 tests: passed: 671 [18:18:18] Elapsed time: 27.343s total, 1.747s configuring, 25.077s building, 0.469s 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 [18:18:18] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [18:18:20] 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 [18:18:30] Starting KUnit Kernel (1/1)... [18:18:30] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [18:18:30] ============= refcount_interrupt (4 subtests) ============== [18:18:30] [PASSED] test_single_irq_change [18:18:30] [PASSED] test_nested_irq_change [18:18:30] [PASSED] test_multiple_irq_change [18:18:30] [PASSED] test_irq_save [18:18:30] =============== [PASSED] refcount_interrupt ================ [18:18:30] ================= ttm_device (5 subtests) ================== [18:18:30] [PASSED] ttm_device_init_basic [18:18:30] [PASSED] ttm_device_init_multiple [18:18:30] [PASSED] ttm_device_fini_basic [18:18:30] [PASSED] ttm_device_init_no_vma_man [18:18:30] ================== ttm_device_init_pools ================== [18:18:30] [PASSED] No DMA allocations, no DMA32 required [18:18:30] [PASSED] DMA allocations, DMA32 required [18:18:30] [PASSED] No DMA allocations, DMA32 required [18:18:30] [PASSED] DMA allocations, no DMA32 required [18:18:30] ============== [PASSED] ttm_device_init_pools ============== [18:18:30] =================== [PASSED] ttm_device ==================== [18:18:30] ================== ttm_pool (8 subtests) =================== [18:18:30] ================== ttm_pool_alloc_basic =================== [18:18:30] [PASSED] One page [18:18:30] [PASSED] More than one page [18:18:30] [PASSED] Above the allocation limit [18:18:30] [PASSED] One page, with coherent DMA mappings enabled [18:18:30] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [18:18:30] ============== [PASSED] ttm_pool_alloc_basic =============== [18:18:30] ============== ttm_pool_alloc_basic_dma_addr ============== [18:18:30] [PASSED] One page [18:18:30] [PASSED] More than one page [18:18:30] [PASSED] Above the allocation limit [18:18:30] [PASSED] One page, with coherent DMA mappings enabled [18:18:30] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [18:18:30] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ========== [18:18:30] [PASSED] ttm_pool_alloc_order_caching_match [18:18:30] [PASSED] ttm_pool_alloc_caching_mismatch [18:18:30] [PASSED] ttm_pool_alloc_order_mismatch [18:18:30] [PASSED] ttm_pool_free_dma_alloc [18:18:30] [PASSED] ttm_pool_free_no_dma_alloc [18:18:30] [PASSED] ttm_pool_fini_basic [18:18:30] ==================== [PASSED] ttm_pool ===================== [18:18:30] ================ ttm_resource (8 subtests) ================= [18:18:30] ================= ttm_resource_init_basic ================= [18:18:30] [PASSED] Init resource in TTM_PL_SYSTEM [18:18:30] [PASSED] Init resource in TTM_PL_VRAM [18:18:30] [PASSED] Init resource in a private placement [18:18:30] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags [18:18:30] ============= [PASSED] ttm_resource_init_basic ============= [18:18:30] [PASSED] ttm_resource_init_pinned [18:18:30] [PASSED] ttm_resource_fini_basic [18:18:30] [PASSED] ttm_resource_manager_init_basic [18:18:30] [PASSED] ttm_resource_manager_usage_basic [18:18:30] [PASSED] ttm_resource_manager_set_used_basic [18:18:30] [PASSED] ttm_sys_man_alloc_basic [18:18:30] [PASSED] ttm_sys_man_free_basic [18:18:30] ================== [PASSED] ttm_resource =================== [18:18:30] =================== ttm_tt (15 subtests) =================== [18:18:30] ==================== ttm_tt_init_basic ==================== [18:18:30] [PASSED] Page-aligned size [18:18:30] [PASSED] Extra pages requested [18:18:30] ================ [PASSED] ttm_tt_init_basic ================ [18:18:30] [PASSED] ttm_tt_init_misaligned [18:18:30] [PASSED] ttm_tt_fini_basic [18:18:30] [PASSED] ttm_tt_fini_sg [18:18:30] [PASSED] ttm_tt_fini_shmem [18:18:30] [PASSED] ttm_tt_create_basic [18:18:30] [PASSED] ttm_tt_create_invalid_bo_type [18:18:30] [PASSED] ttm_tt_create_ttm_exists [18:18:30] [PASSED] ttm_tt_create_failed [18:18:30] [PASSED] ttm_tt_destroy_basic [18:18:30] [PASSED] ttm_tt_populate_null_ttm [18:18:30] [PASSED] ttm_tt_populate_populated_ttm [18:18:30] [PASSED] ttm_tt_unpopulate_basic [18:18:30] [PASSED] ttm_tt_unpopulate_empty_ttm [18:18:30] [PASSED] ttm_tt_swapin_basic [18:18:30] ===================== [PASSED] ttm_tt ====================== [18:18:30] =================== ttm_bo (14 subtests) =================== [18:18:30] =========== ttm_bo_reserve_optimistic_no_ticket =========== [18:18:30] [PASSED] Cannot be interrupted and sleeps [18:18:30] [PASSED] Cannot be interrupted, locks straight away [18:18:30] [PASSED] Can be interrupted, sleeps [18:18:30] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket ======= [18:18:30] [PASSED] ttm_bo_reserve_locked_no_sleep [18:18:30] [PASSED] ttm_bo_reserve_no_wait_ticket [18:18:30] [PASSED] ttm_bo_reserve_double_resv [18:18:30] [PASSED] ttm_bo_reserve_interrupted [18:18:30] [PASSED] ttm_bo_reserve_deadlock [18:18:30] [PASSED] ttm_bo_unreserve_basic [18:18:30] [PASSED] ttm_bo_unreserve_pinned [18:18:30] [PASSED] ttm_bo_unreserve_bulk [18:18:30] [PASSED] ttm_bo_fini_basic [18:18:30] [PASSED] ttm_bo_fini_shared_resv [18:18:30] [PASSED] ttm_bo_pin_basic [18:18:30] [PASSED] ttm_bo_pin_unpin_resource [18:18:30] [PASSED] ttm_bo_multiple_pin_one_unpin [18:18:30] ===================== [PASSED] ttm_bo ====================== [18:18:30] ============== ttm_bo_validate (22 subtests) =============== [18:18:30] ============== ttm_bo_init_reserved_sys_man =============== [18:18:30] [PASSED] Buffer object for userspace [18:18:30] [PASSED] Kernel buffer object [18:18:30] [PASSED] Shared buffer object [18:18:30] ========== [PASSED] ttm_bo_init_reserved_sys_man =========== [18:18:30] ============== ttm_bo_init_reserved_mock_man ============== [18:18:30] [PASSED] Buffer object for userspace [18:18:30] [PASSED] Kernel buffer object [18:18:30] [PASSED] Shared buffer object [18:18:30] ========== [PASSED] ttm_bo_init_reserved_mock_man ========== [18:18:30] [PASSED] ttm_bo_init_reserved_resv [18:18:30] ================== ttm_bo_validate_basic ================== [18:18:30] [PASSED] Buffer object for userspace [18:18:30] [PASSED] Kernel buffer object [18:18:30] [PASSED] Shared buffer object [18:18:30] ============== [PASSED] ttm_bo_validate_basic ============== [18:18:30] [PASSED] ttm_bo_validate_invalid_placement [18:18:30] ============= ttm_bo_validate_same_placement ============== [18:18:30] [PASSED] System manager [18:18:30] [PASSED] VRAM manager [18:18:30] ========= [PASSED] ttm_bo_validate_same_placement ========== [18:18:30] [PASSED] ttm_bo_validate_failed_alloc [18:18:30] [PASSED] ttm_bo_validate_pinned [18:18:30] [PASSED] ttm_bo_validate_busy_placement [18:18:30] ================ ttm_bo_validate_multihop ================= [18:18:30] [PASSED] Buffer object for userspace [18:18:30] [PASSED] Kernel buffer object [18:18:30] [PASSED] Shared buffer object [18:18:30] ============ [PASSED] ttm_bo_validate_multihop ============= [18:18:30] ========== ttm_bo_validate_no_placement_signaled ========== [18:18:30] [PASSED] Buffer object in system domain, no page vector [18:18:30] [PASSED] Buffer object in system domain with an existing page vector [18:18:30] ====== [PASSED] ttm_bo_validate_no_placement_signaled ====== [18:18:30] ======== ttm_bo_validate_no_placement_not_signaled ======== [18:18:30] [PASSED] Buffer object for userspace [18:18:30] [PASSED] Kernel buffer object [18:18:30] [PASSED] Shared buffer object [18:18:30] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ==== [18:18:30] [PASSED] ttm_bo_validate_move_fence_signaled [18:18:31] ========= ttm_bo_validate_move_fence_not_signaled ========= [18:18:31] [PASSED] Waits for GPU [18:18:31] [PASSED] Tries to lock straight away [18:18:31] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled ===== [18:18:31] [PASSED] ttm_bo_validate_swapout [18:18:31] [PASSED] ttm_bo_validate_happy_evict [18:18:31] [PASSED] ttm_bo_validate_all_pinned_evict [18:18:31] [PASSED] ttm_bo_validate_allowed_only_evict [18:18:31] [PASSED] ttm_bo_validate_deleted_evict [18:18:31] [PASSED] ttm_bo_validate_busy_domain_evict [18:18:31] [PASSED] ttm_bo_validate_evict_gutting [18:18:31] [PASSED] ttm_bo_validate_recrusive_evict [18:18:31] ================= [PASSED] ttm_bo_validate ================= [18:18:31] ============================================================ [18:18:31] Testing complete. Ran 106 tests: passed: 106 [18:18:31] Elapsed time: 12.205s total, 1.774s configuring, 10.216s building, 0.186s running + for kcfg in "${kunitconfigs[@]}" + [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]] + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig [18:18:31] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [18:18:33] 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 [18:18:41] Starting KUnit Kernel (1/1)... [18:18:41] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [18:18:41] ============= refcount_interrupt (4 subtests) ============== [18:18:41] [PASSED] test_single_irq_change [18:18:41] [PASSED] test_nested_irq_change [18:18:41] [PASSED] test_multiple_irq_change [18:18:41] [PASSED] test_irq_save [18:18:41] =============== [PASSED] refcount_interrupt ================ [18:18:41] =============== dma-buf-fence (12 subtests) ================ [18:18:41] [PASSED] test_sanitycheck [18:18:41] [PASSED] test_signaling [18:18:41] [PASSED] test_add_callback [18:18:41] [PASSED] test_late_add_callback [18:18:41] [PASSED] test_rm_callback [18:18:41] [PASSED] test_late_rm_callback [18:18:41] [PASSED] test_status [18:18:41] [PASSED] test_error [18:18:41] [PASSED] test_wait [18:18:41] [PASSED] test_wait_timeout [18:18:41] [PASSED] test_stub [18:18:41] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs) [18:18:41] ================== [PASSED] dma-buf-fence ================== [18:18:42] ============ dma-buf-fence-chain (11 subtests) ============= [18:18:42] [PASSED] test_sanitycheck [18:18:42] [PASSED] test_find_seqno [18:18:42] [PASSED] test_find_signaled [18:18:42] [PASSED] test_find_out_of_order [18:18:47] [PASSED] test_find_gap [18:18:47] [PASSED] test_find_race [18:18:47] [PASSED] test_signal_forward [18:18:47] [PASSED] test_signal_backward [18:18:47] [PASSED] test_wait_forward [18:18:47] [PASSED] test_wait_backward [18:18:47] [PASSED] test_wait_random [18:18:47] =============== [PASSED] dma-buf-fence-chain =============== [18:18:47] ============ dma-buf-fence-unwrap (10 subtests) ============ [18:18:47] [PASSED] test_sanitycheck [18:18:47] [PASSED] test_unwrap_array [18:18:47] [PASSED] test_unwrap_chain [18:18:47] [PASSED] test_unwrap_chain_array [18:18:47] [PASSED] test_unwrap_merge [18:18:47] [PASSED] test_unwrap_merge_duplicate [18:18:47] [PASSED] test_unwrap_merge_seqno [18:18:47] [PASSED] test_unwrap_merge_order [18:18:47] [PASSED] test_unwrap_merge_complex [18:18:47] [PASSED] test_unwrap_merge_complex_seqno [18:18:47] ============== [PASSED] dma-buf-fence-unwrap =============== [18:18:47] ================ dma-buf-resv (5 subtests) ================= [18:18:47] [PASSED] test_sanitycheck [18:18:47] ===================== test_signaling ====================== [18:18:47] [PASSED] kernel [18:18:47] [PASSED] write [18:18:47] [PASSED] read [18:18:47] [PASSED] bookkeep [18:18:47] ================= [PASSED] test_signaling ================== [18:18:47] ====================== test_for_each ====================== [18:18:47] [PASSED] kernel [18:18:47] [PASSED] write [18:18:47] [PASSED] read [18:18:47] [PASSED] bookkeep [18:18:47] ================== [PASSED] test_for_each ================== [18:18:47] ================= test_for_each_unlocked ================== [18:18:47] [PASSED] kernel [18:18:47] [PASSED] write [18:18:47] [PASSED] read [18:18:47] [PASSED] bookkeep [18:18:47] ============= [PASSED] test_for_each_unlocked ============== [18:18:47] ===================== test_get_fences ===================== [18:18:47] [PASSED] kernel [18:18:47] [PASSED] write [18:18:47] [PASSED] read [18:18:47] [PASSED] bookkeep [18:18:47] ================= [PASSED] test_get_fences ================= [18:18:47] ================== [PASSED] dma-buf-resv =================== [18:18:47] ============================================================ [18:18:47] Testing complete. Ran 54 tests: passed: 53, skipped: 1 [18:18:47] Elapsed time: 16.000s total, 1.814s configuring, 8.864s building, 5.276s running + cleanup ++ stat -c %u:%g /kernel + chown -R 1003:1003 /kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* ✓ Xe.CI.BAT: success for Elide clear on full SVM copies 2026-09-29 18:10 [PATCH 0/3] Elide clear on full SVM copies Matthew Brost ` (3 preceding siblings ...) 2026-09-29 18:18 ` ✓ CI.KUnit: success for Elide clear on full SVM copies Patchwork @ 2026-09-29 19:36 ` Patchwork 2026-09-30 0:17 ` ✗ Xe.CI.FULL: failure " Patchwork 5 siblings, 0 replies; 13+ messages in thread From: Patchwork @ 2026-09-29 19:36 UTC (permalink / raw) To: Matthew Brost; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 991 bytes --] == Series Details == Series: Elide clear on full SVM copies URL : https://patchwork.freedesktop.org/series/175238/ State : success == Summary == CI Bug Log - changes from xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2_BAT -> xe-pw-175238v1_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (15 -> 15) ------------------------------ No changes in participating hosts Changes ------- No changes found Build changes ------------- * IGT: IGT_9115 -> IGT_9116 * Linux: xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2 -> xe-pw-175238v1 IGT_9115: 9115 IGT_9116: 9d4b6ef512b4e2e4d05129c6519313fd13a306d2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2: ecc5a84be849c400af610cdc613a0274e3b101b2 xe-pw-175238v1: 175238v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/index.html [-- Attachment #2: Type: text/html, Size: 1553 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* ✗ Xe.CI.FULL: failure for Elide clear on full SVM copies 2026-09-29 18:10 [PATCH 0/3] Elide clear on full SVM copies Matthew Brost ` (4 preceding siblings ...) 2026-09-29 19:36 ` ✓ Xe.CI.BAT: " Patchwork @ 2026-09-30 0:17 ` Patchwork 5 siblings, 0 replies; 13+ messages in thread From: Patchwork @ 2026-09-30 0:17 UTC (permalink / raw) To: Matthew Brost; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 75013 bytes --] == Series Details == Series: Elide clear on full SVM copies URL : https://patchwork.freedesktop.org/series/175238/ State : failure == Summary == CI Bug Log - changes from xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2_FULL -> xe-pw-175238v1_FULL ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with xe-pw-175238v1_FULL absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in xe-pw-175238v1_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-175238v1_FULL: ### IGT changes ### #### Possible regressions #### * igt@kms_hdr@bpc-switch-suspend: - shard-ptl: [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-4/igt@kms_hdr@bpc-switch-suspend.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_hdr@bpc-switch-suspend.html * igt@xe_fault_injection@inject-fault-probe-function-xe_pm_init_early: - shard-bmg: NOTRUN -> [ABORT][3] [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-7/igt@xe_fault_injection@inject-fault-probe-function-xe_pm_init_early.html Known issues ------------ Here are the changes found in xe-pw-175238v1_FULL that come from known issues: ### IGT changes ### #### Issues hit #### * igt@intel_hwmon@hwmon-write: - shard-bmg: [PASS][4] -> [FAIL][5] ([Intel XE#8583]) [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-10/igt@intel_hwmon@hwmon-write.html [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@intel_hwmon@hwmon-write.html * igt@kms_async_flips@async-flip-suspend-resume: - shard-bmg: [PASS][6] -> [DMESG-WARN][7] ([Intel XE#9428]) [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-3/igt@kms_async_flips@async-flip-suspend-resume.html [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@kms_async_flips@async-flip-suspend-resume.html - shard-ptl: [PASS][8] -> [ABORT][9] ([Intel XE#9394]) +1 other test abort [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-7/igt@kms_async_flips@async-flip-suspend-resume.html [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-7/igt@kms_async_flips@async-flip-suspend-resume.html * igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-3: - shard-bmg: [PASS][10] -> [DMESG-WARN][11] ([Intel XE#9365]) [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-3/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-3.html [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-3.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing: - shard-ptl: NOTRUN -> [SKIP][12] ([Intel XE#5947]) [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip: - shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#3658] / [Intel XE#7360]) [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip: - shard-ptl: NOTRUN -> [SKIP][14] ([Intel XE#6925]) +1 other test skip [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@linear-16bpp-rotate-90: - shard-ptl: NOTRUN -> [SKIP][15] ([Intel XE#5901]) +2 other tests skip [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_big_fb@linear-16bpp-rotate-90.html * igt@kms_big_fb@linear-64bpp-rotate-90: - shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2327]) [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-2/igt@kms_big_fb@linear-64bpp-rotate-90.html * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip: - shard-ptl: NOTRUN -> [SKIP][17] ([Intel XE#7085]) [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow: - shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#1477] / [Intel XE#7361]) [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html * igt@kms_big_fb@y-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-175238v1/shard-ptl-6/igt@kms_big_fb@y-tiled-addfb-size-overflow.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-bmg: NOTRUN -> [SKIP][20] ([Intel XE#1124]) +7 other tests skip [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html - shard-lnl: NOTRUN -> [SKIP][21] ([Intel XE#1124]) +2 other tests skip [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_big_fb@yf-tiled-64bpp-rotate-180: - shard-ptl: NOTRUN -> [SKIP][22] ([Intel XE#5808]) +14 other tests skip [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-3/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html * igt@kms_big_fb@yf-tiled-addfb: - shard-ptl: NOTRUN -> [SKIP][23] ([Intel XE#5850]) [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_big_fb@yf-tiled-addfb.html * igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p: - shard-ptl: NOTRUN -> [SKIP][24] ([Intel XE#7679]) +3 other tests skip [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-3/igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p.html * igt@kms_bw@connected-linear-tiling-3-displays-target-1920x1080p: - shard-bmg: NOTRUN -> [SKIP][25] ([Intel XE#7679]) +2 other tests skip [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_bw@connected-linear-tiling-3-displays-target-1920x1080p.html * igt@kms_bw@linear-tiling-4-displays-target-2160x1440p: - shard-ptl: NOTRUN -> [SKIP][26] ([Intel XE#367]) +2 other tests skip [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_bw@linear-tiling-4-displays-target-2160x1440p.html * igt@kms_bw@linear-tiling-4-displays-target-2560x1440p: - shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#367]) +1 other test skip [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_bw@linear-tiling-4-displays-target-2560x1440p.html - shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#8365]) [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-1/igt@kms_bw@linear-tiling-4-displays-target-2560x1440p.html * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc: - shard-ptl: NOTRUN -> [SKIP][29] ([Intel XE#5822]) +16 other tests skip [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-7/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc.html * igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc: - shard-bmg: NOTRUN -> [SKIP][30] ([Intel XE#2887]) +8 other tests skip [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-6/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc.html * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc: - shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#2887]) +5 other tests skip [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc.html * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1: - shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#2669] / [Intel XE#3433] / [Intel XE#7389]) +3 other tests skip [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc: - shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#3432]) [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc.html * igt@kms_chamelium_color@degamma: - shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2325] / [Intel XE#7358]) [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-2/igt@kms_chamelium_color@degamma.html - shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#306] / [Intel XE#7358]) [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_chamelium_color@degamma.html * igt@kms_chamelium_color_pipeline@plane-lut1d: - shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#7358]) +2 other tests skip [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_chamelium_color_pipeline@plane-lut1d.html * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4: - shard-ptl: NOTRUN -> [SKIP][37] ([Intel XE#8391]) +3 other tests skip [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2252]) +3 other tests skip [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_chamelium_hpd@common-hpd-after-suspend.html * igt@kms_chamelium_hpd@hdmi-hpd: - shard-ptl: NOTRUN -> [SKIP][39] ([Intel XE#2252]) +4 other tests skip [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_chamelium_hpd@hdmi-hpd.html * igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-3: - shard-ptl: NOTRUN -> [SKIP][40] ([Intel XE#6969]) +15 other tests skip [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-3.html * igt@kms_color_pipeline@plane-ctm3x4@pipe-c-plane-3: - shard-bmg: NOTRUN -> [SKIP][41] ([Intel XE#6969]) +7 other tests skip [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@kms_color_pipeline@plane-ctm3x4@pipe-c-plane-3.html * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim@pipe-c-plane-1: - shard-lnl: NOTRUN -> [FAIL][42] ([Intel XE#9333]) +15 other tests fail [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim@pipe-c-plane-1.html * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim@pipe-c-plane-4: - shard-bmg: NOTRUN -> [FAIL][43] ([Intel XE#9333]) +20 other tests fail [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-5/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim@pipe-c-plane-4.html * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709@pipe-b-plane-3: - shard-ptl: NOTRUN -> [FAIL][44] ([Intel XE#9333]) +41 other tests fail [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-3/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709@pipe-b-plane-3.html * igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-2: - shard-bmg: NOTRUN -> [FAIL][45] ([Intel XE#3304] / [Intel XE#7374]) +1 other test fail [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-2/igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-2.html * igt@kms_content_protection@content-type-change: - shard-ptl: NOTRUN -> [SKIP][46] ([Intel XE#7642]) [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@kms_content_protection@content-type-change.html * igt@kms_content_protection@dp-mst-type-1: - shard-bmg: NOTRUN -> [SKIP][47] ([Intel XE#2390] / [Intel XE#6974]) [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_content_protection@dp-mst-type-1.html - shard-ptl: NOTRUN -> [SKIP][48] ([Intel XE#5832] / [Intel XE#6974]) [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-7/igt@kms_content_protection@dp-mst-type-1.html * igt@kms_content_protection@mei-interface: - shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#7642]) [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-2/igt@kms_content_protection@mei-interface.html - shard-lnl: NOTRUN -> [SKIP][50] ([Intel XE#1468] / [Intel XE#7396]) [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_content_protection@mei-interface.html * igt@kms_cursor_crc@cursor-offscreen-128x42: - shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2320]) +4 other tests skip [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_cursor_crc@cursor-offscreen-128x42.html * igt@kms_cursor_crc@cursor-offscreen-64x21: - shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#1424]) +1 other test skip [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-8/igt@kms_cursor_crc@cursor-offscreen-64x21.html * igt@kms_cursor_crc@cursor-onscreen-512x512: - shard-ptl: NOTRUN -> [SKIP][53] ([Intel XE#5846]) [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_cursor_crc@cursor-onscreen-512x512.html * igt@kms_cursor_crc@cursor-rapid-movement-256x85: - shard-ptl: NOTRUN -> [SKIP][54] ([Intel XE#5900]) +2 other tests skip [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy: - shard-ptl: NOTRUN -> [SKIP][55] ([Intel XE#5962]) +5 other tests skip [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions: - shard-lnl: NOTRUN -> [SKIP][56] ([Intel XE#309] / [Intel XE#7343]) [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle: - shard-ptl: NOTRUN -> [SKIP][57] ([Intel XE#5962] / [Intel XE#7343]) [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html * igt@kms_dirtyfb@drrs-dirtyfb-ioctl: - shard-ptl: NOTRUN -> [SKIP][58] ([Intel XE#5958]) [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html * igt@kms_dsc@dsc-basic: - shard-lnl: NOTRUN -> [SKIP][59] ([Intel XE#8265]) [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_dsc@dsc-basic.html * igt@kms_dsc@dsc-fractional-bpp-ultrajoiner: - shard-ptl: NOTRUN -> [SKIP][60] ([Intel XE#5907]) +4 other tests skip [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_dsc@dsc-fractional-bpp-ultrajoiner.html * igt@kms_dsc@dsc-with-output-formats-bigjoiner: - shard-bmg: NOTRUN -> [SKIP][61] ([Intel XE#8265]) +2 other tests skip [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html * igt@kms_fbcon_fbt@psr: - shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#8680]) [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@kms_fbcon_fbt@psr.html * igt@kms_feature_discovery@dp-mst: - shard-ptl: NOTRUN -> [SKIP][63] ([Intel XE#2375]) [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_feature_discovery@dp-mst.html * igt@kms_feature_discovery@psr2: - shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#2374] / [Intel XE#6128]) [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_feature_discovery@psr2.html * igt@kms_flip@2x-absolute-wf_vblank-interruptible: - shard-ptl: NOTRUN -> [SKIP][65] ([Intel XE#2316]) +6 other tests skip [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html * igt@kms_flip@2x-flip-vs-rmfb-interruptible: - shard-lnl: NOTRUN -> [SKIP][66] ([Intel XE#1421]) +2 other tests skip [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1: - shard-lnl: [PASS][67] -> [FAIL][68] ([Intel XE#301]) +2 other tests fail [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@c-dp2: - shard-bmg: [PASS][69] -> [FAIL][70] ([Intel XE#5408] / [Intel XE#6266]) +1 other test fail [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-4/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-dp2.html [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-dp2.html * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling: - shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#7178] / [Intel XE#7351]) +3 other tests skip [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html - shard-ptl: NOTRUN -> [SKIP][72] ([Intel XE#7178]) +3 other tests skip [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling: - shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#7178] / [Intel XE#7351]) +3 other tests skip [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling: - shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#7178] / [Intel XE#7349]) [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-mmap-wc: - shard-ptl: NOTRUN -> [SKIP][75] ([Intel XE#5800] / [Intel XE#6312]) +10 other tests skip [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-mmap-wc: - shard-bmg: NOTRUN -> [SKIP][76] ([Intel XE#7061] / [Intel XE#7356]) +3 other tests skip [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-mmap-wc.html - shard-ptl: NOTRUN -> [SKIP][77] ([Intel XE#7061] / [Intel XE#7356]) +3 other tests skip [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render: - shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#2311]) +42 other tests skip [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html * igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-render: - shard-ptl: NOTRUN -> [SKIP][79] ([Intel XE#7061]) +2 other tests skip [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-render.html * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-blt: - shard-bmg: NOTRUN -> [SKIP][80] ([Intel XE#4141]) +13 other tests skip [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc: - shard-ptl: NOTRUN -> [SKIP][81] ([Intel XE#6312]) +10 other tests skip [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary: - shard-lnl: NOTRUN -> [SKIP][82] ([Intel XE#6312] / [Intel XE#651]) +7 other tests skip [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary.html * igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-pri-indfb-multidraw: - shard-lnl: NOTRUN -> [SKIP][83] ([Intel XE#6312]) +3 other tests skip [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-pri-indfb-multidraw.html * igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-spr-indfb-move: - shard-ptl: NOTRUN -> [SKIP][84] ([Intel XE#5812]) +84 other tests skip [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-spr-indfb-move.html * igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-scndscrn-cur-indfb-draw-render: - shard-lnl: NOTRUN -> [SKIP][85] ([Intel XE#7905]) +11 other tests skip [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-scndscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-render: - shard-bmg: NOTRUN -> [SKIP][86] ([Intel XE#7061]) +2 other tests skip [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-render.html * igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-render: - shard-lnl: NOTRUN -> [SKIP][87] ([Intel XE#7061]) +2 other tests skip [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-render.html * igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc: - shard-ptl: NOTRUN -> [SKIP][88] ([Intel XE#7865]) +20 other tests skip [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-3/igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-onoff: - shard-lnl: NOTRUN -> [SKIP][89] ([Intel XE#656] / [Intel XE#7905]) +12 other tests skip [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-onoff.html * igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-render: - shard-lnl: NOTRUN -> [SKIP][90] ([Intel XE#7061] / [Intel XE#7356]) [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-pri-indfb-draw-mmap-wc: - shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#2313]) +47 other tests skip [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-wc: - shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#7865]) +12 other tests skip [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-1/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-wc.html * igt@kms_hdr@invalid-hdr: - shard-bmg: [PASS][93] -> [SKIP][94] ([Intel XE#1503]) [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-2/igt@kms_hdr@invalid-hdr.html [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_hdr@invalid-hdr.html * igt@kms_joiner@basic-big-joiner: - shard-ptl: NOTRUN -> [SKIP][95] ([Intel XE#6901]) +1 other test skip [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_joiner@basic-big-joiner.html * igt@kms_joiner@invalid-modeset-big-joiner: - shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#6901]) [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_joiner@invalid-modeset-big-joiner.html * igt@kms_panel_fitting@atomic-fastset: - shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#2486]) [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_panel_fitting@atomic-fastset.html * igt@kms_pipe_stress@stress-xrgb8888-yftiled: - shard-ptl: NOTRUN -> [SKIP][98] ([Intel XE#6912]) [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html * igt@kms_pipe_stress@stress-xrgb8888-ytiled: - shard-bmg: NOTRUN -> [SKIP][99] ([Intel XE#4329] / [Intel XE#6912] / [Intel XE#7375]) [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-8/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html - shard-lnl: NOTRUN -> [SKIP][100] ([Intel XE#4329] / [Intel XE#6912] / [Intel XE#7375]) [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-3/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping: - shard-ptl: NOTRUN -> [SKIP][101] ([Intel XE#7283]) +4 other tests skip [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier: - shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#7283]) +1 other test skip [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-5/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier.html - shard-lnl: NOTRUN -> [SKIP][103] ([Intel XE#7283]) [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier.html * igt@kms_plane_multiple@2x-tiling-y: - shard-ptl: NOTRUN -> [SKIP][104] ([Intel XE#4596] / [Intel XE#5854]) [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_plane_multiple@2x-tiling-y.html * igt@kms_plane_multiple@2x-tiling-yf: - shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#5021] / [Intel XE#7377]) +1 other test skip [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-yf.html - shard-lnl: NOTRUN -> [SKIP][106] ([Intel XE#4596] / [Intel XE#5854]) [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-8/igt@kms_plane_multiple@2x-tiling-yf.html * igt@kms_plane_multiple@tiling-y: - shard-bmg: NOTRUN -> [SKIP][107] ([Intel XE#5020] / [Intel XE#7348]) [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-2/igt@kms_plane_multiple@tiling-y.html - shard-ptl: NOTRUN -> [SKIP][108] ([Intel XE#5020]) [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_plane_multiple@tiling-y.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c: - shard-lnl: NOTRUN -> [SKIP][109] ([Intel XE#2763] / [Intel XE#6886]) +3 other tests skip [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c.html * igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b: - shard-ptl: NOTRUN -> [SKIP][110] ([Intel XE#6886]) +9 other tests skip [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b.html * igt@kms_pm_backlight@brightness-with-dpms: - shard-bmg: NOTRUN -> [SKIP][111] ([Intel XE#2938] / [Intel XE#7376] / [Intel XE#7760]) [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@kms_pm_backlight@brightness-with-dpms.html * igt@kms_pm_dc@dc3co-after-dc6@pr-xrgb8888: - shard-ptl: NOTRUN -> [SKIP][112] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@kms_pm_dc@dc3co-after-dc6@pr-xrgb8888.html * igt@kms_pm_dc@dc3co-after-dc6@psr2-yuv420: - shard-ptl: NOTRUN -> [SKIP][113] ([Intel XE#8396]) +1 other test skip [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@kms_pm_dc@dc3co-after-dc6@psr2-yuv420.html * igt@kms_pm_dc@dc3co-vpb-framegap: - shard-bmg: NOTRUN -> [SKIP][114] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-8/igt@kms_pm_dc@dc3co-vpb-framegap.html * igt@kms_pm_dc@dc3co-vpb-framegap@pr-xrgb8888: - shard-lnl: NOTRUN -> [SKIP][115] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_pm_dc@dc3co-vpb-framegap@pr-xrgb8888.html * igt@kms_pm_dc@dc3co-vpb-framegap@psr2-xrgb8888: - shard-lnl: NOTRUN -> [SKIP][116] ([Intel XE#8396]) +1 other test skip [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@kms_pm_dc@dc3co-vpb-framegap@psr2-xrgb8888.html - shard-bmg: NOTRUN -> [SKIP][117] ([Intel XE#8396]) +1 other test skip [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-8/igt@kms_pm_dc@dc3co-vpb-framegap@psr2-xrgb8888.html * igt@kms_pm_dc@dc5-dpms: - shard-lnl: [PASS][118] -> [FAIL][119] ([Intel XE#8399]) +1 other test fail [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-3/igt@kms_pm_dc@dc5-dpms.html [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@kms_pm_dc@dc5-dpms.html * igt@kms_pm_dc@dc5-retention-flops: - shard-lnl: NOTRUN -> [SKIP][120] ([Intel XE#3309] / [Intel XE#7368]) [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@kms_pm_dc@dc5-retention-flops.html - shard-bmg: NOTRUN -> [SKIP][121] ([Intel XE#3309] / [Intel XE#7368]) [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-5/igt@kms_pm_dc@dc5-retention-flops.html * igt@kms_pm_rpm@package-g7: - shard-ptl: NOTRUN -> [SKIP][122] ([Intel XE#6813]) [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@kms_pm_rpm@package-g7.html * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1: - shard-ptl: NOTRUN -> [SKIP][123] ([Intel XE#5858]) +1 other test skip [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1.html * igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area: - shard-ptl: NOTRUN -> [SKIP][124] ([Intel XE#5858] / [Intel XE#7304]) +3 other tests skip [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf: - shard-lnl: NOTRUN -> [SKIP][125] ([Intel XE#2893] / [Intel XE#7304]) +1 other test skip [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-1/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html * igt@kms_psr2_sf@pr-plane-move-sf-dmg-area: - shard-ptl: NOTRUN -> [SKIP][126] ([Intel XE#7304]) +1 other test skip [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-7/igt@kms_psr2_sf@pr-plane-move-sf-dmg-area.html * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf: - shard-bmg: NOTRUN -> [SKIP][127] ([Intel XE#1489]) +4 other tests skip [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-5/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr@fbc-pr-cursor-plane-move: - shard-lnl: NOTRUN -> [SKIP][128] ([Intel XE#1406]) +1 other test skip [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@kms_psr@fbc-pr-cursor-plane-move.html * igt@kms_psr@fbc-pr-sprite-plane-onoff: - shard-bmg: NOTRUN -> [SKIP][129] ([Intel XE#2234] / [Intel XE#2850]) +6 other tests skip [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@kms_psr@fbc-pr-sprite-plane-onoff.html * igt@kms_psr@fbc-psr2-no-drrs: - shard-ptl: NOTRUN -> [SKIP][130] ([Intel XE#1406] / [Intel XE#5835]) +5 other tests skip [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_psr@fbc-psr2-no-drrs.html * igt@kms_psr@pr-basic: - shard-ptl: NOTRUN -> [SKIP][131] ([Intel XE#1406]) +3 other tests skip [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@kms_psr@pr-basic.html * igt@kms_rotation_crc@bad-tiling: - shard-lnl: NOTRUN -> [SKIP][132] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342]) [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@kms_rotation_crc@bad-tiling.html - shard-bmg: NOTRUN -> [SKIP][133] ([Intel XE#3904] / [Intel XE#7342]) [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_rotation_crc@bad-tiling.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180: - shard-bmg: NOTRUN -> [SKIP][134] ([Intel XE#2330] / [Intel XE#5813]) [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html - shard-ptl: NOTRUN -> [SKIP][135] ([Intel XE#5813]) +1 other test skip [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-ptl: NOTRUN -> [SKIP][136] ([Intel XE#5821]) [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_scaling_modes@scaling-mode-full-aspect: - shard-bmg: NOTRUN -> [SKIP][137] ([Intel XE#2413]) +1 other test skip [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@kms_scaling_modes@scaling-mode-full-aspect.html * igt@kms_setmode@basic-clone-single-crtc: - shard-ptl: NOTRUN -> [SKIP][138] ([Intel XE#5910]) +1 other test skip [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@kms_setmode@basic-clone-single-crtc.html * igt@kms_setmode@invalid-clone-exclusive-crtc: - shard-bmg: NOTRUN -> [SKIP][139] ([Intel XE#1435] / [Intel XE#8695]) [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-6/igt@kms_setmode@invalid-clone-exclusive-crtc.html - shard-lnl: NOTRUN -> [SKIP][140] ([Intel XE#1435] / [Intel XE#9142]) [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-8/igt@kms_setmode@invalid-clone-exclusive-crtc.html * igt@kms_sharpness_filter@filter-dpms: - shard-bmg: NOTRUN -> [SKIP][141] ([Intel XE#6503]) [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@kms_sharpness_filter@filter-dpms.html * igt@kms_vrr@cmrr-desktop-mode: - shard-ptl: NOTRUN -> [SKIP][142] ([Intel XE#9277]) [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_vrr@cmrr-desktop-mode.html - shard-bmg: NOTRUN -> [SKIP][143] ([Intel XE#9271]) [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_vrr@cmrr-desktop-mode.html * igt@kms_vrr@cmrr-desktop-mode@pipe-a-edp-1: - shard-ptl: NOTRUN -> [SKIP][144] ([Intel XE#9277] / [Intel XE#9278]) [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_vrr@cmrr-desktop-mode@pipe-a-edp-1.html * igt@kms_vrr@max-min: - shard-bmg: NOTRUN -> [SKIP][145] ([Intel XE#1499] / [Intel XE#9271]) +1 other test skip [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@kms_vrr@max-min.html * igt@xe_compute@ccs-mode-compute-kernel: - shard-ptl: NOTRUN -> [SKIP][146] ([Intel XE#6599]) [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-3/igt@xe_compute@ccs-mode-compute-kernel.html * igt@xe_compute_preempt@compute-preempt-many-vram-evict: - shard-ptl: NOTRUN -> [SKIP][147] ([Intel XE#5191]) [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@xe_compute_preempt@compute-preempt-many-vram-evict.html * igt@xe_evict@evict-small-external-cm: - shard-ptl: NOTRUN -> [SKIP][148] ([Intel XE#5764]) +8 other tests skip [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@xe_evict@evict-small-external-cm.html * igt@xe_evict@evict-threads-small-multi-vm: - shard-lnl: NOTRUN -> [SKIP][149] ([Intel XE#6540] / [Intel XE#688]) +5 other tests skip [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-6/igt@xe_evict@evict-threads-small-multi-vm.html * igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd: - shard-ptl: NOTRUN -> [SKIP][150] ([Intel XE#6144]) [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd.html * igt@xe_exec_balancer@no-exec-parallel-userptr-invalidate-race: - shard-ptl: NOTRUN -> [SKIP][151] ([Intel XE#7482]) +12 other tests skip [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-3/igt@xe_exec_balancer@no-exec-parallel-userptr-invalidate-race.html * igt@xe_exec_balancer@twice-parallel-userptr-invalidate-race: - shard-lnl: NOTRUN -> [SKIP][152] ([Intel XE#7482]) +3 other tests skip [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@xe_exec_balancer@twice-parallel-userptr-invalidate-race.html * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind: - shard-lnl: NOTRUN -> [SKIP][153] ([Intel XE#1392]) +2 other tests skip [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind.html * igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap: - shard-ptl: NOTRUN -> [SKIP][154] ([Intel XE#5575] / [Intel XE#7484]) +5 other tests skip [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html * igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind: - shard-bmg: NOTRUN -> [SKIP][155] ([Intel XE#2322] / [Intel XE#7372]) +6 other tests skip [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind.html * igt@xe_exec_fault_mode@many-execqueues-multi-queue-rebind-prefetch: - shard-bmg: NOTRUN -> [SKIP][156] ([Intel XE#8374]) +10 other tests skip [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@xe_exec_fault_mode@many-execqueues-multi-queue-rebind-prefetch.html * igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-imm: - shard-ptl: NOTRUN -> [SKIP][157] ([Intel XE#8374]) +13 other tests skip [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-imm.html * igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-rebind-imm: - shard-lnl: NOTRUN -> [SKIP][158] ([Intel XE#8374]) +2 other tests skip [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-4/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-rebind-imm.html * igt@xe_exec_multi_queue@max-queues-preempt-mode-priority: - shard-ptl: NOTRUN -> [SKIP][159] ([Intel XE#8364]) +31 other tests skip [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@xe_exec_multi_queue@max-queues-preempt-mode-priority.html * igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-userptr-invalidate: - shard-lnl: NOTRUN -> [SKIP][160] ([Intel XE#8364]) +6 other tests skip [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-5/igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-userptr-invalidate.html * igt@xe_exec_multi_queue@two-queues-basic-smem: - shard-bmg: NOTRUN -> [SKIP][161] ([Intel XE#8364]) +26 other tests skip [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@xe_exec_multi_queue@two-queues-basic-smem.html * igt@xe_exec_reset@cm-multi-queue-cat-error: - shard-bmg: NOTRUN -> [SKIP][162] ([Intel XE#8369]) +1 other test skip [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@xe_exec_reset@cm-multi-queue-cat-error.html * igt@xe_exec_reset@cm-multi-queue-close-fd: - shard-lnl: NOTRUN -> [SKIP][163] ([Intel XE#8369]) [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-7/igt@xe_exec_reset@cm-multi-queue-close-fd.html * igt@xe_exec_reset@cm-multi-queue-gt-reset: - shard-ptl: NOTRUN -> [SKIP][164] ([Intel XE#8369]) +2 other tests skip [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@xe_exec_reset@cm-multi-queue-gt-reset.html * igt@xe_exec_reset@gt-stress-reset-pm-transition: - shard-lnl: [PASS][165] -> [DMESG-WARN][166] ([Intel XE#8652]) [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-5/igt@xe_exec_reset@gt-stress-reset-pm-transition.html [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-5/igt@xe_exec_reset@gt-stress-reset-pm-transition.html * igt@xe_exec_threads@threads-multi-queue-cm-rebind: - shard-lnl: NOTRUN -> [SKIP][167] ([Intel XE#8378]) +2 other tests skip [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-5/igt@xe_exec_threads@threads-multi-queue-cm-rebind.html * igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race: - shard-bmg: NOTRUN -> [SKIP][168] ([Intel XE#8378]) +7 other tests skip [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race.html * igt@xe_exec_threads@threads-multi-queue-shared-vm-userptr-rebind: - shard-ptl: NOTRUN -> [SKIP][169] ([Intel XE#8378]) +6 other tests skip [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-7/igt@xe_exec_threads@threads-multi-queue-shared-vm-userptr-rebind.html * igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add: - shard-bmg: NOTRUN -> [SKIP][170] ([Intel XE#6281] / [Intel XE#7426]) [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add.html * igt@xe_live_ktest@xe_eudebug: - shard-ptl: NOTRUN -> [SKIP][171] ([Intel XE#5712]) [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@xe_live_ktest@xe_eudebug.html * igt@xe_mmap@pci-membarrier: - shard-ptl: NOTRUN -> [SKIP][172] ([Intel XE#5100] / [Intel XE#7408]) +1 other test skip [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-3/igt@xe_mmap@pci-membarrier.html * igt@xe_mmap@pci-membarrier-parallel: - shard-lnl: NOTRUN -> [SKIP][173] ([Intel XE#5100] / [Intel XE#7322] / [Intel XE#7408]) [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-5/igt@xe_mmap@pci-membarrier-parallel.html * igt@xe_mmap@vram: - shard-ptl: NOTRUN -> [SKIP][174] ([Intel XE#5776]) [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@xe_mmap@vram.html * igt@xe_multigpu_svm@mgpu-pagefault-basic: - shard-bmg: NOTRUN -> [SKIP][175] ([Intel XE#6964]) +3 other tests skip [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-2/igt@xe_multigpu_svm@mgpu-pagefault-basic.html - shard-lnl: NOTRUN -> [SKIP][176] ([Intel XE#6964]) +1 other test skip [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-1/igt@xe_multigpu_svm@mgpu-pagefault-basic.html * igt@xe_multigpu_svm@mgpu-pagefault-conflict: - shard-ptl: NOTRUN -> [SKIP][177] ([Intel XE#6964]) +2 other tests skip [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@xe_multigpu_svm@mgpu-pagefault-conflict.html * igt@xe_page_reclaim@pde-vs-pd: - shard-ptl: NOTRUN -> [SKIP][178] ([Intel XE#7793]) [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@xe_page_reclaim@pde-vs-pd.html * igt@xe_pat@pat-index-xehpc: - shard-bmg: NOTRUN -> [SKIP][179] ([Intel XE#1420] / [Intel XE#7590]) [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@xe_pat@pat-index-xehpc.html - shard-lnl: NOTRUN -> [SKIP][180] ([Intel XE#1420] / [Intel XE#2838] / [Intel XE#7590]) [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@xe_pat@pat-index-xehpc.html * igt@xe_peer2peer@write: - shard-bmg: NOTRUN -> [SKIP][181] ([Intel XE#2427] / [Intel XE#6953] / [Intel XE#7326] / [Intel XE#7353]) [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-5/igt@xe_peer2peer@write.html - shard-lnl: NOTRUN -> [SKIP][182] ([Intel XE#1061] / [Intel XE#7326] / [Intel XE#7353]) [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-8/igt@xe_peer2peer@write.html * igt@xe_pm@d3cold-mocs: - shard-bmg: NOTRUN -> [SKIP][183] ([Intel XE#2284] / [Intel XE#7370]) +1 other test skip [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@xe_pm@d3cold-mocs.html - shard-ptl: NOTRUN -> [SKIP][184] ([Intel XE#5741]) [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@xe_pm@d3cold-mocs.html * igt@xe_pm@d3hot-i2c: - shard-ptl: NOTRUN -> [SKIP][185] ([Intel XE#5742] / [Intel XE#7400]) [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@xe_pm@d3hot-i2c.html * igt@xe_pm@s3-basic-exec: - shard-ptl: NOTRUN -> [SKIP][186] ([Intel XE#6867]) +1 other test skip [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@xe_pm@s3-basic-exec.html * igt@xe_pm@s4-exec-after: - shard-lnl: [PASS][187] -> [ABORT][188] ([Intel XE#9362]) [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-4/igt@xe_pm@s4-exec-after.html [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-6/igt@xe_pm@s4-exec-after.html * igt@xe_pxp@pxp-stale-bo-bind-post-suspend: - shard-ptl: [PASS][189] -> [ABORT][190] ([Intel XE#9362]) +4 other tests abort [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-7/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz: - shard-ptl: NOTRUN -> [SKIP][191] ([Intel XE#6019]) [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html * igt@xe_query@multigpu-query-topology: - shard-lnl: NOTRUN -> [SKIP][192] ([Intel XE#944]) +1 other test skip [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-8/igt@xe_query@multigpu-query-topology.html * igt@xe_query@multigpu-query-uc-fw-version-huc: - shard-bmg: NOTRUN -> [SKIP][193] ([Intel XE#944]) +2 other tests skip [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-9/igt@xe_query@multigpu-query-uc-fw-version-huc.html * igt@xe_sriov_vram@vf-access-after-resize-up: - shard-ptl: NOTRUN -> [SKIP][194] ([Intel XE#6376] / [Intel XE#7422]) [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@xe_sriov_vram@vf-access-after-resize-up.html * igt@xe_vm@bind-array-enobufs: - shard-ptl: NOTRUN -> [FAIL][195] ([Intel XE#9424]) [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@xe_vm@bind-array-enobufs.html * igt@xe_vm@overcommit-fault-vram-lr: - shard-ptl: NOTRUN -> [SKIP][196] ([Intel XE#7892]) [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@xe_vm@overcommit-fault-vram-lr.html * igt@xe_wedged@basic-wedged: - shard-lnl: NOTRUN -> [DMESG-WARN][197] ([Intel XE#8963]) [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-2/igt@xe_wedged@basic-wedged.html #### Possible fixes #### * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs: - shard-ptl: [ABORT][198] ([Intel XE#9364] / [Intel XE#9378]) -> [PASS][199] [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-b-edp-1: - shard-ptl: [ABORT][200] ([Intel XE#9378]) -> [PASS][201] [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-b-edp-1.html [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-b-edp-1.html * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-c-edp-1: - shard-ptl: [DMESG-WARN][202] ([Intel XE#9389]) -> [PASS][203] [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-c-edp-1.html [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-c-edp-1.html * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020@pipe-b-plane-1: - shard-bmg: [FAIL][204] ([Intel XE#9333]) -> [PASS][205] +4 other tests pass [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-8/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020@pipe-b-plane-1.html [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-4/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020@pipe-b-plane-1.html * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020@pipe-b-plane-3: - shard-ptl: [FAIL][206] ([Intel XE#9333]) -> [PASS][207] +20 other tests pass [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-8/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020@pipe-b-plane-3.html [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-2/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020@pipe-b-plane-3.html * igt@kms_cursor_crc@cursor-suspend: - shard-bmg: [INCOMPLETE][208] ([Intel XE#9210]) -> [PASS][209] +1 other test pass [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-8/igt@kms_cursor_crc@cursor-suspend.html [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@kms_cursor_crc@cursor-suspend.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-lnl: [FAIL][210] ([Intel XE#301]) -> [PASS][211] [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_flip@flip-vs-expired-vblank@c-edp1: - shard-lnl: [FAIL][212] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][213] +1 other test pass [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html * igt@kms_flip@plain-flip-ts-check-interruptible@b-dp2: - shard-bmg: [FAIL][214] ([Intel XE#5408] / [Intel XE#6266]) -> [PASS][215] +3 other tests pass [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-1/igt@kms_flip@plain-flip-ts-check-interruptible@b-dp2.html [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-1/igt@kms_flip@plain-flip-ts-check-interruptible@b-dp2.html * igt@kms_pm_dc@dc6-dpms: - shard-lnl: [FAIL][216] ([Intel XE#8399]) -> [PASS][217] [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-6/igt@kms_pm_dc@dc6-dpms.html [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-5/igt@kms_pm_dc@dc6-dpms.html * igt@kms_vblank@ts-continuation-suspend: - shard-bmg: [ABORT][218] ([Intel XE#9362]) -> [PASS][219] +1 other test pass [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-9/igt@kms_vblank@ts-continuation-suspend.html [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_vblank@ts-continuation-suspend.html - shard-ptl: [ABORT][220] ([Intel XE#9362]) -> [PASS][221] +3 other tests pass [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-5/igt@kms_vblank@ts-continuation-suspend.html [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-1/igt@kms_vblank@ts-continuation-suspend.html * igt@kms_vrr@flip-basic-fastset@pipe-a-edp-1: - shard-ptl: [FAIL][222] ([Intel XE#6293] / [Intel XE#7397]) -> [PASS][223] [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-4/igt@kms_vrr@flip-basic-fastset@pipe-a-edp-1.html [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-5/igt@kms_vrr@flip-basic-fastset@pipe-a-edp-1.html * igt@kms_vrr@flip-dpms@pipe-a-edp-1: - shard-ptl: [FAIL][224] ([Intel XE#4227] / [Intel XE#7397]) -> [PASS][225] +2 other tests pass [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-2/igt@kms_vrr@flip-dpms@pipe-a-edp-1.html [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-4/igt@kms_vrr@flip-dpms@pipe-a-edp-1.html * igt@xe_ccs@suspend-resume: - shard-bmg: [ABORT][226] ([Intel XE#9093]) -> [PASS][227] +1 other test pass [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-4/igt@xe_ccs@suspend-resume.html [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-3/igt@xe_ccs@suspend-resume.html * igt@xe_fault_injection@inject-fault-probe-function-xe_mmio_probe_early: - shard-bmg: [ABORT][228] -> [PASS][229] [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-7/igt@xe_fault_injection@inject-fault-probe-function-xe_mmio_probe_early.html [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-6/igt@xe_fault_injection@inject-fault-probe-function-xe_mmio_probe_early.html * igt@xe_pm@s4-basic: - shard-ptl: [DMESG-WARN][230] ([Intel XE#7727]) -> [PASS][231] [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-ptl-5/igt@xe_pm@s4-basic.html [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-ptl-6/igt@xe_pm@s4-basic.html * igt@xe_pm@s4-multiple-execs: - shard-lnl: [ABORT][232] ([Intel XE#9362]) -> [PASS][233] [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-lnl-1/igt@xe_pm@s4-multiple-execs.html [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-lnl-5/igt@xe_pm@s4-multiple-execs.html #### Warnings #### * igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery: - shard-bmg: [FAIL][234] ([Intel XE#9346]) -> [FAIL][235] ([Intel XE#9319] / [Intel XE#9346]) [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-6/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-2/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html * igt@kms_tiled_display@basic-test-pattern: - shard-bmg: [SKIP][236] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][237] ([Intel XE#1729] / [Intel XE#7424]) [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern.html [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern.html [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061 [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124 [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392 [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406 [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420 [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421 [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424 [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435 [Intel XE#1468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1468 [Intel XE#1477]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1477 [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489 [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499 [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503 [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729 [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#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327 [Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330 [Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374 [Intel XE#2375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2375 [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390 [Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413 [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426 [Intel XE#2427]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2427 [Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486 [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669 [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763 [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838 [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#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938 [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301 [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306 [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309 [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149 [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304 [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309 [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414 [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432 [Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433 [Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658 [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367 [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#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227 [Intel XE#4329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4329 [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596 [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020 [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021 [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#5408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5408 [Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575 [Intel XE#5712]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5712 [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#5764]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5764 [Intel XE#5776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5776 [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#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#5832]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5832 [Intel XE#5835]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5835 [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#5850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5850 [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#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#5947]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5947 [Intel XE#5958]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5958 [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#6128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6128 [Intel XE#6144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6144 [Intel XE#6266]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6266 [Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281 [Intel XE#6293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6293 [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312 [Intel XE#6376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6376 [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503 [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#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599 [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#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901 [Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912 [Intel XE#6925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6925 [Intel XE#6953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6953 [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#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061 [Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085 [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178 [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#7322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7322 [Intel XE#7326]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7326 [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#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348 [Intel XE#7349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7349 [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351 [Intel XE#7353]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7353 [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#7360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7360 [Intel XE#7361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7361 [Intel XE#7368]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7368 [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#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376 [Intel XE#7377]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7377 [Intel XE#7389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7389 [Intel XE#7396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7396 [Intel XE#7397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7397 [Intel XE#7400]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7400 [Intel XE#7408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7408 [Intel XE#7422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7422 [Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424 [Intel XE#7426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7426 [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#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642 [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679 [Intel XE#7727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7727 [Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760 [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#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265 [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364 [Intel XE#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365 [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#8399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8399 [Intel XE#8583]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8583 [Intel XE#8652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8652 [Intel XE#8680]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8680 [Intel XE#8695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8695 [Intel XE#8963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8963 [Intel XE#9093]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9093 [Intel XE#9142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9142 [Intel XE#9210]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9210 [Intel XE#9271]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9271 [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#9319]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9319 [Intel XE#9333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9333 [Intel XE#9346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9346 [Intel XE#9362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9362 [Intel XE#9364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9364 [Intel XE#9365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9365 [Intel XE#9378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9378 [Intel XE#9389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9389 [Intel XE#9394]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9394 [Intel XE#9424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9424 [Intel XE#9428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9428 [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944 Build changes ------------- * IGT: IGT_9115 -> IGT_9116 * Linux: xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2 -> xe-pw-175238v1 IGT_9115: 9115 IGT_9116: 9d4b6ef512b4e2e4d05129c6519313fd13a306d2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git xe-5840-ecc5a84be849c400af610cdc613a0274e3b101b2: ecc5a84be849c400af610cdc613a0274e3b101b2 xe-pw-175238v1: 175238v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175238v1/index.html [-- Attachment #2: Type: text/html, Size: 85890 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-09-30 0:17 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-29 18:10 [PATCH 0/3] Elide clear on full SVM copies Matthew Brost 2026-09-29 18:10 ` [PATCH 1/3] drm/xe: Add XE_BO_FLAG_SKIP_CLEAR Matthew Brost 2026-09-29 18:10 ` [PATCH 2/3] drm/xe: Add xe_migrate_clear_vram Matthew Brost 2026-09-29 18:10 ` [PATCH 3/3] drm/xe: Do not clear SVM device memory allocations up front Matthew Brost 2026-09-29 18:27 ` sashiko-bot 2026-09-29 18:31 ` Matthew Brost 2026-09-29 20:16 ` Summers, Stuart 2026-09-29 21:14 ` Matthew Brost 2026-09-29 22:05 ` Summers, Stuart 2026-09-29 23:21 ` Matthew Brost 2026-09-29 18:18 ` ✓ CI.KUnit: success for Elide clear on full SVM copies Patchwork 2026-09-29 19:36 ` ✓ Xe.CI.BAT: " Patchwork 2026-09-30 0:17 ` ✗ 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