* [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation
@ 2026-10-09 10:05 Arunpravin Paneer Selvam
2026-10-09 10:05 ` [PATCH v4 2/3] gpu/buddy: add range-restricted contiguous allocation fallback Arunpravin Paneer Selvam
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Arunpravin Paneer Selvam @ 2026-10-09 10:05 UTC (permalink / raw)
To: matthew.auld, dri-devel, intel-gfx, intel-xe, amd-gfx
Cc: christian.koenig, alexander.deucher, Anand.Raghavendra,
Arunpravin Paneer Selvam
From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Range-restricted allocations (the visible-VRAM aperture) skip
dirty_steer_window() and reach __alloc_range_bias() with no clear/dirty
eligibility guard, so a dirty allocation freely splits clear extents (and
vice versa), interleaving the two classes until no large same-class run
survives and a 4K scanout pin fails with -ENOSPC. Use a two-pass range
search instead: block_incompatible() rejects opposite-class blocks in the
strict pass and relaxes only when the strict pass returns -ENOSPC, so a
request still succeeds when only opposite-class space remains. A KUnit
regression test covers the interleaving pattern and fails without the
guard.
Fixes: 1ad5e807f716 ("gpu/buddy: replace dual-tree/force_merge with decoupled dirty tracker")
Assisted-by: LLM
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
---
drivers/gpu/buddy.c | 71 ++++++++++++++----------------
drivers/gpu/tests/gpu_buddy_test.c | 65 +++++++++++++++++++++++++++
2 files changed, 99 insertions(+), 37 deletions(-)
diff --git a/drivers/gpu/buddy.c b/drivers/gpu/buddy.c
index 2f2aaadafe35..6566bad4fef1 100644
--- a/drivers/gpu/buddy.c
+++ b/drivers/gpu/buddy.c
@@ -1240,11 +1240,19 @@ static void __gpu_buddy_undo_splits(struct gpu_buddy *mm,
}
}
+static bool block_incompatible(struct gpu_buddy_block *block, unsigned int flags)
+{
+ bool needs_clear = flags & GPU_BUDDY_CLEAR_ALLOCATION;
+
+ return needs_clear != gpu_buddy_block_is_clear(block);
+}
+
static struct gpu_buddy_block *
__alloc_range_bias(struct gpu_buddy *mm,
u64 start, u64 end,
unsigned int order,
- unsigned long flags)
+ unsigned long flags,
+ bool fallback)
{
u64 req_size = mm->chunk_size << order;
struct gpu_buddy_block *block;
@@ -1258,9 +1266,7 @@ __alloc_range_bias(struct gpu_buddy *mm,
* This range-constrained search hands back the highest/right-most
* address that satisfies the request: the roots are seeded high-to-low
* and the right (higher-address) child is descended first, making
- * top-down the default placement here. A non-top-down clear request is
- * the only exception, where the descent is biased towards clear or
- * clear-containing subtrees to satisfy the clear preference.
+ * top-down the default placement here.
*/
for (i = mm->n_roots - 1; i >= 0; --i)
list_add_tail(&mm->roots[i]->tmp_link, &dfs);
@@ -1298,6 +1304,9 @@ __alloc_range_bias(struct gpu_buddy *mm,
continue;
}
+ if (!fallback && block_incompatible(block, flags))
+ continue;
+
if (contains(start, end, block_start, block_end) &&
order == gpu_buddy_block_order(block)) {
/*
@@ -1315,38 +1324,8 @@ __alloc_range_bias(struct gpu_buddy *mm,
goto err_undo;
}
- /*
- * Top-down is a strict address-placement policy, so when it is
- * requested we ignore clear steering and simply descend the
- * right (higher-address) child first. Only a non-top-down clear
- * request biases the descent towards clear/has_clear subtrees.
- */
- if ((flags & GPU_BUDDY_CLEAR_ALLOCATION) &&
- !(flags & GPU_BUDDY_TOPDOWN_ALLOCATION)) {
- struct gpu_buddy_block *prefer;
-
- if (gpu_buddy_block_is_clear(block->right))
- prefer = block->right;
- else if (gpu_buddy_block_is_clear(block->left))
- prefer = block->left;
- else if (block->right->has_clear)
- prefer = block->right;
- else if (block->left->has_clear)
- prefer = block->left;
- else
- prefer = block->right;
-
- if (prefer == block->right) {
- list_add(&block->left->tmp_link, &dfs);
- list_add(&block->right->tmp_link, &dfs);
- } else {
- list_add(&block->right->tmp_link, &dfs);
- list_add(&block->left->tmp_link, &dfs);
- }
- } else {
- list_add(&block->left->tmp_link, &dfs);
- list_add(&block->right->tmp_link, &dfs);
- }
+ list_add(&block->left->tmp_link, &dfs);
+ list_add(&block->right->tmp_link, &dfs);
} while (1);
return ERR_PTR(-ENOSPC);
@@ -1361,6 +1340,24 @@ __alloc_range_bias(struct gpu_buddy *mm,
return ERR_PTR(err);
}
+static struct gpu_buddy_block *
+__gpu_buddy_alloc_range_bias(struct gpu_buddy *mm,
+ u64 start, u64 end,
+ unsigned int order,
+ unsigned long flags)
+{
+ struct gpu_buddy_block *block;
+ bool fallback = false;
+
+ block = __alloc_range_bias(mm, start, end, order,
+ flags, fallback);
+ if (IS_ERR(block))
+ return __alloc_range_bias(mm, start, end, order,
+ flags, !fallback);
+
+ return block;
+}
+
/* Return the highest-address free block of at least @order. */
static struct gpu_buddy_block *
get_maxblock(struct gpu_buddy *mm,
@@ -1924,7 +1921,7 @@ __gpu_buddy_alloc_blocks(struct gpu_buddy *mm,
if (flags & GPU_BUDDY_RANGE_ALLOCATION) {
/* Allocate traversing within the range */
- block = __alloc_range_bias(mm, start, end, order, flags);
+ block = __gpu_buddy_alloc_range_bias(mm, start, end, order, flags);
if (!IS_ERR(block) || !steered)
return block;
diff --git a/drivers/gpu/tests/gpu_buddy_test.c b/drivers/gpu/tests/gpu_buddy_test.c
index b75d32ca6ca0..3eaa261571bf 100644
--- a/drivers/gpu/tests/gpu_buddy_test.c
+++ b/drivers/gpu/tests/gpu_buddy_test.c
@@ -1597,6 +1597,70 @@ static int gpu_buddy_suite_init(struct kunit_suite *suite)
return 0;
}
+static void gpu_test_buddy_alloc_range_clear_guard(struct kunit *test)
+{
+ const unsigned long chunk = SZ_1M, mm_size = SZ_4M;
+ struct gpu_buddy_block *block;
+ LIST_HEAD(high_clear_a);
+ LIST_HEAD(high_clear_b);
+ LIST_HEAD(low_dirty);
+ struct gpu_buddy mm;
+ LIST_HEAD(barrier);
+ LIST_HEAD(result);
+
+ KUNIT_ASSERT_FALSE_MSG(test, gpu_buddy_init(&mm, mm_size, chunk),
+ "buddy_init failed\n");
+
+ /*
+ * Lay out a 4 MiB aperture as three regions:
+ *
+ * [0, 1M) dirty free
+ * [1M, 2M) allocated (barrier, keeps the two halves un-mergeable)
+ * [2M, 4M) clear free (one naturally aligned 2 MiB extent)
+ *
+ * A dirty (non-clear) range allocation must take the low dirty block
+ * and leave the large clear extent intact. Without the guard the
+ * top-down search cuts the higher clear extent instead and returns a
+ * clear block -- the interleaving that fragments the aperture and
+ * ultimately fails a large same-class scanout allocation.
+ */
+ KUNIT_ASSERT_FALSE_MSG(test,
+ gpu_buddy_alloc_blocks(&mm, 0, chunk, chunk, chunk,
+ &low_dirty, GPU_BUDDY_RANGE_ALLOCATION),
+ "alloc [0, 1M) failed\n");
+ KUNIT_ASSERT_FALSE_MSG(test,
+ gpu_buddy_alloc_blocks(&mm, chunk, 2 * chunk, chunk, chunk,
+ &barrier, GPU_BUDDY_RANGE_ALLOCATION),
+ "alloc [1M, 2M) failed\n");
+ KUNIT_ASSERT_FALSE_MSG(test,
+ gpu_buddy_alloc_blocks(&mm, 2 * chunk, 3 * chunk, chunk, chunk,
+ &high_clear_a, GPU_BUDDY_RANGE_ALLOCATION),
+ "alloc [2M, 3M) failed\n");
+ KUNIT_ASSERT_FALSE_MSG(test,
+ gpu_buddy_alloc_blocks(&mm, 3 * chunk, 4 * chunk, chunk, chunk,
+ &high_clear_b, GPU_BUDDY_RANGE_ALLOCATION),
+ "alloc [3M, 4M) failed\n");
+
+ /* [2M, 4M) coalesces into one aligned clear extent; [0, 1M) stays dirty. */
+ gpu_buddy_free_list(&mm, &low_dirty, 0);
+ gpu_buddy_free_list(&mm, &high_clear_a, GPU_BUDDY_CLEARED);
+ gpu_buddy_free_list(&mm, &high_clear_b, GPU_BUDDY_CLEARED);
+
+ KUNIT_ASSERT_FALSE_MSG(test,
+ gpu_buddy_alloc_blocks(&mm, 0, mm_size, chunk, chunk,
+ &result, GPU_BUDDY_RANGE_ALLOCATION),
+ "dirty range alloc failed\n");
+
+ block = list_first_entry(&result, struct gpu_buddy_block, link);
+ KUNIT_EXPECT_FALSE_MSG(test, gpu_buddy_block_is_clear(block),
+ "dirty range alloc cut the clear extent (offset=%llx)\n",
+ gpu_buddy_block_offset(block));
+
+ gpu_buddy_free_list(&mm, &result, 0);
+ gpu_buddy_free_list(&mm, &barrier, 0);
+ gpu_buddy_fini(&mm);
+}
+
static struct kunit_case gpu_buddy_tests[] = {
KUNIT_CASE(gpu_test_buddy_alloc_limit),
KUNIT_CASE(gpu_test_buddy_alloc_optimistic),
@@ -1606,6 +1670,7 @@ static struct kunit_case gpu_buddy_tests[] = {
KUNIT_CASE(gpu_test_buddy_alloc_clear),
KUNIT_CASE(gpu_test_buddy_alloc_range),
KUNIT_CASE(gpu_test_buddy_alloc_range_bias),
+ KUNIT_CASE(gpu_test_buddy_alloc_range_clear_guard),
KUNIT_CASE_SLOW(gpu_test_buddy_fragmentation_performance),
KUNIT_CASE_SLOW(gpu_test_buddy_dirty_tracker_performance),
KUNIT_CASE(gpu_test_buddy_alloc_exceeds_max_order),
base-commit: f146c6086b792cb2c6b3ce5106f0cce62e408df8
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v4 2/3] gpu/buddy: add range-restricted contiguous allocation fallback 2026-10-09 10:05 [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation Arunpravin Paneer Selvam @ 2026-10-09 10:05 ` Arunpravin Paneer Selvam 2026-10-09 10:23 ` sashiko-bot 2026-10-09 10:05 ` [PATCH v4 3/3] gpu/buddy: search lower orders in contiguous try-harder fallback Arunpravin Paneer Selvam ` (4 subsequent siblings) 5 siblings, 1 reply; 9+ messages in thread From: Arunpravin Paneer Selvam @ 2026-10-09 10:05 UTC (permalink / raw) To: matthew.auld, dri-devel, intel-gfx, intel-xe, amd-gfx Cc: christian.koenig, alexander.deucher, Anand.Raghavendra, Arunpravin Paneer Selvam From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> A range + contiguous allocation (e.g. a scanout FB confined to the CPU-visible VRAM aperture) rounds its size up to a power of two and requires a naturally aligned free block of that size; on a fragmented aperture no such aligned block may exist even though enough contiguous space is free, so the allocation fails with -ENOSPC. The non-range contiguous path already recovers from this via __alloc_contig_try_harder(), which stitches an exact-size span from smaller adjacent blocks, but that fallback was unreachable once GPU_BUDDY_RANGE_ALLOCATION was set. Extend __alloc_contig_try_harder() with a [range_start, range_end) window and route the range + contiguous case through it: each candidate placement is confined to the window and aligned to min_block_size. Non-range callers pass [0, mm->size), where the guards are no-ops, so the existing behaviour is unchanged. A KUnit test covers the fragmentation pattern. v4: - As Matthew pointed out, the Fixes: tag did not fit this patch: it adds try-harder range support, a new safety-net feature rather than the fix. The root cause is __alloc_range_bias() losing its clear/dirty guard. v3: - Confine the try_harder scan to [range_start, range_end) to avoid speculative out-of-window alloc/free. v2: - Drop the split-undo patch; the range-bias search always descends to an exact-order block or fails the split (already handled), so the extra undo was redundant. (Matthew) Assisted-by: LLM Cc: Matthew Auld <matthew.auld@intel.com> Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> --- drivers/gpu/buddy.c | 95 +++++++++++++++++------------- drivers/gpu/tests/gpu_buddy_test.c | 83 ++++++++++++++++++++++++-- 2 files changed, 133 insertions(+), 45 deletions(-) diff --git a/drivers/gpu/buddy.c b/drivers/gpu/buddy.c index 6566bad4fef1..1f648bcfce57 100644 --- a/drivers/gpu/buddy.c +++ b/drivers/gpu/buddy.c @@ -1682,26 +1682,14 @@ static int __gpu_buddy_alloc_range(struct gpu_buddy *mm, blocks, total_allocated_on_err); } -static int __alloc_contig_aligned_retry(struct gpu_buddy *mm, - u64 unaligned_offset, - u64 size, - u64 min_block_size, - unsigned long flags, - struct list_head *blocks) -{ - u64 aligned_offset = round_down(unaligned_offset, min_block_size); - - return __gpu_buddy_alloc_range(mm, aligned_offset, size, flags, - NULL, blocks); -} - static int __alloc_contig_try_harder(struct gpu_buddy *mm, + u64 range_start, u64 range_end, u64 size, u64 min_block_size, unsigned long flags, struct list_head *blocks) { - u64 rhs_offset, lhs_offset, filled; + u64 rhs_offset, lhs_offset, filled, aligned; struct gpu_buddy_block *block; struct rb_root *root; struct rb_node *iter; @@ -1726,25 +1714,36 @@ static int __alloc_contig_try_harder(struct gpu_buddy *mm, rhs_offset = gpu_buddy_block_offset(block); + if (rhs_offset >= range_end) { + iter = rb_prev(iter); + continue; + } + if (rhs_offset < range_start) + break; + /* Allocate blocks traversing RHS */ err = __gpu_buddy_alloc_range(mm, rhs_offset, size, flags, &filled, blocks); if (err && err != -ENOSPC) return err; - if (!err && IS_ALIGNED(rhs_offset, min_block_size)) + if (!err && IS_ALIGNED(rhs_offset, min_block_size) && + rhs_offset >= range_start && rhs_offset + size <= range_end) return 0; if (!err) { /* Allocate the unaligned RHS offset using round_down */ gpu_buddy_free_list_internal(mm, blocks); - err = __alloc_contig_aligned_retry(mm, rhs_offset, - size, - min_block_size, - flags, blocks); - if (!err) - return 0; - if (err != -ENOSPC) { - gpu_buddy_free_list_internal(mm, blocks); - return err; + + aligned = round_down(rhs_offset, min_block_size); + if (aligned >= range_start && + aligned + size <= range_end) { + err = __gpu_buddy_alloc_range(mm, aligned, size, + flags, NULL, blocks); + if (!err) + return 0; + if (err != -ENOSPC) { + gpu_buddy_free_list_internal(mm, blocks); + return err; + } } goto next; } @@ -1756,15 +1755,17 @@ static int __alloc_contig_try_harder(struct gpu_buddy *mm, /* Allocate the unaligned LHS offset using round_down */ gpu_buddy_free_list_internal(mm, blocks); - err = __alloc_contig_aligned_retry(mm, lhs_offset, - size, - min_block_size, - flags, blocks); - if (!err) - return 0; - if (err != -ENOSPC) { - gpu_buddy_free_list_internal(mm, blocks); - return err; + + aligned = round_down(lhs_offset, min_block_size); + if (aligned >= range_start && aligned + size <= range_end) { + err = __gpu_buddy_alloc_range(mm, aligned, size, + flags, NULL, blocks); + if (!err) + return 0; + if (err != -ENOSPC) { + gpu_buddy_free_list_internal(mm, blocks); + return err; + } } next: gpu_buddy_free_list_internal(mm, blocks); @@ -2018,11 +2019,18 @@ int gpu_buddy_alloc_blocks(struct gpu_buddy *mm, min_order = ilog2(min_block_size) - ilog2(mm->chunk_size); if (order > mm->max_order || size > mm->size) { - if ((flags & GPU_BUDDY_CONTIGUOUS_ALLOCATION) && - !(flags & GPU_BUDDY_RANGE_ALLOCATION)) - return __alloc_contig_try_harder(mm, original_size, + if (flags & GPU_BUDDY_CONTIGUOUS_ALLOCATION) { + u64 range_start, range_end; + + range_start = (flags & GPU_BUDDY_RANGE_ALLOCATION) ? start : 0; + range_end = (flags & GPU_BUDDY_RANGE_ALLOCATION) ? end : mm->size; + + return __alloc_contig_try_harder(mm, range_start, + range_end, + original_size, original_min_size, flags, blocks); + } return -EINVAL; } @@ -2055,9 +2063,14 @@ int gpu_buddy_alloc_blocks(struct gpu_buddy *mm, * Try contiguous block allocation through * try harder method. */ - if (flags & GPU_BUDDY_CONTIGUOUS_ALLOCATION && - !(flags & GPU_BUDDY_RANGE_ALLOCATION)) { - err = __alloc_contig_try_harder(mm, + if (flags & GPU_BUDDY_CONTIGUOUS_ALLOCATION) { + u64 range_start, range_end; + + range_start = (flags & GPU_BUDDY_RANGE_ALLOCATION) ? start : 0; + range_end = (flags & GPU_BUDDY_RANGE_ALLOCATION) ? end : mm->size; + + err = __alloc_contig_try_harder(mm, range_start, + range_end, original_size, original_min_size, flags, @@ -2065,9 +2078,9 @@ int gpu_buddy_alloc_blocks(struct gpu_buddy *mm, if (!err) return 0; if (err != -ENOSPC) - return err; - goto err_free; + goto err_free; } + err = -ENOSPC; goto err_free; } while (1); diff --git a/drivers/gpu/tests/gpu_buddy_test.c b/drivers/gpu/tests/gpu_buddy_test.c index 3eaa261571bf..ec37c11877ed 100644 --- a/drivers/gpu/tests/gpu_buddy_test.c +++ b/drivers/gpu/tests/gpu_buddy_test.c @@ -1251,6 +1251,77 @@ static void gpu_test_buddy_alloc_contiguous(struct kunit *test) gpu_buddy_fini(&mm); } +static void gpu_test_buddy_alloc_range_contiguous(struct kunit *test) +{ + const unsigned long ps = SZ_4K, mm_size = 16 * ps; + const unsigned long range_end = 8 * ps; + struct gpu_buddy_block *block, *prev; + LIST_HEAD(allocated); + struct gpu_buddy mm; + LIST_HEAD(pin_lo); + LIST_HEAD(pin_hi); + u64 total; + + KUNIT_ASSERT_FALSE_MSG(test, gpu_buddy_init(&mm, mm_size, ps), + "buddy_init failed\n"); + + /* + * Idea is to confine the test to the sub-range [0, 32K), which a 12K + * contiguous request (rounded up to 16K) splits into two naturally + * aligned 16K slots: [0, 16K) and [16K, 32K). We pin the first 4K page + * of each slot ([0, 4K) and [16K, 20K)) so that neither aligned slot + * can satisfy the rounded-up 16K allocation, yet the freed remainder + * still leaves a contiguous 12K hole at offset 4K, which is page-aligned + * but not 16K-aligned. A 12K contiguous+range allocation must therefore + * fall back to stitching that span instead of returning -ENOSPC. + */ + KUNIT_ASSERT_FALSE_MSG(test, + gpu_buddy_alloc_blocks(&mm, 0, ps, ps, ps, + &pin_lo, 0), + "failed to pin low page\n"); + KUNIT_ASSERT_FALSE_MSG(test, + gpu_buddy_alloc_blocks(&mm, 4 * ps, 5 * ps, ps, + ps, &pin_hi, 0), + "failed to pin high page\n"); + + /* No aligned 16K block is free; the range-aware fallback must stitch + * the unaligned [ps, 4*ps) hole instead of returning -ENOSPC. + */ + KUNIT_ASSERT_FALSE_MSG(test, + gpu_buddy_alloc_blocks(&mm, 0, range_end, 3 * ps, + ps, &allocated, + GPU_BUDDY_CONTIGUOUS_ALLOCATION | + GPU_BUDDY_RANGE_ALLOCATION), + "range-restricted contiguous alloc failed\n"); + + /* The result must be exactly 3*ps, contiguous, and inside the range. */ + total = 0; + prev = NULL; + list_for_each_entry(block, &allocated, link) { + u64 offset = gpu_buddy_block_offset(block); + u64 bsize = gpu_buddy_block_size(&mm, block); + + KUNIT_EXPECT_TRUE_MSG(test, offset + bsize <= range_end, + "block [%llx, %llx) outside range\n", + offset, offset + bsize); + if (prev) + KUNIT_EXPECT_EQ_MSG(test, + gpu_buddy_block_offset(prev) + + gpu_buddy_block_size(&mm, prev), + offset, + "block at %llx not contiguous\n", + offset); + prev = block; + total += bsize; + } + KUNIT_EXPECT_EQ(test, total, 3 * ps); + + gpu_buddy_free_list(&mm, &allocated, 0); + gpu_buddy_free_list(&mm, &pin_lo, 0); + gpu_buddy_free_list(&mm, &pin_hi, 0); + gpu_buddy_fini(&mm); +} + static void gpu_test_buddy_alloc_pathological(struct kunit *test) { u64 mm_size, size, start = 0; @@ -1534,10 +1605,13 @@ static void gpu_test_buddy_alloc_exceeds_max_order(struct kunit *test) GPU_BUDDY_RANGE_ALLOCATION); KUNIT_EXPECT_EQ(test, err, -EINVAL); - /* CONTIGUOUS + RANGE should return -EINVAL (no try_harder for RANGE) */ - err = gpu_buddy_alloc_blocks(&mm, 0, mm_size, size, SZ_4K, &blocks, - GPU_BUDDY_CONTIGUOUS_ALLOCATION | GPU_BUDDY_RANGE_ALLOCATION); - KUNIT_EXPECT_EQ(test, err, -EINVAL); + /* CONTIGUOUS + RANGE should succeed via the range-aware try_harder */ + KUNIT_ASSERT_FALSE_MSG(test, gpu_buddy_alloc_blocks(&mm, 0, mm_size, size, + SZ_4K, &blocks, + GPU_BUDDY_CONTIGUOUS_ALLOCATION | + GPU_BUDDY_RANGE_ALLOCATION), + "range contiguous alloc hit an error size=%llu\n", size); + gpu_buddy_free_list(&mm, &blocks, 0); gpu_buddy_fini(&mm); } @@ -1667,6 +1741,7 @@ static struct kunit_case gpu_buddy_tests[] = { KUNIT_CASE(gpu_test_buddy_alloc_pessimistic), KUNIT_CASE(gpu_test_buddy_alloc_pathological), KUNIT_CASE(gpu_test_buddy_alloc_contiguous), + KUNIT_CASE(gpu_test_buddy_alloc_range_contiguous), KUNIT_CASE(gpu_test_buddy_alloc_clear), KUNIT_CASE(gpu_test_buddy_alloc_range), KUNIT_CASE(gpu_test_buddy_alloc_range_bias), -- 2.43.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v4 2/3] gpu/buddy: add range-restricted contiguous allocation fallback 2026-10-09 10:05 ` [PATCH v4 2/3] gpu/buddy: add range-restricted contiguous allocation fallback Arunpravin Paneer Selvam @ 2026-10-09 10:23 ` sashiko-bot 0 siblings, 0 replies; 9+ messages in thread From: sashiko-bot @ 2026-10-09 10:23 UTC (permalink / raw) To: Arunpravin Paneer Selvam; +Cc: intel-xe, dri-devel, intel-gfx Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [High] mm: gpu/buddy try-harder fails range allocation when free space exceeds range_end - [High] mm: gpu/buddy try-harder misses higher-order blocks for range allocations -- commit 3089b8dadc6718a57b0162914961a76a654e9d6b Author: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> Subject: gpu/buddy: add range-restricted contiguous allocation fallback This commit adds support for range-restricted contiguous allocation fallback in the GPU buddy allocator. It extends __alloc_contig_try_harder to confine candidate placements to a specified [range_start, range_end) window. > diff --git a/drivers/gpu/buddy.c b/drivers/gpu/buddy.c > index 6566bad4fef15..1f648bcfce574 100644 > --- a/drivers/gpu/buddy.c > +++ b/drivers/gpu/buddy.c > @@ -1682,26 +1682,14 @@ static int __gpu_buddy_alloc_range(struct gpu_buddy *mm, [ ... ] > static int __alloc_contig_try_harder(struct gpu_buddy *mm, > + u64 range_start, u64 range_end, > u64 size, > u64 min_block_size, > unsigned long flags, > struct list_head *blocks) > { [Severity: High] Does the try-harder fallback miss higher-order blocks for range allocations? When this function is called as a fallback, it derives an order based on the unrounded size and searches exclusively in mm->free_tree[order]: modify_size = rounddown_pow_of_two(size); pages = modify_size >> ilog2(mm->chunk_size); order = fls(pages) - 1; ... root = &mm->free_tree[order]; if (RB_EMPTY_ROOT(root)) return -ENOSPC; However, for range contiguous allocations, the normal allocation pass rounds up the requested size. If a higher-order block intersects the range but cannot fit the rounded-up size within the bounds, it gets skipped and is not split. If this occurs, the valid contiguous space remains in a higher-order tree. Since the try-harder fallback only checks the single derived order's tree, will it fail immediately with -ENOSPC, missing the free space that resides in the unsplit, higher-order blocks? > - u64 rhs_offset, lhs_offset, filled; > + u64 rhs_offset, lhs_offset, filled, aligned; > struct gpu_buddy_block *block; > struct rb_root *root; > struct rb_node *iter; > @@ -1726,25 +1714,36 @@ static int __alloc_contig_try_harder(struct gpu_buddy *mm, > > rhs_offset = gpu_buddy_block_offset(block); > > + if (rhs_offset >= range_end) { > + iter = rb_prev(iter); > + continue; > + } > + if (rhs_offset < range_start) > + break; > + > /* Allocate blocks traversing RHS */ > err = __gpu_buddy_alloc_range(mm, rhs_offset, size, > flags, &filled, blocks); > if (err && err != -ENOSPC) > return err; > - if (!err && IS_ALIGNED(rhs_offset, min_block_size)) > + if (!err && IS_ALIGNED(rhs_offset, min_block_size) && > + rhs_offset >= range_start && rhs_offset + size <= range_end) > return 0; > if (!err) { > /* Allocate the unaligned RHS offset using round_down */ > gpu_buddy_free_list_internal(mm, blocks); > - err = __alloc_contig_aligned_retry(mm, rhs_offset, > - size, > - min_block_size, > - flags, blocks); > - if (!err) > - return 0; > - if (err != -ENOSPC) { > - gpu_buddy_free_list_internal(mm, blocks); > - return err; > + > + aligned = round_down(rhs_offset, min_block_size); > + if (aligned >= range_start && > + aligned + size <= range_end) { > + err = __gpu_buddy_alloc_range(mm, aligned, size, > + flags, NULL, blocks); > + if (!err) > + return 0; > + if (err != -ENOSPC) { > + gpu_buddy_free_list_internal(mm, blocks); > + return err; > + } > } > goto next; > } [Severity: High] Does this bypass the left-shift fallback when free space exceeds range_end? __alloc_contig_try_harder() attempts to place a contiguous block by calling __gpu_buddy_alloc_range() without passing range_end. If the contiguous free space extends beyond range_end, this allocation fully succeeds and returns err == 0. Because the allocation succeeded, the condition aligned + size <= range_end will evaluate to false if the memory exceeds the requested range, and the code hits goto next: if (aligned >= range_start && aligned + size <= range_end) { ... } goto next; } This completely skips the lhs_offset fallback path that normally follows: if (size - filled > rhs_offset) goto next; lhs_offset = rhs_offset - (size - filled); ... Had the allocator been bounded by range_end, it would have returned -ENOSPC with filled set, triggering the left-shift fallback to perfectly slide the allocation into the requested range. Will the presence of extra free memory outside the range cause valid contiguous allocations to spuriously fail? -- Sashiko AI review · https://sashiko.dev/#/patchset/20261009100546.1103622-1-arunpravin.paneerselvam@amd.com?part=2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 3/3] gpu/buddy: search lower orders in contiguous try-harder fallback 2026-10-09 10:05 [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation Arunpravin Paneer Selvam 2026-10-09 10:05 ` [PATCH v4 2/3] gpu/buddy: add range-restricted contiguous allocation fallback Arunpravin Paneer Selvam @ 2026-10-09 10:05 ` Arunpravin Paneer Selvam 2026-10-09 10:17 ` [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation sashiko-bot ` (3 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: Arunpravin Paneer Selvam @ 2026-10-09 10:05 UTC (permalink / raw) To: matthew.auld, dri-devel, intel-gfx, intel-xe, amd-gfx Cc: christian.koenig, alexander.deucher, Anand.Raghavendra, Arunpravin Paneer Selvam From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> __alloc_contig_try_harder() anchors on a single buddy order and bails when that order is empty. But a contiguous run can still exist as adjacent lower-order blocks that never coalesce (their buddies are allocated), which a single order misses, so callers passing min_block_size < size get a spurious -ENOSPC. Descend the anchor search from the size order down to min_order and let the existing stitch build the span. A KUnit test fails without this and passes with it. Assisted-by: LLM Cc: Matthew Auld <matthew.auld@intel.com> Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> --- drivers/gpu/buddy.c | 15 +++++-- drivers/gpu/tests/gpu_buddy_test.c | 65 ++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/buddy.c b/drivers/gpu/buddy.c index 1f648bcfce57..86cc1193ac64 100644 --- a/drivers/gpu/buddy.c +++ b/drivers/gpu/buddy.c @@ -1691,22 +1691,23 @@ static int __alloc_contig_try_harder(struct gpu_buddy *mm, { u64 rhs_offset, lhs_offset, filled, aligned; struct gpu_buddy_block *block; + unsigned int min_order, order; struct rb_root *root; struct rb_node *iter; unsigned long pages; - unsigned int order; u64 modify_size; int err; + min_order = ilog2(min_block_size) - ilog2(mm->chunk_size); + modify_size = rounddown_pow_of_two(size); pages = modify_size >> ilog2(mm->chunk_size); order = fls(pages) - 1; - if (order == 0) - return -ENOSPC; +retry_order: root = &mm->free_tree[order]; if (RB_EMPTY_ROOT(root)) - return -ENOSPC; + goto next_order; iter = rb_last(root); while (iter) { @@ -1772,6 +1773,12 @@ static int __alloc_contig_try_harder(struct gpu_buddy *mm, iter = rb_prev(iter); } +next_order: + if (order > min_order) { + order--; + goto retry_order; + } + return -ENOSPC; } diff --git a/drivers/gpu/tests/gpu_buddy_test.c b/drivers/gpu/tests/gpu_buddy_test.c index ec37c11877ed..144ab17b114a 100644 --- a/drivers/gpu/tests/gpu_buddy_test.c +++ b/drivers/gpu/tests/gpu_buddy_test.c @@ -1660,6 +1660,70 @@ static void gpu_test_buddy_addr_to_block(struct kunit *test) gpu_buddy_fini(&mm); } +static void gpu_test_buddy_alloc_contiguous_descent(struct kunit *test) +{ + const unsigned long ps = SZ_4K, mm_size = 16 * ps; + struct gpu_buddy_block *block, *prev; + LIST_HEAD(allocated); + struct gpu_buddy mm; + LIST_HEAD(pin_lo); + LIST_HEAD(pin_hi); + u64 total; + + KUNIT_ASSERT_FALSE_MSG(test, gpu_buddy_init(&mm, mm_size, ps), + "buddy_init failed\n"); + + /* + * Pin [0, 16K) and [48K, 64K). The remaining [16K, 48K) is free as two + * adjacent 16K halves under different parents; being un-mergeable + * buddies they never coalesce, so free_tree[3] (32K) stays empty. A + * contiguous 32K request with min_block_size 4K therefore has no 32K + * anchor and must descend to order 2 and stitch [16K, 48K). + */ + KUNIT_ASSERT_FALSE_MSG(test, + gpu_buddy_alloc_blocks(&mm, 0, 4 * ps, 4 * ps, + ps, &pin_lo, 0), + "failed to pin low block\n"); + KUNIT_ASSERT_FALSE_MSG(test, + gpu_buddy_alloc_blocks(&mm, 12 * ps, 16 * ps, + 4 * ps, ps, &pin_hi, 0), + "failed to pin high block\n"); + + KUNIT_ASSERT_FALSE_MSG(test, + gpu_buddy_alloc_blocks(&mm, 0, mm_size, 8 * ps, + ps, &allocated, + GPU_BUDDY_CONTIGUOUS_ALLOCATION), + "contiguous alloc failed to descend\n"); + + /* The result must be exactly 8*ps, contiguous, within [16K, 48K). */ + total = 0; + prev = NULL; + list_for_each_entry(block, &allocated, link) { + u64 offset = gpu_buddy_block_offset(block); + u64 bsize = gpu_buddy_block_size(&mm, block); + + KUNIT_EXPECT_TRUE_MSG(test, offset >= 4 * ps && + offset + bsize <= 12 * ps, + "block [%llx, %llx) outside stitched span\n", + offset, offset + bsize); + if (prev) + KUNIT_EXPECT_EQ_MSG(test, + gpu_buddy_block_offset(prev) + + gpu_buddy_block_size(&mm, prev), + offset, + "block at %llx not contiguous\n", + offset); + prev = block; + total += bsize; + } + KUNIT_EXPECT_EQ(test, total, 8 * ps); + + gpu_buddy_free_list(&mm, &allocated, 0); + gpu_buddy_free_list(&mm, &pin_lo, 0); + gpu_buddy_free_list(&mm, &pin_hi, 0); + gpu_buddy_fini(&mm); +} + static int gpu_buddy_suite_init(struct kunit_suite *suite) { while (!random_seed) @@ -1742,6 +1806,7 @@ static struct kunit_case gpu_buddy_tests[] = { KUNIT_CASE(gpu_test_buddy_alloc_pathological), KUNIT_CASE(gpu_test_buddy_alloc_contiguous), KUNIT_CASE(gpu_test_buddy_alloc_range_contiguous), + KUNIT_CASE(gpu_test_buddy_alloc_contiguous_descent), KUNIT_CASE(gpu_test_buddy_alloc_clear), KUNIT_CASE(gpu_test_buddy_alloc_range), KUNIT_CASE(gpu_test_buddy_alloc_range_bias), -- 2.43.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation 2026-10-09 10:05 [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation Arunpravin Paneer Selvam 2026-10-09 10:05 ` [PATCH v4 2/3] gpu/buddy: add range-restricted contiguous allocation fallback Arunpravin Paneer Selvam 2026-10-09 10:05 ` [PATCH v4 3/3] gpu/buddy: search lower orders in contiguous try-harder fallback Arunpravin Paneer Selvam @ 2026-10-09 10:17 ` sashiko-bot 2026-10-09 12:07 ` ✓ i915.CI.BAT: success for series starting with [v4,1/3] " Patchwork ` (2 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: sashiko-bot @ 2026-10-09 10:17 UTC (permalink / raw) To: Arunpravin Paneer Selvam; +Cc: intel-xe, intel-gfx, dri-devel Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [High] gpu/buddy: block_incompatible() incorrectly rejects mixed subtrees during CLEAR allocations - [High] gpu/buddy: range allocator strict pass skips valid subtrees due to stale split block clear bits -- commit 19316e455db24fbfaa4dda04f7d988cae7073da7 Author: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation This commit introduces a two-pass range search in the buddy allocator's range-biased allocation path. The strict pass uses block_incompatible() to reject opposite-class blocks, while the fallback pass relaxes this constraint when opposite-class space is the only option remaining. > diff --git a/drivers/gpu/buddy.c b/drivers/gpu/buddy.c > index 2f2aaadafe351..6566bad4fef15 100644 > --- a/drivers/gpu/buddy.c > +++ b/drivers/gpu/buddy.c > @@ -1240,11 +1240,19 @@ static void __gpu_buddy_undo_splits(struct gpu_buddy *mm, > } > } > > +static bool block_incompatible(struct gpu_buddy_block *block, unsigned int flags) > +{ > + bool needs_clear = flags & GPU_BUDDY_CLEAR_ALLOCATION; > + > + return needs_clear != gpu_buddy_block_is_clear(block); > +} [Severity: High] Does this evaluation correctly handle intermediate SPLIT blocks? A SPLIT block's GPU_BUDDY_HEADER_CLEAR bit retains the value from when it was last FREE and is not updated after splitting. If a root or intermediate block was dirty when split, its clear bit remains 0 even if it now contains free clear children. For a CLEAR allocation, will this cause the strict pass to read a stale 0 bit and incorrectly skip the entire valid subtree? Additionally, are mixed subtrees inadvertently rejected during CLEAR allocations here? Since mixed subtrees contain both clear and dirty pages, their is_clear state evaluates to false. Consequently, block_incompatible() will evaluate mixed subtrees as incompatible, causing the strict pass to skip them entirely unless the entire root block is fully clear. > static struct gpu_buddy_block * > __alloc_range_bias(struct gpu_buddy *mm, > u64 start, u64 end, > unsigned int order, > - unsigned long flags) > + unsigned long flags, > + bool fallback) > { [ ... ] > @@ -1315,38 +1324,8 @@ __alloc_range_bias(struct gpu_buddy *mm, > goto err_undo; > } > > - /* > - * Top-down is a strict address-placement policy, so when it is > - * requested we ignore clear steering and simply descend the > - * right (higher-address) child first. Only a non-top-down clear > - * request biases the descent towards clear/has_clear subtrees. > - */ > - if ((flags & GPU_BUDDY_CLEAR_ALLOCATION) && > - !(flags & GPU_BUDDY_TOPDOWN_ALLOCATION)) { > - struct gpu_buddy_block *prefer; > - > - if (gpu_buddy_block_is_clear(block->right)) > - prefer = block->right; > - else if (gpu_buddy_block_is_clear(block->left)) > - prefer = block->left; > - else if (block->right->has_clear) > - prefer = block->right; > - else if (block->left->has_clear) > - prefer = block->left; > - else > - prefer = block->right; > - > - if (prefer == block->right) { > - list_add(&block->left->tmp_link, &dfs); > - list_add(&block->right->tmp_link, &dfs); > - } else { > - list_add(&block->right->tmp_link, &dfs); > - list_add(&block->left->tmp_link, &dfs); > - } > - } else { > - list_add(&block->left->tmp_link, &dfs); > - list_add(&block->right->tmp_link, &dfs); > - } > + list_add(&block->left->tmp_link, &dfs); > + list_add(&block->right->tmp_link, &dfs); > } while (1); [Severity: High] Without the has_clear steering logic, how does the fallback pass handle CLEAR allocations when descending? If the strict pass fails (as described above for mixed subtrees), the allocator executes the fallback pass which ignores class preferences. Because the fallback pass now blindly traverses top-down (right child first) after the removal of the has_clear steering logic, could a CLEAR range allocation incorrectly allocate and return dirty blocks if they happen to be right-most? -- Sashiko AI review · https://sashiko.dev/#/patchset/20261009100546.1103622-1-arunpravin.paneerselvam@amd.com?part=1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ i915.CI.BAT: success for series starting with [v4,1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation 2026-10-09 10:05 [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation Arunpravin Paneer Selvam ` (2 preceding siblings ...) 2026-10-09 10:17 ` [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation sashiko-bot @ 2026-10-09 12:07 ` Patchwork 2026-10-09 14:58 ` ✓ i915.CI.Full: " Patchwork 2026-10-13 14:31 ` [PATCH v4 1/3] " Arunpravin Paneer Selvam 5 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2026-10-09 12:07 UTC (permalink / raw) To: Arunpravin Paneer Selvam; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 1049 bytes --] == Series Details == Series: series starting with [v4,1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation URL : https://patchwork.freedesktop.org/series/175827/ State : success == Summary == CI Bug Log - changes from CI_DRM_19306 -> Patchwork_175827v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/index.html Participating hosts (39 -> 38) ------------------------------ Missing (1): bat-dg2-13 Changes ------- No changes found Build changes ------------- * Linux: CI_DRM_19306 -> Patchwork_175827v1 CI-20190529: 20190529 CI_DRM_19306: 3bd4f625aafdf70814dbf075de96e224355c9f1e @ git://anongit.freedesktop.org/gfx-ci/linux IGT_9138: 9138 Patchwork_175827v1: 3bd4f625aafdf70814dbf075de96e224355c9f1e @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/index.html [-- Attachment #2: Type: text/html, Size: 1614 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ i915.CI.Full: success for series starting with [v4,1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation 2026-10-09 10:05 [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation Arunpravin Paneer Selvam ` (3 preceding siblings ...) 2026-10-09 12:07 ` ✓ i915.CI.BAT: success for series starting with [v4,1/3] " Patchwork @ 2026-10-09 14:58 ` Patchwork 2026-10-13 14:31 ` [PATCH v4 1/3] " Arunpravin Paneer Selvam 5 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2026-10-09 14:58 UTC (permalink / raw) To: Arunpravin Paneer Selvam; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 103981 bytes --] == Series Details == Series: series starting with [v4,1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation URL : https://patchwork.freedesktop.org/series/175827/ State : success == Summary == CI Bug Log - changes from CI_DRM_19306_full -> Patchwork_175827v1_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts New tests --------- New tests have been introduced between CI_DRM_19306_full and Patchwork_175827v1_full: ### New IGT tests (2) ### * igt@kms_universal_plane@disable-primary-vs-flip@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.34] s * igt@kms_universal_plane@universal-plane-sanity@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.41] s Known issues ------------ Here are the changes found in Patchwork_175827v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@device_reset@unbind-cold-reset-rebind: - shard-rkl: NOTRUN -> [SKIP][1] ([i915#11078]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@device_reset@unbind-cold-reset-rebind.html - shard-dg1: NOTRUN -> [SKIP][2] ([i915#11078]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@device_reset@unbind-cold-reset-rebind.html * igt@gem_ccs@block-multicopy-inplace: - shard-rkl: NOTRUN -> [SKIP][3] ([i915#3555] / [i915#9323]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@gem_ccs@block-multicopy-inplace.html * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0: - shard-dg2: NOTRUN -> [INCOMPLETE][4] ([i915#13356] / [i915#16348]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-6/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html * igt@gem_close_race@multigpu-basic-process: - shard-tglu: NOTRUN -> [SKIP][5] ([i915#7697]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@gem_close_race@multigpu-basic-process.html * igt@gem_ctx_isolation@preservation-s3@rcs0: - shard-glk: NOTRUN -> [INCOMPLETE][6] ([i915#13356] / [i915#16466]) +1 other test incomplete [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk8/igt@gem_ctx_isolation@preservation-s3@rcs0.html * igt@gem_ctx_persistence@file: - shard-snb: NOTRUN -> [SKIP][7] ([i915#1099]) +4 other tests skip [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-snb6/igt@gem_ctx_persistence@file.html * igt@gem_ctx_persistence@heartbeat-close: - shard-dg2: NOTRUN -> [SKIP][8] ([i915#8555]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gem_ctx_persistence@heartbeat-close.html * igt@gem_ctx_persistence@heartbeat-many: - shard-dg1: NOTRUN -> [SKIP][9] ([i915#8555]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_ctx_persistence@heartbeat-many.html * igt@gem_ctx_sseu@engines: - shard-dg2: NOTRUN -> [SKIP][10] ([i915#280]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gem_ctx_sseu@engines.html * igt@gem_ctx_sseu@mmap-args: - shard-rkl: NOTRUN -> [SKIP][11] ([i915#280]) +1 other test skip [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@gem_ctx_sseu@mmap-args.html - shard-dg1: NOTRUN -> [SKIP][12] ([i915#280]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_ctx_sseu@mmap-args.html * igt@gem_exec_balancer@parallel: - shard-rkl: NOTRUN -> [SKIP][13] ([i915#4525]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@gem_exec_balancer@parallel.html * igt@gem_exec_balancer@parallel-keep-submit-fence: - shard-tglu: NOTRUN -> [SKIP][14] ([i915#4525]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@gem_exec_balancer@parallel-keep-submit-fence.html * igt@gem_exec_capture@capture-invisible@smem0: - shard-glk: NOTRUN -> [SKIP][15] ([i915#6334]) +1 other test skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk5/igt@gem_exec_capture@capture-invisible@smem0.html * igt@gem_exec_flush@basic-batch-kernel-default-uc: - shard-dg1: NOTRUN -> [SKIP][16] ([i915#3539] / [i915#4852]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_exec_flush@basic-batch-kernel-default-uc.html * igt@gem_exec_flush@basic-wb-rw-before-default: - shard-dg2: NOTRUN -> [SKIP][17] ([i915#3539] / [i915#4852]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gem_exec_flush@basic-wb-rw-before-default.html * igt@gem_exec_reloc@basic-cpu-gtt: - shard-dg2: NOTRUN -> [SKIP][18] ([i915#3281]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gem_exec_reloc@basic-cpu-gtt.html * igt@gem_exec_reloc@basic-wc-read-noreloc: - shard-rkl: NOTRUN -> [SKIP][19] ([i915#3281]) +3 other tests skip [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@gem_exec_reloc@basic-wc-read-noreloc.html * igt@gem_exec_reloc@basic-write-read-noreloc: - shard-dg1: NOTRUN -> [SKIP][20] ([i915#3281]) +8 other tests skip [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@gem_exec_reloc@basic-write-read-noreloc.html * igt@gem_exec_schedule@reorder-wide: - shard-dg1: NOTRUN -> [SKIP][21] ([i915#4812]) +3 other tests skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_exec_schedule@reorder-wide.html * igt@gem_exec_schedule@semaphore-power: - shard-rkl: NOTRUN -> [SKIP][22] ([i915#7276]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@gem_exec_schedule@semaphore-power.html * igt@gem_exec_suspend@basic-s0: - shard-rkl: [PASS][23] -> [INCOMPLETE][24] ([i915#13356]) +1 other test incomplete [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@gem_exec_suspend@basic-s0.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@gem_exec_suspend@basic-s0.html * igt@gem_fence_thrash@bo-write-verify-threaded-none: - shard-dg2: NOTRUN -> [SKIP][25] ([i915#4860]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gem_fence_thrash@bo-write-verify-threaded-none.html * igt@gem_fenced_exec_thrash@no-spare-fences-busy: - shard-dg1: NOTRUN -> [SKIP][26] ([i915#4860]) +1 other test skip [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_fenced_exec_thrash@no-spare-fences-busy.html * igt@gem_linear_blits@interruptible: - shard-dg1: [PASS][27] -> [FAIL][28] ([i915#15391]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg1-12/igt@gem_linear_blits@interruptible.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-14/igt@gem_linear_blits@interruptible.html * igt@gem_lmem_swapping@massive-random: - shard-rkl: NOTRUN -> [SKIP][29] ([i915#4613]) +1 other test skip [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@gem_lmem_swapping@massive-random.html * igt@gem_lmem_swapping@parallel-random-verify: - shard-tglu: NOTRUN -> [SKIP][30] ([i915#4613]) +2 other tests skip [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@gem_lmem_swapping@parallel-random-verify.html * igt@gem_lmem_swapping@parallel-random-verify-ccs: - shard-dg1: NOTRUN -> [SKIP][31] ([i915#12193]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@gem_lmem_swapping@parallel-random-verify-ccs.html * igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0: - shard-dg1: NOTRUN -> [SKIP][32] ([i915#4565]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0.html * igt@gem_mmap_gtt@basic-write-read: - shard-dg2: NOTRUN -> [SKIP][33] ([i915#4077]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gem_mmap_gtt@basic-write-read.html * igt@gem_mmap_wc@write-prefaulted: - shard-dg1: NOTRUN -> [SKIP][34] ([i915#4083]) +2 other tests skip [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_mmap_wc@write-prefaulted.html * igt@gem_partial_pwrite_pread@write-snoop: - shard-mtlp: NOTRUN -> [SKIP][35] ([i915#3282]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@gem_partial_pwrite_pread@write-snoop.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - shard-rkl: NOTRUN -> [SKIP][36] ([i915#3282]) +5 other tests skip [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html - shard-dg1: NOTRUN -> [SKIP][37] ([i915#3282]) +3 other tests skip [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gem_pxp@reject-modify-context-protection-off-3: - shard-dg1: NOTRUN -> [SKIP][38] ([i915#4270]) +1 other test skip [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_pxp@reject-modify-context-protection-off-3.html * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled: - shard-dg2: NOTRUN -> [SKIP][39] ([i915#5190] / [i915#8428]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html * igt@gem_tiled_pread_pwrite: - shard-dg1: NOTRUN -> [SKIP][40] ([i915#4079]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_tiled_pread_pwrite.html * igt@gem_userptr_blits@access-control: - shard-tglu: NOTRUN -> [SKIP][41] ([i915#3297]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@gem_userptr_blits@access-control.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-dg1: NOTRUN -> [SKIP][42] ([i915#3297]) +2 other tests skip [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_userptr_blits@invalid-mmap-offset-unsync: - shard-rkl: NOTRUN -> [SKIP][43] ([i915#3297]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html - shard-mtlp: NOTRUN -> [SKIP][44] ([i915#3297]) [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html * igt@gem_userptr_blits@map-fixed-invalidate-overlap: - shard-dg1: NOTRUN -> [SKIP][45] ([i915#3297] / [i915#4880]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html * igt@gem_workarounds@suspend-resume-context: - shard-glk: NOTRUN -> [INCOMPLETE][46] ([i915#13356]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk8/igt@gem_workarounds@suspend-resume-context.html * igt@gem_workarounds@suspend-resume-fd: - shard-glk: NOTRUN -> [INCOMPLETE][47] ([i915#13356] / [i915#14586]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk1/igt@gem_workarounds@suspend-resume-fd.html * igt@gen9_exec_parse@bb-large: - shard-tglu: NOTRUN -> [SKIP][48] ([i915#2527] / [i915#2856]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@gen9_exec_parse@bb-large.html * igt@gen9_exec_parse@bb-start-param: - shard-dg1: NOTRUN -> [SKIP][49] ([i915#2527]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@gen9_exec_parse@bb-start-param.html * igt@gen9_exec_parse@valid-registers: - shard-rkl: NOTRUN -> [SKIP][50] ([i915#2527]) +2 other tests skip [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@gen9_exec_parse@valid-registers.html * igt@gpu_buddy@gpu_buddy: - shard-dg2: NOTRUN -> [SKIP][51] ([i915#15678]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@gpu_buddy@gpu_buddy.html * igt@i915_drm_fdinfo@busy@rcs0: - shard-dg1: NOTRUN -> [SKIP][52] ([i915#14073]) +5 other tests skip [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@i915_drm_fdinfo@busy@rcs0.html * igt@i915_drm_fdinfo@virtual-busy-idle: - shard-dg1: NOTRUN -> [SKIP][53] ([i915#14118]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@i915_drm_fdinfo@virtual-busy-idle.html * igt@i915_module_load@fault-injection@intel_connector_register: - shard-snb: NOTRUN -> [ABORT][54] ([i915#15342]) +1 other test abort [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-snb4/igt@i915_module_load@fault-injection@intel_connector_register.html * igt@i915_module_load@fault-injection@intel_guc_ct_init: - shard-snb: NOTRUN -> [SKIP][55] +364 other tests skip [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-snb4/igt@i915_module_load@fault-injection@intel_guc_ct_init.html * igt@i915_module_load@reload-no-display: - shard-dg1: NOTRUN -> [DMESG-WARN][56] ([i915#13029] / [i915#14545]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@i915_module_load@reload-no-display.html * igt@i915_pm_freq_api@freq-reset-multiple: - shard-rkl: NOTRUN -> [SKIP][57] ([i915#8399]) +1 other test skip [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@i915_pm_freq_api@freq-reset-multiple.html * igt@i915_pm_freq_mult@media-freq@gt0: - shard-rkl: NOTRUN -> [SKIP][58] ([i915#6590]) +1 other test skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@i915_pm_freq_mult@media-freq@gt0.html * igt@i915_pm_rc6_residency@rc6-fence: - shard-tglu: NOTRUN -> [WARN][59] ([i915#13790] / [i915#2681]) +1 other test warn [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-fence.html * igt@i915_pm_rpm@system-suspend: - shard-glk11: NOTRUN -> [INCOMPLETE][60] ([i915#13356]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk11/igt@i915_pm_rpm@system-suspend.html * igt@i915_suspend@sysfs-reader: - shard-glk11: NOTRUN -> [INCOMPLETE][61] ([i915#13356] / [i915#16182] / [i915#4817]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk11/igt@i915_suspend@sysfs-reader.html * igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling: - shard-dg1: NOTRUN -> [SKIP][62] ([i915#4212]) +1 other test skip [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling.html * igt@kms_addfb_basic@clobberred-modifier: - shard-dg2: NOTRUN -> [SKIP][63] ([i915#4212]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_addfb_basic@clobberred-modifier.html * igt@kms_addfb_basic@invalid-smem-bo-on-discrete: - shard-tglu: NOTRUN -> [SKIP][64] ([i915#12454] / [i915#12712]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html * igt@kms_atomic@plane-primary-overlay-mutable-zpos: - shard-tglu: NOTRUN -> [SKIP][65] ([i915#9531]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html * igt@kms_big_fb@4-tiled-16bpp-rotate-0: - shard-dg1: NOTRUN -> [SKIP][66] ([i915#4538] / [i915#5286]) +4 other tests skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html * igt@kms_big_fb@4-tiled-32bpp-rotate-270: - shard-tglu: NOTRUN -> [SKIP][67] ([i915#5286]) +2 other tests skip [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip: - shard-rkl: NOTRUN -> [SKIP][68] ([i915#5286]) +5 other tests skip [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-mtlp: NOTRUN -> [FAIL][69] ([i915#15733] / [i915#5138]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@linear-16bpp-rotate-90: - shard-dg2: NOTRUN -> [SKIP][70] +1 other test skip [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_big_fb@linear-16bpp-rotate-90.html * igt@kms_big_fb@linear-8bpp-rotate-270: - shard-rkl: NOTRUN -> [SKIP][71] ([i915#3638]) +3 other tests skip [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_big_fb@linear-8bpp-rotate-270.html - shard-dg1: NOTRUN -> [SKIP][72] ([i915#3638]) +1 other test skip [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_big_fb@linear-8bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip: - shard-dg1: NOTRUN -> [SKIP][73] ([i915#4538]) +2 other tests skip [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1: - shard-dg1: NOTRUN -> [SKIP][74] ([i915#6095]) +154 other tests skip [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-14/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1.html * igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1: - shard-glk11: NOTRUN -> [SKIP][75] +182 other tests skip [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk11/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1.html * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs: - shard-rkl: NOTRUN -> [SKIP][76] ([i915#12805]) +1 other test skip [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][77] ([i915#6095]) +51 other tests skip [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1.html * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][78] ([i915#6095]) +3 other tests skip [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-3.html * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc: - shard-rkl: [PASS][79] -> [ABORT][80] ([i915#15132]) +1 other test abort [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][81] ([i915#14098] / [i915#6095]) +36 other tests skip [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-4/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][82] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-d-hdmi-a-1.html * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][83] ([i915#10307] / [i915#6095]) +97 other tests skip [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-4/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs: - shard-tglu: NOTRUN -> [SKIP][84] ([i915#6095]) +39 other tests skip [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs.html * igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-a-edp-1: - shard-mtlp: NOTRUN -> [SKIP][85] ([i915#6095]) +4 other tests skip [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-a-edp-1.html * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs: - shard-rkl: NOTRUN -> [SKIP][86] ([i915#12313]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs: - shard-tglu: NOTRUN -> [SKIP][87] ([i915#12313]) [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html * igt@kms_cdclk@mode-rejected-max-dotclock: - shard-rkl: NOTRUN -> [SKIP][88] ([i915#17099]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_cdclk@mode-rejected-max-dotclock.html * igt@kms_cdclk@mode-transition: - shard-dg1: NOTRUN -> [SKIP][89] ([i915#3742]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_cdclk@mode-transition.html * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d: - shard-dg1: NOTRUN -> [SKIP][90] ([i915#16471]) +1 other test skip [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html * igt@kms_chamelium_color_pipeline@plane-lut3d-green-only: - shard-rkl: NOTRUN -> [SKIP][91] ([i915#16471]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html * igt@kms_chamelium_frames@dp-crc-single: - shard-dg1: NOTRUN -> [SKIP][92] ([i915#11151] / [i915#7828]) +6 other tests skip [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_chamelium_frames@dp-crc-single.html * igt@kms_chamelium_frames@dp-frame-dump: - shard-rkl: NOTRUN -> [SKIP][93] ([i915#11151] / [i915#7828]) +7 other tests skip [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_chamelium_frames@dp-frame-dump.html * igt@kms_chamelium_hpd@dp-hpd-after-suspend: - shard-dg2: NOTRUN -> [SKIP][94] ([i915#11151] / [i915#7828]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html * igt@kms_chamelium_hpd@vga-hpd-for-each-pipe: - shard-tglu: NOTRUN -> [SKIP][95] ([i915#11151] / [i915#7828]) +3 other tests skip [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html * igt@kms_color@deep-color: - shard-tglu: NOTRUN -> [SKIP][96] ([i915#3555] / [i915#9979]) [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_color@deep-color.html * igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d@pipe-a-plane-4: - shard-rkl: NOTRUN -> [SKIP][97] ([i915#16990]) +11 other tests skip [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d@pipe-a-plane-4.html - shard-dg1: NOTRUN -> [SKIP][98] ([i915#16990]) +15 other tests skip [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d@pipe-a-plane-4.html * igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3: - shard-mtlp: NOTRUN -> [SKIP][99] ([i915#16990]) +7 other tests skip [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3.html * igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4@pipe-a-plane-6: - shard-tglu: NOTRUN -> [SKIP][100] ([i915#16990]) +31 other tests skip [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4@pipe-a-plane-6.html * igt@kms_content_protection@dp-mst-lic-type-0-hdcp14: - shard-dg1: NOTRUN -> [SKIP][101] ([i915#15330]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html * igt@kms_content_protection@dp-mst-type-1-suspend-resume: - shard-rkl: NOTRUN -> [SKIP][102] ([i915#15330]) [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html * igt@kms_content_protection@legacy-hdcp14: - shard-dg1: NOTRUN -> [SKIP][103] ([i915#15865]) +1 other test skip [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_content_protection@legacy-hdcp14.html * igt@kms_content_protection@mei-interface: - shard-rkl: NOTRUN -> [SKIP][104] ([i915#15865]) +2 other tests skip [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_content_protection@mei-interface.html * igt@kms_content_protection@suspend-resume: - shard-tglu: NOTRUN -> [SKIP][105] ([i915#15865]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_content_protection@suspend-resume.html * igt@kms_cursor_crc@cursor-offscreen-32x10: - shard-dg2: NOTRUN -> [SKIP][106] ([i915#3555]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_cursor_crc@cursor-offscreen-32x10.html * igt@kms_cursor_crc@cursor-onscreen-128x42: - shard-rkl: NOTRUN -> [FAIL][107] ([i915#13566]) +1 other test fail [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_cursor_crc@cursor-onscreen-128x42.html * igt@kms_cursor_crc@cursor-onscreen-max-size: - shard-rkl: NOTRUN -> [SKIP][108] ([i915#3555]) +3 other tests skip [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-max-size.html * igt@kms_cursor_crc@cursor-random-512x512: - shard-tglu: NOTRUN -> [SKIP][109] ([i915#13049]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_cursor_crc@cursor-random-512x512.html * igt@kms_cursor_crc@cursor-rapid-movement-512x170: - shard-dg1: NOTRUN -> [SKIP][110] ([i915#13049]) +1 other test skip [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html * igt@kms_cursor_crc@cursor-rapid-movement-max-size: - shard-dg1: NOTRUN -> [SKIP][111] ([i915#3555]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html * igt@kms_cursor_crc@cursor-sliding-32x32: - shard-tglu: NOTRUN -> [SKIP][112] ([i915#3555]) +1 other test skip [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_cursor_crc@cursor-sliding-32x32.html * igt@kms_cursor_crc@cursor-sliding-512x170: - shard-rkl: NOTRUN -> [SKIP][113] ([i915#13049]) +1 other test skip [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-512x170.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - shard-rkl: NOTRUN -> [SKIP][114] ([i915#4103]) +1 other test skip [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle: - shard-dg2: NOTRUN -> [SKIP][115] ([i915#13046] / [i915#5354]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size: - shard-dg1: NOTRUN -> [SKIP][116] ([i915#4103]) [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle: - shard-tglu: NOTRUN -> [SKIP][117] ([i915#4103]) [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html * igt@kms_dp_link_training@non-uhbr-mst-direct-train: - shard-rkl: NOTRUN -> [SKIP][118] ([i915#17287]) [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-4/igt@kms_dp_link_training@non-uhbr-mst-direct-train.html * igt@kms_dp_link_training@non-uhbr-sst: - shard-tglu: NOTRUN -> [SKIP][119] ([i915#17288]) [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_dp_link_training@non-uhbr-sst.html * igt@kms_dp_link_training@non-uhbr-sst-direct-train: - shard-rkl: NOTRUN -> [SKIP][120] ([i915#17286]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_dp_link_training@non-uhbr-sst-direct-train.html * igt@kms_dp_link_training@uhbr-mst: - shard-tglu: NOTRUN -> [SKIP][121] ([i915#13748]) [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_dp_link_training@uhbr-mst.html * igt@kms_dp_linktrain_fallback@dsc-fallback: - shard-dg2: NOTRUN -> [SKIP][122] ([i915#13707]) [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_dp_linktrain_fallback@dsc-fallback.html * igt@kms_dsc@dsc-basic: - shard-dg1: NOTRUN -> [SKIP][123] ([i915#16361]) +2 other tests skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_dsc@dsc-basic.html * igt@kms_dsc@dsc-with-bpc-formats: - shard-tglu: NOTRUN -> [SKIP][124] ([i915#16361]) +2 other tests skip [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_dsc@dsc-with-bpc-formats.html * igt@kms_dsc@dsc-with-output-formats-bigjoiner: - shard-rkl: NOTRUN -> [SKIP][125] ([i915#16361]) +4 other tests skip [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html * igt@kms_fbcon_fbt@psr-suspend: - shard-dg1: NOTRUN -> [SKIP][126] ([i915#16680]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_feature_discovery@dsc: - shard-rkl: NOTRUN -> [SKIP][127] ([i915#16600]) [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_feature_discovery@dsc.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-dg2: NOTRUN -> [SKIP][128] ([i915#9934]) +1 other test skip [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible: - shard-rkl: NOTRUN -> [SKIP][129] ([i915#9934]) +7 other tests skip [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html * igt@kms_flip@2x-nonexisting-fb-interruptible: - shard-dg1: NOTRUN -> [SKIP][130] ([i915#9934]) +7 other tests skip [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_flip@2x-nonexisting-fb-interruptible.html * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible: - shard-tglu: NOTRUN -> [SKIP][131] ([i915#3637] / [i915#9934]) +2 other tests skip [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html * igt@kms_flip@flip-vs-expired-vblank: - shard-glk: [PASS][132] -> [FAIL][133] ([i915#13027]) +1 other test fail [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-glk3/igt@kms_flip@flip-vs-expired-vblank.html [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk4/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_flip@flip-vs-suspend: - shard-glk11: NOTRUN -> [INCOMPLETE][134] ([i915#12745] / [i915#13356] / [i915#17183] / [i915#4839]) [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk11/igt@kms_flip@flip-vs-suspend.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-rkl: [PASS][135] -> [INCOMPLETE][136] ([i915#16276] / [i915#6113]) [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@kms_flip@flip-vs-suspend-interruptible.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2: - shard-rkl: NOTRUN -> [INCOMPLETE][137] ([i915#16276] / [i915#6113]) [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a2.html * igt@kms_flip@flip-vs-suspend@a-hdmi-a1: - shard-glk11: NOTRUN -> [INCOMPLETE][138] ([i915#12745] / [i915#13356] / [i915#17183]) [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk11/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html * igt@kms_flip@flip-vs-wf_vblank-interruptible: - shard-snb: [PASS][139] -> [FAIL][140] ([i915#10826]) +1 other test fail [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-snb4/igt@kms_flip@flip-vs-wf_vblank-interruptible.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-snb4/igt@kms_flip@flip-vs-wf_vblank-interruptible.html * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling: - shard-tglu: NOTRUN -> [SKIP][141] ([i915#15643]) +2 other tests skip [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling: - shard-dg2: NOTRUN -> [SKIP][142] ([i915#15643]) [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling: - shard-dg1: NOTRUN -> [SKIP][143] ([i915#15643]) +1 other test skip [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling: - shard-rkl: NOTRUN -> [SKIP][144] ([i915#15643]) +1 other test skip [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-dg2: NOTRUN -> [SKIP][145] ([i915#15990] / [i915#8708]) +1 other test skip [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff: - shard-dg2: NOTRUN -> [SKIP][146] ([i915#15991] / [i915#5354]) +5 other tests skip [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt: - shard-dg1: NOTRUN -> [SKIP][147] ([i915#15990] / [i915#8708]) +15 other tests skip [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-move: - shard-glk: NOTRUN -> [SKIP][148] +188 other tests skip [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk5/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt: - shard-rkl: NOTRUN -> [SKIP][149] ([i915#15989]) +16 other tests skip [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-draw-pwrite: - shard-tglu: NOTRUN -> [SKIP][150] ([i915#15989]) +11 other tests skip [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbchdr-indfb-scaledprimary: - shard-dg1: NOTRUN -> [SKIP][151] ([i915#15989]) +11 other tests skip [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_frontbuffer_tracking@fbchdr-indfb-scaledprimary.html * igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-mmap-gtt: - shard-glk: [PASS][152] -> [SKIP][153] +16 other tests skip [152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-mmap-gtt.html [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk2/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render: - shard-rkl: [PASS][154] -> [SKIP][155] ([i915#15989]) +7 other tests skip [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][156] ([i915#15104] / [i915#15990]) [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt: - shard-tglu: NOTRUN -> [SKIP][157] ([i915#15102]) +23 other tests skip [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4: - shard-rkl: NOTRUN -> [SKIP][158] ([i915#5439]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu: - shard-dg1: NOTRUN -> [SKIP][159] ([i915#15102]) +21 other tests skip [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-mmap-gtt: - shard-dg1: NOTRUN -> [SKIP][160] ([i915#15990]) +17 other tests skip [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-shrfb-plflip-blt: - shard-dg1: NOTRUN -> [SKIP][161] +59 other tests skip [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-pwrite: - shard-dg2: NOTRUN -> [SKIP][162] ([i915#15989]) +1 other test skip [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@hdr-2p-pri-indfb-multidraw: - shard-mtlp: NOTRUN -> [SKIP][163] ([i915#15991]) +1 other test skip [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@kms_frontbuffer_tracking@hdr-2p-pri-indfb-multidraw.html * igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-spr-indfb-draw-mmap-cpu: - shard-dg1: NOTRUN -> [SKIP][164] ([i915#4423]) [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-spr-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt: - shard-dg1: NOTRUN -> [SKIP][165] ([i915#15104] / [i915#15990]) [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt: - shard-rkl: NOTRUN -> [SKIP][166] ([i915#15102]) +42 other tests skip [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt: - shard-dg2: NOTRUN -> [SKIP][167] ([i915#15102]) +1 other test skip [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc: - shard-rkl: NOTRUN -> [SKIP][168] ([i915#1825]) +6 other tests skip [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt: - shard-rkl: NOTRUN -> [SKIP][169] +90 other tests skip [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc: - shard-tglu: NOTRUN -> [SKIP][170] +49 other tests skip [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psrhdr-2p-pri-indfb-multidraw: - shard-dg2: NOTRUN -> [SKIP][171] ([i915#15991]) +7 other tests skip [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_frontbuffer_tracking@psrhdr-2p-pri-indfb-multidraw.html * igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery: - shard-snb: NOTRUN -> [FAIL][172] ([i915#17122]) [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-snb7/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html * igt@kms_hdmi_inject@inject-audio: - shard-mtlp: [PASS][173] -> [SKIP][174] ([i915#15725]) [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-mtlp-8/igt@kms_hdmi_inject@inject-audio.html [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-1/igt@kms_hdmi_inject@inject-audio.html * igt@kms_hdr@bpc-switch-suspend: - shard-tglu: NOTRUN -> [SKIP][175] ([i915#3555] / [i915#8228]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_hdr@bpc-switch-suspend@pipe-a-hdmi-a-2-xrgb2101010: - shard-rkl: NOTRUN -> [INCOMPLETE][176] ([i915#15436]) [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_hdr@bpc-switch-suspend@pipe-a-hdmi-a-2-xrgb2101010.html * igt@kms_hdr@invalid-metadata-sizes: - shard-rkl: [PASS][177] -> [SKIP][178] ([i915#16644] / [i915#3555] / [i915#8228]) [177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-1/igt@kms_hdr@invalid-metadata-sizes.html [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-4/igt@kms_hdr@invalid-metadata-sizes.html * igt@kms_hdr@static-toggle: - shard-rkl: NOTRUN -> [SKIP][179] ([i915#16644] / [i915#3555] / [i915#8228]) +1 other test skip [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_hdr@static-toggle.html * igt@kms_joiner@invalid-modeset-force-big-joiner: - shard-rkl: NOTRUN -> [SKIP][180] ([i915#15459]) +1 other test skip [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_joiner@invalid-modeset-force-big-joiner.html * igt@kms_joiner@invalid-modeset-force-ultra-joiner: - shard-rkl: NOTRUN -> [SKIP][181] ([i915#15458]) +1 other test skip [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html - shard-dg1: NOTRUN -> [SKIP][182] ([i915#15458]) +1 other test skip [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html * igt@kms_lease@implicit-plane-lease: - shard-dg1: [PASS][183] -> [DMESG-WARN][184] ([i915#4423]) [183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg1-14/igt@kms_lease@implicit-plane-lease.html [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-19/igt@kms_lease@implicit-plane-lease.html * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-dg1: NOTRUN -> [SKIP][185] ([i915#15815]) [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html * igt@kms_panel_fitting@legacy: - shard-rkl: NOTRUN -> [SKIP][186] ([i915#6301]) [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_panel_fitting@legacy.html * igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes: - shard-mtlp: NOTRUN -> [SKIP][187] +1 other test skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html * igt@kms_pipe_stress@stress-xrgb8888-yftiled: - shard-rkl: NOTRUN -> [SKIP][188] ([i915#14712]) [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier: - shard-dg1: NOTRUN -> [SKIP][189] ([i915#15709]) +1 other test skip [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier.html * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping: - shard-rkl: NOTRUN -> [SKIP][190] ([i915#15709]) +3 other tests skip [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-4/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html * igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-5: - shard-rkl: NOTRUN -> [SKIP][191] ([i915#16386]) +1 other test skip [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-5.html * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping: - shard-tglu: NOTRUN -> [SKIP][192] ([i915#15709]) +3 other tests skip [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html * igt@kms_plane_multiple@2x-tiling-y: - shard-rkl: NOTRUN -> [SKIP][193] ([i915#13958]) [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_plane_multiple@2x-tiling-y.html - shard-mtlp: NOTRUN -> [SKIP][194] ([i915#13958]) [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@kms_plane_multiple@2x-tiling-y.html * igt@kms_plane_multiple@2x-tiling-yf: - shard-dg1: NOTRUN -> [SKIP][195] ([i915#13958]) +1 other test skip [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_plane_multiple@2x-tiling-yf.html * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a: - shard-rkl: NOTRUN -> [SKIP][196] ([i915#15329]) +7 other tests skip [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html * igt@kms_pm_backlight@brightness-with-dpms: - shard-rkl: NOTRUN -> [SKIP][197] ([i915#12343]) [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_pm_backlight@brightness-with-dpms.html - shard-dg1: NOTRUN -> [SKIP][198] ([i915#12343]) [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_pm_backlight@brightness-with-dpms.html * igt@kms_pm_backlight@fade-with-dpms: - shard-dg1: NOTRUN -> [SKIP][199] ([i915#12343] / [i915#5354]) [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_pm_backlight@fade-with-dpms.html * igt@kms_pm_lpsp@kms-lpsp: - shard-tglu: NOTRUN -> [SKIP][200] ([i915#3828]) [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_rpm@cursor: - shard-dg1: NOTRUN -> [SKIP][201] ([i915#4077]) +7 other tests skip [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_pm_rpm@cursor.html * igt@kms_pm_rpm@dpms-lpsp: - shard-dg1: NOTRUN -> [SKIP][202] ([i915#15073]) +1 other test skip [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_pm_rpm@dpms-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp: - shard-dg2: [PASS][203] -> [SKIP][204] ([i915#15073]) [203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg2-8/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-4/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html * igt@kms_pm_rpm@modeset-lpsp: - shard-dg1: [PASS][205] -> [SKIP][206] ([i915#15073]) [205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg1-14/igt@kms_pm_rpm@modeset-lpsp.html [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-19/igt@kms_pm_rpm@modeset-lpsp.html * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait: - shard-rkl: [PASS][207] -> [SKIP][208] ([i915#15073]) +1 other test skip [207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html * igt@kms_pm_rpm@system-suspend-modeset: - shard-rkl: [PASS][209] -> [INCOMPLETE][210] ([i915#14419]) [209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-4/igt@kms_pm_rpm@system-suspend-modeset.html [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_pm_rpm@system-suspend-modeset.html * igt@kms_prime@basic-crc-hybrid: - shard-rkl: NOTRUN -> [SKIP][211] ([i915#6524]) [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_prime@basic-crc-hybrid.html * igt@kms_prime@basic-crc-vgem: - shard-dg1: NOTRUN -> [SKIP][212] ([i915#6524]) [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-15/igt@kms_prime@basic-crc-vgem.html * igt@kms_prime@d3hot: - shard-dg2: NOTRUN -> [SKIP][213] ([i915#6524] / [i915#6805]) [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_prime@d3hot.html * igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area: - shard-rkl: NOTRUN -> [SKIP][214] ([i915#11520]) +8 other tests skip [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html - shard-dg1: NOTRUN -> [SKIP][215] ([i915#11520]) +4 other tests skip [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf: - shard-snb: NOTRUN -> [SKIP][216] ([i915#11520]) +6 other tests skip [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-snb1/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf: - shard-dg2: NOTRUN -> [SKIP][217] ([i915#11520]) [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf: - shard-glk11: NOTRUN -> [SKIP][218] ([i915#11520]) +2 other tests skip [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk11/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf: - shard-tglu: NOTRUN -> [SKIP][219] ([i915#11520]) +2 other tests skip [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area: - shard-glk: NOTRUN -> [SKIP][220] ([i915#11520]) +1 other test skip [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk5/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area.html * igt@kms_psr2_su@page_flip-nv12: - shard-dg2: NOTRUN -> [SKIP][221] ([i915#9683]) [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_psr2_su@page_flip-nv12.html * igt@kms_psr@pr-sprite-mmap-cpu: - shard-tglu: NOTRUN -> [SKIP][222] ([i915#9732]) +9 other tests skip [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_psr@pr-sprite-mmap-cpu.html * igt@kms_psr@psr-sprite-plane-move: - shard-rkl: NOTRUN -> [SKIP][223] ([i915#1072] / [i915#9732]) +17 other tests skip [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_psr@psr-sprite-plane-move.html * igt@kms_psr@psr-sprite-plane-onoff: - shard-dg1: NOTRUN -> [SKIP][224] ([i915#1072] / [i915#9732]) +16 other tests skip [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@kms_psr@psr-sprite-plane-onoff.html * igt@kms_psr@psr2-no-drrs: - shard-dg2: NOTRUN -> [SKIP][225] ([i915#1072] / [i915#9732]) +1 other test skip [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_psr@psr2-no-drrs.html * igt@kms_rotation_crc@multiplane-rotation: - shard-glk11: NOTRUN -> [INCOMPLETE][226] ([i915#15492] / [i915#16184]) [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk11/igt@kms_rotation_crc@multiplane-rotation.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-tglu: NOTRUN -> [SKIP][227] ([i915#5289]) +1 other test skip [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_selftest@drm_framebuffer: - shard-glk: NOTRUN -> [ABORT][228] ([i915#13179]) +1 other test abort [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk5/igt@kms_selftest@drm_framebuffer.html * igt@kms_tiled_display@basic-test-pattern-with-chamelium: - shard-tglu: NOTRUN -> [SKIP][229] ([i915#8623]) [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html * igt@kms_vblank@ts-continuation-dpms-suspend: - shard-rkl: NOTRUN -> [INCOMPLETE][230] ([i915#12276]) +1 other test incomplete [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_vblank@ts-continuation-dpms-suspend.html * igt@kms_vblank@ts-continuation-suspend@pipe-c-hdmi-a-2: - shard-rkl: NOTRUN -> [ABORT][231] ([i915#15132]) +1 other test abort [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@kms_vblank@ts-continuation-suspend@pipe-c-hdmi-a-2.html * igt@kms_vrr@flip-basic: - shard-dg2: NOTRUN -> [SKIP][232] ([i915#15243] / [i915#3555]) [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_vrr@flip-basic.html * igt@kms_vrr@max-min: - shard-rkl: NOTRUN -> [SKIP][233] ([i915#9906]) [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_vrr@max-min.html * igt@kms_vrr@negative-basic: - shard-tglu: NOTRUN -> [SKIP][234] ([i915#3555] / [i915#9906]) [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-7/igt@kms_vrr@negative-basic.html * igt@perf_pmu@module-unload: - shard-glk: NOTRUN -> [FAIL][235] ([i915#17119]) [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk5/igt@perf_pmu@module-unload.html * igt@prime_udl@share-import-addfb: - shard-rkl: NOTRUN -> [SKIP][236] ([i915#16420]) [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@prime_udl@share-import-addfb.html * igt@prime_vgem@basic-read: - shard-rkl: NOTRUN -> [SKIP][237] ([i915#3291] / [i915#3708]) [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@prime_vgem@basic-read.html * igt@prime_vgem@basic-write: - shard-dg1: NOTRUN -> [SKIP][238] ([i915#3708]) [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-16/igt@prime_vgem@basic-write.html #### Possible fixes #### * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0: - shard-dg2: [INCOMPLETE][239] ([i915#13356] / [i915#16348]) -> [PASS][240] [239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg2-3/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-6/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html * igt@gem_ctx_isolation@preservation-s3: - shard-rkl: [INCOMPLETE][241] ([i915#13356]) -> [PASS][242] +2 other tests pass [241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@gem_ctx_isolation@preservation-s3.html [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@gem_ctx_isolation@preservation-s3.html * igt@gem_exec_suspend@basic-s3: - shard-glk: [INCOMPLETE][243] ([i915#13196] / [i915#13356]) -> [PASS][244] +1 other test pass [243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-glk8/igt@gem_exec_suspend@basic-s3.html [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk5/igt@gem_exec_suspend@basic-s3.html - shard-rkl: [ABORT][245] ([i915#15131] / [i915#15542]) -> [PASS][246] +1 other test pass [245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-1/igt@gem_exec_suspend@basic-s3.html [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-4/igt@gem_exec_suspend@basic-s3.html * igt@gem_exec_suspend@basic-s3-devices: - shard-mtlp: [INCOMPLETE][247] ([i915#13356]) -> [PASS][248] +1 other test pass [247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-mtlp-7/igt@gem_exec_suspend@basic-s3-devices.html [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-5/igt@gem_exec_suspend@basic-s3-devices.html * igt@i915_pm_freq_api@freq-suspend@gt0: - shard-dg2: [INCOMPLETE][249] ([i915#13356] / [i915#13820]) -> [PASS][250] +1 other test pass [249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg2-4/igt@i915_pm_freq_api@freq-suspend@gt0.html [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@i915_pm_freq_api@freq-suspend@gt0.html * igt@i915_suspend@forcewake: - shard-rkl: [INCOMPLETE][251] ([i915#4817]) -> [PASS][252] [251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-4/igt@i915_suspend@forcewake.html [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@i915_suspend@forcewake.html * igt@kms_3d@basic: - shard-mtlp: [SKIP][253] ([i915#15726]) -> [PASS][254] [253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-mtlp-1/igt@kms_3d@basic.html [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-3/igt@kms_3d@basic.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip: - shard-mtlp: [FAIL][255] ([i915#15733] / [i915#5138]) -> [PASS][256] [255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-mtlp-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-2: - shard-rkl: [FAIL][257] ([i915#13566]) -> [PASS][258] +1 other test pass [257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-7/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-2.html [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-2.html * igt@kms_frontbuffer_tracking@fbchdr-tiling-linear: - shard-rkl: [SKIP][259] ([i915#15989]) -> [PASS][260] +3 other tests pass [259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a: - shard-rkl: [INCOMPLETE][261] ([i915#14412]) -> [PASS][262] +1 other test pass [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-2/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html * igt@kms_pm_rpm@dpms-lpsp: - shard-rkl: [SKIP][263] ([i915#15073]) -> [PASS][264] [263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-7/igt@kms_pm_rpm@dpms-lpsp.html [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-5/igt@kms_pm_rpm@dpms-lpsp.html * igt@kms_pm_rpm@modeset-non-lpsp: - shard-dg2: [SKIP][265] ([i915#15073]) -> [PASS][266] +1 other test pass [265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp.html [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg2-5/igt@kms_pm_rpm@modeset-non-lpsp.html - shard-dg1: [DMESG-WARN][267] ([i915#4423]) -> [PASS][268] [267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg1-19/igt@kms_pm_rpm@modeset-non-lpsp.html [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-18/igt@kms_pm_rpm@modeset-non-lpsp.html * igt@perf_pmu@busy-double-start: - shard-mtlp: [FAIL][269] ([i915#4349]) -> [PASS][270] +1 other test pass [269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-mtlp-1/igt@perf_pmu@busy-double-start.html [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-3/igt@perf_pmu@busy-double-start.html * igt@perf_pmu@rc6-suspend: - shard-rkl: [INCOMPLETE][271] ([i915#13520]) -> [PASS][272] [271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@perf_pmu@rc6-suspend.html [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@perf_pmu@rc6-suspend.html * igt@perf_pmu@semaphore-wait@bcs0: - shard-tglu: [FAIL][273] -> [PASS][274] +3 other tests pass [273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-tglu-4/igt@perf_pmu@semaphore-wait@bcs0.html [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-tglu-10/igt@perf_pmu@semaphore-wait@bcs0.html #### Warnings #### * igt@gem_basic@multigpu-create-close: - shard-rkl: [SKIP][275] ([i915#7697]) -> [SKIP][276] ([i915#14544] / [i915#7697]) [275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@gem_basic@multigpu-create-close.html [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@gem_basic@multigpu-create-close.html * igt@gem_ccs@block-multicopy-compressed: - shard-rkl: [SKIP][277] ([i915#14544] / [i915#9323]) -> [SKIP][278] ([i915#9323]) [277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@gem_ccs@block-multicopy-compressed.html [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@gem_ccs@block-multicopy-compressed.html * igt@gem_ccs@large-ctrl-surf-copy: - shard-rkl: [SKIP][279] ([i915#13008]) -> [SKIP][280] ([i915#13008] / [i915#14544]) [279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@gem_ccs@large-ctrl-surf-copy.html [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@gem_ccs@large-ctrl-surf-copy.html * igt@gem_exec_reloc@basic-gtt-cpu: - shard-rkl: [SKIP][281] ([i915#3281]) -> [SKIP][282] ([i915#14544] / [i915#3281]) +3 other tests skip [281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@gem_exec_reloc@basic-gtt-cpu.html [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-cpu.html * igt@gem_exec_reloc@basic-write-wc-active: - shard-rkl: [SKIP][283] ([i915#14544] / [i915#3281]) -> [SKIP][284] ([i915#3281]) +1 other test skip [283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@gem_exec_reloc@basic-write-wc-active.html [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@gem_exec_reloc@basic-write-wc-active.html * igt@gem_lmem_swapping@heavy-multi: - shard-rkl: [SKIP][285] ([i915#14544] / [i915#4613]) -> [SKIP][286] ([i915#4613]) [285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@gem_lmem_swapping@heavy-multi.html [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@gem_lmem_swapping@heavy-multi.html * igt@gem_partial_pwrite_pread@reads-display: - shard-rkl: [SKIP][287] ([i915#14544] / [i915#3282]) -> [SKIP][288] ([i915#3282]) [287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@gem_partial_pwrite_pread@reads-display.html [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@gem_partial_pwrite_pread@reads-display.html * igt@gem_partial_pwrite_pread@reads-uncached: - shard-rkl: [SKIP][289] ([i915#3282]) -> [SKIP][290] ([i915#14544] / [i915#3282]) +2 other tests skip [289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@gem_partial_pwrite_pread@reads-uncached.html [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@gem_partial_pwrite_pread@reads-uncached.html * igt@gem_tiled_pread_basic@basic: - shard-rkl: [SKIP][291] ([i915#15656]) -> [SKIP][292] ([i915#14544] / [i915#15656]) [291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@gem_tiled_pread_basic@basic.html [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@gem_tiled_pread_basic@basic.html * igt@gem_userptr_blits@readonly-unsync: - shard-rkl: [SKIP][293] ([i915#3297]) -> [SKIP][294] ([i915#14544] / [i915#3297]) [293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@gem_userptr_blits@readonly-unsync.html [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@gem_userptr_blits@readonly-unsync.html * igt@gen9_exec_parse@batch-invalid-length: - shard-rkl: [SKIP][295] ([i915#14544] / [i915#2527]) -> [SKIP][296] ([i915#2527]) [295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@gen9_exec_parse@batch-invalid-length.html [296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@gen9_exec_parse@batch-invalid-length.html * igt@i915_pm_sseu@full-enable: - shard-rkl: [SKIP][297] ([i915#4387]) -> [SKIP][298] ([i915#14544] / [i915#4387]) [297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@i915_pm_sseu@full-enable.html [298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@i915_pm_sseu@full-enable.html * igt@i915_suspend@fence-restore-untiled: - shard-rkl: [INCOMPLETE][299] ([i915#4817]) -> [ABORT][300] ([i915#15131]) [299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@i915_suspend@fence-restore-untiled.html [300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@i915_suspend@fence-restore-untiled.html * igt@kms_big_fb@4-tiled-16bpp-rotate-270: - shard-rkl: [SKIP][301] ([i915#14544] / [i915#5286]) -> [SKIP][302] ([i915#5286]) [301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html [302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0: - shard-rkl: [SKIP][303] ([i915#5286]) -> [SKIP][304] ([i915#14544] / [i915#5286]) [303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html [304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html * igt@kms_big_fb@linear-32bpp-rotate-90: - shard-rkl: [SKIP][305] ([i915#3638]) -> [SKIP][306] ([i915#14544] / [i915#3638]) [305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_big_fb@linear-32bpp-rotate-90.html [306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_big_fb@linear-32bpp-rotate-90.html * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip: - shard-rkl: [SKIP][307] ([i915#3828]) -> [SKIP][308] ([i915#14544] / [i915#3828]) [307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html [308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_big_fb@y-tiled-64bpp-rotate-90: - shard-rkl: [SKIP][309] ([i915#14544] / [i915#3638]) -> [SKIP][310] ([i915#3638]) [309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html [310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2: - shard-rkl: [SKIP][311] ([i915#6095]) -> [SKIP][312] ([i915#14544] / [i915#6095]) +3 other tests skip [311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html [312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2: - shard-rkl: [SKIP][313] ([i915#14098] / [i915#6095]) -> [SKIP][314] ([i915#14098] / [i915#14544] / [i915#6095]) +3 other tests skip [313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html [314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs: - shard-glk: [INCOMPLETE][315] ([i915#13356] / [i915#14694] / [i915#15582]) -> [INCOMPLETE][316] ([i915#13356] / [i915#15582]) +1 other test incomplete [315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-glk3/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html [316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk4/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs: - shard-rkl: [SKIP][317] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][318] ([i915#14098] / [i915#6095]) +1 other test skip [317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html [318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2: - shard-rkl: [SKIP][319] ([i915#14544] / [i915#6095]) -> [SKIP][320] ([i915#6095]) +1 other test skip [319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2.html [320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2.html * igt@kms_chamelium_audio@dp-audio-after-suspend: - shard-rkl: [SKIP][321] ([i915#11151]) -> [SKIP][322] ([i915#11151] / [i915#14544]) [321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_chamelium_audio@dp-audio-after-suspend.html [322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_chamelium_audio@dp-audio-after-suspend.html * igt@kms_chamelium_color_pipeline@plane-ctm3x4: - shard-rkl: [SKIP][323] ([i915#16471]) -> [SKIP][324] ([i915#14544] / [i915#16471]) [323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_chamelium_color_pipeline@plane-ctm3x4.html [324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-ctm3x4.html * igt@kms_chamelium_edid@hdmi-edid-read: - shard-rkl: [SKIP][325] ([i915#11151] / [i915#7828]) -> [SKIP][326] ([i915#11151] / [i915#14544] / [i915#7828]) +1 other test skip [325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_chamelium_edid@hdmi-edid-read.html [326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-read.html * igt@kms_chamelium_hpd@dp-hpd-storm-disable: - shard-rkl: [SKIP][327] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][328] ([i915#11151] / [i915#7828]) [327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html [328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html * igt@kms_content_protection@dp-mst-type-0: - shard-rkl: [SKIP][329] ([i915#14544] / [i915#15330] / [i915#3116]) -> [SKIP][330] ([i915#15330] / [i915#3116]) [329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_content_protection@dp-mst-type-0.html [330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_content_protection@dp-mst-type-0.html * igt@kms_cursor_crc@cursor-onscreen-32x32: - shard-rkl: [SKIP][331] ([i915#14544] / [i915#3555]) -> [SKIP][332] ([i915#3555]) +1 other test skip [331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-32x32.html [332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_cursor_crc@cursor-onscreen-32x32.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size: - shard-rkl: [SKIP][333] ([i915#4103]) -> [SKIP][334] ([i915#14544] / [i915#4103]) [333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html [334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html * igt@kms_dp_link_training@uhbr-mst: - shard-dg1: [SKIP][335] ([i915#13748] / [i915#4423]) -> [SKIP][336] ([i915#13748]) [335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-dg1-18/igt@kms_dp_link_training@uhbr-mst.html [336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-dg1-12/igt@kms_dp_link_training@uhbr-mst.html * igt@kms_dsc@dsc-with-bpc-formats-bigjoiner: - shard-rkl: [SKIP][337] ([i915#14544] / [i915#16361]) -> [SKIP][338] ([i915#16361]) [337]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_dsc@dsc-with-bpc-formats-bigjoiner.html [338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@kms_dsc@dsc-with-bpc-formats-bigjoiner.html * igt@kms_feature_discovery@psr2: - shard-rkl: [SKIP][339] ([i915#658]) -> [SKIP][340] ([i915#14544] / [i915#658]) [339]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_feature_discovery@psr2.html [340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_feature_discovery@psr2.html * igt@kms_flip@2x-flip-vs-modeset: - shard-rkl: [SKIP][341] ([i915#9934]) -> [SKIP][342] ([i915#14544] / [i915#9934]) [341]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_flip@2x-flip-vs-modeset.html [342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_flip@2x-flip-vs-modeset.html * igt@kms_flip@2x-wf_vblank-ts-check-interruptible: - shard-rkl: [SKIP][343] ([i915#14544] / [i915#9934]) -> [SKIP][344] ([i915#9934]) +1 other test skip [343]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html [344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling: - shard-rkl: [SKIP][345] ([i915#15643]) -> [SKIP][346] ([i915#14544] / [i915#15643]) [345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html [346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling: - shard-rkl: [SKIP][347] ([i915#14544] / [i915#15643]) -> [SKIP][348] ([i915#15643]) [347]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html [348]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt: - shard-rkl: [SKIP][349] -> [SKIP][350] ([i915#14544]) +21 other tests skip [349]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html [350]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-wc: - shard-rkl: [SKIP][351] ([i915#14544] / [i915#1825]) -> [SKIP][352] ([i915#1825]) +2 other tests skip [351]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-wc.html [352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-rkl: [SKIP][353] ([i915#15102]) -> [SKIP][354] ([i915#14544] / [i915#15102]) +16 other tests skip [353]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html [354]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt: - shard-rkl: [SKIP][355] ([i915#14544] / [i915#15102]) -> [SKIP][356] ([i915#15102]) +4 other tests skip [355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt.html [356]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc: - shard-rkl: [SKIP][357] ([i915#14544]) -> [SKIP][358] +17 other tests skip [357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc.html [358]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-1/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_hdr@bpc-switch-suspend: - shard-rkl: [SKIP][359] ([i915#16644] / [i915#3555] / [i915#8228]) -> [INCOMPLETE][360] ([i915#15436]) [359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@kms_hdr@bpc-switch-suspend.html [360]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_hdr@brightness-with-hdr: - shard-mtlp: [SKIP][361] ([i915#1187] / [i915#12713] / [i915#16490]) -> [SKIP][362] ([i915#12713] / [i915#16490]) [361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-mtlp-1/igt@kms_hdr@brightness-with-hdr.html [362]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-mtlp-3/igt@kms_hdr@brightness-with-hdr.html * igt@kms_plane@pixel-format-yf-tiled-modifier: - shard-rkl: [SKIP][363] ([i915#15709]) -> [SKIP][364] ([i915#14544] / [i915#15709]) +2 other tests skip [363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_plane@pixel-format-yf-tiled-modifier.html [364]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_plane@pixel-format-yf-tiled-modifier.html * igt@kms_plane_lowres@tiling-yf: - shard-rkl: [SKIP][365] ([i915#3555]) -> [SKIP][366] ([i915#14544] / [i915#3555]) +1 other test skip [365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-8/igt@kms_plane_lowres@tiling-yf.html [366]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_plane_lowres@tiling-yf.html * igt@kms_pm_dc@dc5-retention-flops: - shard-rkl: [SKIP][367] ([i915#14544] / [i915#3828]) -> [SKIP][368] ([i915#3828]) [367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_pm_dc@dc5-retention-flops.html [368]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_pm_dc@dc5-retention-flops.html * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait: - shard-rkl: [SKIP][369] ([i915#15073]) -> [SKIP][370] ([i915#14544] / [i915#15073]) [369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html [370]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@kms_prime@basic-modeset-hybrid: - shard-rkl: [SKIP][371] ([i915#14544] / [i915#6524]) -> [SKIP][372] ([i915#6524]) [371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_prime@basic-modeset-hybrid.html [372]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_prime@basic-modeset-hybrid.html * igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area: - shard-rkl: [SKIP][373] ([i915#11520]) -> [SKIP][374] ([i915#11520] / [i915#14544]) [373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html [374]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html * igt@kms_psr@fbc-pr-cursor-render: - shard-rkl: [SKIP][375] ([i915#1072] / [i915#9732]) -> [SKIP][376] ([i915#1072] / [i915#14544] / [i915#9732]) +4 other tests skip [375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-3/igt@kms_psr@fbc-pr-cursor-render.html [376]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-6/igt@kms_psr@fbc-pr-cursor-render.html * igt@kms_psr@fbc-psr2-sprite-render: - shard-rkl: [SKIP][377] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][378] ([i915#1072] / [i915#9732]) +7 other tests skip [377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_psr@fbc-psr2-sprite-render.html [378]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_psr@fbc-psr2-sprite-render.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - shard-rkl: [SKIP][379] ([i915#14544] / [i915#15949]) -> [SKIP][380] ([i915#15949]) [379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [380]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_rotation_crc@multiplane-rotation-cropping-top: - shard-glk: [INCOMPLETE][381] ([i915#16184]) -> [INCOMPLETE][382] ([i915#15492] / [i915#16184]) [381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-glk6/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html [382]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk4/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270: - shard-rkl: [SKIP][383] ([i915#14544] / [i915#5289]) -> [SKIP][384] ([i915#5289]) [383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html [384]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html * igt@perf_pmu@rc6-suspend: - shard-glk: [INCOMPLETE][385] ([i915#13356] / [i915#14242] / [i915#16236]) -> [INCOMPLETE][386] ([i915#13356] / [i915#16236]) [385]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19306/shard-glk5/igt@perf_pmu@rc6-suspend.html [386]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/shard-glk6/igt@perf_pmu@rc6-suspend.html [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307 [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434 [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [i915#10826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10826 [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099 [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078 [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151 [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520 [i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187 [i915#12193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12193 [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276 [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313 [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343 [i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454 [i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712 [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713 [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745 [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805 [i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008 [i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027 [i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029 [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046 [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049 [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179 [i915#13196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13196 [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356 [i915#13520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13520 [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566 [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707 [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748 [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790 [i915#13820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13820 [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958 [i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073 [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098 [i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118 [i915#14242]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14242 [i915#14412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14412 [i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419 [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544 [i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545 [i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586 [i915#14694]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14694 [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712 [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073 [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102 [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104 [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131 [i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132 [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243 [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329 [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330 [i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342 [i915#15391]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15391 [i915#15436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15436 [i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458 [i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459 [i915#15492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15492 [i915#15542]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15542 [i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582 [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643 [i915#15656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15656 [i915#15678]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15678 [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709 [i915#15725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15725 [i915#15726]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15726 [i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733 [i915#15815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15815 [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865 [i915#15949]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15949 [i915#15989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15989 [i915#15990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15990 [i915#15991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15991 [i915#16182]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16182 [i915#16184]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16184 [i915#16236]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16236 [i915#16276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16276 [i915#16348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16348 [i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361 [i915#16386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16386 [i915#16420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16420 [i915#16466]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16466 [i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471 [i915#16490]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16490 [i915#16600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16600 [i915#16644]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16644 [i915#16680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16680 [i915#16990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16990 [i915#17099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17099 [i915#17119]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17119 [i915#17122]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17122 [i915#17183]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17183 [i915#17286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17286 [i915#17287]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17287 [i915#17288]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17288 [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825 [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527 [i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681 [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280 [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856 [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116 [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297 [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638 [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708 [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742 [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828 [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212 [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270 [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349 [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387 [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423 [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538 [i915#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812 [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817 [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839 [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852 [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860 [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880 [i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138 [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190 [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289 [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354 [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439 [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095 [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113 [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301 [i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334 [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658 [i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590 [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805 [i915#7276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7276 [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697 [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828 [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228 [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399 [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428 [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555 [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623 [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708 [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323 [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531 [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906 [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934 [i915#9979]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9979 Build changes ------------- * Linux: CI_DRM_19306 -> Patchwork_175827v1 CI-20190529: 20190529 CI_DRM_19306: 3bd4f625aafdf70814dbf075de96e224355c9f1e @ git://anongit.freedesktop.org/gfx-ci/linux IGT_9138: 9138 Patchwork_175827v1: 3bd4f625aafdf70814dbf075de96e224355c9f1e @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_175827v1/index.html [-- Attachment #2: Type: text/html, Size: 134677 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation 2026-10-09 10:05 [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation Arunpravin Paneer Selvam ` (4 preceding siblings ...) 2026-10-09 14:58 ` ✓ i915.CI.Full: " Patchwork @ 2026-10-13 14:31 ` Arunpravin Paneer Selvam 2026-10-13 15:06 ` Matthew Auld 5 siblings, 1 reply; 9+ messages in thread From: Arunpravin Paneer Selvam @ 2026-10-13 14:31 UTC (permalink / raw) To: matthew.auld, dri-devel, intel-gfx, intel-xe, amd-gfx Cc: christian.koenig, alexander.deucher, Anand.Raghavendra Hi Matthew, Could you please review the v4. Thanks, Arun. On 10/9/2026 3:35 PM, Arunpravin Paneer Selvam wrote: > From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> > > Range-restricted allocations (the visible-VRAM aperture) skip > dirty_steer_window() and reach __alloc_range_bias() with no clear/dirty > eligibility guard, so a dirty allocation freely splits clear extents (and > vice versa), interleaving the two classes until no large same-class run > survives and a 4K scanout pin fails with -ENOSPC. Use a two-pass range > search instead: block_incompatible() rejects opposite-class blocks in the > strict pass and relaxes only when the strict pass returns -ENOSPC, so a > request still succeeds when only opposite-class space remains. A KUnit > regression test covers the interleaving pattern and fails without the > guard. > > Fixes: 1ad5e807f716 ("gpu/buddy: replace dual-tree/force_merge with decoupled dirty tracker") > Assisted-by: LLM > Cc: Matthew Auld <matthew.auld@intel.com> > Cc: Christian König <christian.koenig@amd.com> > Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> > --- > drivers/gpu/buddy.c | 71 ++++++++++++++---------------- > drivers/gpu/tests/gpu_buddy_test.c | 65 +++++++++++++++++++++++++++ > 2 files changed, 99 insertions(+), 37 deletions(-) > > diff --git a/drivers/gpu/buddy.c b/drivers/gpu/buddy.c > index 2f2aaadafe35..6566bad4fef1 100644 > --- a/drivers/gpu/buddy.c > +++ b/drivers/gpu/buddy.c > @@ -1240,11 +1240,19 @@ static void __gpu_buddy_undo_splits(struct gpu_buddy *mm, > } > } > > +static bool block_incompatible(struct gpu_buddy_block *block, unsigned int flags) > +{ > + bool needs_clear = flags & GPU_BUDDY_CLEAR_ALLOCATION; > + > + return needs_clear != gpu_buddy_block_is_clear(block); > +} > + > static struct gpu_buddy_block * > __alloc_range_bias(struct gpu_buddy *mm, > u64 start, u64 end, > unsigned int order, > - unsigned long flags) > + unsigned long flags, > + bool fallback) > { > u64 req_size = mm->chunk_size << order; > struct gpu_buddy_block *block; > @@ -1258,9 +1266,7 @@ __alloc_range_bias(struct gpu_buddy *mm, > * This range-constrained search hands back the highest/right-most > * address that satisfies the request: the roots are seeded high-to-low > * and the right (higher-address) child is descended first, making > - * top-down the default placement here. A non-top-down clear request is > - * the only exception, where the descent is biased towards clear or > - * clear-containing subtrees to satisfy the clear preference. > + * top-down the default placement here. > */ > for (i = mm->n_roots - 1; i >= 0; --i) > list_add_tail(&mm->roots[i]->tmp_link, &dfs); > @@ -1298,6 +1304,9 @@ __alloc_range_bias(struct gpu_buddy *mm, > continue; > } > > + if (!fallback && block_incompatible(block, flags)) > + continue; > + > if (contains(start, end, block_start, block_end) && > order == gpu_buddy_block_order(block)) { > /* > @@ -1315,38 +1324,8 @@ __alloc_range_bias(struct gpu_buddy *mm, > goto err_undo; > } > > - /* > - * Top-down is a strict address-placement policy, so when it is > - * requested we ignore clear steering and simply descend the > - * right (higher-address) child first. Only a non-top-down clear > - * request biases the descent towards clear/has_clear subtrees. > - */ > - if ((flags & GPU_BUDDY_CLEAR_ALLOCATION) && > - !(flags & GPU_BUDDY_TOPDOWN_ALLOCATION)) { > - struct gpu_buddy_block *prefer; > - > - if (gpu_buddy_block_is_clear(block->right)) > - prefer = block->right; > - else if (gpu_buddy_block_is_clear(block->left)) > - prefer = block->left; > - else if (block->right->has_clear) > - prefer = block->right; > - else if (block->left->has_clear) > - prefer = block->left; > - else > - prefer = block->right; > - > - if (prefer == block->right) { > - list_add(&block->left->tmp_link, &dfs); > - list_add(&block->right->tmp_link, &dfs); > - } else { > - list_add(&block->right->tmp_link, &dfs); > - list_add(&block->left->tmp_link, &dfs); > - } > - } else { > - list_add(&block->left->tmp_link, &dfs); > - list_add(&block->right->tmp_link, &dfs); > - } > + list_add(&block->left->tmp_link, &dfs); > + list_add(&block->right->tmp_link, &dfs); > } while (1); > > return ERR_PTR(-ENOSPC); > @@ -1361,6 +1340,24 @@ __alloc_range_bias(struct gpu_buddy *mm, > return ERR_PTR(err); > } > > +static struct gpu_buddy_block * > +__gpu_buddy_alloc_range_bias(struct gpu_buddy *mm, > + u64 start, u64 end, > + unsigned int order, > + unsigned long flags) > +{ > + struct gpu_buddy_block *block; > + bool fallback = false; > + > + block = __alloc_range_bias(mm, start, end, order, > + flags, fallback); > + if (IS_ERR(block)) > + return __alloc_range_bias(mm, start, end, order, > + flags, !fallback); > + > + return block; > +} > + > /* Return the highest-address free block of at least @order. */ > static struct gpu_buddy_block * > get_maxblock(struct gpu_buddy *mm, > @@ -1924,7 +1921,7 @@ __gpu_buddy_alloc_blocks(struct gpu_buddy *mm, > > if (flags & GPU_BUDDY_RANGE_ALLOCATION) { > /* Allocate traversing within the range */ > - block = __alloc_range_bias(mm, start, end, order, flags); > + block = __gpu_buddy_alloc_range_bias(mm, start, end, order, flags); > if (!IS_ERR(block) || !steered) > return block; > > diff --git a/drivers/gpu/tests/gpu_buddy_test.c b/drivers/gpu/tests/gpu_buddy_test.c > index b75d32ca6ca0..3eaa261571bf 100644 > --- a/drivers/gpu/tests/gpu_buddy_test.c > +++ b/drivers/gpu/tests/gpu_buddy_test.c > @@ -1597,6 +1597,70 @@ static int gpu_buddy_suite_init(struct kunit_suite *suite) > return 0; > } > > +static void gpu_test_buddy_alloc_range_clear_guard(struct kunit *test) > +{ > + const unsigned long chunk = SZ_1M, mm_size = SZ_4M; > + struct gpu_buddy_block *block; > + LIST_HEAD(high_clear_a); > + LIST_HEAD(high_clear_b); > + LIST_HEAD(low_dirty); > + struct gpu_buddy mm; > + LIST_HEAD(barrier); > + LIST_HEAD(result); > + > + KUNIT_ASSERT_FALSE_MSG(test, gpu_buddy_init(&mm, mm_size, chunk), > + "buddy_init failed\n"); > + > + /* > + * Lay out a 4 MiB aperture as three regions: > + * > + * [0, 1M) dirty free > + * [1M, 2M) allocated (barrier, keeps the two halves un-mergeable) > + * [2M, 4M) clear free (one naturally aligned 2 MiB extent) > + * > + * A dirty (non-clear) range allocation must take the low dirty block > + * and leave the large clear extent intact. Without the guard the > + * top-down search cuts the higher clear extent instead and returns a > + * clear block -- the interleaving that fragments the aperture and > + * ultimately fails a large same-class scanout allocation. > + */ > + KUNIT_ASSERT_FALSE_MSG(test, > + gpu_buddy_alloc_blocks(&mm, 0, chunk, chunk, chunk, > + &low_dirty, GPU_BUDDY_RANGE_ALLOCATION), > + "alloc [0, 1M) failed\n"); > + KUNIT_ASSERT_FALSE_MSG(test, > + gpu_buddy_alloc_blocks(&mm, chunk, 2 * chunk, chunk, chunk, > + &barrier, GPU_BUDDY_RANGE_ALLOCATION), > + "alloc [1M, 2M) failed\n"); > + KUNIT_ASSERT_FALSE_MSG(test, > + gpu_buddy_alloc_blocks(&mm, 2 * chunk, 3 * chunk, chunk, chunk, > + &high_clear_a, GPU_BUDDY_RANGE_ALLOCATION), > + "alloc [2M, 3M) failed\n"); > + KUNIT_ASSERT_FALSE_MSG(test, > + gpu_buddy_alloc_blocks(&mm, 3 * chunk, 4 * chunk, chunk, chunk, > + &high_clear_b, GPU_BUDDY_RANGE_ALLOCATION), > + "alloc [3M, 4M) failed\n"); > + > + /* [2M, 4M) coalesces into one aligned clear extent; [0, 1M) stays dirty. */ > + gpu_buddy_free_list(&mm, &low_dirty, 0); > + gpu_buddy_free_list(&mm, &high_clear_a, GPU_BUDDY_CLEARED); > + gpu_buddy_free_list(&mm, &high_clear_b, GPU_BUDDY_CLEARED); > + > + KUNIT_ASSERT_FALSE_MSG(test, > + gpu_buddy_alloc_blocks(&mm, 0, mm_size, chunk, chunk, > + &result, GPU_BUDDY_RANGE_ALLOCATION), > + "dirty range alloc failed\n"); > + > + block = list_first_entry(&result, struct gpu_buddy_block, link); > + KUNIT_EXPECT_FALSE_MSG(test, gpu_buddy_block_is_clear(block), > + "dirty range alloc cut the clear extent (offset=%llx)\n", > + gpu_buddy_block_offset(block)); > + > + gpu_buddy_free_list(&mm, &result, 0); > + gpu_buddy_free_list(&mm, &barrier, 0); > + gpu_buddy_fini(&mm); > +} > + > static struct kunit_case gpu_buddy_tests[] = { > KUNIT_CASE(gpu_test_buddy_alloc_limit), > KUNIT_CASE(gpu_test_buddy_alloc_optimistic), > @@ -1606,6 +1670,7 @@ static struct kunit_case gpu_buddy_tests[] = { > KUNIT_CASE(gpu_test_buddy_alloc_clear), > KUNIT_CASE(gpu_test_buddy_alloc_range), > KUNIT_CASE(gpu_test_buddy_alloc_range_bias), > + KUNIT_CASE(gpu_test_buddy_alloc_range_clear_guard), > KUNIT_CASE_SLOW(gpu_test_buddy_fragmentation_performance), > KUNIT_CASE_SLOW(gpu_test_buddy_dirty_tracker_performance), > KUNIT_CASE(gpu_test_buddy_alloc_exceeds_max_order), > > base-commit: f146c6086b792cb2c6b3ce5106f0cce62e408df8 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation 2026-10-13 14:31 ` [PATCH v4 1/3] " Arunpravin Paneer Selvam @ 2026-10-13 15:06 ` Matthew Auld 0 siblings, 0 replies; 9+ messages in thread From: Matthew Auld @ 2026-10-13 15:06 UTC (permalink / raw) To: Arunpravin Paneer Selvam, dri-devel, intel-gfx, intel-xe, amd-gfx Cc: christian.koenig, alexander.deucher, Anand.Raghavendra Hey, Yes, going to go through it now. Did you already look over the Sashiko reports: https://sashiko.dev/#/patchset/20261009100546.1103622-1-arunpravin.paneerselvam%40amd.com Are they all false positive? I wanted to hold off reviewing if you were going to re-spin. Also, on the "bugs" tab in Sashiko there was one open buddy issue, which I sent a fix for: https://lore.kernel.org/intel-xe/20261006110706.1636971-2-matthew.auld@intel.com/ Please take a look at that. On 13/10/2026 15:31, Arunpravin Paneer Selvam wrote: > Hi Matthew, > Could you please review the v4. > > Thanks, > Arun. > > On 10/9/2026 3:35 PM, Arunpravin Paneer Selvam wrote: >> From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> >> >> Range-restricted allocations (the visible-VRAM aperture) skip >> dirty_steer_window() and reach __alloc_range_bias() with no clear/dirty >> eligibility guard, so a dirty allocation freely splits clear extents (and >> vice versa), interleaving the two classes until no large same-class run >> survives and a 4K scanout pin fails with -ENOSPC. Use a two-pass range >> search instead: block_incompatible() rejects opposite-class blocks in the >> strict pass and relaxes only when the strict pass returns -ENOSPC, so a >> request still succeeds when only opposite-class space remains. A KUnit >> regression test covers the interleaving pattern and fails without the >> guard. >> >> Fixes: 1ad5e807f716 ("gpu/buddy: replace dual-tree/force_merge with >> decoupled dirty tracker") >> Assisted-by: LLM >> Cc: Matthew Auld <matthew.auld@intel.com> >> Cc: Christian König <christian.koenig@amd.com> >> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> >> --- >> drivers/gpu/buddy.c | 71 ++++++++++++++---------------- >> drivers/gpu/tests/gpu_buddy_test.c | 65 +++++++++++++++++++++++++++ >> 2 files changed, 99 insertions(+), 37 deletions(-) >> >> diff --git a/drivers/gpu/buddy.c b/drivers/gpu/buddy.c >> index 2f2aaadafe35..6566bad4fef1 100644 >> --- a/drivers/gpu/buddy.c >> +++ b/drivers/gpu/buddy.c >> @@ -1240,11 +1240,19 @@ static void __gpu_buddy_undo_splits(struct >> gpu_buddy *mm, >> } >> } >> +static bool block_incompatible(struct gpu_buddy_block *block, >> unsigned int flags) >> +{ >> + bool needs_clear = flags & GPU_BUDDY_CLEAR_ALLOCATION; >> + >> + return needs_clear != gpu_buddy_block_is_clear(block); >> +} >> + >> static struct gpu_buddy_block * >> __alloc_range_bias(struct gpu_buddy *mm, >> u64 start, u64 end, >> unsigned int order, >> - unsigned long flags) >> + unsigned long flags, >> + bool fallback) >> { >> u64 req_size = mm->chunk_size << order; >> struct gpu_buddy_block *block; >> @@ -1258,9 +1266,7 @@ __alloc_range_bias(struct gpu_buddy *mm, >> * This range-constrained search hands back the highest/right-most >> * address that satisfies the request: the roots are seeded >> high-to-low >> * and the right (higher-address) child is descended first, making >> - * top-down the default placement here. A non-top-down clear >> request is >> - * the only exception, where the descent is biased towards clear or >> - * clear-containing subtrees to satisfy the clear preference. >> + * top-down the default placement here. >> */ >> for (i = mm->n_roots - 1; i >= 0; --i) >> list_add_tail(&mm->roots[i]->tmp_link, &dfs); >> @@ -1298,6 +1304,9 @@ __alloc_range_bias(struct gpu_buddy *mm, >> continue; >> } >> + if (!fallback && block_incompatible(block, flags)) >> + continue; >> + >> if (contains(start, end, block_start, block_end) && >> order == gpu_buddy_block_order(block)) { >> /* >> @@ -1315,38 +1324,8 @@ __alloc_range_bias(struct gpu_buddy *mm, >> goto err_undo; >> } >> - /* >> - * Top-down is a strict address-placement policy, so when it is >> - * requested we ignore clear steering and simply descend the >> - * right (higher-address) child first. Only a non-top-down clear >> - * request biases the descent towards clear/has_clear subtrees. >> - */ >> - if ((flags & GPU_BUDDY_CLEAR_ALLOCATION) && >> - !(flags & GPU_BUDDY_TOPDOWN_ALLOCATION)) { >> - struct gpu_buddy_block *prefer; >> - >> - if (gpu_buddy_block_is_clear(block->right)) >> - prefer = block->right; >> - else if (gpu_buddy_block_is_clear(block->left)) >> - prefer = block->left; >> - else if (block->right->has_clear) >> - prefer = block->right; >> - else if (block->left->has_clear) >> - prefer = block->left; >> - else >> - prefer = block->right; >> - >> - if (prefer == block->right) { >> - list_add(&block->left->tmp_link, &dfs); >> - list_add(&block->right->tmp_link, &dfs); >> - } else { >> - list_add(&block->right->tmp_link, &dfs); >> - list_add(&block->left->tmp_link, &dfs); >> - } >> - } else { >> - list_add(&block->left->tmp_link, &dfs); >> - list_add(&block->right->tmp_link, &dfs); >> - } >> + list_add(&block->left->tmp_link, &dfs); >> + list_add(&block->right->tmp_link, &dfs); >> } while (1); >> return ERR_PTR(-ENOSPC); >> @@ -1361,6 +1340,24 @@ __alloc_range_bias(struct gpu_buddy *mm, >> return ERR_PTR(err); >> } >> +static struct gpu_buddy_block * >> +__gpu_buddy_alloc_range_bias(struct gpu_buddy *mm, >> + u64 start, u64 end, >> + unsigned int order, >> + unsigned long flags) >> +{ >> + struct gpu_buddy_block *block; >> + bool fallback = false; >> + >> + block = __alloc_range_bias(mm, start, end, order, >> + flags, fallback); >> + if (IS_ERR(block)) >> + return __alloc_range_bias(mm, start, end, order, >> + flags, !fallback); >> + >> + return block; >> +} >> + >> /* Return the highest-address free block of at least @order. */ >> static struct gpu_buddy_block * >> get_maxblock(struct gpu_buddy *mm, >> @@ -1924,7 +1921,7 @@ __gpu_buddy_alloc_blocks(struct gpu_buddy *mm, >> if (flags & GPU_BUDDY_RANGE_ALLOCATION) { >> /* Allocate traversing within the range */ >> - block = __alloc_range_bias(mm, start, end, order, flags); >> + block = __gpu_buddy_alloc_range_bias(mm, start, end, order, >> flags); >> if (!IS_ERR(block) || !steered) >> return block; >> diff --git a/drivers/gpu/tests/gpu_buddy_test.c b/drivers/gpu/tests/ >> gpu_buddy_test.c >> index b75d32ca6ca0..3eaa261571bf 100644 >> --- a/drivers/gpu/tests/gpu_buddy_test.c >> +++ b/drivers/gpu/tests/gpu_buddy_test.c >> @@ -1597,6 +1597,70 @@ static int gpu_buddy_suite_init(struct >> kunit_suite *suite) >> return 0; >> } >> +static void gpu_test_buddy_alloc_range_clear_guard(struct kunit *test) >> +{ >> + const unsigned long chunk = SZ_1M, mm_size = SZ_4M; >> + struct gpu_buddy_block *block; >> + LIST_HEAD(high_clear_a); >> + LIST_HEAD(high_clear_b); >> + LIST_HEAD(low_dirty); >> + struct gpu_buddy mm; >> + LIST_HEAD(barrier); >> + LIST_HEAD(result); >> + >> + KUNIT_ASSERT_FALSE_MSG(test, gpu_buddy_init(&mm, mm_size, chunk), >> + "buddy_init failed\n"); >> + >> + /* >> + * Lay out a 4 MiB aperture as three regions: >> + * >> + * [0, 1M) dirty free >> + * [1M, 2M) allocated (barrier, keeps the two halves un- >> mergeable) >> + * [2M, 4M) clear free (one naturally aligned 2 MiB extent) >> + * >> + * A dirty (non-clear) range allocation must take the low dirty >> block >> + * and leave the large clear extent intact. Without the guard the >> + * top-down search cuts the higher clear extent instead and >> returns a >> + * clear block -- the interleaving that fragments the aperture and >> + * ultimately fails a large same-class scanout allocation. >> + */ >> + KUNIT_ASSERT_FALSE_MSG(test, >> + gpu_buddy_alloc_blocks(&mm, 0, chunk, chunk, chunk, >> + &low_dirty, GPU_BUDDY_RANGE_ALLOCATION), >> + "alloc [0, 1M) failed\n"); >> + KUNIT_ASSERT_FALSE_MSG(test, >> + gpu_buddy_alloc_blocks(&mm, chunk, 2 * chunk, >> chunk, chunk, >> + &barrier, GPU_BUDDY_RANGE_ALLOCATION), >> + "alloc [1M, 2M) failed\n"); >> + KUNIT_ASSERT_FALSE_MSG(test, >> + gpu_buddy_alloc_blocks(&mm, 2 * chunk, 3 * chunk, >> chunk, chunk, >> + &high_clear_a, >> GPU_BUDDY_RANGE_ALLOCATION), >> + "alloc [2M, 3M) failed\n"); >> + KUNIT_ASSERT_FALSE_MSG(test, >> + gpu_buddy_alloc_blocks(&mm, 3 * chunk, 4 * chunk, >> chunk, chunk, >> + &high_clear_b, >> GPU_BUDDY_RANGE_ALLOCATION), >> + "alloc [3M, 4M) failed\n"); >> + >> + /* [2M, 4M) coalesces into one aligned clear extent; [0, 1M) >> stays dirty. */ >> + gpu_buddy_free_list(&mm, &low_dirty, 0); >> + gpu_buddy_free_list(&mm, &high_clear_a, GPU_BUDDY_CLEARED); >> + gpu_buddy_free_list(&mm, &high_clear_b, GPU_BUDDY_CLEARED); >> + >> + KUNIT_ASSERT_FALSE_MSG(test, >> + gpu_buddy_alloc_blocks(&mm, 0, mm_size, chunk, chunk, >> + &result, GPU_BUDDY_RANGE_ALLOCATION), >> + "dirty range alloc failed\n"); >> + >> + block = list_first_entry(&result, struct gpu_buddy_block, link); >> + KUNIT_EXPECT_FALSE_MSG(test, gpu_buddy_block_is_clear(block), >> + "dirty range alloc cut the clear extent >> (offset=%llx)\n", >> + gpu_buddy_block_offset(block)); >> + >> + gpu_buddy_free_list(&mm, &result, 0); >> + gpu_buddy_free_list(&mm, &barrier, 0); >> + gpu_buddy_fini(&mm); >> +} >> + >> static struct kunit_case gpu_buddy_tests[] = { >> KUNIT_CASE(gpu_test_buddy_alloc_limit), >> KUNIT_CASE(gpu_test_buddy_alloc_optimistic), >> @@ -1606,6 +1670,7 @@ static struct kunit_case gpu_buddy_tests[] = { >> KUNIT_CASE(gpu_test_buddy_alloc_clear), >> KUNIT_CASE(gpu_test_buddy_alloc_range), >> KUNIT_CASE(gpu_test_buddy_alloc_range_bias), >> + KUNIT_CASE(gpu_test_buddy_alloc_range_clear_guard), >> KUNIT_CASE_SLOW(gpu_test_buddy_fragmentation_performance), >> KUNIT_CASE_SLOW(gpu_test_buddy_dirty_tracker_performance), >> KUNIT_CASE(gpu_test_buddy_alloc_exceeds_max_order), >> >> base-commit: f146c6086b792cb2c6b3ce5106f0cce62e408df8 > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-10-13 15:07 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-10-09 10:05 [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation Arunpravin Paneer Selvam 2026-10-09 10:05 ` [PATCH v4 2/3] gpu/buddy: add range-restricted contiguous allocation fallback Arunpravin Paneer Selvam 2026-10-09 10:23 ` sashiko-bot 2026-10-09 10:05 ` [PATCH v4 3/3] gpu/buddy: search lower orders in contiguous try-harder fallback Arunpravin Paneer Selvam 2026-10-09 10:17 ` [PATCH v4 1/3] gpu/buddy: restore two-pass clear/dirty guard for range-biased allocation sashiko-bot 2026-10-09 12:07 ` ✓ i915.CI.BAT: success for series starting with [v4,1/3] " Patchwork 2026-10-09 14:58 ` ✓ i915.CI.Full: " Patchwork 2026-10-13 14:31 ` [PATCH v4 1/3] " Arunpravin Paneer Selvam 2026-10-13 15:06 ` Matthew Auld
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox