* [Intel-gfx] [PATCH v3] drm/i915/ttm: fix sg_table construction
@ 2022-07-11 8:58 ` Matthew Auld
0 siblings, 0 replies; 9+ messages in thread
From: Matthew Auld @ 2022-07-11 8:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Thomas Hellström, dri-devel
If we encounter some monster sized local-memory page that exceeds the
maximum sg length (UINT32_MAX), ensure that don't end up with some
misaligned address in the entry that follows, leading to fireworks
later. Also ensure we have some coverage of this in the selftests.
v2(Chris):
- Use round_down consistently to avoid udiv errors
v3(Nirmoy):
- Also update the max_segment in the selftest
Fixes: f701b16d4cc5 ("drm/i915/ttm: add i915_sg_from_buddy_resource")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6379
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Nirmoy Das <nirmoy.das@linux.intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 11 ++++++++--
drivers/gpu/drm/i915/i915_scatterlist.c | 19 +++++++++++++----
drivers/gpu/drm/i915/i915_scatterlist.h | 6 ++++--
drivers/gpu/drm/i915/intel_region_ttm.c | 10 ++++++---
drivers/gpu/drm/i915/intel_region_ttm.h | 3 ++-
.../drm/i915/selftests/intel_memory_region.c | 21 +++++++++++++++++--
drivers/gpu/drm/i915/selftests/mock_region.c | 3 ++-
7 files changed, 58 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index 7e1f8b83077f..c5c8aa1f8558 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -602,10 +602,15 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj,
struct ttm_resource *res)
{
struct ttm_buffer_object *bo = i915_gem_to_ttm(obj);
+ u64 page_alignment;
if (!i915_ttm_gtt_binds_lmem(res))
return i915_ttm_tt_get_st(bo->ttm);
+ page_alignment = bo->page_alignment << PAGE_SHIFT;
+ if (!page_alignment)
+ page_alignment = obj->mm.region->min_page_size;
+
/*
* If CPU mapping differs, we need to add the ttm_tt pages to
* the resulting st. Might make sense for GGTT.
@@ -616,7 +621,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj,
struct i915_refct_sgt *rsgt;
rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region,
- res);
+ res,
+ page_alignment);
if (IS_ERR(rsgt))
return rsgt;
@@ -625,7 +631,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj,
return i915_refct_sgt_get(obj->ttm.cached_io_rsgt);
}
- return intel_region_ttm_resource_to_rsgt(obj->mm.region, res);
+ return intel_region_ttm_resource_to_rsgt(obj->mm.region, res,
+ page_alignment);
}
static int i915_ttm_truncate(struct drm_i915_gem_object *obj)
diff --git a/drivers/gpu/drm/i915/i915_scatterlist.c b/drivers/gpu/drm/i915/i915_scatterlist.c
index 159571b9bd24..f63b50b71e10 100644
--- a/drivers/gpu/drm/i915/i915_scatterlist.c
+++ b/drivers/gpu/drm/i915/i915_scatterlist.c
@@ -68,6 +68,7 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size)
* drm_mm_node
* @node: The drm_mm_node.
* @region_start: An offset to add to the dma addresses of the sg list.
+ * @page_alignment: Required page alignment for each sg entry. Power of two.
*
* Create a struct sg_table, initializing it from a struct drm_mm_node,
* taking a maximum segment length into account, splitting into segments
@@ -77,15 +78,18 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size)
* error code cast to an error pointer on failure.
*/
struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node,
- u64 region_start)
+ u64 region_start,
+ u64 page_alignment)
{
- const u64 max_segment = SZ_1G; /* Do we have a limit on this? */
+ const u64 max_segment = round_down(UINT_MAX, page_alignment);
u64 segment_pages = max_segment >> PAGE_SHIFT;
u64 block_size, offset, prev_end;
struct i915_refct_sgt *rsgt;
struct sg_table *st;
struct scatterlist *sg;
+ GEM_BUG_ON(!max_segment);
+
rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL);
if (!rsgt)
return ERR_PTR(-ENOMEM);
@@ -112,6 +116,8 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node,
sg = __sg_next(sg);
sg_dma_address(sg) = region_start + offset;
+ GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg),
+ page_alignment));
sg_dma_len(sg) = 0;
sg->length = 0;
st->nents++;
@@ -138,6 +144,7 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node,
* i915_buddy_block list
* @res: The struct i915_ttm_buddy_resource.
* @region_start: An offset to add to the dma addresses of the sg list.
+ * @page_alignment: Required page alignment for each sg entry. Power of two.
*
* Create a struct sg_table, initializing it from struct i915_buddy_block list,
* taking a maximum segment length into account, splitting into segments
@@ -147,11 +154,12 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node,
* error code cast to an error pointer on failure.
*/
struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res,
- u64 region_start)
+ u64 region_start,
+ u64 page_alignment)
{
struct i915_ttm_buddy_resource *bman_res = to_ttm_buddy_resource(res);
const u64 size = res->num_pages << PAGE_SHIFT;
- const u64 max_segment = rounddown(UINT_MAX, PAGE_SIZE);
+ const u64 max_segment = round_down(UINT_MAX, page_alignment);
struct drm_buddy *mm = bman_res->mm;
struct list_head *blocks = &bman_res->blocks;
struct drm_buddy_block *block;
@@ -161,6 +169,7 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res,
resource_size_t prev_end;
GEM_BUG_ON(list_empty(blocks));
+ GEM_BUG_ON(!max_segment);
rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL);
if (!rsgt)
@@ -191,6 +200,8 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res,
sg = __sg_next(sg);
sg_dma_address(sg) = region_start + offset;
+ GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg),
+ page_alignment));
sg_dma_len(sg) = 0;
sg->length = 0;
st->nents++;
diff --git a/drivers/gpu/drm/i915/i915_scatterlist.h b/drivers/gpu/drm/i915/i915_scatterlist.h
index 12c6a1684081..b13e4cdea923 100644
--- a/drivers/gpu/drm/i915/i915_scatterlist.h
+++ b/drivers/gpu/drm/i915/i915_scatterlist.h
@@ -213,9 +213,11 @@ static inline void __i915_refct_sgt_init(struct i915_refct_sgt *rsgt,
void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size);
struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node,
- u64 region_start);
+ u64 region_start,
+ u64 page_alignment);
struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res,
- u64 region_start);
+ u64 region_start,
+ u64 page_alignment);
#endif
diff --git a/drivers/gpu/drm/i915/intel_region_ttm.c b/drivers/gpu/drm/i915/intel_region_ttm.c
index 62ff77445b01..6873808a7015 100644
--- a/drivers/gpu/drm/i915/intel_region_ttm.c
+++ b/drivers/gpu/drm/i915/intel_region_ttm.c
@@ -152,6 +152,7 @@ int intel_region_ttm_fini(struct intel_memory_region *mem)
* Convert an opaque TTM resource manager resource to a refcounted sg_table.
* @mem: The memory region.
* @res: The resource manager resource obtained from the TTM resource manager.
+ * @page_alignment: Required page alignment for each sg entry. Power of two.
*
* The gem backends typically use sg-tables for operations on the underlying
* io_memory. So provide a way for the backends to translate the
@@ -161,16 +162,19 @@ int intel_region_ttm_fini(struct intel_memory_region *mem)
*/
struct i915_refct_sgt *
intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem,
- struct ttm_resource *res)
+ struct ttm_resource *res,
+ u64 page_alignment)
{
if (mem->is_range_manager) {
struct ttm_range_mgr_node *range_node =
to_ttm_range_mgr_node(res);
return i915_rsgt_from_mm_node(&range_node->mm_nodes[0],
- mem->region.start);
+ mem->region.start,
+ page_alignment);
} else {
- return i915_rsgt_from_buddy_resource(res, mem->region.start);
+ return i915_rsgt_from_buddy_resource(res, mem->region.start,
+ page_alignment);
}
}
diff --git a/drivers/gpu/drm/i915/intel_region_ttm.h b/drivers/gpu/drm/i915/intel_region_ttm.h
index cf9d86dcf409..98fba5155619 100644
--- a/drivers/gpu/drm/i915/intel_region_ttm.h
+++ b/drivers/gpu/drm/i915/intel_region_ttm.h
@@ -24,7 +24,8 @@ int intel_region_ttm_fini(struct intel_memory_region *mem);
struct i915_refct_sgt *
intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem,
- struct ttm_resource *res);
+ struct ttm_resource *res,
+ u64 page_alignment);
void intel_region_ttm_resource_free(struct intel_memory_region *mem,
struct ttm_resource *res);
diff --git a/drivers/gpu/drm/i915/selftests/intel_memory_region.c b/drivers/gpu/drm/i915/selftests/intel_memory_region.c
index 73eb53edb8de..3b18e5905c86 100644
--- a/drivers/gpu/drm/i915/selftests/intel_memory_region.c
+++ b/drivers/gpu/drm/i915/selftests/intel_memory_region.c
@@ -451,7 +451,6 @@ static int igt_mock_splintered_region(void *arg)
static int igt_mock_max_segment(void *arg)
{
- const unsigned int max_segment = rounddown(UINT_MAX, PAGE_SIZE);
struct intel_memory_region *mem = arg;
struct drm_i915_private *i915 = mem->i915;
struct i915_ttm_buddy_resource *res;
@@ -460,7 +459,10 @@ static int igt_mock_max_segment(void *arg)
struct drm_buddy *mm;
struct list_head *blocks;
struct scatterlist *sg;
+ I915_RND_STATE(prng);
LIST_HEAD(objects);
+ unsigned int max_segment;
+ unsigned int ps;
u64 size;
int err = 0;
@@ -472,7 +474,13 @@ static int igt_mock_max_segment(void *arg)
*/
size = SZ_8G;
- mem = mock_region_create(i915, 0, size, PAGE_SIZE, 0, 0);
+ ps = PAGE_SIZE;
+ if (i915_prandom_u64_state(&prng) & 1)
+ ps = SZ_64K; /* For something like DG2 */
+
+ max_segment = round_down(UINT_MAX, ps);
+
+ mem = mock_region_create(i915, 0, size, ps, 0, 0);
if (IS_ERR(mem))
return PTR_ERR(mem);
@@ -498,12 +506,21 @@ static int igt_mock_max_segment(void *arg)
}
for (sg = obj->mm.pages->sgl; sg; sg = sg_next(sg)) {
+ dma_addr_t daddr = sg_dma_address(sg);
+
if (sg->length > max_segment) {
pr_err("%s: Created an oversized scatterlist entry, %u > %u\n",
__func__, sg->length, max_segment);
err = -EINVAL;
goto out_close;
}
+
+ if (!IS_ALIGNED(daddr, ps)) {
+ pr_err("%s: Created an unaligned scatterlist entry, addr=%pa, ps=%u\n",
+ __func__, &daddr, ps);
+ err = -EINVAL;
+ goto out_close;
+ }
}
out_close:
diff --git a/drivers/gpu/drm/i915/selftests/mock_region.c b/drivers/gpu/drm/i915/selftests/mock_region.c
index 670557ce1024..bac21fe84ca5 100644
--- a/drivers/gpu/drm/i915/selftests/mock_region.c
+++ b/drivers/gpu/drm/i915/selftests/mock_region.c
@@ -33,7 +33,8 @@ static int mock_region_get_pages(struct drm_i915_gem_object *obj)
return PTR_ERR(obj->mm.res);
obj->mm.rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region,
- obj->mm.res);
+ obj->mm.res,
+ obj->mm.region->min_page_size);
if (IS_ERR(obj->mm.rsgt)) {
err = PTR_ERR(obj->mm.rsgt);
goto err_free_resource;
--
2.36.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH v3] drm/i915/ttm: fix sg_table construction @ 2022-07-11 8:58 ` Matthew Auld 0 siblings, 0 replies; 9+ messages in thread From: Matthew Auld @ 2022-07-11 8:58 UTC (permalink / raw) To: intel-gfx; +Cc: Thomas Hellström, dri-devel, Nirmoy Das If we encounter some monster sized local-memory page that exceeds the maximum sg length (UINT32_MAX), ensure that don't end up with some misaligned address in the entry that follows, leading to fireworks later. Also ensure we have some coverage of this in the selftests. v2(Chris): - Use round_down consistently to avoid udiv errors v3(Nirmoy): - Also update the max_segment in the selftest Fixes: f701b16d4cc5 ("drm/i915/ttm: add i915_sg_from_buddy_resource") Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6379 Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Nirmoy Das <nirmoy.das@linux.intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 11 ++++++++-- drivers/gpu/drm/i915/i915_scatterlist.c | 19 +++++++++++++---- drivers/gpu/drm/i915/i915_scatterlist.h | 6 ++++-- drivers/gpu/drm/i915/intel_region_ttm.c | 10 ++++++--- drivers/gpu/drm/i915/intel_region_ttm.h | 3 ++- .../drm/i915/selftests/intel_memory_region.c | 21 +++++++++++++++++-- drivers/gpu/drm/i915/selftests/mock_region.c | 3 ++- 7 files changed, 58 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c index 7e1f8b83077f..c5c8aa1f8558 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c @@ -602,10 +602,15 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, struct ttm_resource *res) { struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); + u64 page_alignment; if (!i915_ttm_gtt_binds_lmem(res)) return i915_ttm_tt_get_st(bo->ttm); + page_alignment = bo->page_alignment << PAGE_SHIFT; + if (!page_alignment) + page_alignment = obj->mm.region->min_page_size; + /* * If CPU mapping differs, we need to add the ttm_tt pages to * the resulting st. Might make sense for GGTT. @@ -616,7 +621,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, struct i915_refct_sgt *rsgt; rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region, - res); + res, + page_alignment); if (IS_ERR(rsgt)) return rsgt; @@ -625,7 +631,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, return i915_refct_sgt_get(obj->ttm.cached_io_rsgt); } - return intel_region_ttm_resource_to_rsgt(obj->mm.region, res); + return intel_region_ttm_resource_to_rsgt(obj->mm.region, res, + page_alignment); } static int i915_ttm_truncate(struct drm_i915_gem_object *obj) diff --git a/drivers/gpu/drm/i915/i915_scatterlist.c b/drivers/gpu/drm/i915/i915_scatterlist.c index 159571b9bd24..f63b50b71e10 100644 --- a/drivers/gpu/drm/i915/i915_scatterlist.c +++ b/drivers/gpu/drm/i915/i915_scatterlist.c @@ -68,6 +68,7 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size) * drm_mm_node * @node: The drm_mm_node. * @region_start: An offset to add to the dma addresses of the sg list. + * @page_alignment: Required page alignment for each sg entry. Power of two. * * Create a struct sg_table, initializing it from a struct drm_mm_node, * taking a maximum segment length into account, splitting into segments @@ -77,15 +78,18 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size) * error code cast to an error pointer on failure. */ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, - u64 region_start) + u64 region_start, + u64 page_alignment) { - const u64 max_segment = SZ_1G; /* Do we have a limit on this? */ + const u64 max_segment = round_down(UINT_MAX, page_alignment); u64 segment_pages = max_segment >> PAGE_SHIFT; u64 block_size, offset, prev_end; struct i915_refct_sgt *rsgt; struct sg_table *st; struct scatterlist *sg; + GEM_BUG_ON(!max_segment); + rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL); if (!rsgt) return ERR_PTR(-ENOMEM); @@ -112,6 +116,8 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, sg = __sg_next(sg); sg_dma_address(sg) = region_start + offset; + GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg), + page_alignment)); sg_dma_len(sg) = 0; sg->length = 0; st->nents++; @@ -138,6 +144,7 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, * i915_buddy_block list * @res: The struct i915_ttm_buddy_resource. * @region_start: An offset to add to the dma addresses of the sg list. + * @page_alignment: Required page alignment for each sg entry. Power of two. * * Create a struct sg_table, initializing it from struct i915_buddy_block list, * taking a maximum segment length into account, splitting into segments @@ -147,11 +154,12 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, * error code cast to an error pointer on failure. */ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, - u64 region_start) + u64 region_start, + u64 page_alignment) { struct i915_ttm_buddy_resource *bman_res = to_ttm_buddy_resource(res); const u64 size = res->num_pages << PAGE_SHIFT; - const u64 max_segment = rounddown(UINT_MAX, PAGE_SIZE); + const u64 max_segment = round_down(UINT_MAX, page_alignment); struct drm_buddy *mm = bman_res->mm; struct list_head *blocks = &bman_res->blocks; struct drm_buddy_block *block; @@ -161,6 +169,7 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, resource_size_t prev_end; GEM_BUG_ON(list_empty(blocks)); + GEM_BUG_ON(!max_segment); rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL); if (!rsgt) @@ -191,6 +200,8 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, sg = __sg_next(sg); sg_dma_address(sg) = region_start + offset; + GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg), + page_alignment)); sg_dma_len(sg) = 0; sg->length = 0; st->nents++; diff --git a/drivers/gpu/drm/i915/i915_scatterlist.h b/drivers/gpu/drm/i915/i915_scatterlist.h index 12c6a1684081..b13e4cdea923 100644 --- a/drivers/gpu/drm/i915/i915_scatterlist.h +++ b/drivers/gpu/drm/i915/i915_scatterlist.h @@ -213,9 +213,11 @@ static inline void __i915_refct_sgt_init(struct i915_refct_sgt *rsgt, void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size); struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, - u64 region_start); + u64 region_start, + u64 page_alignment); struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, - u64 region_start); + u64 region_start, + u64 page_alignment); #endif diff --git a/drivers/gpu/drm/i915/intel_region_ttm.c b/drivers/gpu/drm/i915/intel_region_ttm.c index 62ff77445b01..6873808a7015 100644 --- a/drivers/gpu/drm/i915/intel_region_ttm.c +++ b/drivers/gpu/drm/i915/intel_region_ttm.c @@ -152,6 +152,7 @@ int intel_region_ttm_fini(struct intel_memory_region *mem) * Convert an opaque TTM resource manager resource to a refcounted sg_table. * @mem: The memory region. * @res: The resource manager resource obtained from the TTM resource manager. + * @page_alignment: Required page alignment for each sg entry. Power of two. * * The gem backends typically use sg-tables for operations on the underlying * io_memory. So provide a way for the backends to translate the @@ -161,16 +162,19 @@ int intel_region_ttm_fini(struct intel_memory_region *mem) */ struct i915_refct_sgt * intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem, - struct ttm_resource *res) + struct ttm_resource *res, + u64 page_alignment) { if (mem->is_range_manager) { struct ttm_range_mgr_node *range_node = to_ttm_range_mgr_node(res); return i915_rsgt_from_mm_node(&range_node->mm_nodes[0], - mem->region.start); + mem->region.start, + page_alignment); } else { - return i915_rsgt_from_buddy_resource(res, mem->region.start); + return i915_rsgt_from_buddy_resource(res, mem->region.start, + page_alignment); } } diff --git a/drivers/gpu/drm/i915/intel_region_ttm.h b/drivers/gpu/drm/i915/intel_region_ttm.h index cf9d86dcf409..98fba5155619 100644 --- a/drivers/gpu/drm/i915/intel_region_ttm.h +++ b/drivers/gpu/drm/i915/intel_region_ttm.h @@ -24,7 +24,8 @@ int intel_region_ttm_fini(struct intel_memory_region *mem); struct i915_refct_sgt * intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem, - struct ttm_resource *res); + struct ttm_resource *res, + u64 page_alignment); void intel_region_ttm_resource_free(struct intel_memory_region *mem, struct ttm_resource *res); diff --git a/drivers/gpu/drm/i915/selftests/intel_memory_region.c b/drivers/gpu/drm/i915/selftests/intel_memory_region.c index 73eb53edb8de..3b18e5905c86 100644 --- a/drivers/gpu/drm/i915/selftests/intel_memory_region.c +++ b/drivers/gpu/drm/i915/selftests/intel_memory_region.c @@ -451,7 +451,6 @@ static int igt_mock_splintered_region(void *arg) static int igt_mock_max_segment(void *arg) { - const unsigned int max_segment = rounddown(UINT_MAX, PAGE_SIZE); struct intel_memory_region *mem = arg; struct drm_i915_private *i915 = mem->i915; struct i915_ttm_buddy_resource *res; @@ -460,7 +459,10 @@ static int igt_mock_max_segment(void *arg) struct drm_buddy *mm; struct list_head *blocks; struct scatterlist *sg; + I915_RND_STATE(prng); LIST_HEAD(objects); + unsigned int max_segment; + unsigned int ps; u64 size; int err = 0; @@ -472,7 +474,13 @@ static int igt_mock_max_segment(void *arg) */ size = SZ_8G; - mem = mock_region_create(i915, 0, size, PAGE_SIZE, 0, 0); + ps = PAGE_SIZE; + if (i915_prandom_u64_state(&prng) & 1) + ps = SZ_64K; /* For something like DG2 */ + + max_segment = round_down(UINT_MAX, ps); + + mem = mock_region_create(i915, 0, size, ps, 0, 0); if (IS_ERR(mem)) return PTR_ERR(mem); @@ -498,12 +506,21 @@ static int igt_mock_max_segment(void *arg) } for (sg = obj->mm.pages->sgl; sg; sg = sg_next(sg)) { + dma_addr_t daddr = sg_dma_address(sg); + if (sg->length > max_segment) { pr_err("%s: Created an oversized scatterlist entry, %u > %u\n", __func__, sg->length, max_segment); err = -EINVAL; goto out_close; } + + if (!IS_ALIGNED(daddr, ps)) { + pr_err("%s: Created an unaligned scatterlist entry, addr=%pa, ps=%u\n", + __func__, &daddr, ps); + err = -EINVAL; + goto out_close; + } } out_close: diff --git a/drivers/gpu/drm/i915/selftests/mock_region.c b/drivers/gpu/drm/i915/selftests/mock_region.c index 670557ce1024..bac21fe84ca5 100644 --- a/drivers/gpu/drm/i915/selftests/mock_region.c +++ b/drivers/gpu/drm/i915/selftests/mock_region.c @@ -33,7 +33,8 @@ static int mock_region_get_pages(struct drm_i915_gem_object *obj) return PTR_ERR(obj->mm.res); obj->mm.rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region, - obj->mm.res); + obj->mm.res, + obj->mm.region->min_page_size); if (IS_ERR(obj->mm.rsgt)) { err = PTR_ERR(obj->mm.rsgt); goto err_free_resource; -- 2.36.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915/ttm: fix sg_table construction 2022-07-11 8:58 ` Matthew Auld @ 2022-07-11 9:53 ` Das, Nirmoy -1 siblings, 0 replies; 9+ messages in thread From: Das, Nirmoy @ 2022-07-11 9:53 UTC (permalink / raw) To: Matthew Auld, intel-gfx; +Cc: Thomas Hellström, dri-devel On 7/11/2022 10:58 AM, Matthew Auld wrote: > If we encounter some monster sized local-memory page that exceeds the > maximum sg length (UINT32_MAX), ensure that don't end up with some > misaligned address in the entry that follows, leading to fireworks > later. Also ensure we have some coverage of this in the selftests. > > v2(Chris): > - Use round_down consistently to avoid udiv errors > v3(Nirmoy): > - Also update the max_segment in the selftest > > Fixes: f701b16d4cc5 ("drm/i915/ttm: add i915_sg_from_buddy_resource") > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6379 > Signed-off-by: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> > Cc: Nirmoy Das <nirmoy.das@linux.intel.com> > --- > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 11 ++++++++-- > drivers/gpu/drm/i915/i915_scatterlist.c | 19 +++++++++++++---- > drivers/gpu/drm/i915/i915_scatterlist.h | 6 ++++-- > drivers/gpu/drm/i915/intel_region_ttm.c | 10 ++++++--- > drivers/gpu/drm/i915/intel_region_ttm.h | 3 ++- > .../drm/i915/selftests/intel_memory_region.c | 21 +++++++++++++++++-- > drivers/gpu/drm/i915/selftests/mock_region.c | 3 ++- > 7 files changed, 58 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > index 7e1f8b83077f..c5c8aa1f8558 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > @@ -602,10 +602,15 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, > struct ttm_resource *res) > { > struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); > + u64 page_alignment; > > if (!i915_ttm_gtt_binds_lmem(res)) > return i915_ttm_tt_get_st(bo->ttm); > > + page_alignment = bo->page_alignment << PAGE_SHIFT; > + if (!page_alignment) > + page_alignment = obj->mm.region->min_page_size; > + > /* > * If CPU mapping differs, we need to add the ttm_tt pages to > * the resulting st. Might make sense for GGTT. > @@ -616,7 +621,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, > struct i915_refct_sgt *rsgt; > > rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region, > - res); > + res, > + page_alignment); > if (IS_ERR(rsgt)) > return rsgt; > > @@ -625,7 +631,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, > return i915_refct_sgt_get(obj->ttm.cached_io_rsgt); > } > > - return intel_region_ttm_resource_to_rsgt(obj->mm.region, res); > + return intel_region_ttm_resource_to_rsgt(obj->mm.region, res, > + page_alignment); > } > > static int i915_ttm_truncate(struct drm_i915_gem_object *obj) > diff --git a/drivers/gpu/drm/i915/i915_scatterlist.c b/drivers/gpu/drm/i915/i915_scatterlist.c > index 159571b9bd24..f63b50b71e10 100644 > --- a/drivers/gpu/drm/i915/i915_scatterlist.c > +++ b/drivers/gpu/drm/i915/i915_scatterlist.c > @@ -68,6 +68,7 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size) > * drm_mm_node > * @node: The drm_mm_node. > * @region_start: An offset to add to the dma addresses of the sg list. > + * @page_alignment: Required page alignment for each sg entry. Power of two. > * > * Create a struct sg_table, initializing it from a struct drm_mm_node, > * taking a maximum segment length into account, splitting into segments > @@ -77,15 +78,18 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size) > * error code cast to an error pointer on failure. > */ > struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > - u64 region_start) > + u64 region_start, > + u64 page_alignment) > { > - const u64 max_segment = SZ_1G; /* Do we have a limit on this? */ > + const u64 max_segment = round_down(UINT_MAX, page_alignment); > u64 segment_pages = max_segment >> PAGE_SHIFT; > u64 block_size, offset, prev_end; > struct i915_refct_sgt *rsgt; > struct sg_table *st; > struct scatterlist *sg; > > + GEM_BUG_ON(!max_segment); > + > rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL); > if (!rsgt) > return ERR_PTR(-ENOMEM); > @@ -112,6 +116,8 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > sg = __sg_next(sg); > > sg_dma_address(sg) = region_start + offset; > + GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg), > + page_alignment)); > sg_dma_len(sg) = 0; > sg->length = 0; > st->nents++; > @@ -138,6 +144,7 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > * i915_buddy_block list > * @res: The struct i915_ttm_buddy_resource. > * @region_start: An offset to add to the dma addresses of the sg list. > + * @page_alignment: Required page alignment for each sg entry. Power of two. > * > * Create a struct sg_table, initializing it from struct i915_buddy_block list, > * taking a maximum segment length into account, splitting into segments > @@ -147,11 +154,12 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > * error code cast to an error pointer on failure. > */ > struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > - u64 region_start) > + u64 region_start, > + u64 page_alignment) > { > struct i915_ttm_buddy_resource *bman_res = to_ttm_buddy_resource(res); > const u64 size = res->num_pages << PAGE_SHIFT; > - const u64 max_segment = rounddown(UINT_MAX, PAGE_SIZE); > + const u64 max_segment = round_down(UINT_MAX, page_alignment); > struct drm_buddy *mm = bman_res->mm; > struct list_head *blocks = &bman_res->blocks; > struct drm_buddy_block *block; > @@ -161,6 +169,7 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > resource_size_t prev_end; > > GEM_BUG_ON(list_empty(blocks)); > + GEM_BUG_ON(!max_segment); > > rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL); > if (!rsgt) > @@ -191,6 +200,8 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > sg = __sg_next(sg); > > sg_dma_address(sg) = region_start + offset; > + GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg), > + page_alignment)); > sg_dma_len(sg) = 0; > sg->length = 0; > st->nents++; > diff --git a/drivers/gpu/drm/i915/i915_scatterlist.h b/drivers/gpu/drm/i915/i915_scatterlist.h > index 12c6a1684081..b13e4cdea923 100644 > --- a/drivers/gpu/drm/i915/i915_scatterlist.h > +++ b/drivers/gpu/drm/i915/i915_scatterlist.h > @@ -213,9 +213,11 @@ static inline void __i915_refct_sgt_init(struct i915_refct_sgt *rsgt, > void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size); > > struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > - u64 region_start); > + u64 region_start, > + u64 page_alignment); > > struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > - u64 region_start); > + u64 region_start, > + u64 page_alignment); > > #endif > diff --git a/drivers/gpu/drm/i915/intel_region_ttm.c b/drivers/gpu/drm/i915/intel_region_ttm.c > index 62ff77445b01..6873808a7015 100644 > --- a/drivers/gpu/drm/i915/intel_region_ttm.c > +++ b/drivers/gpu/drm/i915/intel_region_ttm.c > @@ -152,6 +152,7 @@ int intel_region_ttm_fini(struct intel_memory_region *mem) > * Convert an opaque TTM resource manager resource to a refcounted sg_table. > * @mem: The memory region. > * @res: The resource manager resource obtained from the TTM resource manager. > + * @page_alignment: Required page alignment for each sg entry. Power of two. > * > * The gem backends typically use sg-tables for operations on the underlying > * io_memory. So provide a way for the backends to translate the > @@ -161,16 +162,19 @@ int intel_region_ttm_fini(struct intel_memory_region *mem) > */ > struct i915_refct_sgt * > intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem, > - struct ttm_resource *res) > + struct ttm_resource *res, > + u64 page_alignment) > { > if (mem->is_range_manager) { > struct ttm_range_mgr_node *range_node = > to_ttm_range_mgr_node(res); > > return i915_rsgt_from_mm_node(&range_node->mm_nodes[0], > - mem->region.start); > + mem->region.start, > + page_alignment); > } else { > - return i915_rsgt_from_buddy_resource(res, mem->region.start); > + return i915_rsgt_from_buddy_resource(res, mem->region.start, > + page_alignment); > } > } > > diff --git a/drivers/gpu/drm/i915/intel_region_ttm.h b/drivers/gpu/drm/i915/intel_region_ttm.h > index cf9d86dcf409..98fba5155619 100644 > --- a/drivers/gpu/drm/i915/intel_region_ttm.h > +++ b/drivers/gpu/drm/i915/intel_region_ttm.h > @@ -24,7 +24,8 @@ int intel_region_ttm_fini(struct intel_memory_region *mem); > > struct i915_refct_sgt * > intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem, > - struct ttm_resource *res); > + struct ttm_resource *res, > + u64 page_alignment); > > void intel_region_ttm_resource_free(struct intel_memory_region *mem, > struct ttm_resource *res); > diff --git a/drivers/gpu/drm/i915/selftests/intel_memory_region.c b/drivers/gpu/drm/i915/selftests/intel_memory_region.c > index 73eb53edb8de..3b18e5905c86 100644 > --- a/drivers/gpu/drm/i915/selftests/intel_memory_region.c > +++ b/drivers/gpu/drm/i915/selftests/intel_memory_region.c > @@ -451,7 +451,6 @@ static int igt_mock_splintered_region(void *arg) > > static int igt_mock_max_segment(void *arg) > { > - const unsigned int max_segment = rounddown(UINT_MAX, PAGE_SIZE); > struct intel_memory_region *mem = arg; > struct drm_i915_private *i915 = mem->i915; > struct i915_ttm_buddy_resource *res; > @@ -460,7 +459,10 @@ static int igt_mock_max_segment(void *arg) > struct drm_buddy *mm; > struct list_head *blocks; > struct scatterlist *sg; > + I915_RND_STATE(prng); > LIST_HEAD(objects); > + unsigned int max_segment; > + unsigned int ps; > u64 size; > int err = 0; > > @@ -472,7 +474,13 @@ static int igt_mock_max_segment(void *arg) > */ > > size = SZ_8G; > - mem = mock_region_create(i915, 0, size, PAGE_SIZE, 0, 0); > + ps = PAGE_SIZE; > + if (i915_prandom_u64_state(&prng) & 1) > + ps = SZ_64K; /* For something like DG2 */ > + > + max_segment = round_down(UINT_MAX, ps); > + > + mem = mock_region_create(i915, 0, size, ps, 0, 0); > if (IS_ERR(mem)) > return PTR_ERR(mem); > > @@ -498,12 +506,21 @@ static int igt_mock_max_segment(void *arg) > } > > for (sg = obj->mm.pages->sgl; sg; sg = sg_next(sg)) { > + dma_addr_t daddr = sg_dma_address(sg); > + > if (sg->length > max_segment) { > pr_err("%s: Created an oversized scatterlist entry, %u > %u\n", > __func__, sg->length, max_segment); > err = -EINVAL; > goto out_close; > } > + > + if (!IS_ALIGNED(daddr, ps)) { > + pr_err("%s: Created an unaligned scatterlist entry, addr=%pa, ps=%u\n", > + __func__, &daddr, ps); > + err = -EINVAL; > + goto out_close; > + } > } > > out_close: > diff --git a/drivers/gpu/drm/i915/selftests/mock_region.c b/drivers/gpu/drm/i915/selftests/mock_region.c > index 670557ce1024..bac21fe84ca5 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_region.c > +++ b/drivers/gpu/drm/i915/selftests/mock_region.c > @@ -33,7 +33,8 @@ static int mock_region_get_pages(struct drm_i915_gem_object *obj) > return PTR_ERR(obj->mm.res); > > obj->mm.rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region, > - obj->mm.res); > + obj->mm.res, > + obj->mm.region->min_page_size); > if (IS_ERR(obj->mm.rsgt)) { > err = PTR_ERR(obj->mm.rsgt); > goto err_free_resource; ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] drm/i915/ttm: fix sg_table construction @ 2022-07-11 9:53 ` Das, Nirmoy 0 siblings, 0 replies; 9+ messages in thread From: Das, Nirmoy @ 2022-07-11 9:53 UTC (permalink / raw) To: Matthew Auld, intel-gfx; +Cc: Thomas Hellström, dri-devel On 7/11/2022 10:58 AM, Matthew Auld wrote: > If we encounter some monster sized local-memory page that exceeds the > maximum sg length (UINT32_MAX), ensure that don't end up with some > misaligned address in the entry that follows, leading to fireworks > later. Also ensure we have some coverage of this in the selftests. > > v2(Chris): > - Use round_down consistently to avoid udiv errors > v3(Nirmoy): > - Also update the max_segment in the selftest > > Fixes: f701b16d4cc5 ("drm/i915/ttm: add i915_sg_from_buddy_resource") > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6379 > Signed-off-by: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> > Cc: Nirmoy Das <nirmoy.das@linux.intel.com> > --- > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 11 ++++++++-- > drivers/gpu/drm/i915/i915_scatterlist.c | 19 +++++++++++++---- > drivers/gpu/drm/i915/i915_scatterlist.h | 6 ++++-- > drivers/gpu/drm/i915/intel_region_ttm.c | 10 ++++++--- > drivers/gpu/drm/i915/intel_region_ttm.h | 3 ++- > .../drm/i915/selftests/intel_memory_region.c | 21 +++++++++++++++++-- > drivers/gpu/drm/i915/selftests/mock_region.c | 3 ++- > 7 files changed, 58 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > index 7e1f8b83077f..c5c8aa1f8558 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > @@ -602,10 +602,15 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, > struct ttm_resource *res) > { > struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); > + u64 page_alignment; > > if (!i915_ttm_gtt_binds_lmem(res)) > return i915_ttm_tt_get_st(bo->ttm); > > + page_alignment = bo->page_alignment << PAGE_SHIFT; > + if (!page_alignment) > + page_alignment = obj->mm.region->min_page_size; > + > /* > * If CPU mapping differs, we need to add the ttm_tt pages to > * the resulting st. Might make sense for GGTT. > @@ -616,7 +621,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, > struct i915_refct_sgt *rsgt; > > rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region, > - res); > + res, > + page_alignment); > if (IS_ERR(rsgt)) > return rsgt; > > @@ -625,7 +631,8 @@ i915_ttm_resource_get_st(struct drm_i915_gem_object *obj, > return i915_refct_sgt_get(obj->ttm.cached_io_rsgt); > } > > - return intel_region_ttm_resource_to_rsgt(obj->mm.region, res); > + return intel_region_ttm_resource_to_rsgt(obj->mm.region, res, > + page_alignment); > } > > static int i915_ttm_truncate(struct drm_i915_gem_object *obj) > diff --git a/drivers/gpu/drm/i915/i915_scatterlist.c b/drivers/gpu/drm/i915/i915_scatterlist.c > index 159571b9bd24..f63b50b71e10 100644 > --- a/drivers/gpu/drm/i915/i915_scatterlist.c > +++ b/drivers/gpu/drm/i915/i915_scatterlist.c > @@ -68,6 +68,7 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size) > * drm_mm_node > * @node: The drm_mm_node. > * @region_start: An offset to add to the dma addresses of the sg list. > + * @page_alignment: Required page alignment for each sg entry. Power of two. > * > * Create a struct sg_table, initializing it from a struct drm_mm_node, > * taking a maximum segment length into account, splitting into segments > @@ -77,15 +78,18 @@ void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size) > * error code cast to an error pointer on failure. > */ > struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > - u64 region_start) > + u64 region_start, > + u64 page_alignment) > { > - const u64 max_segment = SZ_1G; /* Do we have a limit on this? */ > + const u64 max_segment = round_down(UINT_MAX, page_alignment); > u64 segment_pages = max_segment >> PAGE_SHIFT; > u64 block_size, offset, prev_end; > struct i915_refct_sgt *rsgt; > struct sg_table *st; > struct scatterlist *sg; > > + GEM_BUG_ON(!max_segment); > + > rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL); > if (!rsgt) > return ERR_PTR(-ENOMEM); > @@ -112,6 +116,8 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > sg = __sg_next(sg); > > sg_dma_address(sg) = region_start + offset; > + GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg), > + page_alignment)); > sg_dma_len(sg) = 0; > sg->length = 0; > st->nents++; > @@ -138,6 +144,7 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > * i915_buddy_block list > * @res: The struct i915_ttm_buddy_resource. > * @region_start: An offset to add to the dma addresses of the sg list. > + * @page_alignment: Required page alignment for each sg entry. Power of two. > * > * Create a struct sg_table, initializing it from struct i915_buddy_block list, > * taking a maximum segment length into account, splitting into segments > @@ -147,11 +154,12 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > * error code cast to an error pointer on failure. > */ > struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > - u64 region_start) > + u64 region_start, > + u64 page_alignment) > { > struct i915_ttm_buddy_resource *bman_res = to_ttm_buddy_resource(res); > const u64 size = res->num_pages << PAGE_SHIFT; > - const u64 max_segment = rounddown(UINT_MAX, PAGE_SIZE); > + const u64 max_segment = round_down(UINT_MAX, page_alignment); > struct drm_buddy *mm = bman_res->mm; > struct list_head *blocks = &bman_res->blocks; > struct drm_buddy_block *block; > @@ -161,6 +169,7 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > resource_size_t prev_end; > > GEM_BUG_ON(list_empty(blocks)); > + GEM_BUG_ON(!max_segment); > > rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL); > if (!rsgt) > @@ -191,6 +200,8 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > sg = __sg_next(sg); > > sg_dma_address(sg) = region_start + offset; > + GEM_BUG_ON(!IS_ALIGNED(sg_dma_address(sg), > + page_alignment)); > sg_dma_len(sg) = 0; > sg->length = 0; > st->nents++; > diff --git a/drivers/gpu/drm/i915/i915_scatterlist.h b/drivers/gpu/drm/i915/i915_scatterlist.h > index 12c6a1684081..b13e4cdea923 100644 > --- a/drivers/gpu/drm/i915/i915_scatterlist.h > +++ b/drivers/gpu/drm/i915/i915_scatterlist.h > @@ -213,9 +213,11 @@ static inline void __i915_refct_sgt_init(struct i915_refct_sgt *rsgt, > void i915_refct_sgt_init(struct i915_refct_sgt *rsgt, size_t size); > > struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node, > - u64 region_start); > + u64 region_start, > + u64 page_alignment); > > struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res, > - u64 region_start); > + u64 region_start, > + u64 page_alignment); > > #endif > diff --git a/drivers/gpu/drm/i915/intel_region_ttm.c b/drivers/gpu/drm/i915/intel_region_ttm.c > index 62ff77445b01..6873808a7015 100644 > --- a/drivers/gpu/drm/i915/intel_region_ttm.c > +++ b/drivers/gpu/drm/i915/intel_region_ttm.c > @@ -152,6 +152,7 @@ int intel_region_ttm_fini(struct intel_memory_region *mem) > * Convert an opaque TTM resource manager resource to a refcounted sg_table. > * @mem: The memory region. > * @res: The resource manager resource obtained from the TTM resource manager. > + * @page_alignment: Required page alignment for each sg entry. Power of two. > * > * The gem backends typically use sg-tables for operations on the underlying > * io_memory. So provide a way for the backends to translate the > @@ -161,16 +162,19 @@ int intel_region_ttm_fini(struct intel_memory_region *mem) > */ > struct i915_refct_sgt * > intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem, > - struct ttm_resource *res) > + struct ttm_resource *res, > + u64 page_alignment) > { > if (mem->is_range_manager) { > struct ttm_range_mgr_node *range_node = > to_ttm_range_mgr_node(res); > > return i915_rsgt_from_mm_node(&range_node->mm_nodes[0], > - mem->region.start); > + mem->region.start, > + page_alignment); > } else { > - return i915_rsgt_from_buddy_resource(res, mem->region.start); > + return i915_rsgt_from_buddy_resource(res, mem->region.start, > + page_alignment); > } > } > > diff --git a/drivers/gpu/drm/i915/intel_region_ttm.h b/drivers/gpu/drm/i915/intel_region_ttm.h > index cf9d86dcf409..98fba5155619 100644 > --- a/drivers/gpu/drm/i915/intel_region_ttm.h > +++ b/drivers/gpu/drm/i915/intel_region_ttm.h > @@ -24,7 +24,8 @@ int intel_region_ttm_fini(struct intel_memory_region *mem); > > struct i915_refct_sgt * > intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem, > - struct ttm_resource *res); > + struct ttm_resource *res, > + u64 page_alignment); > > void intel_region_ttm_resource_free(struct intel_memory_region *mem, > struct ttm_resource *res); > diff --git a/drivers/gpu/drm/i915/selftests/intel_memory_region.c b/drivers/gpu/drm/i915/selftests/intel_memory_region.c > index 73eb53edb8de..3b18e5905c86 100644 > --- a/drivers/gpu/drm/i915/selftests/intel_memory_region.c > +++ b/drivers/gpu/drm/i915/selftests/intel_memory_region.c > @@ -451,7 +451,6 @@ static int igt_mock_splintered_region(void *arg) > > static int igt_mock_max_segment(void *arg) > { > - const unsigned int max_segment = rounddown(UINT_MAX, PAGE_SIZE); > struct intel_memory_region *mem = arg; > struct drm_i915_private *i915 = mem->i915; > struct i915_ttm_buddy_resource *res; > @@ -460,7 +459,10 @@ static int igt_mock_max_segment(void *arg) > struct drm_buddy *mm; > struct list_head *blocks; > struct scatterlist *sg; > + I915_RND_STATE(prng); > LIST_HEAD(objects); > + unsigned int max_segment; > + unsigned int ps; > u64 size; > int err = 0; > > @@ -472,7 +474,13 @@ static int igt_mock_max_segment(void *arg) > */ > > size = SZ_8G; > - mem = mock_region_create(i915, 0, size, PAGE_SIZE, 0, 0); > + ps = PAGE_SIZE; > + if (i915_prandom_u64_state(&prng) & 1) > + ps = SZ_64K; /* For something like DG2 */ > + > + max_segment = round_down(UINT_MAX, ps); > + > + mem = mock_region_create(i915, 0, size, ps, 0, 0); > if (IS_ERR(mem)) > return PTR_ERR(mem); > > @@ -498,12 +506,21 @@ static int igt_mock_max_segment(void *arg) > } > > for (sg = obj->mm.pages->sgl; sg; sg = sg_next(sg)) { > + dma_addr_t daddr = sg_dma_address(sg); > + > if (sg->length > max_segment) { > pr_err("%s: Created an oversized scatterlist entry, %u > %u\n", > __func__, sg->length, max_segment); > err = -EINVAL; > goto out_close; > } > + > + if (!IS_ALIGNED(daddr, ps)) { > + pr_err("%s: Created an unaligned scatterlist entry, addr=%pa, ps=%u\n", > + __func__, &daddr, ps); > + err = -EINVAL; > + goto out_close; > + } > } > > out_close: > diff --git a/drivers/gpu/drm/i915/selftests/mock_region.c b/drivers/gpu/drm/i915/selftests/mock_region.c > index 670557ce1024..bac21fe84ca5 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_region.c > +++ b/drivers/gpu/drm/i915/selftests/mock_region.c > @@ -33,7 +33,8 @@ static int mock_region_get_pages(struct drm_i915_gem_object *obj) > return PTR_ERR(obj->mm.res); > > obj->mm.rsgt = intel_region_ttm_resource_to_rsgt(obj->mm.region, > - obj->mm.res); > + obj->mm.res, > + obj->mm.region->min_page_size); > if (IS_ERR(obj->mm.rsgt)) { > err = PTR_ERR(obj->mm.rsgt); > goto err_free_resource; ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/ttm: fix sg_table construction (rev3) 2022-07-11 8:58 ` Matthew Auld (?) (?) @ 2022-07-11 10:47 ` Patchwork -1 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2022-07-11 10:47 UTC (permalink / raw) To: Matthew Auld; +Cc: intel-gfx == Series Details == Series: drm/i915/ttm: fix sg_table construction (rev3) URL : https://patchwork.freedesktop.org/series/106048/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/ttm: fix sg_table construction (rev3) 2022-07-11 8:58 ` Matthew Auld ` (2 preceding siblings ...) (?) @ 2022-07-11 11:06 ` Patchwork -1 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2022-07-11 11:06 UTC (permalink / raw) To: Matthew Auld; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 15693 bytes --] == Series Details == Series: drm/i915/ttm: fix sg_table construction (rev3) URL : https://patchwork.freedesktop.org/series/106048/ State : success == Summary == CI Bug Log - changes from CI_DRM_11870 -> Patchwork_106048v3 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/index.html Participating hosts (33 -> 42) ------------------------------ Additional (11): fi-kbl-soraka bat-dg1-5 bat-dg2-8 bat-dg2-9 bat-adlp-6 bat-adlp-4 fi-hsw-4770 bat-adln-1 bat-jsl-3 bat-rpls-2 bat-jsl-1 Missing (2): fi-ctg-p8600 fi-hsw-4200u Known issues ------------ Here are the changes found in Patchwork_106048v3 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@fbdev@nullptr: - bat-dg1-5: NOTRUN -> [SKIP][1] ([i915#2582]) +4 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@fbdev@nullptr.html * igt@gem_exec_gttfill@basic: - fi-kbl-soraka: NOTRUN -> [SKIP][2] ([fdo#109271]) +8 similar issues [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-kbl-soraka/igt@gem_exec_gttfill@basic.html * igt@gem_huc_copy@huc-copy: - fi-kbl-soraka: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#2190]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@basic: - fi-kbl-soraka: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#4613]) +3 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html * igt@gem_lmem_swapping@parallel-random-engines: - bat-adlp-4: NOTRUN -> [SKIP][5] ([i915#4613]) +3 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@gem_lmem_swapping@parallel-random-engines.html * igt@gem_mmap@basic: - bat-dg1-5: NOTRUN -> [SKIP][6] ([i915#4083]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@gem_mmap@basic.html * igt@gem_softpin@allocator-basic-reserve: - fi-hsw-4770: NOTRUN -> [SKIP][7] ([fdo#109271]) +9 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-hsw-4770/igt@gem_softpin@allocator-basic-reserve.html * igt@gem_tiled_blits@basic: - bat-dg1-5: NOTRUN -> [SKIP][8] ([i915#4077]) +2 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@gem_tiled_blits@basic.html * igt@gem_tiled_pread_basic: - bat-dg1-5: NOTRUN -> [SKIP][9] ([i915#4079]) +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@gem_tiled_pread_basic.html - bat-adlp-4: NOTRUN -> [SKIP][10] ([i915#3282]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@gem_tiled_pread_basic.html * igt@i915_pm_backlight@basic-brightness: - fi-hsw-4770: NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#3012]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-hsw-4770/igt@i915_pm_backlight@basic-brightness.html - bat-dg1-5: NOTRUN -> [SKIP][12] ([i915#1155]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html * igt@i915_selftest@live@gem: - fi-pnv-d510: NOTRUN -> [DMESG-FAIL][13] ([i915#4528]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-pnv-d510/igt@i915_selftest@live@gem.html * igt@i915_selftest@live@gt_pm: - fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][14] ([i915#1886]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html * igt@i915_suspend@basic-s2idle-without-i915: - bat-dg1-5: NOTRUN -> [INCOMPLETE][15] ([i915#6011]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@i915_suspend@basic-s2idle-without-i915.html * igt@i915_suspend@basic-s3-without-i915: - bat-adlp-4: NOTRUN -> [SKIP][16] ([i915#5903]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@i915_suspend@basic-s3-without-i915.html * igt@kms_addfb_basic@basic-x-tiled-legacy: - bat-dg1-5: NOTRUN -> [SKIP][17] ([i915#4212]) +7 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-dg1-5: NOTRUN -> [SKIP][18] ([i915#4215]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_busy@basic: - bat-dg1-5: NOTRUN -> [SKIP][19] ([i915#1845] / [i915#4303]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_busy@basic.html * igt@kms_chamelium@common-hpd-after-suspend: - fi-snb-2600: NOTRUN -> [SKIP][20] ([fdo#109271] / [fdo#111827]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-snb-2600/igt@kms_chamelium@common-hpd-after-suspend.html - fi-blb-e6850: NOTRUN -> [SKIP][21] ([fdo#109271]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-blb-e6850/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_chamelium@dp-crc-fast: - fi-hsw-4770: NOTRUN -> [SKIP][22] ([fdo#109271] / [fdo#111827]) +8 similar issues [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-hsw-4770/igt@kms_chamelium@dp-crc-fast.html - bat-adlp-4: NOTRUN -> [SKIP][23] ([fdo#111827]) +8 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@kms_chamelium@dp-crc-fast.html - bat-dg1-5: NOTRUN -> [SKIP][24] ([fdo#111827]) +7 similar issues [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_chamelium@dp-crc-fast.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-soraka: NOTRUN -> [SKIP][25] ([fdo#109271] / [fdo#111827]) +7 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-kbl-soraka/igt@kms_chamelium@hdmi-hpd-fast.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor: - bat-adlp-4: NOTRUN -> [SKIP][26] ([i915#4103]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html * igt@kms_flip@basic-flip-vs-modeset@b-edp1: - bat-adlp-4: NOTRUN -> [DMESG-WARN][27] ([i915#3576]) +2 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@kms_flip@basic-flip-vs-modeset@b-edp1.html * igt@kms_force_connector_basic@force-load-detect: - bat-adlp-4: NOTRUN -> [SKIP][28] ([i915#4093]) +3 similar issues [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@kms_force_connector_basic@force-load-detect.html - bat-dg1-5: NOTRUN -> [SKIP][29] ([fdo#109285]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_pipe_crc_basic@nonblocking-crc: - bat-dg1-5: NOTRUN -> [SKIP][30] ([i915#4078]) +13 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_pipe_crc_basic@nonblocking-crc.html * igt@kms_psr@primary_page_flip: - bat-dg1-5: NOTRUN -> [SKIP][31] ([i915#1072] / [i915#4078]) +3 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_psr@primary_page_flip.html * igt@kms_psr@sprite_plane_onoff: - fi-hsw-4770: NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#1072]) +3 similar issues [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-hsw-4770/igt@kms_psr@sprite_plane_onoff.html * igt@kms_setmode@basic-clone-single-crtc: - bat-dg1-5: NOTRUN -> [SKIP][33] ([i915#3555]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html - bat-adlp-4: NOTRUN -> [SKIP][34] ([i915#3555] / [i915#4579]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-flip: - bat-dg1-5: NOTRUN -> [SKIP][35] ([i915#1845] / [i915#3708]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@prime_vgem@basic-fence-flip.html * igt@prime_vgem@basic-fence-read: - bat-dg1-5: NOTRUN -> [SKIP][36] ([i915#3708]) +2 similar issues [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@prime_vgem@basic-fence-read.html * igt@prime_vgem@basic-gtt: - bat-dg1-5: NOTRUN -> [SKIP][37] ([i915#3708] / [i915#4077]) +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@prime_vgem@basic-gtt.html * igt@prime_vgem@basic-userptr: - bat-adlp-4: NOTRUN -> [SKIP][38] ([fdo#109295] / [i915#3301] / [i915#3708]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@prime_vgem@basic-userptr.html - bat-dg1-5: NOTRUN -> [SKIP][39] ([i915#3708] / [i915#4873]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@prime_vgem@basic-userptr.html * igt@prime_vgem@basic-write: - bat-adlp-4: NOTRUN -> [SKIP][40] ([fdo#109295] / [i915#3291] / [i915#3708]) +2 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-adlp-4/igt@prime_vgem@basic-write.html * igt@runner@aborted: - bat-dg1-5: NOTRUN -> [FAIL][41] ([i915#4312] / [i915#5257]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/bat-dg1-5/igt@runner@aborted.html #### Possible fixes #### * igt@i915_selftest@live@hangcheck: - fi-snb-2600: [INCOMPLETE][42] ([i915#3921]) -> [PASS][43] [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/fi-snb-2600/igt@i915_selftest@live@hangcheck.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-snb-2600/igt@i915_selftest@live@hangcheck.html * igt@i915_selftest@live@requests: - fi-pnv-d510: [DMESG-FAIL][44] ([i915#4528]) -> [PASS][45] [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/fi-pnv-d510/igt@i915_selftest@live@requests.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-pnv-d510/igt@i915_selftest@live@requests.html - fi-blb-e6850: [DMESG-FAIL][46] ([i915#4528]) -> [PASS][47] [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/fi-blb-e6850/igt@i915_selftest@live@requests.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-blb-e6850/igt@i915_selftest@live@requests.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size: - fi-bsw-kefka: [FAIL][48] ([i915#6298]) -> [PASS][49] [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#3003]: https://gitlab.freedesktop.org/drm/intel/issues/3003 [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576 [i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4093]: https://gitlab.freedesktop.org/drm/intel/issues/4093 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#4303]: https://gitlab.freedesktop.org/drm/intel/issues/4303 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5174]: https://gitlab.freedesktop.org/drm/intel/issues/5174 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5763]: https://gitlab.freedesktop.org/drm/intel/issues/5763 [i915#5903]: https://gitlab.freedesktop.org/drm/intel/issues/5903 [i915#5950]: https://gitlab.freedesktop.org/drm/intel/issues/5950 [i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011 [i915#6297]: https://gitlab.freedesktop.org/drm/intel/issues/6297 [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298 Build changes ------------- * Linux: CI_DRM_11870 -> Patchwork_106048v3 CI-20190529: 20190529 CI_DRM_11870: 513ce43f757348d6562afb84b56f8e0fc4e6c42b @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6563: 7d43b49bf10788d4870668f93a800888fc8ab339 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_106048v3: 513ce43f757348d6562afb84b56f8e0fc4e6c42b @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits a096aa53cd69 drm/i915/ttm: fix sg_table construction == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/index.html [-- Attachment #2: Type: text/html, Size: 18291 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/ttm: fix sg_table construction (rev3) 2022-07-11 8:58 ` Matthew Auld ` (3 preceding siblings ...) (?) @ 2022-07-11 14:33 ` Patchwork -1 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2022-07-11 14:33 UTC (permalink / raw) To: Matthew Auld; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 57008 bytes --] == Series Details == Series: drm/i915/ttm: fix sg_table construction (rev3) URL : https://patchwork.freedesktop.org/series/106048/ State : success == Summary == CI Bug Log - changes from CI_DRM_11870_full -> Patchwork_106048v3_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (13 -> 13) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_106048v3_full: ### CI changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * boot: - {shard-dg1}: ([PASS][1], [PASS][2], [PASS][3], [PASS][4], [PASS][5], [PASS][6], [PASS][7], [PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18]) -> ([PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30], [PASS][31], [PASS][32], [PASS][33], [PASS][34], [FAIL][35]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-19/boot.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-19/boot.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-19/boot.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-17/boot.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-17/boot.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-17/boot.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-16/boot.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-16/boot.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-15/boot.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-15/boot.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-15/boot.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-13/boot.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-13/boot.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-13/boot.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-13/boot.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-13/boot.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-12/boot.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-12/boot.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-12/boot.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-12/boot.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-12/boot.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-12/boot.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-13/boot.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-13/boot.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-15/boot.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-15/boot.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-15/boot.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-16/boot.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-16/boot.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-16/boot.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-17/boot.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-17/boot.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-17/boot.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-19/boot.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-19/boot.html New tests --------- New tests have been introduced between CI_DRM_11870_full and Patchwork_106048v3_full: ### New IGT tests (84) ### * igt@kms_atomic_interruptible@legacy-setmode@hdmi-a-4-pipe-a: - Statuses : 1 pass(s) - Exec time: [6.13] s * igt@kms_atomic_interruptible@universal-setplane-cursor@hdmi-a-4-pipe-a: - Statuses : 1 pass(s) - Exec time: [6.14] s * igt@kms_color@ctm-0-50@pipe-a-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.55] s * igt@kms_color@ctm-0-50@pipe-b-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.41] s * igt@kms_color@ctm-0-50@pipe-c-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.43] s * igt@kms_color@ctm-0-50@pipe-d-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.44] s * igt@kms_color@legacy-gamma-reset@pipe-a-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_color@legacy-gamma-reset@pipe-b-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.02] s * igt@kms_color@legacy-gamma-reset@pipe-c-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.02] s * igt@kms_color@legacy-gamma-reset@pipe-d-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.02] s * igt@kms_cursor_crc@cursor-size-change@pipe-a-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.60] s * igt@kms_cursor_crc@cursor-size-change@pipe-b-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.51] s * igt@kms_cursor_crc@cursor-size-change@pipe-c-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.52] s * igt@kms_cursor_crc@cursor-size-change@pipe-d-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.52] s * igt@kms_cursor_edge_walk@top-edge@pipe-a-hdmi-a-4-128x128: - Statuses : 1 pass(s) - Exec time: [3.22] s * igt@kms_cursor_edge_walk@top-edge@pipe-a-hdmi-a-4-256x256: - Statuses : 1 pass(s) - Exec time: [3.22] s * igt@kms_cursor_edge_walk@top-edge@pipe-a-hdmi-a-4-64x64: - Statuses : 1 pass(s) - Exec time: [3.28] s * igt@kms_cursor_edge_walk@top-edge@pipe-b-hdmi-a-4-128x128: - Statuses : 1 pass(s) - Exec time: [3.20] s * igt@kms_cursor_edge_walk@top-edge@pipe-b-hdmi-a-4-256x256: - Statuses : 1 pass(s) - Exec time: [3.20] s * igt@kms_cursor_edge_walk@top-edge@pipe-b-hdmi-a-4-64x64: - Statuses : 1 pass(s) - Exec time: [3.20] s * igt@kms_cursor_edge_walk@top-edge@pipe-c-hdmi-a-4-128x128: - Statuses : 1 pass(s) - Exec time: [3.19] s * igt@kms_cursor_edge_walk@top-edge@pipe-c-hdmi-a-4-256x256: - Statuses : 1 pass(s) - Exec time: [3.20] s * igt@kms_cursor_edge_walk@top-edge@pipe-c-hdmi-a-4-64x64: - Statuses : 1 pass(s) - Exec time: [3.21] s * igt@kms_cursor_edge_walk@top-edge@pipe-d-hdmi-a-4-128x128: - Statuses : 1 pass(s) - Exec time: [3.20] s * igt@kms_cursor_edge_walk@top-edge@pipe-d-hdmi-a-4-256x256: - Statuses : 1 pass(s) - Exec time: [3.20] s * igt@kms_cursor_edge_walk@top-edge@pipe-d-hdmi-a-4-64x64: - Statuses : 1 pass(s) - Exec time: [3.21] s * igt@kms_flip@absolute-wf_vblank@a-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.88] s * igt@kms_flip@absolute-wf_vblank@b-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.80] s * igt@kms_flip@absolute-wf_vblank@c-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.82] s * igt@kms_flip@absolute-wf_vblank@d-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.80] s * igt@kms_flip@blocking-wf_vblank@a-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.15] s * igt@kms_flip@blocking-wf_vblank@b-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.09] s * igt@kms_flip@blocking-wf_vblank@c-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.09] s * igt@kms_flip@blocking-wf_vblank@d-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.09] s * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.69] s * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.64] s * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.63] s * igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.64] s * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.73] s * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.65] s * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.67] s * igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [7.65] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@a-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.70] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@b-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.58] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@c-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.63] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@d-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.61] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@a-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.68] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@b-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.67] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@c-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.66] s * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@d-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [0.63] s * igt@kms_flip@wf_vblank-ts-check@a-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.16] s * igt@kms_flip@wf_vblank-ts-check@b-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.12] s * igt@kms_flip@wf_vblank-ts-check@c-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.10] s * igt@kms_flip@wf_vblank-ts-check@d-hdmi-a4: - Statuses : 1 pass(s) - Exec time: [8.08] s * igt@kms_invalid_mode@zero-hdisplay@hdmi-a-4-pipe-a: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_invalid_mode@zero-hdisplay@hdmi-a-4-pipe-b: - Statuses : 1 pass(s) - Exec time: [0.02] s * igt@kms_invalid_mode@zero-hdisplay@hdmi-a-4-pipe-c: - Statuses : 1 pass(s) - Exec time: [0.02] s * igt@kms_invalid_mode@zero-hdisplay@hdmi-a-4-pipe-d: - Statuses : 1 pass(s) - Exec time: [0.02] s * igt@kms_pipe_crc_basic@read-crc@pipe-a-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.57] s * igt@kms_pipe_crc_basic@read-crc@pipe-b-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.42] s * igt@kms_pipe_crc_basic@read-crc@pipe-c-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.45] s * igt@kms_pipe_crc_basic@read-crc@pipe-d-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [0.46] s * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-a-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.03] s * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-b-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.03] s * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-c-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.03] s * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-d-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.03] s * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.07] s * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.09] s * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.07] s * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-d-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.09] s * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-a-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.08] s * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-b-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.06] s * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.06] s * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.06] s * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-a-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.06] s * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.05] s * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.04] s * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.04] s * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.07] s * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-b-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.05] s * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-c-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.05] s * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-hdmi-a-4: - Statuses : 1 skip(s) - Exec time: [0.05] s * igt@kms_setmode@basic@pipe-a-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [2.11] s * igt@kms_setmode@basic@pipe-b-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [2.10] s Known issues ------------ Here are the changes found in Patchwork_106048v3_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_create@create-massive: - shard-skl: NOTRUN -> [DMESG-WARN][36] ([i915#4991]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl4/igt@gem_create@create-massive.html * igt@gem_exec_balancer@parallel-keep-submit-fence: - shard-iclb: [PASS][37] -> [SKIP][38] ([i915#4525]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb2/igt@gem_exec_balancer@parallel-keep-submit-fence.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb7/igt@gem_exec_balancer@parallel-keep-submit-fence.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-glk: [PASS][39] -> [FAIL][40] ([i915#2842]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk3/igt@gem_exec_fair@basic-pace@rcs0.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk1/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_lmem_swapping@parallel-random-verify: - shard-apl: NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#4613]) +1 similar issue [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl3/igt@gem_lmem_swapping@parallel-random-verify.html * igt@gem_lmem_swapping@random-engines: - shard-kbl: NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#4613]) +2 similar issues [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl7/igt@gem_lmem_swapping@random-engines.html * igt@gem_lmem_swapping@verify-ccs: - shard-skl: NOTRUN -> [SKIP][43] ([fdo#109271] / [i915#4613]) +1 similar issue [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl7/igt@gem_lmem_swapping@verify-ccs.html * igt@gem_pxp@verify-pxp-stale-buf-optout-execution: - shard-skl: NOTRUN -> [SKIP][44] ([fdo#109271]) +101 similar issues [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl7/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html * igt@gem_softpin@noreloc-s3: - shard-kbl: [PASS][45] -> [INCOMPLETE][46] ([i915#3614] / [i915#4939] / [i915#794]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@gem_softpin@noreloc-s3.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl4/igt@gem_softpin@noreloc-s3.html * igt@gem_userptr_blits@input-checking: - shard-kbl: NOTRUN -> [DMESG-WARN][47] ([i915#4991]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl4/igt@gem_userptr_blits@input-checking.html * igt@gem_workarounds@suspend-resume: - shard-kbl: NOTRUN -> [DMESG-WARN][48] ([i915#180]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@gem_workarounds@suspend-resume.html * igt@i915_pm_dc@dc3co-vpb-simulation: - shard-skl: NOTRUN -> [SKIP][49] ([fdo#109271] / [i915#658]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl7/igt@i915_pm_dc@dc3co-vpb-simulation.html * igt@i915_selftest@live@gt_pm: - shard-skl: NOTRUN -> [DMESG-FAIL][50] ([i915#1886]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl6/igt@i915_selftest@live@gt_pm.html * igt@i915_suspend@sysfs-reader: - shard-skl: [PASS][51] -> [INCOMPLETE][52] ([i915#4817] / [i915#4939]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl4/igt@i915_suspend@sysfs-reader.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl1/igt@i915_suspend@sysfs-reader.html * igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1: - shard-glk: [PASS][53] -> [FAIL][54] ([i915#2521]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk5/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk1/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-kbl: NOTRUN -> [SKIP][55] ([fdo#109271]) +104 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl7/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs: - shard-apl: NOTRUN -> [SKIP][56] ([fdo#109271]) +58 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs.html * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs: - shard-apl: NOTRUN -> [SKIP][57] ([fdo#109271] / [i915#3886]) +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl3/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html - shard-skl: NOTRUN -> [SKIP][58] ([fdo#109271] / [i915#3886]) +1 similar issue [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl6/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc: - shard-kbl: NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#3886]) +3 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl7/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html * igt@kms_chamelium@dp-audio-edid: - shard-apl: NOTRUN -> [SKIP][60] ([fdo#109271] / [fdo#111827]) +5 similar issues [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl3/igt@kms_chamelium@dp-audio-edid.html * igt@kms_chamelium@hdmi-crc-multiple: - shard-skl: NOTRUN -> [SKIP][61] ([fdo#109271] / [fdo#111827]) +8 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl4/igt@kms_chamelium@hdmi-crc-multiple.html * igt@kms_color_chamelium@pipe-a-degamma: - shard-kbl: NOTRUN -> [SKIP][62] ([fdo#109271] / [fdo#111827]) +6 similar issues [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl7/igt@kms_color_chamelium@pipe-a-degamma.html * igt@kms_cursor_crc@cursor-suspend@pipe-a-dp-1: - shard-kbl: [PASS][63] -> [DMESG-WARN][64] ([i915#180]) +6 similar issues [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl7/igt@kms_cursor_crc@cursor-suspend@pipe-a-dp-1.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@kms_cursor_crc@cursor-suspend@pipe-a-dp-1.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1: - shard-skl: [PASS][65] -> [FAIL][66] ([i915#79]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl9/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html * igt@kms_flip@plain-flip-fb-recreate@a-edp1: - shard-skl: [PASS][67] -> [FAIL][68] ([i915#2122]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl10/igt@kms_flip@plain-flip-fb-recreate@a-edp1.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl3/igt@kms_flip@plain-flip-fb-recreate@a-edp1.html * igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode: - shard-iclb: NOTRUN -> [SKIP][69] ([i915#3555]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode: - shard-iclb: NOTRUN -> [SKIP][70] ([i915#2672]) +5 similar issues [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode: - shard-iclb: NOTRUN -> [SKIP][71] ([i915#2672] / [i915#3555]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html * igt@kms_plane_alpha_blend@pipe-c-alpha-basic: - shard-kbl: NOTRUN -> [FAIL][72] ([fdo#108145] / [i915#265]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html * igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-1: - shard-glk: [PASS][73] -> [DMESG-FAIL][74] ([i915#118] / [i915#1888]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk5/igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-1.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk3/igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-1.html * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-a-edp-1: - shard-iclb: [PASS][75] -> [SKIP][76] ([i915#5176]) +2 similar issues [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb6/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-a-edp-1.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb2/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-a-edp-1.html * {igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4} (NEW): - {shard-dg1}: NOTRUN -> [SKIP][77] ([i915#5176]) +7 similar issues [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-12/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4.html * {igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-hdmi-a-4} (NEW): - {shard-dg1}: NOTRUN -> [SKIP][78] ([i915#5235]) +11 similar issues [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-12/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-hdmi-a-4.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf: - shard-apl: NOTRUN -> [SKIP][79] ([fdo#109271] / [i915#658]) +1 similar issue [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl3/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [PASS][80] -> [SKIP][81] ([fdo#109441]) +1 similar issue [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb7/igt@kms_psr@psr2_sprite_plane_move.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - shard-iclb: [PASS][82] -> [SKIP][83] ([i915#5519]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb3/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_vblank@pipe-c-ts-continuation-suspend: - shard-apl: [PASS][84] -> [DMESG-WARN][85] ([i915#180]) +2 similar issues [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-apl2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl6/igt@kms_vblank@pipe-c-ts-continuation-suspend.html * igt@kms_writeback@writeback-fb-id: - shard-kbl: NOTRUN -> [SKIP][86] ([fdo#109271] / [i915#2437]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl7/igt@kms_writeback@writeback-fb-id.html * igt@perf@polling-parameterized: - shard-skl: [PASS][87] -> [FAIL][88] ([i915#5639]) [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl10/igt@perf@polling-parameterized.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl3/igt@perf@polling-parameterized.html * igt@sysfs_clients@sema-10: - shard-apl: NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#2994]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl3/igt@sysfs_clients@sema-10.html * igt@sysfs_clients@sema-25: - shard-skl: NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#2994]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl4/igt@sysfs_clients@sema-25.html * igt@sysfs_heartbeat_interval@mixed@bcs0: - shard-skl: [PASS][91] -> [FAIL][92] ([i915#1731]) +1 similar issue [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl7/igt@sysfs_heartbeat_interval@mixed@bcs0.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl3/igt@sysfs_heartbeat_interval@mixed@bcs0.html #### Possible fixes #### * igt@fbdev@write: - {shard-rkl}: [SKIP][93] ([i915#2582]) -> [PASS][94] [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@fbdev@write.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@fbdev@write.html * igt@gem_ctx_exec@basic-nohangcheck: - shard-tglb: [FAIL][95] ([i915#6268]) -> [PASS][96] [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-tglb1/igt@gem_ctx_exec@basic-nohangcheck.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-tglb1/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_ctx_persistence@legacy-engines-hostile@bsd1: - {shard-dg1}: [FAIL][97] ([i915#4883]) -> [PASS][98] [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-dg1-17/igt@gem_ctx_persistence@legacy-engines-hostile@bsd1.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-dg1-17/igt@gem_ctx_persistence@legacy-engines-hostile@bsd1.html * igt@gem_eio@unwedge-stress: - shard-iclb: [TIMEOUT][99] ([i915#3070]) -> [PASS][100] [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb6/igt@gem_eio@unwedge-stress.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb3/igt@gem_eio@unwedge-stress.html * igt@gem_exec_balancer@full-late: - shard-kbl: [INCOMPLETE][101] -> [PASS][102] [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl6/igt@gem_exec_balancer@full-late.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@gem_exec_balancer@full-late.html * igt@gem_exec_balancer@parallel-keep-in-fence: - shard-iclb: [SKIP][103] ([i915#4525]) -> [PASS][104] [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb6/igt@gem_exec_balancer@parallel-keep-in-fence.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb2/igt@gem_exec_balancer@parallel-keep-in-fence.html * igt@gem_exec_fair@basic-none@vcs0: - shard-apl: [FAIL][105] ([i915#2842]) -> [PASS][106] [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-apl8/igt@gem_exec_fair@basic-none@vcs0.html [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl6/igt@gem_exec_fair@basic-none@vcs0.html - shard-kbl: [FAIL][107] ([i915#2842]) -> [PASS][108] +1 similar issue [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl7/igt@gem_exec_fair@basic-none@vcs0.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@gem_exec_fair@basic-none@vcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][109] ([i915#2842]) -> [PASS][110] [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk3/igt@gem_exec_fair@basic-pace-share@rcs0.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk3/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-kbl: [FAIL][111] ([i915#2851]) -> [PASS][112] [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl7/igt@gem_exec_fair@basic-pace@rcs0.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl6/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_reloc@basic-write-read-active: - {shard-rkl}: [SKIP][113] ([i915#3281]) -> [PASS][114] +9 similar issues [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@gem_exec_reloc@basic-write-read-active.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-5/igt@gem_exec_reloc@basic-write-read-active.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - {shard-rkl}: [SKIP][115] ([i915#3282]) -> [PASS][116] +1 similar issue [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-5/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gem_workarounds@suspend-resume-fd: - shard-kbl: [DMESG-WARN][117] ([i915#180]) -> [PASS][118] +3 similar issues [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@gem_workarounds@suspend-resume-fd.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl4/igt@gem_workarounds@suspend-resume-fd.html - shard-skl: [INCOMPLETE][119] ([i915#5129]) -> [PASS][120] [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl10/igt@gem_workarounds@suspend-resume-fd.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl3/igt@gem_workarounds@suspend-resume-fd.html * igt@gen9_exec_parse@allowed-all: - shard-skl: [DMESG-WARN][121] ([i915#5566] / [i915#716]) -> [PASS][122] [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl9/igt@gen9_exec_parse@allowed-all.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl6/igt@gen9_exec_parse@allowed-all.html * igt@gen9_exec_parse@bb-start-far: - {shard-rkl}: [SKIP][123] ([i915#2527]) -> [PASS][124] +3 similar issues [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@gen9_exec_parse@bb-start-far.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-5/igt@gen9_exec_parse@bb-start-far.html * igt@i915_pm_rpm@fences: - {shard-rkl}: [SKIP][125] ([i915#1849]) -> [PASS][126] [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@i915_pm_rpm@fences.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@i915_pm_rpm@fences.html * igt@i915_selftest@live@hangcheck: - shard-tglb: [DMESG-WARN][127] ([i915#5591]) -> [PASS][128] [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-tglb5/igt@i915_selftest@live@hangcheck.html [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-tglb1/igt@i915_selftest@live@hangcheck.html * igt@kms_cursor_crc@cursor-suspend@pipe-a-edp-1: - shard-skl: [INCOMPLETE][129] ([i915#4939]) -> [PASS][130] [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl1/igt@kms_cursor_crc@cursor-suspend@pipe-a-edp-1.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl4/igt@kms_cursor_crc@cursor-suspend@pipe-a-edp-1.html * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic: - shard-glk: [FAIL][131] ([i915#72]) -> [PASS][132] [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size: - shard-glk: [FAIL][133] ([i915#2346]) -> [PASS][134] [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html * igt@kms_draw_crc@draw-method-xrgb8888-pwrite-xtiled: - {shard-rkl}: [SKIP][135] ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][136] +4 similar issues [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-xtiled.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-xtiled.html * igt@kms_fbcon_fbt@psr-suspend: - {shard-rkl}: [SKIP][137] ([fdo#110189] / [i915#3955]) -> [PASS][138] [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_flip@flip-vs-blocking-wf-vblank@c-edp1: - shard-skl: [FAIL][139] ([i915#2122]) -> [PASS][140] +1 similar issue [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl3/igt@kms_flip@flip-vs-blocking-wf-vblank@c-edp1.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl7/igt@kms_flip@flip-vs-blocking-wf-vblank@c-edp1.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1: - shard-skl: [FAIL][141] ([i915#79]) -> [PASS][142] +1 similar issue [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl9/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html * igt@kms_flip@flip-vs-suspend@a-dp1: - shard-apl: [DMESG-WARN][143] ([i915#180]) -> [PASS][144] +2 similar issues [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-apl3/igt@kms_flip@flip-vs-suspend@a-dp1.html [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-apl3/igt@kms_flip@flip-vs-suspend@a-dp1.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc: - {shard-rkl}: [SKIP][145] ([i915#1849] / [i915#4098]) -> [PASS][146] +13 similar issues [145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - {shard-rkl}: [SKIP][147] ([i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][148] [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html * igt@kms_plane_cursor@pipe-b-overlay-size-64: - {shard-rkl}: [SKIP][149] ([i915#1845] / [i915#4098]) -> [PASS][150] +14 similar issues [149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-5/igt@kms_plane_cursor@pipe-b-overlay-size-64.html [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@kms_plane_cursor@pipe-b-overlay-size-64.html * igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-2: - shard-glk: [DMESG-WARN][151] ([i915#118] / [i915#1888]) -> [PASS][152] [151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk5/igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-2.html [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk3/igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-2.html * igt@kms_plane_lowres@tiling-y@pipe-c-hdmi-a-1: - shard-glk: [FAIL][153] ([i915#1888]) -> [PASS][154] [153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-glk5/igt@kms_plane_lowres@tiling-y@pipe-c-hdmi-a-1.html [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-glk3/igt@kms_plane_lowres@tiling-y@pipe-c-hdmi-a-1.html * igt@kms_psr@cursor_blt: - {shard-rkl}: [SKIP][155] ([i915#1072]) -> [PASS][156] +1 similar issue [155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@kms_psr@cursor_blt.html [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-6/igt@kms_psr@cursor_blt.html * igt@kms_psr@psr2_primary_blt: - shard-iclb: [SKIP][157] ([fdo#109441]) -> [PASS][158] +1 similar issue [157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb6/igt@kms_psr@psr2_primary_blt.html [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb2/igt@kms_psr@psr2_primary_blt.html * igt@perf@gen12-oa-tlb-invalidate: - {shard-rkl}: [SKIP][159] ([fdo#109289]) -> [PASS][160] [159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-5/igt@perf@gen12-oa-tlb-invalidate.html [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-2/igt@perf@gen12-oa-tlb-invalidate.html * igt@perf@gen8-unprivileged-single-ctx-counters: - {shard-rkl}: [SKIP][161] ([i915#2436]) -> [PASS][162] [161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@perf@gen8-unprivileged-single-ctx-counters.html [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-5/igt@perf@gen8-unprivileged-single-ctx-counters.html * igt@perf@mi-rpc: - {shard-rkl}: [SKIP][163] ([i915#2434]) -> [PASS][164] [163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-2/igt@perf@mi-rpc.html [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-5/igt@perf@mi-rpc.html * igt@prime_vgem@coherency-gtt: - {shard-rkl}: [SKIP][165] ([fdo#109295] / [fdo#111656] / [i915#3708]) -> [PASS][166] [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-rkl-1/igt@prime_vgem@coherency-gtt.html [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-rkl-5/igt@prime_vgem@coherency-gtt.html * igt@testdisplay: - {shard-tglu}: [DMESG-WARN][167] ([i915#4941]) -> [PASS][168] [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-tglu-5/igt@testdisplay.html [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-tglu-1/igt@testdisplay.html #### Warnings #### * igt@gem_exec_balancer@parallel-ordering: - shard-iclb: [FAIL][169] ([i915#6117]) -> [SKIP][170] ([i915#4525]) [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb2/igt@gem_exec_balancer@parallel-ordering.html [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb7/igt@gem_exec_balancer@parallel-ordering.html * igt@kms_flip@2x-blocking-absolute-wf_vblank: - shard-skl: [SKIP][171] ([fdo#109271] / [i915#1888]) -> [SKIP][172] ([fdo#109271]) [171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl10/igt@kms_flip@2x-blocking-absolute-wf_vblank.html [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl3/igt@kms_flip@2x-blocking-absolute-wf_vblank.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-skl: [FAIL][173] ([i915#2122]) -> [FAIL][174] ([i915#79]) [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl10/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf: - shard-iclb: [SKIP][175] ([i915#658]) -> [SKIP][176] ([i915#2920]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb5/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf: - shard-iclb: [SKIP][177] ([i915#2920]) -> [SKIP][178] ([i915#658]) [177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb7/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@overlay-plane-update-continuous-sf: - shard-iclb: [SKIP][179] ([i915#2920]) -> [SKIP][180] ([fdo#111068] / [i915#658]) [179]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb7/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html * igt@kms_psr2_su@page_flip-p010: - shard-iclb: [SKIP][181] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [FAIL][182] ([i915#5939]) [181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-iclb5/igt@kms_psr2_su@page_flip-p010.html [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-iclb2/igt@kms_psr2_su@page_flip-p010.html * igt@runner@aborted: - shard-skl: ([FAIL][183], [FAIL][184]) ([i915#2029] / [i915#4312] / [i915#5257]) -> ([FAIL][185], [FAIL][186]) ([i915#2029] / [i915#3002] / [i915#4312] / [i915#5257]) [183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl9/igt@runner@aborted.html [184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-skl3/igt@runner@aborted.html [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl3/igt@runner@aborted.html [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-skl4/igt@runner@aborted.html - shard-kbl: ([FAIL][187], [FAIL][188], [FAIL][189], [FAIL][190], [FAIL][191], [FAIL][192], [FAIL][193]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][194], [FAIL][195], [FAIL][196], [FAIL][197], [FAIL][198], [FAIL][199], [FAIL][200]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) [187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@runner@aborted.html [188]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@runner@aborted.html [189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@runner@aborted.html [190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@runner@aborted.html [191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl7/igt@runner@aborted.html [192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@runner@aborted.html [193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11870/shard-kbl1/igt@runner@aborted.html [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@runner@aborted.html [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl6/igt@runner@aborted.html [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@runner@aborted.html [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@runner@aborted.html [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl4/igt@runner@aborted.html [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl6/igt@runner@aborted.html [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_106048v3/shard-kbl1/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111314]: https://bugs.freedesktop.org/show_bug.cgi?id=111314 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722 [i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850 [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886 [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888 [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902 [i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434 [i915#2436]: https://gitlab.freedesktop.org/drm/intel/issues/2436 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530 [i915#2532]: https://gitlab.freedesktop.org/drm/intel/issues/2532 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2851]: https://gitlab.freedesktop.org/drm/intel/issues/2851 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994 [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002 [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012 [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063 [i915#3070]: https://gitlab.freedesktop.org/drm/intel/issues/3070 [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558 [i915#3614]: https://gitlab.freedesktop.org/drm/intel/issues/3614 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952 [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955 [i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4369]: https://gitlab.freedesktop.org/drm/intel/issues/4369 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4853]: https://gitlab.freedesktop.org/drm/intel/issues/4853 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4883]: https://gitlab.freedesktop.org/drm/intel/issues/4883 [i915#4893]: https://gitlab.freedesktop.org/drm/intel/issues/4893 [i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939 [i915#4941]: https://gitlab.freedesktop.org/drm/intel/issues/4941 [i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991 [i915#5129]: https://gitlab.freedesktop.org/drm/intel/issues/5129 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287 [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591 [i915#5639]: https://gitlab.freedesktop.org/drm/intel/issues/5639 [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117 [i915#6141]: https://gitlab.freedesktop.org/drm/intel/issues/6141 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247 [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334 [i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#794]: https://gitlab.freedesktop.org/drm/intel/issues/794 Build changes ------------- * Linux: CI_DRM_11870 -> Patchwork_106048v3 CI-20190529: 20190529 CI_DRM_11870: 513ce43f757348d6562afb84b56f8e0fc4e6c42b @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6563: 7d43b49bf10788d4870668f93a800888fc8ab339 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_106048v3: 513ce43f757348d6562afb84b56f8e0fc4e6c42b @ 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_106048v3/index.html [-- Attachment #2: Type: text/html, Size: 63411 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Intel-gfx] [v3] drm/i915/ttm: fix sg_table construction 2022-07-11 8:58 ` Matthew Auld @ 2022-07-16 15:38 ` Guenter Roeck -1 siblings, 0 replies; 9+ messages in thread From: Guenter Roeck @ 2022-07-16 15:38 UTC (permalink / raw) To: Matthew Auld; +Cc: Thomas Hellström, intel-gfx, dri-devel On Mon, Jul 11, 2022 at 09:58:59AM +0100, Matthew Auld wrote: > If we encounter some monster sized local-memory page that exceeds the > maximum sg length (UINT32_MAX), ensure that don't end up with some > misaligned address in the entry that follows, leading to fireworks > later. Also ensure we have some coverage of this in the selftests. > > v2(Chris): > - Use round_down consistently to avoid udiv errors > v3(Nirmoy): > - Also update the max_segment in the selftest > > Fixes: f701b16d4cc5 ("drm/i915/ttm: add i915_sg_from_buddy_resource") > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6379 > Signed-off-by: Matthew Auld <matthew.auld@intel.com> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> > Cc: Nirmoy Das <nirmoy.das@linux.intel.com> > Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> Building i386:defconfig ... failed -------------- Error log: x86_64-linux-ld: drivers/gpu/drm/i915/i915_scatterlist.o: in function `i915_rsgt_from_mm_node': i915_scatterlist.c:(.text+0x196): undefined reference to `__udivdi3' Bisect log attached. Guenter --- # bad: [9b59ec8d50a1f28747ceff9a4f39af5deba9540e] Merge tag 'riscv-for-linus-5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux # good: [e5d523f1ae8f2cef01f8e071aeee432654166708] ubsan: disable UBSAN_DIV_ZERO for clang git bisect start 'HEAD' 'e5d523f1ae8f' # bad: [2a347a06ebb1b186a5cb919c9f5ab6e040554be7] Merge tag 'platform-drivers-x86-v5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 git bisect bad 2a347a06ebb1b186a5cb919c9f5ab6e040554be7 # bad: [093f8d8f10aa22935bc8bf7100700f714ebaba9c] Merge tag 'amd-drm-fixes-5.19-2022-07-13' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes git bisect bad 093f8d8f10aa22935bc8bf7100700f714ebaba9c # bad: [ad765fae792e16ce3c1d0b69ce939e3f7dba40ab] drm/i915/gem: Look for waitboosting across the whole object prior to individual waits git bisect bad ad765fae792e16ce3c1d0b69ce939e3f7dba40ab # good: [f99546298a4537965b75d518c210742f641be389] Merge tag 'gvt-fixes-2022-07-11' of https://github.com/intel/gvt-linux into drm-intel-fixes git bisect good f99546298a4537965b75d518c210742f641be389 # bad: [aff1e0b09b54b64944b7fe32997229552737b9e9] drm/i915/ttm: fix sg_table construction git bisect bad aff1e0b09b54b64944b7fe32997229552737b9e9 # good: [896dcabd1f8f613c533d948df17408c41f8929f5] drm/i915/selftests: fix a couple IS_ERR() vs NULL tests git bisect good 896dcabd1f8f613c533d948df17408c41f8929f5 # first bad commit: [aff1e0b09b54b64944b7fe32997229552737b9e9] drm/i915/ttm: fix sg_table construction ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [v3] drm/i915/ttm: fix sg_table construction @ 2022-07-16 15:38 ` Guenter Roeck 0 siblings, 0 replies; 9+ messages in thread From: Guenter Roeck @ 2022-07-16 15:38 UTC (permalink / raw) To: Matthew Auld; +Cc: Thomas Hellström, intel-gfx, dri-devel On Mon, Jul 11, 2022 at 09:58:59AM +0100, Matthew Auld wrote: > If we encounter some monster sized local-memory page that exceeds the > maximum sg length (UINT32_MAX), ensure that don't end up with some > misaligned address in the entry that follows, leading to fireworks > later. Also ensure we have some coverage of this in the selftests. > > v2(Chris): > - Use round_down consistently to avoid udiv errors > v3(Nirmoy): > - Also update the max_segment in the selftest > > Fixes: f701b16d4cc5 ("drm/i915/ttm: add i915_sg_from_buddy_resource") > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6379 > Signed-off-by: Matthew Auld <matthew.auld@intel.com> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> > Cc: Nirmoy Das <nirmoy.das@linux.intel.com> > Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> Building i386:defconfig ... failed -------------- Error log: x86_64-linux-ld: drivers/gpu/drm/i915/i915_scatterlist.o: in function `i915_rsgt_from_mm_node': i915_scatterlist.c:(.text+0x196): undefined reference to `__udivdi3' Bisect log attached. Guenter --- # bad: [9b59ec8d50a1f28747ceff9a4f39af5deba9540e] Merge tag 'riscv-for-linus-5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux # good: [e5d523f1ae8f2cef01f8e071aeee432654166708] ubsan: disable UBSAN_DIV_ZERO for clang git bisect start 'HEAD' 'e5d523f1ae8f' # bad: [2a347a06ebb1b186a5cb919c9f5ab6e040554be7] Merge tag 'platform-drivers-x86-v5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 git bisect bad 2a347a06ebb1b186a5cb919c9f5ab6e040554be7 # bad: [093f8d8f10aa22935bc8bf7100700f714ebaba9c] Merge tag 'amd-drm-fixes-5.19-2022-07-13' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes git bisect bad 093f8d8f10aa22935bc8bf7100700f714ebaba9c # bad: [ad765fae792e16ce3c1d0b69ce939e3f7dba40ab] drm/i915/gem: Look for waitboosting across the whole object prior to individual waits git bisect bad ad765fae792e16ce3c1d0b69ce939e3f7dba40ab # good: [f99546298a4537965b75d518c210742f641be389] Merge tag 'gvt-fixes-2022-07-11' of https://github.com/intel/gvt-linux into drm-intel-fixes git bisect good f99546298a4537965b75d518c210742f641be389 # bad: [aff1e0b09b54b64944b7fe32997229552737b9e9] drm/i915/ttm: fix sg_table construction git bisect bad aff1e0b09b54b64944b7fe32997229552737b9e9 # good: [896dcabd1f8f613c533d948df17408c41f8929f5] drm/i915/selftests: fix a couple IS_ERR() vs NULL tests git bisect good 896dcabd1f8f613c533d948df17408c41f8929f5 # first bad commit: [aff1e0b09b54b64944b7fe32997229552737b9e9] drm/i915/ttm: fix sg_table construction ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-07-16 15:38 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-07-11 8:58 [Intel-gfx] [PATCH v3] drm/i915/ttm: fix sg_table construction Matthew Auld 2022-07-11 8:58 ` Matthew Auld 2022-07-11 9:53 ` [Intel-gfx] " Das, Nirmoy 2022-07-11 9:53 ` Das, Nirmoy 2022-07-11 10:47 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/ttm: fix sg_table construction (rev3) Patchwork 2022-07-11 11:06 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-07-11 14:33 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2022-07-16 15:38 ` [Intel-gfx] [v3] drm/i915/ttm: fix sg_table construction Guenter Roeck 2022-07-16 15:38 ` Guenter Roeck
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.