Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
@ 2025-01-14 18:04 Juha-Pekka Heikkila
  2025-01-14 18:04 ` [PATCH 2/2] drm/xe/display: Unify display page table mapping Juha-Pekka Heikkila
                   ` (10 more replies)
  0 siblings, 11 replies; 31+ messages in thread
From: Juha-Pekka Heikkila @ 2025-01-14 18:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Juha-Pekka Heikkila

Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
This also fixes bug where dpt could have been allocated from system
memory when on dgfx.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
 1 file changed, 43 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
index 9fa51b84737c..c28885316986 100644
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
@@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
 	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
 }
 
+static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
+				     struct xe_tile *tile0, u64 size,
+				     u64 physical_alignment)
+{
+	struct xe_bo *dpt;
+
+	/*
+	 * If DGFX: try VRAM0 only
+	 */
+	if (IS_DGFX(xe)) {
+		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
+						      size, ~0ull,
+						      ttm_bo_type_kernel,
+						      XE_BO_FLAG_VRAM0 |
+						      XE_BO_FLAG_GGTT |
+						      XE_BO_FLAG_PAGETABLE,
+						      physical_alignment);
+	} else {
+		/*
+		 * For IGFX: first try STOLEN. on fail try SYSTEM.
+		 */
+		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
+						      size, ~0ull,
+						      ttm_bo_type_kernel,
+						      XE_BO_FLAG_STOLEN |
+						      XE_BO_FLAG_GGTT |
+						      XE_BO_FLAG_PAGETABLE,
+						      physical_alignment);
+		if (IS_ERR(dpt)) {
+			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
+							      size, ~0ull,
+							      ttm_bo_type_kernel,
+							      XE_BO_FLAG_SYSTEM |
+							      XE_BO_FLAG_GGTT |
+							      XE_BO_FLAG_PAGETABLE,
+							      physical_alignment);
+		}
+	}
+	return dpt;
+}
+
 static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
 			       const struct i915_gtt_view *view,
 			       struct i915_vma *vma,
@@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
 		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
 				 XE_PAGE_SIZE);
 
-	if (IS_DGFX(xe))
-		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
-						      dpt_size, ~0ull,
-						      ttm_bo_type_kernel,
-						      XE_BO_FLAG_VRAM0 |
-						      XE_BO_FLAG_GGTT |
-						      XE_BO_FLAG_PAGETABLE,
-						      physical_alignment);
-	else
-		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
-						      dpt_size,  ~0ull,
-						      ttm_bo_type_kernel,
-						      XE_BO_FLAG_STOLEN |
-						      XE_BO_FLAG_GGTT |
-						      XE_BO_FLAG_PAGETABLE,
-						      physical_alignment);
-	if (IS_ERR(dpt))
-		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
-						      dpt_size,  ~0ull,
-						      ttm_bo_type_kernel,
-						      XE_BO_FLAG_SYSTEM |
-						      XE_BO_FLAG_GGTT |
-						      XE_BO_FLAG_PAGETABLE,
-						      physical_alignment);
+	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
+
 	if (IS_ERR(dpt))
 		return PTR_ERR(dpt);
 
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
@ 2025-01-14 18:04 ` Juha-Pekka Heikkila
  2025-01-14 19:56   ` Cavitt, Jonathan
  2025-02-04 11:25   ` Tvrtko Ursulin
  2025-01-14 19:22 ` [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Cavitt, Jonathan
                   ` (9 subsequent siblings)
  10 siblings, 2 replies; 31+ messages in thread
From: Juha-Pekka Heikkila @ 2025-01-14 18:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Juha-Pekka Heikkila

Unify writing of remapped and straight DPTs. Take out writing of
rotated DPT since Xe doesn't support any platform that does
90 degree rotated framebuffers.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
 1 file changed, 48 insertions(+), 93 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
index c28885316986..70322f28eee5 100644
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
@@ -14,66 +14,44 @@
 #include "xe_ggtt.h"
 #include "xe_pm.h"
 
-static void
-write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs, u32 bo_ofs,
-		  u32 width, u32 height, u32 src_stride, u32 dst_stride)
+static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map *map,
+				 u32 *ofs, u32 src_idx, struct xe_device *xe)
 {
-	struct xe_device *xe = xe_bo_device(bo);
 	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
-	u32 column, row;
-
-	/* TODO: Maybe rewrite so we can traverse the bo addresses sequentially,
-	 * by writing dpt/ggtt in a different order?
-	 */
-
-	for (column = 0; column < width; column++) {
-		u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
-
-		for (row = 0; row < height; row++) {
-			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
-							      xe->pat.idx[XE_CACHE_NONE]);
-
-			iosys_map_wr(map, *dpt_ofs, u64, pte);
-			*dpt_ofs += 8;
-			src_idx -= src_stride;
-		}
-
-		/* The DE ignores the PTEs for the padding tiles */
-		*dpt_ofs += (dst_stride - height) * 8;
-	}
-
-	/* Align to next page */
-	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
+	u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
+					      xe->pat.idx[XE_CACHE_NONE]);
+	iosys_map_wr(map, *ofs, u64, pte);
+	*ofs += 8;
 }
 
-static void
-write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
-		   u32 bo_ofs, u32 width, u32 height, u32 src_stride,
-		   u32 dst_stride)
+static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
+		      const struct intel_remapped_plane_info *plane,
+		      enum i915_gtt_view_type type)
 {
 	struct xe_device *xe = xe_bo_device(bo);
-	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
-	u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
-		= ggtt->pt_ops->pte_encode_bo;
-	u32 column, row;
-
-	for (row = 0; row < height; row++) {
-		u32 src_idx = src_stride * row + bo_ofs;
-
-		for (column = 0; column < width; column++) {
-			iosys_map_wr(map, *dpt_ofs, u64,
-				     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
-				     xe->pat.idx[XE_CACHE_NONE]));
-
-			*dpt_ofs += 8;
-			src_idx++;
+	const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
+	const u32 dest_width = plane->width;
+	const u32 dest_height = plane->height;
+	u32 src_idx;
+
+	for (u32 row = 0; row < dest_height; ++row) {
+		for (u32 column = 0; column < dest_width; ++column) {
+			switch (type) {
+			case I915_GTT_VIEW_NORMAL:
+				src_idx = plane->offset + column;
+				break;
+			case I915_GTT_VIEW_REMAPPED:
+				src_idx = plane->offset +
+					row * plane->src_stride + column;
+				break;
+			default:
+				WARN(1, "Unsupported GTT view type: %d", type);
+				return;
+			}
+			encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
 		}
-
-		/* The DE ignores the PTEs for the padding tiles */
-		*dpt_ofs += (dst_stride - width) * 8;
+		*dpt_ofs += dpt_even;
 	}
-
-	/* Align to next page */
 	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
 }
 
@@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
 {
 	struct xe_device *xe = to_xe_device(fb->base.dev);
 	struct xe_tile *tile0 = xe_device_get_root_tile(xe);
-	struct xe_ggtt *ggtt = tile0->mem.ggtt;
 	struct drm_gem_object *obj = intel_fb_bo(&fb->base);
 	struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
 	u32 dpt_size, size = bo->ttm.base.size;
+	const struct intel_remapped_plane_info *plane;
+	u32 i, plane_count, dpt_ofs = 0;
+	struct intel_remapped_plane_info normal_plane;
 
-	if (view->type == I915_GTT_VIEW_NORMAL)
+	if (view->type == I915_GTT_VIEW_NORMAL) {
 		dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
-	else if (view->type == I915_GTT_VIEW_REMAPPED)
-		dpt_size = ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
-				 XE_PAGE_SIZE);
-	else
-		/* display uses 4K tiles instead of bytes here, convert to entries.. */
-		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
+		normal_plane.offset = 0;
+		normal_plane.width = size / XE_PAGE_SIZE;
+		normal_plane.height = 1;
+		normal_plane.src_stride = size / XE_PAGE_SIZE;
+		normal_plane.dst_stride = size / XE_PAGE_SIZE;
+		plane = &normal_plane;
+		plane_count = 1;
+	} else {
+		dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
 				 XE_PAGE_SIZE);
+		plane = view->remapped.plane;
+		plane_count = ARRAY_SIZE(view->remapped.plane);
+	}
 
 	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
 
 	if (IS_ERR(dpt))
 		return PTR_ERR(dpt);
 
-	if (view->type == I915_GTT_VIEW_NORMAL) {
-		u32 x;
-
-		for (x = 0; x < size / XE_PAGE_SIZE; x++) {
-			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
-							      xe->pat.idx[XE_CACHE_NONE]);
-
-			iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
-		}
-	} else if (view->type == I915_GTT_VIEW_REMAPPED) {
-		const struct intel_remapped_info *remap_info = &view->remapped;
-		u32 i, dpt_ofs = 0;
-
-		for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
-			write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
-					   remap_info->plane[i].offset,
-					   remap_info->plane[i].width,
-					   remap_info->plane[i].height,
-					   remap_info->plane[i].src_stride,
-					   remap_info->plane[i].dst_stride);
-
-	} else {
-		const struct intel_rotation_info *rot_info = &view->rotated;
-		u32 i, dpt_ofs = 0;
-
-		for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
-			write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
-					  rot_info->plane[i].offset,
-					  rot_info->plane[i].width,
-					  rot_info->plane[i].height,
-					  rot_info->plane[i].src_stride,
-					  rot_info->plane[i].dst_stride);
-	}
+	for (i = 0; i < plane_count; i++)
+		write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
 
 	vma->dpt = dpt;
 	vma->node = dpt->ggtt_node[tile0->id];
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* RE: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
  2025-01-14 18:04 ` [PATCH 2/2] drm/xe/display: Unify display page table mapping Juha-Pekka Heikkila
@ 2025-01-14 19:22 ` Cavitt, Jonathan
  2025-01-15 10:19   ` Maarten Lankhorst
  2025-01-14 19:39 ` ✓ CI.Patch_applied: success for series starting with [1/2] " Patchwork
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 31+ messages in thread
From: Cavitt, Jonathan @ 2025-01-14 19:22 UTC (permalink / raw)
  To: Juha-Pekka Heikkila, intel-xe@lists.freedesktop.org; +Cc: Cavitt, Jonathan

-----Original Message-----
From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Juha-Pekka Heikkila
Sent: Tuesday, January 14, 2025 10:04 AM
To: intel-xe@lists.freedesktop.org
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Subject: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> 
> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
> This also fixes bug where dpt could have been allocated from system
> memory when on dgfx.
> 
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
>  drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>  1 file changed, 43 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> index 9fa51b84737c..c28885316986 100644
> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>  	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>  }
>  
> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> +				     struct xe_tile *tile0, u64 size,
> +				     u64 physical_alignment)
> +{
> +	struct xe_bo *dpt;
> +
> +	/*
> +	 * If DGFX: try VRAM0 only
> +	 */
> +	if (IS_DGFX(xe)) {
> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> +						      size, ~0ull,
> +						      ttm_bo_type_kernel,
> +						      XE_BO_FLAG_VRAM0 |
> +						      XE_BO_FLAG_GGTT |
> +						      XE_BO_FLAG_PAGETABLE,
> +						      physical_alignment);
> +	} else {
> +		/*
> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
> +		 */
> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> +						      size, ~0ull,
> +						      ttm_bo_type_kernel,
> +						      XE_BO_FLAG_STOLEN |
> +						      XE_BO_FLAG_GGTT |
> +						      XE_BO_FLAG_PAGETABLE,
> +						      physical_alignment);
> +		if (IS_ERR(dpt)) {
> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> +							      size, ~0ull,
> +							      ttm_bo_type_kernel,
> +							      XE_BO_FLAG_SYSTEM |
> +							      XE_BO_FLAG_GGTT |
> +							      XE_BO_FLAG_PAGETABLE,
> +							      physical_alignment);
> +		}
> +	}
> +	return dpt;

We might be able to collapse some of this logic by storing the flags separately:

"""
static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
				     struct xe_tile *tile0, u64 size,
				     u64 physical_alignment)
{
	struct xe_bo *dpt;
	u32 base_flags = XE_BO_FLAG_GGTT | XE_BO_FLAG_PAGETABLE;
	u32 flags = base_flags;

	/*
	 * If DGFX: try VRAM0.
	 * If IGFX: try STOLEN.
	 */
	flags |= IS_DGFX(xe) ? XE_BO_FLAG_VRAM0 : XE_BO_FLAG_STOLEN;

	dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL, size,
					      ~0ull, ttm_bo_type_kernel,
					      flags, physical_alignment);

	/*
	 * For IGFX, we first try STOLEN, and on a failure we try SYSTEM.
	 * DGFX should only attempt VRAM0
	 */
	if (IS_DGFX(xe) && IS_ERR(dpt))
		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
						      size, ~0ull,
						      ttm_bo_type_kernel,
						      base_flags |
						      XE_BO_FLAG_SYSTEM,
						      physical_alignment);
	return dpt;
}
"""
This isn't a particularly necessary compression, but it might be worth considering.
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
-Jonathan Cavitt

> +}
> +
>  static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>  			       const struct i915_gtt_view *view,
>  			       struct i915_vma *vma,
> @@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>  		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>  				 XE_PAGE_SIZE);
>  
> -	if (IS_DGFX(xe))
> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> -						      dpt_size, ~0ull,
> -						      ttm_bo_type_kernel,
> -						      XE_BO_FLAG_VRAM0 |
> -						      XE_BO_FLAG_GGTT |
> -						      XE_BO_FLAG_PAGETABLE,
> -						      physical_alignment);
> -	else
> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> -						      dpt_size,  ~0ull,
> -						      ttm_bo_type_kernel,
> -						      XE_BO_FLAG_STOLEN |
> -						      XE_BO_FLAG_GGTT |
> -						      XE_BO_FLAG_PAGETABLE,
> -						      physical_alignment);
> -	if (IS_ERR(dpt))
> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> -						      dpt_size,  ~0ull,
> -						      ttm_bo_type_kernel,
> -						      XE_BO_FLAG_SYSTEM |
> -						      XE_BO_FLAG_GGTT |
> -						      XE_BO_FLAG_PAGETABLE,
> -						      physical_alignment);
> +	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
> +
>  	if (IS_ERR(dpt))
>  		return PTR_ERR(dpt);
>  
> -- 
> 2.45.2
> 
> 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✓ CI.Patch_applied: success for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
  2025-01-14 18:04 ` [PATCH 2/2] drm/xe/display: Unify display page table mapping Juha-Pekka Heikkila
  2025-01-14 19:22 ` [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Cavitt, Jonathan
@ 2025-01-14 19:39 ` Patchwork
  2025-01-14 19:39 ` ✓ CI.checkpatch: " Patchwork
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 19:39 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 61e0f64bde73 drm-tip: 2025y-01m-14d-18h-47m-42s UTC integration manifest
=== git am output follows ===
Applying: drm/xe/display: Move dpt allocation to helper
Applying: drm/xe/display: Unify display page table mapping



^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✓ CI.checkpatch: success for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (2 preceding siblings ...)
  2025-01-14 19:39 ` ✓ CI.Patch_applied: success for series starting with [1/2] " Patchwork
@ 2025-01-14 19:39 ` Patchwork
  2025-01-14 19:40 ` ✓ CI.KUnit: " Patchwork
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 19:39 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : success

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 002544f7737c988ce462cff75ca33d076d944316
Author: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Date:   Tue Jan 14 20:04:03 2025 +0200

    drm/xe/display: Unify display page table mapping
    
    Unify writing of remapped and straight DPTs. Take out writing of
    rotated DPT since Xe doesn't support any platform that does
    90 degree rotated framebuffers.
    
    Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
+ /mt/dim checkpatch 61e0f64bde73d48e3dc204c129c25e0a15f0d4e6 drm-intel
e15834fd9a3c drm/xe/display: Move dpt allocation to helper
002544f7737c drm/xe/display: Unify display page table mapping



^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✓ CI.KUnit: success for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (3 preceding siblings ...)
  2025-01-14 19:39 ` ✓ CI.checkpatch: " Patchwork
@ 2025-01-14 19:40 ` Patchwork
  2025-01-14 19:58 ` ✓ CI.Build: " Patchwork
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 19:40 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[19:39:33] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[19:39:37] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~

[19:40:06] Starting KUnit Kernel (1/1)...
[19:40:06] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[19:40:06] =================== guc_dbm (7 subtests) ===================
[19:40:06] [PASSED] test_empty
[19:40:06] [PASSED] test_default
[19:40:06] ======================== test_size  ========================
[19:40:06] [PASSED] 4
[19:40:06] [PASSED] 8
[19:40:06] [PASSED] 32
[19:40:06] [PASSED] 256
[19:40:06] ==================== [PASSED] test_size ====================
[19:40:06] ======================= test_reuse  ========================
[19:40:06] [PASSED] 4
[19:40:06] [PASSED] 8
[19:40:06] [PASSED] 32
[19:40:06] [PASSED] 256
[19:40:06] =================== [PASSED] test_reuse ====================
[19:40:06] =================== test_range_overlap  ====================
[19:40:06] [PASSED] 4
[19:40:06] [PASSED] 8
[19:40:06] [PASSED] 32
[19:40:06] [PASSED] 256
[19:40:06] =============== [PASSED] test_range_overlap ================
[19:40:06] =================== test_range_compact  ====================
[19:40:06] [PASSED] 4
[19:40:06] [PASSED] 8
[19:40:06] [PASSED] 32
[19:40:06] [PASSED] 256
[19:40:06] =============== [PASSED] test_range_compact ================
[19:40:06] ==================== test_range_spare  =====================
[19:40:06] [PASSED] 4
[19:40:06] [PASSED] 8
[19:40:06] [PASSED] 32
[19:40:06] [PASSED] 256
[19:40:06] ================ [PASSED] test_range_spare =================
[19:40:06] ===================== [PASSED] guc_dbm =====================
[19:40:06] =================== guc_idm (6 subtests) ===================
[19:40:06] [PASSED] bad_init
[19:40:06] [PASSED] no_init
[19:40:06] [PASSED] init_fini
[19:40:06] [PASSED] check_used
[19:40:06] [PASSED] check_quota
[19:40:06] [PASSED] check_all
[19:40:06] ===================== [PASSED] guc_idm =====================
[19:40:06] ================== no_relay (3 subtests) ===================
[19:40:06] [PASSED] xe_drops_guc2pf_if_not_ready
[19:40:06] [PASSED] xe_drops_guc2vf_if_not_ready
[19:40:06] [PASSED] xe_rejects_send_if_not_ready
[19:40:06] ==================== [PASSED] no_relay =====================
[19:40:06] ================== pf_relay (14 subtests) ==================
[19:40:06] [PASSED] pf_rejects_guc2pf_too_short
[19:40:06] [PASSED] pf_rejects_guc2pf_too_long
[19:40:06] [PASSED] pf_rejects_guc2pf_no_payload
[19:40:06] [PASSED] pf_fails_no_payload
[19:40:06] [PASSED] pf_fails_bad_origin
[19:40:06] [PASSED] pf_fails_bad_type
[19:40:06] [PASSED] pf_txn_reports_error
[19:40:06] [PASSED] pf_txn_sends_pf2guc
[19:40:06] [PASSED] pf_sends_pf2guc
[19:40:06] [SKIPPED] pf_loopback_nop
[19:40:06] [SKIPPED] pf_loopback_echo
[19:40:06] [SKIPPED] pf_loopback_fail
[19:40:06] [SKIPPED] pf_loopback_busy
[19:40:06] [SKIPPED] pf_loopback_retry
[19:40:06] ==================== [PASSED] pf_relay =====================
[19:40:06] ================== vf_relay (3 subtests) ===================
[19:40:06] [PASSED] vf_rejects_guc2vf_too_short
[19:40:06] [PASSED] vf_rejects_guc2vf_too_long
[19:40:06] [PASSED] vf_rejects_guc2vf_no_payload
[19:40:06] ==================== [PASSED] vf_relay =====================
[19:40:06] ================= pf_service (11 subtests) =================
[19:40:06] [PASSED] pf_negotiate_any
[19:40:06] [PASSED] pf_negotiate_base_match
[19:40:06] [PASSED] pf_negotiate_base_newer
[19:40:06] [PASSED] pf_negotiate_base_next
[19:40:06] [SKIPPED] pf_negotiate_base_older
[19:40:06] [PASSED] pf_negotiate_base_prev
[19:40:06] [PASSED] pf_negotiate_latest_match
[19:40:06] [PASSED] pf_negotiate_latest_newer
[19:40:06] [PASSED] pf_negotiate_latest_next
[19:40:06] [SKIPPED] pf_negotiate_latest_older
[19:40:06] [SKIPPED] pf_negotiate_latest_prev
[19:40:06] =================== [PASSED] pf_service ====================
[19:40:06] ===================== lmtt (1 subtest) =====================
[19:40:06] ======================== test_ops  =========================
[19:40:06] [PASSED] 2-level
[19:40:06] [PASSED] multi-level
[19:40:06] ==================== [PASSED] test_ops =====================
[19:40:06] ====================== [PASSED] lmtt =======================
[19:40:06] =================== xe_mocs (2 subtests) ===================
[19:40:06] ================ xe_live_mocs_kernel_kunit  ================
[19:40:06] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[19:40:06] ================ xe_live_mocs_reset_kunit  =================
[19:40:06] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[19:40:06] ==================== [SKIPPED] xe_mocs =====================
[19:40:06] ================= xe_migrate (2 subtests) ==================
[19:40:06] ================= xe_migrate_sanity_kunit  =================
[19:40:06] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[19:40:06] ================== xe_validate_ccs_kunit  ==================
[19:40:06] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[19:40:06] =================== [SKIPPED] xe_migrate ===================
[19:40:06] ================== xe_dma_buf (1 subtest) ==================
[19:40:06] ==================== xe_dma_buf_kunit  =====================
[19:40:06] ================ [SKIPPED] xe_dma_buf_kunit ================
[19:40:06] =================== [SKIPPED] xe_dma_buf ===================
[19:40:06] ================= xe_bo_shrink (1 subtest) =================
[19:40:06] =================== xe_bo_shrink_kunit  ====================
[19:40:06] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[19:40:06] ================== [SKIPPED] xe_bo_shrink ==================
[19:40:06] ==================== xe_bo (2 subtests) ====================
[19:40:06] ================== xe_ccs_migrate_kunit  ===================
[19:40:06] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[19:40:06] ==================== xe_bo_evict_kunit  ====================
[19:40:06] =============== [SKIPPED] xe_bo_evict_kunit ================
[19:40:06] ===================== [SKIPPED] xe_bo ======================
[19:40:06] ==================== args (11 subtests) ====================
[19:40:06] [PASSED] count_args_test
[19:40:06] [PASSED] call_args_example
[19:40:06] [PASSED] call_args_test
[19:40:06] [PASSED] drop_first_arg_example
[19:40:06] [PASSED] drop_first_arg_test
[19:40:06] [PASSED] first_arg_example
[19:40:06] [PASSED] first_arg_test
stty: 'standard input': Inappropriate ioctl for device
[19:40:06] [PASSED] last_arg_example
[19:40:06] [PASSED] last_arg_test
[19:40:06] [PASSED] pick_arg_example
[19:40:06] [PASSED] sep_comma_example
[19:40:06] ====================== [PASSED] args =======================
[19:40:06] =================== xe_pci (2 subtests) ====================
[19:40:06] [PASSED] xe_gmdid_graphics_ip
[19:40:06] [PASSED] xe_gmdid_media_ip
[19:40:06] ===================== [PASSED] xe_pci ======================
[19:40:06] =================== xe_rtp (2 subtests) ====================
[19:40:06] =============== xe_rtp_process_to_sr_tests  ================
[19:40:06] [PASSED] coalesce-same-reg
[19:40:06] [PASSED] no-match-no-add
[19:40:06] [PASSED] match-or
[19:40:06] [PASSED] match-or-xfail
[19:40:06] [PASSED] no-match-no-add-multiple-rules
[19:40:06] [PASSED] two-regs-two-entries
[19:40:06] [PASSED] clr-one-set-other
[19:40:06] [PASSED] set-field
[19:40:06] [PASSED] conflict-duplicate
[19:40:06] [PASSED] conflict-not-disjoint
[19:40:06] [PASSED] conflict-reg-type
[19:40:06] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[19:40:06] ================== xe_rtp_process_tests  ===================
[19:40:06] [PASSED] active1
[19:40:06] [PASSED] active2
[19:40:06] [PASSED] active-inactive
[19:40:06] [PASSED] inactive-active
[19:40:06] [PASSED] inactive-1st_or_active-inactive
[19:40:06] [PASSED] inactive-2nd_or_active-inactive
[19:40:06] [PASSED] inactive-last_or_active-inactive
[19:40:06] [PASSED] inactive-no_or_active-inactive
[19:40:06] ============== [PASSED] xe_rtp_process_tests ===============
[19:40:06] ===================== [PASSED] xe_rtp ======================
[19:40:06] ==================== xe_wa (1 subtest) =====================
[19:40:06] ======================== xe_wa_gt  =========================
[19:40:06] [PASSED] TIGERLAKE (B0)
[19:40:06] [PASSED] DG1 (A0)
[19:40:06] [PASSED] DG1 (B0)
[19:40:06] [PASSED] ALDERLAKE_S (A0)
[19:40:06] [PASSED] ALDERLAKE_S (B0)
[19:40:06] [PASSED] ALDERLAKE_S (C0)
[19:40:06] [PASSED] ALDERLAKE_S (D0)
[19:40:06] [PASSED] ALDERLAKE_P (A0)
[19:40:06] [PASSED] ALDERLAKE_P (B0)
[19:40:06] [PASSED] ALDERLAKE_P (C0)
[19:40:06] [PASSED] ALDERLAKE_S_RPLS (D0)
[19:40:06] [PASSED] ALDERLAKE_P_RPLU (E0)
[19:40:06] [PASSED] DG2_G10 (C0)
[19:40:06] [PASSED] DG2_G11 (B1)
[19:40:06] [PASSED] DG2_G12 (A1)
[19:40:06] [PASSED] METEORLAKE (g:A0, m:A0)
[19:40:06] [PASSED] METEORLAKE (g:A0, m:A0)
[19:40:06] [PASSED] METEORLAKE (g:A0, m:A0)
[19:40:06] [PASSED] LUNARLAKE (g:A0, m:A0)
[19:40:06] [PASSED] LUNARLAKE (g:B0, m:A0)
[19:40:06] [PASSED] BATTLEMAGE (g:A0, m:A1)
[19:40:06] ==================== [PASSED] xe_wa_gt =====================
[19:40:06] ====================== [PASSED] xe_wa ======================
[19:40:06] ============================================================
[19:40:06] Testing complete. Ran 122 tests: passed: 106, skipped: 16
[19:40:06] Elapsed time: 33.315s total, 4.419s configuring, 28.630s building, 0.233s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[19:40:06] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[19:40:08] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
In file included from ../drivers/gpu/drm/tests/drm_buddy_test.c:15:
../drivers/gpu/drm/tests/drm_buddy_test.c: In function ‘drm_test_buddy_alloc_clear’:
../drivers/gpu/drm/tests/drm_buddy_test.c:264:23: warning: unused variable ‘prng’ [-Wunused-variable]
  264 |         DRM_RND_STATE(prng, random_seed);
      |                       ^~~~
../drivers/gpu/drm/tests/../lib/drm_random.h:18:26: note: in definition of macro ‘DRM_RND_STATE’
   18 |         struct rnd_state name__ = DRM_RND_STATE_INITIALIZER(seed__)
      |                          ^~~~~~
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~

[19:40:31] Starting KUnit Kernel (1/1)...
[19:40:31] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[19:40:31] =========== drm_validate_clone_mode (2 subtests) ===========
[19:40:31] ============== drm_test_check_in_clone_mode  ===============
[19:40:31] [PASSED] in_clone_mode
[19:40:31] [PASSED] not_in_clone_mode
[19:40:31] ========== [PASSED] drm_test_check_in_clone_mode ===========
[19:40:31] =============== drm_test_check_valid_clones  ===============
[19:40:31] [PASSED] not_in_clone_mode
[19:40:31] [PASSED] valid_clone
[19:40:31] [PASSED] invalid_clone
[19:40:31] =========== [PASSED] drm_test_check_valid_clones ===========
[19:40:31] ============= [PASSED] drm_validate_clone_mode =============
[19:40:31] ============= drm_validate_modeset (1 subtest) =============
[19:40:31] [PASSED] drm_test_check_connector_changed_modeset
[19:40:31] ============== [PASSED] drm_validate_modeset ===============
[19:40:31] ================== drm_buddy (7 subtests) ==================
[19:40:31] [PASSED] drm_test_buddy_alloc_limit
[19:40:31] [PASSED] drm_test_buddy_alloc_optimistic
[19:40:31] [PASSED] drm_test_buddy_alloc_pessimistic
[19:40:31] [PASSED] drm_test_buddy_alloc_pathological
[19:40:31] [PASSED] drm_test_buddy_alloc_contiguous
[19:40:31] [PASSED] drm_test_buddy_alloc_clear
[19:40:31] [PASSED] drm_test_buddy_alloc_range_bias
[19:40:31] ==================== [PASSED] drm_buddy ====================
[19:40:31] ============= drm_cmdline_parser (40 subtests) =============
[19:40:31] [PASSED] drm_test_cmdline_force_d_only
[19:40:31] [PASSED] drm_test_cmdline_force_D_only_dvi
[19:40:31] [PASSED] drm_test_cmdline_force_D_only_hdmi
[19:40:31] [PASSED] drm_test_cmdline_force_D_only_not_digital
[19:40:31] [PASSED] drm_test_cmdline_force_e_only
[19:40:31] [PASSED] drm_test_cmdline_res
[19:40:31] [PASSED] drm_test_cmdline_res_vesa
[19:40:31] [PASSED] drm_test_cmdline_res_vesa_rblank
[19:40:31] [PASSED] drm_test_cmdline_res_rblank
[19:40:31] [PASSED] drm_test_cmdline_res_bpp
[19:40:31] [PASSED] drm_test_cmdline_res_refresh
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[19:40:31] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[19:40:31] [PASSED] drm_test_cmdline_res_margins_force_on
[19:40:31] [PASSED] drm_test_cmdline_res_vesa_margins
[19:40:31] [PASSED] drm_test_cmdline_name
[19:40:31] [PASSED] drm_test_cmdline_name_bpp
[19:40:31] [PASSED] drm_test_cmdline_name_option
[19:40:31] [PASSED] drm_test_cmdline_name_bpp_option
[19:40:31] [PASSED] drm_test_cmdline_rotate_0
[19:40:31] [PASSED] drm_test_cmdline_rotate_90
[19:40:31] [PASSED] drm_test_cmdline_rotate_180
[19:40:31] [PASSED] drm_test_cmdline_rotate_270
[19:40:31] [PASSED] drm_test_cmdline_hmirror
[19:40:31] [PASSED] drm_test_cmdline_vmirror
[19:40:31] [PASSED] drm_test_cmdline_margin_options
[19:40:31] [PASSED] drm_test_cmdline_multiple_options
[19:40:31] [PASSED] drm_test_cmdline_bpp_extra_and_option
[19:40:31] [PASSED] drm_test_cmdline_extra_and_option
[19:40:31] [PASSED] drm_test_cmdline_freestanding_options
[19:40:31] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[19:40:31] [PASSED] drm_test_cmdline_panel_orientation
[19:40:31] ================ drm_test_cmdline_invalid  =================
[19:40:31] [PASSED] margin_only
[19:40:31] [PASSED] interlace_only
[19:40:31] [PASSED] res_missing_x
[19:40:31] [PASSED] res_missing_y
[19:40:31] [PASSED] res_bad_y
[19:40:31] [PASSED] res_missing_y_bpp
[19:40:31] [PASSED] res_bad_bpp
[19:40:31] [PASSED] res_bad_refresh
[19:40:31] [PASSED] res_bpp_refresh_force_on_off
[19:40:31] [PASSED] res_invalid_mode
[19:40:31] [PASSED] res_bpp_wrong_place_mode
[19:40:31] [PASSED] name_bpp_refresh
[19:40:31] [PASSED] name_refresh
[19:40:31] [PASSED] name_refresh_wrong_mode
[19:40:31] [PASSED] name_refresh_invalid_mode
[19:40:31] [PASSED] rotate_multiple
[19:40:31] [PASSED] rotate_invalid_val
[19:40:31] [PASSED] rotate_truncated
[19:40:31] [PASSED] invalid_option
[19:40:31] [PASSED] invalid_tv_option
[19:40:31] [PASSED] truncated_tv_option
[19:40:31] ============ [PASSED] drm_test_cmdline_invalid =============
[19:40:31] =============== drm_test_cmdline_tv_options  ===============
[19:40:31] [PASSED] NTSC
[19:40:31] [PASSED] NTSC_443
[19:40:31] [PASSED] NTSC_J
[19:40:31] [PASSED] PAL
[19:40:31] [PASSED] PAL_M
[19:40:31] [PASSED] PAL_N
[19:40:31] [PASSED] SECAM
[19:40:31] [PASSED] MONO_525
[19:40:31] [PASSED] MONO_625
[19:40:31] =========== [PASSED] drm_test_cmdline_tv_options ===========
[19:40:31] =============== [PASSED] drm_cmdline_parser ================
[19:40:31] ========== drmm_connector_hdmi_init (20 subtests) ==========
[19:40:31] [PASSED] drm_test_connector_hdmi_init_valid
[19:40:31] [PASSED] drm_test_connector_hdmi_init_bpc_8
[19:40:31] [PASSED] drm_test_connector_hdmi_init_bpc_10
[19:40:31] [PASSED] drm_test_connector_hdmi_init_bpc_12
[19:40:31] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[19:40:31] [PASSED] drm_test_connector_hdmi_init_bpc_null
[19:40:31] [PASSED] drm_test_connector_hdmi_init_formats_empty
[19:40:31] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[19:40:31] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[19:40:31] [PASSED] supported_formats=0x9 yuv420_allowed=1
[19:40:31] [PASSED] supported_formats=0x9 yuv420_allowed=0
[19:40:31] [PASSED] supported_formats=0x3 yuv420_allowed=1
[19:40:31] [PASSED] supported_formats=0x3 yuv420_allowed=0
[19:40:31] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[19:40:31] [PASSED] drm_test_connector_hdmi_init_null_ddc
[19:40:31] [PASSED] drm_test_connector_hdmi_init_null_product
[19:40:31] [PASSED] drm_test_connector_hdmi_init_null_vendor
[19:40:31] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[19:40:31] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[19:40:31] [PASSED] drm_test_connector_hdmi_init_product_valid
[19:40:31] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[19:40:31] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[19:40:31] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[19:40:31] ========= drm_test_connector_hdmi_init_type_valid  =========
[19:40:31] [PASSED] HDMI-A
[19:40:31] [PASSED] HDMI-B
[19:40:31] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[19:40:31] ======== drm_test_connector_hdmi_init_type_invalid  ========
[19:40:31] [PASSED] Unknown
[19:40:31] [PASSED] VGA
[19:40:31] [PASSED] DVI-I
[19:40:31] [PASSED] DVI-D
[19:40:31] [PASSED] DVI-A
[19:40:31] [PASSED] Composite
[19:40:31] [PASSED] SVIDEO
[19:40:31] [PASSED] LVDS
[19:40:31] [PASSED] Component
[19:40:31] [PASSED] DIN
[19:40:31] [PASSED] DP
[19:40:31] [PASSED] TV
[19:40:31] [PASSED] eDP
[19:40:31] [PASSED] Virtual
[19:40:31] [PASSED] DSI
[19:40:31] [PASSED] DPI
[19:40:31] [PASSED] Writeback
[19:40:31] [PASSED] SPI
[19:40:31] [PASSED] USB
[19:40:31] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[19:40:31] ============ [PASSED] drmm_connector_hdmi_init =============
[19:40:31] ============= drmm_connector_init (3 subtests) =============
[19:40:31] [PASSED] drm_test_drmm_connector_init
[19:40:31] [PASSED] drm_test_drmm_connector_init_null_ddc
[19:40:31] ========= drm_test_drmm_connector_init_type_valid  =========
[19:40:31] [PASSED] Unknown
[19:40:31] [PASSED] VGA
[19:40:31] [PASSED] DVI-I
[19:40:31] [PASSED] DVI-D
[19:40:31] [PASSED] DVI-A
[19:40:31] [PASSED] Composite
[19:40:31] [PASSED] SVIDEO
[19:40:31] [PASSED] LVDS
[19:40:31] [PASSED] Component
[19:40:31] [PASSED] DIN
[19:40:31] [PASSED] DP
[19:40:31] [PASSED] HDMI-A
[19:40:31] [PASSED] HDMI-B
[19:40:31] [PASSED] TV
[19:40:31] [PASSED] eDP
[19:40:31] [PASSED] Virtual
[19:40:31] [PASSED] DSI
[19:40:31] [PASSED] DPI
[19:40:31] [PASSED] Writeback
[19:40:31] [PASSED] SPI
[19:40:31] [PASSED] USB
[19:40:31] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[19:40:31] =============== [PASSED] drmm_connector_init ===============
[19:40:31] ========= drm_connector_dynamic_init (6 subtests) ==========
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_init
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_init_properties
[19:40:31] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[19:40:31] [PASSED] Unknown
[19:40:31] [PASSED] VGA
[19:40:31] [PASSED] DVI-I
[19:40:31] [PASSED] DVI-D
[19:40:31] [PASSED] DVI-A
[19:40:31] [PASSED] Composite
[19:40:31] [PASSED] SVIDEO
[19:40:31] [PASSED] LVDS
[19:40:31] [PASSED] Component
[19:40:31] [PASSED] DIN
[19:40:31] [PASSED] DP
[19:40:31] [PASSED] HDMI-A
[19:40:31] [PASSED] HDMI-B
[19:40:31] [PASSED] TV
[19:40:31] [PASSED] eDP
[19:40:31] [PASSED] Virtual
[19:40:31] [PASSED] DSI
[19:40:31] [PASSED] DPI
[19:40:31] [PASSED] Writeback
[19:40:31] [PASSED] SPI
[19:40:31] [PASSED] USB
[19:40:31] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[19:40:31] ======== drm_test_drm_connector_dynamic_init_name  =========
[19:40:31] [PASSED] Unknown
[19:40:31] [PASSED] VGA
[19:40:31] [PASSED] DVI-I
[19:40:31] [PASSED] DVI-D
[19:40:31] [PASSED] DVI-A
[19:40:31] [PASSED] Composite
[19:40:31] [PASSED] SVIDEO
[19:40:31] [PASSED] LVDS
[19:40:31] [PASSED] Component
[19:40:31] [PASSED] DIN
[19:40:31] [PASSED] DP
[19:40:31] [PASSED] HDMI-A
[19:40:31] [PASSED] HDMI-B
[19:40:31] [PASSED] TV
[19:40:31] [PASSED] eDP
[19:40:31] [PASSED] Virtual
[19:40:31] [PASSED] DSI
[19:40:31] [PASSED] DPI
[19:40:31] [PASSED] Writeback
[19:40:31] [PASSED] SPI
[19:40:31] [PASSED] USB
[19:40:31] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[19:40:31] =========== [PASSED] drm_connector_dynamic_init ============
[19:40:31] ==== drm_connector_dynamic_register_early (4 subtests) =====
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[19:40:31] ====== [PASSED] drm_connector_dynamic_register_early =======
[19:40:31] ======= drm_connector_dynamic_register (7 subtests) ========
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[19:40:31] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[19:40:31] ========= [PASSED] drm_connector_dynamic_register ==========
[19:40:31] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[19:40:31] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[19:40:31] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[19:40:31] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[19:40:31] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[19:40:31] ========== drm_test_get_tv_mode_from_name_valid  ===========
[19:40:31] [PASSED] NTSC
[19:40:31] [PASSED] NTSC-443
[19:40:31] [PASSED] NTSC-J
[19:40:31] [PASSED] PAL
[19:40:31] [PASSED] PAL-M
[19:40:31] [PASSED] PAL-N
[19:40:31] [PASSED] SECAM
[19:40:31] [PASSED] Mono
[19:40:31] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[19:40:31] [PASSED] drm_test_get_tv_mode_from_name_truncated
[19:40:31] ============ [PASSED] drm_get_tv_mode_from_name ============
[19:40:31] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[19:40:31] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[19:40:31] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[19:40:31] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[19:40:31] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[19:40:31] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[19:40:31] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[19:40:31] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[19:40:31] [PASSED] VIC 96
[19:40:31] [PASSED] VIC 97
[19:40:31] [PASSED] VIC 101
[19:40:31] [PASSED] VIC 102
[19:40:31] [PASSED] VIC 106
[19:40:31] [PASSED] VIC 107
[19:40:31] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[19:40:31] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[19:40:31] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[19:40:31] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[19:40:31] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[19:40:31] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[19:40:31] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[19:40:31] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[19:40:31] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[19:40:31] [PASSED] Automatic
[19:40:31] [PASSED] Full
[19:40:31] [PASSED] Limited 16:235
[19:40:31] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[19:40:31] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[19:40:31] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[19:40:31] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[19:40:31] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[19:40:31] [PASSED] RGB
[19:40:31] [PASSED] YUV 4:2:0
[19:40:31] [PASSED] YUV 4:2:2
[19:40:31] [PASSED] YUV 4:4:4
[19:40:31] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[19:40:31] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[19:40:31] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[19:40:31] ============= drm_damage_helper (21 subtests) ==============
[19:40:31] [PASSED] drm_test_damage_iter_no_damage
[19:40:31] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[19:40:31] [PASSED] drm_test_damage_iter_no_damage_src_moved
[19:40:31] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[19:40:31] [PASSED] drm_test_damage_iter_no_damage_not_visible
[19:40:31] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[19:40:31] [PASSED] drm_test_damage_iter_no_damage_no_fb
[19:40:31] [PASSED] drm_test_damage_iter_simple_damage
[19:40:31] [PASSED] drm_test_damage_iter_single_damage
[19:40:31] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[19:40:31] [PASSED] drm_test_damage_iter_single_damage_outside_src
[19:40:31] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[19:40:31] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[19:40:31] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[19:40:31] [PASSED] drm_test_damage_iter_single_damage_src_moved
[19:40:31] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[19:40:31] [PASSED] drm_test_damage_iter_damage
[19:40:31] [PASSED] drm_test_damage_iter_damage_one_intersect
[19:40:31] [PASSED] drm_test_damage_iter_damage_one_outside
[19:40:31] [PASSED] drm_test_damage_iter_damage_src_moved
[19:40:31] [PASSED] drm_test_damage_iter_damage_not_visible
[19:40:31] ================ [PASSED] drm_damage_helper ================
[19:40:31] ============== drm_dp_mst_helper (3 subtests) ==============
[19:40:31] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[19:40:31] [PASSED] Clock 154000 BPP 30 DSC disabled
[19:40:31] [PASSED] Clock 234000 BPP 30 DSC disabled
[19:40:31] [PASSED] Clock 297000 BPP 24 DSC disabled
[19:40:31] [PASSED] Clock 332880 BPP 24 DSC enabled
[19:40:31] [PASSED] Clock 324540 BPP 24 DSC enabled
[19:40:31] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[19:40:31] ============== drm_test_dp_mst_calc_pbn_div  ===============
[19:40:31] [PASSED] Link rate 2000000 lane count 4
[19:40:31] [PASSED] Link rate 2000000 lane count 2
[19:40:31] [PASSED] Link rate 2000000 lane count 1
[19:40:31] [PASSED] Link rate 1350000 lane count 4
[19:40:31] [PASSED] Link rate 1350000 lane count 2
[19:40:31] [PASSED] Link rate 1350000 lane count 1
[19:40:31] [PASSED] Link rate 1000000 lane count 4
[19:40:31] [PASSED] Link rate 1000000 lane count 2
[19:40:31] [PASSED] Link rate 1000000 lane count 1
[19:40:31] [PASSED] Link rate 810000 lane count 4
[19:40:31] [PASSED] Link rate 810000 lane count 2
[19:40:31] [PASSED] Link rate 810000 lane count 1
[19:40:31] [PASSED] Link rate 540000 lane count 4
[19:40:31] [PASSED] Link rate 540000 lane count 2
[19:40:31] [PASSED] Link rate 540000 lane count 1
[19:40:31] [PASSED] Link rate 270000 lane count 4
[19:40:31] [PASSED] Link rate 270000 lane count 2
[19:40:31] [PASSED] Link rate 270000 lane count 1
[19:40:31] [PASSED] Link rate 162000 lane count 4
[19:40:31] [PASSED] Link rate 162000 lane count 2
[19:40:31] [PASSED] Link rate 162000 lane count 1
[19:40:31] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[19:40:31] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[19:40:31] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[19:40:31] [PASSED] DP_POWER_UP_PHY with port number
[19:40:31] [PASSED] DP_POWER_DOWN_PHY with port number
[19:40:31] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[19:40:31] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[19:40:31] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[19:40:31] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[19:40:31] [PASSED] DP_QUERY_PAYLOAD with port number
[19:40:31] [PASSED] DP_QUERY_PAYLOAD with VCPI
[19:40:31] [PASSED] DP_REMOTE_DPCD_READ with port number
[19:40:31] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[19:40:31] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[19:40:31] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[19:40:31] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[19:40:31] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[19:40:31] [PASSED] DP_REMOTE_I2C_READ with port number
[19:40:31] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[19:40:31] [PASSED] DP_REMOTE_I2C_READ with transactions array
[19:40:31] [PASSED] DP_REMOTE_I2C_WRITE with port number
[19:40:31] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[19:40:31] [PASSED] DP_REMOTE_I2C_WRITE with data array
[19:40:31] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[19:40:31] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[19:40:31] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[19:40:31] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[19:40:31] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[19:40:31] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[19:40:31] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[19:40:31] ================ [PASSED] drm_dp_mst_helper ================
[19:40:31] ================== drm_exec (7 subtests) ===================
[19:40:31] [PASSED] sanitycheck
[19:40:31] [PASSED] test_lock
[19:40:31] [PASSED] test_lock_unlock
[19:40:31] [PASSED] test_duplicates
[19:40:31] [PASSED] test_prepare
[19:40:31] [PASSED] test_prepare_array
[19:40:31] [PASSED] test_multiple_loops
[19:40:31] ==================== [PASSED] drm_exec =====================
[19:40:31] =========== drm_format_helper_test (17 subtests) ===========
[19:40:31] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[19:40:31] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[19:40:31] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[19:40:31] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[19:40:31] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[19:40:31] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[19:40:31] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[19:40:31] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[19:40:31] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[19:40:31] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[19:40:31] ============== drm_test_fb_xrgb8888_to_mono  ===============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[19:40:31] ==================== drm_test_fb_swab  =====================
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ================ [PASSED] drm_test_fb_swab =================
[19:40:31] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[19:40:31] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[19:40:31] [PASSED] single_pixel_source_buffer
[19:40:31] [PASSED] single_pixel_clip_rectangle
[19:40:31] [PASSED] well_known_colors
[19:40:31] [PASSED] destination_pitch
[19:40:31] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[19:40:31] ================= drm_test_fb_clip_offset  =================
[19:40:31] [PASSED] pass through
[19:40:31] [PASSED] horizontal offset
[19:40:31] [PASSED] vertical offset
[19:40:31] [PASSED] horizontal and vertical offset
[19:40:31] [PASSED] horizontal offset (custom pitch)
[19:40:31] [PASSED] vertical offset (custom pitch)
[19:40:31] [PASSED] horizontal and vertical offset (custom pitch)
[19:40:31] ============= [PASSED] drm_test_fb_clip_offset =============
[19:40:31] ============== drm_test_fb_build_fourcc_list  ==============
[19:40:31] [PASSED] no native formats
[19:40:31] [PASSED] XRGB8888 as native format
[19:40:31] [PASSED] remove duplicates
[19:40:31] [PASSED] convert alpha formats
[19:40:31] [PASSED] random formats
[19:40:31] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[19:40:31] =================== drm_test_fb_memcpy  ====================
[19:40:31] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[19:40:31] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[19:40:31] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[19:40:31] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[19:40:31] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[19:40:31] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[19:40:31] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[19:40:31] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[19:40:31] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[19:40:31] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[19:40:31] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[19:40:31] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[19:40:31] =============== [PASSED] drm_test_fb_memcpy ================
[19:40:31] ============= [PASSED] drm_format_helper_test ==============
[19:40:31] ================= drm_format (18 subtests) =================
[19:40:31] [PASSED] drm_test_format_block_width_invalid
[19:40:31] [PASSED] drm_test_format_block_width_one_plane
[19:40:31] [PASSED] drm_test_format_block_width_two_plane
[19:40:31] [PASSED] drm_test_format_block_width_three_plane
[19:40:31] [PASSED] drm_test_format_block_width_tiled
[19:40:31] [PASSED] drm_test_format_block_height_invalid
[19:40:31] [PASSED] drm_test_format_block_height_one_plane
[19:40:31] [PASSED] drm_test_format_block_height_two_plane
[19:40:31] [PASSED] drm_test_format_block_height_three_plane
[19:40:31] [PASSED] drm_test_format_block_height_tiled
[19:40:31] [PASSED] drm_test_format_min_pitch_invalid
[19:40:31] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[19:40:31] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[19:40:31] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[19:40:31] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[19:40:31] [PASSED] drm_test_format_min_pitch_two_plane
[19:40:31] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[19:40:31] [PASSED] drm_test_format_min_pitch_tiled
[19:40:31] =================== [PASSED] drm_format ====================
[19:40:31] ============== drm_framebuffer (10 subtests) ===============
[19:40:31] ========== drm_test_framebuffer_check_src_coords  ==========
[19:40:31] [PASSED] Success: source fits into fb
[19:40:31] [PASSED] Fail: overflowing fb with x-axis coordinate
[19:40:31] [PASSED] Fail: overflowing fb with y-axis coordinate
[19:40:31] [PASSED] Fail: overflowing fb with source width
[19:40:31] [PASSED] Fail: overflowing fb with source height
[19:40:31] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[19:40:31] [PASSED] drm_test_framebuffer_cleanup
[19:40:31] =============== drm_test_framebuffer_create  ===============
[19:40:31] [PASSED] ABGR8888 normal sizes
[19:40:31] [PASSED] ABGR8888 max sizes
[19:40:31] [PASSED] ABGR8888 pitch greater than min required
[19:40:31] [PASSED] ABGR8888 pitch less than min required
[19:40:31] [PASSED] ABGR8888 Invalid width
[19:40:31] [PASSED] ABGR8888 Invalid buffer handle
[19:40:31] [PASSED] No pixel format
[19:40:31] [PASSED] ABGR8888 Width 0
[19:40:31] [PASSED] ABGR8888 Height 0
[19:40:31] [PASSED] ABGR8888 Out of bound height * pitch combination
[19:40:31] [PASSED] ABGR8888 Large buffer offset
[19:40:31] [PASSED] ABGR8888 Buffer offset for inexistent plane
[19:40:31] [PASSED] ABGR8888 Invalid flag
[19:40:31] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[19:40:31] [PASSED] ABGR8888 Valid buffer modifier
[19:40:31] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[19:40:31] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[19:40:31] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[19:40:31] [PASSED] NV12 Normal sizes
[19:40:31] [PASSED] NV12 Max sizes
[19:40:31] [PASSED] NV12 Invalid pitch
[19:40:31] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[19:40:31] [PASSED] NV12 different  modifier per-plane
[19:40:31] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[19:40:31] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[19:40:31] [PASSED] NV12 Modifier for inexistent plane
[19:40:31] [PASSED] NV12 Handle for inexistent plane
[19:40:31] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[19:40:31] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[19:40:31] [PASSED] YVU420 Normal sizes
[19:40:31] [PASSED] YVU420 Max sizes
[19:40:31] [PASSED] YVU420 Invalid pitch
[19:40:31] [PASSED] YVU420 Different pitches
[19:40:31] [PASSED] YVU420 Different buffer offsets/pitches
[19:40:31] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[19:40:31] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[19:40:31] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[19:40:31] [PASSED] YVU420 Valid modifier
[19:40:31] [PASSED] YVU420 Different modifiers per plane
[19:40:31] [PASSED] YVU420 Modifier for inexistent plane
[19:40:31] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[19:40:31] [PASSED] X0L2 Normal sizes
[19:40:31] [PASSED] X0L2 Max sizes
[19:40:31] [PASSED] X0L2 Invalid pitch
[19:40:31] [PASSED] X0L2 Pitch greater than minimum required
[19:40:31] [PASSED] X0L2 Handle for inexistent plane
[19:40:31] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[19:40:31] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[19:40:31] [PASSED] X0L2 Valid modifier
[19:40:31] [PASSED] X0L2 Modifier for inexistent plane
[19:40:31] =========== [PASSED] drm_test_framebuffer_create ===========
[19:40:31] [PASSED] drm_test_framebuffer_free
[19:40:31] [PASSED] drm_test_framebuffer_init
[19:40:31] [PASSED] drm_test_framebuffer_init_bad_format
[19:40:31] [PASSED] drm_test_framebuffer_init_dev_mismatch
[19:40:31] [PASSED] drm_test_framebuffer_lookup
[19:40:31] [PASSED] drm_test_framebuffer_lookup_inexistent
[19:40:31] [PASSED] drm_test_framebuffer_modifiers_not_supported
[19:40:31] ================= [PASSED] drm_framebuffer =================
[19:40:31] ================ drm_gem_shmem (8 subtests) ================
[19:40:31] [PASSED] drm_gem_shmem_test_obj_create
[19:40:31] [PASSED] drm_gem_shmem_test_obj_create_private
[19:40:31] [PASSED] drm_gem_shmem_test_pin_pages
[19:40:31] [PASSED] drm_gem_shmem_test_vmap
[19:40:31] [PASSED] drm_gem_shmem_test_get_pages_sgt
[19:40:31] [PASSED] drm_gem_shmem_test_get_sg_table
[19:40:31] [PASSED] drm_gem_shmem_test_madvise
[19:40:31] [PASSED] drm_gem_shmem_test_purge
[19:40:31] ================== [PASSED] drm_gem_shmem ==================
[19:40:31] === drm_atomic_helper_connector_hdmi_check (23 subtests) ===
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[19:40:31] [PASSED] drm_test_check_disable_connector
[19:40:31] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[19:40:31] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[19:40:31] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[19:40:31] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[19:40:31] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[19:40:31] [PASSED] drm_test_check_output_bpc_dvi
[19:40:31] [PASSED] drm_test_check_output_bpc_format_vic_1
[19:40:31] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[19:40:31] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[19:40:31] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[19:40:31] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[19:40:31] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[19:40:31] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[19:40:31] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[19:40:31] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[19:40:31] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[19:40:31] [PASSED] drm_test_check_broadcast_rgb_value
[19:40:31] [PASSED] drm_test_check_bpc_8_value
[19:40:31] [PASSED] drm_test_check_bpc_10_value
[19:40:31] [PASSED] drm_test_check_bpc_12_value
[19:40:31] [PASSED] drm_test_check_format_value
[19:40:31] [PASSED] drm_test_check_tmds_char_value
[19:40:31] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[19:40:31] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[19:40:31] [PASSED] drm_test_check_mode_valid
[19:40:31] [PASSED] drm_test_check_mode_valid_reject
[19:40:31] [PASSED] drm_test_check_mode_valid_reject_rate
[19:40:31] [PASSED] drm_test_check_mode_valid_reject_max_clock
[19:40:31] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[19:40:31] ================= drm_managed (2 subtests) =================
[19:40:31] [PASSED] drm_test_managed_release_action
[19:40:31] [PASSED] drm_test_managed_run_action
[19:40:31] =================== [PASSED] drm_managed ===================
[19:40:31] =================== drm_mm (6 subtests) ====================
[19:40:31] [PASSED] drm_test_mm_init
[19:40:31] [PASSED] drm_test_mm_debug
[19:40:31] [PASSED] drm_test_mm_align32
[19:40:31] [PASSED] drm_test_mm_align64
[19:40:31] [PASSED] drm_test_mm_lowest
[19:40:31] [PASSED] drm_test_mm_highest
[19:40:31] ===================== [PASSED] drm_mm ======================
[19:40:31] ============= drm_modes_analog_tv (5 subtests) =============
[19:40:31] [PASSED] drm_test_modes_analog_tv_mono_576i
[19:40:31] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[19:40:31] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[19:40:31] [PASSED] drm_test_modes_analog_tv_pal_576i
[19:40:31] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[19:40:31] =============== [PASSED] drm_modes_analog_tv ===============
[19:40:31] ============== drm_plane_helper (2 subtests) ===============
[19:40:31] =============== drm_test_check_plane_state  ================
[19:40:31] [PASSED] clipping_simple
[19:40:31] [PASSED] clipping_rotate_reflect
[19:40:31] [PASSED] positioning_simple
[19:40:31] [PASSED] upscaling
[19:40:31] [PASSED] downscaling
[19:40:31] [PASSED] rounding1
[19:40:31] [PASSED] rounding2
[19:40:31] [PASSED] rounding3
[19:40:31] [PASSED] rounding4
[19:40:31] =========== [PASSED] drm_test_check_plane_state ============
[19:40:31] =========== drm_test_check_invalid_plane_state  ============
[19:40:31] [PASSED] positioning_invalid
[19:40:31] [PASSED] upscaling_invalid
[19:40:31] [PASSED] downscaling_invalid
[19:40:31] ======= [PASSED] drm_test_check_invalid_plane_state ========
[19:40:31] ================ [PASSED] drm_plane_helper =================
[19:40:31] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[19:40:31] ====== drm_test_connector_helper_tv_get_modes_check  =======
[19:40:31] [PASSED] None
[19:40:31] [PASSED] PAL
[19:40:31] [PASSED] NTSC
[19:40:31] [PASSED] Both, NTSC Default
[19:40:31] [PASSED] Both, PAL Default
[19:40:31] [PASSED] Both, NTSC Default, with PAL on command-line
[19:40:31] [PASSED] Both, PAL Default, with NTSC on command-line
[19:40:31] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[19:40:31] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[19:40:31] ================== drm_rect (9 subtests) ===================
[19:40:31] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[19:40:31] [PASSED] drm_test_rect_clip_scaled_not_clipped
[19:40:31] [PASSED] drm_test_rect_clip_scaled_clipped
[19:40:31] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[19:40:31] ================= drm_test_rect_intersect  =================
[19:40:31] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[19:40:31] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[19:40:31] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[19:40:31] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[19:40:31] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[19:40:31] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[19:40:31] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[19:40:31] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[19:40:31] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[19:40:31] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[19:40:31] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[19:40:31] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[19:40:31] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[19:40:31] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[19:40:31] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[19:40:31] ============= [PASSED] drm_test_rect_intersect =============
[19:40:31] ================ drm_test_rect_calc_hscale  ================
[19:40:31] [PASSED] normal use
[19:40:31] [PASSED] out of max range
[19:40:31] [PASSED] out of min range
[19:40:31] [PASSED] zero dst
[19:40:31] [PASSED] negative src
[19:40:31] [PASSED] negative dst
[19:40:31] ============ [PASSED] drm_test_rect_calc_hscale ============
[19:40:31] ================ drm_test_rect_calc_vscale  ================
[19:40:31] [PASSED] normal use
[19:40:31] [PASSED] out of max range
[19:40:31] [PASSED] out of min range
stty: 'standard input': Inappropriate ioctl for device
[19:40:31] [PASSED] zero dst
[19:40:31] [PASSED] negative src
[19:40:31] [PASSED] negative dst
[19:40:31] ============ [PASSED] drm_test_rect_calc_vscale ============
[19:40:31] ================== drm_test_rect_rotate  ===================
[19:40:31] [PASSED] reflect-x
[19:40:31] [PASSED] reflect-y
[19:40:31] [PASSED] rotate-0
[19:40:31] [PASSED] rotate-90
[19:40:31] [PASSED] rotate-180
[19:40:31] [PASSED] rotate-270
[19:40:31] ============== [PASSED] drm_test_rect_rotate ===============
[19:40:31] ================ drm_test_rect_rotate_inv  =================
[19:40:31] [PASSED] reflect-x
[19:40:31] [PASSED] reflect-y
[19:40:31] [PASSED] rotate-0
[19:40:31] [PASSED] rotate-90
[19:40:31] [PASSED] rotate-180
[19:40:31] [PASSED] rotate-270
[19:40:31] ============ [PASSED] drm_test_rect_rotate_inv =============
[19:40:31] ==================== [PASSED] drm_rect =====================
[19:40:31] ============================================================
[19:40:31] Testing complete. Ran 598 tests: passed: 598
[19:40:31] Elapsed time: 25.025s total, 1.619s configuring, 23.237s building, 0.139s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[19:40:31] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[19:40:33] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
[19:40:40] Starting KUnit Kernel (1/1)...
[19:40:40] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[19:40:41] ================= ttm_device (5 subtests) ==================
[19:40:41] [PASSED] ttm_device_init_basic
[19:40:41] [PASSED] ttm_device_init_multiple
[19:40:41] [PASSED] ttm_device_fini_basic
[19:40:41] [PASSED] ttm_device_init_no_vma_man
[19:40:41] ================== ttm_device_init_pools  ==================
[19:40:41] [PASSED] No DMA allocations, no DMA32 required
[19:40:41] [PASSED] DMA allocations, DMA32 required
[19:40:41] [PASSED] No DMA allocations, DMA32 required
[19:40:41] [PASSED] DMA allocations, no DMA32 required
[19:40:41] ============== [PASSED] ttm_device_init_pools ==============
[19:40:41] =================== [PASSED] ttm_device ====================
[19:40:41] ================== ttm_pool (8 subtests) ===================
[19:40:41] ================== ttm_pool_alloc_basic  ===================
[19:40:41] [PASSED] One page
[19:40:41] [PASSED] More than one page
[19:40:41] [PASSED] Above the allocation limit
[19:40:41] [PASSED] One page, with coherent DMA mappings enabled
[19:40:41] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[19:40:41] ============== [PASSED] ttm_pool_alloc_basic ===============
[19:40:41] ============== ttm_pool_alloc_basic_dma_addr  ==============
[19:40:41] [PASSED] One page
[19:40:41] [PASSED] More than one page
[19:40:41] [PASSED] Above the allocation limit
[19:40:41] [PASSED] One page, with coherent DMA mappings enabled
[19:40:41] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[19:40:41] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[19:40:41] [PASSED] ttm_pool_alloc_order_caching_match
[19:40:41] [PASSED] ttm_pool_alloc_caching_mismatch
[19:40:41] [PASSED] ttm_pool_alloc_order_mismatch
[19:40:41] [PASSED] ttm_pool_free_dma_alloc
[19:40:41] [PASSED] ttm_pool_free_no_dma_alloc
[19:40:41] [PASSED] ttm_pool_fini_basic
[19:40:41] ==================== [PASSED] ttm_pool =====================
[19:40:41] ================ ttm_resource (8 subtests) =================
[19:40:41] ================= ttm_resource_init_basic  =================
[19:40:41] [PASSED] Init resource in TTM_PL_SYSTEM
[19:40:41] [PASSED] Init resource in TTM_PL_VRAM
[19:40:41] [PASSED] Init resource in a private placement
[19:40:41] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[19:40:41] ============= [PASSED] ttm_resource_init_basic =============
[19:40:41] [PASSED] ttm_resource_init_pinned
[19:40:41] [PASSED] ttm_resource_fini_basic
[19:40:41] [PASSED] ttm_resource_manager_init_basic
[19:40:41] [PASSED] ttm_resource_manager_usage_basic
[19:40:41] [PASSED] ttm_resource_manager_set_used_basic
[19:40:41] [PASSED] ttm_sys_man_alloc_basic
[19:40:41] [PASSED] ttm_sys_man_free_basic
[19:40:41] ================== [PASSED] ttm_resource ===================
[19:40:41] =================== ttm_tt (15 subtests) ===================
[19:40:41] ==================== ttm_tt_init_basic  ====================
[19:40:41] [PASSED] Page-aligned size
[19:40:41] [PASSED] Extra pages requested
[19:40:41] ================ [PASSED] ttm_tt_init_basic ================
[19:40:41] [PASSED] ttm_tt_init_misaligned
[19:40:41] [PASSED] ttm_tt_fini_basic
[19:40:41] [PASSED] ttm_tt_fini_sg
[19:40:41] [PASSED] ttm_tt_fini_shmem
[19:40:41] [PASSED] ttm_tt_create_basic
[19:40:41] [PASSED] ttm_tt_create_invalid_bo_type
[19:40:41] [PASSED] ttm_tt_create_ttm_exists
[19:40:41] [PASSED] ttm_tt_create_failed
[19:40:41] [PASSED] ttm_tt_destroy_basic
[19:40:41] [PASSED] ttm_tt_populate_null_ttm
[19:40:41] [PASSED] ttm_tt_populate_populated_ttm
[19:40:41] [PASSED] ttm_tt_unpopulate_basic
[19:40:41] [PASSED] ttm_tt_unpopulate_empty_ttm
[19:40:41] [PASSED] ttm_tt_swapin_basic
[19:40:41] ===================== [PASSED] ttm_tt ======================
[19:40:41] =================== ttm_bo (14 subtests) ===================
[19:40:41] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[19:40:41] [PASSED] Cannot be interrupted and sleeps
[19:40:41] [PASSED] Cannot be interrupted, locks straight away
[19:40:41] [PASSED] Can be interrupted, sleeps
[19:40:41] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[19:40:41] [PASSED] ttm_bo_reserve_locked_no_sleep
[19:40:41] [PASSED] ttm_bo_reserve_no_wait_ticket
[19:40:41] [PASSED] ttm_bo_reserve_double_resv
[19:40:41] [PASSED] ttm_bo_reserve_interrupted
[19:40:41] [PASSED] ttm_bo_reserve_deadlock
[19:40:41] [PASSED] ttm_bo_unreserve_basic
[19:40:41] [PASSED] ttm_bo_unreserve_pinned
[19:40:41] [PASSED] ttm_bo_unreserve_bulk
[19:40:41] [PASSED] ttm_bo_put_basic
[19:40:41] [PASSED] ttm_bo_put_shared_resv
[19:40:41] [PASSED] ttm_bo_pin_basic
[19:40:41] [PASSED] ttm_bo_pin_unpin_resource
[19:40:41] [PASSED] ttm_bo_multiple_pin_one_unpin
[19:40:41] ===================== [PASSED] ttm_bo ======================
[19:40:41] ============== ttm_bo_validate (22 subtests) ===============
[19:40:41] ============== ttm_bo_init_reserved_sys_man  ===============
[19:40:41] [PASSED] Buffer object for userspace
[19:40:41] [PASSED] Kernel buffer object
[19:40:41] [PASSED] Shared buffer object
[19:40:41] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[19:40:41] ============== ttm_bo_init_reserved_mock_man  ==============
[19:40:41] [PASSED] Buffer object for userspace
[19:40:41] [PASSED] Kernel buffer object
[19:40:41] [PASSED] Shared buffer object
[19:40:41] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[19:40:41] [PASSED] ttm_bo_init_reserved_resv
[19:40:41] ================== ttm_bo_validate_basic  ==================
[19:40:41] [PASSED] Buffer object for userspace
[19:40:41] [PASSED] Kernel buffer object
[19:40:41] [PASSED] Shared buffer object
[19:40:41] ============== [PASSED] ttm_bo_validate_basic ==============
[19:40:41] [PASSED] ttm_bo_validate_invalid_placement
[19:40:41] ============= ttm_bo_validate_same_placement  ==============
[19:40:41] [PASSED] System manager
[19:40:41] [PASSED] VRAM manager
[19:40:41] ========= [PASSED] ttm_bo_validate_same_placement ==========
[19:40:41] [PASSED] ttm_bo_validate_failed_alloc
[19:40:41] [PASSED] ttm_bo_validate_pinned
[19:40:41] [PASSED] ttm_bo_validate_busy_placement
[19:40:41] ================ ttm_bo_validate_multihop  =================
[19:40:41] [PASSED] Buffer object for userspace
[19:40:41] [PASSED] Kernel buffer object
[19:40:41] [PASSED] Shared buffer object
[19:40:41] ============ [PASSED] ttm_bo_validate_multihop =============
[19:40:41] ========== ttm_bo_validate_no_placement_signaled  ==========
[19:40:41] [PASSED] Buffer object in system domain, no page vector
[19:40:41] [PASSED] Buffer object in system domain with an existing page vector
[19:40:41] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[19:40:41] ======== ttm_bo_validate_no_placement_not_signaled  ========
[19:40:41] [PASSED] Buffer object for userspace
[19:40:41] [PASSED] Kernel buffer object
[19:40:41] [PASSED] Shared buffer object
[19:40:41] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[19:40:41] [PASSED] ttm_bo_validate_move_fence_signaled
[19:40:41] ========= ttm_bo_validate_move_fence_not_signaled  =========
[19:40:41] [PASSED] Waits for GPU
[19:40:41] [PASSED] Tries to lock straight away
[19:40:41] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[19:40:41] [PASSED] ttm_bo_validate_swapout
[19:40:41] [PASSED] ttm_bo_validate_happy_evict
[19:40:41] [PASSED] ttm_bo_validate_all_pinned_evict
[19:40:41] [PASSED] ttm_bo_validate_allowed_only_evict
[19:40:41] [PASSED] ttm_bo_validate_deleted_evict
[19:40:41] [PASSED] ttm_bo_validate_busy_domain_evict
[19:40:41] [PASSED] ttm_bo_validate_evict_gutting
[19:40:41] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[19:40:41] ================= [PASSED] ttm_bo_validate =================
[19:40:41] ============================================================
[19:40:41] Testing complete. Ran 102 tests: passed: 102
[19:40:41] Elapsed time: 9.931s total, 1.661s configuring, 7.653s building, 0.529s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 31+ messages in thread

* RE: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-01-14 18:04 ` [PATCH 2/2] drm/xe/display: Unify display page table mapping Juha-Pekka Heikkila
@ 2025-01-14 19:56   ` Cavitt, Jonathan
  2025-02-04 11:25   ` Tvrtko Ursulin
  1 sibling, 0 replies; 31+ messages in thread
From: Cavitt, Jonathan @ 2025-01-14 19:56 UTC (permalink / raw)
  To: Juha-Pekka Heikkila, intel-xe@lists.freedesktop.org; +Cc: Cavitt, Jonathan

-----Original Message-----
From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Juha-Pekka Heikkila
Sent: Tuesday, January 14, 2025 10:04 AM
To: intel-xe@lists.freedesktop.org
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Subject: [PATCH 2/2] drm/xe/display: Unify display page table mapping
> 
> Unify writing of remapped and straight DPTs. Take out writing of
> rotated DPT since Xe doesn't support any platform that does
> 90 degree rotated framebuffers.
> 
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>

LGTM
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
-Jonathan Cavitt

> ---
>  drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
>  1 file changed, 48 insertions(+), 93 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> index c28885316986..70322f28eee5 100644
> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> @@ -14,66 +14,44 @@
>  #include "xe_ggtt.h"
>  #include "xe_pm.h"
>  
> -static void
> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs, u32 bo_ofs,
> -		  u32 width, u32 height, u32 src_stride, u32 dst_stride)
> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map *map,
> +				 u32 *ofs, u32 src_idx, struct xe_device *xe)
>  {
> -	struct xe_device *xe = xe_bo_device(bo);
>  	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> -	u32 column, row;
> -
> -	/* TODO: Maybe rewrite so we can traverse the bo addresses sequentially,
> -	 * by writing dpt/ggtt in a different order?
> -	 */
> -
> -	for (column = 0; column < width; column++) {
> -		u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
> -
> -		for (row = 0; row < height; row++) {
> -			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> -							      xe->pat.idx[XE_CACHE_NONE]);
> -
> -			iosys_map_wr(map, *dpt_ofs, u64, pte);
> -			*dpt_ofs += 8;
> -			src_idx -= src_stride;
> -		}
> -
> -		/* The DE ignores the PTEs for the padding tiles */
> -		*dpt_ofs += (dst_stride - height) * 8;
> -	}
> -
> -	/* Align to next page */
> -	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
> +	u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> +					      xe->pat.idx[XE_CACHE_NONE]);
> +	iosys_map_wr(map, *ofs, u64, pte);
> +	*ofs += 8;
>  }
>  
> -static void
> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
> -		   u32 bo_ofs, u32 width, u32 height, u32 src_stride,
> -		   u32 dst_stride)
> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
> +		      const struct intel_remapped_plane_info *plane,
> +		      enum i915_gtt_view_type type)
>  {
>  	struct xe_device *xe = xe_bo_device(bo);
> -	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> -	u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
> -		= ggtt->pt_ops->pte_encode_bo;
> -	u32 column, row;
> -
> -	for (row = 0; row < height; row++) {
> -		u32 src_idx = src_stride * row + bo_ofs;
> -
> -		for (column = 0; column < width; column++) {
> -			iosys_map_wr(map, *dpt_ofs, u64,
> -				     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> -				     xe->pat.idx[XE_CACHE_NONE]));
> -
> -			*dpt_ofs += 8;
> -			src_idx++;
> +	const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
> +	const u32 dest_width = plane->width;
> +	const u32 dest_height = plane->height;
> +	u32 src_idx;
> +
> +	for (u32 row = 0; row < dest_height; ++row) {
> +		for (u32 column = 0; column < dest_width; ++column) {
> +			switch (type) {
> +			case I915_GTT_VIEW_NORMAL:
> +				src_idx = plane->offset + column;
> +				break;
> +			case I915_GTT_VIEW_REMAPPED:
> +				src_idx = plane->offset +
> +					row * plane->src_stride + column;
> +				break;
> +			default:
> +				WARN(1, "Unsupported GTT view type: %d", type);
> +				return;
> +			}
> +			encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
>  		}
> -
> -		/* The DE ignores the PTEs for the padding tiles */
> -		*dpt_ofs += (dst_stride - width) * 8;
> +		*dpt_ofs += dpt_even;
>  	}
> -
> -	/* Align to next page */
>  	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>  }
>  
> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>  {
>  	struct xe_device *xe = to_xe_device(fb->base.dev);
>  	struct xe_tile *tile0 = xe_device_get_root_tile(xe);
> -	struct xe_ggtt *ggtt = tile0->mem.ggtt;
>  	struct drm_gem_object *obj = intel_fb_bo(&fb->base);
>  	struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
>  	u32 dpt_size, size = bo->ttm.base.size;
> +	const struct intel_remapped_plane_info *plane;
> +	u32 i, plane_count, dpt_ofs = 0;
> +	struct intel_remapped_plane_info normal_plane;
>  
> -	if (view->type == I915_GTT_VIEW_NORMAL)
> +	if (view->type == I915_GTT_VIEW_NORMAL) {
>  		dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
> -	else if (view->type == I915_GTT_VIEW_REMAPPED)
> -		dpt_size = ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
> -				 XE_PAGE_SIZE);
> -	else
> -		/* display uses 4K tiles instead of bytes here, convert to entries.. */
> -		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
> +		normal_plane.offset = 0;
> +		normal_plane.width = size / XE_PAGE_SIZE;
> +		normal_plane.height = 1;
> +		normal_plane.src_stride = size / XE_PAGE_SIZE;
> +		normal_plane.dst_stride = size / XE_PAGE_SIZE;
> +		plane = &normal_plane;
> +		plane_count = 1;
> +	} else {
> +		dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
>  				 XE_PAGE_SIZE);
> +		plane = view->remapped.plane;
> +		plane_count = ARRAY_SIZE(view->remapped.plane);
> +	}
>  
>  	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>  
>  	if (IS_ERR(dpt))
>  		return PTR_ERR(dpt);
>  
> -	if (view->type == I915_GTT_VIEW_NORMAL) {
> -		u32 x;
> -
> -		for (x = 0; x < size / XE_PAGE_SIZE; x++) {
> -			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
> -							      xe->pat.idx[XE_CACHE_NONE]);
> -
> -			iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
> -		}
> -	} else if (view->type == I915_GTT_VIEW_REMAPPED) {
> -		const struct intel_remapped_info *remap_info = &view->remapped;
> -		u32 i, dpt_ofs = 0;
> -
> -		for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
> -			write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
> -					   remap_info->plane[i].offset,
> -					   remap_info->plane[i].width,
> -					   remap_info->plane[i].height,
> -					   remap_info->plane[i].src_stride,
> -					   remap_info->plane[i].dst_stride);
> -
> -	} else {
> -		const struct intel_rotation_info *rot_info = &view->rotated;
> -		u32 i, dpt_ofs = 0;
> -
> -		for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
> -			write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
> -					  rot_info->plane[i].offset,
> -					  rot_info->plane[i].width,
> -					  rot_info->plane[i].height,
> -					  rot_info->plane[i].src_stride,
> -					  rot_info->plane[i].dst_stride);
> -	}
> +	for (i = 0; i < plane_count; i++)
> +		write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
>  
>  	vma->dpt = dpt;
>  	vma->node = dpt->ggtt_node[tile0->id];
> -- 
> 2.45.2
> 
> 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✓ CI.Build: success for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (4 preceding siblings ...)
  2025-01-14 19:40 ` ✓ CI.KUnit: " Patchwork
@ 2025-01-14 19:58 ` Patchwork
  2025-01-14 20:01 ` ✓ CI.Hooks: " Patchwork
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 19:58 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : success

== Summary ==

lib/modules/6.13.0-rc7-xe+/kernel/arch/x86/events/rapl.ko
lib/modules/6.13.0-rc7-xe+/kernel/arch/x86/kvm/
lib/modules/6.13.0-rc7-xe+/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.13.0-rc7-xe+/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.13.0-rc7-xe+/kernel/arch/x86/kvm/kvm-amd.ko
lib/modules/6.13.0-rc7-xe+/kernel/kernel/
lib/modules/6.13.0-rc7-xe+/kernel/kernel/kheaders.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/
lib/modules/6.13.0-rc7-xe+/kernel/crypto/ecrdsa_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/xcbc.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/serpent_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/aria_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/crypto_simd.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/adiantum.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/tcrypt.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/crypto_engine.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/zstd.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/asymmetric_keys/
lib/modules/6.13.0-rc7-xe+/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/des_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/xctr.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/authenc.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/sm4_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/keywrap.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/camellia_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/sm3.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/pcrypt.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/aegis128.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/af_alg.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/algif_aead.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/cmac.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/sm3_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/aes_ti.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/chacha_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/poly1305_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/nhpoly1305.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/crc32_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/essiv.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/ccm.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/wp512.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/streebog_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/authencesn.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/echainiv.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/lrw.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/cryptd.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/crypto_user.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/algif_hash.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/vmac.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/polyval-generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/hctr2.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/842.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/pcbc.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/ansi_cprng.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/cast6_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/twofish_common.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/twofish_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/lz4hc.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/blowfish_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/md4.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/chacha20poly1305.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/curve25519-generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/lz4.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/rmd160.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/algif_skcipher.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/cast5_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/fcrypt.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/ecdsa_generic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/sm4.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/cast_common.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/blowfish_common.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/michael_mic.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/async_tx/
lib/modules/6.13.0-rc7-xe+/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.13.0-rc7-xe+/kernel/crypto/algif_rng.ko
lib/modules/6.13.0-rc7-xe+/kernel/block/
lib/modules/6.13.0-rc7-xe+/kernel/block/bfq.ko
lib/modules/6.13.0-rc7-xe+/kernel/block/kyber-iosched.ko
lib/modules/6.13.0-rc7-xe+/build
lib/modules/6.13.0-rc7-xe+/modules.alias.bin
lib/modules/6.13.0-rc7-xe+/modules.builtin
lib/modules/6.13.0-rc7-xe+/modules.softdep
lib/modules/6.13.0-rc7-xe+/modules.alias
lib/modules/6.13.0-rc7-xe+/modules.order
lib/modules/6.13.0-rc7-xe+/modules.symbols
lib/modules/6.13.0-rc7-xe+/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
^[[0Ksection_end:1736884716:package_x86_64_nodebug
^[[0K
+ echo -e '\e[0Ksection_end:1736884716:package_x86_64_nodebug\r\e[0K'
+ sync
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✓ CI.Hooks: success for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (5 preceding siblings ...)
  2025-01-14 19:58 ` ✓ CI.Build: " Patchwork
@ 2025-01-14 20:01 ` Patchwork
  2025-01-14 20:02 ` ✓ CI.checksparse: " Patchwork
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 20:01 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  GEN     Makefile
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  CALL    ../scripts/checksyscalls.sh
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64-default/tools/objtool/weak.o
  CC      /workspace/kernel/build64-default/tools/objtool/check.o
  CC      /workspace/kernel/build64-default/tools/objtool/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64-default/tools/objtool/elf.o
  CC      /workspace/kernel/build64-default/tools/objtool/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o
  LD      /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-default'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
make[1]: Leaving directory '/workspace/kernel/build64-default'
run-parts: executing /workspace/ci/hooks/11-build-32b
+++ realpath /workspace/ci/hooks/11-build-32b
++ dirname /workspace/ci/hooks/11-build-32b
+ THIS_SCRIPT_DIR=/workspace/ci/hooks
+ SRC_DIR=/workspace/kernel
+ TOOLS_SRC_DIR=/workspace/ci
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ BUILD_DIR=/workspace/kernel/build64-default/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-default/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-default/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-default/build32'
  GEN     Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  YACC    scripts/kconfig/parser.tab.[ch]
  LEX     scripts/kconfig/lexer.lex.c
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-default/build32'
+ cd /workspace/kernel/build64-default/build32
+ /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/fragments/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/fragments/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/fragments/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=m

  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# configuration written to .config
#
Value requested for CONFIG_HAVE_UID16 not in final .config
Requested value:  CONFIG_HAVE_UID16=y
Actual value:     

Value requested for CONFIG_UID16 not in final .config
Requested value:  CONFIG_UID16=y
Actual value:     

Value requested for CONFIG_X86_32 not in final .config
Requested value:  CONFIG_X86_32=y
Actual value:     

Value requested for CONFIG_OUTPUT_FORMAT not in final .config
Requested value:  CONFIG_OUTPUT_FORMAT="elf32-i386"
Actual value:     CONFIG_OUTPUT_FORMAT="elf64-x86-64"

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MIN not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MIN=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MIN=28

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MAX not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MAX=16
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MAX=32

Value requested for CONFIG_PGTABLE_LEVELS not in final .config
Requested value:  CONFIG_PGTABLE_LEVELS=2
Actual value:     CONFIG_PGTABLE_LEVELS=5

Value requested for CONFIG_X86_BIGSMP not in final .config
Requested value:  # CONFIG_X86_BIGSMP is not set
Actual value:     

Value requested for CONFIG_X86_INTEL_QUARK not in final .config
Requested value:  # CONFIG_X86_INTEL_QUARK is not set
Actual value:     

Value requested for CONFIG_X86_RDC321X not in final .config
Requested value:  # CONFIG_X86_RDC321X is not set
Actual value:     

Value requested for CONFIG_X86_32_NON_STANDARD not in final .config
Requested value:  # CONFIG_X86_32_NON_STANDARD is not set
Actual value:     

Value requested for CONFIG_X86_32_IRIS not in final .config
Requested value:  # CONFIG_X86_32_IRIS is not set
Actual value:     

Value requested for CONFIG_M486SX not in final .config
Requested value:  # CONFIG_M486SX is not set
Actual value:     

Value requested for CONFIG_M486 not in final .config
Requested value:  # CONFIG_M486 is not set
Actual value:     

Value requested for CONFIG_M586 not in final .config
Requested value:  # CONFIG_M586 is not set
Actual value:     

Value requested for CONFIG_M586TSC not in final .config
Requested value:  # CONFIG_M586TSC is not set
Actual value:     

Value requested for CONFIG_M586MMX not in final .config
Requested value:  # CONFIG_M586MMX is not set
Actual value:     

Value requested for CONFIG_M686 not in final .config
Requested value:  CONFIG_M686=y
Actual value:     

Value requested for CONFIG_MPENTIUMII not in final .config
Requested value:  # CONFIG_MPENTIUMII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMIII not in final .config
Requested value:  # CONFIG_MPENTIUMIII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMM not in final .config
Requested value:  # CONFIG_MPENTIUMM is not set
Actual value:     

Value requested for CONFIG_MPENTIUM4 not in final .config
Requested value:  # CONFIG_MPENTIUM4 is not set
Actual value:     

Value requested for CONFIG_MK6 not in final .config
Requested value:  # CONFIG_MK6 is not set
Actual value:     

Value requested for CONFIG_MK7 not in final .config
Requested value:  # CONFIG_MK7 is not set
Actual value:     

Value requested for CONFIG_MCRUSOE not in final .config
Requested value:  # CONFIG_MCRUSOE is not set
Actual value:     

Value requested for CONFIG_MEFFICEON not in final .config
Requested value:  # CONFIG_MEFFICEON is not set
Actual value:     

Value requested for CONFIG_MWINCHIPC6 not in final .config
Requested value:  # CONFIG_MWINCHIPC6 is not set
Actual value:     

Value requested for CONFIG_MWINCHIP3D not in final .config
Requested value:  # CONFIG_MWINCHIP3D is not set
Actual value:     

Value requested for CONFIG_MELAN not in final .config
Requested value:  # CONFIG_MELAN is not set
Actual value:     

Value requested for CONFIG_MGEODEGX1 not in final .config
Requested value:  # CONFIG_MGEODEGX1 is not set
Actual value:     

Value requested for CONFIG_MGEODE_LX not in final .config
Requested value:  # CONFIG_MGEODE_LX is not set
Actual value:     

Value requested for CONFIG_MCYRIXIII not in final .config
Requested value:  # CONFIG_MCYRIXIII is not set
Actual value:     

Value requested for CONFIG_MVIAC3_2 not in final .config
Requested value:  # CONFIG_MVIAC3_2 is not set
Actual value:     

Value requested for CONFIG_MVIAC7 not in final .config
Requested value:  # CONFIG_MVIAC7 is not set
Actual value:     

Value requested for CONFIG_X86_GENERIC not in final .config
Requested value:  # CONFIG_X86_GENERIC is not set
Actual value:     

Value requested for CONFIG_X86_INTERNODE_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_INTERNODE_CACHE_SHIFT=5
Actual value:     CONFIG_X86_INTERNODE_CACHE_SHIFT=6

Value requested for CONFIG_X86_L1_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_L1_CACHE_SHIFT=5
Actual value:     CONFIG_X86_L1_CACHE_SHIFT=6

Value requested for CONFIG_X86_USE_PPRO_CHECKSUM not in final .config
Requested value:  CONFIG_X86_USE_PPRO_CHECKSUM=y
Actual value:     

Value requested for CONFIG_X86_MINIMUM_CPU_FAMILY not in final .config
Requested value:  CONFIG_X86_MINIMUM_CPU_FAMILY=6
Actual value:     CONFIG_X86_MINIMUM_CPU_FAMILY=64

Value requested for CONFIG_CPU_SUP_TRANSMETA_32 not in final .config
Requested value:  CONFIG_CPU_SUP_TRANSMETA_32=y
Actual value:     

Value requested for CONFIG_CPU_SUP_VORTEX_32 not in final .config
Requested value:  CONFIG_CPU_SUP_VORTEX_32=y
Actual value:     

Value requested for CONFIG_HPET_TIMER not in final .config
Requested value:  # CONFIG_HPET_TIMER is not set
Actual value:     CONFIG_HPET_TIMER=y

Value requested for CONFIG_NR_CPUS_RANGE_END not in final .config
Requested value:  CONFIG_NR_CPUS_RANGE_END=8
Actual value:     CONFIG_NR_CPUS_RANGE_END=512

Value requested for CONFIG_NR_CPUS_DEFAULT not in final .config
Requested value:  CONFIG_NR_CPUS_DEFAULT=8
Actual value:     CONFIG_NR_CPUS_DEFAULT=64

Value requested for CONFIG_X86_ANCIENT_MCE not in final .config
Requested value:  # CONFIG_X86_ANCIENT_MCE is not set
Actual value:     

Value requested for CONFIG_X86_LEGACY_VM86 not in final .config
Requested value:  # CONFIG_X86_LEGACY_VM86 is not set
Actual value:     

Value requested for CONFIG_X86_ESPFIX32 not in final .config
Requested value:  CONFIG_X86_ESPFIX32=y
Actual value:     

Value requested for CONFIG_TOSHIBA not in final .config
Requested value:  # CONFIG_TOSHIBA is not set
Actual value:     

Value requested for CONFIG_X86_REBOOTFIXUPS not in final .config
Requested value:  # CONFIG_X86_REBOOTFIXUPS is not set
Actual value:     

Value requested for CONFIG_MICROCODE_INITRD32 not in final .config
Requested value:  CONFIG_MICROCODE_INITRD32=y
Actual value:     

Value requested for CONFIG_NOHIGHMEM not in final .config
Requested value:  # CONFIG_NOHIGHMEM is not set
Actual value:     

Value requested for CONFIG_HIGHMEM4G not in final .config
Requested value:  CONFIG_HIGHMEM4G=y
Actual value:     

Value requested for CONFIG_HIGHMEM64G not in final .config
Requested value:  # CONFIG_HIGHMEM64G is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_3G not in final .config
Requested value:  CONFIG_VMSPLIT_3G=y
Actual value:     

Value requested for CONFIG_VMSPLIT_3G_OPT not in final .config
Requested value:  # CONFIG_VMSPLIT_3G_OPT is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_2G not in final .config
Requested value:  # CONFIG_VMSPLIT_2G is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_2G_OPT not in final .config
Requested value:  # CONFIG_VMSPLIT_2G_OPT is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_1G not in final .config
Requested value:  # CONFIG_VMSPLIT_1G is not set
Actual value:     

Value requested for CONFIG_PAGE_OFFSET not in final .config
Requested value:  CONFIG_PAGE_OFFSET=0xC0000000
Actual value:     

Value requested for CONFIG_HIGHMEM not in final .config
Requested value:  CONFIG_HIGHMEM=y
Actual value:     

Value requested for CONFIG_X86_PAE not in final .config
Requested value:  # CONFIG_X86_PAE is not set
Actual value:     

Value requested for CONFIG_ARCH_FLATMEM_ENABLE not in final .config
Requested value:  CONFIG_ARCH_FLATMEM_ENABLE=y
Actual value:     

Value requested for CONFIG_ARCH_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_ARCH_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_ILLEGAL_POINTER_VALUE not in final .config
Requested value:  CONFIG_ILLEGAL_POINTER_VALUE=0
Actual value:     CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000

Value requested for CONFIG_HIGHPTE not in final .config
Requested value:  # CONFIG_HIGHPTE is not set
Actual value:     

Value requested for CONFIG_COMPAT_VDSO not in final .config
Requested value:  # CONFIG_COMPAT_VDSO is not set
Actual value:     

Value requested for CONFIG_FUNCTION_PADDING_CFI not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_CFI=0
Actual value:     CONFIG_FUNCTION_PADDING_CFI=11

Value requested for CONFIG_FUNCTION_PADDING_BYTES not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_BYTES=4
Actual value:     CONFIG_FUNCTION_PADDING_BYTES=16

Value requested for CONFIG_APM not in final .config
Requested value:  # CONFIG_APM is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K6 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K6 is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K7 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K7 is not set
Actual value:     

Value requested for CONFIG_X86_GX_SUSPMOD not in final .config
Requested value:  # CONFIG_X86_GX_SUSPMOD is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_ICH not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_ICH is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_SMI not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_SMI is not set
Actual value:     

Value requested for CONFIG_X86_CPUFREQ_NFORCE2 not in final .config
Requested value:  # CONFIG_X86_CPUFREQ_NFORCE2 is not set
Actual value:     

Value requested for CONFIG_X86_LONGRUN not in final .config
Requested value:  # CONFIG_X86_LONGRUN is not set
Actual value:     

Value requested for CONFIG_X86_LONGHAUL not in final .config
Requested value:  # CONFIG_X86_LONGHAUL is not set
Actual value:     

Value requested for CONFIG_X86_E_POWERSAVER not in final .config
Requested value:  # CONFIG_X86_E_POWERSAVER is not set
Actual value:     

Value requested for CONFIG_PCI_GOBIOS not in final .config
Requested value:  # CONFIG_PCI_GOBIOS is not set
Actual value:     

Value requested for CONFIG_PCI_GOMMCONFIG not in final .config
Requested value:  # CONFIG_PCI_GOMMCONFIG is not set
Actual value:     

Value requested for CONFIG_PCI_GODIRECT not in final .config
Requested value:  # CONFIG_PCI_GODIRECT is not set
Actual value:     

Value requested for CONFIG_PCI_GOANY not in final .config
Requested value:  CONFIG_PCI_GOANY=y
Actual value:     

Value requested for CONFIG_PCI_BIOS not in final .config
Requested value:  CONFIG_PCI_BIOS=y
Actual value:     

Value requested for CONFIG_ISA not in final .config
Requested value:  # CONFIG_ISA is not set
Actual value:     

Value requested for CONFIG_SCx200 not in final .config
Requested value:  # CONFIG_SCx200 is not set
Actual value:     

Value requested for CONFIG_OLPC not in final .config
Requested value:  # CONFIG_OLPC is not set
Actual value:     

Value requested for CONFIG_ALIX not in final .config
Requested value:  # CONFIG_ALIX is not set
Actual value:     

Value requested for CONFIG_NET5501 not in final .config
Requested value:  # CONFIG_NET5501 is not set
Actual value:     

Value requested for CONFIG_GEOS not in final .config
Requested value:  # CONFIG_GEOS is not set
Actual value:     

Value requested for CONFIG_COMPAT_32 not in final .config
Requested value:  CONFIG_COMPAT_32=y
Actual value:     

Value requested for CONFIG_HAVE_ATOMIC_IOMAP not in final .config
Requested value:  CONFIG_HAVE_ATOMIC_IOMAP=y
Actual value:     

Value requested for CONFIG_ARCH_32BIT_OFF_T not in final .config
Requested value:  CONFIG_ARCH_32BIT_OFF_T=y
Actual value:     

Value requested for CONFIG_ARCH_WANT_IPC_PARSE_VERSION not in final .config
Requested value:  CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
Actual value:     

Value requested for CONFIG_MODULES_USE_ELF_REL not in final .config
Requested value:  CONFIG_MODULES_USE_ELF_REL=y
Actual value:     

Value requested for CONFIG_ARCH_MMAP_RND_BITS not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS=28

Value requested for CONFIG_CLONE_BACKWARDS not in final .config
Requested value:  CONFIG_CLONE_BACKWARDS=y
Actual value:     

Value requested for CONFIG_OLD_SIGSUSPEND3 not in final .config
Requested value:  CONFIG_OLD_SIGSUSPEND3=y
Actual value:     

Value requested for CONFIG_OLD_SIGACTION not in final .config
Requested value:  CONFIG_OLD_SIGACTION=y
Actual value:     

Value requested for CONFIG_ARCH_SPLIT_ARG64 not in final .config
Requested value:  CONFIG_ARCH_SPLIT_ARG64=y
Actual value:     

Value requested for CONFIG_FUNCTION_ALIGNMENT not in final .config
Requested value:  CONFIG_FUNCTION_ALIGNMENT=4
Actual value:     CONFIG_FUNCTION_ALIGNMENT=16

Value requested for CONFIG_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_FLATMEM_MANUAL not in final .config
Requested value:  CONFIG_FLATMEM_MANUAL=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_MANUAL not in final .config
Requested value:  # CONFIG_SPARSEMEM_MANUAL is not set
Actual value:     

Value requested for CONFIG_FLATMEM not in final .config
Requested value:  CONFIG_FLATMEM=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_STATIC not in final .config
Requested value:  CONFIG_SPARSEMEM_STATIC=y
Actual value:     

Value requested for CONFIG_BOUNCE not in final .config
Requested value:  CONFIG_BOUNCE=y
Actual value:     

Value requested for CONFIG_KMAP_LOCAL not in final .config
Requested value:  CONFIG_KMAP_LOCAL=y
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_COMPAQ not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_COMPAQ is not set
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_IBM not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_IBM is not set
Actual value:     

Value requested for CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH not in final .config
Requested value:  CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
Actual value:     

Value requested for CONFIG_PCH_PHUB not in final .config
Requested value:  # CONFIG_PCH_PHUB is not set
Actual value:     

Value requested for CONFIG_SCSI_NSP32 not in final .config
Requested value:  # CONFIG_SCSI_NSP32 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5520 not in final .config
Requested value:  # CONFIG_PATA_CS5520 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5530 not in final .config
Requested value:  # CONFIG_PATA_CS5530 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5535 not in final .config
Requested value:  # CONFIG_PATA_CS5535 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5536 not in final .config
Requested value:  # CONFIG_PATA_CS5536 is not set
Actual value:     

Value requested for CONFIG_PATA_SC1200 not in final .config
Requested value:  # CONFIG_PATA_SC1200 is not set
Actual value:     

Value requested for CONFIG_PCH_GBE not in final .config
Requested value:  # CONFIG_PCH_GBE is not set
Actual value:     

Value requested for CONFIG_INPUT_WISTRON_BTNS not in final .config
Requested value:  # CONFIG_INPUT_WISTRON_BTNS is not set
Actual value:     

Value requested for CONFIG_SERIAL_TIMBERDALE not in final .config
Requested value:  # CONFIG_SERIAL_TIMBERDALE is not set
Actual value:     

Value requested for CONFIG_SERIAL_PCH_UART not in final .config
Requested value:  # CONFIG_SERIAL_PCH_UART is not set
Actual value:     

Value requested for CONFIG_HW_RANDOM_GEODE not in final .config
Requested value:  CONFIG_HW_RANDOM_GEODE=y
Actual value:     

Value requested for CONFIG_SONYPI not in final .config
Requested value:  # CONFIG_SONYPI is not set
Actual value:     

Value requested for CONFIG_PC8736x_GPIO not in final .config
Requested value:  # CONFIG_PC8736x_GPIO is not set
Actual value:     

Value requested for CONFIG_NSC_GPIO not in final .config
Requested value:  # CONFIG_NSC_GPIO is not set
Actual value:     

Value requested for CONFIG_I2C_EG20T not in final .config
Requested value:  # CONFIG_I2C_EG20T is not set
Actual value:     

Value requested for CONFIG_SCx200_ACB not in final .config
Requested value:  # CONFIG_SCx200_ACB is not set
Actual value:     

Value requested for CONFIG_PTP_1588_CLOCK_PCH not in final .config
Requested value:  # CONFIG_PTP_1588_CLOCK_PCH is not set
Actual value:     

Value requested for CONFIG_SBC8360_WDT not in final .config
Requested value:  # CONFIG_SBC8360_WDT is not set
Actual value:     

Value requested for CONFIG_SBC7240_WDT not in final .config
Requested value:  # CONFIG_SBC7240_WDT is not set
Actual value:     

Value requested for CONFIG_MFD_CS5535 not in final .config
Requested value:  # CONFIG_MFD_CS5535 is not set
Actual value:     

Value requested for CONFIG_AGP_ALI not in final .config
Requested value:  # CONFIG_AGP_ALI is not set
Actual value:     

Value requested for CONFIG_AGP_ATI not in final .config
Requested value:  # CONFIG_AGP_ATI is not set
Actual value:     

Value requested for CONFIG_AGP_AMD not in final .config
Requested value:  # CONFIG_AGP_AMD is not set
Actual value:     

Value requested for CONFIG_AGP_NVIDIA not in final .config
Requested value:  # CONFIG_AGP_NVIDIA is not set
Actual value:     

Value requested for CONFIG_AGP_SWORKS not in final .config
Requested value:  # CONFIG_AGP_SWORKS is not set
Actual value:     

Value requested for CONFIG_AGP_EFFICEON not in final .config
Requested value:  # CONFIG_AGP_EFFICEON is not set
Actual value:     

Value requested for CONFIG_SND_CS5530 not in final .config
Requested value:  # CONFIG_SND_CS5530 is not set
Actual value:     

Value requested for CONFIG_SND_CS5535AUDIO not in final .config
Requested value:  # CONFIG_SND_CS5535AUDIO is not set
Actual value:     

Value requested for CONFIG_SND_SIS7019 not in final .config
Requested value:  # CONFIG_SND_SIS7019 is not set
Actual value:     

Value requested for CONFIG_LEDS_OT200 not in final .config
Requested value:  # CONFIG_LEDS_OT200 is not set
Actual value:     

Value requested for CONFIG_PCH_DMA not in final .config
Requested value:  # CONFIG_PCH_DMA is not set
Actual value:     

Value requested for CONFIG_CLKSRC_I8253 not in final .config
Requested value:  CONFIG_CLKSRC_I8253=y
Actual value:     

Value requested for CONFIG_MAILBOX not in final .config
Requested value:  # CONFIG_MAILBOX is not set
Actual value:     CONFIG_MAILBOX=y

Value requested for CONFIG_CRYPTO_SERPENT_SSE2_586 not in final .config
Requested value:  # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_TWOFISH_586 not in final .config
Requested value:  # CONFIG_CRYPTO_TWOFISH_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_GEODE not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_GEODE is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_HIFN_795X not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_HIFN_795X is not set
Actual value:     

Value requested for CONFIG_CRYPTO_LIB_POLY1305_RSIZE not in final .config
Requested value:  CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
Actual value:     CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11

Value requested for CONFIG_AUDIT_GENERIC not in final .config
Requested value:  CONFIG_AUDIT_GENERIC=y
Actual value:     

Value requested for CONFIG_GENERIC_VDSO_32 not in final .config
Requested value:  CONFIG_GENERIC_VDSO_32=y
Actual value:     

Value requested for CONFIG_DEBUG_KMAP_LOCAL not in final .config
Requested value:  # CONFIG_DEBUG_KMAP_LOCAL is not set
Actual value:     

Value requested for CONFIG_DEBUG_HIGHMEM not in final .config
Requested value:  # CONFIG_DEBUG_HIGHMEM is not set
Actual value:     

Value requested for CONFIG_HAVE_DEBUG_STACKOVERFLOW not in final .config
Requested value:  CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
Actual value:     

Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config
Requested value:  # CONFIG_DEBUG_STACKOVERFLOW is not set
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_RETVAL not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
Actual value:     

Value requested for CONFIG_DRM_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_KUNIT_TEST=m
Actual value:     

Value requested for CONFIG_DRM_XE_WERROR not in final .config
Requested value:  CONFIG_DRM_XE_WERROR=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG_MEM=y
Actual value:     

Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_XE_KUNIT_TEST=m
Actual value:     

++ nproc
+ make -j48 ARCH=i386 olddefconfig
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
  GEN     Makefile
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctls.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  WRAP    arch/x86/include/generated/uapi/asm/ipcbuf.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  WRAP    arch/x86/include/generated/uapi/asm/param.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  UPD     include/generated/uapi/linux/version.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  WRAP    arch/x86/include/generated/uapi/asm/resource.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  WRAP    arch/x86/include/generated/uapi/asm/socket.h
  WRAP    arch/x86/include/generated/uapi/asm/sockios.h
  WRAP    arch/x86/include/generated/uapi/asm/termbits.h
  WRAP    arch/x86/include/generated/uapi/asm/termios.h
  WRAP    arch/x86/include/generated/uapi/asm/types.h
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
  HOSTCC  arch/x86/tools/relocs_common.o
  UPD     include/generated/compile.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/mmzone.h
  WRAP    arch/x86/include/generated/asm/irq_regs.h
  WRAP    arch/x86/include/generated/asm/kmap_size.h
  WRAP    arch/x86/include/generated/asm/local64.h
  WRAP    arch/x86/include/generated/asm/mmiowb.h
  WRAP    arch/x86/include/generated/asm/module.lds.h
  WRAP    arch/x86/include/generated/asm/rwonce.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTLD  arch/x86/tools/relocs
  UPD     include/config/kernel.release
  UPD     include/generated/utsrelease.h
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-instrumented.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-long.h
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    /workspace/kernel/scripts/checksyscalls.sh
  LDS     scripts/module.lds
  HOSTCC  usr/gen_init_cpio
  CC      init/main.o
  CC      certs/system_keyring.o
  CC      init/do_mounts.o
  CC      ipc/util.o
  CC      ipc/msgutil.o
  CC      init/do_mounts_initrd.o
  CC      io_uring/io_uring.o
  UPD     init/utsversion-tmp.h
  CC      ipc/msg.o
  CC      mm/filemap.o
  CC      security/commoncap.o
  CC      init/initramfs.o
  CC      io_uring/opdef.o
  CC      ipc/sem.o
  CC      io_uring/kbuf.o
  CC      mm/mempool.o
  AS      arch/x86/lib/atomic64_cx8_32.o
  CC      arch/x86/realmode/init.o
  CC      init/calibrate.o
  AR      arch/x86/crypto/built-in.a
  CC      arch/x86/pci/i386.o
  CC      arch/x86/video/video-common.o
  CC      security/lsm_syscalls.o
  CC      arch/x86/power/cpu.o
  CC      mm/oom_kill.o
  AR      arch/x86/net/built-in.a
  CC      security/keys/gc.o
  CC      security/integrity/iint.o
  HOSTCC  security/selinux/genheaders
  AR      drivers/cache/built-in.a
  CC      block/partitions/core.o
  CC      arch/x86/events/zhaoxin/core.o
  AR      arch/x86/entry/vsyscall/built-in.a
  CC      arch/x86/events/intel/core.o
  AR      virt/lib/built-in.a
  CC      arch/x86/events/amd/core.o
  CC      arch/x86/virt/svm/cmdline.o
  AR      arch/x86/platform/atom/built-in.a
  CC      arch/x86/events/amd/lbr.o
  CC      net/core/sock.o
  CC      arch/x86/events/core.o
  CC      arch/x86/mm/pat/set_memory.o
  CC      arch/x86/kernel/fpu/init.o
  CC      lib/math/div64.o
  CC      fs/notify/dnotify/dnotify.o
  AR      sound/i2c/other/built-in.a
  CC      net/core/request_sock.o
  AR      virt/built-in.a
  CC      sound/core/seq/seq.o
  AR      drivers/irqchip/built-in.a
  AR      sound/i2c/built-in.a
  AR      arch/x86/platform/ce4100/built-in.a
  AS      arch/x86/lib/checksum_32.o
  CC      arch/x86/entry/vdso/vma.o
  CC      arch/x86/events/amd/ibs.o
  CC      arch/x86/mm/init.o
  AR      drivers/bus/mhi/built-in.a
  CC      arch/x86/platform/efi/memmap.o
  CC      kernel/sched/core.o
  AR      drivers/bus/built-in.a
  CC      arch/x86/lib/cmdline.o
  AR      drivers/pwm/built-in.a
  CC      crypto/asymmetric_keys/asymmetric_type.o
  AR      drivers/leds/trigger/built-in.a
  AR      drivers/leds/blink/built-in.a
  AR      arch/x86/virt/svm/built-in.a
  AR      drivers/leds/simple/built-in.a
  CC      drivers/leds/led-core.o
  AR      arch/x86/virt/vmx/built-in.a
  AR      arch/x86/virt/built-in.a
  CC      arch/x86/kernel/fpu/bugs.o
  AS      arch/x86/lib/cmpxchg8b_emu.o
  CC      lib/math/gcd.o
  GEN     security/selinux/flask.h security/selinux/av_permissions.h
  CC      security/selinux/avc.o
  CC      arch/x86/lib/cpu.o
  CC      crypto/asymmetric_keys/restrict.o
  CC      lib/math/lcm.o
  CC      block/bdev.o
  CC      lib/math/int_log.o
  GEN     usr/initramfs_data.cpio
  COPY    usr/initramfs_inc_data
  AS      usr/initramfs_data.o
  AR      usr/built-in.a
  HOSTCC  certs/extract-cert
  CC      net/ethernet/eth.o
  CC      arch/x86/kernel/fpu/core.o
  CC      lib/math/int_pow.o
  CC      lib/math/int_sqrt.o
  CC      lib/math/reciprocal_div.o
  CC      sound/core/seq/seq_lock.o
  CC      arch/x86/lib/delay.o
  AS      arch/x86/realmode/rm/header.o
  CC      lib/math/rational.o
  AS      arch/x86/realmode/rm/trampoline_32.o
  AS      arch/x86/realmode/rm/stack.o
  AR      arch/x86/video/built-in.a
  CERT    certs/x509_certificate_list
  AS      arch/x86/realmode/rm/reboot.o
  CERT    certs/signing_key.x509
  CC      mm/fadvise.o
  AS      certs/system_certificates.o
  AS      arch/x86/realmode/rm/wakeup_asm.o
  AR      certs/built-in.a
  CC      fs/notify/inotify/inotify_fsnotify.o
  CC      arch/x86/entry/vdso/extable.o
  CC      arch/x86/realmode/rm/wakemain.o
  CC      security/integrity/integrity_audit.o
  CC      drivers/leds/led-class.o
  CC      drivers/leds/led-triggers.o
  CC      drivers/pci/msi/pcidev_msi.o
  AS      arch/x86/entry/entry.o
  CC      sound/core/sound.o
  CC      crypto/asymmetric_keys/signature.o
  CC      arch/x86/pci/init.o
  CC      arch/x86/realmode/rm/video-mode.o
  AR      fs/notify/dnotify/built-in.a
  CC      security/keys/key.o
  AR      net/802/built-in.a
  CC      arch/x86/platform/efi/quirks.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      init/init_task.o
  CC      arch/x86/kernel/fpu/regset.o
  CC      arch/x86/pci/pcbios.o
  CC      drivers/pci/msi/api.o
  CC      arch/x86/power/hibernate_32.o
  AS      arch/x86/lib/getuser.o
  CC      arch/x86/events/intel/bts.o
  CC      block/partitions/msdos.o
  AS      arch/x86/realmode/rm/copy.o
  GEN     arch/x86/lib/inat-tables.c
  AR      arch/x86/events/zhaoxin/built-in.a
  AR      arch/x86/platform/geode/built-in.a
  CC      arch/x86/lib/insn-eval.o
  AS      arch/x86/realmode/rm/bioscall.o
  CC      arch/x86/realmode/rm/regs.o
  CC      sound/core/seq/seq_clientmgr.o
  CC      arch/x86/realmode/rm/video-vga.o
  CC      security/selinux/hooks.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  CC      arch/x86/events/intel/ds.o
  CC      block/partitions/efi.o
  AR      lib/math/built-in.a
  CC      arch/x86/events/probe.o
  CC      lib/crypto/mpi/generic_mpih-lshift.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  CC      arch/x86/realmode/rm/video-vesa.o
  CC      arch/x86/events/utils.o
  CC      drivers/pci/msi/msi.o
  CC      drivers/pci/msi/irqdomain.o
  CC      arch/x86/realmode/rm/video-bios.o
  CC      lib/crypto/mpi/generic_mpih-mul1.o
  PASYMS  arch/x86/realmode/rm/pasyms.h
  CC      fs/nfs_common/nfsacl.o
  CC      arch/x86/events/amd/uncore.o
  CC      fs/notify/inotify/inotify_user.o
  LDS     arch/x86/realmode/rm/realmode.lds
  CC      crypto/api.o
  CC      sound/core/seq/seq_memory.o
  LD      arch/x86/realmode/rm/realmode.elf
  CC      crypto/asymmetric_keys/public_key.o
  RELOCS  arch/x86/realmode/rm/realmode.relocs
  OBJCOPY arch/x86/realmode/rm/realmode.bin
  AS      arch/x86/realmode/rmpiggy.o
  AR      arch/x86/realmode/built-in.a
  CC      fs/nfs_common/grace.o
  CC      arch/x86/mm/pat/memtype.o
  CC      arch/x86/lib/insn.o
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  CC      arch/x86/events/intel/knc.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      crypto/cipher.o
  AR      security/integrity/built-in.a
  CC      fs/nfs_common/common.o
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  CC      io_uring/rsrc.o
  AS      arch/x86/power/hibernate_asm_32.o
  AR      sound/drivers/opl3/built-in.a
  AR      drivers/leds/built-in.a
  CC      crypto/compress.o
  AR      sound/drivers/opl4/built-in.a
  CC      security/keys/keyring.o
  AR      sound/drivers/mpu401/built-in.a
  AR      sound/drivers/vx/built-in.a
  AR      sound/drivers/pcsp/built-in.a
  CC      arch/x86/pci/mmconfig_32.o
  AR      sound/drivers/built-in.a
  CC      arch/x86/power/hibernate.o
  CC      arch/x86/entry/vdso/vdso32/vgetcpu.o
  HOSTCC  arch/x86/entry/vdso/vdso2c
  CC      init/version.o
  CC      security/min_addr.o
  CC      lib/crypto/mpi/generic_mpih-mul2.o
  CC      sound/core/seq/seq_queue.o
  CC      arch/x86/events/intel/lbr.o
  AS      arch/x86/entry/entry_32.o
  CC      block/fops.o
  AR      net/ethernet/built-in.a
  CC      arch/x86/entry/syscall_32.o
  CC      lib/zlib_inflate/inffast.o
  CC      arch/x86/platform/efi/efi.o
  CC      ipc/shm.o
  ASN.1   crypto/asymmetric_keys/x509.asn1.[ch]
  CC      lib/zlib_deflate/deflate.o
  AR      init/built-in.a
  CC      arch/x86/lib/kaslr.o
  CC      lib/lzo/lzo1x_compress.o
  ASN.1   crypto/asymmetric_keys/x509_akid.asn1.[ch]
  CC      arch/x86/platform/efi/efi_32.o
  CC      arch/x86/entry/common.o
  AS      arch/x86/entry/thunk.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  CC      lib/zlib_inflate/inflate.o
  CC      arch/x86/mm/pat/memtype_interval.o
  AR      block/partitions/built-in.a
  CC      ipc/syscall.o
  CC      crypto/asymmetric_keys/x509_loader.o
  CC      security/security.o
  CC      mm/maccess.o
  AS      arch/x86/platform/efi/efi_stub_32.o
  CC      lib/crypto/mpi/generic_mpih-mul3.o
  CC      security/keys/keyctl.o
  CC      drivers/video/console/dummycon.o
  CC      arch/x86/lib/memcpy_32.o
  CC      drivers/video/backlight/backlight.o
  AS      arch/x86/lib/memmove_32.o
  CC      arch/x86/lib/misc.o
  AR      drivers/pci/msi/built-in.a
  CC      arch/x86/lib/pc-conf-reg.o
  CC      sound/core/seq/seq_fifo.o
  AR      drivers/video/fbdev/core/built-in.a
  AR      sound/isa/ad1816a/built-in.a
  CC      drivers/pci/pcie/portdrv.o
  AR      drivers/video/fbdev/omap/built-in.a
  AR      sound/isa/ad1848/built-in.a
  CC      drivers/pci/pcie/rcec.o
  CC      arch/x86/entry/vdso/vdso32-setup.o
  AR      sound/isa/cs423x/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  AR      sound/isa/es1688/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  AR      sound/isa/galaxy/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  AR      fs/nfs_common/built-in.a
  AR      drivers/video/fbdev/omap2/built-in.a
  CC      crypto/asymmetric_keys/x509_public_key.o
  AR      sound/isa/gus/built-in.a
  ASN.1   crypto/asymmetric_keys/pkcs7.asn1.[ch]
  AR      drivers/video/fbdev/built-in.a
  AR      fs/notify/inotify/built-in.a
  AR      fs/notify/fanotify/built-in.a
  AR      sound/isa/msnd/built-in.a
  CC      drivers/pci/pcie/bwctrl.o
  CC      fs/notify/fsnotify.o
  CC      lib/zlib_deflate/deftree.o
  CC      security/lsm_audit.o
  AR      sound/isa/opti9xx/built-in.a
  CC      arch/x86/pci/direct.o
  AR      sound/isa/sb/built-in.a
  CC      io_uring/notif.o
  AR      sound/isa/wavefront/built-in.a
  CC      security/keys/permission.o
  AR      sound/isa/wss/built-in.a
  AR      arch/x86/power/built-in.a
  AR      sound/isa/built-in.a
  CC      security/keys/process_keys.o
  CC      lib/zlib_inflate/infutil.o
  AS      arch/x86/lib/putuser.o
  CC      lib/zlib_inflate/inftrees.o
  CC      arch/x86/events/rapl.o
  AS      arch/x86/lib/retpoline.o
  CC      arch/x86/kernel/fpu/xstate.o
  CC      kernel/sched/fair.o
  CC      arch/x86/lib/string_32.o
  AR      lib/lzo/built-in.a
  AR      arch/x86/events/amd/built-in.a
  CC      kernel/sched/build_policy.o
  CC      lib/zlib_inflate/inflate_syms.o
  CC      arch/x86/lib/strstr_32.o
  AR      drivers/pci/pwrctrl/built-in.a
  CC      sound/core/init.o
  CC      arch/x86/lib/usercopy.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  CC      io_uring/tctx.o
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  CC      arch/x86/entry/vdso/vdso-image-32.o
  CC      drivers/video/aperture.o
  CC      sound/core/memory.o
  CC      lib/crypto/mpi/generic_mpih-rshift.o
  CC      fs/iomap/trace.o
  AR      arch/x86/mm/pat/built-in.a
  CC      ipc/ipc_sysctl.o
  CC      drivers/video/console/vgacon.o
  CC      arch/x86/mm/init_32.o
  CC      security/keys/request_key.o
  CC      block/bio.o
  AR      lib/zlib_inflate/built-in.a
  CC      arch/x86/platform/efi/runtime-map.o
  CC      net/core/skbuff.o
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  AR      drivers/idle/built-in.a
  AR      arch/x86/entry/vdso/built-in.a
  CC      lib/zlib_deflate/deflate_syms.o
  CC      sound/core/seq/seq_prioq.o
  CC      crypto/asymmetric_keys/pkcs7_trust.o
  CC      security/device_cgroup.o
  CC      arch/x86/lib/usercopy_32.o
  CC      net/core/datagram.o
  AR      arch/x86/entry/built-in.a
  CC      fs/quota/dquot.o
  CC      arch/x86/pci/mmconfig-shared.o
  CC      fs/iomap/iter.o
  CC      arch/x86/events/msr.o
  CC      fs/proc/task_mmu.o
  CC      fs/notify/notification.o
  CC      drivers/pci/pcie/aspm.o
  AR      drivers/video/backlight/built-in.a
  CC      sound/core/control.o
  CC      drivers/pci/pcie/pme.o
  AR      sound/pci/ac97/built-in.a
  AR      sound/pci/ali5451/built-in.a
  AR      sound/pci/asihpi/built-in.a
  AR      drivers/char/ipmi/built-in.a
  CC      fs/iomap/buffered-io.o
  AR      sound/pci/au88x0/built-in.a
  CC      arch/x86/kernel/cpu/mce/core.o
  AR      sound/pci/aw2/built-in.a
  CC      arch/x86/kernel/acpi/boot.o
  AR      sound/pci/ctxfi/built-in.a
  AR      sound/pci/ca0106/built-in.a
  CC      mm/page-writeback.o
  AR      sound/pci/cs46xx/built-in.a
  AR      sound/pci/cs5535audio/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  AR      sound/pci/lola/built-in.a
  CC      arch/x86/lib/msr-smp.o
  AR      sound/pci/lx6464es/built-in.a
  AR      sound/pci/echoaudio/built-in.a
  AR      sound/pci/emu10k1/built-in.a
  AR      lib/zlib_deflate/built-in.a
  CC      crypto/asymmetric_keys/pkcs7_verify.o
  CC      sound/pci/hda/hda_bind.o
  CC      arch/x86/kernel/cpu/microcode/core.o
  CC      ipc/mqueue.o
  CC      ipc/namespace.o
  CC      lib/crypto/mpi/generic_mpih-sub1.o
  CC      fs/kernfs/mount.o
  CC      arch/x86/events/intel/p4.o
  CC      arch/x86/kernel/cpu/microcode/intel.o
  CC      fs/proc/inode.o
  CC      crypto/algapi.o
  CC      mm/folio-compat.o
  CC      arch/x86/lib/cache-smp.o
  CC      sound/pci/hda/hda_codec.o
  CC      fs/iomap/direct-io.o
  CC      lib/lz4/lz4_decompress.o
  CC      sound/core/seq/seq_timer.o
  AR      arch/x86/platform/efi/built-in.a
  AR      arch/x86/kernel/fpu/built-in.a
  AR      arch/x86/platform/iris/built-in.a
  CC      sound/core/misc.o
  CC      arch/x86/platform/intel/iosf_mbi.o
  CC      fs/notify/group.o
  CC      arch/x86/lib/msr.o
  CC      crypto/asymmetric_keys/x509.asn1.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  CC      crypto/asymmetric_keys/x509_akid.asn1.o
  CC      fs/kernfs/inode.o
  CC      crypto/asymmetric_keys/x509_cert_parser.o
  CC      security/keys/request_key_auth.o
  CC      io_uring/filetable.o
  AR      drivers/video/console/built-in.a
  CC      drivers/video/cmdline.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      arch/x86/mm/fault.o
  CC      lib/crypto/mpi/generic_mpih-add1.o
  CC      drivers/acpi/acpica/dsargs.o
  CC      arch/x86/pci/fixup.o
  CC      lib/crypto/mpi/mpicoder.o
  CC      lib/crypto/mpi/mpi-add.o
  CC      fs/sysfs/file.o
  CC      fs/devpts/inode.o
  CC      fs/netfs/buffered_read.o
  CC      fs/ext4/balloc.o
  CC      fs/ext4/bitmap.o
  CC      arch/x86/events/intel/p6.o
  AR      sound/ppc/built-in.a
  CC      arch/x86/pci/acpi.o
  CC      arch/x86/kernel/cpu/microcode/amd.o
  CC      drivers/acpi/acpica/dscontrol.o
  CC      crypto/asymmetric_keys/pkcs7.asn1.o
  AR      drivers/pci/pcie/built-in.a
  CC      crypto/asymmetric_keys/pkcs7_parser.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      fs/netfs/buffered_write.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      sound/core/seq/seq_system.o
  CC      fs/notify/mark.o
  CC      security/keys/user_defined.o
  CC      crypto/scatterwalk.o
  AR      drivers/pci/hotplug/built-in.a
  AR      arch/x86/platform/intel/built-in.a
  CC      sound/pci/hda/hda_jack.o
  AR      drivers/pci/controller/dwc/built-in.a
  AR      arch/x86/platform/intel-mid/built-in.a
  AR      drivers/pci/controller/mobiveil/built-in.a
  AR      arch/x86/platform/intel-quark/built-in.a
  AR      drivers/pci/controller/plda/built-in.a
  AR      arch/x86/platform/olpc/built-in.a
  AR      drivers/pci/controller/built-in.a
  CC      fs/jbd2/transaction.o
  AR      arch/x86/platform/scx200/built-in.a
  AR      drivers/pci/switch/built-in.a
  AR      arch/x86/platform/ts5500/built-in.a
  CC      drivers/pci/access.o
  AR      arch/x86/platform/uv/built-in.a
  AR      arch/x86/platform/built-in.a
  CC      drivers/video/nomodeset.o
  CC      net/sched/sch_generic.o
  CC      fs/sysfs/dir.o
  CC      block/elevator.o
  AS      arch/x86/lib/msr-reg.o
  CC      arch/x86/pci/legacy.o
  CC      fs/kernfs/dir.o
  CC      arch/x86/lib/msr-reg-export.o
  CC      fs/ramfs/inode.o
  CC      sound/core/seq/seq_ports.o
  CC      lib/crypto/mpi/mpi-bit.o
  CC      drivers/acpi/acpica/dsdebug.o
  CC      fs/ramfs/file-mmu.o
  CC      io_uring/rw.o
  AR      fs/devpts/built-in.a
  CC      fs/proc/root.o
  CC      fs/ext4/block_validity.o
  AS      arch/x86/lib/hweight.o
  CC      block/blk-core.o
  CC      arch/x86/lib/iomem.o
  CC      ipc/mq_sysctl.o
  CC      drivers/video/hdmi.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  AR      crypto/asymmetric_keys/built-in.a
  CC      fs/proc/base.o
  CC      kernel/locking/mutex.o
  CC      fs/quota/quota_v2.o
  AR      lib/lz4/built-in.a
  CC      arch/x86/kernel/cpu/mce/severity.o
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC      fs/proc/generic.o
  CC      security/selinux/selinuxfs.o
  CC      security/selinux/netlink.o
  CC      security/keys/proc.o
  CC      kernel/power/qos.o
  AS      arch/x86/kernel/acpi/wakeup_32.o
  CC      drivers/acpi/acpica/dsfield.o
  CC      mm/readahead.o
  CC      arch/x86/events/intel/pt.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC      fs/iomap/fiemap.o
  CC      net/sched/sch_mq.o
  CC      fs/sysfs/symlink.o
  CC      crypto/proc.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a
  CC      arch/x86/lib/atomic64_32.o
  CC      io_uring/net.o
  CC      arch/x86/pci/irq.o
  CC      arch/x86/mm/ioremap.o
  AR      ipc/built-in.a
  CC      arch/x86/mm/extable.o
  CC      arch/x86/lib/inat.o
  CC      lib/crypto/mpi/mpi-cmp.o
  CC      fs/iomap/seek.o
  CC      fs/notify/fdinfo.o
  CC      drivers/pci/bus.o
  AR      sound/pci/ice1712/built-in.a
  CC      fs/ext4/dir.o
  CC      fs/kernfs/file.o
  AR      fs/ramfs/built-in.a
  AR      arch/x86/lib/built-in.a
  AR      arch/x86/lib/lib.a
  AR      sound/arm/built-in.a
  CC      arch/x86/mm/mmap.o
  CC      sound/core/seq/seq_info.o
  CC      kernel/locking/semaphore.o
  CC      fs/kernfs/symlink.o
  CC      fs/netfs/direct_read.o
  CC      drivers/acpi/acpica/dsinit.o
  CC      net/core/stream.o
  CC      net/core/scm.o
  AR      arch/x86/kernel/acpi/built-in.a
  CC      fs/quota/quota_tree.o
  CC      fs/netfs/direct_write.o
  CC      arch/x86/kernel/cpu/mtrr/amd.o
  CC      sound/pci/hda/hda_auto_parser.o
  AR      drivers/video/built-in.a
  CC      arch/x86/mm/pgtable.o
  CC      lib/zstd/zstd_decompress_module.o
  CC      security/keys/sysctl.o
  CC      crypto/aead.o
  CC      lib/xz/xz_dec_syms.o
  CC      lib/dim/dim.o
  CC      lib/fonts/fonts.o
  CC      fs/sysfs/mount.o
  CC      arch/x86/kernel/cpu/mce/intel.o
  CC      arch/x86/kernel/cpu/mce/amd.o
  CC      drivers/acpi/acpica/dsmethod.o
  CC      lib/crypto/mpi/mpi-sub-ui.o
  CC      drivers/pnp/pnpacpi/core.o
  AR      fs/notify/built-in.a
  AR      drivers/amba/built-in.a
  CC      net/netlink/af_netlink.o
  CC      sound/core/seq/seq_dummy.o
  CC      fs/iomap/swapfile.o
  CC      fs/sysfs/group.o
  AR      sound/pci/korg1212/built-in.a
  CC      mm/swap.o
  CC      lib/dim/net_dim.o
  CC      fs/jbd2/commit.o
  CC      arch/x86/kernel/cpu/mce/threshold.o
  CC      fs/netfs/iterator.o
  CC      lib/xz/xz_dec_stream.o
  CC      lib/zstd/decompress/huf_decompress.o
  CC      kernel/power/main.o
  CC      drivers/pci/probe.o
  AR      net/bpf/built-in.a
  CC      fs/ext4/ext4_jbd2.o
  CC      fs/ext4/extents.o
  CC      crypto/geniv.o
  CC      lib/fonts/font_8x16.o
  CC      drivers/pnp/core.o
  CC      kernel/locking/rwsem.o
  CC      arch/x86/kernel/cpu/mtrr/cyrix.o
  CC      drivers/acpi/acpica/dsmthdat.o
  CC      security/keys/keyctl_pkey.o
  CC      kernel/locking/percpu-rwsem.o
  CC      arch/x86/events/intel/uncore.o
  CC      lib/zstd/decompress/zstd_ddict.o
  AR      fs/kernfs/built-in.a
  CC      net/ethtool/ioctl.o
  CC      lib/dim/rdma_dim.o
  CC      drivers/pci/host-bridge.o
  CC      lib/crypto/mpi/mpi-div.o
  CC      arch/x86/mm/physaddr.o
  CC      arch/x86/pci/common.o
  CC      fs/quota/quota.o
  CC      net/ethtool/common.o
  CC      fs/hugetlbfs/inode.o
  CC      net/sched/sch_frag.o
  AR      lib/fonts/built-in.a
  CC      fs/fat/cache.o
  CC      drivers/pnp/pnpacpi/rsparser.o
  AR      sound/core/seq/built-in.a
  CC      sound/core/device.o
  CC      fs/isofs/namei.o
  CC      lib/xz/xz_dec_lzma2.o
  CC      fs/nfs/client.o
  CC      fs/exportfs/expfs.o
  CC      security/selinux/nlmsgtab.o
  AR      fs/sysfs/built-in.a
  CC      arch/x86/events/intel/uncore_nhmex.o
  AR      fs/iomap/built-in.a
  CC      block/blk-sysfs.o
  CC      drivers/acpi/acpica/dsobject.o
  CC      fs/fat/dir.o
  CC      sound/pci/hda/hda_sysfs.o
  CC      fs/proc/array.o
  CC      block/blk-flush.o
  CC      arch/x86/kernel/cpu/mtrr/centaur.o
  CC      block/blk-settings.o
  CC      security/selinux/netif.o
  AR      security/keys/built-in.a
  CC      lib/zstd/decompress/zstd_decompress.o
  AR      lib/dim/built-in.a
  AR      sound/sh/built-in.a
  CC      kernel/sched/build_utility.o
  CC      fs/ext4/extents_status.o
  CC      lib/xz/xz_dec_bcj.o
  CC      io_uring/poll.o
  CC      arch/x86/mm/tlb.o
  CC      fs/netfs/locking.o
  CC      kernel/locking/spinlock.o
  CC      crypto/lskcipher.o
  AR      sound/pci/mixart/built-in.a
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC      sound/core/info.o
  CC      lib/crypto/mpi/mpi-mod.o
  CC      lib/crypto/mpi/mpi-mul.o
  CC      drivers/acpi/acpica/dsopcode.o
  CC      security/selinux/netnode.o
  CC      kernel/power/console.o
  CC      arch/x86/pci/early.o
  CC      fs/isofs/inode.o
  AR      fs/exportfs/built-in.a
  CC      fs/netfs/main.o
  AR      drivers/clk/actions/built-in.a
  CC      fs/jbd2/recovery.o
  AR      drivers/clk/analogbits/built-in.a
  CC      arch/x86/mm/cpu_entry_area.o
  AR      drivers/clk/bcm/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/legacy.o
  CC      security/selinux/netport.o
  AR      drivers/clk/imgtec/built-in.a
  AR      arch/x86/kernel/cpu/mce/built-in.a
  AR      drivers/clk/imx/built-in.a
  CC      mm/truncate.o
  AR      sound/pci/nm256/built-in.a
  CC      kernel/locking/osq_lock.o
  AR      drivers/clk/ingenic/built-in.a
  CC      block/blk-ioc.o
  AR      drivers/clk/mediatek/built-in.a
  AR      drivers/clk/microchip/built-in.a
  AR      drivers/clk/mstar/built-in.a
  AR      drivers/clk/mvebu/built-in.a
  CC      sound/pci/hda/hda_controller.o
  AR      drivers/clk/ralink/built-in.a
  AR      drivers/clk/renesas/built-in.a
  AR      drivers/pnp/pnpacpi/built-in.a
  AR      lib/xz/built-in.a
  AR      drivers/clk/socfpga/built-in.a
  CC      drivers/pnp/card.o
  CC      net/netlink/genetlink.o
  AR      drivers/clk/sophgo/built-in.a
  AR      drivers/clk/sprd/built-in.a
  AR      drivers/clk/starfive/built-in.a
  AR      drivers/clk/sunxi-ng/built-in.a
  AR      drivers/clk/ti/built-in.a
  CC      net/core/gen_stats.o
  AR      drivers/clk/versatile/built-in.a
  CC      drivers/acpi/acpica/dspkginit.o
  AR      drivers/clk/xilinx/built-in.a
  AR      drivers/clk/built-in.a
  CC      net/netlink/policy.o
  CC      net/core/gen_estimator.o
  CC      arch/x86/pci/bus_numa.o
  CC      fs/quota/kqid.o
  CC      kernel/locking/qspinlock.o
  CC      fs/ext4/file.o
  CC      fs/quota/netlink.o
  CC      kernel/locking/rtmutex_api.o
  CC      net/sched/sch_api.o
  CC      lib/crypto/mpi/mpih-cmp.o
  CC      drivers/pci/remove.o
  CC      net/netfilter/core.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  CC      arch/x86/kernel/cpu/cacheinfo.o
  CC      net/netfilter/nf_log.o
  CC      fs/proc/fd.o
  CC      net/ipv4/netfilter/nf_defrag_ipv4.o
  CC      net/xfrm/xfrm_policy.o
  CC      kernel/power/process.o
  CC      net/unix/af_unix.o
  CC      arch/x86/events/intel/uncore_snb.o
  CC      sound/pci/hda/hda_proc.o
  CC      sound/core/isadma.o
  CC      drivers/acpi/acpica/dsutils.o
  CC      crypto/skcipher.o
  AR      fs/hugetlbfs/built-in.a
  AR      sound/synth/emux/built-in.a
  CC      lib/zstd/zstd_common_module.o
  AR      sound/synth/built-in.a
  CC      arch/x86/kernel/cpu/scattered.o
  CC      net/ipv6/netfilter/ip6_tables.o
  CC      arch/x86/mm/maccess.o
  CC      io_uring/eventfd.o
  CC      arch/x86/mm/pgprot.o
  CC      fs/nfs/dir.o
  CC      block/blk-map.o
  CC      fs/fat/fatent.o
  CC      drivers/pnp/driver.o
  CC      lib/crypto/mpi/mpih-div.o
  CC      crypto/seqiv.o
  CC      arch/x86/pci/amd_bus.o
  CC      fs/jbd2/checkpoint.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      sound/core/vmaster.o
  CC      drivers/pci/pci.o
  CC      fs/proc/proc_tty.o
  CC      fs/isofs/dir.o
  CC      drivers/acpi/acpica/dswexec.o
  CC      net/ipv4/netfilter/nf_reject_ipv4.o
  CC      mm/vmscan.o
  CC      fs/nfs/file.o
  CC      security/selinux/status.o
  AR      fs/quota/built-in.a
  CC      net/core/net_namespace.o
  CC      security/selinux/ss/ebitmap.o
  CC      fs/ext4/fsmap.o
  CC      fs/jbd2/revoke.o
  CC      kernel/printk/printk.o
  CC      arch/x86/mm/pgtable_32.o
  CC      net/unix/garbage.o
  CC      kernel/locking/qrwlock.o
  CC      lib/zstd/common/debug.o
  CC      net/packet/af_packet.o
  CC      arch/x86/kernel/cpu/topology_common.o
  CC      io_uring/uring_cmd.o
  CC      drivers/pnp/resource.o
  CC      lib/crypto/mpi/mpih-mul.o
  CC      drivers/acpi/acpica/dswload.o
  CC      net/ipv4/route.o
  CC      net/netfilter/nf_queue.o
  CC      kernel/power/suspend.o
  CC      drivers/dma/dw/core.o
  CC      net/ethtool/netlink.o
  CC      fs/fat/file.o
  CC      fs/netfs/misc.o
  CC      sound/core/ctljack.o
  AR      arch/x86/pci/built-in.a
  CC      fs/proc/cmdline.o
  CC      sound/pci/hda/hda_hwdep.o
  CC      drivers/dma/hsu/hsu.o
  AR      drivers/acpi/pmic/built-in.a
  AR      drivers/dma/idxd/built-in.a
  CC      net/unix/sysctl_net_unix.o
  AR      kernel/locking/built-in.a
  AR      net/netlink/built-in.a
  AR      drivers/dma/amd/built-in.a
  CC      fs/isofs/util.o
  CC      arch/x86/kernel/apic/apic.o
  CC      block/blk-merge.o
  CC      drivers/dma/dw/dw.o
  CC      io_uring/openclose.o
  CC      crypto/echainiv.o
  AR      sound/pci/oxygen/built-in.a
  CC      crypto/ahash.o
  CC      lib/zstd/common/entropy_common.o
  CC      arch/x86/kernel/cpu/topology_ext.o
  CC      arch/x86/mm/iomap_32.o
  CC      drivers/acpi/acpica/dswload2.o
  CC      arch/x86/kernel/apic/apic_common.o
  CC      lib/zstd/common/error_private.o
  CC      fs/proc/consoles.o
  CC      sound/core/jack.o
  CC      lib/zstd/common/fse_decompress.o
  CC      fs/jbd2/journal.o
  CC      fs/ext4/fsync.o
  CC      lib/argv_split.o
  CC      lib/crypto/mpi/mpi-pow.o
  CC      arch/x86/kernel/cpu/topology_amd.o
  CC      drivers/acpi/acpica/dswscope.o
  CC      sound/pci/hda/hda_intel.o
  CC      security/selinux/ss/hashtab.o
  CC      net/sched/sch_blackhole.o
  CC      fs/lockd/clntlock.o
  CC      fs/isofs/rock.o
  CC      net/ipv6/netfilter/ip6table_filter.o
  CC      security/selinux/ss/symtab.o
  CC      net/ipv6/af_inet6.o
  CC      net/ipv4/netfilter/ip_tables.o
  CC      drivers/pnp/manager.o
  CC      net/ipv4/inetpeer.o
  CC      arch/x86/mm/hugetlbpage.o
  AR      drivers/dma/hsu/built-in.a
  AR      sound/usb/misc/built-in.a
  CC      lib/zstd/common/zstd_common.o
  AR      sound/usb/usx2y/built-in.a
  AR      sound/usb/caiaq/built-in.a
  AR      sound/usb/6fire/built-in.a
  CC      net/core/secure_seq.o
  AR      sound/usb/hiface/built-in.a
  AR      sound/usb/bcd2000/built-in.a
  CC      arch/x86/events/intel/uncore_discovery.o
  AR      sound/usb/built-in.a
  CC      fs/proc/cpuinfo.o
  CC      fs/netfs/objects.o
  CC      fs/proc/devices.o
  CC      fs/fat/inode.o
  AR      lib/zstd/built-in.a
  CC      drivers/pci/pci-driver.o
  CC      net/ipv6/anycast.o
  CC      lib/crypto/mpi/mpiutil.o
  CC      net/sched/cls_api.o
  CC      drivers/dma/dw/idma32.o
  CC      fs/nfs/getroot.o
  CC      io_uring/sqpoll.o
  CC      drivers/acpi/acpica/dswstate.o
  CC      kernel/power/hibernate.o
  CC      net/netfilter/nf_sockopt.o
  CC      sound/core/hwdep.o
  CC      arch/x86/kernel/cpu/common.o
  CC      security/selinux/ss/sidtab.o
  CC      net/ethtool/bitset.o
  CC      crypto/shash.o
  AR      net/unix/built-in.a
  CC      io_uring/xattr.o
  CC      net/xfrm/xfrm_state.o
  AR      sound/pci/pcxhr/built-in.a
  CC      arch/x86/kernel/kprobes/core.o
  CC      drivers/pnp/support.o
  AR      sound/firewire/built-in.a
  CC      net/netfilter/utils.o
  AR      drivers/soc/apple/built-in.a
  CC      security/selinux/ss/avtab.o
  AR      drivers/soc/aspeed/built-in.a
  CC      arch/x86/mm/dump_pagetables.o
  AR      drivers/soc/bcm/built-in.a
  AR      drivers/soc/fsl/built-in.a
  CC      drivers/acpi/acpica/evevent.o
  AR      drivers/soc/fujitsu/built-in.a
  AR      drivers/soc/hisilicon/built-in.a
  AR      drivers/soc/imx/built-in.a
  AR      drivers/soc/ixp4xx/built-in.a
  AR      drivers/soc/loongson/built-in.a
  AR      lib/crypto/mpi/built-in.a
  CC      fs/proc/interrupts.o
  AR      drivers/soc/mediatek/built-in.a
  CC      fs/isofs/export.o
  CC      lib/crypto/memneq.o
  AR      drivers/soc/microchip/built-in.a
  AR      drivers/soc/nuvoton/built-in.a
  CC      block/blk-timeout.o
  AR      drivers/soc/pxa/built-in.a
  AR      drivers/soc/amlogic/built-in.a
  CC      drivers/virtio/virtio.o
  AR      drivers/soc/qcom/built-in.a
  AR      kernel/sched/built-in.a
  CC      net/ipv6/ip6_output.o
  AR      drivers/soc/renesas/built-in.a
  AR      drivers/soc/rockchip/built-in.a
  CC      drivers/dma/dw/acpi.o
  AR      drivers/soc/sunxi/built-in.a
  AR      drivers/soc/ti/built-in.a
  AR      drivers/soc/versatile/built-in.a
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  CC      net/netfilter/nfnetlink.o
  CC      kernel/printk/printk_safe.o
  CC      arch/x86/kernel/apic/apic_noop.o
  CC      sound/core/timer.o
  CC      drivers/acpi/acpica/evgpe.o
  CC      fs/lockd/clntproc.o
  CC      fs/netfs/read_collect.o
  CC      net/ipv6/netfilter/ip6table_mangle.o
  CC      drivers/acpi/acpica/evgpeblk.o
  CC      arch/x86/events/intel/cstate.o
  CC      drivers/pnp/interface.o
  CC      lib/crypto/utils.o
  CC      drivers/pci/search.o
  AR      sound/sparc/built-in.a
  CC      drivers/pci/rom.o
  CC      fs/nls/nls_base.o
  CC      fs/ext4/hash.o
  CC      crypto/akcipher.o
  CC      fs/netfs/read_pgpriv2.o
  CC      net/core/flow_dissector.o
  CC      fs/nfs/inode.o
  CC      net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
  CC      fs/proc/loadavg.o
  AR      sound/pci/hda/built-in.a
  AR      sound/pci/riptide/built-in.a
  AR      sound/pci/rme9652/built-in.a
  CC      net/ipv6/netfilter/nf_conntrack_reasm.o
  CC      fs/isofs/joliet.o
  AR      sound/pci/trident/built-in.a
  AR      sound/pci/ymfpci/built-in.a
  CC      arch/x86/kernel/apic/ipi.o
  AR      sound/pci/vx222/built-in.a
  AR      sound/pci/built-in.a
  CC      block/blk-lib.o
  AR      net/dsa/built-in.a
  CC      io_uring/nop.o
  CC      io_uring/fs.o
  CC      arch/x86/mm/highmem_32.o
  CC      net/ipv4/netfilter/iptable_filter.o
  CC      lib/crypto/chacha.o
  CC      mm/shrinker.o
  CC      fs/fat/misc.o
  CC      arch/x86/kernel/kprobes/opt.o
  AR      drivers/dma/dw/built-in.a
  CC      kernel/power/snapshot.o
  CC      fs/netfs/read_retry.o
  AR      drivers/dma/mediatek/built-in.a
  AR      drivers/dma/qcom/built-in.a
  CC      net/ipv6/netfilter/nf_reject_ipv6.o
  AR      drivers/dma/stm32/built-in.a
  CC      fs/fat/nfs.o
  AR      drivers/dma/ti/built-in.a
  CC      drivers/acpi/acpica/evgpeinit.o
  AR      drivers/dma/xilinx/built-in.a
  CC      net/ethtool/strset.o
  CC      drivers/dma/dmaengine.o
  CC      drivers/virtio/virtio_ring.o
  CC      kernel/printk/nbcon.o
  CC      lib/crypto/aes.o
  CC      drivers/virtio/virtio_anchor.o
  CC      fs/nls/nls_cp437.o
  CC      drivers/pnp/quirks.o
  CC      arch/x86/kernel/cpu/rdrand.o
  CC      security/selinux/ss/policydb.o
  CC      fs/proc/meminfo.o
  CC      net/xfrm/xfrm_hash.o
  AR      net/packet/built-in.a
  AR      sound/spi/built-in.a
  CC      net/ipv6/ip6_input.o
  CC      arch/x86/kernel/cpu/match.o
  LDS     arch/x86/kernel/vmlinux.lds
  CC      kernel/printk/printk_ringbuffer.o
  AR      arch/x86/events/intel/built-in.a
  AR      arch/x86/events/built-in.a
  CC      drivers/acpi/acpica/evgpeutil.o
  CC      kernel/printk/sysctl.o
  CC      drivers/pci/setup-res.o
  CC      mm/shmem.o
  CC      arch/x86/kernel/apic/vector.o
  CC      fs/isofs/compress.o
  CC      fs/ext4/ialloc.o
  CC      net/netfilter/nfnetlink_log.o
  CC      crypto/sig.o
  CC      fs/nls/nls_ascii.o
  AR      arch/x86/mm/built-in.a
  CC      drivers/acpi/acpica/evglock.o
  CC      lib/crypto/arc4.o
  AR      sound/parisc/built-in.a
  CC      net/xfrm/xfrm_input.o
  AR      fs/jbd2/built-in.a
  CC      block/blk-mq.o
  CC      lib/bug.o
  CC      net/ipv4/protocol.o
  CC      fs/ext4/indirect.o
  CC      net/sunrpc/auth_gss/auth_gss.o
  CC      net/sunrpc/clnt.o
  CC      net/ipv6/addrconf.o
  CC      net/core/sysctl_net_core.o
  CC      arch/x86/kernel/cpu/bugs.o
  CC      fs/fat/namei_vfat.o
  AR      arch/x86/kernel/kprobes/built-in.a
  CC      io_uring/splice.o
  CC      net/sunrpc/auth_gss/gss_generic_token.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  CC      fs/netfs/write_collect.o
  AR      fs/unicode/built-in.a
  CC      fs/fat/namei_msdos.o
  CC      drivers/acpi/acpica/evhandler.o
  CC      fs/lockd/clntxdr.o
  CC      sound/core/hrtimer.o
  CC      fs/nls/nls_iso8859-1.o
  CC      fs/netfs/write_issue.o
  CC      drivers/acpi/acpica/evmisc.o
  CC      net/ipv4/netfilter/iptable_mangle.o
  CC      drivers/pnp/system.o
  CC      drivers/dma/virt-dma.o
  CC      lib/crypto/gf128mul.o
  CC      fs/proc/stat.o
  AR      kernel/printk/built-in.a
  CC      drivers/pci/irq.o
  CC      net/ethtool/linkinfo.o
  CC      net/sched/act_api.o
  CC      block/blk-mq-tag.o
  CC      lib/buildid.o
  CC      drivers/acpi/x86/apple.o
  AR      drivers/acpi/dptf/built-in.a
  AS      arch/x86/kernel/head_32.o
  CC      fs/nls/nls_utf8.o
  AR      fs/isofs/built-in.a
  CC      net/ipv4/ip_input.o
  CC      net/sunrpc/xprt.o
  CC      arch/x86/kernel/apic/init.o
  CC      net/ipv6/netfilter/ip6t_ipv6header.o
  CC      drivers/acpi/acpica/evregion.o
  CC      arch/x86/kernel/cpu/aperfmperf.o
  CC      crypto/kpp.o
  CC      sound/core/pcm.o
  AR      drivers/pnp/built-in.a
  CC      io_uring/sync.o
  CC      drivers/dma/acpi-dma.o
  CC      security/selinux/ss/services.o
  CC      kernel/power/swap.o
  AR      fs/nls/built-in.a
  CC      net/netfilter/nf_conntrack_core.o
  CC      net/ethtool/linkmodes.o
  CC      fs/proc/uptime.o
  CC      lib/crypto/blake2s.o
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  AR      sound/pcmcia/vx/built-in.a
  AR      sound/pcmcia/pdaudiocf/built-in.a
  AR      sound/pcmcia/built-in.a
  CC      net/xfrm/xfrm_output.o
  CC      drivers/acpi/x86/cmos_rtc.o
  CC      drivers/acpi/acpica/evrgnini.o
  CC      drivers/acpi/acpica/evsci.o
  CC      drivers/virtio/virtio_pci_modern_dev.o
  CC      fs/ext4/inline.o
  CC      drivers/pci/vpd.o
  CC      drivers/tty/vt/vt_ioctl.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      lib/crypto/blake2s-generic.o
  CC      fs/autofs/init.o
  CC      drivers/acpi/tables.o
  CC      net/ipv4/netfilter/ipt_REJECT.o
  CC      fs/autofs/inode.o
  CC      fs/lockd/host.o
  CC      drivers/tty/vt/vc_screen.o
  AR      fs/fat/built-in.a
  CC      sound/core/pcm_native.o
  CC      net/core/dev.o
  CC      drivers/pci/setup-bus.o
  CC      kernel/power/user.o
  CC      mm/util.o
  CC      fs/lockd/svc.o
  AR      fs/netfs/built-in.a
  CC      net/ipv6/addrlabel.o
  CC      io_uring/msg_ring.o
  ASN.1   crypto/rsapubkey.asn1.[ch]
  ASN.1   crypto/rsaprivkey.asn1.[ch]
  CC      crypto/rsa.o
  CC      drivers/acpi/acpica/evxface.o
  CC      fs/autofs/root.o
  CC      drivers/char/hw_random/core.o
  AR      drivers/dma/built-in.a
  CC      net/sched/sch_fifo.o
  CC      fs/proc/util.o
  CC      drivers/char/agp/backend.o
  CC      net/sched/cls_cgroup.o
  CC      arch/x86/kernel/cpu/umwait.o
  CC      lib/crypto/sha1.o
  CC      drivers/acpi/x86/lpss.o
  CC      net/ipv6/netfilter/ip6t_REJECT.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  CC      fs/nfs/super.o
  CC      arch/x86/kernel/apic/msi.o
  CC      drivers/tty/hvc/hvc_console.o
  CC      net/ethtool/rss.o
  AR      drivers/iommu/amd/built-in.a
  AR      drivers/iommu/intel/built-in.a
  CC      drivers/acpi/acpica/evxfevnt.o
  CC      lib/crypto/sha256.o
  CC      drivers/virtio/virtio_pci_modern.o
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/gpu/host1x/built-in.a
  AR      drivers/iommu/arm/built-in.a
  AR      drivers/iommu/iommufd/built-in.a
  CC      io_uring/advise.o
  AR      drivers/iommu/riscv/built-in.a
  CC      drivers/iommu/iommu.o
  CC      lib/clz_tab.o
  CC      crypto/rsa_helper.o
  CC      net/netfilter/nf_conntrack_standalone.o
  CC      fs/proc/version.o
  CC      net/sunrpc/auth_gss/gss_mech_switch.o
  CC      fs/lockd/svclock.o
  CC      drivers/tty/vt/selection.o
  CC      net/ethtool/linkstate.o
  CC      kernel/power/poweroff.o
  AR      drivers/gpu/drm/tests/built-in.a
  AR      drivers/gpu/drm/arm/built-in.a
  AR      drivers/gpu/drm/clients/built-in.a
  CC      drivers/gpu/drm/display/drm_display_helper_mod.o
  CC      drivers/gpu/drm/ttm/ttm_tt.o
  CC      fs/9p/vfs_super.o
  CC      drivers/tty/vt/keyboard.o
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  CC      drivers/char/hw_random/intel-rng.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      drivers/char/agp/generic.o
  CC      drivers/tty/vt/vt.o
  CC      drivers/acpi/acpica/evxfgpe.o
  CC      fs/autofs/symlink.o
  AR      kernel/power/built-in.a
  CC      kernel/irq/irqdesc.o
  CC      mm/mmzone.o
  CC      drivers/acpi/x86/s2idle.o
  CC      crypto/rsa-pkcs1pad.o
  CC      net/xfrm/xfrm_sysctl.o
  CC      net/xfrm/xfrm_replay.o
  CC      mm/vmstat.o
  CC      drivers/connector/cn_queue.o
  CC      drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC      net/ipv4/ip_fragment.o
  CC      mm/backing-dev.o
  AR      lib/crypto/built-in.a
  CC      lib/cmdline.o
  CC      drivers/pci/vc.o
  CC      fs/ext4/inode.o
  CC      fs/proc/softirqs.o
  CC      net/sched/ematch.o
  CC      lib/cpumask.o
  AR      drivers/tty/hvc/built-in.a
  CC      drivers/char/agp/isoch.o
  CC      io_uring/epoll.o
  CC      drivers/acpi/acpica/evxfregn.o
  CC      net/xfrm/xfrm_device.o
  AR      net/ipv6/netfilter/built-in.a
  CC      net/xfrm/xfrm_nat_keepalive.o
  CC      drivers/virtio/virtio_pci_common.o
  CC      fs/9p/vfs_inode.o
  CC      drivers/char/hw_random/amd-rng.o
  CC      drivers/connector/connector.o
  CC      drivers/acpi/osi.o
  AR      net/wireless/tests/built-in.a
  CC      net/wireless/core.o
  CC      net/core/dev_addr_lists.o
  CC      net/ipv6/route.o
  CC      fs/autofs/waitq.o
  CC      drivers/gpu/drm/ttm/ttm_bo.o
  CC      net/ethtool/debug.o
  CC      kernel/irq/handle.o
  CC      net/netfilter/nf_conntrack_expect.o
  CC      net/ethtool/wol.o
  CC      drivers/acpi/acpica/exconcat.o
  CC      crypto/rsassa-pkcs1.o
  CC      fs/proc/namespaces.o
  CC      block/blk-stat.o
  CC      lib/ctype.o
  CC      drivers/acpi/x86/utils.o
  CC      security/selinux/ss/conditional.o
  CC      lib/dec_and_lock.o
  CC      arch/x86/kernel/head32.o
  AR      net/ipv4/netfilter/built-in.a
  CC      drivers/pci/mmap.o
  CC      fs/autofs/expire.o
  CC      fs/nfs/io.o
  CC      drivers/gpu/drm/display/drm_dp_helper.o
  CC      arch/x86/kernel/apic/probe_32.o
  CC      fs/lockd/svcshare.o
  CC      net/sunrpc/auth_gss/svcauth_gss.o
  CC      net/sunrpc/auth_gss/gss_rpc_upcall.o
  CC      drivers/char/agp/amd64-agp.o
  AR      net/mac80211/tests/built-in.a
  CC      net/mac80211/main.o
  CC      net/netfilter/nf_conntrack_helper.o
  CC      drivers/gpu/drm/ttm/ttm_bo_util.o
  CC      lib/decompress.o
  CC      drivers/char/hw_random/geode-rng.o
  CC      lib/decompress_bunzip2.o
  CC      sound/core/pcm_lib.o
  CC      io_uring/statx.o
  CC      drivers/acpi/acpica/exconfig.o
  CC      kernel/irq/manage.o
  CC      net/core/dst.o
  CC      drivers/pci/devres.o
  AR      net/sched/built-in.a
  CC      drivers/pci/proc.o
  CC      net/ipv4/ip_forward.o
  CC      drivers/virtio/virtio_pci_legacy.o
  CC      net/wireless/sysfs.o
  AR      arch/x86/kernel/apic/built-in.a
  CC      drivers/iommu/iommu-traces.o
  CC      drivers/acpi/x86/blacklist.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/acpi/acpica/exconvrt.o
  CC      drivers/connector/cn_proc.o
  CC      mm/mm_init.o
  CC      crypto/acompress.o
  CC      fs/proc/self.o
  CC      block/blk-mq-sysfs.o
  CC      drivers/gpu/drm/display/drm_dp_mst_topology.o
  CC      fs/9p/vfs_inode_dotl.o
  AR      drivers/gpu/drm/renesas/rcar-du/built-in.a
  CC      drivers/char/hw_random/via-rng.o
  AR      drivers/gpu/drm/renesas/rz-du/built-in.a
  CC      drivers/gpu/drm/display/drm_dsc_helper.o
  CC      net/xfrm/xfrm_algo.o
  AR      drivers/gpu/drm/renesas/built-in.a
  CC      drivers/base/power/generic_ops.o
  CC      drivers/gpu/drm/i915/i915_config.o
  CC      net/core/netevent.o
  CC      net/netlabel/netlabel_user.o
  CC      net/ethtool/features.o
  CC      fs/autofs/dev-ioctl.o
  CC      drivers/gpu/drm/i915/i915_driver.o
  CC      drivers/char/agp/intel-agp.o
  AR      drivers/acpi/x86/built-in.a
  AR      drivers/gpu/vga/built-in.a
  CC      drivers/acpi/acpica/excreate.o
  CC      drivers/acpi/acpica/exdebug.o
  CC      lib/decompress_inflate.o
  CC      arch/x86/kernel/ebda.o
  CC      fs/nfs/direct.o
  CC      io_uring/timeout.o
  CC      lib/decompress_unlz4.o
  CC      drivers/gpu/drm/ttm/ttm_bo_vm.o
  AR      drivers/char/hw_random/built-in.a
  CC      fs/lockd/svcproc.o
  CC      drivers/virtio/virtio_pci_admin_legacy_io.o
  AR      sound/mips/built-in.a
  CC      drivers/virtio/virtio_input.o
  CC      security/selinux/ss/mls.o
  CC      drivers/acpi/osl.o
  CC      drivers/base/power/common.o
  CC      fs/proc/thread_self.o
  CC      sound/core/pcm_misc.o
  CC      drivers/gpu/drm/ttm/ttm_module.o
  CC      drivers/pci/pci-sysfs.o
  COPY    drivers/tty/vt/defkeymap.c
  CC      drivers/tty/vt/consolemap.o
  CC      drivers/char/agp/intel-gtt.o
  CC      drivers/acpi/acpica/exdump.o
  CC      block/blk-mq-cpumap.o
  CC      crypto/scompress.o
  CC      drivers/iommu/iommu-sysfs.o
  CC      crypto/algboss.o
  CC      drivers/acpi/acpica/exfield.o
  CC      drivers/base/power/qos.o
  CC      net/netfilter/nf_conntrack_proto.o
  CC      net/ethtool/privflags.o
  CC      fs/9p/vfs_addr.o
  CC      lib/decompress_unlzma.o
  AR      drivers/connector/built-in.a
  CC      kernel/irq/spurious.o
  CC      net/wireless/radiotap.o
  AR      fs/autofs/built-in.a
  CC      fs/proc/proc_sysctl.o
  CC      net/ipv4/ip_options.o
  CC      drivers/gpu/drm/ttm/ttm_execbuf_util.o
  CC      lib/decompress_unlzo.o
  CC      crypto/testmgr.o
  CC      net/mac80211/status.o
  CC      net/netlabel/netlabel_kapi.o
  CC      io_uring/fdinfo.o
  CC      drivers/virtio/virtio_dma_buf.o
  CC      mm/percpu.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      net/wireless/util.o
  CC      drivers/pci/slot.o
  CC      sound/core/pcm_memory.o
  CC      net/xfrm/xfrm_user.o
  AR      fs/hostfs/built-in.a
  CC      sound/core/memalloc.o
  CC      block/blk-mq-sched.o
  CC      net/ipv6/ip6_fib.o
  CC      net/ethtool/rings.o
  CC      drivers/acpi/acpica/exfldio.o
  CC      net/sunrpc/auth_gss/gss_rpc_xdr.o
  CC      fs/proc/proc_net.o
  CC      net/ipv4/ip_output.o
  CC      kernel/irq/resend.o
  CC      drivers/iommu/dma-iommu.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC      drivers/iommu/iova.o
  CC      fs/lockd/svcsubs.o
  CC      arch/x86/kernel/platform-quirks.o
  CC      security/selinux/ss/context.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC      drivers/gpu/drm/ttm/ttm_range_manager.o
  AR      drivers/virtio/built-in.a
  CC      net/sunrpc/auth_gss/trace.o
  CC      net/mac80211/driver-ops.o
  AR      drivers/char/agp/built-in.a
  CC      drivers/char/mem.o
  CC      lib/decompress_unxz.o
  CC      fs/9p/vfs_file.o
  CC      crypto/cmac.o
  CC      drivers/acpi/acpica/exmisc.o
  CC      drivers/gpu/drm/i915/i915_drm_client.o
  CC      drivers/tty/vt/defkeymap.o
  CC      drivers/base/firmware_loader/main.o
  CC      fs/debugfs/inode.o
  CC      kernel/irq/chip.o
  CC      drivers/pci/pci-acpi.o
  CC      security/selinux/netlabel.o
  CC      mm/slab_common.o
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  CC      drivers/tty/vt/consolemap_deftbl.o
  AR      drivers/base/firmware_loader/builtin/built-in.a
  CC      drivers/acpi/utils.o
  CC      mm/compaction.o
  AR      drivers/tty/vt/built-in.a
  CC      io_uring/cancel.o
  CC      drivers/tty/serial/8250/8250_core.o
  CC      kernel/irq/dummychip.o
  CC      sound/core/pcm_timer.o
  CC      drivers/base/power/runtime.o
  CC      drivers/acpi/acpica/exmutex.o
  CC      drivers/gpu/drm/i915/i915_getparam.o
  CC      net/netfilter/nf_conntrack_proto_generic.o
  CC      drivers/pci/iomap.o
  CC      lib/decompress_unzstd.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      crypto/hmac.o
  CC      block/ioctl.o
  CC      lib/dump_stack.o
  CC      net/sunrpc/auth_gss/gss_krb5_mech.o
  CC      net/ethtool/channels.o
  CC      drivers/gpu/drm/ttm/ttm_resource.o
  CC      net/netlabel/netlabel_domainhash.o
  CC      fs/nfs/pagelist.o
  CC      net/sunrpc/auth_gss/gss_krb5_seal.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      fs/proc/kcore.o
  AR      drivers/gpu/drm/omapdrm/built-in.a
  CC      mm/show_mem.o
  CC      fs/9p/vfs_dir.o
  CC      drivers/gpu/drm/display/drm_hdcp_helper.o
  CC      drivers/acpi/acpica/exnames.o
  CC      drivers/char/random.o
  CC      drivers/char/misc.o
  CC      fs/lockd/mon.o
  CC      sound/core/seq_device.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      fs/ext4/ioctl.o
  CC      net/wireless/reg.o
  CC      drivers/gpu/drm/display/drm_hdmi_helper.o
  CC      block/genhd.o
  CC      fs/debugfs/file.o
  CC      kernel/irq/devres.o
  CC      kernel/irq/autoprobe.o
  CC      lib/earlycpio.o
  CC      io_uring/waitid.o
  CC      io_uring/register.o
  AR      drivers/iommu/built-in.a
  CC      crypto/crypto_null.o
  CC      io_uring/truncate.o
  CC      drivers/pci/quirks.o
  CC      drivers/tty/serial/serial_core.o
  CC      drivers/tty/serial/8250/8250_platform.o
  CC      drivers/acpi/acpica/exoparg1.o
  AR      sound/soc/built-in.a
  CC      lib/extable.o
  CC      fs/tracefs/inode.o
  CC      net/ipv6/ipv6_sockglue.o
  CC      drivers/gpu/drm/i915/i915_ioctl.o
  CC      drivers/base/power/wakeirq.o
  CC      arch/x86/kernel/cpu/feat_ctl.o
  AR      security/selinux/built-in.a
  CC      fs/tracefs/event_inode.o
  AR      security/built-in.a
  CC      fs/9p/vfs_dentry.o
  CC      drivers/pci/pci-label.o
  CC      drivers/gpu/drm/ttm/ttm_pool.o
  CC      net/netfilter/nf_conntrack_proto_tcp.o
  CC      drivers/pci/vgaarb.o
  AR      drivers/gpu/drm/tilcdc/built-in.a
  CC      net/mac80211/sta_info.o
  CC      mm/interval_tree.o
  CC      kernel/irq/irqdomain.o
  AR      sound/core/built-in.a
  CC      drivers/base/regmap/regmap.o
  AR      sound/atmel/built-in.a
  CC      sound/hda/hda_bus_type.o
  CC      sound/hda/hdac_bus.o
  CC      fs/proc/vmcore.o
  CC      net/ethtool/coalesce.o
  CC      drivers/gpu/drm/display/drm_scdc_helper.o
  CC      drivers/base/power/main.o
  CC      lib/flex_proportions.o
  CC      drivers/acpi/acpica/exoparg2.o
  CC      kernel/rcu/update.o
  CC      fs/nfs/read.o
  CC      fs/proc/kmsg.o
  CC      net/ipv4/ip_sockglue.o
  CC      crypto/md5.o
  CC      arch/x86/kernel/cpu/intel.o
  AR      net/xfrm/built-in.a
  CC      sound/hda/hdac_device.o
  CC      net/netlabel/netlabel_addrlist.o
  CC      drivers/gpu/drm/i915/i915_irq.o
  CC      drivers/tty/serial/8250/8250_pnp.o
  CC      lib/idr.o
  CC      drivers/block/loop.o
  CC      fs/lockd/trace.o
  CC      fs/9p/v9fs.o
  CC      drivers/acpi/acpica/exoparg3.o
  CC      drivers/acpi/acpica/exoparg6.o
  CC      drivers/base/power/wakeup.o
  CC      drivers/tty/serial/serial_base_bus.o
  CC      net/sunrpc/auth_gss/gss_krb5_unseal.o
  AR      fs/debugfs/built-in.a
  CC      drivers/tty/serial/8250/8250_rsa.o
  CC      drivers/char/virtio_console.o
  CC      block/ioprio.o
  CC      fs/9p/fid.o
  CC      fs/9p/xattr.o
  CC      net/core/neighbour.o
  CC      crypto/sha256_generic.o
  CC      crypto/sha512_generic.o
  CC      block/badblocks.o
  CC      drivers/base/power/wakeup_stats.o
  AR      fs/tracefs/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_drv.o
  CC      drivers/gpu/drm/ttm/ttm_device.o
  AR      drivers/gpu/drm/display/built-in.a
  CC      net/wireless/scan.o
  CC      net/ethtool/pause.o
  CC      arch/x86/kernel/cpu/tsx.o
  CC      lib/iomem_copy.o
  CC      drivers/acpi/acpica/exprep.o
  CC      drivers/misc/eeprom/eeprom_93cx6.o
  AR      drivers/misc/cb710/built-in.a
  CC      crypto/sha3_generic.o
  CC      mm/list_lru.o
  CC      lib/irq_regs.o
  CC      fs/proc/page.o
  CC      net/wireless/nl80211.o
  CC      kernel/irq/proc.o
  CC      io_uring/memmap.o
  CC      kernel/rcu/sync.o
  CC      fs/lockd/xdr.o
  CC      sound/hda/hdac_sysfs.o
  CC      lib/is_single_threaded.o
  CC      sound/hda/hdac_regmap.o
  CC      drivers/char/hpet.o
  CC [M]  fs/efivarfs/inode.o
  CC      net/rfkill/core.o
  CC      drivers/tty/serial/8250/8250_port.o
  CC      drivers/acpi/acpica/exregion.o
  CC      net/sunrpc/auth_gss/gss_krb5_wrap.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  AR      drivers/misc/eeprom/built-in.a
  AR      drivers/misc/lis3lv02d/built-in.a
  AR      fs/9p/built-in.a
  CC      kernel/irq/migration.o
  CC      lib/klist.o
  AR      drivers/misc/cardreader/built-in.a
  CC      net/netlabel/netlabel_mgmt.o
  CC      net/ethtool/eee.o
  AR      drivers/misc/keba/built-in.a
  AR      drivers/misc/built-in.a
  CC      net/ipv4/inet_hashtables.o
  CC      sound/hda/hdac_controller.o
  CC      arch/x86/kernel/process_32.o
  CC      crypto/ecb.o
  CC      drivers/gpu/drm/virtio/virtgpu_kms.o
  CC      net/netfilter/nf_conntrack_proto_udp.o
  CC      fs/ext4/mballoc.o
  CC      drivers/gpu/drm/i915/i915_mitigations.o
  CC      drivers/gpu/drm/ttm/ttm_sys_manager.o
  AR      drivers/pci/built-in.a
  CC      drivers/acpi/reboot.o
  CC      drivers/gpu/drm/i915/i915_module.o
  CC [M]  fs/efivarfs/file.o
  CC      net/ipv6/ndisc.o
  CC      net/ethtool/tsinfo.o
  CC      block/blk-rq-qos.o
  CC      net/ethtool/cabletest.o
  CC      drivers/acpi/acpica/exresnte.o
  AR      sound/x86/built-in.a
  CC      lib/kobject.o
  CC      fs/lockd/clnt4xdr.o
  CC      drivers/base/power/trace.o
  CC      kernel/rcu/srcutree.o
  CC      arch/x86/kernel/cpu/amd.o
  CC      mm/workingset.o
  AR      fs/proc/built-in.a
  CC      drivers/char/nvram.o
  CC      drivers/block/virtio_blk.o
  CC      kernel/irq/cpuhotplug.o
  CC      net/core/rtnetlink.o
  CC [M]  fs/efivarfs/super.o
  CC      io_uring/io-wq.o
  CC      crypto/cbc.o
  AR      kernel/livepatch/built-in.a
  CC      io_uring/futex.o
  CC      io_uring/napi.o
  CC      fs/nfs/symlink.o
  CC      drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC      crypto/ctr.o
  CC      drivers/acpi/acpica/exresolv.o
  CC      net/ethtool/tunnels.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      fs/lockd/xdr4.o
  AR      sound/xen/built-in.a
  CC      net/rfkill/input.o
  CC      fs/nfs/unlink.o
  CC      fs/nfs/write.o
  CC      drivers/gpu/drm/virtio/virtgpu_gem.o
  CC      sound/hda/hdac_stream.o
  CC      net/9p/mod.o
  CC      net/dns_resolver/dns_key.o
  CC      lib/kobject_uevent.o
  CC      net/sunrpc/auth_gss/gss_krb5_crypto.o
  CC      kernel/rcu/tree.o
  CC      block/disk-events.o
  CC      kernel/rcu/rcu_segcblist.o
  CC      drivers/acpi/acpica/exresop.o
  CC      net/wireless/mlme.o
  CC      crypto/gcm.o
  AR      drivers/base/power/built-in.a
  CC      net/handshake/alert.o
  CC      drivers/base/regmap/regcache.o
  CC      kernel/irq/pm.o
  CC      drivers/tty/serial/serial_ctrl.o
  CC      mm/debug.o
  CC      net/netlabel/netlabel_unlabeled.o
  AR      drivers/gpu/drm/ttm/built-in.a
  AR      drivers/char/built-in.a
  CC      mm/gup.o
  CC      net/netfilter/nf_conntrack_proto_icmp.o
  CC      drivers/gpu/drm/i915/i915_params.o
  CC      fs/open.o
  CC [M]  fs/efivarfs/vars.o
  CC      arch/x86/kernel/cpu/hygon.o
  AR      sound/virtio/built-in.a
  CC      block/blk-ia-ranges.o
  CC      fs/ext4/migrate.o
  AR      net/rfkill/built-in.a
  CC      fs/lockd/svc4proc.o
  CC      lib/logic_pio.o
  CC      net/9p/client.o
  CC      drivers/acpi/acpica/exserial.o
  CC      net/sunrpc/socklib.o
  CC      net/ipv6/udp.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC      net/dns_resolver/dns_query.o
  AR      drivers/block/built-in.a
  CC      mm/mmap_lock.o
  CC      net/sunrpc/xprtsock.o
  CC      drivers/base/regmap/regcache-rbtree.o
  CC      drivers/gpu/drm/virtio/virtgpu_vram.o
  CC      fs/ext4/mmp.o
  CC      crypto/ccm.o
  CC      net/core/utils.o
  CC      net/ethtool/fec.o
  CC      drivers/acpi/acpica/exstore.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      sound/hda/array.o
  CC      fs/nfs/namespace.o
  CC      kernel/irq/msi.o
  CC      net/netlabel/netlabel_cipso_v4.o
  CC      sound/hda/hdmi_chmap.o
  AR      io_uring/built-in.a
  CC      net/ipv4/inet_timewait_sock.o
  CC      fs/ext4/move_extent.o
  CC      drivers/base/regmap/regcache-flat.o
  CC      drivers/gpu/drm/virtio/virtgpu_display.o
  CC      drivers/gpu/drm/i915/i915_pci.o
  CC      lib/maple_tree.o
  LD [M]  fs/efivarfs/efivarfs.o
  CC      net/ipv4/inet_connection_sock.o
  CC      block/early-lookup.o
  CC      fs/ext4/namei.o
  CC      arch/x86/kernel/cpu/transmeta.o
  CC      drivers/acpi/acpica/exstoren.o
  CC      net/9p/error.o
  CC      net/mac80211/wep.o
  AR      net/dns_resolver/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_vq.o
  CC      net/netfilter/nf_conntrack_extend.o
  CC      drivers/tty/serial/8250/8250_dwlib.o
  CC      net/sunrpc/sched.o
  CC      net/netlabel/netlabel_calipso.o
  CC      net/sunrpc/auth_gss/gss_krb5_keys.o
  CC      net/handshake/genl.o
  CC      net/devres.o
  CC      net/wireless/ibss.o
  CC      net/ethtool/eeprom.o
  CC      fs/nfs/mount_clnt.o
  CC      fs/lockd/procfs.o
  AR      drivers/mfd/built-in.a
  CC      kernel/dma/mapping.o
  CC      drivers/tty/serial/serial_port.o
  CC      drivers/base/regmap/regcache-maple.o
  CC      drivers/acpi/acpica/exstorob.o
  CC      net/9p/protocol.o
  CC      fs/read_write.o
  CC      sound/sound_core.o
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC      crypto/aes_generic.o
  CC      block/bounce.o
  CC      net/ipv6/udplite.o
  CC      kernel/entry/common.o
  CC      kernel/module/main.o
  CC      sound/hda/trace.o
  CC      kernel/module/strict_rwx.o
  CC      drivers/acpi/acpica/exsystem.o
  AR      drivers/gpu/drm/imx/built-in.a
  CC      net/netfilter/nf_conntrack_acct.o
  CC      kernel/irq/affinity.o
  CC      drivers/gpu/drm/i915/i915_scatterlist.o
  CC      drivers/tty/serial/8250/8250_pcilib.o
  CC      kernel/irq/matrix.o
  CC      arch/x86/kernel/signal.o
  CC      net/wireless/sme.o
  CC      arch/x86/kernel/cpu/vortex.o
  CC      drivers/tty/serial/earlycon.o
  CC      block/bsg.o
  CC      net/handshake/netlink.o
  CC      mm/highmem.o
  CC      crypto/crc32c_generic.o
  AR      fs/lockd/built-in.a
  CC      net/socket.o
  CC      drivers/base/regmap/regmap-debugfs.o
  CC      fs/ext4/page-io.o
  CC      kernel/dma/direct.o
  CC      drivers/acpi/nvs.o
  CC      drivers/acpi/acpica/extrace.o
  CC      net/9p/trans_common.o
  CC      net/mac80211/aead_api.o
  AR      net/netlabel/built-in.a
  CC      net/ethtool/stats.o
  CC      kernel/time/time.o
  CC      drivers/gpu/drm/virtio/virtgpu_fence.o
  CC      net/ipv4/tcp.o
  AR      net/sunrpc/auth_gss/built-in.a
  CC      net/sunrpc/auth.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      fs/file_table.o
  CC      fs/super.o
  CC      fs/nfs/nfstrace.o
  CC      crypto/authenc.o
  CC      drivers/acpi/acpica/exutils.o
  CC      drivers/tty/serial/8250/8250_early.o
  CC      drivers/gpu/drm/i915/i915_switcheroo.o
  AR      drivers/nfc/built-in.a
  CC      net/handshake/request.o
  CC      net/ipv6/raw.o
  CC      lib/memcat_p.o
  AR      drivers/base/test/built-in.a
  CC      drivers/base/component.o
  CC      net/handshake/tlshd.o
  CC      block/blk-cgroup.o
  CC      sound/hda/hdac_component.o
  CC      net/9p/trans_fd.o
  CC      sound/last.o
  CC      net/mac80211/wpa.o
  CC      sound/hda/hdac_i915.o
  AR      drivers/base/regmap/built-in.a
  CC      net/netfilter/nf_conntrack_seqadj.o
  CC      sound/hda/intel-dsp-config.o
  CC      fs/char_dev.o
  CC      drivers/gpu/drm/i915/i915_sysfs.o
  CC      drivers/acpi/acpica/hwacpi.o
  AR      kernel/entry/built-in.a
  CC      fs/ext4/readpage.o
  CC      mm/memory.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC      drivers/tty/serial/8250/8250_exar.o
  CC      net/ipv4/tcp_input.o
  CC      net/core/link_watch.o
  CC      drivers/gpu/drm/virtio/virtgpu_object.o
  AR      kernel/irq/built-in.a
  CC      net/netfilter/nf_conntrack_proto_icmpv6.o
  CC      net/sysctl_net.o
  CC      fs/nfs/export.o
  CC      net/ipv6/icmp.o
  CC      kernel/dma/ops_helpers.o
  CC      sound/hda/intel-nhlt.o
  CC      kernel/time/timer.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      drivers/acpi/acpica/hwesleep.o
  CC      net/ethtool/phc_vclocks.o
  AR      drivers/dax/hmem/built-in.a
  AR      drivers/dax/built-in.a
  CC      drivers/base/core.o
  CC      drivers/base/bus.o
  CC      crypto/authencesn.o
  CC      net/mac80211/scan.o
  CC      net/ipv6/mcast.o
  CC      block/blk-ioprio.o
  CC      mm/mincore.o
  CC      drivers/tty/serial/8250/8250_lpss.o
  CC      net/9p/trans_virtio.o
  CC      net/ethtool/mm.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      drivers/acpi/acpica/hwgpe.o
  CC      fs/nfs/sysfs.o
  CC      net/handshake/trace.o
  CC      kernel/module/kmod.o
  CC      sound/hda/intel-sdw-acpi.o
  AR      kernel/rcu/built-in.a
  CC      fs/nfs/fs_context.o
  CC      crypto/lzo.o
  CC      kernel/dma/remap.o
  CC      drivers/gpu/drm/virtio/virtgpu_debugfs.o
  CC      arch/x86/kernel/cpu/debugfs.o
  CC      crypto/lzo-rle.o
  CC      drivers/gpu/drm/i915/i915_utils.o
  CC      net/netfilter/nf_conntrack_netlink.o
  CC      block/blk-iolatency.o
  CC      drivers/acpi/wakeup.o
  CC      net/core/filter.o
  CC      drivers/acpi/acpica/hwregs.o
  AR      drivers/gpu/drm/i2c/built-in.a
  CC      arch/x86/kernel/cpu/bus_lock.o
  CC      fs/ext4/resize.o
  CC      mm/mlock.o
  CC      net/wireless/chan.o
  CC      kernel/time/hrtimer.o
  CC      net/core/sock_diag.o
  CC      fs/stat.o
  AR      sound/hda/built-in.a
  AR      sound/built-in.a
  CC      drivers/tty/serial/8250/8250_mid.o
  CC      arch/x86/kernel/signal_32.o
  CC      kernel/futex/core.o
  CC      mm/mmap.o
  CC      drivers/tty/tty_io.o
  CC      mm/mmu_gather.o
  CC      drivers/gpu/drm/i915/intel_clock_gating.o
  AR      kernel/dma/built-in.a
  CC      net/sunrpc/auth_null.o
  CC      drivers/dma-buf/dma-buf.o
  AR      drivers/gpu/drm/panel/built-in.a
  CC      net/ipv4/tcp_output.o
  CC      kernel/module/tree_lookup.o
  CC      lib/nmi_backtrace.o
  CC      drivers/gpu/drm/virtio/virtgpu_plane.o
  CC      arch/x86/kernel/traps.o
  CC      fs/ext4/super.o
  CC      crypto/rng.o
  CC      drivers/acpi/acpica/hwsleep.o
  CC      net/ethtool/module.o
  CC      net/sunrpc/auth_tls.o
  CC      drivers/tty/serial/8250/8250_pci.o
  CC      net/mac80211/offchannel.o
  CC      fs/exec.o
  CC      mm/mprotect.o
  AR      net/9p/built-in.a
  CC      net/core/dev_ioctl.o
  CC      kernel/module/kallsyms.o
  CC      drivers/acpi/acpica/hwvalid.o
  CC      block/blk-iocost.o
  CC      net/sunrpc/auth_unix.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      drivers/dma-buf/dma-fence.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC      kernel/module/procfs.o
  CC      kernel/module/sysfs.o
  AR      net/handshake/built-in.a
  CC      mm/mremap.o
  CC      net/mac80211/ht.o
  CC      kernel/futex/syscalls.o
  CC      kernel/futex/pi.o
  CC      fs/pipe.o
  CC      drivers/gpu/drm/virtio/virtgpu_ioctl.o
  CC      drivers/acpi/acpica/hwxface.o
  CC      lib/objpool.o
  CC      lib/plist.o
  CC      crypto/drbg.o
  CC      net/sunrpc/svc.o
  CC      drivers/acpi/sleep.o
  CC      net/ipv4/tcp_timer.o
  CC      arch/x86/kernel/idt.o
  CC      kernel/cgroup/cgroup.o
  CC      drivers/gpu/drm/i915/intel_cpu_info.o
  CC      crypto/jitterentropy.o
  CC      kernel/time/sleep_timeout.o
  CC      drivers/gpu/drm/i915/intel_device_info.o
  CC      crypto/jitterentropy-kcapi.o
  CC      net/netfilter/nf_conntrack_ftp.o
  CC      net/ethtool/cmis_fw_update.o
  CC      net/ethtool/cmis_cdb.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC      drivers/tty/n_tty.o
  CC      net/wireless/ethtool.o
  AR      kernel/module/built-in.a
  CC      drivers/base/dd.o
  CC      drivers/base/syscore.o
  CC      drivers/tty/serial/8250/8250_pericom.o
  CC      net/ipv4/tcp_ipv4.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  AR      drivers/gpu/drm/bridge/built-in.a
  CC      drivers/gpu/drm/i915/intel_memory_region.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      net/mac80211/agg-tx.o
  CC      drivers/gpu/drm/virtio/virtgpu_prime.o
  CC      kernel/futex/requeue.o
  CC      lib/radix-tree.o
  CC      kernel/futex/waitwake.o
  CC      net/core/tso.o
  CC      drivers/acpi/acpica/hwpci.o
  CC      kernel/cgroup/rstat.o
  CC      mm/msync.o
  CC      net/wireless/mesh.o
  CC      net/ipv6/reassembly.o
  CC      kernel/time/timekeeping.o
  CC      block/mq-deadline.o
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC      kernel/cgroup/namespace.o
  CC      lib/ratelimit.o
  CC      crypto/ghash-generic.o
  CC      arch/x86/kernel/irq.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC      kernel/trace/trace_clock.o
  CC      fs/nfs/nfsroot.o
  CC      kernel/bpf/core.o
  AR      drivers/gpu/drm/hisilicon/built-in.a
  CC      net/core/sock_reuseport.o
  CC      net/ipv4/tcp_minisocks.o
  CC      drivers/gpu/drm/virtio/virtgpu_trace_points.o
  AR      drivers/tty/serial/8250/built-in.a
  AR      drivers/tty/serial/built-in.a
  CC      drivers/acpi/acpica/nsarguments.o
  CC      net/ipv6/tcp_ipv6.o
  CC      fs/ext4/symlink.o
  CC      crypto/hash_info.o
  CC      net/netfilter/nf_conntrack_irc.o
  CC      kernel/trace/ring_buffer.o
  CC      crypto/rsapubkey.asn1.o
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC      net/sunrpc/svcsock.o
  CC      crypto/rsaprivkey.asn1.o
  AR      crypto/built-in.a
  CC      net/ethtool/pse-pd.o
  CC      kernel/time/ntp.o
  AR      kernel/futex/built-in.a
  CC      block/kyber-iosched.o
  CC      net/netfilter/nf_conntrack_sip.o
  CC      mm/page_vma_mapped.o
  CC      drivers/base/driver.o
  CC      drivers/acpi/device_sysfs.o
  CC      drivers/acpi/acpica/nsconvert.o
  CC      lib/rbtree.o
  CC      net/mac80211/agg-rx.o
  CC      kernel/cgroup/cgroup-v1.o
  CC      drivers/macintosh/mac_hid.o
  AR      drivers/cxl/core/built-in.a
  AR      drivers/cxl/built-in.a
  CC      drivers/gpu/drm/i915/intel_pcode.o
  CC      fs/namei.o
  CC      drivers/gpu/drm/i915/intel_region_ttm.o
  CC      drivers/tty/tty_ioctl.o
  CC      arch/x86/kernel/irq_32.o
  CC      drivers/tty/tty_ldisc.o
  CC      drivers/dma-buf/dma-resv.o
  CC      fs/ext4/sysfs.o
  CC      drivers/acpi/acpica/nsdump.o
  CC      lib/seq_buf.o
  CC      drivers/base/class.o
  CC      lib/siphash.o
  CC      drivers/dma-buf/sync_file.o
  CC      net/ethtool/plca.o
  CC      mm/pagewalk.o
  CC      drivers/gpu/drm/virtio/virtgpu_submit.o
  CC      net/ethtool/phy.o
  AR      drivers/gpu/drm/mxsfb/built-in.a
  CC      kernel/cgroup/freezer.o
  CC      drivers/tty/tty_buffer.o
  CC      fs/nfs/sysctl.o
  CC      fs/fcntl.o
  AR      drivers/macintosh/built-in.a
  CC      drivers/gpu/drm/i915/intel_runtime_pm.o
  CC      drivers/acpi/acpica/nseval.o
  CC      net/ipv4/tcp_cong.o
  CC      kernel/time/clocksource.o
  CC      arch/x86/kernel/dumpstack_32.o
  CC      net/wireless/ap.o
  AR      drivers/gpu/drm/tiny/built-in.a
  CC      lib/string.o
  CC      block/blk-mq-pci.o
  CC      lib/timerqueue.o
  AR      drivers/gpu/drm/xlnx/built-in.a
  CC      mm/pgtable-generic.o
  CC      lib/union_find.o
  AR      drivers/scsi/pcmcia/built-in.a
  CC      drivers/scsi/scsi.o
  CC      fs/ioctl.o
  CC      net/sunrpc/svcauth.o
  CC      arch/x86/kernel/time.o
  CC      net/core/fib_notifier.o
  CC      drivers/base/platform.o
  CC      net/sunrpc/svcauth_unix.o
  CC      drivers/base/cpu.o
  CC      net/core/xdp.o
  CC      drivers/acpi/acpica/nsinit.o
  CC      lib/vsprintf.o
  CC      net/netfilter/nf_nat_core.o
  CC      drivers/tty/tty_port.o
  AR      drivers/dma-buf/built-in.a
  CC      kernel/events/core.o
  CC      drivers/scsi/hosts.o
  CC      mm/rmap.o
  CC      mm/vmalloc.o
  CC      lib/win_minmax.o
  CC      fs/nfs/nfs3super.o
  AR      drivers/gpu/drm/virtio/built-in.a
  CC      kernel/cgroup/legacy_freezer.o
  CC      kernel/events/ring_buffer.o
  CC      drivers/scsi/scsi_ioctl.o
  CC      drivers/gpu/drm/i915/intel_sbi.o
  CC      arch/x86/kernel/ioport.o
  CC      net/wireless/trace.o
  CC      net/core/flow_offload.o
  CC      block/blk-mq-virtio.o
  CC      lib/xarray.o
  CC      kernel/events/callchain.o
  CC      drivers/acpi/acpica/nsload.o
  CC      kernel/time/jiffies.o
  CC      kernel/events/hw_breakpoint.o
  CC      net/sunrpc/addr.o
  CC      net/core/gro.o
  AR      net/ethtool/built-in.a
  CC      kernel/cgroup/pids.o
  CC      net/ipv6/ping.o
  CC      net/sunrpc/rpcb_clnt.o
  CC      drivers/tty/tty_mutex.o
  CC      drivers/acpi/device_pm.o
  CC      drivers/base/firmware.o
  CC      drivers/scsi/scsicam.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      kernel/trace/trace.o
  CC      lib/lockref.o
  CC      kernel/cgroup/rdma.o
  CC      kernel/time/timer_list.o
  CC      fs/nfs/nfs3client.o
  CC      fs/ext4/xattr.o
  CC      net/mac80211/vht.o
  CC      block/blk-mq-debugfs.o
  CC      net/ipv4/tcp_metrics.o
  CC      drivers/base/init.o
  CC      arch/x86/kernel/dumpstack.o
  CC      kernel/events/uprobes.o
  CC      net/core/netdev-genl.o
  AR      kernel/bpf/built-in.a
  CC      drivers/acpi/acpica/nsobject.o
  CC      net/netfilter/nf_nat_proto.o
  CC      kernel/cgroup/cpuset.o
  CC      kernel/cgroup/misc.o
  CC      kernel/trace/trace_output.o
  CC      net/ipv4/tcp_fastopen.o
  CC      drivers/tty/tty_ldsem.o
  CC      net/sunrpc/timer.o
  CC      drivers/gpu/drm/i915/intel_step.o
  CC      drivers/base/map.o
  CC      drivers/acpi/proc.o
  CC      net/core/netdev-genl-gen.o
  CC      arch/x86/kernel/nmi.o
  CC      drivers/scsi/scsi_error.o
  CC      fs/readdir.o
  CC      drivers/acpi/acpica/nsparse.o
  CC      net/ipv6/exthdrs.o
  AR      drivers/gpu/drm/gud/built-in.a
  CC      drivers/base/devres.o
  CC      block/blk-pm.o
  CC      net/sunrpc/xdr.o
  CC      fs/ext4/xattr_hurd.o
  CC      kernel/time/timeconv.o
  CC      drivers/tty/tty_baudrate.o
  CC      drivers/acpi/acpica/nspredef.o
  CC      fs/select.o
  CC      net/core/gso.o
  CC      net/ipv4/tcp_rate.o
  CC      arch/x86/kernel/ldt.o
  CC      mm/vma.o
  CC      kernel/fork.o
  CC      block/holder.o
  CC      net/sunrpc/sunrpc_syms.o
  CC      drivers/acpi/bus.o
  CC      fs/nfs/nfs3proc.o
  CC      drivers/base/attribute_container.o
  CC      kernel/time/timecounter.o
  CC      net/core/net-sysfs.o
  CC      drivers/acpi/acpica/nsprepkg.o
  CC      kernel/time/alarmtimer.o
  CC      kernel/trace/trace_seq.o
  CC      kernel/exec_domain.o
  CC      lib/bcd.o
  CC      arch/x86/kernel/setup.o
  CC      net/netfilter/nf_nat_helper.o
  CC      drivers/gpu/drm/i915/intel_uncore.o
  CC      drivers/tty/tty_jobctrl.o
  CC      fs/ext4/xattr_trusted.o
  CC      arch/x86/kernel/x86_init.o
  CC      drivers/base/transport_class.o
  CC      net/core/hotdata.o
  CC      net/wireless/ocb.o
  CC      kernel/cgroup/debug.o
  CC      net/mac80211/he.o
  CC      kernel/trace/trace_stat.o
  CC      fs/nfs/nfs3xdr.o
  AR      block/built-in.a
  CC      kernel/time/posix-timers.o
  CC      drivers/acpi/acpica/nsrepair.o
  CC      fs/ext4/xattr_user.o
  CC      lib/sort.o
  CC      drivers/acpi/glue.o
  CC      drivers/base/topology.o
  CC      lib/parser.o
  CC      drivers/base/container.o
  CC      kernel/trace/trace_printk.o
  AR      drivers/nvme/common/built-in.a
  AR      drivers/nvme/host/built-in.a
  AR      drivers/nvme/target/built-in.a
  AR      drivers/nvme/built-in.a
  CC      fs/dcache.o
  CC      fs/nfs/nfs3acl.o
  CC      drivers/tty/n_null.o
  CC      drivers/ata/libata-core.o
  CC      drivers/gpu/drm/i915/intel_uncore_trace.o
  CC      drivers/scsi/scsi_lib.o
  CC      net/wireless/pmsr.o
  CC      mm/process_vm_access.o
  CC      kernel/time/posix-cpu-timers.o
  CC      fs/nfs/nfs4proc.o
  CC      arch/x86/kernel/i8259.o
  CC      drivers/acpi/acpica/nsrepair2.o
  CC      net/ipv6/datagram.o
  CC      net/ipv4/tcp_recovery.o
  CC      drivers/gpu/drm/i915/intel_wakeref.o
  CC      kernel/panic.o
  AR      drivers/gpu/drm/solomon/built-in.a
  CC      drivers/acpi/acpica/nssearch.o
  CC      net/ipv6/ip6_flowlabel.o
  CC      lib/debug_locks.o
  CC      kernel/time/posix-clock.o
  CC      fs/inode.o
  CC      drivers/scsi/constants.o
  AR      kernel/cgroup/built-in.a
  CC      drivers/ata/libata-scsi.o
  CC      net/ipv4/tcp_ulp.o
  CC      drivers/gpu/drm/i915/vlv_sideband.o
  CC      net/sunrpc/cache.o
  CC      kernel/trace/pid_list.o
  CC      lib/random32.o
  CC      drivers/tty/pty.o
  CC      fs/attr.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC      drivers/gpu/drm/i915/vlv_suspend.o
  CC      net/mac80211/s1g.o
  CC      drivers/base/property.o
  CC      drivers/ata/libata-eh.o
  CC      net/ipv6/inet6_connection_sock.o
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  CC      net/netfilter/nf_nat_masquerade.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      net/ipv4/tcp_offload.o
  CC      arch/x86/kernel/irqinit.o
  CC      net/sunrpc/rpc_pipe.o
  CC      kernel/cpu.o
  CC      lib/bust_spinlocks.o
  CC      mm/page_alloc.o
  CC      fs/nfs/nfs4xdr.o
  CC      drivers/scsi/scsi_scan.o
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC      net/ipv4/tcp_plb.o
  CC      lib/kasprintf.o
  CC      drivers/acpi/acpica/nswalk.o
  CC      net/core/netdev_rx_queue.o
  CC      net/netfilter/nf_nat_ftp.o
  CC      kernel/time/itimer.o
  CC      kernel/time/clockevents.o
  CC      drivers/tty/tty_audit.o
  CC      drivers/tty/sysrq.o
  CC      drivers/acpi/scan.o
  CC      drivers/base/cacheinfo.o
  CC      drivers/base/swnode.o
  CC      net/ipv6/udp_offload.o
  CC      fs/nfs/nfs4state.o
  CC      lib/bitmap.o
  CC      drivers/acpi/acpica/nsxfeval.o
  CC      net/mac80211/ibss.o
  CC      kernel/time/tick-common.o
  CC      arch/x86/kernel/jump_label.o
  AR      drivers/net/phy/mediatek/built-in.a
  AR      drivers/net/phy/qcom/built-in.a
  CC      drivers/net/phy/mdio-boardinfo.o
  CC      kernel/trace/trace_sched_switch.o
  CC      kernel/trace/trace_nop.o
  AR      drivers/net/pse-pd/built-in.a
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC      mm/page_frag_cache.o
  CC      drivers/net/phy/stubs.o
  CC      net/netfilter/nf_nat_irc.o
  CC      drivers/gpu/drm/i915/soc/intel_dram.o
  CC      drivers/net/phy/mdio_devres.o
  CC      drivers/firewire/init_ohci1394_dma.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  CC      drivers/acpi/acpica/nsxfname.o
  CC      net/core/net-procfs.o
  CC      net/netfilter/nf_nat_sip.o
  CC      fs/bad_inode.o
  GEN     net/wireless/shipped-certs.c
  CC      drivers/acpi/mipi-disco-img.o
  CC      drivers/ata/libata-transport.o
  CC      net/mac80211/iface.o
  CC      net/mac80211/link.o
  CC      fs/ext4/fast_commit.o
  CC      kernel/time/tick-broadcast.o
  CC      fs/nfs/nfs4renewd.o
  CC      drivers/gpu/drm/i915/soc/intel_gmch.o
  CC      arch/x86/kernel/irq_work.o
  CC      drivers/net/phy/phy.o
  CC      lib/scatterlist.o
  CC      net/ipv4/datagram.o
  CC      lib/list_sort.o
  CC      drivers/scsi/scsi_devinfo.o
  CC      drivers/base/auxiliary.o
  CC      drivers/acpi/acpica/nsxfobj.o
  AR      drivers/tty/built-in.a
  CC      fs/file.o
  CC      drivers/net/mdio/acpi_mdio.o
  CC      net/ipv4/raw.o
  CC      drivers/net/phy/phy-c45.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC      drivers/scsi/scsi_sysctl.o
  CC      kernel/exit.o
  CC      net/core/netpoll.o
  CC      drivers/gpu/drm/i915/soc/intel_pch.o
  CC      drivers/cdrom/cdrom.o
  AR      drivers/firewire/built-in.a
  AR      drivers/net/pcs/built-in.a
  CC      drivers/net/mdio/fwnode_mdio.o
  CC      net/ipv6/seg6.o
  CC      mm/init-mm.o
  CC      drivers/acpi/acpica/psargs.o
  CC      fs/nfs/nfs4super.o
  CC      arch/x86/kernel/probe_roms.o
  CC      drivers/acpi/resource.o
  CC      net/mac80211/rate.o
  CC      drivers/base/devtmpfs.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  CC      net/ipv6/fib6_notifier.o
  CC      drivers/net/phy/phy-core.o
  CC      drivers/ata/libata-trace.o
  CC      kernel/trace/blktrace.o
  CC      drivers/net/phy/phy_device.o
  CC      net/netfilter/x_tables.o
  CC      fs/nfs/nfs4file.o
  CC      drivers/scsi/scsi_proc.o
  CC      fs/filesystems.o
  CC      drivers/acpi/acpica/psloop.o
  CC      drivers/net/phy/linkmode.o
  CC      drivers/net/phy/phy_link_topology.o
  CC      drivers/ata/libata-sata.o
  CC      net/ipv4/udp.o
  CC      fs/ext4/orphan.o
  CC      net/mac80211/michael.o
  CC      net/sunrpc/sysfs.o
  CC      kernel/time/tick-oneshot.o
  CC      kernel/trace/trace_events.o
  CC      drivers/gpu/drm/i915/soc/intel_rom.o
  CC      arch/x86/kernel/sys_ia32.o
  CC      drivers/acpi/acpi_processor.o
  CC      lib/uuid.o
  AR      drivers/net/mdio/built-in.a
  CC      net/sunrpc/svc_xprt.o
  CC      kernel/softirq.o
  AR      kernel/events/built-in.a
  CC      lib/iov_iter.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC      drivers/acpi/acpica/psobject.o
  CC      net/core/fib_rules.o
  CC      drivers/base/module.o
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  AR      drivers/auxdisplay/built-in.a
  CC      drivers/gpu/drm/i915/i915_memcpy.o
  CC      fs/namespace.o
  CC      kernel/time/tick-sched.o
  CC      drivers/base/auxiliary_sysfs.o
  CC      net/ipv6/rpl.o
  CC      drivers/scsi/scsi_debugfs.o
  CC      net/core/net-traces.o
  CC      net/ipv6/ioam6.o
  CC      drivers/pcmcia/cs.o
  CC      drivers/gpu/drm/drm_atomic.o
  CC      drivers/base/devcoredump.o
  CC      drivers/usb/common/common.o
  CC      drivers/ata/libata-sff.o
  CC      net/netfilter/xt_tcpudp.o
  CC      net/core/selftests.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC      drivers/acpi/acpica/psopcode.o
  AR      drivers/net/ethernet/3com/built-in.a
  CC      drivers/net/ethernet/8390/ne2k-pci.o
  CC      mm/memblock.o
  AR      drivers/net/ethernet/adaptec/built-in.a
  CC      arch/x86/kernel/ksysfs.o
  CC      drivers/pcmcia/socket_sysfs.o
  CC      drivers/gpu/drm/i915/i915_mm.o
  CC      fs/seq_file.o
  CC      drivers/acpi/acpica/psopinfo.o
  CC      fs/nfs/delegation.o
  AR      drivers/cdrom/built-in.a
  CC      kernel/time/timer_migration.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC      drivers/input/serio/serio.o
  CC      kernel/trace/trace_export.o
  CC      fs/ext4/acl.o
  CC      fs/xattr.o
  CC      net/ipv6/xfrm6_policy.o
  CC      net/netfilter/xt_CONNSECMARK.o
  CC      net/sunrpc/xprtmultipath.o
  CC      net/core/ptp_classifier.o
  CC      kernel/time/vsyscall.o
  CC      drivers/scsi/scsi_trace.o
  AR      drivers/net/ethernet/agere/built-in.a
  CC      drivers/pcmcia/cardbus.o
  CC      drivers/usb/core/usb.o
  CC      drivers/base/platform-msi.o
  CC      drivers/acpi/acpica/psparse.o
  CC      drivers/usb/common/debug.o
  CC      lib/clz_ctz.o
  CC      kernel/trace/trace_event_perf.o
  CC      drivers/gpu/drm/i915/i915_sw_fence.o
  CC      kernel/resource.o
  AR      drivers/usb/common/built-in.a
  CC      drivers/scsi/scsi_logging.o
  AR      drivers/net/ethernet/alacritech/built-in.a
  CC      net/core/netprio_cgroup.o
  CC      drivers/net/phy/mdio_bus.o
  CC      arch/x86/kernel/bootflag.o
  CC      drivers/net/ethernet/8390/8390.o
  CC      kernel/time/timekeeping_debug.o
  CC      drivers/input/serio/i8042.o
  AR      drivers/net/ethernet/alteon/built-in.a
  CC      mm/slub.o
  CC      net/ipv4/udplite.o
  CC      drivers/base/physical_location.o
  CC      drivers/ata/libata-pmp.o
  CC      drivers/acpi/acpica/psscope.o
  CC      drivers/scsi/scsi_pm.o
  CC      drivers/gpu/drm/drm_atomic_uapi.o
  AR      drivers/net/ethernet/amazon/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      net/mac80211/tkip.o
  CC      drivers/net/phy/mdio_device.o
  CC      drivers/acpi/acpica/pstree.o
  CC      drivers/net/phy/swphy.o
  CC      drivers/pcmcia/ds.o
  CC      fs/ext4/xattr_security.o
  CC      net/ipv6/xfrm6_state.o
  CC      mm/madvise.o
  CC      fs/libfs.o
  CC      arch/x86/kernel/e820.o
  CC      net/sunrpc/stats.o
  CC      drivers/gpu/drm/i915/i915_sw_fence_work.o
  CC      drivers/ata/libata-acpi.o
  CC      drivers/gpu/drm/drm_auth.o
  CC      net/ipv4/udp_offload.o
  CC      kernel/trace/trace_events_filter.o
  CC      net/netfilter/xt_NFLOG.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC      drivers/base/trace.o
  CC      drivers/usb/core/hub.o
  CC      drivers/pcmcia/pcmcia_resource.o
  CC      drivers/acpi/acpica/psutils.o
  CC      drivers/ata/libata-pata-timings.o
  CC      arch/x86/kernel/pci-dma.o
  CC      net/ipv4/arp.o
  CC      drivers/net/phy/fixed_phy.o
  CC      drivers/net/phy/realtek.o
  CC      drivers/gpu/drm/i915/i915_syncmap.o
  CC      drivers/input/keyboard/atkbd.o
  CC      lib/bsearch.o
  CC      drivers/scsi/scsi_bsg.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      mm/page_io.o
  AR      drivers/net/ethernet/8390/built-in.a
  AR      drivers/net/ethernet/amd/built-in.a
  AR      drivers/net/ethernet/aquantia/built-in.a
  AR      drivers/net/ethernet/arc/built-in.a
  CC      net/ipv6/xfrm6_input.o
  CC      net/sunrpc/sysctl.o
  CC      drivers/acpi/acpica/pswalk.o
  AR      drivers/net/ethernet/asix/built-in.a
  AR      drivers/net/ethernet/atheros/built-in.a
  CC      drivers/scsi/scsi_common.o
  AR      drivers/net/ethernet/cadence/built-in.a
  AR      fs/ext4/built-in.a
  CC      kernel/time/namespace.o
  CC      drivers/net/ethernet/broadcom/bnx2.o
  CC      drivers/scsi/scsi_transport_spi.o
  AR      drivers/net/ethernet/brocade/built-in.a
  CC      drivers/net/ethernet/broadcom/tg3.o
  CC      drivers/input/mouse/psmouse-base.o
  CC      drivers/scsi/virtio_scsi.o
  CC      net/mac80211/aes_cmac.o
  CC      net/ipv4/icmp.o
  CC      drivers/input/mouse/synaptics.o
  CC      drivers/input/serio/serport.o
  CC      drivers/usb/core/hcd.o
  CC      drivers/gpu/drm/i915/i915_user_extensions.o
  CC      lib/find_bit.o
  CC      kernel/sysctl.o
  AR      drivers/input/joystick/built-in.a
  CC      arch/x86/kernel/quirks.o
  AR      drivers/base/built-in.a
  CC      fs/nfs/nfs4idmap.o
  CC      drivers/acpi/acpica/psxface.o
  CC      net/netfilter/xt_SECMARK.o
  CC      kernel/capability.o
  AR      drivers/net/usb/built-in.a
  AR      drivers/net/wireless/admtek/built-in.a
  CC      kernel/ptrace.o
  AR      drivers/net/wireless/ath/built-in.a
  AR      drivers/net/wireless/atmel/built-in.a
  CC      net/wireless/shipped-certs.o
  AR      drivers/net/wireless/broadcom/built-in.a
  CC      drivers/scsi/sd.o
  AR      drivers/net/wireless/intel/built-in.a
  AR      drivers/net/wireless/intersil/built-in.a
  AR      drivers/net/wireless/marvell/built-in.a
  CC      net/netfilter/xt_TCPMSS.o
  AR      drivers/net/wireless/mediatek/built-in.a
  CC      drivers/ata/ahci.o
  AR      drivers/net/wireless/microchip/built-in.a
  AR      drivers/net/wireless/purelifi/built-in.a
  AR      drivers/net/wireless/quantenna/built-in.a
  AR      drivers/net/wireless/ralink/built-in.a
  CC      net/ipv4/devinet.o
  AR      drivers/net/wireless/realtek/built-in.a
  CC      drivers/rtc/lib.o
  AR      drivers/net/wireless/rsi/built-in.a
  AR      drivers/net/wireless/silabs/built-in.a
  AR      drivers/net/wireless/st/built-in.a
  AR      drivers/net/wireless/ti/built-in.a
  CC      lib/llist.o
  AR      drivers/net/wireless/zydas/built-in.a
  CC      drivers/input/serio/libps2.o
  AR      drivers/net/wireless/virtual/built-in.a
  AR      drivers/net/wireless/built-in.a
  CC      drivers/input/mouse/focaltech.o
  CC      drivers/gpu/drm/i915/i915_debugfs.o
  CC      drivers/pcmcia/cistpl.o
  CC      lib/lwq.o
  CC      net/core/netclassid_cgroup.o
  CC      fs/fs-writeback.o
  CC      drivers/acpi/acpica/rsaddr.o
  AR      drivers/input/keyboard/built-in.a
  AR      kernel/time/built-in.a
  AR      drivers/input/tablet/built-in.a
  CC      drivers/gpu/drm/drm_blend.o
  CC      drivers/ata/libahci.o
  CC      drivers/ata/ata_piix.o
  CC      net/ipv6/xfrm6_output.o
  CC      mm/swap_state.o
  CC      lib/memweight.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      drivers/scsi/sr.o
  AR      drivers/net/phy/built-in.a
  CC      drivers/rtc/class.o
  CC      lib/kfifo.o
  CC      kernel/trace/trace_events_trigger.o
  CC      net/mac80211/aes_gmac.o
  CC      net/netfilter/xt_conntrack.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC      drivers/acpi/acpica/rscalc.o
  CC      drivers/acpi/processor_core.o
  CC      drivers/gpu/drm/drm_bridge.o
  CC      drivers/net/mii.o
  CC      kernel/trace/trace_eprobe.o
  CC      fs/nfs/callback.o
  CC      drivers/usb/core/urb.o
  CC      net/core/dst_cache.o
  AR      drivers/net/ethernet/cavium/common/built-in.a
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  AR      drivers/net/ethernet/cavium/liquidio/built-in.a
  AR      drivers/net/ethernet/cavium/octeon/built-in.a
  AR      drivers/net/ethernet/chelsio/built-in.a
  AR      drivers/net/ethernet/cavium/built-in.a
  CC      drivers/usb/core/message.o
  AR      drivers/input/serio/built-in.a
  CC      drivers/pcmcia/pcmcia_cis.o
  CC      fs/nfs/callback_xdr.o
  CC      lib/percpu-refcount.o
  CC      fs/pnode.o
  AR      net/sunrpc/built-in.a
  CC      drivers/acpi/processor_pdc.o
  CC      drivers/input/mouse/alps.o
  CC      arch/x86/kernel/alternative.o
  CC      kernel/user.o
  CC      net/core/gro_cells.o
  CC      kernel/trace/trace_kprobe.o
  CC      drivers/acpi/acpica/rscreate.o
  CC      drivers/rtc/interface.o
  CC      net/netfilter/xt_policy.o
  CC      drivers/acpi/ec.o
  CC      net/ipv6/xfrm6_protocol.o
  CC      drivers/scsi/sr_ioctl.o
  CC      drivers/input/mouse/byd.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC      mm/swapfile.o
  AR      net/wireless/built-in.a
  CC      drivers/net/loopback.o
  CC      arch/x86/kernel/i8253.o
  CC      drivers/ata/pata_amd.o
  CC      fs/splice.o
  CC      drivers/pcmcia/rsrc_mgr.o
  CC      net/ipv4/af_inet.o
  CC      fs/sync.o
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC      drivers/gpu/drm/i915/i915_debugfs_params.o
  CC      drivers/i2c/algos/i2c-algo-bit.o
  CC      drivers/scsi/sr_vendor.o
  CC      net/mac80211/fils_aead.o
  CC      lib/rhashtable.o
  CC      drivers/ata/pata_oldpiix.o
  AR      drivers/input/touchscreen/built-in.a
  AR      drivers/input/misc/built-in.a
  CC      net/ipv4/igmp.o
  CC      drivers/usb/core/driver.o
  CC      drivers/gpu/drm/i915/i915_pmu.o
  AR      drivers/net/ethernet/cisco/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC      fs/nfs/callback_proc.o
  CC      lib/base64.o
  CC      kernel/signal.o
  CC      drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  CC      drivers/scsi/sg.o
  AR      drivers/i3c/built-in.a
  CC      net/mac80211/cfg.o
  CC      drivers/rtc/nvmem.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      drivers/acpi/acpica/rsinfo.o
  CC      fs/nfs/nfs4namespace.o
  CC      drivers/gpu/drm/drm_cache.o
  CC      fs/nfs/nfs4getroot.o
  CC      net/ipv4/fib_frontend.o
  CC      lib/once.o
  CC      drivers/input/input.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC      net/core/failover.o
  CC      drivers/pcmcia/rsrc_nonstatic.o
  CC      net/ipv6/netfilter.o
  AR      drivers/net/ethernet/cortina/built-in.a
  CC      fs/utimes.o
  CC      drivers/acpi/acpica/rsio.o
  AR      drivers/media/i2c/built-in.a
  AR      drivers/media/tuners/built-in.a
  AR      drivers/media/rc/keymaps/built-in.a
  AR      drivers/media/rc/built-in.a
  CC      mm/swap_slots.o
  AR      drivers/media/common/b2c2/built-in.a
  AR      drivers/media/common/saa7146/built-in.a
  CC      net/netfilter/xt_state.o
  AR      drivers/media/platform/allegro-dvt/built-in.a
  AR      drivers/media/common/siano/built-in.a
  AR      drivers/media/common/v4l2-tpg/built-in.a
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  AR      drivers/media/platform/amlogic/built-in.a
  AR      drivers/media/common/videobuf2/built-in.a
  AR      drivers/media/common/built-in.a
  CC [M]  net/netfilter/nf_log_syslog.o
  AR      drivers/media/pci/ttpci/built-in.a
  AR      drivers/media/platform/amphion/built-in.a
  CC      drivers/ata/pata_sch.o
  CC      drivers/usb/core/config.o
  AR      drivers/media/pci/b2c2/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  AR      drivers/media/platform/aspeed/built-in.a
  CC      drivers/scsi/scsi_sysfs.o
  AR      drivers/media/pci/dm1105/built-in.a
  AR      drivers/usb/phy/built-in.a
  AR      drivers/media/platform/atmel/built-in.a
  CC      drivers/rtc/dev.o
  AR      drivers/media/platform/broadcom/built-in.a
  CC      net/mac80211/ethtool.o
  AR      drivers/media/pci/pt1/built-in.a
  AR      drivers/media/pci/pt3/built-in.a
  AR      drivers/media/platform/cadence/built-in.a
  AR      drivers/media/pci/mantis/built-in.a
  CC      drivers/ata/pata_mpiix.o
  AR      drivers/media/platform/chips-media/coda/built-in.a
  AR      drivers/i2c/algos/built-in.a
  AR      drivers/media/pci/ngene/built-in.a
  AR      drivers/media/platform/chips-media/wave5/built-in.a
  CC      drivers/i2c/busses/i2c-i801.o
  AR      drivers/media/pci/ddbridge/built-in.a
  AR      drivers/media/platform/chips-media/built-in.a
  AR      drivers/media/pci/saa7146/built-in.a
  AR      drivers/media/pci/smipcie/built-in.a
  CC      drivers/usb/mon/mon_main.o
  CC      kernel/sys.o
  AR      drivers/media/platform/imagination/built-in.a
  AR      drivers/media/pci/netup_unidvb/built-in.a
  CC      net/mac80211/rx.o
  AR      drivers/media/platform/intel/built-in.a
  AR      drivers/media/pci/intel/ipu3/built-in.a
  AR      drivers/media/platform/marvell/built-in.a
  AR      drivers/media/pci/intel/ivsc/built-in.a
  AR      drivers/media/pci/intel/built-in.a
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  AR      drivers/media/pci/built-in.a
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/common/built-in.a
  CC [M]  net/netfilter/xt_mark.o
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  CC      drivers/acpi/acpica/rsirq.o
  AR      drivers/media/platform/mediatek/vcodec/decoder/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/encoder/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  CC      drivers/rtc/proc.o
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  AR      drivers/media/platform/mediatek/built-in.a
  CC      drivers/input/mouse/logips2pp.o
  AR      drivers/media/platform/microchip/built-in.a
  CC      net/ipv4/fib_semantics.o
  AR      drivers/media/platform/nuvoton/built-in.a
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  AR      drivers/media/platform/nvidia/built-in.a
  CC      lib/refcount.o
  AR      drivers/media/platform/nxp/dw100/built-in.a
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  AR      drivers/media/platform/nxp/imx8-isi/built-in.a
  AR      drivers/media/platform/nxp/built-in.a
  AR      drivers/media/platform/qcom/camss/built-in.a
  AR      drivers/media/platform/qcom/venus/built-in.a
  CC      fs/nfs/nfs4client.o
  AR      drivers/media/platform/qcom/built-in.a
  AR      drivers/pps/clients/built-in.a
  AR      drivers/media/platform/raspberrypi/pisp_be/built-in.a
  AR      drivers/pps/generators/built-in.a
  AR      drivers/media/platform/raspberrypi/rp1-cfe/built-in.a
  CC      arch/x86/kernel/tsc.o
  AR      drivers/media/platform/raspberrypi/built-in.a
  CC      drivers/pps/pps.o
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  AR      drivers/media/platform/renesas/built-in.a
  AR      drivers/media/platform/rockchip/rga/built-in.a
  AR      drivers/media/platform/samsung/exynos-gsc/built-in.a
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  AR      drivers/media/platform/rockchip/rkisp1/built-in.a
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  AR      drivers/media/platform/rockchip/built-in.a
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  AR      drivers/media/platform/st/sti/delta/built-in.a
  CC      lib/rcuref.o
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  CC      drivers/acpi/acpica/rslist.o
  AR      drivers/net/ethernet/dec/tulip/built-in.a
  AR      drivers/media/platform/st/sti/hva/built-in.a
  AR      drivers/net/ethernet/dec/built-in.a
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  AR      drivers/media/platform/st/stm32/built-in.a
  AR      drivers/media/platform/st/built-in.a
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  CC      drivers/ptp/ptp_clock.o
  AR      drivers/media/platform/samsung/built-in.a
  CC      drivers/acpi/dock.o
  CC      mm/dmapool.o
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  CC      kernel/trace/error_report-traces.o
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  CC      drivers/gpu/drm/drm_color_mgmt.o
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  CC      drivers/ptp/ptp_chardev.o
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  CC      net/mac80211/spectmgmt.o
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  AR      drivers/media/platform/sunxi/built-in.a
  CC      net/mac80211/tx.o
  CC      fs/nfs/nfs4session.o
  AR      drivers/media/platform/ti/am437x/built-in.a
  AR      drivers/media/platform/ti/cal/built-in.a
  AR      drivers/media/platform/ti/vpe/built-in.a
  CC      drivers/pcmcia/yenta_socket.o
  AR      drivers/media/platform/ti/davinci/built-in.a
  AR      net/core/built-in.a
  CC      lib/usercopy.o
  CC      drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  CC      drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  AR      drivers/media/platform/ti/j721e-csi2rx/built-in.a
  AR      drivers/media/platform/ti/omap/built-in.a
  CC      lib/errseq.o
  CC      drivers/power/supply/power_supply_core.o
  CC      drivers/hwmon/hwmon.o
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  CC      drivers/usb/mon/mon_stat.o
  AR      drivers/media/platform/ti/built-in.a
  CC      drivers/rtc/sysfs.o
  AR      drivers/media/platform/verisilicon/built-in.a
  AR      drivers/media/platform/via/built-in.a
  CC      drivers/ata/ata_generic.o
  AR      drivers/media/platform/xilinx/built-in.a
  AR      drivers/media/platform/built-in.a
  CC      drivers/gpu/drm/i915/gt/gen7_renderclear.o
  CC      drivers/input/mouse/lifebook.o
  CC      drivers/acpi/acpica/rsmemory.o
  CC      kernel/trace/power-traces.o
  AR      drivers/media/usb/b2c2/built-in.a
  AR      drivers/media/usb/dvb-usb/built-in.a
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  CC      lib/bucket_locks.o
  AR      drivers/media/usb/s2255/built-in.a
  AR      drivers/media/usb/siano/built-in.a
  AR      drivers/media/usb/ttusb-budget/built-in.a
  CC      drivers/pps/kapi.o
  AR      drivers/media/usb/ttusb-dec/built-in.a
  AR      drivers/media/usb/built-in.a
  CC      kernel/trace/rpm-traces.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  AR      drivers/thermal/broadcom/built-in.a
  AR      drivers/media/mmc/siano/built-in.a
  AR      drivers/thermal/renesas/built-in.a
  AR      drivers/media/mmc/built-in.a
  AR      drivers/thermal/samsung/built-in.a
  AR      drivers/media/firewire/built-in.a
  CC      drivers/thermal/intel/intel_tcc.o
  AR      drivers/media/spi/built-in.a
  AR      drivers/media/test-drivers/built-in.a
  AR      drivers/media/built-in.a
  CC      net/ipv4/fib_trie.o
  CC      net/ipv6/proc.o
  CC      fs/d_path.o
  CC      drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  CC      drivers/usb/core/file.o
  CC [M]  net/netfilter/xt_nat.o
  CC      drivers/power/supply/power_supply_sysfs.o
  AR      drivers/scsi/built-in.a
  AR      drivers/thermal/st/built-in.a
  CC      fs/stack.o
  CC      drivers/acpi/acpica/rsmisc.o
  AR      drivers/thermal/qcom/built-in.a
  CC      drivers/acpi/acpica/rsserial.o
  AR      drivers/i2c/busses/built-in.a
  AR      drivers/i2c/muxes/built-in.a
  CC      drivers/i2c/i2c-boardinfo.o
  CC      mm/hugetlb.o
  CC      drivers/input/input-compat.o
  CC      drivers/usb/mon/mon_text.o
  CC      drivers/thermal/intel/therm_throt.o
  CC      kernel/trace/trace_dynevent.o
  CC      drivers/input/input-mt.o
  CC      drivers/input/input-poller.o
  CC      arch/x86/kernel/tsc_msr.o
  CC      drivers/rtc/rtc-mc146818-lib.o
  CC      fs/fs_struct.o
  CC      fs/nfs/dns_resolve.o
  CC      drivers/input/mouse/trackpoint.o
  CC      drivers/acpi/pci_root.o
  CC      lib/generic-radix-tree.o
  AR      drivers/ata/built-in.a
  CC      drivers/ptp/ptp_sysfs.o
  CC      drivers/net/netconsole.o
  CC      drivers/i2c/i2c-core-base.o
  CC      drivers/pps/sysfs.o
  CC      drivers/gpu/drm/drm_connector.o
  CC      mm/mmu_notifier.o
  CC      drivers/power/supply/power_supply_leds.o
  CC      drivers/acpi/pci_link.o
  CC      drivers/acpi/acpica/rsutils.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC      drivers/usb/core/buffer.o
  AR      drivers/net/ethernet/dlink/built-in.a
  CC      kernel/trace/trace_probe.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  CC      net/ipv4/fib_notifier.o
  CC      net/ipv6/syncookies.o
  CC      drivers/acpi/pci_irq.o
  AR      drivers/watchdog/built-in.a
  CC      drivers/input/ff-core.o
  CC      arch/x86/kernel/io_delay.o
  CC      drivers/rtc/rtc-cmos.o
  AR      drivers/pcmcia/built-in.a
  CC      drivers/usb/mon/mon_bin.o
  CC      drivers/ptp/ptp_vclock.o
  CC      drivers/input/mouse/cypress_ps2.o
  CC      drivers/usb/core/sysfs.o
  CC      lib/bitmap-str.o
  AR      drivers/hwmon/built-in.a
  AR      drivers/pps/built-in.a
  CC      drivers/acpi/acpi_apd.o
  CC      net/mac80211/key.o
  AR      drivers/net/ethernet/emulex/built-in.a
  CC      kernel/trace/trace_uprobe.o
  CC      kernel/umh.o
  CC      drivers/gpu/drm/drm_crtc.o
  CC      fs/nfs/nfs4trace.o
  CC      drivers/power/supply/power_supply_hwmon.o
  CC      drivers/acpi/acpica/rsxface.o
  CC      drivers/ptp/ptp_kvm_x86.o
  CC      drivers/i2c/i2c-core-smbus.o
  CC [M]  net/netfilter/xt_LOG.o
  CC      kernel/workqueue.o
  CC      drivers/usb/core/endpoint.o
  CC      arch/x86/kernel/rtc.o
  CC      drivers/input/touchscreen.o
  CC      drivers/gpu/drm/drm_displayid.o
  AR      drivers/net/ethernet/engleder/built-in.a
  CC      drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  AR      drivers/net/ethernet/ezchip/built-in.a
  CC      drivers/net/virtio_net.o
  CC      drivers/md/md.o
  CC      drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  CC      drivers/acpi/acpi_platform.o
  CC      drivers/acpi/acpica/tbdata.o
  AR      drivers/thermal/intel/built-in.a
  AR      drivers/thermal/tegra/built-in.a
  CC      mm/migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC      drivers/md/md-bitmap.o
  AR      drivers/thermal/mediatek/built-in.a
  CC      drivers/acpi/acpica/tbfadt.o
  CC      drivers/thermal/thermal_core.o
  CC      drivers/gpu/drm/i915/gt/intel_context.o
  CC      kernel/trace/rethook.o
  CC      drivers/gpu/drm/drm_drv.o
  CC      arch/x86/kernel/resource.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      drivers/input/mouse/psmouse-smbus.o
  AR      drivers/power/supply/built-in.a
  AR      drivers/power/built-in.a
  CC      lib/string_helpers.o
  CC      lib/hexdump.o
  CC      drivers/i2c/i2c-core-acpi.o
  CC      drivers/gpu/drm/i915/gt/intel_context_sseu.o
  CC      drivers/input/ff-memless.o
  AS      arch/x86/kernel/irqflags.o
  CC      drivers/acpi/acpica/tbfind.o
  CC      drivers/thermal/thermal_sysfs.o
  CC      arch/x86/kernel/static_call.o
  CC      drivers/ptp/ptp_kvm_common.o
  CC      net/ipv4/inet_fragment.o
  CC      net/ipv4/ping.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  CC      drivers/net/net_failover.o
  AR      drivers/rtc/built-in.a
  CC      lib/kstrtox.o
  CC      arch/x86/kernel/process.o
  CC      drivers/usb/core/devio.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC      drivers/md/md-autodetect.o
  AR      drivers/usb/mon/built-in.a
  CC      drivers/gpu/drm/drm_dumb_buffers.o
  CC      drivers/i2c/i2c-smbus.o
  CC      net/ipv6/calipso.o
  CC      fs/statfs.o
  CC [M]  net/netfilter/xt_addrtype.o
  AR      drivers/net/ethernet/fujitsu/built-in.a
  CC      net/ipv4/ip_tunnel_core.o
  CC      net/mac80211/util.o
  CC      drivers/acpi/acpi_pnp.o
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/acpi/power.o
  CC      drivers/acpi/acpica/tbprint.o
  CC      fs/nfs/nfs4sysctl.o
  CC      drivers/cpufreq/freq_table.o
  AR      drivers/input/mouse/built-in.a
  CC      drivers/md/dm.o
  CC      fs/fs_pin.o
  CC      drivers/gpu/drm/drm_edid.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC      drivers/acpi/acpica/tbutils.o
  CC      net/ipv6/ah6.o
  CC      drivers/input/sparse-keymap.o
  AR      drivers/ptp/built-in.a
  CC      arch/x86/kernel/ptrace.o
  CC      drivers/usb/host/pci-quirks.o
  CC      lib/iomap.o
  CC      drivers/usb/core/notify.o
  CC      drivers/usb/class/usblp.o
  CC      drivers/usb/storage/scsiglue.o
  CC      mm/page_counter.o
  AR      drivers/usb/misc/built-in.a
  CC      net/ipv6/esp6.o
  CC      drivers/gpu/drm/drm_eld.o
  CC      arch/x86/kernel/tls.o
  AR      kernel/trace/built-in.a
  CC      drivers/md/dm-table.o
  CC      drivers/usb/storage/protocol.o
  AR      drivers/i2c/built-in.a
  CC      drivers/acpi/acpica/tbxface.o
  CC      drivers/usb/host/ehci-hcd.o
  CC      lib/iomap_copy.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_cs.o
  CC      drivers/input/vivaldi-fmap.o
  CC      net/ipv4/gre_offload.o
  CC      mm/hugetlb_cgroup.o
  CC      drivers/thermal/thermal_trip.o
  CC      drivers/cpufreq/cpufreq_performance.o
  CC      drivers/usb/core/generic.o
  CC      net/ipv4/metrics.o
  CC      kernel/pid.o
  CC      drivers/thermal/thermal_helpers.o
  CC      drivers/cpuidle/governors/menu.o
  AR      drivers/mmc/built-in.a
  CC      drivers/acpi/acpica/tbxfload.o
  AR      drivers/net/ethernet/fungible/built-in.a
  CC      net/mac80211/parse.o
  CC      drivers/usb/storage/transport.o
  CC      drivers/input/input-leds.o
  CC      lib/devres.o
  CC      drivers/usb/early/ehci-dbgp.o
  CC      drivers/gpu/drm/drm_encoder.o
  CC      fs/nsfs.o
  CC      drivers/cpufreq/cpufreq_userspace.o
  CC      drivers/cpuidle/cpuidle.o
  CC      drivers/usb/core/quirks.o
  CC      drivers/usb/core/devices.o
  AR      net/netfilter/built-in.a
  CC      drivers/acpi/acpica/tbxfroot.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_debugfs.o
  CC      lib/check_signature.o
  AR      drivers/usb/class/built-in.a
  CC      drivers/md/dm-target.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  CC      drivers/md/dm-linear.o
  CC      net/ipv6/sit.o
  CC      drivers/thermal/thermal_thresholds.o
  CC      net/mac80211/wme.o
  AR      drivers/ufs/built-in.a
  CC      kernel/task_work.o
  CC      kernel/extable.o
  CC      drivers/cpuidle/governors/haltpoll.o
  CC      net/ipv6/addrconf_core.o
  CC      arch/x86/kernel/step.o
  CC      lib/interval_tree.o
  CC      kernel/params.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_proxy.o
  CC      drivers/acpi/acpica/utaddress.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_pm.o
  CC      drivers/cpuidle/driver.o
  AR      drivers/firmware/arm_ffa/built-in.a
  AR      drivers/firmware/arm_scmi/built-in.a
  AR      drivers/firmware/broadcom/built-in.a
  AR      drivers/firmware/cirrus/built-in.a
  AR      drivers/crypto/stm32/built-in.a
  AR      drivers/firmware/meson/built-in.a
  AR      drivers/crypto/xilinx/built-in.a
  CC      mm/early_ioremap.o
  AR      drivers/firmware/microchip/built-in.a
  AR      drivers/crypto/hisilicon/built-in.a
  AR      drivers/crypto/intel/keembay/built-in.a
  AR      drivers/crypto/intel/ixp4xx/built-in.a
  CC      drivers/input/evdev.o
  AR      drivers/crypto/intel/built-in.a
  CC      lib/assoc_array.o
  AR      drivers/crypto/starfive/built-in.a
  AR      drivers/crypto/built-in.a
  CC      drivers/usb/storage/usb.o
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  AR      drivers/firmware/imx/built-in.a
  CC      kernel/kthread.o
  CC      drivers/thermal/thermal_hwmon.o
  CC      drivers/acpi/acpica/utalloc.o
  CC      arch/x86/kernel/i8237.o
  AR      drivers/net/ethernet/google/built-in.a
  CC      drivers/usb/core/phy.o
  CC      drivers/cpuidle/governor.o
  CC      lib/bitrev.o
  CC      net/mac80211/chan.o
  CC      drivers/cpufreq/cpufreq_ondemand.o
  CC      drivers/thermal/gov_step_wise.o
  CC      drivers/acpi/acpica/utascii.o
  CC      net/ipv4/netlink.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  AR      drivers/net/ethernet/hisilicon/built-in.a
  AR      drivers/usb/early/built-in.a
  CC      drivers/acpi/event.o
  CC      drivers/gpu/drm/drm_file.o
  CC      net/ipv6/exthdrs_core.o
  CC      drivers/clocksource/acpi_pm.o
  CC      fs/fs_types.o
  CC      drivers/acpi/acpica/utbuffer.o
  AR      drivers/net/ethernet/huawei/built-in.a
  CC      drivers/cpuidle/sysfs.o
  CC      drivers/usb/host/ehci-pci.o
  CC      drivers/clocksource/i8253.o
  AR      fs/nfs/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_engine_user.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC      kernel/sys_ni.o
  CC      arch/x86/kernel/stacktrace.o
  CC      drivers/cpuidle/poll_state.o
  AR      drivers/firmware/psci/built-in.a
  CC      net/mac80211/trace.o
  CC      kernel/nsproxy.o
  CC      drivers/md/dm-stripe.o
  AR      drivers/cpuidle/governors/built-in.a
  CC      drivers/usb/storage/initializers.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_ccs_mode.o
  CC      drivers/gpu/drm/drm_fourcc.o
  CC      drivers/acpi/evged.o
  CC      mm/secretmem.o
  CC      drivers/acpi/acpica/utcksum.o
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC      drivers/thermal/gov_user_space.o
  CC      lib/crc-ccitt.o
  CC      drivers/net/ethernet/intel/e1000/e1000_main.o
  CC      drivers/usb/storage/sierra_ms.o
  CC      drivers/firmware/efi/libstub/gop.o
  CC      fs/fs_context.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC      lib/crc16.o
  CC      arch/x86/kernel/reboot.o
  AR      drivers/firmware/qcom/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_freq.o
  AR      drivers/firmware/smccc/built-in.a
  CC      mm/hmm.o
  CC      fs/fs_parser.o
  CC      drivers/usb/core/port.o
  AR      drivers/input/built-in.a
  CC      drivers/usb/core/hcd-pci.o
  CC      drivers/cpufreq/cpufreq_governor.o
  CC      drivers/cpuidle/cpuidle-haltpoll.o
  CC      drivers/usb/host/ohci-hcd.o
  CC      drivers/hid/usbhid/hid-core.o
  AR      drivers/net/ethernet/microsoft/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle.o
  AR      drivers/clocksource/built-in.a
  CC      net/ipv4/nexthop.o
  CC      drivers/hid/hid-core.o
  CC      net/mac80211/mlme.o
  CC      drivers/acpi/acpica/utcopy.o
  CC      drivers/hid/usbhid/hiddev.o
  CC      drivers/usb/core/usb-acpi.o
  CC      fs/fsopen.o
  CC      kernel/notifier.o
  AR      drivers/thermal/built-in.a
  CC      drivers/gpu/drm/drm_framebuffer.o
  CC      mm/memfd.o
  HOSTCC  lib/gen_crc32table
  CC      net/ipv4/udp_tunnel_stub.o
  CC      drivers/firmware/efi/libstub/secureboot.o
  CC      net/mac80211/tdls.o
  CC      drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC      lib/xxhash.o
  AR      drivers/firmware/tegra/built-in.a
  CC      drivers/usb/storage/option_ms.o
  AR      drivers/net/ethernet/litex/built-in.a
  CC      net/ipv6/ip6_checksum.o
  AR      drivers/cpuidle/built-in.a
  CC      drivers/net/ethernet/intel/e1000e/82571.o
  CC      mm/ptdump.o
  CC      net/mac80211/ocb.o
  CC      mm/execmem.o
  AR      drivers/net/ethernet/marvell/octeon_ep/built-in.a
  AR      drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
  CC      drivers/net/ethernet/intel/e100.o
  AR      drivers/net/ethernet/marvell/octeontx2/built-in.a
  AR      drivers/net/ethernet/marvell/prestera/built-in.a
  CC      drivers/net/ethernet/marvell/sky2.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt.o
  CC      drivers/firmware/efi/libstub/tpm.o
  CC      drivers/hid/hid-input.o
  CC      lib/genalloc.o
  CC      drivers/usb/host/ohci-pci.o
  CC      drivers/acpi/acpica/utexcep.o
  CC      drivers/net/ethernet/intel/e1000e/ich8lan.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  CC      drivers/usb/storage/usual-tables.o
  CC      drivers/md/dm-ioctl.o
  CC      arch/x86/kernel/msr.o
  CC      drivers/hid/usbhid/hid-pidff.o
  CC      drivers/acpi/acpica/utdebug.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  AR      drivers/net/ethernet/mellanox/built-in.a
  CC      drivers/acpi/sysfs.o
  CC      drivers/net/ethernet/intel/e1000e/80003es2lan.o
  CC      drivers/firmware/efi/libstub/file.o
  CC      kernel/ksysfs.o
  AR      drivers/usb/core/built-in.a
  CC      net/ipv4/ip_tunnel.o
  CC      drivers/hid/hid-quirks.o
  CC      net/ipv6/ip6_icmp.o
  CC      drivers/firmware/efi/efi-bgrt.o
  CC      arch/x86/kernel/cpuid.o
  CC      drivers/cpufreq/acpi-cpufreq.o
  CC      fs/init.o
  CC      drivers/net/ethernet/intel/e1000/e1000_hw.o
  CC      drivers/gpu/drm/drm_gem.o
  CC      drivers/gpu/drm/drm_ioctl.o
  AR      mm/built-in.a
  CC      drivers/net/ethernet/intel/e1000e/mac.o
  CC      arch/x86/kernel/early-quirks.o
  CC      drivers/acpi/acpica/utdecode.o
  CC      kernel/cred.o
  AR      drivers/usb/storage/built-in.a
  CC      net/ipv6/output_core.o
  CC      drivers/hid/hid-debug.o
  CC      lib/percpu_counter.o
  CC      fs/kernel_read_file.o
  CC      drivers/acpi/acpica/utdelete.o
  CC      net/ipv4/sysctl_net_ipv4.o
  AR      drivers/net/ethernet/meta/built-in.a
  CC      arch/x86/kernel/smp.o
  AR      drivers/firmware/xilinx/built-in.a
  CC      drivers/md/dm-io.o
  AR      drivers/platform/x86/amd/built-in.a
  AR      drivers/platform/x86/intel/built-in.a
  CC      drivers/platform/x86/wmi.o
  AR      drivers/platform/surface/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC      drivers/acpi/acpica/uterror.o
  CC      drivers/acpi/property.o
  CC      drivers/gpu/drm/drm_lease.o
  CC      net/mac80211/airtime.o
  CC      drivers/firmware/efi/libstub/mem.o
  CC      drivers/platform/x86/wmi-bmof.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC      lib/audit.o
  CC      drivers/usb/host/uhci-hcd.o
  CC      fs/mnt_idmapping.o
  AR      drivers/net/ethernet/micrel/built-in.a
  CC      drivers/firmware/efi/libstub/random.o
  CC      net/ipv6/protocol.o
  CC      drivers/mailbox/mailbox.o
  CC      drivers/gpu/drm/i915/gt/intel_gt.o
  CC      drivers/cpufreq/amd-pstate.o
  CC      drivers/acpi/acpica/uteval.o
  AR      drivers/perf/built-in.a
  CC      drivers/cpufreq/amd-pstate-trace.o
  AR      drivers/hid/usbhid/built-in.a
  CC      drivers/mailbox/pcc.o
  CC      drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  CC      kernel/reboot.o
  CC      drivers/firmware/efi/libstub/randomalloc.o
  AR      drivers/net/ethernet/microchip/built-in.a
  CC      drivers/firmware/efi/efi.o
  CC      drivers/acpi/acpica/utglobal.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
  CC      net/mac80211/eht.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC      fs/remap_range.o
  CC      drivers/firmware/dmi_scan.o
  CC      drivers/firmware/dmi-id.o
  CC      lib/syscall.o
  CC      drivers/hid/hidraw.o
  AR      drivers/net/ethernet/mscc/built-in.a
  CC      drivers/firmware/efi/vars.o
  CC      drivers/platform/x86/eeepc-laptop.o
  CC      net/mac80211/led.o
  CC      net/ipv4/proc.o
  CC      drivers/acpi/debugfs.o
  CC      lib/errname.o
  CC      drivers/firmware/memmap.o
  CC      drivers/md/dm-kcopyd.o
  CC      drivers/acpi/acpica/uthex.o
  CC      drivers/cpufreq/intel_pstate.o
  CC      net/mac80211/pm.o
  CC      net/mac80211/rc80211_minstrel_ht.o
  CC      net/ipv6/ip6_offload.o
  CC      arch/x86/kernel/smpboot.o
  AR      drivers/hwtracing/intel_th/built-in.a
  CC      drivers/acpi/acpica/utids.o
  CC      drivers/usb/host/xhci.o
  CC      drivers/gpu/drm/drm_managed.o
  CC      drivers/md/dm-sysfs.o
  CC      drivers/firmware/efi/libstub/pci.o
  AR      drivers/mailbox/built-in.a
  CC      drivers/acpi/acpi_lpat.o
  CC      net/ipv4/fib_rules.o
  CC      drivers/net/ethernet/intel/e1000/e1000_param.o
  AR      drivers/net/ethernet/myricom/built-in.a
  CC      drivers/net/ethernet/intel/e1000e/manage.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      drivers/hid/hid-generic.o
  CC      net/ipv6/tcpv6_offload.o
  CC      drivers/platform/x86/p2sb.o
  CC      drivers/acpi/acpi_pcc.o
  CC      lib/nlattr.o
  CC      net/ipv6/exthdrs_offload.o
  CC      net/ipv4/ipmr.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_throttle.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC      drivers/net/ethernet/intel/e1000e/nvm.o
  CC      drivers/acpi/acpica/utinit.o
  AR      drivers/net/ethernet/natsemi/built-in.a
  CC      drivers/gpu/drm/drm_mm.o
  CC      drivers/md/dm-stats.o
  CC      arch/x86/kernel/setup_percpu.o
  CC      kernel/async.o
  CC      net/ipv6/inet6_hashtables.o
  AR      drivers/android/built-in.a
  CC      drivers/acpi/acpica/utlock.o
  CC      lib/cpu_rmap.o
  CC      drivers/md/dm-rq.o
  CC      drivers/net/ethernet/intel/e1000e/phy.o
  CC      drivers/usb/host/xhci-mem.o
  CC      drivers/gpu/drm/drm_mode_config.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
  CC      fs/pidfs.o
  CC      net/mac80211/wbrf.o
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  CC      lib/dynamic_queue_limits.o
  CC      net/ipv6/mcast_snoop.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC      drivers/hid/hid-a4tech.o
  CC      kernel/range.o
  AR      drivers/net/ethernet/marvell/built-in.a
  CC      drivers/hid/hid-apple.o
  CC      drivers/gpu/drm/drm_mode_object.o
  CC      drivers/firmware/efi/reboot.o
  AR      drivers/platform/x86/built-in.a
  AR      drivers/platform/built-in.a
  CC      drivers/md/dm-io-rewind.o
  CC      kernel/smpboot.o
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC      drivers/usb/host/xhci-ext-caps.o
  AR      drivers/nvmem/layouts/built-in.a
  CC      drivers/nvmem/core.o
  CC      drivers/firmware/efi/libstub/alignedmem.o
  CC      drivers/acpi/ac.o
  CC      drivers/acpi/acpica/utmath.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
  CC      arch/x86/kernel/mpparse.o
  CC      drivers/gpu/drm/drm_modes.o
  CC      fs/buffer.o
  CC      drivers/hid/hid-belkin.o
  CC      drivers/hid/hid-cherry.o
  CC      kernel/ucount.o
  CC      drivers/firmware/efi/libstub/relocate.o
  CC      drivers/md/dm-builtin.o
  AR      drivers/net/ethernet/intel/e1000/built-in.a
  CC      drivers/acpi/button.o
  CC      drivers/acpi/acpica/utmisc.o
  CC      drivers/usb/host/xhci-ring.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  CC      drivers/firmware/efi/memattr.o
  AR      drivers/net/ethernet/neterion/built-in.a
  CC      lib/glob.o
  CC      arch/x86/kernel/trace_clock.o
  CC      drivers/hid/hid-chicony.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  AR      drivers/net/ethernet/netronome/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  CC      kernel/regset.o
  CC      drivers/md/dm-raid1.o
  CC      fs/mpage.o
  CC      drivers/firmware/efi/tpm.o
  CC      arch/x86/kernel/trace.o
  CC      drivers/hid/hid-cypress.o
  CC      drivers/acpi/fan_core.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC      drivers/firmware/efi/libstub/printk.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_irq.o
  CC      drivers/firmware/efi/memmap.o
  CC      drivers/net/ethernet/intel/e1000e/param.o
  CC      lib/strncpy_from_user.o
  AR      drivers/net/ethernet/ni/built-in.a
  CC      lib/strnlen_user.o
  CC      drivers/acpi/acpica/utmutex.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  CC      arch/x86/kernel/rethook.o
  CC      drivers/usb/host/xhci-hub.o
  CC      lib/net_utils.o
  CC      drivers/acpi/fan_attr.o
  CC      lib/sg_pool.o
  CC      drivers/net/ethernet/intel/e1000e/ethtool.o
  CC      arch/x86/kernel/vmcore_info_32.o
  CC      drivers/gpu/drm/drm_modeset_lock.o
  CC      kernel/ksyms_common.o
  AR      net/ipv6/built-in.a
  AR      drivers/cpufreq/built-in.a
  CC      fs/proc_namespace.o
  CC      fs/direct-io.o
  CC      drivers/firmware/efi/capsule.o
  CC      drivers/gpu/drm/drm_plane.o
  CC      drivers/usb/host/xhci-dbg.o
  CC      drivers/firmware/efi/esrt.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm.o
  AR      drivers/nvmem/built-in.a
  CC      drivers/gpu/drm/drm_prime.o
  CC      net/ipv4/ipmr_base.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_capture.o
  CC      drivers/acpi/acpica/utnonansi.o
  CC      lib/stackdepot.o
  CC      drivers/hid/hid-ezkey.o
  CC      drivers/net/ethernet/nvidia/forcedeth.o
  CC      drivers/acpi/acpica/utobject.o
  CC      arch/x86/kernel/machine_kexec_32.o
  CC      drivers/acpi/fan_hwmon.o
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC      fs/eventpoll.o
  CC      drivers/net/ethernet/intel/e1000e/netdev.o
  CC      lib/asn1_decoder.o
  AS      arch/x86/kernel/relocate_kernel_32.o
  CC      drivers/usb/host/xhci-trace.o
  CC      drivers/gpu/drm/drm_print.o
  CC      arch/x86/kernel/crash_dump_32.o
  CC      drivers/md/dm-log.o
  CC      drivers/md/dm-region-hash.o
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC      kernel/groups.o
  CC      drivers/acpi/acpi_video.o
  CC      kernel/kcmp.o
  CC      drivers/hid/hid-gyration.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  CC      drivers/net/ethernet/intel/e1000e/ptp.o
  CC      drivers/acpi/acpica/utosi.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_db_mgr.o
  CC      arch/x86/kernel/crash.o
  AR      drivers/net/ethernet/oki-semi/built-in.a
  CC      drivers/hid/hid-ite.o
  CC      kernel/freezer.o
  CC      kernel/profile.o
  CC      drivers/hid/hid-kensington.o
  GEN     lib/oid_registry_data.c
  CC      drivers/firmware/efi/libstub/smbios.o
  AR      drivers/net/ethernet/packetengines/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  CC      drivers/gpu/drm/drm_property.o
  CC      fs/anon_inodes.o
  CC      drivers/md/dm-zero.o
  CC      arch/x86/kernel/module.o
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  CC      drivers/hid/hid-lg.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC      kernel/stacktrace.o
  CC      net/ipv4/syncookies.o
  CC      kernel/dma.o
  CC      drivers/acpi/acpica/utownerid.o
  CC      lib/ucs2_string.o
  AR      drivers/net/ethernet/qlogic/built-in.a
  CC      drivers/usb/host/xhci-debugfs.o
  CC      drivers/firmware/efi/capsule-loader.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_requests.o
  CC      net/ipv4/tunnel4.o
  CC      fs/signalfd.o
  CC      kernel/smp.o
  CC      drivers/acpi/acpica/utpredef.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  CC      drivers/acpi/acpica/utresdecode.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  AR      drivers/net/ethernet/qualcomm/emac/built-in.a
  CC      kernel/uid16.o
  AR      drivers/net/ethernet/qualcomm/built-in.a
  CC      kernel/kallsyms.o
  CC      drivers/usb/host/xhci-pci.o
  CC      arch/x86/kernel/doublefault_32.o
  CC      drivers/hid/hid-lgff.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_id_mgr.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  CC      drivers/net/ethernet/realtek/8139too.o
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  CC      drivers/firmware/efi/earlycon.o
  CC      fs/timerfd.o
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  CC      drivers/net/ethernet/realtek/r8169_main.o
  CC      net/ipv4/ipconfig.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  AR      drivers/md/built-in.a
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  CC      drivers/acpi/acpica/utresrc.o
  CC      lib/sbitmap.o
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  CC      net/ipv4/netfilter.o
  CC      drivers/hid/hid-lg4ff.o
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  CC      kernel/acct.o
  CC      drivers/net/ethernet/realtek/r8169_firmware.o
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  CC      drivers/net/ethernet/realtek/r8169_phy_config.o
  STUBCPY drivers/firmware/efi/libstub/smbios.stub.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_klv_helpers.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  CC      net/ipv4/tcp_cubic.o
  CC      drivers/hid/hid-lg-g15.o
  AR      drivers/firmware/efi/libstub/lib.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC      drivers/acpi/acpica/utstate.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC      fs/eventfd.o
  CC      drivers/gpu/drm/drm_rect.o
  AR      drivers/net/ethernet/renesas/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gtt.o
  CC      net/ipv4/tcp_sigpool.o
  CC      drivers/acpi/acpica/utstring.o
  CC      arch/x86/kernel/early_printk.o
  CC      lib/group_cpus.o
  CC      drivers/acpi/video_detect.o
  CC      fs/aio.o
  CC      kernel/vmcore_info.o
  CC      drivers/acpi/processor_driver.o
  CC      kernel/elfcorehdr.o
  CC      fs/locks.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC      drivers/gpu/drm/i915/gt/intel_llc.o
  CC      drivers/gpu/drm/drm_syncobj.o
  CC      drivers/gpu/drm/i915/gt/intel_lrc.o
  CC      drivers/gpu/drm/drm_sysfs.o
  AR      drivers/net/ethernet/rdc/built-in.a
  CC      net/ipv4/cipso_ipv4.o
  AR      drivers/firmware/efi/built-in.a
  AR      drivers/firmware/built-in.a
  CC      drivers/acpi/processor_thermal.o
  CC      drivers/acpi/acpica/utstrsuppt.o
  CC      kernel/crash_reserve.o
  CC      fs/binfmt_misc.o
  CC      drivers/gpu/drm/i915/gt/intel_migrate.o
  AR      drivers/net/ethernet/rocker/built-in.a
  CC      drivers/acpi/processor_idle.o
  CC      fs/binfmt_script.o
  CC      fs/binfmt_elf.o
  CC      drivers/hid/hid-microsoft.o
  AR      drivers/net/ethernet/samsung/built-in.a
  CC      kernel/kexec_core.o
  CC      drivers/gpu/drm/drm_trace_points.o
  CC      arch/x86/kernel/hpet.o
  CC      drivers/acpi/acpica/utstrtoul64.o
  CC      lib/fw_table.o
  CC      drivers/acpi/processor_throttling.o
  CC      net/ipv4/xfrm4_policy.o
  CC      drivers/acpi/acpica/utxface.o
  CC      drivers/acpi/processor_perflib.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC      drivers/gpu/drm/drm_vblank.o
  CC      drivers/hid/hid-monterey.o
  CC      net/ipv4/xfrm4_state.o
  AR      drivers/net/ethernet/seeq/built-in.a
  CC      arch/x86/kernel/amd_nb.o
  CC      drivers/gpu/drm/i915/gt/intel_mocs.o
  CC      arch/x86/kernel/kvm.o
  CC      drivers/acpi/container.o
  CC      net/ipv4/xfrm4_input.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC      kernel/crash_core.o
  AR      drivers/net/ethernet/silan/built-in.a
  CC      drivers/gpu/drm/drm_vblank_work.o
  CC      drivers/gpu/drm/i915/gt/intel_ppgtt.o
  AR      drivers/usb/host/built-in.a
  CC      drivers/acpi/thermal_lib.o
  AR      drivers/usb/built-in.a
  CC      arch/x86/kernel/kvmclock.o
  CC      drivers/hid/hid-ntrig.o
  CC      drivers/hid/hid-pl.o
  AR      lib/lib.a
  CC      drivers/acpi/acpica/utxfinit.o
  GEN     lib/crc32table.h
  CC      drivers/acpi/acpica/utxferror.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC      lib/oid_registry.o
  AR      drivers/net/ethernet/sis/built-in.a
  CC      drivers/hid/hid-petalynx.o
  CC      drivers/acpi/thermal.o
  CC      drivers/gpu/drm/drm_vma_manager.o
  AR      net/mac80211/built-in.a
  CC      fs/mbcache.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC      drivers/acpi/acpica/utxfmutex.o
  CC      net/ipv4/xfrm4_output.o
  CC      drivers/hid/hid-redragon.o
  CC      arch/x86/kernel/paravirt.o
  CC      drivers/acpi/nhlt.o
  CC      arch/x86/kernel/pvclock.o
  AR      drivers/net/ethernet/sfc/built-in.a
  CC      kernel/kexec.o
  AR      drivers/net/ethernet/nvidia/built-in.a
  CC      kernel/utsname.o
  AR      drivers/net/ethernet/smsc/built-in.a
  CC      net/ipv4/xfrm4_protocol.o
  CC      kernel/pid_namespace.o
  CC      arch/x86/kernel/pcspeaker.o
  CC      drivers/gpu/drm/i915/gt/intel_rc6.o
  AR      drivers/net/ethernet/socionext/built-in.a
  CC      drivers/hid/hid-samsung.o
  CC      kernel/stop_machine.o
  CC      lib/crc32.o
  AR      drivers/net/ethernet/stmicro/built-in.a
  CC      drivers/gpu/drm/drm_writeback.o
  CC      kernel/audit.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_group.o
  CC      arch/x86/kernel/check.o
  CC      drivers/hid/hid-sony.o
  CC      fs/posix_acl.o
  CC      kernel/auditfilter.o
  AR      drivers/acpi/acpica/built-in.a
  CC      drivers/hid/hid-sunplus.o
  CC      drivers/hid/hid-topseed.o
  CC      drivers/acpi/acpi_memhotplug.o
  CC      arch/x86/kernel/uprobes.o
  CC      drivers/gpu/drm/i915/gt/intel_region_lmem.o
  CC      drivers/gpu/drm/drm_panel.o
  CC      fs/coredump.o
  CC      arch/x86/kernel/perf_regs.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC      drivers/gpu/drm/drm_pci.o
  CC      kernel/auditsc.o
  AR      drivers/net/ethernet/sun/built-in.a
  CC      drivers/gpu/drm/drm_debugfs.o
  CC      fs/drop_caches.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC      arch/x86/kernel/tracepoint.o
  AR      drivers/net/ethernet/tehuti/built-in.a
  CC      drivers/gpu/drm/drm_debugfs_crc.o
  CC      arch/x86/kernel/itmt.o
  CC      kernel/audit_watch.o
  CC      fs/sysctls.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC      drivers/gpu/drm/i915/gt/intel_renderstate.o
  AR      lib/built-in.a
  CC      drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  AR      drivers/net/ethernet/ti/built-in.a
  AR      drivers/net/ethernet/vertexcom/built-in.a
  CC      drivers/acpi/ioapic.o
  CC      kernel/audit_fsnotify.o
  CC      drivers/gpu/drm/drm_buddy.o
  CC      drivers/gpu/drm/i915/gt/intel_reset.o
  CC      fs/fhandle.o
  CC      drivers/acpi/battery.o
  CC      arch/x86/kernel/umip.o
  AR      drivers/net/ethernet/via/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC      drivers/gpu/drm/drm_gem_shmem_helper.o
  CC      drivers/gpu/drm/i915/gt/intel_ring.o
  CC      kernel/audit_tree.o
  CC      drivers/acpi/bgrt.o
  CC      kernel/kprobes.o
  CC      drivers/acpi/spcr.o
  CC      arch/x86/kernel/unwind_frame.o
  AR      drivers/net/ethernet/wangxun/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_ring_submission.o
  CC      drivers/gpu/drm/drm_atomic_helper.o
  CC      kernel/seccomp.o
  CC      drivers/gpu/drm/drm_atomic_state_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  AR      drivers/net/ethernet/wiznet/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_rps.o
  CC      kernel/relay.o
  AR      drivers/net/ethernet/xilinx/built-in.a
  CC      drivers/gpu/drm/drm_crtc_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC      drivers/gpu/drm/i915/gt/intel_sa_media.o
  AR      net/ipv4/built-in.a
  AR      net/built-in.a
  AR      drivers/net/ethernet/xircom/built-in.a
  AR      drivers/net/ethernet/synopsys/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_sseu.o
  AR      drivers/net/ethernet/pensando/built-in.a
  CC      kernel/utsname_sysctl.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC      kernel/delayacct.o
  CC      drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
  CC      kernel/taskstats.o
  CC [M]  drivers/gpu/drm/xe/xe_oa.o
  CC      kernel/tsacct.o
  CC      drivers/gpu/drm/drm_damage_helper.o
  AR      drivers/hid/built-in.a
  AR      drivers/net/ethernet/realtek/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_observation.o
  CC      drivers/gpu/drm/i915/gt/intel_timeline.o
  CC      kernel/tracepoint.o
  CC      drivers/gpu/drm/drm_flip_work.o
  CC      drivers/gpu/drm/drm_format_helper.o
  CC      kernel/irq_work.o
  CC      drivers/gpu/drm/i915/gt/intel_tlb.o
  CC      kernel/static_call.o
  CC      drivers/gpu/drm/drm_gem_atomic_helper.o
  CC      kernel/padata.o
  AR      drivers/net/ethernet/intel/e1000e/built-in.a
  AR      drivers/net/ethernet/intel/built-in.a
  AR      drivers/net/ethernet/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  AR      arch/x86/kernel/built-in.a
  CC      kernel/jump_label.o
  AR      arch/x86/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_wopcm.o
  AR      drivers/net/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_workarounds.o
  CC      drivers/gpu/drm/i915/gt/shmem_utils.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC      kernel/context_tracking.o
  CC      drivers/gpu/drm/drm_gem_framebuffer_helper.o
  AR      drivers/acpi/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC      drivers/gpu/drm/drm_kms_helper_common.o
  CC      drivers/gpu/drm/drm_modeset_helper.o
  CC      kernel/iomem.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC      kernel/rseq.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC      drivers/gpu/drm/drm_plane_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  AR      fs/built-in.a
  CC      drivers/gpu/drm/i915/gt/sysfs_engines.o
  CC      drivers/gpu/drm/drm_probe_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC      drivers/gpu/drm/drm_self_refresh_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  CC      drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC      drivers/gpu/drm/drm_simple_kms_helper.o
  CC      drivers/gpu/drm/i915/gt/gen7_renderstate.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC      drivers/gpu/drm/bridge/panel.o
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC      drivers/gpu/drm/i915/gt/gen8_renderstate.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC [M]  drivers/gpu/drm/drm_exec.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC      drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  CC [M]  drivers/gpu/drm/drm_gem_ttm_helper.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_create.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_domain.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_lmem.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_mman.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pages.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_phys.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_trace_bo.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC [M]  drivers/gpu/drm/xe/xe_trace_guc.o
  AR      kernel/built-in.a
  CC      drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC [M]  drivers/gpu/drm/xe/xe_trace_lrc.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_tiling.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  LD [M]  drivers/gpu/drm/drm_ttm_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_vram.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC [M]  drivers/gpu/drm/xe/xe_vram_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_vsec.o
  CC      drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC      drivers/gpu/drm/i915/i915_active.o
  CC      drivers/gpu/drm/i915/i915_cmd_parser.o
  CC      drivers/gpu/drm/i915/i915_deps.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC      drivers/gpu/drm/i915/i915_gem.o
  CC      drivers/gpu/drm/i915/i915_gem_evict.o
  CC      drivers/gpu/drm/i915/i915_gem_gtt.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC      drivers/gpu/drm/i915/i915_gem_ww.o
  CC [M]  drivers/gpu/drm/xe/xe_hmm.o
  CC      drivers/gpu/drm/i915/i915_query.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC      drivers/gpu/drm/i915/i915_request.o
  CC      drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_vf.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_relay.o
  CC [M]  drivers/gpu/drm/xe/xe_memirq.o
  CC      drivers/gpu/drm/i915/i915_trace_points.o
  CC      drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov_vf.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC      drivers/gpu/drm/i915/i915_vma.o
  CC      drivers/gpu/drm/i915/i915_vma_resource.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC [M]  drivers/gpu/drm/xe/display/intel_bo.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb_bo.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_wa.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
  CC [M]  drivers/gpu/drm/xe/display/xe_tdf.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_rom.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_alpm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC      drivers/gpu/drm/i915/gt/intel_gsc.o
  CC      drivers/gpu/drm/i915/i915_hwmon.o
  CC      drivers/gpu/drm/i915/display/hsw_ips.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC      drivers/gpu/drm/i915/display/i9xx_plane.o
  CC      drivers/gpu/drm/i915/display/i9xx_display_sr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC      drivers/gpu/drm/i915/display/i9xx_wm.o
  CC      drivers/gpu/drm/i915/display/intel_alpm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC      drivers/gpu/drm/i915/display/intel_atomic.o
  CC      drivers/gpu/drm/i915/display/intel_atomic_plane.o
  CC      drivers/gpu/drm/i915/display/intel_audio.o
  CC      drivers/gpu/drm/i915/display/intel_bios.o
  CC      drivers/gpu/drm/i915/display/intel_bo.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC      drivers/gpu/drm/i915/display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC      drivers/gpu/drm/i915/display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC      drivers/gpu/drm/i915/display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC      drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC      drivers/gpu/drm/i915/display/intel_connector.o
  CC      drivers/gpu/drm/i915/display/intel_crtc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC      drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC      drivers/gpu/drm/i915/display/intel_cursor.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC      drivers/gpu/drm/i915/display/intel_display.o
  CC      drivers/gpu/drm/i915/display/intel_display_conversion.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_conversion.o
  CC      drivers/gpu/drm/i915/display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC      drivers/gpu/drm/i915/display/intel_display_irq.o
  CC      drivers/gpu/drm/i915/display/intel_display_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_driver.o
  CC      drivers/gpu/drm/i915/display/intel_display_power.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC      drivers/gpu/drm/i915/display/intel_display_reset.o
  CC      drivers/gpu/drm/i915/display/intel_display_rps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_irq.o
  CC      drivers/gpu/drm/i915/display/intel_display_snapshot.o
  CC      drivers/gpu/drm/i915/display/intel_display_wa.o
  CC      drivers/gpu/drm/i915/display/intel_dmc.o
  CC      drivers/gpu/drm/i915/display/intel_dmc_wl.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_params.o
  CC      drivers/gpu/drm/i915/display/intel_dpio_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC      drivers/gpu/drm/i915/display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC      drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  CC      drivers/gpu/drm/i915/display/intel_dpt.o
  CC      drivers/gpu/drm/i915/display/intel_dpt_common.o
  CC      drivers/gpu/drm/i915/display/intel_drrs.o
  CC      drivers/gpu/drm/i915/display/intel_dsb.o
  CC      drivers/gpu/drm/i915/display/intel_dsb_buffer.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC      drivers/gpu/drm/i915/display/intel_fb.o
  CC      drivers/gpu/drm/i915/display/intel_fb_bo.o
  CC      drivers/gpu/drm/i915/display/intel_fb_pin.o
  CC      drivers/gpu/drm/i915/display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC      drivers/gpu/drm/i915/display/intel_fdi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC      drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  CC      drivers/gpu/drm/i915/display/intel_frontbuffer.o
  CC      drivers/gpu/drm/i915/display/intel_global_state.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_hti.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_test.o
  CC      drivers/gpu/drm/i915/display/intel_link_bw.o
  CC      drivers/gpu/drm/i915/display/intel_load_detect.o
  CC      drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_lock.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC      drivers/gpu/drm/i915/display/intel_overlay.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
  CC      drivers/gpu/drm/i915/display/intel_pch_display.o
  CC      drivers/gpu/drm/i915/display/intel_pch_refclk.o
  CC      drivers/gpu/drm/i915/display/intel_plane_initial.o
  CC      drivers/gpu/drm/i915/display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC      drivers/gpu/drm/i915/display/intel_psr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC      drivers/gpu/drm/i915/display/intel_quirks.o
  CC      drivers/gpu/drm/i915/display/intel_sprite.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC      drivers/gpu/drm/i915/display/intel_sprite_uapi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_tc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
  CC      drivers/gpu/drm/i915/display/intel_vblank.o
  CC      drivers/gpu/drm/i915/display/intel_vga.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_encoder.o
  CC      drivers/gpu/drm/i915/display/intel_wm.o
  CC      drivers/gpu/drm/i915/display/skl_scaler.o
  CC      drivers/gpu/drm/i915/display/skl_universal_plane.o
  CC      drivers/gpu/drm/i915/display/skl_watermark.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fb.o
  CC      drivers/gpu/drm/i915/display/intel_acpi.o
  CC      drivers/gpu/drm/i915/display/intel_opregion.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC      drivers/gpu/drm/i915/display/intel_pipe_crc.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7017.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  CC      drivers/gpu/drm/i915/display/dvo_ivch.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC      drivers/gpu/drm/i915/display/dvo_ns2501.o
  CC      drivers/gpu/drm/i915/display/dvo_sil164.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC      drivers/gpu/drm/i915/display/dvo_tfp410.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
  CC      drivers/gpu/drm/i915/display/g4x_dp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC      drivers/gpu/drm/i915/display/g4x_hdmi.o
  CC      drivers/gpu/drm/i915/display/icl_dsi.o
  CC      drivers/gpu/drm/i915/display/intel_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC      drivers/gpu/drm/i915/display/intel_crt.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC      drivers/gpu/drm/i915/display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC      drivers/gpu/drm/i915/display/intel_ddi.o
  CC      drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC      drivers/gpu/drm/i915/display/intel_display_device.o
  CC      drivers/gpu/drm/i915/display/intel_display_trace.o
  CC      drivers/gpu/drm/i915/display/intel_dkl_phy.o
  CC      drivers/gpu/drm/i915/display/intel_dp.o
  CC      drivers/gpu/drm/i915/display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
  CC      drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_dp_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC      drivers/gpu/drm/i915/display/intel_dp_mst.o
  CC      drivers/gpu/drm/i915/display/intel_dp_test.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_panel.o
  CC      drivers/gpu/drm/i915/display/intel_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pfit.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
  CC      drivers/gpu/drm/i915/display/intel_dvo.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_tc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vblank.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC      drivers/gpu/drm/i915/display/intel_encoder.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
  CC      drivers/gpu/drm/i915/display/intel_gmbus.o
  CC      drivers/gpu/drm/i915/display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC      drivers/gpu/drm/i915/display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC      drivers/gpu/drm/i915/display/intel_lvds.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC      drivers/gpu/drm/i915/display/intel_panel.o
  CC      drivers/gpu/drm/i915/display/intel_pfit.o
  CC      drivers/gpu/drm/i915/display/intel_pps.o
  CC      drivers/gpu/drm/i915/display/intel_qp_tables.o
  CC      drivers/gpu/drm/i915/display/intel_sdvo.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC      drivers/gpu/drm/i915/display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC      drivers/gpu/drm/i915/display/intel_tv.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.o
  CC      drivers/gpu/drm/i915/display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_stats.o
  CC      drivers/gpu/drm/i915/display/intel_vrr.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi_pll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
  CC      drivers/gpu/drm/i915/i915_perf.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
  CC      drivers/gpu/drm/i915/i915_gpu_error.o
  CC      drivers/gpu/drm/i915/i915_vgpu.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  AR      drivers/gpu/drm/i915/built-in.a
  AR      drivers/gpu/drm/built-in.a
  AR      drivers/gpu/built-in.a
  AR      drivers/built-in.a
  AR      built-in.a
  AR      vmlinux.a
  LD      vmlinux.o
  OBJCOPY modules.builtin.modinfo
  GEN     modules.builtin
  MODPOST Module.symvers
  CC      .vmlinux.export.o
  CC [M]  fs/efivarfs/efivarfs.mod.o
  CC [M]  .module-common.o
  CC [M]  drivers/gpu/drm/drm_exec.mod.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.mod.o
  CC [M]  drivers/gpu/drm/drm_suballoc_helper.mod.o
  CC [M]  drivers/gpu/drm/drm_ttm_helper.mod.o
  CC [M]  drivers/gpu/drm/scheduler/gpu-sched.mod.o
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
  CC [M]  net/netfilter/nf_log_syslog.mod.o
  CC [M]  net/netfilter/xt_mark.mod.o
  CC [M]  net/netfilter/xt_nat.mod.o
  CC [M]  net/netfilter/xt_LOG.mod.o
  CC [M]  net/netfilter/xt_MASQUERADE.mod.o
  CC [M]  net/netfilter/xt_addrtype.mod.o
  CC [M]  net/ipv4/netfilter/iptable_nat.mod.o
  LD [M]  fs/efivarfs/efivarfs.ko
  LD [M]  drivers/gpu/drm/drm_exec.ko
  LD [M]  drivers/gpu/drm/drm_gpuvm.ko
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.ko
  LD [M]  drivers/gpu/drm/drm_ttm_helper.ko
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  drivers/thermal/intel/x86_pkg_temp_thermal.ko
  LD [M]  net/netfilter/xt_mark.ko
  LD [M]  net/netfilter/xt_nat.ko
  LD [M]  net/netfilter/xt_LOG.ko
  LD [M]  net/netfilter/xt_MASQUERADE.ko
  LD [M]  net/netfilter/xt_addrtype.ko
  LD [M]  net/ipv4/netfilter/iptable_nat.ko
  LD [M]  net/netfilter/nf_log_syslog.ko
  UPD     include/generated/utsversion.h
  CC      init/version-timestamp.o
  KSYMS   .tmp_vmlinux0.kallsyms.S
  AS      .tmp_vmlinux0.kallsyms.o
  LD      .tmp_vmlinux1
  NM      .tmp_vmlinux1.syms
  KSYMS   .tmp_vmlinux1.kallsyms.S
  AS      .tmp_vmlinux1.kallsyms.o
  LD      .tmp_vmlinux2
  NM      .tmp_vmlinux2.syms
  KSYMS   .tmp_vmlinux2.kallsyms.S
  AS      .tmp_vmlinux2.kallsyms.o
  LD      vmlinux
  NM      System.map
  SORTTAB vmlinux
  RELOCS  arch/x86/boot/compressed/vmlinux.relocs
  RSTRIP  vmlinux
  CC      arch/x86/boot/a20.o
  AS      arch/x86/boot/bioscall.o
  CC      arch/x86/boot/cmdline.o
  AS      arch/x86/boot/copy.o
  HOSTCC  arch/x86/boot/mkcpustr
  CC      arch/x86/boot/cpuflags.o
  CC      arch/x86/boot/cpucheck.o
  CC      arch/x86/boot/early_serial_console.o
  CC      arch/x86/boot/edd.o
  CC      arch/x86/boot/main.o
  CC      arch/x86/boot/memory.o
  CC      arch/x86/boot/pm.o
  AS      arch/x86/boot/pmjump.o
  CC      arch/x86/boot/printf.o
  CC      arch/x86/boot/regs.o
  CC      arch/x86/boot/string.o
  CC      arch/x86/boot/tty.o
  CC      arch/x86/boot/video.o
  CC      arch/x86/boot/video-mode.o
  CC      arch/x86/boot/video-vga.o
  CC      arch/x86/boot/version.o
  CC      arch/x86/boot/video-vesa.o
  CC      arch/x86/boot/video-bios.o
  HOSTCC  arch/x86/boot/tools/build
  LDS     arch/x86/boot/compressed/vmlinux.lds
  AS      arch/x86/boot/compressed/kernel_info.o
  AS      arch/x86/boot/compressed/head_32.o
  VOFFSET arch/x86/boot/compressed/../voffset.h
  CPUSTR  arch/x86/boot/cpustr.h
  CC      arch/x86/boot/compressed/string.o
  CC      arch/x86/boot/compressed/cmdline.o
  CC      arch/x86/boot/compressed/error.o
  CC      arch/x86/boot/cpu.o
  OBJCOPY arch/x86/boot/compressed/vmlinux.bin
  HOSTCC  arch/x86/boot/compressed/mkpiggy
  CC      arch/x86/boot/compressed/cpuflags.o
  CC      arch/x86/boot/compressed/early_serial_console.o
  CC      arch/x86/boot/compressed/kaslr.o
  CC      arch/x86/boot/compressed/acpi.o
  CC      arch/x86/boot/compressed/efi.o
  GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
  CC      arch/x86/boot/compressed/misc.o
  MKPIGGY arch/x86/boot/compressed/piggy.S
  AS      arch/x86/boot/compressed/piggy.o
  LD      arch/x86/boot/compressed/vmlinux
  ZOFFSET arch/x86/boot/zoffset.h
  OBJCOPY arch/x86/boot/vmlinux.bin
  AS      arch/x86/boot/header.o
  LD      arch/x86/boot/setup.elf
  OBJCOPY arch/x86/boot/setup.bin
  BUILD   arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready  (#1)
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
All hooks done



^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✓ CI.checksparse: success for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (6 preceding siblings ...)
  2025-01-14 20:01 ` ✓ CI.Hooks: " Patchwork
@ 2025-01-14 20:02 ` Patchwork
  2025-01-14 20:28 ` ✓ Xe.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 20:02 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : success

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast 61e0f64bde73d48e3dc204c129c25e0a15f0d4e6
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
Okay!

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✓ Xe.CI.BAT: success for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (7 preceding siblings ...)
  2025-01-14 20:02 ` ✓ CI.checksparse: " Patchwork
@ 2025-01-14 20:28 ` Patchwork
  2025-01-14 23:24 ` ✗ Xe.CI.Full: failure " Patchwork
  2025-02-03 13:07 ` [PATCH 1/2] " Jani Nikula
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 20:28 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 3226 bytes --]

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : success

== Summary ==

CI Bug Log - changes from xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0_BAT -> xe-pw-143521v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (9 -> 8)
------------------------------

  Missing    (1): bat-adlp-vm 

Known issues
------------

  Here are the changes found in xe-pw-143521v1_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - bat-adlp-vf:        NOTRUN -> [SKIP][1] ([Intel XE#2229] / [Intel XE#455]) +1 other test skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/bat-adlp-vf/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - bat-adlp-vf:        NOTRUN -> [SKIP][2] ([Intel XE#2229])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/bat-adlp-vf/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  
#### Possible fixes ####

  * igt@xe_live_ktest@xe_migrate:
    - bat-adlp-vf:        [SKIP][3] ([Intel XE#1192]) -> [PASS][4] +1 other test pass
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/bat-adlp-vf/igt@xe_live_ktest@xe_migrate.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/bat-adlp-vf/igt@xe_live_ktest@xe_migrate.html

  * igt@xe_pat@pat-index-xelp@render:
    - bat-adlp-vf:        [DMESG-WARN][5] ([Intel XE#3958] / [Intel XE#3970]) -> [PASS][6] +1 other test pass
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/bat-adlp-vf/igt@xe_pat@pat-index-xelp@render.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/bat-adlp-vf/igt@xe_pat@pat-index-xelp@render.html

  
#### Warnings ####

  * igt@xe_live_ktest@xe_bo:
    - bat-adlp-vf:        [SKIP][7] ([Intel XE#1192]) -> [SKIP][8] ([Intel XE#2229] / [Intel XE#455])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/bat-adlp-vf/igt@xe_live_ktest@xe_bo.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/bat-adlp-vf/igt@xe_live_ktest@xe_bo.html

  
  [Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#3958]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3958
  [Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455


Build changes
-------------

  * Linux: xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0 -> xe-pw-143521v1

  IGT_8190: db6e252e00bc44f90b678d547e93b3f02c02c6de @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0: 30226b91b1754fdae425af3397c1e3dcba8264b0
  xe-pw-143521v1: 143521v1

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/index.html

[-- Attachment #2: Type: text/html, Size: 4177 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* ✗ Xe.CI.Full: failure for series starting with [1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (8 preceding siblings ...)
  2025-01-14 20:28 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-01-14 23:24 ` Patchwork
  2025-02-03 13:07 ` [PATCH 1/2] " Jani Nikula
  10 siblings, 0 replies; 31+ messages in thread
From: Patchwork @ 2025-01-14 23:24 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 87298 bytes --]

== Series Details ==

Series: series starting with [1/2] drm/xe/display: Move dpt allocation to helper
URL   : https://patchwork.freedesktop.org/series/143521/
State : failure

== Summary ==

CI Bug Log - changes from xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0_full -> xe-pw-143521v1_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-143521v1_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-143521v1_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in xe-pw-143521v1_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_cursor_edge_walk@256x256-right-edge@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@kms_cursor_edge_walk@256x256-right-edge@pipe-d-hdmi-a-6.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@kms_cursor_edge_walk@256x256-right-edge@pipe-d-hdmi-a-6.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3:
    - shard-bmg:          [PASS][3] -> [FAIL][4] +1 other test fail
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-4/igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-5/igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3.html

  * igt@kms_flip@flip-vs-suspend@c-hdmi-a3:
    - shard-bmg:          [PASS][5] -> [DMESG-WARN][6]
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-3/igt@kms_flip@flip-vs-suspend@c-hdmi-a3.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_flip@flip-vs-suspend@c-hdmi-a3.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-dg2-set2:     [PASS][7] -> [DMESG-WARN][8] +1 other test dmesg-warn
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@kms_plane_lowres@tiling-4.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_sequence@queue-idle:
    - shard-bmg:          [PASS][9] -> [INCOMPLETE][10] +2 other tests incomplete
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-3/igt@kms_sequence@queue-idle.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-3/igt@kms_sequence@queue-idle.html

  
#### Warnings ####

  * igt@kms_flip@flip-vs-suspend:
    - shard-bmg:          [INCOMPLETE][11] ([Intel XE#2597]) -> [DMESG-WARN][12]
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-3/igt@kms_flip@flip-vs-suspend.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_flip@flip-vs-suspend.html

  
Known issues
------------

  Here are the changes found in xe-pw-143521v1_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@hotunplug-rescan:
    - shard-adlp:         NOTRUN -> [ABORT][13] ([Intel XE#3914])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-2/igt@core_hotunplug@hotunplug-rescan.html

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-bmg:          NOTRUN -> [FAIL][14] ([Intel XE#827]) +1 other test fail
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-hdmi-a-1:
    - shard-adlp:         [PASS][15] -> [FAIL][16] ([Intel XE#827])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-3/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-hdmi-a-1.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-hdmi-a-1.html

  * igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-d-hdmi-a-1:
    - shard-adlp:         [PASS][17] -> [DMESG-WARN][18] ([Intel XE#1033]) +2 other tests dmesg-warn
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-3/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-d-hdmi-a-1.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-d-hdmi-a-1.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-6-4-mc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][19] ([Intel XE#2550]) +23 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-6-4-mc-ccs.html

  * igt@kms_async_flips@invalid-async-flip-atomic:
    - shard-dg2-set2:     NOTRUN -> [SKIP][20] ([Intel XE#3768])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_async_flips@invalid-async-flip-atomic.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-180:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][21] ([Intel XE#1033]) +8 other tests dmesg-fail
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@linear-8bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2327]) +2 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_big_fb@linear-8bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-adlp:         NOTRUN -> [SKIP][23] ([Intel XE#316])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][24] ([Intel XE#316]) +4 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-dg2-set2:     [PASS][25] -> [DMESG-FAIL][26] ([Intel XE#1033]) +17 other tests dmesg-fail
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-adlp:         NOTRUN -> [DMESG-FAIL][27] ([Intel XE#1033]) +1 other test dmesg-fail
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][28] ([Intel XE#1124]) +13 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - shard-lnl:          NOTRUN -> [SKIP][29] ([Intel XE#1124]) +2 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-adlp:         NOTRUN -> [SKIP][30] ([Intel XE#1124]) +3 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#1124]) +3 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
    - shard-bmg:          [PASS][32] -> [SKIP][33] ([Intel XE#2314] / [Intel XE#2894])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][34] ([Intel XE#2191]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html

  * igt@kms_bw@linear-tiling-1-displays-1920x1080p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][35] ([Intel XE#367]) +3 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][36] ([Intel XE#787]) +2 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][37] ([Intel XE#455] / [Intel XE#787]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][38] ([Intel XE#2887])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][39] ([Intel XE#3432])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#2887]) +3 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][41] ([Intel XE#787]) +132 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [PASS][42] -> [INCOMPLETE][43] ([Intel XE#1727] / [Intel XE#2692])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [PASS][44] -> [INCOMPLETE][45] ([Intel XE#3113])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-6.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][46] ([Intel XE#2907]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][47] ([Intel XE#2907]) +2 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][48] ([Intel XE#455] / [Intel XE#787]) +29 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs.html

  * igt@kms_cdclk@mode-transition@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][49] ([Intel XE#314]) +3 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_cdclk@mode-transition@pipe-d-dp-4.html

  * igt@kms_chamelium_audio@dp-audio-edid:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#2252]) +1 other test skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_chamelium_audio@dp-audio-edid.html

  * igt@kms_chamelium_color@ctm-0-25:
    - shard-dg2-set2:     NOTRUN -> [SKIP][51] ([Intel XE#306])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_chamelium_color@ctm-0-25.html

  * igt@kms_chamelium_color@ctm-red-to-blue:
    - shard-lnl:          NOTRUN -> [SKIP][52] ([Intel XE#306])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_chamelium_color@ctm-red-to-blue.html

  * igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
    - shard-dg2-set2:     NOTRUN -> [SKIP][53] ([Intel XE#373]) +11 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html

  * igt@kms_chamelium_edid@dp-edid-stress-resolution-4k:
    - shard-lnl:          NOTRUN -> [SKIP][54] ([Intel XE#373])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_chamelium_edid@dp-edid-stress-resolution-4k.html

  * igt@kms_chamelium_frames@dp-frame-dump:
    - shard-adlp:         NOTRUN -> [SKIP][55] ([Intel XE#373]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_chamelium_frames@dp-frame-dump.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-dg2-set2:     NOTRUN -> [SKIP][56] ([Intel XE#307]) +1 other test skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@uevent:
    - shard-dg2-set2:     NOTRUN -> [FAIL][57] ([Intel XE#1188]) +1 other test fail
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#2320]) +2 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2-set2:     NOTRUN -> [SKIP][59] ([Intel XE#308]) +4 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-adlp:         NOTRUN -> [SKIP][60] ([Intel XE#455]) +3 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-max-size:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#1424])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_cursor_crc@cursor-sliding-max-size.html

  * igt@kms_cursor_edge_walk@256x256-right-edge:
    - shard-dg2-set2:     [PASS][62] -> [INCOMPLETE][63] ([Intel XE#3954])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@kms_cursor_edge_walk@256x256-right-edge.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@kms_cursor_edge_walk@256x256-right-edge.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions:
    - shard-bmg:          [PASS][64] -> [SKIP][65] ([Intel XE#2291])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-5/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
    - shard-lnl:          NOTRUN -> [SKIP][66] ([Intel XE#309])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-varying-size:
    - shard-adlp:         NOTRUN -> [SKIP][67] ([Intel XE#309]) +1 other test skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_cursor_legacy@cursora-vs-flipb-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-toggle:
    - shard-lnl:          [PASS][68] -> [FAIL][69] ([Intel XE#1475]) +1 other test fail
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-lnl-5/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2-set2:     NOTRUN -> [SKIP][70] ([Intel XE#323])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#2286])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-bmg:          [PASS][72] -> [DMESG-WARN][73] ([Intel XE#877]) +1 other test dmesg-warn
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-7/igt@kms_display_modes@extended-mode-basic.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-1/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][74] ([i915#3804])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-lnl:          NOTRUN -> [SKIP][75] ([Intel XE#3070])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-adlp:         [PASS][76] -> [DMESG-WARN][77] ([Intel XE#2953]) +8 other tests dmesg-warn
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-2/igt@kms_fbcon_fbt@fbc-suspend.html
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-9/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_feature_discovery@chamelium:
    - shard-dg2-set2:     NOTRUN -> [SKIP][78] ([Intel XE#701])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-3x:
    - shard-adlp:         NOTRUN -> [SKIP][79] ([Intel XE#703])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_feature_discovery@display-3x.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][80] ([Intel XE#703])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_feature_discovery@display-3x.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang:
    - shard-adlp:         NOTRUN -> [SKIP][81] ([Intel XE#310])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-bmg:          [PASS][82] -> [SKIP][83] ([Intel XE#2316]) +4 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-5/igt@kms_flip@2x-modeset-vs-vblank-race.html
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@2x-nonexisting-fb:
    - shard-bmg:          NOTRUN -> [SKIP][84] ([Intel XE#2316]) +2 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_flip@2x-nonexisting-fb.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [PASS][85] -> [FAIL][86] ([Intel XE#2882] / [Intel XE#3820])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp2:
    - shard-bmg:          [PASS][87] -> [FAIL][88] ([Intel XE#3820])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp2.html
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-1/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp2.html

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6:
    - shard-dg2-set2:     [PASS][89] -> [FAIL][90] ([Intel XE#301]) +3 other tests fail
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-lnl:          [PASS][91] -> [INCOMPLETE][92] ([Intel XE#2049]) +1 other test incomplete
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-lnl-8/igt@kms_flip@flip-vs-suspend.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-7/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible@a-edp1:
    - shard-lnl:          [PASS][93] -> [FAIL][94] ([Intel XE#886]) +1 other test fail
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-lnl-3/igt@kms_flip@wf_vblank-ts-check-interruptible@a-edp1.html
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-3/igt@kms_flip@wf_vblank-ts-check-interruptible@a-edp1.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1:
    - shard-adlp:         [PASS][95] -> [FAIL][96] ([Intel XE#2882]) +1 other test fail
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-2/igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-9/igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
    - shard-bmg:          NOTRUN -> [SKIP][97] ([Intel XE#2293] / [Intel XE#2380])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#2293])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
    - shard-lnl:          NOTRUN -> [SKIP][99] ([Intel XE#1401] / [Intel XE#1745])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][100] ([Intel XE#1401])
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-pgflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][101] ([Intel XE#651]) +1 other test skip
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
    - shard-adlp:         NOTRUN -> [SKIP][102] ([Intel XE#656]) +10 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-2/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#2312]) +5 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary:
    - shard-dg2-set2:     NOTRUN -> [SKIP][104] ([Intel XE#651]) +42 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][105] ([Intel XE#2311]) +6 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt:
    - shard-bmg:          NOTRUN -> [FAIL][106] ([Intel XE#2333]) +2 other tests fail
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-dg2-set2:     NOTRUN -> [SKIP][107] ([Intel XE#658])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc:
    - shard-adlp:         NOTRUN -> [SKIP][108] ([Intel XE#651]) +1 other test skip
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-plflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][109] ([Intel XE#656]) +3 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][110] ([Intel XE#2313]) +8 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][111] ([Intel XE#653]) +30 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
    - shard-adlp:         NOTRUN -> [SKIP][112] ([Intel XE#653]) +3 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html

  * igt@kms_getfb@getfb-reject-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][113] ([Intel XE#1341])
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_getfb@getfb-reject-ccs.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-adlp:         NOTRUN -> [SKIP][114] ([Intel XE#3012])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][115] ([Intel XE#2925])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][116] ([Intel XE#346])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64:
    - shard-dg2-set2:     NOTRUN -> [FAIL][117] ([Intel XE#616]) +1 other test fail
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-lnl:          NOTRUN -> [SKIP][118] ([Intel XE#2493])
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a:
    - shard-adlp:         NOTRUN -> [SKIP][119] ([Intel XE#2763]) +2 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-d:
    - shard-adlp:         NOTRUN -> [SKIP][120] ([Intel XE#2763] / [Intel XE#455]) +1 other test skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-d.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][121] ([Intel XE#2938])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][122] ([Intel XE#2499])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][123] ([Intel XE#1489]) +11 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
    - shard-bmg:          NOTRUN -> [SKIP][124] ([Intel XE#1489]) +1 other test skip
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
    - shard-adlp:         NOTRUN -> [SKIP][125] ([Intel XE#1489]) +1 other test skip
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-dg2-set2:     NOTRUN -> [SKIP][126] ([Intel XE#1122])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr@fbc-psr-primary-render:
    - shard-adlp:         NOTRUN -> [SKIP][127] ([Intel XE#2850] / [Intel XE#929]) +2 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_psr@fbc-psr-primary-render.html

  * igt@kms_psr@fbc-psr2-basic:
    - shard-bmg:          NOTRUN -> [SKIP][128] ([Intel XE#2234] / [Intel XE#2850]) +5 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_psr@fbc-psr2-basic.html

  * igt@kms_psr@pr-cursor-plane-onoff:
    - shard-lnl:          NOTRUN -> [SKIP][129] ([Intel XE#1406])
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_psr@pr-cursor-plane-onoff.html

  * igt@kms_psr@psr2-basic:
    - shard-dg2-set2:     NOTRUN -> [SKIP][130] ([Intel XE#2850] / [Intel XE#929]) +20 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_psr@psr2-basic.html

  * igt@kms_rotation_crc@bad-tiling:
    - shard-dg2-set2:     NOTRUN -> [SKIP][131] ([Intel XE#3414])
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_rotation_crc@bad-tiling.html

  * igt@kms_rotation_crc@primary-rotation-90:
    - shard-lnl:          NOTRUN -> [SKIP][132] ([Intel XE#3414] / [Intel XE#3904])
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_rotation_crc@primary-rotation-90.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][133] ([Intel XE#1127])
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html

  * igt@kms_scaling_modes@scaling-mode-full-aspect:
    - shard-dg2-set2:     NOTRUN -> [SKIP][134] ([Intel XE#455]) +18 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_scaling_modes@scaling-mode-full-aspect.html

  * igt@kms_setmode@invalid-clone-exclusive-crtc:
    - shard-lnl:          NOTRUN -> [SKIP][135] ([Intel XE#1435])
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_setmode@invalid-clone-exclusive-crtc.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-dg2-set2:     NOTRUN -> [SKIP][136] ([Intel XE#330])
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@kms_tv_load_detect@load-detect.html
    - shard-adlp:         NOTRUN -> [SKIP][137] ([Intel XE#330])
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-bmg:          NOTRUN -> [SKIP][138] ([Intel XE#1499])
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@kms_writeback@writeback-check-output-xrgb2101010:
    - shard-bmg:          NOTRUN -> [SKIP][139] ([Intel XE#756])
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_writeback@writeback-check-output-xrgb2101010.html

  * igt@kms_writeback@writeback-fb-id-xrgb2101010:
    - shard-adlp:         NOTRUN -> [SKIP][140] ([Intel XE#756])
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@kms_writeback@writeback-fb-id-xrgb2101010.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-dg2-set2:     NOTRUN -> [SKIP][141] ([Intel XE#756]) +2 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_writeback@writeback-pixel-formats.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-dg2-set2:     NOTRUN -> [SKIP][142] ([Intel XE#1091] / [Intel XE#2849])
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  * igt@xe_ccs@ctrl-surf-copy:
    - shard-adlp:         NOTRUN -> [SKIP][143] ([Intel XE#455] / [Intel XE#488])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_ccs@ctrl-surf-copy.html

  * igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
    - shard-dg2-set2:     NOTRUN -> [SKIP][144] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html

  * igt@xe_copy_basic@mem-copy-linear-0x369:
    - shard-dg2-set2:     NOTRUN -> [SKIP][145] ([Intel XE#1123])
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_copy_basic@mem-copy-linear-0x369.html

  * igt@xe_create@multigpu-create-massive-size:
    - shard-bmg:          NOTRUN -> [SKIP][146] ([Intel XE#2504])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@xe_create@multigpu-create-massive-size.html

  * igt@xe_eudebug@basic-read-event:
    - shard-adlp:         NOTRUN -> [SKIP][147] ([Intel XE#2905]) +3 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_eudebug@basic-read-event.html

  * igt@xe_eudebug@basic-vm-access-parameters:
    - shard-dg2-set2:     NOTRUN -> [SKIP][148] ([Intel XE#2905]) +15 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_eudebug@basic-vm-access-parameters.html

  * igt@xe_eudebug@basic-vm-bind-ufence-sigint-client:
    - shard-dg2-set2:     NOTRUN -> [SKIP][149] ([Intel XE#3889])
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_eudebug@basic-vm-bind-ufence-sigint-client.html

  * igt@xe_eudebug_online@resume-one:
    - shard-bmg:          NOTRUN -> [SKIP][150] ([Intel XE#2905]) +4 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@xe_eudebug_online@resume-one.html

  * igt@xe_eudebug_online@writes-caching-vram-bb-vram-target-sram:
    - shard-lnl:          NOTRUN -> [SKIP][151] ([Intel XE#2905]) +1 other test skip
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@xe_eudebug_online@writes-caching-vram-bb-vram-target-sram.html

  * igt@xe_evict@evict-beng-large-external:
    - shard-adlp:         NOTRUN -> [SKIP][152] ([Intel XE#261] / [Intel XE#688]) +1 other test skip
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_evict@evict-beng-large-external.html

  * igt@xe_evict@evict-large-multi-vm:
    - shard-lnl:          NOTRUN -> [SKIP][153] ([Intel XE#688]) +2 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@xe_evict@evict-large-multi-vm.html

  * igt@xe_evict@evict-large-multi-vm-cm:
    - shard-bmg:          NOTRUN -> [FAIL][154] ([Intel XE#2364])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@xe_evict@evict-large-multi-vm-cm.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-mmap:
    - shard-adlp:         NOTRUN -> [SKIP][155] ([Intel XE#1392]) +1 other test skip
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-mmap.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr:
    - shard-bmg:          NOTRUN -> [SKIP][156] ([Intel XE#2322]) +1 other test skip
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
    - shard-lnl:          NOTRUN -> [SKIP][157] ([Intel XE#1392]) +2 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html

  * igt@xe_exec_fault_mode@twice-rebind-imm:
    - shard-adlp:         NOTRUN -> [SKIP][158] ([Intel XE#288]) +5 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_exec_fault_mode@twice-rebind-imm.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][159] ([Intel XE#288]) +26 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-lr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][160] ([Intel XE#2360]) +1 other test skip
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate-race:
    - shard-dg2-set2:     [PASS][161] -> [INCOMPLETE][162] ([Intel XE#1169])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-464/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - shard-dg2-set2:     NOTRUN -> [SKIP][163] ([Intel XE#2229])
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  * igt@xe_live_ktest@xe_mocs:
    - shard-bmg:          NOTRUN -> [SKIP][164] ([Intel XE#1192])
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@xe_live_ktest@xe_mocs.html

  * igt@xe_mmap@pci-membarrier-bad-object:
    - shard-dg2-set2:     NOTRUN -> [SKIP][165] ([Intel XE#4045])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_mmap@pci-membarrier-bad-object.html

  * igt@xe_module_load@load:
    - shard-adlp:         ([PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180], [PASS][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190]) -> ([PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [PASS][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [SKIP][211], [PASS][212], [PASS][213], [PASS][214], [PASS][215], [PASS][216]) ([Intel XE#378])
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-8/igt@xe_module_load@load.html
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-8/igt@xe_module_load@load.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-9/igt@xe_module_load@load.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-4/igt@xe_module_load@load.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-6/igt@xe_module_load@load.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-6/igt@xe_module_load@load.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-6/igt@xe_module_load@load.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-1/igt@xe_module_load@load.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-1/igt@xe_module_load@load.html
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-1/igt@xe_module_load@load.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-6/igt@xe_module_load@load.html
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-2/igt@xe_module_load@load.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-2/igt@xe_module_load@load.html
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-4/igt@xe_module_load@load.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-4/igt@xe_module_load@load.html
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-4/igt@xe_module_load@load.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-8/igt@xe_module_load@load.html
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-2/igt@xe_module_load@load.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-2/igt@xe_module_load@load.html
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-8/igt@xe_module_load@load.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-9/igt@xe_module_load@load.html
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-3/igt@xe_module_load@load.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-3/igt@xe_module_load@load.html
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-3/igt@xe_module_load@load.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-3/igt@xe_module_load@load.html
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-2/igt@xe_module_load@load.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-2/igt@xe_module_load@load.html
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-9/igt@xe_module_load@load.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-9/igt@xe_module_load@load.html
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-2/igt@xe_module_load@load.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@xe_module_load@load.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@xe_module_load@load.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-3/igt@xe_module_load@load.html
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-3/igt@xe_module_load@load.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-1/igt@xe_module_load@load.html
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-2/igt@xe_module_load@load.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-1/igt@xe_module_load@load.html
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-9/igt@xe_module_load@load.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-9/igt@xe_module_load@load.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_module_load@load.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_module_load@load.html
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_module_load@load.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-6/igt@xe_module_load@load.html
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-6/igt@xe_module_load@load.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-6/igt@xe_module_load@load.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_module_load@load.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-1/igt@xe_module_load@load.html
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@xe_module_load@load.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-1/igt@xe_module_load@load.html
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-3/igt@xe_module_load@load.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_module_load@load.html
    - shard-dg2-set2:     ([PASS][217], [PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223], [PASS][224], [PASS][225], [PASS][226], [PASS][227], [PASS][228], [PASS][229], [PASS][230], [PASS][231], [PASS][232], [PASS][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237], [PASS][238], [PASS][239], [PASS][240], [PASS][241]) -> ([PASS][242], [PASS][243], [PASS][244], [PASS][245], [PASS][246], [PASS][247], [SKIP][248], [PASS][249], [PASS][250], [PASS][251], [PASS][252], [PASS][253], [PASS][254], [PASS][255], [PASS][256], [PASS][257], [PASS][258], [PASS][259], [PASS][260], [PASS][261], [PASS][262], [PASS][263], [PASS][264], [PASS][265], [PASS][266]) ([Intel XE#378])
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@xe_module_load@load.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-464/igt@xe_module_load@load.html
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-464/igt@xe_module_load@load.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-436/igt@xe_module_load@load.html
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-436/igt@xe_module_load@load.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@xe_module_load@load.html
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@xe_module_load@load.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@xe_module_load@load.html
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@xe_module_load@load.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@xe_module_load@load.html
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-436/igt@xe_module_load@load.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-436/igt@xe_module_load@load.html
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_module_load@load.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_module_load@load.html
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-435/igt@xe_module_load@load.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-435/igt@xe_module_load@load.html
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-435/igt@xe_module_load@load.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_module_load@load.html
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_module_load@load.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_module_load@load.html
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@xe_module_load@load.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@xe_module_load@load.html
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@xe_module_load@load.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-464/igt@xe_module_load@load.html
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_module_load@load.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@xe_module_load@load.html
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_module_load@load.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_module_load@load.html
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_module_load@load.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@xe_module_load@load.html
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_module_load@load.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_module_load@load.html
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@xe_module_load@load.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_module_load@load.html
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_module_load@load.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_module_load@load.html
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_module_load@load.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_module_load@load.html
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_module_load@load.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_module_load@load.html
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_module_load@load.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_module_load@load.html
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_module_load@load.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_module_load@load.html
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_module_load@load.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_module_load@load.html
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_module_load@load.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_module_load@load.html
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_module_load@load.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_module_load@load.html

  * igt@xe_oa@oa-formats:
    - shard-adlp:         NOTRUN -> [SKIP][267] ([Intel XE#2541] / [Intel XE#3573])
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_oa@oa-formats.html

  * igt@xe_oa@polling-small-buf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][268] ([Intel XE#2541] / [Intel XE#3573]) +5 other tests skip
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_oa@polling-small-buf.html

  * igt@xe_pat@display-vs-wb-transient:
    - shard-dg2-set2:     NOTRUN -> [SKIP][269] ([Intel XE#1337])
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_pat@display-vs-wb-transient.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-bmg:          NOTRUN -> [SKIP][270] ([Intel XE#1420])
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelpg:
    - shard-dg2-set2:     NOTRUN -> [SKIP][271] ([Intel XE#979])
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_pm@d3cold-mmap-vram:
    - shard-lnl:          NOTRUN -> [SKIP][272] ([Intel XE#2284] / [Intel XE#366])
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@xe_pm@d3cold-mmap-vram.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-adlp:         NOTRUN -> [SKIP][273] ([Intel XE#944])
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

  * igt@xe_query@multigpu-query-oa-units:
    - shard-dg2-set2:     NOTRUN -> [SKIP][274] ([Intel XE#944]) +4 other tests skip
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_query@multigpu-query-oa-units.html

  * igt@xe_query@multigpu-query-uc-fw-version-guc:
    - shard-lnl:          NOTRUN -> [SKIP][275] ([Intel XE#944])
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@xe_query@multigpu-query-uc-fw-version-guc.html

  
#### Possible fixes ####

  * igt@kms_atomic_interruptible@legacy-cursor:
    - shard-adlp:         [DMESG-WARN][276] ([Intel XE#2953]) -> [PASS][277] +2 other tests pass
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-1/igt@kms_atomic_interruptible@legacy-cursor.html
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@kms_atomic_interruptible@legacy-cursor.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-adlp:         [DMESG-WARN][278] ([Intel XE#1033]) -> [PASS][279]
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-1/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][280] ([Intel XE#3862]) -> [PASS][281] +1 other test pass
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][282] ([Intel XE#1727]) -> [PASS][283]
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-bmg:          [SKIP][284] ([Intel XE#2291]) -> [PASS][285] +1 other test pass
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3:
    - shard-bmg:          [FAIL][286] ([Intel XE#3820]) -> [PASS][287]
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3.html
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4:
    - shard-dg2-set2:     [FAIL][288] ([Intel XE#301]) -> [PASS][289] +5 other tests pass
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-464/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4.html
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4.html

  * igt@kms_flip@2x-plain-flip-fb-recreate:
    - shard-bmg:          [SKIP][290] ([Intel XE#2316]) -> [PASS][291] +4 other tests pass
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-8/igt@kms_flip@2x-plain-flip-fb-recreate.html

  * igt@kms_flip@blocking-wf_vblank:
    - shard-dg2-set2:     [FAIL][292] ([Intel XE#2882]) -> [PASS][293]
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@kms_flip@blocking-wf_vblank.html
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_flip@blocking-wf_vblank.html
    - shard-lnl:          [FAIL][294] ([Intel XE#3149] / [Intel XE#886]) -> [PASS][295]
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-lnl-2/igt@kms_flip@blocking-wf_vblank.html
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_flip@blocking-wf_vblank.html

  * igt@kms_flip@blocking-wf_vblank@a-hdmi-a1:
    - shard-adlp:         [FAIL][296] ([Intel XE#2882]) -> [PASS][297]
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-6/igt@kms_flip@blocking-wf_vblank@a-hdmi-a1.html
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-9/igt@kms_flip@blocking-wf_vblank@a-hdmi-a1.html

  * igt@kms_flip@blocking-wf_vblank@a-hdmi-a6:
    - shard-dg2-set2:     [FAIL][298] -> [PASS][299]
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@kms_flip@blocking-wf_vblank@a-hdmi-a6.html
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_flip@blocking-wf_vblank@a-hdmi-a6.html

  * igt@kms_flip@blocking-wf_vblank@b-hdmi-a6:
    - shard-dg2-set2:     [FAIL][300] ([Intel XE#886]) -> [PASS][301]
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-434/igt@kms_flip@blocking-wf_vblank@b-hdmi-a6.html
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-464/igt@kms_flip@blocking-wf_vblank@b-hdmi-a6.html

  * igt@kms_flip@blocking-wf_vblank@c-edp1:
    - shard-lnl:          [FAIL][302] ([Intel XE#886]) -> [PASS][303] +2 other tests pass
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-lnl-2/igt@kms_flip@blocking-wf_vblank@c-edp1.html
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@kms_flip@blocking-wf_vblank@c-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@c-dp2:
    - shard-bmg:          [FAIL][304] ([Intel XE#2882]) -> [PASS][305] +2 other tests pass
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-8/igt@kms_flip@flip-vs-expired-vblank@c-dp2.html
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-4/igt@kms_flip@flip-vs-expired-vblank@c-dp2.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-bmg:          [INCOMPLETE][306] ([Intel XE#2597]) -> [PASS][307]
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@kms_flip@flip-vs-suspend-interruptible.html
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a3:
    - shard-bmg:          [INCOMPLETE][308] ([Intel XE#2597] / [Intel XE#2635]) -> [PASS][309] +1 other test pass
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a3.html
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a3.html

  * igt@kms_flip_tiling@flip-change-tiling:
    - shard-adlp:         [DMESG-FAIL][310] ([Intel XE#1033]) -> [PASS][311] +1 other test pass
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-1/igt@kms_flip_tiling@flip-change-tiling.html
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling.html

  * igt@kms_plane_cursor@viewport:
    - shard-dg2-set2:     [FAIL][312] ([Intel XE#616]) -> [PASS][313] +1 other test pass
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-433/igt@kms_plane_cursor@viewport.html
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@kms_plane_cursor@viewport.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1:
    - shard-lnl:          [FAIL][314] ([Intel XE#899]) -> [PASS][315]
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-lnl-6/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-8/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html

  * igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01:
    - shard-dg2-set2:     [ABORT][316] ([Intel XE#2625]) -> [PASS][317] +1 other test pass
   [316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01.html
   [317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-436/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-dg2-set2:     [TIMEOUT][318] ([Intel XE#1473]) -> [PASS][319]
   [318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-436/igt@xe_evict@evict-mixed-many-threads-small.html
   [319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-433/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
    - shard-dg2-set2:     [SKIP][320] ([Intel XE#1392]) -> [PASS][321] +2 other tests pass
   [320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
   [321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html

  * igt@xe_pm@s2idle-mocs:
    - shard-dg2-set2:     [ABORT][322] ([Intel XE#1358] / [Intel XE#1794]) -> [PASS][323] +1 other test pass
   [322]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_pm@s2idle-mocs.html
   [323]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-434/igt@xe_pm@s2idle-mocs.html

  * igt@xe_pm@s3-basic-exec:
    - shard-dg2-set2:     [ABORT][324] ([Intel XE#1358]) -> [PASS][325] +1 other test pass
   [324]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-dg2-432/igt@xe_pm@s3-basic-exec.html
   [325]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-dg2-435/igt@xe_pm@s3-basic-exec.html

  * igt@xe_pm@s4-basic-exec:
    - shard-lnl:          [ABORT][326] ([Intel XE#1358] / [Intel XE#1607] / [Intel XE#1794]) -> [PASS][327]
   [326]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-lnl-2/igt@xe_pm@s4-basic-exec.html
   [327]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-lnl-5/igt@xe_pm@s4-basic-exec.html

  * igt@xe_pm@s4-vm-bind-userptr:
    - shard-adlp:         [ABORT][328] ([Intel XE#1358] / [Intel XE#1794]) -> [PASS][329]
   [328]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-9/igt@xe_pm@s4-vm-bind-userptr.html
   [329]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-4/igt@xe_pm@s4-vm-bind-userptr.html

  
#### Warnings ####

  * igt@kms_async_flips@alternate-sync-async-flip-atomic:
    - shard-adlp:         [DMESG-WARN][330] ([Intel XE#1033]) -> [DMESG-FAIL][331] ([Intel XE#1033])
   [330]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-adlp-3/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
   [331]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-adlp-8/igt@kms_async_flips@alternate-sync-async-flip-atomic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-bmg:          [FAIL][332] ([Intel XE#1178]) -> [SKIP][333] ([Intel XE#2341])
   [332]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@kms_content_protection@atomic-dpms.html
   [333]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-bmg:          [DMESG-WARN][334] ([Intel XE#877]) -> [SKIP][335] ([Intel XE#2291])
   [334]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
   [335]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-bmg:          [FAIL][336] ([Intel XE#2882]) -> [SKIP][337] ([Intel XE#2316])
   [336]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html
   [337]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw:
    - shard-bmg:          [SKIP][338] ([Intel XE#2311]) -> [SKIP][339] ([Intel XE#2312]) +9 other tests skip
   [338]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw.html
   [339]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][340] ([Intel XE#2312]) -> [SKIP][341] ([Intel XE#2311]) +10 other tests skip
   [340]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
   [341]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw:
    - shard-bmg:          [SKIP][342] ([Intel XE#2312]) -> [FAIL][343] ([Intel XE#2333]) +4 other tests fail
   [342]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw.html
   [343]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [FAIL][344] ([Intel XE#2333]) -> [SKIP][345] ([Intel XE#2312]) +3 other tests skip
   [344]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [345]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
    - shard-bmg:          [SKIP][346] ([Intel XE#2312]) -> [SKIP][347] ([Intel XE#2313]) +8 other tests skip
   [346]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
   [347]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][348] ([Intel XE#2313]) -> [SKIP][349] ([Intel XE#2312]) +9 other tests skip
   [348]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [349]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [SKIP][350] ([Intel XE#2426]) -> [FAIL][351] ([Intel XE#1729])
   [350]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern.html
   [351]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-bmg:          [INCOMPLETE][352] ([Intel XE#1473]) -> [TIMEOUT][353] ([Intel XE#1473])
   [352]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-6/igt@xe_evict@evict-beng-mixed-many-threads-small.html
   [353]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-7/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_evict@evict-mixed-many-threads-large:
    - shard-bmg:          [TIMEOUT][354] ([Intel XE#1473]) -> [INCOMPLETE][355] ([Intel XE#1473])
   [354]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-5/igt@xe_evict@evict-mixed-many-threads-large.html
   [355]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-6/igt@xe_evict@evict-mixed-many-threads-large.html

  * igt@xe_evict@evict-threads-large:
    - shard-bmg:          [TIMEOUT][356] ([Intel XE#1473] / [Intel XE#2472]) -> [FAIL][357] ([Intel XE#1000])
   [356]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-1/igt@xe_evict@evict-threads-large.html
   [357]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-5/igt@xe_evict@evict-threads-large.html

  * igt@xe_live_ktest@xe_eudebug:
    - shard-bmg:          [SKIP][358] ([Intel XE#1192]) -> [SKIP][359] ([Intel XE#2833])
   [358]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0/shard-bmg-6/igt@xe_live_ktest@xe_eudebug.html
   [359]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/shard-bmg-7/igt@xe_live_ktest@xe_eudebug.html

  
  [Intel XE#1000]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1000
  [Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1169]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1169
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
  [Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
  [Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
  [Intel XE#1337]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1337
  [Intel XE#1341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1341
  [Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
  [Intel XE#1475]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1475
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2333
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2364
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2472]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2472
  [Intel XE#2493]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2493
  [Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
  [Intel XE#2504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2504
  [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
  [Intel XE#2550]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2550
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [Intel XE#2625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2625
  [Intel XE#2635]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2635
  [Intel XE#2692]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2692
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#3070]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3070
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3768]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3768
  [Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [Intel XE#3820]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3820
  [Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
  [Intel XE#3889]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3889
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#3914]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3914
  [Intel XE#3954]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3954
  [Intel XE#4045]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4045
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/488
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701
  [Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#827]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/827
  [Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
  [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
  [Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804


Build changes
-------------

  * Linux: xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0 -> xe-pw-143521v1

  IGT_8190: db6e252e00bc44f90b678d547e93b3f02c02c6de @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2485-30226b91b1754fdae425af3397c1e3dcba8264b0: 30226b91b1754fdae425af3397c1e3dcba8264b0
  xe-pw-143521v1: 143521v1

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-143521v1/index.html

[-- Attachment #2: Type: text/html, Size: 99935 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 19:22 ` [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Cavitt, Jonathan
@ 2025-01-15 10:19   ` Maarten Lankhorst
  2025-01-15 15:09     ` Cavitt, Jonathan
  0 siblings, 1 reply; 31+ messages in thread
From: Maarten Lankhorst @ 2025-01-15 10:19 UTC (permalink / raw)
  To: Cavitt, Jonathan, Juha-Pekka Heikkila,
	intel-xe@lists.freedesktop.org



Den 2025-01-14 kl. 20:22, skrev Cavitt, Jonathan:
> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Juha-Pekka Heikkila
> Sent: Tuesday, January 14, 2025 10:04 AM
> To: intel-xe@lists.freedesktop.org
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> Subject: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
>>
>> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
>> This also fixes bug where dpt could have been allocated from system
>> memory when on dgfx.
>>
>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>> ---
>>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>>   1 file changed, 43 insertions(+), 24 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> index 9fa51b84737c..c28885316986 100644
>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>>   	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>   }
>>   
>> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
>> +				     struct xe_tile *tile0, u64 size,
>> +				     u64 physical_alignment)
>> +{
>> +	struct xe_bo *dpt;
>> +
>> +	/*
>> +	 * If DGFX: try VRAM0 only
>> +	 */
>> +	if (IS_DGFX(xe)) {
>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> +						      size, ~0ull,
>> +						      ttm_bo_type_kernel,
>> +						      XE_BO_FLAG_VRAM0 |
>> +						      XE_BO_FLAG_GGTT |
>> +						      XE_BO_FLAG_PAGETABLE,
>> +						      physical_alignment);
>> +	} else {
>> +		/*
>> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
>> +		 */
>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> +						      size, ~0ull,
>> +						      ttm_bo_type_kernel,
>> +						      XE_BO_FLAG_STOLEN |
>> +						      XE_BO_FLAG_GGTT |
>> +						      XE_BO_FLAG_PAGETABLE,
>> +						      physical_alignment);
>> +		if (IS_ERR(dpt)) {
>> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> +							      size, ~0ull,
>> +							      ttm_bo_type_kernel,
>> +							      XE_BO_FLAG_SYSTEM |
>> +							      XE_BO_FLAG_GGTT |
>> +							      XE_BO_FLAG_PAGETABLE,
>> +							      physical_alignment);
>> +		}
>> +	}
>> +	return dpt;
> 
> We might be able to collapse some of this logic by storing the flags separately:
> 
> """
> static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> 				     struct xe_tile *tile0, u64 size,
> 				     u64 physical_alignment)
> {
> 	struct xe_bo *dpt;
> 	u32 base_flags = XE_BO_FLAG_GGTT | XE_BO_FLAG_PAGETABLE;
> 	u32 flags = base_flags;
> 
> 	/*
> 	 * If DGFX: try VRAM0.
> 	 * If IGFX: try STOLEN.
> 	 */
> 	flags |= IS_DGFX(xe) ? XE_BO_FLAG_VRAM0 : XE_BO_FLAG_STOLEN;
> 
> 	dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL, size,
> 					      ~0ull, ttm_bo_type_kernel,
> 					      flags, physical_alignment);
> 
> 	/*
> 	 * For IGFX, we first try STOLEN, and on a failure we try SYSTEM.
> 	 * DGFX should only attempt VRAM0
> 	 */
> 	if (IS_DGFX(xe) && IS_ERR(dpt))
> 		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> 						      size, ~0ull,
> 						      ttm_bo_type_kernel,
> 						      base_flags |
> 						      XE_BO_FLAG_SYSTEM,
> 						      physical_alignment);
> 	return dpt;
> }
> """
> This isn't a particularly necessary compression, but it might be worth considering.
> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>Except that fails on both integrated and discrete, due to IS_DGFX() used 
wrongly here. ;-)

Every change, no matter how small, has the opportunity to break things.

Regardless, for both patches:
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Cheers,
~Maarten

^ permalink raw reply	[flat|nested] 31+ messages in thread

* RE: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-15 10:19   ` Maarten Lankhorst
@ 2025-01-15 15:09     ` Cavitt, Jonathan
  2025-01-15 15:26       ` Cavitt, Jonathan
  0 siblings, 1 reply; 31+ messages in thread
From: Cavitt, Jonathan @ 2025-01-15 15:09 UTC (permalink / raw)
  To: Maarten Lankhorst, Juha-Pekka Heikkila,
	intel-xe@lists.freedesktop.org
  Cc: Cavitt, Jonathan

-----Original Message-----
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> 
Sent: Wednesday, January 15, 2025 2:19 AM
To: Cavitt, Jonathan <jonathan.cavitt@intel.com>; Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>; intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> Den 2025-01-14 kl. 20:22, skrev Cavitt, Jonathan:
> > -----Original Message-----
> > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Juha-Pekka Heikkila
> > Sent: Tuesday, January 14, 2025 10:04 AM
> > To: intel-xe@lists.freedesktop.org
> > Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > Subject: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> >>
> >> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
> >> This also fixes bug where dpt could have been allocated from system
> >> memory when on dgfx.
> >>
> >> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> >> ---
> >>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
> >>   1 file changed, 43 insertions(+), 24 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >> index 9fa51b84737c..c28885316986 100644
> >> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
> >>   	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
> >>   }
> >>   
> >> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> >> +				     struct xe_tile *tile0, u64 size,
> >> +				     u64 physical_alignment)
> >> +{
> >> +	struct xe_bo *dpt;
> >> +
> >> +	/*
> >> +	 * If DGFX: try VRAM0 only
> >> +	 */
> >> +	if (IS_DGFX(xe)) {
> >> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> >> +						      size, ~0ull,
> >> +						      ttm_bo_type_kernel,
> >> +						      XE_BO_FLAG_VRAM0 |
> >> +						      XE_BO_FLAG_GGTT |
> >> +						      XE_BO_FLAG_PAGETABLE,
> >> +						      physical_alignment);
> >> +	} else {
> >> +		/*
> >> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
> >> +		 */
> >> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> >> +						      size, ~0ull,
> >> +						      ttm_bo_type_kernel,
> >> +						      XE_BO_FLAG_STOLEN |
> >> +						      XE_BO_FLAG_GGTT |
> >> +						      XE_BO_FLAG_PAGETABLE,
> >> +						      physical_alignment);
> >> +		if (IS_ERR(dpt)) {
> >> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> >> +							      size, ~0ull,
> >> +							      ttm_bo_type_kernel,
> >> +							      XE_BO_FLAG_SYSTEM |
> >> +							      XE_BO_FLAG_GGTT |
> >> +							      XE_BO_FLAG_PAGETABLE,
> >> +							      physical_alignment);
> >> +		}
> >> +	}
> >> +	return dpt;
> > 
> > We might be able to collapse some of this logic by storing the flags separately:
> > 
> > """
> > static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> > 				     struct xe_tile *tile0, u64 size,
> > 				     u64 physical_alignment)
> > {
> > 	struct xe_bo *dpt;
> > 	u32 base_flags = XE_BO_FLAG_GGTT | XE_BO_FLAG_PAGETABLE;
> > 	u32 flags = base_flags;
> > 
> > 	/*
> > 	 * If DGFX: try VRAM0.
> > 	 * If IGFX: try STOLEN.
> > 	 */
> > 	flags |= IS_DGFX(xe) ? XE_BO_FLAG_VRAM0 : XE_BO_FLAG_STOLEN;
> > 
> > 	dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL, size,
> > 					      ~0ull, ttm_bo_type_kernel,
> > 					      flags, physical_alignment);
> > 
> > 	/*
> > 	 * For IGFX, we first try STOLEN, and on a failure we try SYSTEM.
> > 	 * DGFX should only attempt VRAM0
> > 	 */
> > 	if (IS_DGFX(xe) && IS_ERR(dpt))
> > 		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > 						      size, ~0ull,
> > 						      ttm_bo_type_kernel,
> > 						      base_flags |
> > 						      XE_BO_FLAG_SYSTEM,
> > 						      physical_alignment);
> > 	return dpt;
> > }
> > """
> > This isn't a particularly necessary compression, but it might be worth considering.
> > Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>Except that fails on both integrated and discrete, due to IS_DGFX() used 
> wrongly here. ;-)
> 
> Every change, no matter how small, has the opportunity to break things.

Interesting.  For future reference, may I ask how IS_DGFX is being used incorrectly in the above example?
-Jonathan Cavitt

> 
> Regardless, for both patches:
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> 
> Cheers,
> ~Maarten
> 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* RE: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-15 15:09     ` Cavitt, Jonathan
@ 2025-01-15 15:26       ` Cavitt, Jonathan
  2025-01-16 15:33         ` Juha-Pekka Heikkilä
  0 siblings, 1 reply; 31+ messages in thread
From: Cavitt, Jonathan @ 2025-01-15 15:26 UTC (permalink / raw)
  To: Maarten Lankhorst, Juha-Pekka Heikkila,
	intel-xe@lists.freedesktop.org
  Cc: Cavitt, Jonathan

-----Original Message-----
From: Cavitt, Jonathan <jonathan.cavitt@intel.com> 
Sent: Wednesday, January 15, 2025 7:10 AM
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>; intel-xe@lists.freedesktop.org
Cc: Cavitt, Jonathan <jonathan.cavitt@intel.com>
Subject: RE: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> 
> -----Original Message-----
> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> 
> Sent: Wednesday, January 15, 2025 2:19 AM
> To: Cavitt, Jonathan <jonathan.cavitt@intel.com>; Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>; intel-xe@lists.freedesktop.org
> Subject: Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> > Den 2025-01-14 kl. 20:22, skrev Cavitt, Jonathan:
> > > -----Original Message-----
> > > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Juha-Pekka Heikkila
> > > Sent: Tuesday, January 14, 2025 10:04 AM
> > > To: intel-xe@lists.freedesktop.org
> > > Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > > Subject: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> > >>
> > >> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
> > >> This also fixes bug where dpt could have been allocated from system
> > >> memory when on dgfx.
> > >>
> > >> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > >> ---
> > >>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
> > >>   1 file changed, 43 insertions(+), 24 deletions(-)
> > >>
> > >> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> > >> index 9fa51b84737c..c28885316986 100644
> > >> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> > >> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> > >> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
> > >>   	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
> > >>   }
> > >>   
> > >> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> > >> +				     struct xe_tile *tile0, u64 size,
> > >> +				     u64 physical_alignment)
> > >> +{
> > >> +	struct xe_bo *dpt;
> > >> +
> > >> +	/*
> > >> +	 * If DGFX: try VRAM0 only
> > >> +	 */
> > >> +	if (IS_DGFX(xe)) {
> > >> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > >> +						      size, ~0ull,
> > >> +						      ttm_bo_type_kernel,
> > >> +						      XE_BO_FLAG_VRAM0 |
> > >> +						      XE_BO_FLAG_GGTT |
> > >> +						      XE_BO_FLAG_PAGETABLE,
> > >> +						      physical_alignment);
> > >> +	} else {
> > >> +		/*
> > >> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
> > >> +		 */
> > >> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > >> +						      size, ~0ull,
> > >> +						      ttm_bo_type_kernel,
> > >> +						      XE_BO_FLAG_STOLEN |
> > >> +						      XE_BO_FLAG_GGTT |
> > >> +						      XE_BO_FLAG_PAGETABLE,
> > >> +						      physical_alignment);
> > >> +		if (IS_ERR(dpt)) {
> > >> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > >> +							      size, ~0ull,
> > >> +							      ttm_bo_type_kernel,
> > >> +							      XE_BO_FLAG_SYSTEM |
> > >> +							      XE_BO_FLAG_GGTT |
> > >> +							      XE_BO_FLAG_PAGETABLE,
> > >> +							      physical_alignment);
> > >> +		}
> > >> +	}
> > >> +	return dpt;
> > > 
> > > We might be able to collapse some of this logic by storing the flags separately:
> > > 
> > > """
> > > static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> > > 				     struct xe_tile *tile0, u64 size,
> > > 				     u64 physical_alignment)
> > > {
> > > 	struct xe_bo *dpt;
> > > 	u32 base_flags = XE_BO_FLAG_GGTT | XE_BO_FLAG_PAGETABLE;
> > > 	u32 flags = base_flags;
> > > 
> > > 	/*
> > > 	 * If DGFX: try VRAM0.
> > > 	 * If IGFX: try STOLEN.
> > > 	 */
> > > 	flags |= IS_DGFX(xe) ? XE_BO_FLAG_VRAM0 : XE_BO_FLAG_STOLEN;
> > > 
> > > 	dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL, size,
> > > 					      ~0ull, ttm_bo_type_kernel,
> > > 					      flags, physical_alignment);
> > > 
> > > 	/*
> > > 	 * For IGFX, we first try STOLEN, and on a failure we try SYSTEM.
> > > 	 * DGFX should only attempt VRAM0
> > > 	 */
> > > 	if (IS_DGFX(xe) && IS_ERR(dpt))
> > > 		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > > 						      size, ~0ull,
> > > 						      ttm_bo_type_kernel,
> > > 						      base_flags |
> > > 						      XE_BO_FLAG_SYSTEM,
> > > 						      physical_alignment);
> > > 	return dpt;
> > > }
> > > """
> > > This isn't a particularly necessary compression, but it might be worth considering.
> > > Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>Except that fails on both integrated and discrete, due to IS_DGFX() used 
> > wrongly here. ;-)
> > 
> > Every change, no matter how small, has the opportunity to break things.
> 
> Interesting.  For future reference, may I ask how IS_DGFX is being used incorrectly in the above example?

Ah, wait.  Never mind, I see it.  I forgot to negate IS_DGFX in the error case.  It should be:
"""
	if (!IS_DGFX(xe) && IS_ERR(dpt))
"""
-Jonathan Cavitt

> -Jonathan Cavitt
> 
> > 
> > Regardless, for both patches:
> > Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > 
> > Cheers,
> > ~Maarten
> > 
> 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-15 15:26       ` Cavitt, Jonathan
@ 2025-01-16 15:33         ` Juha-Pekka Heikkilä
  0 siblings, 0 replies; 31+ messages in thread
From: Juha-Pekka Heikkilä @ 2025-01-16 15:33 UTC (permalink / raw)
  To: Cavitt, Jonathan; +Cc: Maarten Lankhorst, intel-xe@lists.freedesktop.org

Thanks for the reviews,

On Wed, Jan 15, 2025 at 5:26 PM Cavitt, Jonathan
<jonathan.cavitt@intel.com> wrote:
>
> -----Original Message-----
> From: Cavitt, Jonathan <jonathan.cavitt@intel.com>
> Sent: Wednesday, January 15, 2025 7:10 AM
> To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>; intel-xe@lists.freedesktop.org
> Cc: Cavitt, Jonathan <jonathan.cavitt@intel.com>
> Subject: RE: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> >
> > -----Original Message-----
> > From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Sent: Wednesday, January 15, 2025 2:19 AM
> > To: Cavitt, Jonathan <jonathan.cavitt@intel.com>; Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>; intel-xe@lists.freedesktop.org
> > Subject: Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> > > Den 2025-01-14 kl. 20:22, skrev Cavitt, Jonathan:
> > > > -----Original Message-----
> > > > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Juha-Pekka Heikkila
> > > > Sent: Tuesday, January 14, 2025 10:04 AM
> > > > To: intel-xe@lists.freedesktop.org
> > > > Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > > > Subject: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
> > > >>
> > > >> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
> > > >> This also fixes bug where dpt could have been allocated from system
> > > >> memory when on dgfx.
> > > >>
> > > >> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > > >> ---
> > > >>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
> > > >>   1 file changed, 43 insertions(+), 24 deletions(-)
> > > >>
> > > >> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> > > >> index 9fa51b84737c..c28885316986 100644
> > > >> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> > > >> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> > > >> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
> > > >>          *dpt_ofs = ALIGN(*dpt_ofs, 4096);
> > > >>   }
> > > >>
> > > >> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> > > >> +                                     struct xe_tile *tile0, u64 size,
> > > >> +                                     u64 physical_alignment)
> > > >> +{
> > > >> +        struct xe_bo *dpt;
> > > >> +
> > > >> +        /*
> > > >> +         * If DGFX: try VRAM0 only
> > > >> +         */
> > > >> +        if (IS_DGFX(xe)) {
> > > >> +                dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > > >> +                                                      size, ~0ull,
> > > >> +                                                      ttm_bo_type_kernel,
> > > >> +                                                      XE_BO_FLAG_VRAM0 |
> > > >> +                                                      XE_BO_FLAG_GGTT |
> > > >> +                                                      XE_BO_FLAG_PAGETABLE,
> > > >> +                                                      physical_alignment);
> > > >> +        } else {
> > > >> +                /*
> > > >> +                 * For IGFX: first try STOLEN. on fail try SYSTEM.
> > > >> +                 */
> > > >> +                dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > > >> +                                                      size, ~0ull,
> > > >> +                                                      ttm_bo_type_kernel,
> > > >> +                                                      XE_BO_FLAG_STOLEN |
> > > >> +                                                      XE_BO_FLAG_GGTT |
> > > >> +                                                      XE_BO_FLAG_PAGETABLE,
> > > >> +                                                      physical_alignment);
> > > >> +                if (IS_ERR(dpt)) {
> > > >> +                        dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > > >> +                                                              size, ~0ull,
> > > >> +                                                              ttm_bo_type_kernel,
> > > >> +                                                              XE_BO_FLAG_SYSTEM |
> > > >> +                                                              XE_BO_FLAG_GGTT |
> > > >> +                                                              XE_BO_FLAG_PAGETABLE,
> > > >> +                                                              physical_alignment);
> > > >> +                }
> > > >> +        }
> > > >> +        return dpt;
> > > >
> > > > We might be able to collapse some of this logic by storing the flags separately:
> > > >
> > > > """
> > > > static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> > > >                                struct xe_tile *tile0, u64 size,
> > > >                                u64 physical_alignment)
> > > > {
> > > >   struct xe_bo *dpt;
> > > >   u32 base_flags = XE_BO_FLAG_GGTT | XE_BO_FLAG_PAGETABLE;
> > > >   u32 flags = base_flags;
> > > >
> > > >   /*
> > > >    * If DGFX: try VRAM0.
> > > >    * If IGFX: try STOLEN.
> > > >    */
> > > >   flags |= IS_DGFX(xe) ? XE_BO_FLAG_VRAM0 : XE_BO_FLAG_STOLEN;
> > > >
> > > >   dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL, size,
> > > >                                         ~0ull, ttm_bo_type_kernel,
> > > >                                         flags, physical_alignment);
> > > >
> > > >   /*
> > > >    * For IGFX, we first try STOLEN, and on a failure we try SYSTEM.
> > > >    * DGFX should only attempt VRAM0
> > > >    */
> > > >   if (IS_DGFX(xe) && IS_ERR(dpt))
> > > >           dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> > > >                                                 size, ~0ull,
> > > >                                                 ttm_bo_type_kernel,
> > > >                                                 base_flags |
> > > >                                                 XE_BO_FLAG_SYSTEM,
> > > >                                                 physical_alignment);
> > > >   return dpt;
> > > > }
> > > > """
> > > > This isn't a particularly necessary compression, but it might be worth considering.
> > > > Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>Except that fails on both integrated and discrete, due to IS_DGFX() used
> > > wrongly here. ;-)
> > >
> > > Every change, no matter how small, has the opportunity to break things.
> >
> > Interesting.  For future reference, may I ask how IS_DGFX is being used incorrectly in the above example?
>
> Ah, wait.  Never mind, I see it.  I forgot to negate IS_DGFX in the error case.  It should be:

I was initially thinking something similar but didn't come up with
anything that I did like hence I decided to stick with the looks of
original code. Your version look better than those I had, maybe first
put these patches in as is since it fixes a bug and later come back
for this.

/Juha-Pekka

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
                   ` (9 preceding siblings ...)
  2025-01-14 23:24 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-02-03 13:07 ` Jani Nikula
  2025-02-03 15:36   ` Lucas De Marchi
  10 siblings, 1 reply; 31+ messages in thread
From: Jani Nikula @ 2025-02-03 13:07 UTC (permalink / raw)
  To: Juha-Pekka Heikkila, intel-xe
  Cc: Juha-Pekka Heikkila, Rodrigo Vivi, lucas.demarchi,
	Maarten Lankhorst

On Tue, 14 Jan 2025, Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:
> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
> This also fixes bug where dpt could have been allocated from system
> memory when on dgfx.

Cc: Rodrigo, Lucas, Maarten

Should this be merged via drm-intel or drm-xe?

>
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
>  drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>  1 file changed, 43 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> index 9fa51b84737c..c28885316986 100644
> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>  	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>  }
>  
> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
> +				     struct xe_tile *tile0, u64 size,
> +				     u64 physical_alignment)
> +{
> +	struct xe_bo *dpt;
> +
> +	/*
> +	 * If DGFX: try VRAM0 only
> +	 */
> +	if (IS_DGFX(xe)) {
> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> +						      size, ~0ull,
> +						      ttm_bo_type_kernel,
> +						      XE_BO_FLAG_VRAM0 |
> +						      XE_BO_FLAG_GGTT |
> +						      XE_BO_FLAG_PAGETABLE,
> +						      physical_alignment);
> +	} else {
> +		/*
> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
> +		 */
> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> +						      size, ~0ull,
> +						      ttm_bo_type_kernel,
> +						      XE_BO_FLAG_STOLEN |
> +						      XE_BO_FLAG_GGTT |
> +						      XE_BO_FLAG_PAGETABLE,
> +						      physical_alignment);
> +		if (IS_ERR(dpt)) {
> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> +							      size, ~0ull,
> +							      ttm_bo_type_kernel,
> +							      XE_BO_FLAG_SYSTEM |
> +							      XE_BO_FLAG_GGTT |
> +							      XE_BO_FLAG_PAGETABLE,
> +							      physical_alignment);
> +		}
> +	}
> +	return dpt;
> +}
> +
>  static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>  			       const struct i915_gtt_view *view,
>  			       struct i915_vma *vma,
> @@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>  		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>  				 XE_PAGE_SIZE);
>  
> -	if (IS_DGFX(xe))
> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> -						      dpt_size, ~0ull,
> -						      ttm_bo_type_kernel,
> -						      XE_BO_FLAG_VRAM0 |
> -						      XE_BO_FLAG_GGTT |
> -						      XE_BO_FLAG_PAGETABLE,
> -						      physical_alignment);
> -	else
> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> -						      dpt_size,  ~0ull,
> -						      ttm_bo_type_kernel,
> -						      XE_BO_FLAG_STOLEN |
> -						      XE_BO_FLAG_GGTT |
> -						      XE_BO_FLAG_PAGETABLE,
> -						      physical_alignment);
> -	if (IS_ERR(dpt))
> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
> -						      dpt_size,  ~0ull,
> -						      ttm_bo_type_kernel,
> -						      XE_BO_FLAG_SYSTEM |
> -						      XE_BO_FLAG_GGTT |
> -						      XE_BO_FLAG_PAGETABLE,
> -						      physical_alignment);
> +	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
> +
>  	if (IS_ERR(dpt))
>  		return PTR_ERR(dpt);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-02-03 13:07 ` [PATCH 1/2] " Jani Nikula
@ 2025-02-03 15:36   ` Lucas De Marchi
  2025-02-04 10:37     ` Jani Nikula
  0 siblings, 1 reply; 31+ messages in thread
From: Lucas De Marchi @ 2025-02-03 15:36 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Juha-Pekka Heikkila, intel-xe, Rodrigo Vivi, Maarten Lankhorst

On Mon, Feb 03, 2025 at 03:07:08PM +0200, Jani Nikula wrote:
>On Tue, 14 Jan 2025, Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:
>> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
>> This also fixes bug where dpt could have been allocated from system
>> memory when on dgfx.

I'd also get the fix in place that will also be needed in stable for
platforms like BMG. Then the second patch to move it to this helper.

>
>Cc: Rodrigo, Lucas, Maarten
>
>Should this be merged via drm-intel or drm-xe?

I'd say.... if it's possible, through drm-intel since it's under
display/. However this only uses xe stuff and may have conflict if
drm-intel is not in sync, so it may need a backmerge from drm-next.

Since it only deals with xe-stuff, landing it through drm-xe should be
good too.

Lucas De Marchi

>
>>
>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>> ---
>>  drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>>  1 file changed, 43 insertions(+), 24 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> index 9fa51b84737c..c28885316986 100644
>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>>  	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>  }
>>
>> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
>> +				     struct xe_tile *tile0, u64 size,
>> +				     u64 physical_alignment)
>> +{
>> +	struct xe_bo *dpt;
>> +
>> +	/*
>> +	 * If DGFX: try VRAM0 only
>> +	 */
>> +	if (IS_DGFX(xe)) {
>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> +						      size, ~0ull,
>> +						      ttm_bo_type_kernel,
>> +						      XE_BO_FLAG_VRAM0 |
>> +						      XE_BO_FLAG_GGTT |
>> +						      XE_BO_FLAG_PAGETABLE,
>> +						      physical_alignment);
>> +	} else {
>> +		/*
>> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
>> +		 */
>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> +						      size, ~0ull,
>> +						      ttm_bo_type_kernel,
>> +						      XE_BO_FLAG_STOLEN |
>> +						      XE_BO_FLAG_GGTT |
>> +						      XE_BO_FLAG_PAGETABLE,
>> +						      physical_alignment);
>> +		if (IS_ERR(dpt)) {
>> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> +							      size, ~0ull,
>> +							      ttm_bo_type_kernel,
>> +							      XE_BO_FLAG_SYSTEM |
>> +							      XE_BO_FLAG_GGTT |
>> +							      XE_BO_FLAG_PAGETABLE,
>> +							      physical_alignment);
>> +		}
>> +	}
>> +	return dpt;
>> +}
>> +
>>  static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>  			       const struct i915_gtt_view *view,
>>  			       struct i915_vma *vma,
>> @@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>  		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>  				 XE_PAGE_SIZE);
>>
>> -	if (IS_DGFX(xe))
>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> -						      dpt_size, ~0ull,
>> -						      ttm_bo_type_kernel,
>> -						      XE_BO_FLAG_VRAM0 |
>> -						      XE_BO_FLAG_GGTT |
>> -						      XE_BO_FLAG_PAGETABLE,
>> -						      physical_alignment);
>> -	else
>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> -						      dpt_size,  ~0ull,
>> -						      ttm_bo_type_kernel,
>> -						      XE_BO_FLAG_STOLEN |
>> -						      XE_BO_FLAG_GGTT |
>> -						      XE_BO_FLAG_PAGETABLE,
>> -						      physical_alignment);
>> -	if (IS_ERR(dpt))
>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>> -						      dpt_size,  ~0ull,
>> -						      ttm_bo_type_kernel,
>> -						      XE_BO_FLAG_SYSTEM |
>> -						      XE_BO_FLAG_GGTT |
>> -						      XE_BO_FLAG_PAGETABLE,
>> -						      physical_alignment);
>> +	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>> +
>>  	if (IS_ERR(dpt))
>>  		return PTR_ERR(dpt);
>
>-- 
>Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-02-03 15:36   ` Lucas De Marchi
@ 2025-02-04 10:37     ` Jani Nikula
  2025-02-04 14:59       ` Lucas De Marchi
  0 siblings, 1 reply; 31+ messages in thread
From: Jani Nikula @ 2025-02-04 10:37 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: Juha-Pekka Heikkila, intel-xe, Rodrigo Vivi, Maarten Lankhorst

On Mon, 03 Feb 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Mon, Feb 03, 2025 at 03:07:08PM +0200, Jani Nikula wrote:
>>On Tue, 14 Jan 2025, Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:
>>> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
>>> This also fixes bug where dpt could have been allocated from system
>>> memory when on dgfx.
>
> I'd also get the fix in place that will also be needed in stable for
> platforms like BMG. Then the second patch to move it to this helper.

Let me clarify, are you asking for changes before merging?


>
>>
>>Cc: Rodrigo, Lucas, Maarten
>>
>>Should this be merged via drm-intel or drm-xe?
>
> I'd say.... if it's possible, through drm-intel since it's under
> display/. However this only uses xe stuff and may have conflict if
> drm-intel is not in sync, so it may need a backmerge from drm-next.
>
> Since it only deals with xe-stuff, landing it through drm-xe should be
> good too.

I'd generally err towards merging all of display through drm-intel, but
just asking as a courtesy here because it only touches xe side of
things.

BR,
Jani.



>
> Lucas De Marchi
>
>>
>>>
>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>> ---
>>>  drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>>>  1 file changed, 43 insertions(+), 24 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>> index 9fa51b84737c..c28885316986 100644
>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>>>  	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>  }
>>>
>>> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
>>> +				     struct xe_tile *tile0, u64 size,
>>> +				     u64 physical_alignment)
>>> +{
>>> +	struct xe_bo *dpt;
>>> +
>>> +	/*
>>> +	 * If DGFX: try VRAM0 only
>>> +	 */
>>> +	if (IS_DGFX(xe)) {
>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>> +						      size, ~0ull,
>>> +						      ttm_bo_type_kernel,
>>> +						      XE_BO_FLAG_VRAM0 |
>>> +						      XE_BO_FLAG_GGTT |
>>> +						      XE_BO_FLAG_PAGETABLE,
>>> +						      physical_alignment);
>>> +	} else {
>>> +		/*
>>> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
>>> +		 */
>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>> +						      size, ~0ull,
>>> +						      ttm_bo_type_kernel,
>>> +						      XE_BO_FLAG_STOLEN |
>>> +						      XE_BO_FLAG_GGTT |
>>> +						      XE_BO_FLAG_PAGETABLE,
>>> +						      physical_alignment);
>>> +		if (IS_ERR(dpt)) {
>>> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>> +							      size, ~0ull,
>>> +							      ttm_bo_type_kernel,
>>> +							      XE_BO_FLAG_SYSTEM |
>>> +							      XE_BO_FLAG_GGTT |
>>> +							      XE_BO_FLAG_PAGETABLE,
>>> +							      physical_alignment);
>>> +		}
>>> +	}
>>> +	return dpt;
>>> +}
>>> +
>>>  static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>  			       const struct i915_gtt_view *view,
>>>  			       struct i915_vma *vma,
>>> @@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>  		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>>  				 XE_PAGE_SIZE);
>>>
>>> -	if (IS_DGFX(xe))
>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>> -						      dpt_size, ~0ull,
>>> -						      ttm_bo_type_kernel,
>>> -						      XE_BO_FLAG_VRAM0 |
>>> -						      XE_BO_FLAG_GGTT |
>>> -						      XE_BO_FLAG_PAGETABLE,
>>> -						      physical_alignment);
>>> -	else
>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>> -						      dpt_size,  ~0ull,
>>> -						      ttm_bo_type_kernel,
>>> -						      XE_BO_FLAG_STOLEN |
>>> -						      XE_BO_FLAG_GGTT |
>>> -						      XE_BO_FLAG_PAGETABLE,
>>> -						      physical_alignment);
>>> -	if (IS_ERR(dpt))
>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>> -						      dpt_size,  ~0ull,
>>> -						      ttm_bo_type_kernel,
>>> -						      XE_BO_FLAG_SYSTEM |
>>> -						      XE_BO_FLAG_GGTT |
>>> -						      XE_BO_FLAG_PAGETABLE,
>>> -						      physical_alignment);
>>> +	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>> +
>>>  	if (IS_ERR(dpt))
>>>  		return PTR_ERR(dpt);
>>
>>-- 
>>Jani Nikula, Intel

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-01-14 18:04 ` [PATCH 2/2] drm/xe/display: Unify display page table mapping Juha-Pekka Heikkila
  2025-01-14 19:56   ` Cavitt, Jonathan
@ 2025-02-04 11:25   ` Tvrtko Ursulin
  2025-02-04 11:38     ` Tvrtko Ursulin
  1 sibling, 1 reply; 31+ messages in thread
From: Tvrtko Ursulin @ 2025-02-04 11:25 UTC (permalink / raw)
  To: Juha-Pekka Heikkila, intel-xe


On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
> Unify writing of remapped and straight DPTs. Take out writing of
> rotated DPT since Xe doesn't support any platform that does
> 90 degree rotated framebuffers.

Consider giving my series which fixes AuxCSS a look instead? Given there 
is external interest to have all that work on ADL-P. I could respin with 
rotated cleaned up in a similar fashion I did for remapped. Maintenance 
cost is minimal since it is all very contained.

Regards,

Tvrtko

> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
>   1 file changed, 48 insertions(+), 93 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> index c28885316986..70322f28eee5 100644
> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> @@ -14,66 +14,44 @@
>   #include "xe_ggtt.h"
>   #include "xe_pm.h"
>   
> -static void
> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs, u32 bo_ofs,
> -		  u32 width, u32 height, u32 src_stride, u32 dst_stride)
> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map *map,
> +				 u32 *ofs, u32 src_idx, struct xe_device *xe)
>   {
> -	struct xe_device *xe = xe_bo_device(bo);
>   	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> -	u32 column, row;
> -
> -	/* TODO: Maybe rewrite so we can traverse the bo addresses sequentially,
> -	 * by writing dpt/ggtt in a different order?
> -	 */
> -
> -	for (column = 0; column < width; column++) {
> -		u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
> -
> -		for (row = 0; row < height; row++) {
> -			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> -							      xe->pat.idx[XE_CACHE_NONE]);
> -
> -			iosys_map_wr(map, *dpt_ofs, u64, pte);
> -			*dpt_ofs += 8;
> -			src_idx -= src_stride;
> -		}
> -
> -		/* The DE ignores the PTEs for the padding tiles */
> -		*dpt_ofs += (dst_stride - height) * 8;
> -	}
> -
> -	/* Align to next page */
> -	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
> +	u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> +					      xe->pat.idx[XE_CACHE_NONE]);
> +	iosys_map_wr(map, *ofs, u64, pte);
> +	*ofs += 8;
>   }
>   
> -static void
> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
> -		   u32 bo_ofs, u32 width, u32 height, u32 src_stride,
> -		   u32 dst_stride)
> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
> +		      const struct intel_remapped_plane_info *plane,
> +		      enum i915_gtt_view_type type)
>   {
>   	struct xe_device *xe = xe_bo_device(bo);
> -	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> -	u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
> -		= ggtt->pt_ops->pte_encode_bo;
> -	u32 column, row;
> -
> -	for (row = 0; row < height; row++) {
> -		u32 src_idx = src_stride * row + bo_ofs;
> -
> -		for (column = 0; column < width; column++) {
> -			iosys_map_wr(map, *dpt_ofs, u64,
> -				     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> -				     xe->pat.idx[XE_CACHE_NONE]));
> -
> -			*dpt_ofs += 8;
> -			src_idx++;
> +	const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
> +	const u32 dest_width = plane->width;
> +	const u32 dest_height = plane->height;
> +	u32 src_idx;
> +
> +	for (u32 row = 0; row < dest_height; ++row) {
> +		for (u32 column = 0; column < dest_width; ++column) {
> +			switch (type) {
> +			case I915_GTT_VIEW_NORMAL:
> +				src_idx = plane->offset + column;
> +				break;
> +			case I915_GTT_VIEW_REMAPPED:
> +				src_idx = plane->offset +
> +					row * plane->src_stride + column;
> +				break;
> +			default:
> +				WARN(1, "Unsupported GTT view type: %d", type);
> +				return;
> +			}
> +			encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
>   		}
> -
> -		/* The DE ignores the PTEs for the padding tiles */
> -		*dpt_ofs += (dst_stride - width) * 8;
> +		*dpt_ofs += dpt_even;
>   	}
> -
> -	/* Align to next page */
>   	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>   }
>   
> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>   {
>   	struct xe_device *xe = to_xe_device(fb->base.dev);
>   	struct xe_tile *tile0 = xe_device_get_root_tile(xe);
> -	struct xe_ggtt *ggtt = tile0->mem.ggtt;
>   	struct drm_gem_object *obj = intel_fb_bo(&fb->base);
>   	struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
>   	u32 dpt_size, size = bo->ttm.base.size;
> +	const struct intel_remapped_plane_info *plane;
> +	u32 i, plane_count, dpt_ofs = 0;
> +	struct intel_remapped_plane_info normal_plane;
>   
> -	if (view->type == I915_GTT_VIEW_NORMAL)
> +	if (view->type == I915_GTT_VIEW_NORMAL) {
>   		dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
> -	else if (view->type == I915_GTT_VIEW_REMAPPED)
> -		dpt_size = ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
> -				 XE_PAGE_SIZE);
> -	else
> -		/* display uses 4K tiles instead of bytes here, convert to entries.. */
> -		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
> +		normal_plane.offset = 0;
> +		normal_plane.width = size / XE_PAGE_SIZE;
> +		normal_plane.height = 1;
> +		normal_plane.src_stride = size / XE_PAGE_SIZE;
> +		normal_plane.dst_stride = size / XE_PAGE_SIZE;
> +		plane = &normal_plane;
> +		plane_count = 1;
> +	} else {
> +		dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
>   				 XE_PAGE_SIZE);
> +		plane = view->remapped.plane;
> +		plane_count = ARRAY_SIZE(view->remapped.plane);
> +	}
>   
>   	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>   
>   	if (IS_ERR(dpt))
>   		return PTR_ERR(dpt);
>   
> -	if (view->type == I915_GTT_VIEW_NORMAL) {
> -		u32 x;
> -
> -		for (x = 0; x < size / XE_PAGE_SIZE; x++) {
> -			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
> -							      xe->pat.idx[XE_CACHE_NONE]);
> -
> -			iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
> -		}
> -	} else if (view->type == I915_GTT_VIEW_REMAPPED) {
> -		const struct intel_remapped_info *remap_info = &view->remapped;
> -		u32 i, dpt_ofs = 0;
> -
> -		for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
> -			write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
> -					   remap_info->plane[i].offset,
> -					   remap_info->plane[i].width,
> -					   remap_info->plane[i].height,
> -					   remap_info->plane[i].src_stride,
> -					   remap_info->plane[i].dst_stride);
> -
> -	} else {
> -		const struct intel_rotation_info *rot_info = &view->rotated;
> -		u32 i, dpt_ofs = 0;
> -
> -		for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
> -			write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
> -					  rot_info->plane[i].offset,
> -					  rot_info->plane[i].width,
> -					  rot_info->plane[i].height,
> -					  rot_info->plane[i].src_stride,
> -					  rot_info->plane[i].dst_stride);
> -	}
> +	for (i = 0; i < plane_count; i++)
> +		write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
>   
>   	vma->dpt = dpt;
>   	vma->node = dpt->ggtt_node[tile0->id];

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-02-04 11:25   ` Tvrtko Ursulin
@ 2025-02-04 11:38     ` Tvrtko Ursulin
  2025-02-04 12:10       ` Juha-Pekka Heikkilä
  0 siblings, 1 reply; 31+ messages in thread
From: Tvrtko Ursulin @ 2025-02-04 11:38 UTC (permalink / raw)
  To: Juha-Pekka Heikkila, intel-xe


On 04/02/2025 11:25, Tvrtko Ursulin wrote:
> 
> On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
>> Unify writing of remapped and straight DPTs. Take out writing of
>> rotated DPT since Xe doesn't support any platform that does
>> 90 degree rotated framebuffers.
> 
> Consider giving my series which fixes AuxCSS a look instead? Given there 
> is external interest to have all that work on ADL-P. I could respin with 
> rotated cleaned up in a similar fashion I did for remapped. Maintenance 
> cost is minimal since it is all very contained.

Oh ADL-P does not support hardware rotation. I missed the fact it is 
display version 13..

But the point regarding changes to remapping code are still valid I 
think, since to suport aux plane the refactoring from this patch looks 
in the wrong direction.

Regards,

Tvrtko
>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>> ---
>>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
>>   1 file changed, 48 insertions(+), 93 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c 
>> b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> index c28885316986..70322f28eee5 100644
>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>> @@ -14,66 +14,44 @@
>>   #include "xe_ggtt.h"
>>   #include "xe_pm.h"
>> -static void
>> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32 
>> *dpt_ofs, u32 bo_ofs,
>> -          u32 width, u32 height, u32 src_stride, u32 dst_stride)
>> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map 
>> *map,
>> +                 u32 *ofs, u32 src_idx, struct xe_device *xe)
>>   {
>> -    struct xe_device *xe = xe_bo_device(bo);
>>       struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>> -    u32 column, row;
>> -
>> -    /* TODO: Maybe rewrite so we can traverse the bo addresses 
>> sequentially,
>> -     * by writing dpt/ggtt in a different order?
>> -     */
>> -
>> -    for (column = 0; column < width; column++) {
>> -        u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
>> -
>> -        for (row = 0; row < height; row++) {
>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * 
>> XE_PAGE_SIZE,
>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>> -
>> -            iosys_map_wr(map, *dpt_ofs, u64, pte);
>> -            *dpt_ofs += 8;
>> -            src_idx -= src_stride;
>> -        }
>> -
>> -        /* The DE ignores the PTEs for the padding tiles */
>> -        *dpt_ofs += (dst_stride - height) * 8;
>> -    }
>> -
>> -    /* Align to next page */
>> -    *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>> +    u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>> +                          xe->pat.idx[XE_CACHE_NONE]);
>> +    iosys_map_wr(map, *ofs, u64, pte);
>> +    *ofs += 8;
>>   }
>> -static void
>> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 
>> *dpt_ofs,
>> -           u32 bo_ofs, u32 width, u32 height, u32 src_stride,
>> -           u32 dst_stride)
>> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32 
>> *dpt_ofs,
>> +              const struct intel_remapped_plane_info *plane,
>> +              enum i915_gtt_view_type type)
>>   {
>>       struct xe_device *xe = xe_bo_device(bo);
>> -    struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>> -    u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
>> -        = ggtt->pt_ops->pte_encode_bo;
>> -    u32 column, row;
>> -
>> -    for (row = 0; row < height; row++) {
>> -        u32 src_idx = src_stride * row + bo_ofs;
>> -
>> -        for (column = 0; column < width; column++) {
>> -            iosys_map_wr(map, *dpt_ofs, u64,
>> -                     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>> -                     xe->pat.idx[XE_CACHE_NONE]));
>> -
>> -            *dpt_ofs += 8;
>> -            src_idx++;
>> +    const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
>> +    const u32 dest_width = plane->width;
>> +    const u32 dest_height = plane->height;
>> +    u32 src_idx;
>> +
>> +    for (u32 row = 0; row < dest_height; ++row) {
>> +        for (u32 column = 0; column < dest_width; ++column) {
>> +            switch (type) {
>> +            case I915_GTT_VIEW_NORMAL:
>> +                src_idx = plane->offset + column;
>> +                break;
>> +            case I915_GTT_VIEW_REMAPPED:
>> +                src_idx = plane->offset +
>> +                    row * plane->src_stride + column;
>> +                break;
>> +            default:
>> +                WARN(1, "Unsupported GTT view type: %d", type);
>> +                return;
>> +            }
>> +            encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
>>           }
>> -
>> -        /* The DE ignores the PTEs for the padding tiles */
>> -        *dpt_ofs += (dst_stride - width) * 8;
>> +        *dpt_ofs += dpt_even;
>>       }
>> -
>> -    /* Align to next page */
>>       *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>   }
>> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct 
>> intel_framebuffer *fb,
>>   {
>>       struct xe_device *xe = to_xe_device(fb->base.dev);
>>       struct xe_tile *tile0 = xe_device_get_root_tile(xe);
>> -    struct xe_ggtt *ggtt = tile0->mem.ggtt;
>>       struct drm_gem_object *obj = intel_fb_bo(&fb->base);
>>       struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
>>       u32 dpt_size, size = bo->ttm.base.size;
>> +    const struct intel_remapped_plane_info *plane;
>> +    u32 i, plane_count, dpt_ofs = 0;
>> +    struct intel_remapped_plane_info normal_plane;
>> -    if (view->type == I915_GTT_VIEW_NORMAL)
>> +    if (view->type == I915_GTT_VIEW_NORMAL) {
>>           dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
>> -    else if (view->type == I915_GTT_VIEW_REMAPPED)
>> -        dpt_size = 
>> ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
>> -                 XE_PAGE_SIZE);
>> -    else
>> -        /* display uses 4K tiles instead of bytes here, convert to 
>> entries.. */
>> -        dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>> +        normal_plane.offset = 0;
>> +        normal_plane.width = size / XE_PAGE_SIZE;
>> +        normal_plane.height = 1;
>> +        normal_plane.src_stride = size / XE_PAGE_SIZE;
>> +        normal_plane.dst_stride = size / XE_PAGE_SIZE;
>> +        plane = &normal_plane;
>> +        plane_count = 1;
>> +    } else {
>> +        dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
>>                    XE_PAGE_SIZE);
>> +        plane = view->remapped.plane;
>> +        plane_count = ARRAY_SIZE(view->remapped.plane);
>> +    }
>>       dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>       if (IS_ERR(dpt))
>>           return PTR_ERR(dpt);
>> -    if (view->type == I915_GTT_VIEW_NORMAL) {
>> -        u32 x;
>> -
>> -        for (x = 0; x < size / XE_PAGE_SIZE; x++) {
>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>> -
>> -            iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
>> -        }
>> -    } else if (view->type == I915_GTT_VIEW_REMAPPED) {
>> -        const struct intel_remapped_info *remap_info = &view->remapped;
>> -        u32 i, dpt_ofs = 0;
>> -
>> -        for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
>> -            write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
>> -                       remap_info->plane[i].offset,
>> -                       remap_info->plane[i].width,
>> -                       remap_info->plane[i].height,
>> -                       remap_info->plane[i].src_stride,
>> -                       remap_info->plane[i].dst_stride);
>> -
>> -    } else {
>> -        const struct intel_rotation_info *rot_info = &view->rotated;
>> -        u32 i, dpt_ofs = 0;
>> -
>> -        for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
>> -            write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
>> -                      rot_info->plane[i].offset,
>> -                      rot_info->plane[i].width,
>> -                      rot_info->plane[i].height,
>> -                      rot_info->plane[i].src_stride,
>> -                      rot_info->plane[i].dst_stride);
>> -    }
>> +    for (i = 0; i < plane_count; i++)
>> +        write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
>>       vma->dpt = dpt;
>>       vma->node = dpt->ggtt_node[tile0->id];

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-02-04 11:38     ` Tvrtko Ursulin
@ 2025-02-04 12:10       ` Juha-Pekka Heikkilä
  2025-02-04 12:31         ` Tvrtko Ursulin
  0 siblings, 1 reply; 31+ messages in thread
From: Juha-Pekka Heikkilä @ 2025-02-04 12:10 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-xe

On Tue, Feb 4, 2025 at 1:38 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>
>
> On 04/02/2025 11:25, Tvrtko Ursulin wrote:
> >
> > On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
> >> Unify writing of remapped and straight DPTs. Take out writing of
> >> rotated DPT since Xe doesn't support any platform that does
> >> 90 degree rotated framebuffers.
> >
> > Consider giving my series which fixes AuxCSS a look instead? Given there
> > is external interest to have all that work on ADL-P. I could respin with
> > rotated cleaned up in a similar fashion I did for remapped. Maintenance
> > cost is minimal since it is all very contained.
>
> Oh ADL-P does not support hardware rotation. I missed the fact it is
> display version 13..
>
> But the point regarding changes to remapping code are still valid I
> think, since to suport aux plane the refactoring from this patch looks
> in the wrong direction.
>

Yea, I kinda agree here with Tvrtko. I did earlier mention this to
JSaa. That aux thing will need to be checked.

Though, how far are we with your set Tvrtko? It did seem lot kms_ccs
tests failed.
https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-144186v1/shards-all.html?testfilter=kms_ccs.*crc.*gen12&hosts=adlp

Did you check you had compression when you had clean image on your
machine? (aux surface was not zeroes) Those failures on my link ci are
with failing crc which mean the picture on screen was not correct.

/Juha-Pekka

> >> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> >> ---
> >>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
> >>   1 file changed, 48 insertions(+), 93 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >> b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >> index c28885316986..70322f28eee5 100644
> >> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >> @@ -14,66 +14,44 @@
> >>   #include "xe_ggtt.h"
> >>   #include "xe_pm.h"
> >> -static void
> >> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32
> >> *dpt_ofs, u32 bo_ofs,
> >> -          u32 width, u32 height, u32 src_stride, u32 dst_stride)
> >> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map
> >> *map,
> >> +                 u32 *ofs, u32 src_idx, struct xe_device *xe)
> >>   {
> >> -    struct xe_device *xe = xe_bo_device(bo);
> >>       struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> >> -    u32 column, row;
> >> -
> >> -    /* TODO: Maybe rewrite so we can traverse the bo addresses
> >> sequentially,
> >> -     * by writing dpt/ggtt in a different order?
> >> -     */
> >> -
> >> -    for (column = 0; column < width; column++) {
> >> -        u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
> >> -
> >> -        for (row = 0; row < height; row++) {
> >> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx *
> >> XE_PAGE_SIZE,
> >> -                                  xe->pat.idx[XE_CACHE_NONE]);
> >> -
> >> -            iosys_map_wr(map, *dpt_ofs, u64, pte);
> >> -            *dpt_ofs += 8;
> >> -            src_idx -= src_stride;
> >> -        }
> >> -
> >> -        /* The DE ignores the PTEs for the padding tiles */
> >> -        *dpt_ofs += (dst_stride - height) * 8;
> >> -    }
> >> -
> >> -    /* Align to next page */
> >> -    *dpt_ofs = ALIGN(*dpt_ofs, 4096);
> >> +    u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> >> +                          xe->pat.idx[XE_CACHE_NONE]);
> >> +    iosys_map_wr(map, *ofs, u64, pte);
> >> +    *ofs += 8;
> >>   }
> >> -static void
> >> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32
> >> *dpt_ofs,
> >> -           u32 bo_ofs, u32 width, u32 height, u32 src_stride,
> >> -           u32 dst_stride)
> >> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32
> >> *dpt_ofs,
> >> +              const struct intel_remapped_plane_info *plane,
> >> +              enum i915_gtt_view_type type)
> >>   {
> >>       struct xe_device *xe = xe_bo_device(bo);
> >> -    struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> >> -    u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
> >> -        = ggtt->pt_ops->pte_encode_bo;
> >> -    u32 column, row;
> >> -
> >> -    for (row = 0; row < height; row++) {
> >> -        u32 src_idx = src_stride * row + bo_ofs;
> >> -
> >> -        for (column = 0; column < width; column++) {
> >> -            iosys_map_wr(map, *dpt_ofs, u64,
> >> -                     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> >> -                     xe->pat.idx[XE_CACHE_NONE]));
> >> -
> >> -            *dpt_ofs += 8;
> >> -            src_idx++;
> >> +    const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
> >> +    const u32 dest_width = plane->width;
> >> +    const u32 dest_height = plane->height;
> >> +    u32 src_idx;
> >> +
> >> +    for (u32 row = 0; row < dest_height; ++row) {
> >> +        for (u32 column = 0; column < dest_width; ++column) {
> >> +            switch (type) {
> >> +            case I915_GTT_VIEW_NORMAL:
> >> +                src_idx = plane->offset + column;
> >> +                break;
> >> +            case I915_GTT_VIEW_REMAPPED:
> >> +                src_idx = plane->offset +
> >> +                    row * plane->src_stride + column;
> >> +                break;
> >> +            default:
> >> +                WARN(1, "Unsupported GTT view type: %d", type);
> >> +                return;
> >> +            }
> >> +            encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
> >>           }
> >> -
> >> -        /* The DE ignores the PTEs for the padding tiles */
> >> -        *dpt_ofs += (dst_stride - width) * 8;
> >> +        *dpt_ofs += dpt_even;
> >>       }
> >> -
> >> -    /* Align to next page */
> >>       *dpt_ofs = ALIGN(*dpt_ofs, 4096);
> >>   }
> >> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct
> >> intel_framebuffer *fb,
> >>   {
> >>       struct xe_device *xe = to_xe_device(fb->base.dev);
> >>       struct xe_tile *tile0 = xe_device_get_root_tile(xe);
> >> -    struct xe_ggtt *ggtt = tile0->mem.ggtt;
> >>       struct drm_gem_object *obj = intel_fb_bo(&fb->base);
> >>       struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
> >>       u32 dpt_size, size = bo->ttm.base.size;
> >> +    const struct intel_remapped_plane_info *plane;
> >> +    u32 i, plane_count, dpt_ofs = 0;
> >> +    struct intel_remapped_plane_info normal_plane;
> >> -    if (view->type == I915_GTT_VIEW_NORMAL)
> >> +    if (view->type == I915_GTT_VIEW_NORMAL) {
> >>           dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
> >> -    else if (view->type == I915_GTT_VIEW_REMAPPED)
> >> -        dpt_size =
> >> ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
> >> -                 XE_PAGE_SIZE);
> >> -    else
> >> -        /* display uses 4K tiles instead of bytes here, convert to
> >> entries.. */
> >> -        dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
> >> +        normal_plane.offset = 0;
> >> +        normal_plane.width = size / XE_PAGE_SIZE;
> >> +        normal_plane.height = 1;
> >> +        normal_plane.src_stride = size / XE_PAGE_SIZE;
> >> +        normal_plane.dst_stride = size / XE_PAGE_SIZE;
> >> +        plane = &normal_plane;
> >> +        plane_count = 1;
> >> +    } else {
> >> +        dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
> >>                    XE_PAGE_SIZE);
> >> +        plane = view->remapped.plane;
> >> +        plane_count = ARRAY_SIZE(view->remapped.plane);
> >> +    }
> >>       dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
> >>       if (IS_ERR(dpt))
> >>           return PTR_ERR(dpt);
> >> -    if (view->type == I915_GTT_VIEW_NORMAL) {
> >> -        u32 x;
> >> -
> >> -        for (x = 0; x < size / XE_PAGE_SIZE; x++) {
> >> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
> >> -                                  xe->pat.idx[XE_CACHE_NONE]);
> >> -
> >> -            iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
> >> -        }
> >> -    } else if (view->type == I915_GTT_VIEW_REMAPPED) {
> >> -        const struct intel_remapped_info *remap_info = &view->remapped;
> >> -        u32 i, dpt_ofs = 0;
> >> -
> >> -        for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
> >> -            write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
> >> -                       remap_info->plane[i].offset,
> >> -                       remap_info->plane[i].width,
> >> -                       remap_info->plane[i].height,
> >> -                       remap_info->plane[i].src_stride,
> >> -                       remap_info->plane[i].dst_stride);
> >> -
> >> -    } else {
> >> -        const struct intel_rotation_info *rot_info = &view->rotated;
> >> -        u32 i, dpt_ofs = 0;
> >> -
> >> -        for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
> >> -            write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
> >> -                      rot_info->plane[i].offset,
> >> -                      rot_info->plane[i].width,
> >> -                      rot_info->plane[i].height,
> >> -                      rot_info->plane[i].src_stride,
> >> -                      rot_info->plane[i].dst_stride);
> >> -    }
> >> +    for (i = 0; i < plane_count; i++)
> >> +        write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
> >>       vma->dpt = dpt;
> >>       vma->node = dpt->ggtt_node[tile0->id];

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-02-04 12:10       ` Juha-Pekka Heikkilä
@ 2025-02-04 12:31         ` Tvrtko Ursulin
  2025-02-04 13:11           ` Juha-Pekka Heikkilä
  0 siblings, 1 reply; 31+ messages in thread
From: Tvrtko Ursulin @ 2025-02-04 12:31 UTC (permalink / raw)
  To: Juha-Pekka Heikkilä; +Cc: intel-xe


On 04/02/2025 12:10, Juha-Pekka Heikkilä wrote:
> On Tue, Feb 4, 2025 at 1:38 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>>
>>
>> On 04/02/2025 11:25, Tvrtko Ursulin wrote:
>>>
>>> On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
>>>> Unify writing of remapped and straight DPTs. Take out writing of
>>>> rotated DPT since Xe doesn't support any platform that does
>>>> 90 degree rotated framebuffers.
>>>
>>> Consider giving my series which fixes AuxCSS a look instead? Given there
>>> is external interest to have all that work on ADL-P. I could respin with
>>> rotated cleaned up in a similar fashion I did for remapped. Maintenance
>>> cost is minimal since it is all very contained.
>>
>> Oh ADL-P does not support hardware rotation. I missed the fact it is
>> display version 13..
>>
>> But the point regarding changes to remapping code are still valid I
>> think, since to suport aux plane the refactoring from this patch looks
>> in the wrong direction.
>>
> 
> Yea, I kinda agree here with Tvrtko. I did earlier mention this to
> JSaa. That aux thing will need to be checked.

Ah cool, fingers crossed.

> Though, how far are we with your set Tvrtko? It did seem lot kms_ccs
> tests failed.
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-144186v1/shards-all.html?testfilter=kms_ccs.*crc.*gen12&hosts=adlp
> 
> Did you check you had compression when you had clean image on your
> machine? (aux surface was not zeroes) Those failures on my link ci are
> with failing crc which mean the picture on screen was not correct.

I was looking into this just this morning and posted some 
half-conclusions here:

https://lore.kernel.org/intel-xe/eb3a3729-e8ef-4868-b8ff-b6efd66ef4fa@igalia.com/T/#u

When you say test with a clear image that I did not. I smoke tested it 
in desktop usage and looked at kms_flip_tiling which visually looks 
correct but as the above msg-id talks about, something is potentially 
fishy with crc collections and/or vblank handling. Since display isn't 
my area of expertise that is as far as I could get.

Regards,

Tvrtko

>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>>> ---
>>>>    drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
>>>>    1 file changed, 48 insertions(+), 93 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>> b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>> index c28885316986..70322f28eee5 100644
>>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>> @@ -14,66 +14,44 @@
>>>>    #include "xe_ggtt.h"
>>>>    #include "xe_pm.h"
>>>> -static void
>>>> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32
>>>> *dpt_ofs, u32 bo_ofs,
>>>> -          u32 width, u32 height, u32 src_stride, u32 dst_stride)
>>>> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map
>>>> *map,
>>>> +                 u32 *ofs, u32 src_idx, struct xe_device *xe)
>>>>    {
>>>> -    struct xe_device *xe = xe_bo_device(bo);
>>>>        struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>>>> -    u32 column, row;
>>>> -
>>>> -    /* TODO: Maybe rewrite so we can traverse the bo addresses
>>>> sequentially,
>>>> -     * by writing dpt/ggtt in a different order?
>>>> -     */
>>>> -
>>>> -    for (column = 0; column < width; column++) {
>>>> -        u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
>>>> -
>>>> -        for (row = 0; row < height; row++) {
>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx *
>>>> XE_PAGE_SIZE,
>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>>>> -
>>>> -            iosys_map_wr(map, *dpt_ofs, u64, pte);
>>>> -            *dpt_ofs += 8;
>>>> -            src_idx -= src_stride;
>>>> -        }
>>>> -
>>>> -        /* The DE ignores the PTEs for the padding tiles */
>>>> -        *dpt_ofs += (dst_stride - height) * 8;
>>>> -    }
>>>> -
>>>> -    /* Align to next page */
>>>> -    *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>> +    u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>>>> +                          xe->pat.idx[XE_CACHE_NONE]);
>>>> +    iosys_map_wr(map, *ofs, u64, pte);
>>>> +    *ofs += 8;
>>>>    }
>>>> -static void
>>>> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32
>>>> *dpt_ofs,
>>>> -           u32 bo_ofs, u32 width, u32 height, u32 src_stride,
>>>> -           u32 dst_stride)
>>>> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32
>>>> *dpt_ofs,
>>>> +              const struct intel_remapped_plane_info *plane,
>>>> +              enum i915_gtt_view_type type)
>>>>    {
>>>>        struct xe_device *xe = xe_bo_device(bo);
>>>> -    struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>>>> -    u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
>>>> -        = ggtt->pt_ops->pte_encode_bo;
>>>> -    u32 column, row;
>>>> -
>>>> -    for (row = 0; row < height; row++) {
>>>> -        u32 src_idx = src_stride * row + bo_ofs;
>>>> -
>>>> -        for (column = 0; column < width; column++) {
>>>> -            iosys_map_wr(map, *dpt_ofs, u64,
>>>> -                     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>>>> -                     xe->pat.idx[XE_CACHE_NONE]));
>>>> -
>>>> -            *dpt_ofs += 8;
>>>> -            src_idx++;
>>>> +    const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
>>>> +    const u32 dest_width = plane->width;
>>>> +    const u32 dest_height = plane->height;
>>>> +    u32 src_idx;
>>>> +
>>>> +    for (u32 row = 0; row < dest_height; ++row) {
>>>> +        for (u32 column = 0; column < dest_width; ++column) {
>>>> +            switch (type) {
>>>> +            case I915_GTT_VIEW_NORMAL:
>>>> +                src_idx = plane->offset + column;
>>>> +                break;
>>>> +            case I915_GTT_VIEW_REMAPPED:
>>>> +                src_idx = plane->offset +
>>>> +                    row * plane->src_stride + column;
>>>> +                break;
>>>> +            default:
>>>> +                WARN(1, "Unsupported GTT view type: %d", type);
>>>> +                return;
>>>> +            }
>>>> +            encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
>>>>            }
>>>> -
>>>> -        /* The DE ignores the PTEs for the padding tiles */
>>>> -        *dpt_ofs += (dst_stride - width) * 8;
>>>> +        *dpt_ofs += dpt_even;
>>>>        }
>>>> -
>>>> -    /* Align to next page */
>>>>        *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>    }
>>>> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct
>>>> intel_framebuffer *fb,
>>>>    {
>>>>        struct xe_device *xe = to_xe_device(fb->base.dev);
>>>>        struct xe_tile *tile0 = xe_device_get_root_tile(xe);
>>>> -    struct xe_ggtt *ggtt = tile0->mem.ggtt;
>>>>        struct drm_gem_object *obj = intel_fb_bo(&fb->base);
>>>>        struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
>>>>        u32 dpt_size, size = bo->ttm.base.size;
>>>> +    const struct intel_remapped_plane_info *plane;
>>>> +    u32 i, plane_count, dpt_ofs = 0;
>>>> +    struct intel_remapped_plane_info normal_plane;
>>>> -    if (view->type == I915_GTT_VIEW_NORMAL)
>>>> +    if (view->type == I915_GTT_VIEW_NORMAL) {
>>>>            dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
>>>> -    else if (view->type == I915_GTT_VIEW_REMAPPED)
>>>> -        dpt_size =
>>>> ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
>>>> -                 XE_PAGE_SIZE);
>>>> -    else
>>>> -        /* display uses 4K tiles instead of bytes here, convert to
>>>> entries.. */
>>>> -        dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>>> +        normal_plane.offset = 0;
>>>> +        normal_plane.width = size / XE_PAGE_SIZE;
>>>> +        normal_plane.height = 1;
>>>> +        normal_plane.src_stride = size / XE_PAGE_SIZE;
>>>> +        normal_plane.dst_stride = size / XE_PAGE_SIZE;
>>>> +        plane = &normal_plane;
>>>> +        plane_count = 1;
>>>> +    } else {
>>>> +        dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
>>>>                     XE_PAGE_SIZE);
>>>> +        plane = view->remapped.plane;
>>>> +        plane_count = ARRAY_SIZE(view->remapped.plane);
>>>> +    }
>>>>        dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>>>        if (IS_ERR(dpt))
>>>>            return PTR_ERR(dpt);
>>>> -    if (view->type == I915_GTT_VIEW_NORMAL) {
>>>> -        u32 x;
>>>> -
>>>> -        for (x = 0; x < size / XE_PAGE_SIZE; x++) {
>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>>>> -
>>>> -            iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
>>>> -        }
>>>> -    } else if (view->type == I915_GTT_VIEW_REMAPPED) {
>>>> -        const struct intel_remapped_info *remap_info = &view->remapped;
>>>> -        u32 i, dpt_ofs = 0;
>>>> -
>>>> -        for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
>>>> -            write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
>>>> -                       remap_info->plane[i].offset,
>>>> -                       remap_info->plane[i].width,
>>>> -                       remap_info->plane[i].height,
>>>> -                       remap_info->plane[i].src_stride,
>>>> -                       remap_info->plane[i].dst_stride);
>>>> -
>>>> -    } else {
>>>> -        const struct intel_rotation_info *rot_info = &view->rotated;
>>>> -        u32 i, dpt_ofs = 0;
>>>> -
>>>> -        for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
>>>> -            write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
>>>> -                      rot_info->plane[i].offset,
>>>> -                      rot_info->plane[i].width,
>>>> -                      rot_info->plane[i].height,
>>>> -                      rot_info->plane[i].src_stride,
>>>> -                      rot_info->plane[i].dst_stride);
>>>> -    }
>>>> +    for (i = 0; i < plane_count; i++)
>>>> +        write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
>>>>        vma->dpt = dpt;
>>>>        vma->node = dpt->ggtt_node[tile0->id];

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-02-04 12:31         ` Tvrtko Ursulin
@ 2025-02-04 13:11           ` Juha-Pekka Heikkilä
  2025-02-04 18:05             ` Tvrtko Ursulin
  0 siblings, 1 reply; 31+ messages in thread
From: Juha-Pekka Heikkilä @ 2025-02-04 13:11 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-xe

On Tue, Feb 4, 2025 at 2:31 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>
>
> On 04/02/2025 12:10, Juha-Pekka Heikkilä wrote:
> > On Tue, Feb 4, 2025 at 1:38 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
> >>
> >>
> >> On 04/02/2025 11:25, Tvrtko Ursulin wrote:
> >>>
> >>> On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
> >>>> Unify writing of remapped and straight DPTs. Take out writing of
> >>>> rotated DPT since Xe doesn't support any platform that does
> >>>> 90 degree rotated framebuffers.
> >>>
> >>> Consider giving my series which fixes AuxCSS a look instead? Given there
> >>> is external interest to have all that work on ADL-P. I could respin with
> >>> rotated cleaned up in a similar fashion I did for remapped. Maintenance
> >>> cost is minimal since it is all very contained.
> >>
> >> Oh ADL-P does not support hardware rotation. I missed the fact it is
> >> display version 13..
> >>
> >> But the point regarding changes to remapping code are still valid I
> >> think, since to suport aux plane the refactoring from this patch looks
> >> in the wrong direction.
> >>
> >
> > Yea, I kinda agree here with Tvrtko. I did earlier mention this to
> > JSaa. That aux thing will need to be checked.
>
> Ah cool, fingers crossed.
>
> > Though, how far are we with your set Tvrtko? It did seem lot kms_ccs
> > tests failed.
> > https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-144186v1/shards-all.html?testfilter=kms_ccs.*crc.*gen12&hosts=adlp
> >
> > Did you check you had compression when you had clean image on your
> > machine? (aux surface was not zeroes) Those failures on my link ci are
> > with failing crc which mean the picture on screen was not correct.
>
> I was looking into this just this morning and posted some
> half-conclusions here:
>
> https://lore.kernel.org/intel-xe/eb3a3729-e8ef-4868-b8ff-b6efd66ef4fa@igalia.com/T/#u
>
> When you say test with a clear image that I did not. I smoke tested it
> in desktop usage and looked at kms_flip_tiling which visually looks
> correct but as the above msg-id talks about, something is potentially
> fishy with crc collections and/or vblank handling. Since display isn't
> my area of expertise that is as far as I could get.

Those test explicitly testing for flipping and such may show there
something interesting but imo unrelated to this situation (for now).

If you have adlp machine where you see the screen you could try those
kms_ccs crc tests, you can run the tests in interactive mode with
'--i' parameter where the test always stop at commit so you'll see
what's there on screen. On kms_ccs I would not expect any vblank/other
issues to interfere crc because kms_ccs uses
igt_pipe_crc_collect_crc() to get the crc, what this mean is once the
test image is on screen crc counting is started, collected one crc and
crc counting is stopped .. to get the first crc this way few vblanks
have passed already since getting image on screen. Then on kms_ccs
test there is -c flag which should check there is something written on
aux surface. Getting these to work reliably I think is the first
thing...and on that subject I'd at first concentrate just one gen12rc
ccs, not ccs-cc and not mc ccs. I'd get these results by myself but
I'm bit of recovering at home and don't have needed hw in my hands.

On that lore.kernel.org thread where you mention "Bad CRC also varies
run to run, while visually things look fine to me on screen. Also a
delay before collecting the crc seems to improve things." could be
quite much anything, my first quess with those always is some
alignment missed somewhere.

/Juha-Pekka

> >>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> >>>> ---
> >>>>    drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
> >>>>    1 file changed, 48 insertions(+), 93 deletions(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>> b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>> index c28885316986..70322f28eee5 100644
> >>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>> @@ -14,66 +14,44 @@
> >>>>    #include "xe_ggtt.h"
> >>>>    #include "xe_pm.h"
> >>>> -static void
> >>>> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32
> >>>> *dpt_ofs, u32 bo_ofs,
> >>>> -          u32 width, u32 height, u32 src_stride, u32 dst_stride)
> >>>> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map
> >>>> *map,
> >>>> +                 u32 *ofs, u32 src_idx, struct xe_device *xe)
> >>>>    {
> >>>> -    struct xe_device *xe = xe_bo_device(bo);
> >>>>        struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> >>>> -    u32 column, row;
> >>>> -
> >>>> -    /* TODO: Maybe rewrite so we can traverse the bo addresses
> >>>> sequentially,
> >>>> -     * by writing dpt/ggtt in a different order?
> >>>> -     */
> >>>> -
> >>>> -    for (column = 0; column < width; column++) {
> >>>> -        u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
> >>>> -
> >>>> -        for (row = 0; row < height; row++) {
> >>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx *
> >>>> XE_PAGE_SIZE,
> >>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
> >>>> -
> >>>> -            iosys_map_wr(map, *dpt_ofs, u64, pte);
> >>>> -            *dpt_ofs += 8;
> >>>> -            src_idx -= src_stride;
> >>>> -        }
> >>>> -
> >>>> -        /* The DE ignores the PTEs for the padding tiles */
> >>>> -        *dpt_ofs += (dst_stride - height) * 8;
> >>>> -    }
> >>>> -
> >>>> -    /* Align to next page */
> >>>> -    *dpt_ofs = ALIGN(*dpt_ofs, 4096);
> >>>> +    u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> >>>> +                          xe->pat.idx[XE_CACHE_NONE]);
> >>>> +    iosys_map_wr(map, *ofs, u64, pte);
> >>>> +    *ofs += 8;
> >>>>    }
> >>>> -static void
> >>>> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32
> >>>> *dpt_ofs,
> >>>> -           u32 bo_ofs, u32 width, u32 height, u32 src_stride,
> >>>> -           u32 dst_stride)
> >>>> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32
> >>>> *dpt_ofs,
> >>>> +              const struct intel_remapped_plane_info *plane,
> >>>> +              enum i915_gtt_view_type type)
> >>>>    {
> >>>>        struct xe_device *xe = xe_bo_device(bo);
> >>>> -    struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> >>>> -    u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
> >>>> -        = ggtt->pt_ops->pte_encode_bo;
> >>>> -    u32 column, row;
> >>>> -
> >>>> -    for (row = 0; row < height; row++) {
> >>>> -        u32 src_idx = src_stride * row + bo_ofs;
> >>>> -
> >>>> -        for (column = 0; column < width; column++) {
> >>>> -            iosys_map_wr(map, *dpt_ofs, u64,
> >>>> -                     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> >>>> -                     xe->pat.idx[XE_CACHE_NONE]));
> >>>> -
> >>>> -            *dpt_ofs += 8;
> >>>> -            src_idx++;
> >>>> +    const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
> >>>> +    const u32 dest_width = plane->width;
> >>>> +    const u32 dest_height = plane->height;
> >>>> +    u32 src_idx;
> >>>> +
> >>>> +    for (u32 row = 0; row < dest_height; ++row) {
> >>>> +        for (u32 column = 0; column < dest_width; ++column) {
> >>>> +            switch (type) {
> >>>> +            case I915_GTT_VIEW_NORMAL:
> >>>> +                src_idx = plane->offset + column;
> >>>> +                break;
> >>>> +            case I915_GTT_VIEW_REMAPPED:
> >>>> +                src_idx = plane->offset +
> >>>> +                    row * plane->src_stride + column;
> >>>> +                break;
> >>>> +            default:
> >>>> +                WARN(1, "Unsupported GTT view type: %d", type);
> >>>> +                return;
> >>>> +            }
> >>>> +            encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
> >>>>            }
> >>>> -
> >>>> -        /* The DE ignores the PTEs for the padding tiles */
> >>>> -        *dpt_ofs += (dst_stride - width) * 8;
> >>>> +        *dpt_ofs += dpt_even;
> >>>>        }
> >>>> -
> >>>> -    /* Align to next page */
> >>>>        *dpt_ofs = ALIGN(*dpt_ofs, 4096);
> >>>>    }
> >>>> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct
> >>>> intel_framebuffer *fb,
> >>>>    {
> >>>>        struct xe_device *xe = to_xe_device(fb->base.dev);
> >>>>        struct xe_tile *tile0 = xe_device_get_root_tile(xe);
> >>>> -    struct xe_ggtt *ggtt = tile0->mem.ggtt;
> >>>>        struct drm_gem_object *obj = intel_fb_bo(&fb->base);
> >>>>        struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
> >>>>        u32 dpt_size, size = bo->ttm.base.size;
> >>>> +    const struct intel_remapped_plane_info *plane;
> >>>> +    u32 i, plane_count, dpt_ofs = 0;
> >>>> +    struct intel_remapped_plane_info normal_plane;
> >>>> -    if (view->type == I915_GTT_VIEW_NORMAL)
> >>>> +    if (view->type == I915_GTT_VIEW_NORMAL) {
> >>>>            dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
> >>>> -    else if (view->type == I915_GTT_VIEW_REMAPPED)
> >>>> -        dpt_size =
> >>>> ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
> >>>> -                 XE_PAGE_SIZE);
> >>>> -    else
> >>>> -        /* display uses 4K tiles instead of bytes here, convert to
> >>>> entries.. */
> >>>> -        dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
> >>>> +        normal_plane.offset = 0;
> >>>> +        normal_plane.width = size / XE_PAGE_SIZE;
> >>>> +        normal_plane.height = 1;
> >>>> +        normal_plane.src_stride = size / XE_PAGE_SIZE;
> >>>> +        normal_plane.dst_stride = size / XE_PAGE_SIZE;
> >>>> +        plane = &normal_plane;
> >>>> +        plane_count = 1;
> >>>> +    } else {
> >>>> +        dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
> >>>>                     XE_PAGE_SIZE);
> >>>> +        plane = view->remapped.plane;
> >>>> +        plane_count = ARRAY_SIZE(view->remapped.plane);
> >>>> +    }
> >>>>        dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
> >>>>        if (IS_ERR(dpt))
> >>>>            return PTR_ERR(dpt);
> >>>> -    if (view->type == I915_GTT_VIEW_NORMAL) {
> >>>> -        u32 x;
> >>>> -
> >>>> -        for (x = 0; x < size / XE_PAGE_SIZE; x++) {
> >>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
> >>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
> >>>> -
> >>>> -            iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
> >>>> -        }
> >>>> -    } else if (view->type == I915_GTT_VIEW_REMAPPED) {
> >>>> -        const struct intel_remapped_info *remap_info = &view->remapped;
> >>>> -        u32 i, dpt_ofs = 0;
> >>>> -
> >>>> -        for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
> >>>> -            write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
> >>>> -                       remap_info->plane[i].offset,
> >>>> -                       remap_info->plane[i].width,
> >>>> -                       remap_info->plane[i].height,
> >>>> -                       remap_info->plane[i].src_stride,
> >>>> -                       remap_info->plane[i].dst_stride);
> >>>> -
> >>>> -    } else {
> >>>> -        const struct intel_rotation_info *rot_info = &view->rotated;
> >>>> -        u32 i, dpt_ofs = 0;
> >>>> -
> >>>> -        for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
> >>>> -            write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
> >>>> -                      rot_info->plane[i].offset,
> >>>> -                      rot_info->plane[i].width,
> >>>> -                      rot_info->plane[i].height,
> >>>> -                      rot_info->plane[i].src_stride,
> >>>> -                      rot_info->plane[i].dst_stride);
> >>>> -    }
> >>>> +    for (i = 0; i < plane_count; i++)
> >>>> +        write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
> >>>>        vma->dpt = dpt;
> >>>>        vma->node = dpt->ggtt_node[tile0->id];

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-02-04 10:37     ` Jani Nikula
@ 2025-02-04 14:59       ` Lucas De Marchi
  2025-02-04 15:11         ` Jani Nikula
  0 siblings, 1 reply; 31+ messages in thread
From: Lucas De Marchi @ 2025-02-04 14:59 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Juha-Pekka Heikkila, intel-xe, Rodrigo Vivi, Maarten Lankhorst

On Tue, Feb 04, 2025 at 12:37:07PM +0200, Jani Nikula wrote:
>On Mon, 03 Feb 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>> On Mon, Feb 03, 2025 at 03:07:08PM +0200, Jani Nikula wrote:
>>>On Tue, 14 Jan 2025, Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:
>>>> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
>>>> This also fixes bug where dpt could have been allocated from system
>>>> memory when on dgfx.
>>
>> I'd also get the fix in place that will also be needed in stable for
>> platforms like BMG. Then the second patch to move it to this helper.
>
>Let me clarify, are you asking for changes before merging?

the reply I gave was very confusing, sorry. What I meant is that there
are 2 things here:

1) A fix, so it doesn't try to to allocate dpt from system memory on
dgfx
2) Move the code to a separate function.

For backporting to stable we'd only need (1), which is trivial, rather
than also needing (2) which may have more conflicts.

I'll leave that up to you to decide though.

>
>
>>
>>>
>>>Cc: Rodrigo, Lucas, Maarten
>>>
>>>Should this be merged via drm-intel or drm-xe?
>>
>> I'd say.... if it's possible, through drm-intel since it's under
>> display/. However this only uses xe stuff and may have conflict if
>> drm-intel is not in sync, so it may need a backmerge from drm-next.
>>
>> Since it only deals with xe-stuff, landing it through drm-xe should be
>> good too.
>
>I'd generally err towards merging all of display through drm-intel, but
>just asking as a courtesy here because it only touches xe side of
>things.

yeah, I think it makes sense to prefer drm-intel. Ack for that.


Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>


Lucas De Marchi

>
>BR,
>Jani.
>
>
>
>>
>> Lucas De Marchi
>>
>>>
>>>>
>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>>> ---
>>>>  drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>>>>  1 file changed, 43 insertions(+), 24 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>> index 9fa51b84737c..c28885316986 100644
>>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>>>>  	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>  }
>>>>
>>>> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
>>>> +				     struct xe_tile *tile0, u64 size,
>>>> +				     u64 physical_alignment)
>>>> +{
>>>> +	struct xe_bo *dpt;
>>>> +
>>>> +	/*
>>>> +	 * If DGFX: try VRAM0 only
>>>> +	 */
>>>> +	if (IS_DGFX(xe)) {
>>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>> +						      size, ~0ull,
>>>> +						      ttm_bo_type_kernel,
>>>> +						      XE_BO_FLAG_VRAM0 |
>>>> +						      XE_BO_FLAG_GGTT |
>>>> +						      XE_BO_FLAG_PAGETABLE,
>>>> +						      physical_alignment);
>>>> +	} else {
>>>> +		/*
>>>> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
>>>> +		 */
>>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>> +						      size, ~0ull,
>>>> +						      ttm_bo_type_kernel,
>>>> +						      XE_BO_FLAG_STOLEN |
>>>> +						      XE_BO_FLAG_GGTT |
>>>> +						      XE_BO_FLAG_PAGETABLE,
>>>> +						      physical_alignment);
>>>> +		if (IS_ERR(dpt)) {
>>>> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>> +							      size, ~0ull,
>>>> +							      ttm_bo_type_kernel,
>>>> +							      XE_BO_FLAG_SYSTEM |
>>>> +							      XE_BO_FLAG_GGTT |
>>>> +							      XE_BO_FLAG_PAGETABLE,
>>>> +							      physical_alignment);
>>>> +		}
>>>> +	}
>>>> +	return dpt;
>>>> +}
>>>> +
>>>>  static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>>  			       const struct i915_gtt_view *view,
>>>>  			       struct i915_vma *vma,
>>>> @@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>>  		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>>>  				 XE_PAGE_SIZE);
>>>>
>>>> -	if (IS_DGFX(xe))
>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>> -						      dpt_size, ~0ull,
>>>> -						      ttm_bo_type_kernel,
>>>> -						      XE_BO_FLAG_VRAM0 |
>>>> -						      XE_BO_FLAG_GGTT |
>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>> -						      physical_alignment);
>>>> -	else
>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>> -						      dpt_size,  ~0ull,
>>>> -						      ttm_bo_type_kernel,
>>>> -						      XE_BO_FLAG_STOLEN |
>>>> -						      XE_BO_FLAG_GGTT |
>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>> -						      physical_alignment);
>>>> -	if (IS_ERR(dpt))
>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>> -						      dpt_size,  ~0ull,
>>>> -						      ttm_bo_type_kernel,
>>>> -						      XE_BO_FLAG_SYSTEM |
>>>> -						      XE_BO_FLAG_GGTT |
>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>> -						      physical_alignment);
>>>> +	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>>> +
>>>>  	if (IS_ERR(dpt))
>>>>  		return PTR_ERR(dpt);
>>>
>>>--
>>>Jani Nikula, Intel
>
>-- 
>Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-02-04 14:59       ` Lucas De Marchi
@ 2025-02-04 15:11         ` Jani Nikula
  2025-02-04 16:07           ` Tvrtko Ursulin
  0 siblings, 1 reply; 31+ messages in thread
From: Jani Nikula @ 2025-02-04 15:11 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: Juha-Pekka Heikkila, intel-xe, Rodrigo Vivi, Maarten Lankhorst,
	Tvrtko Ursulin

On Tue, 04 Feb 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Tue, Feb 04, 2025 at 12:37:07PM +0200, Jani Nikula wrote:
>>On Mon, 03 Feb 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>>> On Mon, Feb 03, 2025 at 03:07:08PM +0200, Jani Nikula wrote:
>>>>On Tue, 14 Jan 2025, Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:
>>>>> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
>>>>> This also fixes bug where dpt could have been allocated from system
>>>>> memory when on dgfx.
>>>
>>> I'd also get the fix in place that will also be needed in stable for
>>> platforms like BMG. Then the second patch to move it to this helper.
>>
>>Let me clarify, are you asking for changes before merging?
>
> the reply I gave was very confusing, sorry. What I meant is that there
> are 2 things here:
>
> 1) A fix, so it doesn't try to to allocate dpt from system memory on
> dgfx
> 2) Move the code to a separate function.
>
> For backporting to stable we'd only need (1), which is trivial, rather
> than also needing (2) which may have more conflicts.
>
> I'll leave that up to you to decide though.

Now there's also the conversation with Tvrtko, and I've lost track
whether this should be merged at all. ;D

J.



>
>>
>>
>>>
>>>>
>>>>Cc: Rodrigo, Lucas, Maarten
>>>>
>>>>Should this be merged via drm-intel or drm-xe?
>>>
>>> I'd say.... if it's possible, through drm-intel since it's under
>>> display/. However this only uses xe stuff and may have conflict if
>>> drm-intel is not in sync, so it may need a backmerge from drm-next.
>>>
>>> Since it only deals with xe-stuff, landing it through drm-xe should be
>>> good too.
>>
>>I'd generally err towards merging all of display through drm-intel, but
>>just asking as a courtesy here because it only touches xe side of
>>things.
>
> yeah, I think it makes sense to prefer drm-intel. Ack for that.
>
>
> Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
>
>
> Lucas De Marchi
>
>>
>>BR,
>>Jani.
>>
>>
>>
>>>
>>> Lucas De Marchi
>>>
>>>>
>>>>>
>>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>>>> ---
>>>>>  drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>>>>>  1 file changed, 43 insertions(+), 24 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>> index 9fa51b84737c..c28885316986 100644
>>>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>>>>>  	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>>  }
>>>>>
>>>>> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
>>>>> +				     struct xe_tile *tile0, u64 size,
>>>>> +				     u64 physical_alignment)
>>>>> +{
>>>>> +	struct xe_bo *dpt;
>>>>> +
>>>>> +	/*
>>>>> +	 * If DGFX: try VRAM0 only
>>>>> +	 */
>>>>> +	if (IS_DGFX(xe)) {
>>>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>> +						      size, ~0ull,
>>>>> +						      ttm_bo_type_kernel,
>>>>> +						      XE_BO_FLAG_VRAM0 |
>>>>> +						      XE_BO_FLAG_GGTT |
>>>>> +						      XE_BO_FLAG_PAGETABLE,
>>>>> +						      physical_alignment);
>>>>> +	} else {
>>>>> +		/*
>>>>> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
>>>>> +		 */
>>>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>> +						      size, ~0ull,
>>>>> +						      ttm_bo_type_kernel,
>>>>> +						      XE_BO_FLAG_STOLEN |
>>>>> +						      XE_BO_FLAG_GGTT |
>>>>> +						      XE_BO_FLAG_PAGETABLE,
>>>>> +						      physical_alignment);
>>>>> +		if (IS_ERR(dpt)) {
>>>>> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>> +							      size, ~0ull,
>>>>> +							      ttm_bo_type_kernel,
>>>>> +							      XE_BO_FLAG_SYSTEM |
>>>>> +							      XE_BO_FLAG_GGTT |
>>>>> +							      XE_BO_FLAG_PAGETABLE,
>>>>> +							      physical_alignment);
>>>>> +		}
>>>>> +	}
>>>>> +	return dpt;
>>>>> +}
>>>>> +
>>>>>  static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>>>  			       const struct i915_gtt_view *view,
>>>>>  			       struct i915_vma *vma,
>>>>> @@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>>>  		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>>>>  				 XE_PAGE_SIZE);
>>>>>
>>>>> -	if (IS_DGFX(xe))
>>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>> -						      dpt_size, ~0ull,
>>>>> -						      ttm_bo_type_kernel,
>>>>> -						      XE_BO_FLAG_VRAM0 |
>>>>> -						      XE_BO_FLAG_GGTT |
>>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>>> -						      physical_alignment);
>>>>> -	else
>>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>> -						      dpt_size,  ~0ull,
>>>>> -						      ttm_bo_type_kernel,
>>>>> -						      XE_BO_FLAG_STOLEN |
>>>>> -						      XE_BO_FLAG_GGTT |
>>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>>> -						      physical_alignment);
>>>>> -	if (IS_ERR(dpt))
>>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>> -						      dpt_size,  ~0ull,
>>>>> -						      ttm_bo_type_kernel,
>>>>> -						      XE_BO_FLAG_SYSTEM |
>>>>> -						      XE_BO_FLAG_GGTT |
>>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>>> -						      physical_alignment);
>>>>> +	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>>>> +
>>>>>  	if (IS_ERR(dpt))
>>>>>  		return PTR_ERR(dpt);
>>>>
>>>>--
>>>>Jani Nikula, Intel
>>
>>-- 
>>Jani Nikula, Intel

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] drm/xe/display: Move dpt allocation to helper
  2025-02-04 15:11         ` Jani Nikula
@ 2025-02-04 16:07           ` Tvrtko Ursulin
  0 siblings, 0 replies; 31+ messages in thread
From: Tvrtko Ursulin @ 2025-02-04 16:07 UTC (permalink / raw)
  To: Jani Nikula, Lucas De Marchi
  Cc: Juha-Pekka Heikkila, intel-xe, Rodrigo Vivi, Maarten Lankhorst


On 04/02/2025 15:11, Jani Nikula wrote:
> On Tue, 04 Feb 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>> On Tue, Feb 04, 2025 at 12:37:07PM +0200, Jani Nikula wrote:
>>> On Mon, 03 Feb 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>>>> On Mon, Feb 03, 2025 at 03:07:08PM +0200, Jani Nikula wrote:
>>>>> On Tue, 14 Jan 2025, Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:
>>>>>> Simplify __xe_pin_fb_vma_dpt() by moving dpt allocation into helper.
>>>>>> This also fixes bug where dpt could have been allocated from system
>>>>>> memory when on dgfx.
>>>>
>>>> I'd also get the fix in place that will also be needed in stable for
>>>> platforms like BMG. Then the second patch to move it to this helper.
>>>
>>> Let me clarify, are you asking for changes before merging?
>>
>> the reply I gave was very confusing, sorry. What I meant is that there
>> are 2 things here:
>>
>> 1) A fix, so it doesn't try to to allocate dpt from system memory on
>> dgfx
>> 2) Move the code to a separate function.
>>
>> For backporting to stable we'd only need (1), which is trivial, rather
>> than also needing (2) which may have more conflicts.
>>
>> I'll leave that up to you to decide though.
> 
> Now there's also the conversation with Tvrtko, and I've lost track
> whether this should be merged at all. ;D

I don't mind 1/2, only 2/2 would be a bit in the way of adding AuxCSS 
support for ADL-P.

Regards,

Tvrtko

>>>>>
>>>>> Cc: Rodrigo, Lucas, Maarten
>>>>>
>>>>> Should this be merged via drm-intel or drm-xe?
>>>>
>>>> I'd say.... if it's possible, through drm-intel since it's under
>>>> display/. However this only uses xe stuff and may have conflict if
>>>> drm-intel is not in sync, so it may need a backmerge from drm-next.
>>>>
>>>> Since it only deals with xe-stuff, landing it through drm-xe should be
>>>> good too.
>>>
>>> I'd generally err towards merging all of display through drm-intel, but
>>> just asking as a courtesy here because it only touches xe side of
>>> things.
>>
>> yeah, I think it makes sense to prefer drm-intel. Ack for that.
>>
>>
>> Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>
>>
>> Lucas De Marchi
>>
>>>
>>> BR,
>>> Jani.
>>>
>>>
>>>
>>>>
>>>> Lucas De Marchi
>>>>
>>>>>
>>>>>>
>>>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>>>>> ---
>>>>>>   drivers/gpu/drm/xe/display/xe_fb_pin.c | 67 +++++++++++++++++---------
>>>>>>   1 file changed, 43 insertions(+), 24 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>> index 9fa51b84737c..c28885316986 100644
>>>>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>> @@ -77,6 +77,47 @@ write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
>>>>>>   	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>>>   }
>>>>>>
>>>>>> +static struct xe_bo *xe_alloc_dpt_bo(struct xe_device *xe,
>>>>>> +				     struct xe_tile *tile0, u64 size,
>>>>>> +				     u64 physical_alignment)
>>>>>> +{
>>>>>> +	struct xe_bo *dpt;
>>>>>> +
>>>>>> +	/*
>>>>>> +	 * If DGFX: try VRAM0 only
>>>>>> +	 */
>>>>>> +	if (IS_DGFX(xe)) {
>>>>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>>> +						      size, ~0ull,
>>>>>> +						      ttm_bo_type_kernel,
>>>>>> +						      XE_BO_FLAG_VRAM0 |
>>>>>> +						      XE_BO_FLAG_GGTT |
>>>>>> +						      XE_BO_FLAG_PAGETABLE,
>>>>>> +						      physical_alignment);
>>>>>> +	} else {
>>>>>> +		/*
>>>>>> +		 * For IGFX: first try STOLEN. on fail try SYSTEM.
>>>>>> +		 */
>>>>>> +		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>>> +						      size, ~0ull,
>>>>>> +						      ttm_bo_type_kernel,
>>>>>> +						      XE_BO_FLAG_STOLEN |
>>>>>> +						      XE_BO_FLAG_GGTT |
>>>>>> +						      XE_BO_FLAG_PAGETABLE,
>>>>>> +						      physical_alignment);
>>>>>> +		if (IS_ERR(dpt)) {
>>>>>> +			dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>>> +							      size, ~0ull,
>>>>>> +							      ttm_bo_type_kernel,
>>>>>> +							      XE_BO_FLAG_SYSTEM |
>>>>>> +							      XE_BO_FLAG_GGTT |
>>>>>> +							      XE_BO_FLAG_PAGETABLE,
>>>>>> +							      physical_alignment);
>>>>>> +		}
>>>>>> +	}
>>>>>> +	return dpt;
>>>>>> +}
>>>>>> +
>>>>>>   static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>>>>   			       const struct i915_gtt_view *view,
>>>>>>   			       struct i915_vma *vma,
>>>>>> @@ -99,30 +140,8 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
>>>>>>   		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>>>>>   				 XE_PAGE_SIZE);
>>>>>>
>>>>>> -	if (IS_DGFX(xe))
>>>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>>> -						      dpt_size, ~0ull,
>>>>>> -						      ttm_bo_type_kernel,
>>>>>> -						      XE_BO_FLAG_VRAM0 |
>>>>>> -						      XE_BO_FLAG_GGTT |
>>>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>>>> -						      physical_alignment);
>>>>>> -	else
>>>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>>> -						      dpt_size,  ~0ull,
>>>>>> -						      ttm_bo_type_kernel,
>>>>>> -						      XE_BO_FLAG_STOLEN |
>>>>>> -						      XE_BO_FLAG_GGTT |
>>>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>>>> -						      physical_alignment);
>>>>>> -	if (IS_ERR(dpt))
>>>>>> -		dpt = xe_bo_create_pin_map_at_aligned(xe, tile0, NULL,
>>>>>> -						      dpt_size,  ~0ull,
>>>>>> -						      ttm_bo_type_kernel,
>>>>>> -						      XE_BO_FLAG_SYSTEM |
>>>>>> -						      XE_BO_FLAG_GGTT |
>>>>>> -						      XE_BO_FLAG_PAGETABLE,
>>>>>> -						      physical_alignment);
>>>>>> +	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>>>>> +
>>>>>>   	if (IS_ERR(dpt))
>>>>>>   		return PTR_ERR(dpt);
>>>>>
>>>>> --
>>>>> Jani Nikula, Intel
>>>
>>> -- 
>>> Jani Nikula, Intel
> 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-02-04 13:11           ` Juha-Pekka Heikkilä
@ 2025-02-04 18:05             ` Tvrtko Ursulin
  2025-02-07 14:33               ` Juha-Pekka Heikkilä
  0 siblings, 1 reply; 31+ messages in thread
From: Tvrtko Ursulin @ 2025-02-04 18:05 UTC (permalink / raw)
  To: Juha-Pekka Heikkilä; +Cc: intel-xe


On 04/02/2025 13:11, Juha-Pekka Heikkilä wrote:
> On Tue, Feb 4, 2025 at 2:31 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>>
>>
>> On 04/02/2025 12:10, Juha-Pekka Heikkilä wrote:
>>> On Tue, Feb 4, 2025 at 1:38 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>>>>
>>>>
>>>> On 04/02/2025 11:25, Tvrtko Ursulin wrote:
>>>>>
>>>>> On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
>>>>>> Unify writing of remapped and straight DPTs. Take out writing of
>>>>>> rotated DPT since Xe doesn't support any platform that does
>>>>>> 90 degree rotated framebuffers.
>>>>>
>>>>> Consider giving my series which fixes AuxCSS a look instead? Given there
>>>>> is external interest to have all that work on ADL-P. I could respin with
>>>>> rotated cleaned up in a similar fashion I did for remapped. Maintenance
>>>>> cost is minimal since it is all very contained.
>>>>
>>>> Oh ADL-P does not support hardware rotation. I missed the fact it is
>>>> display version 13..
>>>>
>>>> But the point regarding changes to remapping code are still valid I
>>>> think, since to suport aux plane the refactoring from this patch looks
>>>> in the wrong direction.
>>>>
>>>
>>> Yea, I kinda agree here with Tvrtko. I did earlier mention this to
>>> JSaa. That aux thing will need to be checked.
>>
>> Ah cool, fingers crossed.
>>
>>> Though, how far are we with your set Tvrtko? It did seem lot kms_ccs
>>> tests failed.
>>> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-144186v1/shards-all.html?testfilter=kms_ccs.*crc.*gen12&hosts=adlp
>>>
>>> Did you check you had compression when you had clean image on your
>>> machine? (aux surface was not zeroes) Those failures on my link ci are
>>> with failing crc which mean the picture on screen was not correct.
>>
>> I was looking into this just this morning and posted some
>> half-conclusions here:
>>
>> https://lore.kernel.org/intel-xe/eb3a3729-e8ef-4868-b8ff-b6efd66ef4fa@igalia.com/T/#u
>>
>> When you say test with a clear image that I did not. I smoke tested it
>> in desktop usage and looked at kms_flip_tiling which visually looks
>> correct but as the above msg-id talks about, something is potentially
>> fishy with crc collections and/or vblank handling. Since display isn't
>> my area of expertise that is as far as I could get.
> 
> Those test explicitly testing for flipping and such may show there
> something interesting but imo unrelated to this situation (for now).
> 
> If you have adlp machine where you see the screen you could try those
> kms_ccs crc tests, you can run the tests in interactive mode with
> '--i' parameter where the test always stop at commit so you'll see
> what's there on screen. On kms_ccs I would not expect any vblank/other
> issues to interfere crc because kms_ccs uses
> igt_pipe_crc_collect_crc() to get the crc, what this mean is once the
> test image is on screen crc counting is started, collected one crc and
> crc counting is stopped .. to get the first crc this way few vblanks
> have passed already since getting image on screen. Then on kms_ccs
> test there is -c flag which should check there is something written on
> aux surface. Getting these to work reliably I think is the first
> thing...and on that subject I'd at first concentrate just one gen12rc
> ccs, not ccs-cc and not mc ccs. I'd get these results by myself but
> I'm bit of recovering at home and don't have needed hw in my hands.

kms_crc with and without -c are both a complete pass.

> On that lore.kernel.org thread where you mention "Bad CRC also varies
> run to run, while visually things look fine to me on screen. Also a
> delay before collecting the crc seems to improve things." could be
> quite much anything, my first quess with those always is some
> alignment missed somewhere.

Going back to kms_flip_tiling it is hard to figure out what's up. Good 
news is that I have spotted some visual glitching but it mostly only 
happens withing the first few frames after commit of the reference frame.

For instance when I add a loop such as:

diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
index e937c21716ad..5538fe88c5a0 100644
--- a/tests/intel/kms_flip_tiling.c
+++ b/tests/intel/kms_flip_tiling.c
@@ -131,7 +131,10 @@ test_flip_tiling(data_t *data, enum pipe pipe, 
igt_output_t *output, uint64_t mo
                       "commit failed with " IGT_MODIFIER_FMT "\n",
                       IGT_MODIFIER_ARGS(modifier[1]));
         pipe_crc_new(data, pipe);
-       igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc, 
&reference_crc);
+       ret = 20;
+       while (ret--)
+               igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc,
+                                        &reference_crc);

         /* Commit the first fb. */
         igt_plane_set_fb(primary, &data->fb[0]);

All tests pass.

Could this be interacting with some other display feature like fbc or psr?

There is also something interesting with CRC if I put a sleep into that 
loop. Apparently something gets powered off and CRC garbage such as 
0xffffffff starts appearing. But only if there is a sleep for like 
250ms. A busy loop can go for 3000 frames and not hit that.

Regards,

Tvrtko

>>>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>>>>> ---
>>>>>>     drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
>>>>>>     1 file changed, 48 insertions(+), 93 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>> b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>> index c28885316986..70322f28eee5 100644
>>>>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>> @@ -14,66 +14,44 @@
>>>>>>     #include "xe_ggtt.h"
>>>>>>     #include "xe_pm.h"
>>>>>> -static void
>>>>>> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32
>>>>>> *dpt_ofs, u32 bo_ofs,
>>>>>> -          u32 width, u32 height, u32 src_stride, u32 dst_stride)
>>>>>> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map
>>>>>> *map,
>>>>>> +                 u32 *ofs, u32 src_idx, struct xe_device *xe)
>>>>>>     {
>>>>>> -    struct xe_device *xe = xe_bo_device(bo);
>>>>>>         struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>>>>>> -    u32 column, row;
>>>>>> -
>>>>>> -    /* TODO: Maybe rewrite so we can traverse the bo addresses
>>>>>> sequentially,
>>>>>> -     * by writing dpt/ggtt in a different order?
>>>>>> -     */
>>>>>> -
>>>>>> -    for (column = 0; column < width; column++) {
>>>>>> -        u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
>>>>>> -
>>>>>> -        for (row = 0; row < height; row++) {
>>>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx *
>>>>>> XE_PAGE_SIZE,
>>>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>>>>>> -
>>>>>> -            iosys_map_wr(map, *dpt_ofs, u64, pte);
>>>>>> -            *dpt_ofs += 8;
>>>>>> -            src_idx -= src_stride;
>>>>>> -        }
>>>>>> -
>>>>>> -        /* The DE ignores the PTEs for the padding tiles */
>>>>>> -        *dpt_ofs += (dst_stride - height) * 8;
>>>>>> -    }
>>>>>> -
>>>>>> -    /* Align to next page */
>>>>>> -    *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>>> +    u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>>>>>> +                          xe->pat.idx[XE_CACHE_NONE]);
>>>>>> +    iosys_map_wr(map, *ofs, u64, pte);
>>>>>> +    *ofs += 8;
>>>>>>     }
>>>>>> -static void
>>>>>> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32
>>>>>> *dpt_ofs,
>>>>>> -           u32 bo_ofs, u32 width, u32 height, u32 src_stride,
>>>>>> -           u32 dst_stride)
>>>>>> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32
>>>>>> *dpt_ofs,
>>>>>> +              const struct intel_remapped_plane_info *plane,
>>>>>> +              enum i915_gtt_view_type type)
>>>>>>     {
>>>>>>         struct xe_device *xe = xe_bo_device(bo);
>>>>>> -    struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>>>>>> -    u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
>>>>>> -        = ggtt->pt_ops->pte_encode_bo;
>>>>>> -    u32 column, row;
>>>>>> -
>>>>>> -    for (row = 0; row < height; row++) {
>>>>>> -        u32 src_idx = src_stride * row + bo_ofs;
>>>>>> -
>>>>>> -        for (column = 0; column < width; column++) {
>>>>>> -            iosys_map_wr(map, *dpt_ofs, u64,
>>>>>> -                     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>>>>>> -                     xe->pat.idx[XE_CACHE_NONE]));
>>>>>> -
>>>>>> -            *dpt_ofs += 8;
>>>>>> -            src_idx++;
>>>>>> +    const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
>>>>>> +    const u32 dest_width = plane->width;
>>>>>> +    const u32 dest_height = plane->height;
>>>>>> +    u32 src_idx;
>>>>>> +
>>>>>> +    for (u32 row = 0; row < dest_height; ++row) {
>>>>>> +        for (u32 column = 0; column < dest_width; ++column) {
>>>>>> +            switch (type) {
>>>>>> +            case I915_GTT_VIEW_NORMAL:
>>>>>> +                src_idx = plane->offset + column;
>>>>>> +                break;
>>>>>> +            case I915_GTT_VIEW_REMAPPED:
>>>>>> +                src_idx = plane->offset +
>>>>>> +                    row * plane->src_stride + column;
>>>>>> +                break;
>>>>>> +            default:
>>>>>> +                WARN(1, "Unsupported GTT view type: %d", type);
>>>>>> +                return;
>>>>>> +            }
>>>>>> +            encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
>>>>>>             }
>>>>>> -
>>>>>> -        /* The DE ignores the PTEs for the padding tiles */
>>>>>> -        *dpt_ofs += (dst_stride - width) * 8;
>>>>>> +        *dpt_ofs += dpt_even;
>>>>>>         }
>>>>>> -
>>>>>> -    /* Align to next page */
>>>>>>         *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>>>     }
>>>>>> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct
>>>>>> intel_framebuffer *fb,
>>>>>>     {
>>>>>>         struct xe_device *xe = to_xe_device(fb->base.dev);
>>>>>>         struct xe_tile *tile0 = xe_device_get_root_tile(xe);
>>>>>> -    struct xe_ggtt *ggtt = tile0->mem.ggtt;
>>>>>>         struct drm_gem_object *obj = intel_fb_bo(&fb->base);
>>>>>>         struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
>>>>>>         u32 dpt_size, size = bo->ttm.base.size;
>>>>>> +    const struct intel_remapped_plane_info *plane;
>>>>>> +    u32 i, plane_count, dpt_ofs = 0;
>>>>>> +    struct intel_remapped_plane_info normal_plane;
>>>>>> -    if (view->type == I915_GTT_VIEW_NORMAL)
>>>>>> +    if (view->type == I915_GTT_VIEW_NORMAL) {
>>>>>>             dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
>>>>>> -    else if (view->type == I915_GTT_VIEW_REMAPPED)
>>>>>> -        dpt_size =
>>>>>> ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
>>>>>> -                 XE_PAGE_SIZE);
>>>>>> -    else
>>>>>> -        /* display uses 4K tiles instead of bytes here, convert to
>>>>>> entries.. */
>>>>>> -        dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>>>>> +        normal_plane.offset = 0;
>>>>>> +        normal_plane.width = size / XE_PAGE_SIZE;
>>>>>> +        normal_plane.height = 1;
>>>>>> +        normal_plane.src_stride = size / XE_PAGE_SIZE;
>>>>>> +        normal_plane.dst_stride = size / XE_PAGE_SIZE;
>>>>>> +        plane = &normal_plane;
>>>>>> +        plane_count = 1;
>>>>>> +    } else {
>>>>>> +        dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
>>>>>>                      XE_PAGE_SIZE);
>>>>>> +        plane = view->remapped.plane;
>>>>>> +        plane_count = ARRAY_SIZE(view->remapped.plane);
>>>>>> +    }
>>>>>>         dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>>>>>         if (IS_ERR(dpt))
>>>>>>             return PTR_ERR(dpt);
>>>>>> -    if (view->type == I915_GTT_VIEW_NORMAL) {
>>>>>> -        u32 x;
>>>>>> -
>>>>>> -        for (x = 0; x < size / XE_PAGE_SIZE; x++) {
>>>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
>>>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>>>>>> -
>>>>>> -            iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
>>>>>> -        }
>>>>>> -    } else if (view->type == I915_GTT_VIEW_REMAPPED) {
>>>>>> -        const struct intel_remapped_info *remap_info = &view->remapped;
>>>>>> -        u32 i, dpt_ofs = 0;
>>>>>> -
>>>>>> -        for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
>>>>>> -            write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
>>>>>> -                       remap_info->plane[i].offset,
>>>>>> -                       remap_info->plane[i].width,
>>>>>> -                       remap_info->plane[i].height,
>>>>>> -                       remap_info->plane[i].src_stride,
>>>>>> -                       remap_info->plane[i].dst_stride);
>>>>>> -
>>>>>> -    } else {
>>>>>> -        const struct intel_rotation_info *rot_info = &view->rotated;
>>>>>> -        u32 i, dpt_ofs = 0;
>>>>>> -
>>>>>> -        for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
>>>>>> -            write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
>>>>>> -                      rot_info->plane[i].offset,
>>>>>> -                      rot_info->plane[i].width,
>>>>>> -                      rot_info->plane[i].height,
>>>>>> -                      rot_info->plane[i].src_stride,
>>>>>> -                      rot_info->plane[i].dst_stride);
>>>>>> -    }
>>>>>> +    for (i = 0; i < plane_count; i++)
>>>>>> +        write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
>>>>>>         vma->dpt = dpt;
>>>>>>         vma->node = dpt->ggtt_node[tile0->id];

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-02-04 18:05             ` Tvrtko Ursulin
@ 2025-02-07 14:33               ` Juha-Pekka Heikkilä
  2025-02-11 11:22                 ` Tvrtko Ursulin
  0 siblings, 1 reply; 31+ messages in thread
From: Juha-Pekka Heikkilä @ 2025-02-07 14:33 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-xe

On Tue, Feb 4, 2025 at 8:05 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>
>
> On 04/02/2025 13:11, Juha-Pekka Heikkilä wrote:
> > On Tue, Feb 4, 2025 at 2:31 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
> >>
> >>
> >> On 04/02/2025 12:10, Juha-Pekka Heikkilä wrote:
> >>> On Tue, Feb 4, 2025 at 1:38 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
> >>>>
> >>>>
> >>>> On 04/02/2025 11:25, Tvrtko Ursulin wrote:
> >>>>>
> >>>>> On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
> >>>>>> Unify writing of remapped and straight DPTs. Take out writing of
> >>>>>> rotated DPT since Xe doesn't support any platform that does
> >>>>>> 90 degree rotated framebuffers.
> >>>>>
> >>>>> Consider giving my series which fixes AuxCSS a look instead? Given there
> >>>>> is external interest to have all that work on ADL-P. I could respin with
> >>>>> rotated cleaned up in a similar fashion I did for remapped. Maintenance
> >>>>> cost is minimal since it is all very contained.
> >>>>
> >>>> Oh ADL-P does not support hardware rotation. I missed the fact it is
> >>>> display version 13..
> >>>>
> >>>> But the point regarding changes to remapping code are still valid I
> >>>> think, since to suport aux plane the refactoring from this patch looks
> >>>> in the wrong direction.
> >>>>
> >>>
> >>> Yea, I kinda agree here with Tvrtko. I did earlier mention this to
> >>> JSaa. That aux thing will need to be checked.
> >>
> >> Ah cool, fingers crossed.
> >>
> >>> Though, how far are we with your set Tvrtko? It did seem lot kms_ccs
> >>> tests failed.
> >>> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-144186v1/shards-all.html?testfilter=kms_ccs.*crc.*gen12&hosts=adlp
> >>>
> >>> Did you check you had compression when you had clean image on your
> >>> machine? (aux surface was not zeroes) Those failures on my link ci are
> >>> with failing crc which mean the picture on screen was not correct.
> >>
> >> I was looking into this just this morning and posted some
> >> half-conclusions here:
> >>
> >> https://lore.kernel.org/intel-xe/eb3a3729-e8ef-4868-b8ff-b6efd66ef4fa@igalia.com/T/#u
> >>
> >> When you say test with a clear image that I did not. I smoke tested it
> >> in desktop usage and looked at kms_flip_tiling which visually looks
> >> correct but as the above msg-id talks about, something is potentially
> >> fishy with crc collections and/or vblank handling. Since display isn't
> >> my area of expertise that is as far as I could get.
> >
> > Those test explicitly testing for flipping and such may show there
> > something interesting but imo unrelated to this situation (for now).
> >
> > If you have adlp machine where you see the screen you could try those
> > kms_ccs crc tests, you can run the tests in interactive mode with
> > '--i' parameter where the test always stop at commit so you'll see
> > what's there on screen. On kms_ccs I would not expect any vblank/other
> > issues to interfere crc because kms_ccs uses
> > igt_pipe_crc_collect_crc() to get the crc, what this mean is once the
> > test image is on screen crc counting is started, collected one crc and
> > crc counting is stopped .. to get the first crc this way few vblanks
> > have passed already since getting image on screen. Then on kms_ccs
> > test there is -c flag which should check there is something written on
> > aux surface. Getting these to work reliably I think is the first
> > thing...and on that subject I'd at first concentrate just one gen12rc
> > ccs, not ccs-cc and not mc ccs. I'd get these results by myself but
> > I'm bit of recovering at home and don't have needed hw in my hands.
>
> kms_crc with and without -c are both a complete pass.

I tried this too, the result is..interesting. I tried adlp and mtlp.
Reading crc on adlp seems to do something unexpected for display on
Xe. If you run kms_ccs on adlp with interactive parameter and step
forward those images you'll likely see lot of broken images but crc
still matches as if image was correct.

On adlp it look like image is given to display hw too early, some
timing somewhere go wrong, I often saw images where primary surface
was written but aux surface was not yet fully written (you'll get
compression markers on screen from main surface because unwritten aux
says nothing is compressed). If I fix kms_ccs to read crcs
continuously it will never pass crc checks, same as is seen in many
other tests. It did look like enabling crc creation caused update on
frontbuffer which fixed the image since at that moment compressors
were already done. It did seem mc ccs was much more easy to get this
effect to show, rc ccs was 50-50 on Lenovo laptop I tried while mc ccs
was far more frequent.

I did also try run kms_plane pixel-format tests and there I see lot of
broken images. On pixel-format tests there's supposing to be 64x64 fb
with either horizontal lines or full color (for planar formats) but I
see lot of broken images which make me think this issue is not about
ccs but maybe some timing or caching issue. Essential difference with
kms_plane pixel format tests and kms_ccs is kms_ccs use render engine
(and media engine for mc) while pixel format tests use copy engine and
they failed quite equally.

On mtlp there are similar issues but mc ccs cannot run at all, any try
to use media engine (which is needed to compress mc ccs) just crashed
the engine. Probably nobody ever tried any of these with Xe.

>
> > On that lore.kernel.org thread where you mention "Bad CRC also varies
> > run to run, while visually things look fine to me on screen. Also a
> > delay before collecting the crc seems to improve things." could be
> > quite much anything, my first quess with those always is some
> > alignment missed somewhere.
>
> Going back to kms_flip_tiling it is hard to figure out what's up. Good
> news is that I have spotted some visual glitching but it mostly only
> happens withing the first few frames after commit of the reference frame.
>
> For instance when I add a loop such as:
>
> diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
> index e937c21716ad..5538fe88c5a0 100644
> --- a/tests/intel/kms_flip_tiling.c
> +++ b/tests/intel/kms_flip_tiling.c
> @@ -131,7 +131,10 @@ test_flip_tiling(data_t *data, enum pipe pipe,
> igt_output_t *output, uint64_t mo
>                        "commit failed with " IGT_MODIFIER_FMT "\n",
>                        IGT_MODIFIER_ARGS(modifier[1]));
>          pipe_crc_new(data, pipe);
> -       igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc,
> &reference_crc);
> +       ret = 20;
> +       while (ret--)
> +               igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc,
> +                                        &reference_crc);

This matches to what I saw, on adlp/mtlp framebuffers are given to
display too early or something need to be triggered before display get
correct image. Once the image is in frontbuffer it is on screen and if
caches/engines/.. were not ready then that show on screen as broken
image.

>
>          /* Commit the first fb. */
>          igt_plane_set_fb(primary, &data->fb[0]);
>
> All tests pass.
>
> Could this be interacting with some other display feature like fbc or psr?

I wouldn't expect this to be fbc/psr issue. While those can be source
for screen glithes, when I see partially ccs compressed images on
screen I know all updating was correct for fbc/psr, just that the
original was broken.

>
> There is also something interesting with CRC if I put a sleep into that
> loop. Apparently something gets powered off and CRC garbage such as
> 0xffffffff starts appearing. But only if there is a sleep for like
> 250ms. A busy loop can go for 3000 frames and not hit that.

I have hunch this relate to intel_crtc_crc_setup_workarounds but can't
say for sure. I've been trying to find crc setup related bugs
recently.

Anyway, with those random bugs it's difficult to say how far adlp is
from being supported on Xe and not sure how media engine really work
there since it doesn't work at all on mtlp with Xe.

/Juha-Pekka

>
> Regards,
>
> Tvrtko
>
> >>>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> >>>>>> ---
> >>>>>>     drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
> >>>>>>     1 file changed, 48 insertions(+), 93 deletions(-)
> >>>>>>
> >>>>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>>>> b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>>>> index c28885316986..70322f28eee5 100644
> >>>>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> >>>>>> @@ -14,66 +14,44 @@
> >>>>>>     #include "xe_ggtt.h"
> >>>>>>     #include "xe_pm.h"
> >>>>>> -static void
> >>>>>> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32
> >>>>>> *dpt_ofs, u32 bo_ofs,
> >>>>>> -          u32 width, u32 height, u32 src_stride, u32 dst_stride)
> >>>>>> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map
> >>>>>> *map,
> >>>>>> +                 u32 *ofs, u32 src_idx, struct xe_device *xe)
> >>>>>>     {
> >>>>>> -    struct xe_device *xe = xe_bo_device(bo);
> >>>>>>         struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> >>>>>> -    u32 column, row;
> >>>>>> -
> >>>>>> -    /* TODO: Maybe rewrite so we can traverse the bo addresses
> >>>>>> sequentially,
> >>>>>> -     * by writing dpt/ggtt in a different order?
> >>>>>> -     */
> >>>>>> -
> >>>>>> -    for (column = 0; column < width; column++) {
> >>>>>> -        u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
> >>>>>> -
> >>>>>> -        for (row = 0; row < height; row++) {
> >>>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx *
> >>>>>> XE_PAGE_SIZE,
> >>>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
> >>>>>> -
> >>>>>> -            iosys_map_wr(map, *dpt_ofs, u64, pte);
> >>>>>> -            *dpt_ofs += 8;
> >>>>>> -            src_idx -= src_stride;
> >>>>>> -        }
> >>>>>> -
> >>>>>> -        /* The DE ignores the PTEs for the padding tiles */
> >>>>>> -        *dpt_ofs += (dst_stride - height) * 8;
> >>>>>> -    }
> >>>>>> -
> >>>>>> -    /* Align to next page */
> >>>>>> -    *dpt_ofs = ALIGN(*dpt_ofs, 4096);
> >>>>>> +    u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> >>>>>> +                          xe->pat.idx[XE_CACHE_NONE]);
> >>>>>> +    iosys_map_wr(map, *ofs, u64, pte);
> >>>>>> +    *ofs += 8;
> >>>>>>     }
> >>>>>> -static void
> >>>>>> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32
> >>>>>> *dpt_ofs,
> >>>>>> -           u32 bo_ofs, u32 width, u32 height, u32 src_stride,
> >>>>>> -           u32 dst_stride)
> >>>>>> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32
> >>>>>> *dpt_ofs,
> >>>>>> +              const struct intel_remapped_plane_info *plane,
> >>>>>> +              enum i915_gtt_view_type type)
> >>>>>>     {
> >>>>>>         struct xe_device *xe = xe_bo_device(bo);
> >>>>>> -    struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
> >>>>>> -    u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
> >>>>>> -        = ggtt->pt_ops->pte_encode_bo;
> >>>>>> -    u32 column, row;
> >>>>>> -
> >>>>>> -    for (row = 0; row < height; row++) {
> >>>>>> -        u32 src_idx = src_stride * row + bo_ofs;
> >>>>>> -
> >>>>>> -        for (column = 0; column < width; column++) {
> >>>>>> -            iosys_map_wr(map, *dpt_ofs, u64,
> >>>>>> -                     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
> >>>>>> -                     xe->pat.idx[XE_CACHE_NONE]));
> >>>>>> -
> >>>>>> -            *dpt_ofs += 8;
> >>>>>> -            src_idx++;
> >>>>>> +    const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
> >>>>>> +    const u32 dest_width = plane->width;
> >>>>>> +    const u32 dest_height = plane->height;
> >>>>>> +    u32 src_idx;
> >>>>>> +
> >>>>>> +    for (u32 row = 0; row < dest_height; ++row) {
> >>>>>> +        for (u32 column = 0; column < dest_width; ++column) {
> >>>>>> +            switch (type) {
> >>>>>> +            case I915_GTT_VIEW_NORMAL:
> >>>>>> +                src_idx = plane->offset + column;
> >>>>>> +                break;
> >>>>>> +            case I915_GTT_VIEW_REMAPPED:
> >>>>>> +                src_idx = plane->offset +
> >>>>>> +                    row * plane->src_stride + column;
> >>>>>> +                break;
> >>>>>> +            default:
> >>>>>> +                WARN(1, "Unsupported GTT view type: %d", type);
> >>>>>> +                return;
> >>>>>> +            }
> >>>>>> +            encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
> >>>>>>             }
> >>>>>> -
> >>>>>> -        /* The DE ignores the PTEs for the padding tiles */
> >>>>>> -        *dpt_ofs += (dst_stride - width) * 8;
> >>>>>> +        *dpt_ofs += dpt_even;
> >>>>>>         }
> >>>>>> -
> >>>>>> -    /* Align to next page */
> >>>>>>         *dpt_ofs = ALIGN(*dpt_ofs, 4096);
> >>>>>>     }
> >>>>>> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct
> >>>>>> intel_framebuffer *fb,
> >>>>>>     {
> >>>>>>         struct xe_device *xe = to_xe_device(fb->base.dev);
> >>>>>>         struct xe_tile *tile0 = xe_device_get_root_tile(xe);
> >>>>>> -    struct xe_ggtt *ggtt = tile0->mem.ggtt;
> >>>>>>         struct drm_gem_object *obj = intel_fb_bo(&fb->base);
> >>>>>>         struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
> >>>>>>         u32 dpt_size, size = bo->ttm.base.size;
> >>>>>> +    const struct intel_remapped_plane_info *plane;
> >>>>>> +    u32 i, plane_count, dpt_ofs = 0;
> >>>>>> +    struct intel_remapped_plane_info normal_plane;
> >>>>>> -    if (view->type == I915_GTT_VIEW_NORMAL)
> >>>>>> +    if (view->type == I915_GTT_VIEW_NORMAL) {
> >>>>>>             dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
> >>>>>> -    else if (view->type == I915_GTT_VIEW_REMAPPED)
> >>>>>> -        dpt_size =
> >>>>>> ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
> >>>>>> -                 XE_PAGE_SIZE);
> >>>>>> -    else
> >>>>>> -        /* display uses 4K tiles instead of bytes here, convert to
> >>>>>> entries.. */
> >>>>>> -        dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
> >>>>>> +        normal_plane.offset = 0;
> >>>>>> +        normal_plane.width = size / XE_PAGE_SIZE;
> >>>>>> +        normal_plane.height = 1;
> >>>>>> +        normal_plane.src_stride = size / XE_PAGE_SIZE;
> >>>>>> +        normal_plane.dst_stride = size / XE_PAGE_SIZE;
> >>>>>> +        plane = &normal_plane;
> >>>>>> +        plane_count = 1;
> >>>>>> +    } else {
> >>>>>> +        dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
> >>>>>>                      XE_PAGE_SIZE);
> >>>>>> +        plane = view->remapped.plane;
> >>>>>> +        plane_count = ARRAY_SIZE(view->remapped.plane);
> >>>>>> +    }
> >>>>>>         dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
> >>>>>>         if (IS_ERR(dpt))
> >>>>>>             return PTR_ERR(dpt);
> >>>>>> -    if (view->type == I915_GTT_VIEW_NORMAL) {
> >>>>>> -        u32 x;
> >>>>>> -
> >>>>>> -        for (x = 0; x < size / XE_PAGE_SIZE; x++) {
> >>>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
> >>>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
> >>>>>> -
> >>>>>> -            iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
> >>>>>> -        }
> >>>>>> -    } else if (view->type == I915_GTT_VIEW_REMAPPED) {
> >>>>>> -        const struct intel_remapped_info *remap_info = &view->remapped;
> >>>>>> -        u32 i, dpt_ofs = 0;
> >>>>>> -
> >>>>>> -        for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
> >>>>>> -            write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
> >>>>>> -                       remap_info->plane[i].offset,
> >>>>>> -                       remap_info->plane[i].width,
> >>>>>> -                       remap_info->plane[i].height,
> >>>>>> -                       remap_info->plane[i].src_stride,
> >>>>>> -                       remap_info->plane[i].dst_stride);
> >>>>>> -
> >>>>>> -    } else {
> >>>>>> -        const struct intel_rotation_info *rot_info = &view->rotated;
> >>>>>> -        u32 i, dpt_ofs = 0;
> >>>>>> -
> >>>>>> -        for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
> >>>>>> -            write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
> >>>>>> -                      rot_info->plane[i].offset,
> >>>>>> -                      rot_info->plane[i].width,
> >>>>>> -                      rot_info->plane[i].height,
> >>>>>> -                      rot_info->plane[i].src_stride,
> >>>>>> -                      rot_info->plane[i].dst_stride);
> >>>>>> -    }
> >>>>>> +    for (i = 0; i < plane_count; i++)
> >>>>>> +        write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
> >>>>>>         vma->dpt = dpt;
> >>>>>>         vma->node = dpt->ggtt_node[tile0->id];

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-02-07 14:33               ` Juha-Pekka Heikkilä
@ 2025-02-11 11:22                 ` Tvrtko Ursulin
  0 siblings, 0 replies; 31+ messages in thread
From: Tvrtko Ursulin @ 2025-02-11 11:22 UTC (permalink / raw)
  To: Juha-Pekka Heikkilä; +Cc: intel-xe


On 07/02/2025 14:33, Juha-Pekka Heikkilä wrote:
> On Tue, Feb 4, 2025 at 8:05 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>>
>>
>> On 04/02/2025 13:11, Juha-Pekka Heikkilä wrote:
>>> On Tue, Feb 4, 2025 at 2:31 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>>>>
>>>>
>>>> On 04/02/2025 12:10, Juha-Pekka Heikkilä wrote:
>>>>> On Tue, Feb 4, 2025 at 1:38 PM Tvrtko Ursulin <tursulin@ursulin.net> wrote:
>>>>>>
>>>>>>
>>>>>> On 04/02/2025 11:25, Tvrtko Ursulin wrote:
>>>>>>>
>>>>>>> On 14/01/2025 18:04, Juha-Pekka Heikkila wrote:
>>>>>>>> Unify writing of remapped and straight DPTs. Take out writing of
>>>>>>>> rotated DPT since Xe doesn't support any platform that does
>>>>>>>> 90 degree rotated framebuffers.
>>>>>>>
>>>>>>> Consider giving my series which fixes AuxCSS a look instead? Given there
>>>>>>> is external interest to have all that work on ADL-P. I could respin with
>>>>>>> rotated cleaned up in a similar fashion I did for remapped. Maintenance
>>>>>>> cost is minimal since it is all very contained.
>>>>>>
>>>>>> Oh ADL-P does not support hardware rotation. I missed the fact it is
>>>>>> display version 13..
>>>>>>
>>>>>> But the point regarding changes to remapping code are still valid I
>>>>>> think, since to suport aux plane the refactoring from this patch looks
>>>>>> in the wrong direction.
>>>>>>
>>>>>
>>>>> Yea, I kinda agree here with Tvrtko. I did earlier mention this to
>>>>> JSaa. That aux thing will need to be checked.
>>>>
>>>> Ah cool, fingers crossed.
>>>>
>>>>> Though, how far are we with your set Tvrtko? It did seem lot kms_ccs
>>>>> tests failed.
>>>>> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-144186v1/shards-all.html?testfilter=kms_ccs.*crc.*gen12&hosts=adlp
>>>>>
>>>>> Did you check you had compression when you had clean image on your
>>>>> machine? (aux surface was not zeroes) Those failures on my link ci are
>>>>> with failing crc which mean the picture on screen was not correct.
>>>>
>>>> I was looking into this just this morning and posted some
>>>> half-conclusions here:
>>>>
>>>> https://lore.kernel.org/intel-xe/eb3a3729-e8ef-4868-b8ff-b6efd66ef4fa@igalia.com/T/#u
>>>>
>>>> When you say test with a clear image that I did not. I smoke tested it
>>>> in desktop usage and looked at kms_flip_tiling which visually looks
>>>> correct but as the above msg-id talks about, something is potentially
>>>> fishy with crc collections and/or vblank handling. Since display isn't
>>>> my area of expertise that is as far as I could get.
>>>
>>> Those test explicitly testing for flipping and such may show there
>>> something interesting but imo unrelated to this situation (for now).
>>>
>>> If you have adlp machine where you see the screen you could try those
>>> kms_ccs crc tests, you can run the tests in interactive mode with
>>> '--i' parameter where the test always stop at commit so you'll see
>>> what's there on screen. On kms_ccs I would not expect any vblank/other
>>> issues to interfere crc because kms_ccs uses
>>> igt_pipe_crc_collect_crc() to get the crc, what this mean is once the
>>> test image is on screen crc counting is started, collected one crc and
>>> crc counting is stopped .. to get the first crc this way few vblanks
>>> have passed already since getting image on screen. Then on kms_ccs
>>> test there is -c flag which should check there is something written on
>>> aux surface. Getting these to work reliably I think is the first
>>> thing...and on that subject I'd at first concentrate just one gen12rc
>>> ccs, not ccs-cc and not mc ccs. I'd get these results by myself but
>>> I'm bit of recovering at home and don't have needed hw in my hands.
>>
>> kms_crc with and without -c are both a complete pass.
> 
> I tried this too, the result is..interesting. I tried adlp and mtlp.
> Reading crc on adlp seems to do something unexpected for display on
> Xe. If you run kms_ccs on adlp with interactive parameter and step
> forward those images you'll likely see lot of broken images but crc
> still matches as if image was correct.
> 
> On adlp it look like image is given to display hw too early, some
> timing somewhere go wrong, I often saw images where primary surface
> was written but aux surface was not yet fully written (you'll get
> compression markers on screen from main surface because unwritten aux
> says nothing is compressed). If I fix kms_ccs to read crcs
> continuously it will never pass crc checks, same as is seen in many
> other tests. It did look like enabling crc creation caused update on
> frontbuffer which fixed the image since at that moment compressors
> were already done. It did seem mc ccs was much more easy to get this
> effect to show, rc ccs was 50-50 on Lenovo laptop I tried while mc ccs
> was far more frequent.
> 
> I did also try run kms_plane pixel-format tests and there I see lot of
> broken images. On pixel-format tests there's supposing to be 64x64 fb
> with either horizontal lines or full color (for planar formats) but I
> see lot of broken images which make me think this issue is not about
> ccs but maybe some timing or caching issue. Essential difference with
> kms_plane pixel format tests and kms_ccs is kms_ccs use render engine
> (and media engine for mc) while pixel format tests use copy engine and
> they failed quite equally.
> 
> On mtlp there are similar issues but mc ccs cannot run at all, any try
> to use media engine (which is needed to compress mc ccs) just crashed
> the engine. Probably nobody ever tried any of these with Xe.
> 
>>
>>> On that lore.kernel.org thread where you mention "Bad CRC also varies
>>> run to run, while visually things look fine to me on screen. Also a
>>> delay before collecting the crc seems to improve things." could be
>>> quite much anything, my first quess with those always is some
>>> alignment missed somewhere.
>>
>> Going back to kms_flip_tiling it is hard to figure out what's up. Good
>> news is that I have spotted some visual glitching but it mostly only
>> happens withing the first few frames after commit of the reference frame.
>>
>> For instance when I add a loop such as:
>>
>> diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
>> index e937c21716ad..5538fe88c5a0 100644
>> --- a/tests/intel/kms_flip_tiling.c
>> +++ b/tests/intel/kms_flip_tiling.c
>> @@ -131,7 +131,10 @@ test_flip_tiling(data_t *data, enum pipe pipe,
>> igt_output_t *output, uint64_t mo
>>                         "commit failed with " IGT_MODIFIER_FMT "\n",
>>                         IGT_MODIFIER_ARGS(modifier[1]));
>>           pipe_crc_new(data, pipe);
>> -       igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc,
>> &reference_crc);
>> +       ret = 20;
>> +       while (ret--)
>> +               igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc,
>> +                                        &reference_crc);
> 
> This matches to what I saw, on adlp/mtlp framebuffers are given to
> display too early or something need to be triggered before display get
> correct image. Once the image is in frontbuffer it is on screen and if
> caches/engines/.. were not ready then that show on screen as broken
> image.
> 
>>
>>           /* Commit the first fb. */
>>           igt_plane_set_fb(primary, &data->fb[0]);
>>
>> All tests pass.
>>
>> Could this be interacting with some other display feature like fbc or psr?
> 
> I wouldn't expect this to be fbc/psr issue. While those can be source
> for screen glithes, when I see partially ccs compressed images on
> screen I know all updating was correct for fbc/psr, just that the
> original was broken.
> 
>>
>> There is also something interesting with CRC if I put a sleep into that
>> loop. Apparently something gets powered off and CRC garbage such as
>> 0xffffffff starts appearing. But only if there is a sleep for like
>> 250ms. A busy loop can go for 3000 frames and not hit that.
> 
> I have hunch this relate to intel_crtc_crc_setup_workarounds but can't
> say for sure. I've been trying to find crc setup related bugs
> recently.
> 
> Anyway, with those random bugs it's difficult to say how far adlp is
> from being supported on Xe and not sure how media engine really work
> there since it doesn't work at all on mtlp with Xe.

Thanks for looking into this!

I explored a bit more and eventually figured out it is most probably 
about the missing AuxCCS invalidation. I'll have a go transplanting that 
code over from i915 and see how that will go.

Regards,

Tvrtko

>> Regards,
>>
>> Tvrtko
>>
>>>>>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>>>>>>> ---
>>>>>>>>      drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
>>>>>>>>      1 file changed, 48 insertions(+), 93 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>>>> b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>>>> index c28885316986..70322f28eee5 100644
>>>>>>>> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>>>> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
>>>>>>>> @@ -14,66 +14,44 @@
>>>>>>>>      #include "xe_ggtt.h"
>>>>>>>>      #include "xe_pm.h"
>>>>>>>> -static void
>>>>>>>> -write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32
>>>>>>>> *dpt_ofs, u32 bo_ofs,
>>>>>>>> -          u32 width, u32 height, u32 src_stride, u32 dst_stride)
>>>>>>>> +static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map
>>>>>>>> *map,
>>>>>>>> +                 u32 *ofs, u32 src_idx, struct xe_device *xe)
>>>>>>>>      {
>>>>>>>> -    struct xe_device *xe = xe_bo_device(bo);
>>>>>>>>          struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>>>>>>>> -    u32 column, row;
>>>>>>>> -
>>>>>>>> -    /* TODO: Maybe rewrite so we can traverse the bo addresses
>>>>>>>> sequentially,
>>>>>>>> -     * by writing dpt/ggtt in a different order?
>>>>>>>> -     */
>>>>>>>> -
>>>>>>>> -    for (column = 0; column < width; column++) {
>>>>>>>> -        u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
>>>>>>>> -
>>>>>>>> -        for (row = 0; row < height; row++) {
>>>>>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx *
>>>>>>>> XE_PAGE_SIZE,
>>>>>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>>>>>>>> -
>>>>>>>> -            iosys_map_wr(map, *dpt_ofs, u64, pte);
>>>>>>>> -            *dpt_ofs += 8;
>>>>>>>> -            src_idx -= src_stride;
>>>>>>>> -        }
>>>>>>>> -
>>>>>>>> -        /* The DE ignores the PTEs for the padding tiles */
>>>>>>>> -        *dpt_ofs += (dst_stride - height) * 8;
>>>>>>>> -    }
>>>>>>>> -
>>>>>>>> -    /* Align to next page */
>>>>>>>> -    *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>>>>> +    u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>>>>>>>> +                          xe->pat.idx[XE_CACHE_NONE]);
>>>>>>>> +    iosys_map_wr(map, *ofs, u64, pte);
>>>>>>>> +    *ofs += 8;
>>>>>>>>      }
>>>>>>>> -static void
>>>>>>>> -write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32
>>>>>>>> *dpt_ofs,
>>>>>>>> -           u32 bo_ofs, u32 width, u32 height, u32 src_stride,
>>>>>>>> -           u32 dst_stride)
>>>>>>>> +static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32
>>>>>>>> *dpt_ofs,
>>>>>>>> +              const struct intel_remapped_plane_info *plane,
>>>>>>>> +              enum i915_gtt_view_type type)
>>>>>>>>      {
>>>>>>>>          struct xe_device *xe = xe_bo_device(bo);
>>>>>>>> -    struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
>>>>>>>> -    u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
>>>>>>>> -        = ggtt->pt_ops->pte_encode_bo;
>>>>>>>> -    u32 column, row;
>>>>>>>> -
>>>>>>>> -    for (row = 0; row < height; row++) {
>>>>>>>> -        u32 src_idx = src_stride * row + bo_ofs;
>>>>>>>> -
>>>>>>>> -        for (column = 0; column < width; column++) {
>>>>>>>> -            iosys_map_wr(map, *dpt_ofs, u64,
>>>>>>>> -                     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
>>>>>>>> -                     xe->pat.idx[XE_CACHE_NONE]));
>>>>>>>> -
>>>>>>>> -            *dpt_ofs += 8;
>>>>>>>> -            src_idx++;
>>>>>>>> +    const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
>>>>>>>> +    const u32 dest_width = plane->width;
>>>>>>>> +    const u32 dest_height = plane->height;
>>>>>>>> +    u32 src_idx;
>>>>>>>> +
>>>>>>>> +    for (u32 row = 0; row < dest_height; ++row) {
>>>>>>>> +        for (u32 column = 0; column < dest_width; ++column) {
>>>>>>>> +            switch (type) {
>>>>>>>> +            case I915_GTT_VIEW_NORMAL:
>>>>>>>> +                src_idx = plane->offset + column;
>>>>>>>> +                break;
>>>>>>>> +            case I915_GTT_VIEW_REMAPPED:
>>>>>>>> +                src_idx = plane->offset +
>>>>>>>> +                    row * plane->src_stride + column;
>>>>>>>> +                break;
>>>>>>>> +            default:
>>>>>>>> +                WARN(1, "Unsupported GTT view type: %d", type);
>>>>>>>> +                return;
>>>>>>>> +            }
>>>>>>>> +            encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
>>>>>>>>              }
>>>>>>>> -
>>>>>>>> -        /* The DE ignores the PTEs for the padding tiles */
>>>>>>>> -        *dpt_ofs += (dst_stride - width) * 8;
>>>>>>>> +        *dpt_ofs += dpt_even;
>>>>>>>>          }
>>>>>>>> -
>>>>>>>> -    /* Align to next page */
>>>>>>>>          *dpt_ofs = ALIGN(*dpt_ofs, 4096);
>>>>>>>>      }
>>>>>>>> @@ -125,59 +103,36 @@ static int __xe_pin_fb_vma_dpt(const struct
>>>>>>>> intel_framebuffer *fb,
>>>>>>>>      {
>>>>>>>>          struct xe_device *xe = to_xe_device(fb->base.dev);
>>>>>>>>          struct xe_tile *tile0 = xe_device_get_root_tile(xe);
>>>>>>>> -    struct xe_ggtt *ggtt = tile0->mem.ggtt;
>>>>>>>>          struct drm_gem_object *obj = intel_fb_bo(&fb->base);
>>>>>>>>          struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
>>>>>>>>          u32 dpt_size, size = bo->ttm.base.size;
>>>>>>>> +    const struct intel_remapped_plane_info *plane;
>>>>>>>> +    u32 i, plane_count, dpt_ofs = 0;
>>>>>>>> +    struct intel_remapped_plane_info normal_plane;
>>>>>>>> -    if (view->type == I915_GTT_VIEW_NORMAL)
>>>>>>>> +    if (view->type == I915_GTT_VIEW_NORMAL) {
>>>>>>>>              dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
>>>>>>>> -    else if (view->type == I915_GTT_VIEW_REMAPPED)
>>>>>>>> -        dpt_size =
>>>>>>>> ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
>>>>>>>> -                 XE_PAGE_SIZE);
>>>>>>>> -    else
>>>>>>>> -        /* display uses 4K tiles instead of bytes here, convert to
>>>>>>>> entries.. */
>>>>>>>> -        dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
>>>>>>>> +        normal_plane.offset = 0;
>>>>>>>> +        normal_plane.width = size / XE_PAGE_SIZE;
>>>>>>>> +        normal_plane.height = 1;
>>>>>>>> +        normal_plane.src_stride = size / XE_PAGE_SIZE;
>>>>>>>> +        normal_plane.dst_stride = size / XE_PAGE_SIZE;
>>>>>>>> +        plane = &normal_plane;
>>>>>>>> +        plane_count = 1;
>>>>>>>> +    } else {
>>>>>>>> +        dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
>>>>>>>>                       XE_PAGE_SIZE);
>>>>>>>> +        plane = view->remapped.plane;
>>>>>>>> +        plane_count = ARRAY_SIZE(view->remapped.plane);
>>>>>>>> +    }
>>>>>>>>          dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, physical_alignment);
>>>>>>>>          if (IS_ERR(dpt))
>>>>>>>>              return PTR_ERR(dpt);
>>>>>>>> -    if (view->type == I915_GTT_VIEW_NORMAL) {
>>>>>>>> -        u32 x;
>>>>>>>> -
>>>>>>>> -        for (x = 0; x < size / XE_PAGE_SIZE; x++) {
>>>>>>>> -            u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
>>>>>>>> -                                  xe->pat.idx[XE_CACHE_NONE]);
>>>>>>>> -
>>>>>>>> -            iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
>>>>>>>> -        }
>>>>>>>> -    } else if (view->type == I915_GTT_VIEW_REMAPPED) {
>>>>>>>> -        const struct intel_remapped_info *remap_info = &view->remapped;
>>>>>>>> -        u32 i, dpt_ofs = 0;
>>>>>>>> -
>>>>>>>> -        for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
>>>>>>>> -            write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
>>>>>>>> -                       remap_info->plane[i].offset,
>>>>>>>> -                       remap_info->plane[i].width,
>>>>>>>> -                       remap_info->plane[i].height,
>>>>>>>> -                       remap_info->plane[i].src_stride,
>>>>>>>> -                       remap_info->plane[i].dst_stride);
>>>>>>>> -
>>>>>>>> -    } else {
>>>>>>>> -        const struct intel_rotation_info *rot_info = &view->rotated;
>>>>>>>> -        u32 i, dpt_ofs = 0;
>>>>>>>> -
>>>>>>>> -        for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
>>>>>>>> -            write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
>>>>>>>> -                      rot_info->plane[i].offset,
>>>>>>>> -                      rot_info->plane[i].width,
>>>>>>>> -                      rot_info->plane[i].height,
>>>>>>>> -                      rot_info->plane[i].src_stride,
>>>>>>>> -                      rot_info->plane[i].dst_stride);
>>>>>>>> -    }
>>>>>>>> +    for (i = 0; i < plane_count; i++)
>>>>>>>> +        write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
>>>>>>>>          vma->dpt = dpt;
>>>>>>>>          vma->node = dpt->ggtt_node[tile0->id];


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH 2/2] drm/xe/display: Unify display page table mapping
  2025-05-13 14:14 Juha-Pekka Heikkila
@ 2025-05-13 14:14 ` Juha-Pekka Heikkila
  0 siblings, 0 replies; 31+ messages in thread
From: Juha-Pekka Heikkila @ 2025-05-13 14:14 UTC (permalink / raw)
  To: intel-xe; +Cc: Juha-Pekka Heikkila, Jonathan Cavitt

Unify writing of remapped and straight DPTs. Take out writing of
rotated DPT since Xe doesn't support any platform that does
90 degree rotated framebuffers.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
---
 drivers/gpu/drm/xe/display/xe_fb_pin.c | 141 +++++++++----------------
 1 file changed, 48 insertions(+), 93 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
index 540e5f31e655..68c9916b4a95 100644
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
@@ -16,66 +16,44 @@
 #include "xe_ggtt.h"
 #include "xe_pm.h"
 
-static void
-write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs, u32 bo_ofs,
-		  u32 width, u32 height, u32 src_stride, u32 dst_stride)
+static void encode_and_write_pte(struct xe_bo *bo, struct iosys_map *map,
+				 u32 *ofs, u32 src_idx, struct xe_device *xe)
 {
-	struct xe_device *xe = xe_bo_device(bo);
 	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
-	u32 column, row;
-
-	/* TODO: Maybe rewrite so we can traverse the bo addresses sequentially,
-	 * by writing dpt/ggtt in a different order?
-	 */
-
-	for (column = 0; column < width; column++) {
-		u32 src_idx = src_stride * (height - 1) + column + bo_ofs;
-
-		for (row = 0; row < height; row++) {
-			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
-							      xe->pat.idx[XE_CACHE_NONE]);
-
-			iosys_map_wr(map, *dpt_ofs, u64, pte);
-			*dpt_ofs += 8;
-			src_idx -= src_stride;
-		}
-
-		/* The DE ignores the PTEs for the padding tiles */
-		*dpt_ofs += (dst_stride - height) * 8;
-	}
-
-	/* Align to next page */
-	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
+	u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
+					      xe->pat.idx[XE_CACHE_NONE]);
+	iosys_map_wr(map, *ofs, u64, pte);
+	*ofs += 8;
 }
 
-static void
-write_dpt_remapped(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
-		   u32 bo_ofs, u32 width, u32 height, u32 src_stride,
-		   u32 dst_stride)
+static void write_dpt(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs,
+		      const struct intel_remapped_plane_info *plane,
+		      enum i915_gtt_view_type type)
 {
 	struct xe_device *xe = xe_bo_device(bo);
-	struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
-	u64 (*pte_encode_bo)(struct xe_bo *bo, u64 bo_offset, u16 pat_index)
-		= ggtt->pt_ops->pte_encode_bo;
-	u32 column, row;
-
-	for (row = 0; row < height; row++) {
-		u32 src_idx = src_stride * row + bo_ofs;
-
-		for (column = 0; column < width; column++) {
-			iosys_map_wr(map, *dpt_ofs, u64,
-				     pte_encode_bo(bo, src_idx * XE_PAGE_SIZE,
-				     xe->pat.idx[XE_CACHE_NONE]));
-
-			*dpt_ofs += 8;
-			src_idx++;
+	const u32 dpt_even = (plane->dst_stride - plane->width) * 8;
+	const u32 dest_width = plane->width;
+	const u32 dest_height = plane->height;
+	u32 src_idx;
+
+	for (u32 row = 0; row < dest_height; ++row) {
+		for (u32 column = 0; column < dest_width; ++column) {
+			switch (type) {
+			case I915_GTT_VIEW_NORMAL:
+				src_idx = plane->offset + column;
+				break;
+			case I915_GTT_VIEW_REMAPPED:
+				src_idx = plane->offset +
+					row * plane->src_stride + column;
+				break;
+			default:
+				WARN(1, "Unsupported GTT view type: %d", type);
+				return;
+			}
+			encode_and_write_pte(bo, map, dpt_ofs, src_idx, xe);
 		}
-
-		/* The DE ignores the PTEs for the padding tiles */
-		*dpt_ofs += (dst_stride - width) * 8;
+		*dpt_ofs += dpt_even;
 	}
-
-	/* Align to next page */
 	*dpt_ofs = ALIGN(*dpt_ofs, 4096);
 }
 
@@ -127,59 +105,36 @@ static int __xe_pin_fb_vma_dpt(const struct intel_framebuffer *fb,
 {
 	struct xe_device *xe = to_xe_device(fb->base.dev);
 	struct xe_tile *tile0 = xe_device_get_root_tile(xe);
-	struct xe_ggtt *ggtt = tile0->mem.ggtt;
 	struct drm_gem_object *obj = intel_fb_bo(&fb->base);
 	struct xe_bo *bo = gem_to_xe_bo(obj), *dpt;
 	u32 dpt_size, size = bo->ttm.base.size;
+	const struct intel_remapped_plane_info *plane;
+	u32 i, plane_count, dpt_ofs = 0;
+	struct intel_remapped_plane_info normal_plane;
 
-	if (view->type == I915_GTT_VIEW_NORMAL)
+	if (view->type == I915_GTT_VIEW_NORMAL) {
 		dpt_size = ALIGN(size / XE_PAGE_SIZE * 8, XE_PAGE_SIZE);
-	else if (view->type == I915_GTT_VIEW_REMAPPED)
-		dpt_size = ALIGN(intel_remapped_info_size(&fb->remapped_view.gtt.remapped) * 8,
-				 XE_PAGE_SIZE);
-	else
-		/* display uses 4K tiles instead of bytes here, convert to entries.. */
-		dpt_size = ALIGN(intel_rotation_info_size(&view->rotated) * 8,
+		normal_plane.offset = 0;
+		normal_plane.width = size / XE_PAGE_SIZE;
+		normal_plane.height = 1;
+		normal_plane.src_stride = size / XE_PAGE_SIZE;
+		normal_plane.dst_stride = size / XE_PAGE_SIZE;
+		plane = &normal_plane;
+		plane_count = 1;
+	} else {
+		dpt_size = ALIGN(intel_remapped_info_size(&view->remapped) * 8,
 				 XE_PAGE_SIZE);
+		plane = view->remapped.plane;
+		plane_count = ARRAY_SIZE(view->remapped.plane);
+	}
 
 	dpt = xe_alloc_dpt_bo(xe, tile0, dpt_size, alignment);
 
 	if (IS_ERR(dpt))
 		return PTR_ERR(dpt);
 
-	if (view->type == I915_GTT_VIEW_NORMAL) {
-		u32 x;
-
-		for (x = 0; x < size / XE_PAGE_SIZE; x++) {
-			u64 pte = ggtt->pt_ops->pte_encode_bo(bo, x * XE_PAGE_SIZE,
-							      xe->pat.idx[XE_CACHE_NONE]);
-
-			iosys_map_wr(&dpt->vmap, x * 8, u64, pte);
-		}
-	} else if (view->type == I915_GTT_VIEW_REMAPPED) {
-		const struct intel_remapped_info *remap_info = &view->remapped;
-		u32 i, dpt_ofs = 0;
-
-		for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++)
-			write_dpt_remapped(bo, &dpt->vmap, &dpt_ofs,
-					   remap_info->plane[i].offset,
-					   remap_info->plane[i].width,
-					   remap_info->plane[i].height,
-					   remap_info->plane[i].src_stride,
-					   remap_info->plane[i].dst_stride);
-
-	} else {
-		const struct intel_rotation_info *rot_info = &view->rotated;
-		u32 i, dpt_ofs = 0;
-
-		for (i = 0; i < ARRAY_SIZE(rot_info->plane); i++)
-			write_dpt_rotated(bo, &dpt->vmap, &dpt_ofs,
-					  rot_info->plane[i].offset,
-					  rot_info->plane[i].width,
-					  rot_info->plane[i].height,
-					  rot_info->plane[i].src_stride,
-					  rot_info->plane[i].dst_stride);
-	}
+	for (i = 0; i < plane_count; i++)
+		write_dpt(bo, &dpt->vmap, &dpt_ofs, &plane[i], view->type);
 
 	vma->dpt = dpt;
 	vma->node = dpt->ggtt_node[tile0->id];
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2025-05-13 14:15 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-14 18:04 [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Juha-Pekka Heikkila
2025-01-14 18:04 ` [PATCH 2/2] drm/xe/display: Unify display page table mapping Juha-Pekka Heikkila
2025-01-14 19:56   ` Cavitt, Jonathan
2025-02-04 11:25   ` Tvrtko Ursulin
2025-02-04 11:38     ` Tvrtko Ursulin
2025-02-04 12:10       ` Juha-Pekka Heikkilä
2025-02-04 12:31         ` Tvrtko Ursulin
2025-02-04 13:11           ` Juha-Pekka Heikkilä
2025-02-04 18:05             ` Tvrtko Ursulin
2025-02-07 14:33               ` Juha-Pekka Heikkilä
2025-02-11 11:22                 ` Tvrtko Ursulin
2025-01-14 19:22 ` [PATCH 1/2] drm/xe/display: Move dpt allocation to helper Cavitt, Jonathan
2025-01-15 10:19   ` Maarten Lankhorst
2025-01-15 15:09     ` Cavitt, Jonathan
2025-01-15 15:26       ` Cavitt, Jonathan
2025-01-16 15:33         ` Juha-Pekka Heikkilä
2025-01-14 19:39 ` ✓ CI.Patch_applied: success for series starting with [1/2] " Patchwork
2025-01-14 19:39 ` ✓ CI.checkpatch: " Patchwork
2025-01-14 19:40 ` ✓ CI.KUnit: " Patchwork
2025-01-14 19:58 ` ✓ CI.Build: " Patchwork
2025-01-14 20:01 ` ✓ CI.Hooks: " Patchwork
2025-01-14 20:02 ` ✓ CI.checksparse: " Patchwork
2025-01-14 20:28 ` ✓ Xe.CI.BAT: " Patchwork
2025-01-14 23:24 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-03 13:07 ` [PATCH 1/2] " Jani Nikula
2025-02-03 15:36   ` Lucas De Marchi
2025-02-04 10:37     ` Jani Nikula
2025-02-04 14:59       ` Lucas De Marchi
2025-02-04 15:11         ` Jani Nikula
2025-02-04 16:07           ` Tvrtko Ursulin
  -- strict thread matches above, loose matches on Subject: below --
2025-05-13 14:14 Juha-Pekka Heikkila
2025-05-13 14:14 ` [PATCH 2/2] drm/xe/display: Unify display page table mapping Juha-Pekka Heikkila

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox