Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] drm/xe: Add psmi support
@ 2025-07-16 20:55 Lucas De Marchi
  2025-07-16 20:55 ` [PATCH 1/4] drm/xe/psmi: Add setting of PSMI feature flag Lucas De Marchi
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Lucas De Marchi @ 2025-07-16 20:55 UTC (permalink / raw)
  To: intel-xe
  Cc: Lucas De Marchi, Matt Roper, Daniele Ceraolo Spurio,
	John Harrison, Brian Welty, Vinay Belgaumkar, Badal Nilawar,
	Sai Teja Pottumuttu

Add PSMI support to aid debugging. More information about PSMI is in the
second patch. This brings the initial implementation to drm-tip so it's
also easy to debug and enable things early directly upstream.

Opens:
 - Expose the toggle via configfs rather than module param? I'm leaning
   towards this for v2 as we may have multiple cards and want to debug a
   single one. It also matches nicely with the latest configurations we
   added there.
 - Expose the allocation request via configs rather than debugfs: this
   would part ways with configfs being for early-init things. I'm
   leaning against this and just leave that in debugfs
 - Add match for RTP to enable WA only if certain feature is enabled
   (like psmi): I'm leaning towards this so we don't enable WAs that are
   not necessary in normal non-debugging scenarios

I will start preparing a v2 soon with the items above. Opinions on those
are appreciated.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
Badal Nilawar (1):
      drm/xe/psmi: Enable GuC Wa_14020001231

Lucas De Marchi (2):
      drm/xe/psmi: Add setting of PSMI feature flag
      drm/xe/psmi: Add debugfs interface for allocation of PSMI capture buffers

Vinay Belgaumkar (1):
      drm/xe/psmi: Add Wa_16023683509

 drivers/gpu/drm/xe/Makefile           |   1 +
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h |   1 +
 drivers/gpu/drm/xe/xe_debugfs.c       |   3 +
 drivers/gpu/drm/xe/xe_device.c        |   3 +
 drivers/gpu/drm/xe/xe_device_types.h  |   7 +
 drivers/gpu/drm/xe/xe_guc.c           |   7 +
 drivers/gpu/drm/xe/xe_guc_ads.c       |   5 +
 drivers/gpu/drm/xe/xe_guc_fwif.h      |   2 +
 drivers/gpu/drm/xe/xe_module.c        |   3 +
 drivers/gpu/drm/xe/xe_module.h        |   1 +
 drivers/gpu/drm/xe/xe_psmi.c          | 297 ++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_psmi.h          |  15 ++
 drivers/gpu/drm/xe/xe_wa_oob.rules    |   6 +
 13 files changed, 351 insertions(+)

base-commit: cd8f387cae3dc97c924db689b4849c83249c3b9d
change-id: 20250618-psmi-9f270bf67895

Lucas De Marchi


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

* [PATCH 1/4] drm/xe/psmi: Add setting of PSMI feature flag
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
@ 2025-07-16 20:55 ` Lucas De Marchi
  2025-08-21 17:24   ` Matt Atwood
  2025-07-16 20:55 ` [PATCH 2/4] drm/xe/psmi: Add debugfs interface for allocation of PSMI capture buffers Lucas De Marchi
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 11+ messages in thread
From: Lucas De Marchi @ 2025-07-16 20:55 UTC (permalink / raw)
  To: intel-xe
  Cc: Lucas De Marchi, Matt Roper, Daniele Ceraolo Spurio,
	John Harrison, Brian Welty

PSMI allows to capture data from the GPU useful for early
validation. From the kernel side there isn't much to be done, just a few
things:

	1) Toggle the feature support in GuC
	2) Enable some additional WAs
	3) Allocate buffers

Here is the first step, with the next ones to follow.

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Original-author: Brian Welty <brian.welty@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_guc.c      | 3 +++
 drivers/gpu/drm/xe/xe_guc_fwif.h | 1 +
 drivers/gpu/drm/xe/xe_module.c   | 3 +++
 drivers/gpu/drm/xe/xe_module.h   | 1 +
 4 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index b1d1d6da37581..a117300501247 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -86,6 +86,9 @@ static u32 guc_ctl_feature_flags(struct xe_guc *guc)
 	if (!guc_to_xe(guc)->info.skip_guc_pc)
 		flags |= GUC_CTL_ENABLE_SLPC;
 
+	if (xe_modparam.enable_psmi)
+		flags |= GUC_CTL_ENABLE_PSMI;
+
 	return flags;
 }
 
diff --git a/drivers/gpu/drm/xe/xe_guc_fwif.h b/drivers/gpu/drm/xe/xe_guc_fwif.h
index 6f57578b07cb0..2a5256c24b9d8 100644
--- a/drivers/gpu/drm/xe/xe_guc_fwif.h
+++ b/drivers/gpu/drm/xe/xe_guc_fwif.h
@@ -107,6 +107,7 @@ struct guc_update_exec_queue_policy {
 #define GUC_CTL_FEATURE			2
 #define   GUC_CTL_ENABLE_SLPC		BIT(2)
 #define   GUC_CTL_ENABLE_LITE_RESTORE	BIT(4)
+#define   GUC_CTL_ENABLE_PSMI		BIT(7)
 #define   GUC_CTL_DISABLE_SCHEDULER	BIT(14)
 
 #define GUC_CTL_DEBUG			3
diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
index 064093bf1adca..2e6ac082f7bee 100644
--- a/drivers/gpu/drm/xe/xe_module.c
+++ b/drivers/gpu/drm/xe/xe_module.c
@@ -57,6 +57,9 @@ module_param_named(probe_display, xe_modparam.probe_display, bool, 0444);
 MODULE_PARM_DESC(probe_display, "Probe display HW, otherwise it's left untouched "
 		 "[default=" __stringify(DEFAULT_PROBE_DISPLAY) "])");
 
+module_param_named(enable_psmi, xe_modparam.enable_psmi, bool, 0444);
+MODULE_PARM_DESC(enable_psmi, "Enable PSMI capture support");
+
 module_param_named(vram_bar_size, xe_modparam.force_vram_bar_size, int, 0600);
 MODULE_PARM_DESC(vram_bar_size, "Set the vram bar size in MiB (<0=disable-resize, 0=max-needed-size, >0=force-size "
 		 "[default=" __stringify(DEFAULT_VRAM_BAR_SIZE) "])");
diff --git a/drivers/gpu/drm/xe/xe_module.h b/drivers/gpu/drm/xe/xe_module.h
index 5a3bfea8b7b4c..a84af8eccb91d 100644
--- a/drivers/gpu/drm/xe/xe_module.h
+++ b/drivers/gpu/drm/xe/xe_module.h
@@ -12,6 +12,7 @@
 struct xe_modparam {
 	bool force_execlist;
 	bool probe_display;
+	bool enable_psmi;
 	u32 force_vram_bar_size;
 	int guc_log_level;
 	char *guc_firmware_path;

-- 
2.49.0


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

* [PATCH 2/4] drm/xe/psmi: Add debugfs interface for allocation of PSMI capture buffers
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
  2025-07-16 20:55 ` [PATCH 1/4] drm/xe/psmi: Add setting of PSMI feature flag Lucas De Marchi
@ 2025-07-16 20:55 ` Lucas De Marchi
  2025-07-16 20:55 ` [PATCH 3/4] drm/xe/psmi: Enable GuC Wa_14020001231 Lucas De Marchi
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Lucas De Marchi @ 2025-07-16 20:55 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, Matt Roper, Vinay Belgaumkar, Brian Welty

Requirement for PSMI capture is to have a physically contiguous buffer.
All the needed configuration is done by the userspace tool directly to
the GPU via mmio access.

This interface only support allocating from VRAM regions. For integrated
devices and allocating PSMI buffer in SYSTEM memory, the best practice
has been for userspace to allocate the buffer themselves using hugetlbfs.

Here we add the ability to allocate a region of physically contiguous
memory by writing to debugfs file (listed below). For multi-tile devices,
the capture tool requires ability to allocate a capture buffer per tile
(VRAM region) and so user can specify a region_mask. The tool then
can mmap the buffers via direct mmap of the PCIBAR via sysfs.

To support the capture tool, 3 new debugfs entries are added.
On read:
   psmi_capture_addr - physical address per VRAM region's capture buffer
   psmi_capture_region_mask - select which region(s) to allocate a buffer
   psmi_capture_size - size of current capture buffer

Writing psmi_capture_size will allocate new buffer of requested size per
region after freeing any current buffers.

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Original-author: Brian Welty <brian.welty@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/Makefile          |   1 +
 drivers/gpu/drm/xe/xe_debugfs.c      |   3 +
 drivers/gpu/drm/xe/xe_device.c       |   3 +
 drivers/gpu/drm/xe/xe_device_types.h |   7 +
 drivers/gpu/drm/xe/xe_guc.c          |   1 +
 drivers/gpu/drm/xe/xe_psmi.c         | 297 +++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_psmi.h         |  15 ++
 7 files changed, 327 insertions(+)

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 07c71a29963d9..862b5ed016c25 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -95,6 +95,7 @@ xe-y += xe_bb.o \
 	xe_pcode.o \
 	xe_pm.o \
 	xe_preempt_fence.o \
+	xe_psmi.o \
 	xe_pt.o \
 	xe_pt_walk.o \
 	xe_pxp.o \
diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
index 129186f4193bd..cfaebb4ff0b96 100644
--- a/drivers/gpu/drm/xe/xe_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_debugfs.c
@@ -18,6 +18,7 @@
 #include "xe_gt_printk.h"
 #include "xe_guc_ads.h"
 #include "xe_pm.h"
+#include "xe_psmi.h"
 #include "xe_pxp_debugfs.h"
 #include "xe_sriov.h"
 #include "xe_sriov_pf.h"
@@ -315,6 +316,8 @@ void xe_debugfs_register(struct xe_device *xe)
 
 	xe_pxp_debugfs_register(xe->pxp);
 
+	xe_psmi_debugfs_create(xe, root);
+
 	fault_create_debugfs_attr("fail_gt_reset", root, &gt_reset_failure);
 
 	if (IS_SRIOV_PF(xe))
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 08f45777f797b..36bc58beacd05 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -54,6 +54,7 @@
 #include "xe_pcode.h"
 #include "xe_pm.h"
 #include "xe_pmu.h"
+#include "xe_psmi.h"
 #include "xe_pxp.h"
 #include "xe_query.h"
 #include "xe_shrinker.h"
@@ -957,6 +958,8 @@ void xe_device_remove(struct xe_device *xe)
 	drm_dev_unplug(&xe->drm);
 
 	xe_bo_pci_dev_remove_all(xe);
+
+	xe_psmi_cleanup(xe);
 }
 
 void xe_device_shutdown(struct xe_device *xe)
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index eb6105523f233..6941cb965dde9 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -572,6 +572,13 @@ struct xe_device {
 	atomic64_t global_total_pages;
 #endif
 
+	struct {
+		/** @psmi.capture_obj: PSMI buffer for VRAM0-1 and SMEM (future) */
+		struct xe_bo *capture_obj[XE_MAX_TILES_PER_DEVICE + 1];
+		/** @psmi.region_mask: Mask of valid memory regions */
+		u8 region_mask;
+	} psmi;
+
 	/* private: */
 
 #if IS_ENABLED(CONFIG_DRM_XE_DISPLAY)
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index a117300501247..4d11c3a66ad38 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -36,6 +36,7 @@
 #include "xe_guc_submit.h"
 #include "xe_memirq.h"
 #include "xe_mmio.h"
+#include "xe_module.h"
 #include "xe_platform_types.h"
 #include "xe_sriov.h"
 #include "xe_uc.h"
diff --git a/drivers/gpu/drm/xe/xe_psmi.c b/drivers/gpu/drm/xe/xe_psmi.c
new file mode 100644
index 0000000000000..9d75ec30bfdee
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_psmi.c
@@ -0,0 +1,297 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <linux/debugfs.h>
+
+#include "xe_bo.h"
+#include "xe_device.h"
+#include "xe_module.h"
+#include "xe_psmi.h"
+
+/*
+ * PSMI capture support
+ *
+ * Requirement for PSMI capture is to have a physically contiguous buffer.  The
+ * PSMI tool owns doing all necessary configuration (MMIO register writes are
+ * done from user-space). However, KMD needs to provide the PSMI tool with the
+ * required physical address of the base of PSMI buffer.
+ *
+ * VRAM backed PSMI buffer:
+ * Buffer is allocated as GEM object and with XE_BO_CREATE_PINNED_BIT flag which
+ * creates a contiguous allocation. The physical address is returned from
+ * psmi_debugfs_capture_addr_show(). PSMI tool can mmap the buffer via the
+ * PCIBAR through sysfs.
+ *
+ * SYSTEM memory backed PSMI buffer:
+ * Interface here does not support allocating from SYSTEM memory region.  The
+ * PSMI tool to allocate memory themselves using hugetlbfs. In order to get the
+ * physical address, user-space can query /proc/[pid]/pagemap. As an
+ * alternative, CMA debugfs could also be used to allocate reserved CMA memory.
+ */
+
+static int psmi_resize_object(struct xe_device *, size_t);
+
+/*
+ * Returns an address for the capture tool to use to find start of capture
+ * buffer. Capture tool requires the capability to have a buffer allocated per
+ * each tile (VRAM region), thus we return an address for each region.
+ */
+static int psmi_debugfs_capture_addr_show(struct seq_file *m, void *data)
+{
+	struct xe_device *xe = m->private;
+	unsigned long id, region_mask;
+	struct xe_bo *bo;
+	u64 val;
+
+	region_mask = xe->psmi.region_mask;
+	for_each_set_bit(id, &region_mask,
+			 ARRAY_SIZE(xe->psmi.capture_obj)) {
+		if (id) {
+			/* VRAM region */
+			bo = xe->psmi.capture_obj[id];
+			if (!bo)
+				continue;
+			/* pinned, so don't need bo_lock */
+			val = __xe_bo_addr(bo, 0, PAGE_SIZE);
+		} else {
+			/* reserved for future SMEM support */
+			val = 0;
+		}
+		seq_printf(m, "%ld: 0x%llx\n", id, val);
+	}
+
+	return 0;
+}
+
+/*
+ * Return capture buffer size, using the size from first allocated object that
+ * is found. This works because all objects must be of the same size.
+ */
+static int psmi_debugfs_capture_size_get(void *data, u64 *val)
+{
+	unsigned long id, region_mask;
+	struct xe_device *xe = data;
+	struct xe_bo *bo;
+
+	region_mask = xe->psmi.region_mask;
+	for_each_set_bit(id, &region_mask,
+			 ARRAY_SIZE(xe->psmi.capture_obj)) {
+		if (id) {
+			bo = xe->psmi.capture_obj[id];
+			if (bo) {
+				*val = xe_bo_size(bo);
+				return 0;
+			}
+		}
+	}
+
+	/* no capture objects are allocated */
+	*val = 0;
+	return 0;
+}
+
+/*
+ * Set size of PSMI capture buffer. This triggers the allocation of capture
+ * buffer in each memory region as specified with prior write to
+ * psmi_capture_region_mask.
+ */
+static int psmi_debugfs_capture_size_set(void *data, u64 val)
+{
+	struct xe_device *xe = data;
+
+	if (!xe_modparam.enable_psmi)
+		return -ENODEV;
+
+	/* user must have specified at least one region */
+	if (!xe->psmi.region_mask)
+		return -EINVAL;
+
+	return psmi_resize_object(xe, val);
+}
+
+static int psmi_debugfs_capture_region_mask_get(void *data, u64 *val)
+{
+	struct xe_device *xe = data;
+
+	*val = xe->psmi.region_mask;
+	return 0;
+}
+
+/*
+ * Select VRAM regions for multi-tile devices, only allowed when buffer is not
+ * currently allocated.
+ */
+static int psmi_debugfs_capture_region_mask_set(void *data, u64 region_mask)
+{
+	struct xe_device *xe = data;
+	u64 size = 0;
+
+	if (!xe_modparam.enable_psmi)
+		return -ENODEV;
+
+	/* SMEM is not supported (see comments at top of file) */
+	if (region_mask & 0x1)
+		return -EOPNOTSUPP;
+
+	/* input bitmask should contain only valid TTM regions */
+	if (!region_mask || region_mask & ~xe->info.mem_region_mask)
+		return -EINVAL;
+
+	/* only allow setting mask if buffer is not yet allocated */
+	psmi_debugfs_capture_size_get(xe, &size);
+	if (size)
+		return -EBUSY;
+
+	xe->psmi.region_mask = region_mask;
+	return 0;
+}
+
+DEFINE_SHOW_ATTRIBUTE(psmi_debugfs_capture_addr);
+
+DEFINE_DEBUGFS_ATTRIBUTE(psmi_debugfs_capture_region_mask_fops,
+			 psmi_debugfs_capture_region_mask_get,
+			 psmi_debugfs_capture_region_mask_set,
+			 "0x%llx\n");
+
+DEFINE_DEBUGFS_ATTRIBUTE(psmi_debugfs_capture_size_fops,
+			 psmi_debugfs_capture_size_get,
+			 psmi_debugfs_capture_size_set,
+			 "%lld\n");
+
+void xe_psmi_debugfs_create(struct xe_device *xe, struct dentry *fs_root)
+{
+	debugfs_create_file("psmi_capture_addr",
+			    0400, fs_root, xe,
+			    &psmi_debugfs_capture_addr_fops);
+
+	debugfs_create_file("psmi_capture_region_mask",
+			    0600, fs_root, xe,
+			    &psmi_debugfs_capture_region_mask_fops);
+
+	debugfs_create_file("psmi_capture_size",
+			    0600, fs_root, xe,
+			    &psmi_debugfs_capture_size_fops);
+}
+
+/*
+ * Allocate GEM object for the PSMI capture buffer (in VRAM).
+ * @bo_size: size in bytes
+ */
+static struct xe_bo *
+psmi_alloc_object(struct xe_device *xe, unsigned int id, size_t bo_size)
+{
+	struct xe_bo *bo = NULL;
+	struct xe_tile *tile;
+	int err;
+
+	if (!id || !bo_size)
+		return NULL;
+	tile = &xe->tiles[id - 1];
+
+	/* VRAM: Allocate GEM object for the capture buffer */
+	bo = xe_bo_create_locked(xe, tile, NULL, bo_size,
+				 ttm_bo_type_kernel,
+				 XE_BO_FLAG_VRAM_IF_DGFX(tile) |
+				 XE_BO_FLAG_PINNED |
+				 XE_BO_FLAG_NEEDS_CPU_ACCESS);
+
+	if (!IS_ERR(bo)) {
+		/* Buffer written by HW, ensure stays resident */
+		err = xe_bo_pin(bo);
+		if (err)
+			bo = ERR_PTR(err);
+		xe_bo_unlock(bo);
+	}
+
+	return bo;
+}
+
+static void psmi_free_object(struct xe_bo *bo)
+{
+	xe_bo_lock(bo, NULL);
+	xe_bo_unpin(bo);
+	xe_bo_unlock(bo);
+	xe_bo_put(bo);
+}
+
+/*
+ * Free PSMI capture buffer objects.
+ */
+void xe_psmi_cleanup(struct xe_device *xe)
+{
+	unsigned long id, region_mask;
+	struct xe_bo *bo;
+
+	/*
+	 * For total guarantee that we free all objects, iterate over known
+	 * regions instead of using psmi.region_mask here.
+	 */
+	region_mask = xe->info.mem_region_mask;
+	for_each_set_bit(id, &region_mask,
+			 ARRAY_SIZE(xe->psmi.capture_obj)) {
+		if (id) {
+			bo = xe->psmi.capture_obj[id];
+			if (bo) {
+				psmi_free_object(bo);
+				xe->psmi.capture_obj[id] = NULL;
+			}
+		}
+	}
+}
+
+/*
+ * Allocate PSMI capture buffer objects (via debugfs set function), based on
+ * which regions the user has selected in region_mask.  @size: size in bytes
+ * (should be power of 2)
+ *
+ * Always release/free the current buffer objects before attempting to allocate
+ * new ones.  Size == 0 will free all current buffers.
+ *
+ * Note, we don't write any registers as the capture tool is already configuring
+ * all PSMI registers itself via mmio space.
+ */
+static int psmi_resize_object(struct xe_device *xe, size_t size)
+{
+	unsigned long id, region_mask = xe->psmi.region_mask;
+	struct xe_bo *bo = NULL;
+	int err = 0;
+
+	/*
+	 * Buddy allocator anyway will roundup to next power of 2,
+	 * so rather than waste unused pages, require user to ask for
+	 * power of 2 sized PSMI buffers.
+	 */
+	if (size && !is_power_of_2(size))
+		return -EINVAL;
+
+	/* if resizing, free currently allocated buffers first */
+	xe_psmi_cleanup(xe);
+
+	/* can set size to 0, in which case, now done */
+	if (!size)
+		return 0;
+
+	for_each_set_bit(id, &region_mask,
+			 ARRAY_SIZE(xe->psmi.capture_obj)) {
+		if (id) {
+			/* VRAM: allocate with BO */
+			bo = psmi_alloc_object(xe, id, size);
+			if (IS_ERR(bo)) {
+				err = PTR_ERR(bo);
+				break;
+			}
+			xe->psmi.capture_obj[id] = bo;
+		}
+
+		drm_info(&xe->drm,
+			 "PSMI capture size requested: %zu bytes, allocated: %lu:%zu\n",
+			 size, id, bo ? xe_bo_size(bo) : 0);
+	}
+
+	/* on error, reverse what was allocated */
+	if (err)
+		xe_psmi_cleanup(xe);
+	return err;
+}
diff --git a/drivers/gpu/drm/xe/xe_psmi.h b/drivers/gpu/drm/xe/xe_psmi.h
new file mode 100644
index 0000000000000..66dd5dc40feb4
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_psmi.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef _XE_PSMI_H_
+#define _XE_PSMI_H_
+
+struct xe_device;
+struct dentry;
+
+void xe_psmi_cleanup(struct xe_device *xe);
+void xe_psmi_debugfs_create(struct xe_device *xe, struct dentry *fs_root);
+
+#endif

-- 
2.49.0


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

* [PATCH 3/4] drm/xe/psmi: Enable GuC Wa_14020001231
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
  2025-07-16 20:55 ` [PATCH 1/4] drm/xe/psmi: Add setting of PSMI feature flag Lucas De Marchi
  2025-07-16 20:55 ` [PATCH 2/4] drm/xe/psmi: Add debugfs interface for allocation of PSMI capture buffers Lucas De Marchi
@ 2025-07-16 20:55 ` Lucas De Marchi
  2025-07-16 20:55 ` [PATCH 4/4] drm/xe/psmi: Add Wa_16023683509 Lucas De Marchi
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Lucas De Marchi @ 2025-07-16 20:55 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, Badal Nilawar

From: Badal Nilawar <badal.nilawar@intel.com>

Enable GuC Wa_14020001231 to block psmi interrupts during C6 entry
exit flow.

Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h | 1 +
 drivers/gpu/drm/xe/xe_guc_ads.c       | 5 +++++
 drivers/gpu/drm/xe/xe_wa_oob.rules    | 4 ++++
 3 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
index 0366a9da59775..e52640d9ff8e8 100644
--- a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
+++ b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
@@ -390,6 +390,7 @@ enum  {
  */
 enum xe_guc_klv_ids {
 	GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED				= 0x9002,
+	GUC_WORKAROUND_KLV_DISABLE_PSMI_INTERRUPTS_AT_C6_ENTRY_RESTORE_AT_EXIT		= 0x9004,
 	GUC_WORKAROUND_KLV_ID_GAM_PFQ_SHADOW_TAIL_POLLING				= 0x9005,
 	GUC_WORKAROUND_KLV_ID_DISABLE_MTP_DURING_ASYNC_COMPUTE				= 0x9007,
 	GUC_WA_KLV_NP_RD_WRITE_TO_CLEAR_RCSM_AT_CGP_LATE_RESTORE			= 0x9008,
diff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c
index 131cfc56be00a..fa5861a1e5d55 100644
--- a/drivers/gpu/drm/xe/xe_guc_ads.c
+++ b/drivers/gpu/drm/xe/xe_guc_ads.c
@@ -382,6 +382,11 @@ static void guc_waklv_init(struct xe_guc_ads *ads)
 					GUC_WA_KLV_RESET_BB_STACK_PTR_ON_VF_SWITCH,
 					&offset, &remain);
 
+	if (XE_WA(gt, 14020001231))
+		guc_waklv_enable_simple(ads,
+					GUC_WORKAROUND_KLV_DISABLE_PSMI_INTERRUPTS_AT_C6_ENTRY_RESTORE_AT_EXIT,
+					&offset, &remain);
+
 	size = guc_ads_waklv_size(ads) - remain;
 	if (!size)
 		return;
diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
index e990f20eccfe3..91e717bba455f 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -66,6 +66,10 @@ no_media_l3	MEDIA_VERSION(3000)
 		MEDIA_VERSION_RANGE(1300, 3000)
 		MEDIA_VERSION(3002)
 		GRAPHICS_VERSION(3003)
+14020001231	GRAPHICS_VERSION_RANGE(2001,2004)
+		MEDIA_VERSION(2000)
+		MEDIA_VERSION(3000)
+		MEDIA_VERSION(3002)
 
 # SoC workaround - currently applies to all platforms with the following
 # primary GT GMDID

-- 
2.49.0


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

* [PATCH 4/4] drm/xe/psmi: Add Wa_16023683509
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
                   ` (2 preceding siblings ...)
  2025-07-16 20:55 ` [PATCH 3/4] drm/xe/psmi: Enable GuC Wa_14020001231 Lucas De Marchi
@ 2025-07-16 20:55 ` Lucas De Marchi
  2025-07-16 21:05 ` ✗ CI.checkpatch: warning for drm/xe: Add psmi support Patchwork
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Lucas De Marchi @ 2025-07-16 20:55 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, Vinay Belgaumkar, Sai Teja Pottumuttu

From: Vinay Belgaumkar <vinay.belgaumkar@intel.com>

This WA ensures GuC will restore the media MCFG registers at C6
exit.

Cc: Sai Teja Pottumuttu <sai.teja.pottumuttu@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_guc.c        | 3 +++
 drivers/gpu/drm/xe/xe_guc_fwif.h   | 1 +
 drivers/gpu/drm/xe/xe_wa_oob.rules | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index 4d11c3a66ad38..04e2e86e4e496 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -218,6 +218,9 @@ static u32 guc_ctl_wa_flags(struct xe_guc *guc)
 	if (XE_WA(gt, 14018913170))
 		flags |= GUC_WA_ENABLE_TSC_CHECK_ON_RC6;
 
+	if (XE_WA(gt, 16023683509))
+		flags |= GUC_WA_SAVE_RESTORE_MCFG_REG_AT_MC6;
+
 	return flags;
 }
 
diff --git a/drivers/gpu/drm/xe/xe_guc_fwif.h b/drivers/gpu/drm/xe/xe_guc_fwif.h
index 2a5256c24b9d8..e69938ea27569 100644
--- a/drivers/gpu/drm/xe/xe_guc_fwif.h
+++ b/drivers/gpu/drm/xe/xe_guc_fwif.h
@@ -103,6 +103,7 @@ struct guc_update_exec_queue_policy {
 #define   GUC_WA_RENDER_RST_RC6_EXIT	BIT(19)
 #define   GUC_WA_RCS_REGS_IN_CCS_REGS_LIST	BIT(21)
 #define   GUC_WA_ENABLE_TSC_CHECK_ON_RC6	BIT(22)
+#define   GUC_WA_SAVE_RESTORE_MCFG_REG_AT_MC6 	BIT(25)
 
 #define GUC_CTL_FEATURE			2
 #define   GUC_CTL_ENABLE_SLPC		BIT(2)
diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
index 91e717bba455f..b7083f8a728c6 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -70,6 +70,8 @@ no_media_l3	MEDIA_VERSION(3000)
 		MEDIA_VERSION(2000)
 		MEDIA_VERSION(3000)
 		MEDIA_VERSION(3002)
+16023683509	MEDIA_VERSION(2000)
+		MEDIA_VERSION(3000), GRAPHICS_STEP(A0, B0)
 
 # SoC workaround - currently applies to all platforms with the following
 # primary GT GMDID

-- 
2.49.0


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

* ✗ CI.checkpatch: warning for drm/xe: Add psmi support
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
                   ` (3 preceding siblings ...)
  2025-07-16 20:55 ` [PATCH 4/4] drm/xe/psmi: Add Wa_16023683509 Lucas De Marchi
@ 2025-07-16 21:05 ` Patchwork
  2025-07-16 21:07 ` ✓ CI.KUnit: success " Patchwork
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-07-16 21:05 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Add psmi support
URL   : https://patchwork.freedesktop.org/series/151729/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
43254c2aa575037fc031c7ac21b0d031c700b2bf
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit dfe52f85cf07675a200d28eb0f5491f219ace703
Author: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Date:   Wed Jul 16 13:55:47 2025 -0700

    drm/xe/psmi: Add Wa_16023683509
    
    This WA ensures GuC will restore the media MCFG registers at C6
    exit.
    
    Cc: Sai Teja Pottumuttu <sai.teja.pottumuttu@intel.com>
    Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
+ /mt/dim checkpatch e7058b7a607f5fdfd7bc4586644756d7ef002331 drm-intel
73742b19d957 drm/xe/psmi: Add setting of PSMI feature flag
aadd54083c6e drm/xe/psmi: Add debugfs interface for allocation of PSMI capture buffers
-:120: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#120: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 369 lines checked
6e47433d5511 drm/xe/psmi: Enable GuC Wa_14020001231
-:34: WARNING:LONG_LINE: line length of 111 exceeds 100 columns
#34: FILE: drivers/gpu/drm/xe/xe_guc_ads.c:387:
+					GUC_WORKAROUND_KLV_DISABLE_PSMI_INTERRUPTS_AT_C6_ENTRY_RESTORE_AT_EXIT,

total: 0 errors, 1 warnings, 0 checks, 28 lines checked
dfe52f85cf07 drm/xe/psmi: Add Wa_16023683509
-:35: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#35: FILE: drivers/gpu/drm/xe/xe_guc_fwif.h:106:
+#define   GUC_WA_SAVE_RESTORE_MCFG_REG_AT_MC6 ^IBIT(25)$

total: 0 errors, 1 warnings, 0 checks, 24 lines checked



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

* ✓ CI.KUnit: success for drm/xe: Add psmi support
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
                   ` (4 preceding siblings ...)
  2025-07-16 21:05 ` ✗ CI.checkpatch: warning for drm/xe: Add psmi support Patchwork
@ 2025-07-16 21:07 ` Patchwork
  2025-07-16 21:58 ` ✓ Xe.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-07-16 21:07 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Add psmi support
URL   : https://patchwork.freedesktop.org/series/151729/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[21:05:51] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[21:05:56] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[21:06:30] Starting KUnit Kernel (1/1)...
[21:06:30] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[21:06:30] ================== guc_buf (11 subtests) ===================
[21:06:30] [PASSED] test_smallest
[21:06:30] [PASSED] test_largest
[21:06:30] [PASSED] test_granular
[21:06:30] [PASSED] test_unique
[21:06:30] [PASSED] test_overlap
[21:06:30] [PASSED] test_reusable
[21:06:30] [PASSED] test_too_big
[21:06:30] [PASSED] test_flush
[21:06:30] [PASSED] test_lookup
[21:06:30] [PASSED] test_data
[21:06:30] [PASSED] test_class
[21:06:30] ===================== [PASSED] guc_buf =====================
[21:06:30] =================== guc_dbm (7 subtests) ===================
[21:06:30] [PASSED] test_empty
[21:06:30] [PASSED] test_default
[21:06:30] ======================== test_size  ========================
[21:06:30] [PASSED] 4
[21:06:30] [PASSED] 8
[21:06:30] [PASSED] 32
[21:06:30] [PASSED] 256
[21:06:30] ==================== [PASSED] test_size ====================
[21:06:30] ======================= test_reuse  ========================
[21:06:30] [PASSED] 4
[21:06:30] [PASSED] 8
[21:06:30] [PASSED] 32
[21:06:30] [PASSED] 256
[21:06:30] =================== [PASSED] test_reuse ====================
[21:06:30] =================== test_range_overlap  ====================
[21:06:30] [PASSED] 4
[21:06:30] [PASSED] 8
[21:06:30] [PASSED] 32
[21:06:30] [PASSED] 256
[21:06:30] =============== [PASSED] test_range_overlap ================
[21:06:30] =================== test_range_compact  ====================
[21:06:30] [PASSED] 4
[21:06:30] [PASSED] 8
[21:06:30] [PASSED] 32
[21:06:30] [PASSED] 256
[21:06:30] =============== [PASSED] test_range_compact ================
[21:06:30] ==================== test_range_spare  =====================
[21:06:30] [PASSED] 4
[21:06:30] [PASSED] 8
[21:06:30] [PASSED] 32
[21:06:30] [PASSED] 256
[21:06:30] ================ [PASSED] test_range_spare =================
[21:06:30] ===================== [PASSED] guc_dbm =====================
[21:06:30] =================== guc_idm (6 subtests) ===================
[21:06:30] [PASSED] bad_init
[21:06:30] [PASSED] no_init
[21:06:30] [PASSED] init_fini
[21:06:30] [PASSED] check_used
[21:06:30] [PASSED] check_quota
[21:06:30] [PASSED] check_all
[21:06:30] ===================== [PASSED] guc_idm =====================
[21:06:30] ================== no_relay (3 subtests) ===================
[21:06:30] [PASSED] xe_drops_guc2pf_if_not_ready
[21:06:30] [PASSED] xe_drops_guc2vf_if_not_ready
[21:06:30] [PASSED] xe_rejects_send_if_not_ready
[21:06:30] ==================== [PASSED] no_relay =====================
[21:06:30] ================== pf_relay (14 subtests) ==================
[21:06:30] [PASSED] pf_rejects_guc2pf_too_short
[21:06:30] [PASSED] pf_rejects_guc2pf_too_long
[21:06:30] [PASSED] pf_rejects_guc2pf_no_payload
[21:06:30] [PASSED] pf_fails_no_payload
[21:06:30] [PASSED] pf_fails_bad_origin
[21:06:30] [PASSED] pf_fails_bad_type
[21:06:30] [PASSED] pf_txn_reports_error
[21:06:30] [PASSED] pf_txn_sends_pf2guc
[21:06:30] [PASSED] pf_sends_pf2guc
[21:06:30] [SKIPPED] pf_loopback_nop
[21:06:30] [SKIPPED] pf_loopback_echo
[21:06:30] [SKIPPED] pf_loopback_fail
[21:06:30] [SKIPPED] pf_loopback_busy
[21:06:30] [SKIPPED] pf_loopback_retry
[21:06:30] ==================== [PASSED] pf_relay =====================
[21:06:30] ================== vf_relay (3 subtests) ===================
[21:06:30] [PASSED] vf_rejects_guc2vf_too_short
[21:06:30] [PASSED] vf_rejects_guc2vf_too_long
[21:06:30] [PASSED] vf_rejects_guc2vf_no_payload
[21:06:30] ==================== [PASSED] vf_relay =====================
[21:06:30] ===================== lmtt (1 subtest) =====================
[21:06:30] ======================== test_ops  =========================
[21:06:30] [PASSED] 2-level
[21:06:30] [PASSED] multi-level
[21:06:30] ==================== [PASSED] test_ops =====================
[21:06:30] ====================== [PASSED] lmtt =======================
[21:06:30] ================= pf_service (11 subtests) =================
[21:06:30] [PASSED] pf_negotiate_any
[21:06:30] [PASSED] pf_negotiate_base_match
[21:06:30] [PASSED] pf_negotiate_base_newer
[21:06:30] [PASSED] pf_negotiate_base_next
[21:06:30] [SKIPPED] pf_negotiate_base_older
[21:06:30] [PASSED] pf_negotiate_base_prev
[21:06:30] [PASSED] pf_negotiate_latest_match
[21:06:30] [PASSED] pf_negotiate_latest_newer
[21:06:30] [PASSED] pf_negotiate_latest_next
[21:06:30] [SKIPPED] pf_negotiate_latest_older
[21:06:30] [SKIPPED] pf_negotiate_latest_prev
[21:06:30] =================== [PASSED] pf_service ====================
[21:06:30] =================== xe_mocs (2 subtests) ===================
[21:06:30] ================ xe_live_mocs_kernel_kunit  ================
[21:06:30] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[21:06:30] ================ xe_live_mocs_reset_kunit  =================
[21:06:30] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[21:06:30] ==================== [SKIPPED] xe_mocs =====================
[21:06:30] ================= xe_migrate (2 subtests) ==================
[21:06:30] ================= xe_migrate_sanity_kunit  =================
[21:06:30] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[21:06:30] ================== xe_validate_ccs_kunit  ==================
[21:06:30] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[21:06:30] =================== [SKIPPED] xe_migrate ===================
[21:06:30] ================== xe_dma_buf (1 subtest) ==================
[21:06:30] ==================== xe_dma_buf_kunit  =====================
[21:06:30] ================ [SKIPPED] xe_dma_buf_kunit ================
[21:06:30] =================== [SKIPPED] xe_dma_buf ===================
[21:06:30] ================= xe_bo_shrink (1 subtest) =================
[21:06:30] =================== xe_bo_shrink_kunit  ====================
[21:06:30] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[21:06:30] ================== [SKIPPED] xe_bo_shrink ==================
[21:06:30] ==================== xe_bo (2 subtests) ====================
[21:06:30] ================== xe_ccs_migrate_kunit  ===================
[21:06:30] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[21:06:30] ==================== xe_bo_evict_kunit  ====================
[21:06:30] =============== [SKIPPED] xe_bo_evict_kunit ================
[21:06:30] ===================== [SKIPPED] xe_bo ======================
[21:06:30] ==================== args (11 subtests) ====================
[21:06:30] [PASSED] count_args_test
[21:06:30] [PASSED] call_args_example
[21:06:30] [PASSED] call_args_test
[21:06:30] [PASSED] drop_first_arg_example
[21:06:30] [PASSED] drop_first_arg_test
[21:06:30] [PASSED] first_arg_example
[21:06:30] [PASSED] first_arg_test
[21:06:30] [PASSED] last_arg_example
[21:06:30] [PASSED] last_arg_test
[21:06:30] [PASSED] pick_arg_example
[21:06:30] [PASSED] sep_comma_example
[21:06:30] ====================== [PASSED] args =======================
[21:06:30] =================== xe_pci (3 subtests) ====================
[21:06:30] ==================== check_graphics_ip  ====================
[21:06:30] [PASSED] 12.70 Xe_LPG
[21:06:30] [PASSED] 12.71 Xe_LPG
[21:06:30] [PASSED] 12.74 Xe_LPG+
[21:06:30] [PASSED] 20.01 Xe2_HPG
[21:06:30] [PASSED] 20.02 Xe2_HPG
[21:06:30] [PASSED] 20.04 Xe2_LPG
[21:06:30] [PASSED] 30.00 Xe3_LPG
[21:06:30] [PASSED] 30.01 Xe3_LPG
[21:06:30] [PASSED] 30.03 Xe3_LPG
[21:06:30] ================ [PASSED] check_graphics_ip ================
[21:06:30] ===================== check_media_ip  ======================
[21:06:30] [PASSED] 13.00 Xe_LPM+
[21:06:30] [PASSED] 13.01 Xe2_HPM
[21:06:30] [PASSED] 20.00 Xe2_LPM
[21:06:30] [PASSED] 30.00 Xe3_LPM
[21:06:30] [PASSED] 30.02 Xe3_LPM
[21:06:30] ================= [PASSED] check_media_ip ==================
[21:06:30] ================= check_platform_gt_count  =================
[21:06:30] [PASSED] 0x9A60 (TIGERLAKE)
[21:06:30] [PASSED] 0x9A68 (TIGERLAKE)
[21:06:30] [PASSED] 0x9A70 (TIGERLAKE)
[21:06:30] [PASSED] 0x9A40 (TIGERLAKE)
[21:06:30] [PASSED] 0x9A49 (TIGERLAKE)
[21:06:30] [PASSED] 0x9A59 (TIGERLAKE)
[21:06:30] [PASSED] 0x9A78 (TIGERLAKE)
[21:06:30] [PASSED] 0x9AC0 (TIGERLAKE)
[21:06:30] [PASSED] 0x9AC9 (TIGERLAKE)
[21:06:30] [PASSED] 0x9AD9 (TIGERLAKE)
[21:06:30] [PASSED] 0x9AF8 (TIGERLAKE)
[21:06:30] [PASSED] 0x4C80 (ROCKETLAKE)
[21:06:30] [PASSED] 0x4C8A (ROCKETLAKE)
[21:06:30] [PASSED] 0x4C8B (ROCKETLAKE)
[21:06:30] [PASSED] 0x4C8C (ROCKETLAKE)
[21:06:30] [PASSED] 0x4C90 (ROCKETLAKE)
[21:06:30] [PASSED] 0x4C9A (ROCKETLAKE)
[21:06:30] [PASSED] 0x4680 (ALDERLAKE_S)
[21:06:30] [PASSED] 0x4682 (ALDERLAKE_S)
[21:06:30] [PASSED] 0x4688 (ALDERLAKE_S)
[21:06:30] [PASSED] 0x468A (ALDERLAKE_S)
[21:06:30] [PASSED] 0x468B (ALDERLAKE_S)
[21:06:30] [PASSED] 0x4690 (ALDERLAKE_S)
[21:06:30] [PASSED] 0x4692 (ALDERLAKE_S)
[21:06:30] [PASSED] 0x4693 (ALDERLAKE_S)
[21:06:30] [PASSED] 0x46A0 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46A1 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46A2 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46A3 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46A6 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46A8 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46AA (ALDERLAKE_P)
[21:06:30] [PASSED] 0x462A (ALDERLAKE_P)
[21:06:30] [PASSED] 0x4626 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x4628 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46B0 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46B1 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46B2 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46B3 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46C0 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46C1 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46C2 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46C3 (ALDERLAKE_P)
[21:06:30] [PASSED] 0x46D0 (ALDERLAKE_N)
[21:06:30] [PASSED] 0x46D1 (ALDERLAKE_N)
[21:06:30] [PASSED] 0x46D2 (ALDERLAKE_N)
[21:06:30] [PASSED] 0x46D3 (ALDERLAKE_N)
[21:06:30] [PASSED] 0x46D4 (ALDERLAKE_N)
[21:06:30] [PASSED] 0xA721 (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7A1 (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7A9 (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7AC (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7AD (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA720 (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7A0 (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7A8 (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7AA (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA7AB (ALDERLAKE_P)
[21:06:30] [PASSED] 0xA780 (ALDERLAKE_S)
[21:06:30] [PASSED] 0xA781 (ALDERLAKE_S)
[21:06:30] [PASSED] 0xA782 (ALDERLAKE_S)
[21:06:30] [PASSED] 0xA783 (ALDERLAKE_S)
[21:06:30] [PASSED] 0xA788 (ALDERLAKE_S)
[21:06:30] [PASSED] 0xA789 (ALDERLAKE_S)
[21:06:30] [PASSED] 0xA78A (ALDERLAKE_S)
[21:06:30] [PASSED] 0xA78B (ALDERLAKE_S)
[21:06:30] [PASSED] 0x4905 (DG1)
[21:06:30] [PASSED] 0x4906 (DG1)
[21:06:30] [PASSED] 0x4907 (DG1)
[21:06:30] [PASSED] 0x4908 (DG1)
[21:06:30] [PASSED] 0x4909 (DG1)
[21:06:30] [PASSED] 0x56C0 (DG2)
[21:06:30] [PASSED] 0x56C2 (DG2)
[21:06:30] [PASSED] 0x56C1 (DG2)
[21:06:30] [PASSED] 0x7D51 (METEORLAKE)
[21:06:30] [PASSED] 0x7DD1 (METEORLAKE)
[21:06:30] [PASSED] 0x7D41 (METEORLAKE)
[21:06:30] [PASSED] 0x7D67 (METEORLAKE)
[21:06:30] [PASSED] 0xB640 (METEORLAKE)
[21:06:30] [PASSED] 0x56A0 (DG2)
[21:06:30] [PASSED] 0x56A1 (DG2)
[21:06:30] [PASSED] 0x56A2 (DG2)
[21:06:30] [PASSED] 0x56BE (DG2)
[21:06:30] [PASSED] 0x56BF (DG2)
[21:06:30] [PASSED] 0x5690 (DG2)
[21:06:30] [PASSED] 0x5691 (DG2)
[21:06:30] [PASSED] 0x5692 (DG2)
[21:06:30] [PASSED] 0x56A5 (DG2)
[21:06:30] [PASSED] 0x56A6 (DG2)
[21:06:30] [PASSED] 0x56B0 (DG2)
[21:06:30] [PASSED] 0x56B1 (DG2)
[21:06:30] [PASSED] 0x56BA (DG2)
[21:06:30] [PASSED] 0x56BB (DG2)
[21:06:30] [PASSED] 0x56BC (DG2)
[21:06:30] [PASSED] 0x56BD (DG2)
[21:06:30] [PASSED] 0x5693 (DG2)
[21:06:30] [PASSED] 0x5694 (DG2)
[21:06:30] [PASSED] 0x5695 (DG2)
[21:06:30] [PASSED] 0x56A3 (DG2)
[21:06:30] [PASSED] 0x56A4 (DG2)
[21:06:30] [PASSED] 0x56B2 (DG2)
[21:06:30] [PASSED] 0x56B3 (DG2)
[21:06:30] [PASSED] 0x5696 (DG2)
[21:06:30] [PASSED] 0x5697 (DG2)
[21:06:30] [PASSED] 0xB69 (PVC)
[21:06:30] [PASSED] 0xB6E (PVC)
[21:06:30] [PASSED] 0xBD4 (PVC)
[21:06:30] [PASSED] 0xBD5 (PVC)
[21:06:30] [PASSED] 0xBD6 (PVC)
[21:06:30] [PASSED] 0xBD7 (PVC)
[21:06:30] [PASSED] 0xBD8 (PVC)
[21:06:30] [PASSED] 0xBD9 (PVC)
[21:06:30] [PASSED] 0xBDA (PVC)
[21:06:30] [PASSED] 0xBDB (PVC)
[21:06:30] [PASSED] 0xBE0 (PVC)
[21:06:30] [PASSED] 0xBE1 (PVC)
[21:06:30] [PASSED] 0xBE5 (PVC)
[21:06:30] [PASSED] 0x7D40 (METEORLAKE)
[21:06:30] [PASSED] 0x7D45 (METEORLAKE)
[21:06:30] [PASSED] 0x7D55 (METEORLAKE)
[21:06:30] [PASSED] 0x7D60 (METEORLAKE)
[21:06:30] [PASSED] 0x7DD5 (METEORLAKE)
[21:06:30] [PASSED] 0x6420 (LUNARLAKE)
[21:06:30] [PASSED] 0x64A0 (LUNARLAKE)
[21:06:30] [PASSED] 0x64B0 (LUNARLAKE)
[21:06:30] [PASSED] 0xE202 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE209 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE20B (BATTLEMAGE)
[21:06:30] [PASSED] 0xE20C (BATTLEMAGE)
[21:06:30] [PASSED] 0xE20D (BATTLEMAGE)
[21:06:30] [PASSED] 0xE210 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE211 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE212 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE216 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE220 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE221 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE222 (BATTLEMAGE)
[21:06:30] [PASSED] 0xE223 (BATTLEMAGE)
[21:06:30] [PASSED] 0xB080 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB081 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB082 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB083 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB084 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB085 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB086 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB087 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB08F (PANTHERLAKE)
[21:06:30] [PASSED] 0xB090 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB0A0 (PANTHERLAKE)
[21:06:30] [PASSED] 0xB0B0 (PANTHERLAKE)
[21:06:30] [PASSED] 0xFD80 (PANTHERLAKE)
[21:06:30] [PASSED] 0xFD81 (PANTHERLAKE)
[21:06:30] ============= [PASSED] check_platform_gt_count =============
[21:06:30] ===================== [PASSED] xe_pci ======================
[21:06:30] =================== xe_rtp (2 subtests) ====================
[21:06:30] =============== xe_rtp_process_to_sr_tests  ================
[21:06:30] [PASSED] coalesce-same-reg
[21:06:30] [PASSED] no-match-no-add
[21:06:30] [PASSED] match-or
[21:06:30] [PASSED] match-or-xfail
[21:06:30] [PASSED] no-match-no-add-multiple-rules
[21:06:30] [PASSED] two-regs-two-entries
[21:06:30] [PASSED] clr-one-set-other
[21:06:30] [PASSED] set-field
[21:06:30] [PASSED] conflict-duplicate
[21:06:30] [PASSED] conflict-not-disjoint
[21:06:30] [PASSED] conflict-reg-type
[21:06:30] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[21:06:30] ================== xe_rtp_process_tests  ===================
[21:06:30] [PASSED] active1
[21:06:30] [PASSED] active2
[21:06:30] [PASSED] active-inactive
[21:06:30] [PASSED] inactive-active
[21:06:30] [PASSED] inactive-1st_or_active-inactive
[21:06:30] [PASSED] inactive-2nd_or_active-inactive
[21:06:30] [PASSED] inactive-last_or_active-inactive
[21:06:30] [PASSED] inactive-no_or_active-inactive
[21:06:30] ============== [PASSED] xe_rtp_process_tests ===============
[21:06:30] ===================== [PASSED] xe_rtp ======================
[21:06:30] ==================== xe_wa (1 subtest) =====================
[21:06:30] ======================== xe_wa_gt  =========================
[21:06:30] [PASSED] TIGERLAKE (B0)
[21:06:30] [PASSED] DG1 (A0)
[21:06:30] [PASSED] DG1 (B0)
[21:06:30] [PASSED] ALDERLAKE_S (A0)
[21:06:30] [PASSED] ALDERLAKE_S (B0)
[21:06:30] [PASSED] ALDERLAKE_S (C0)
[21:06:30] [PASSED] ALDERLAKE_S (D0)
[21:06:30] [PASSED] ALDERLAKE_P (A0)
[21:06:30] [PASSED] ALDERLAKE_P (B0)
[21:06:30] [PASSED] ALDERLAKE_P (C0)
[21:06:30] [PASSED] ALDERLAKE_S_RPLS (D0)
[21:06:30] [PASSED] ALDERLAKE_P_RPLU (E0)
[21:06:30] [PASSED] DG2_G10 (C0)
[21:06:30] [PASSED] DG2_G11 (B1)
[21:06:30] [PASSED] DG2_G12 (A1)
[21:06:30] [PASSED] METEORLAKE (g:A0, m:A0)
[21:06:30] [PASSED] METEORLAKE (g:A0, m:A0)
[21:06:30] [PASSED] METEORLAKE (g:A0, m:A0)
[21:06:30] [PASSED] LUNARLAKE (g:A0, m:A0)
[21:06:30] [PASSED] LUNARLAKE (g:B0, m:A0)
stty: 'standard input': Inappropriate ioctl for device
[21:06:30] [PASSED] BATTLEMAGE (g:A0, m:A1)
[21:06:30] ==================== [PASSED] xe_wa_gt =====================
[21:06:30] ====================== [PASSED] xe_wa ======================
[21:06:30] ============================================================
[21:06:30] Testing complete. Ran 297 tests: passed: 281, skipped: 16
[21:06:30] Elapsed time: 38.902s total, 4.477s configuring, 34.109s building, 0.264s running

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

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

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



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

* ✓ Xe.CI.BAT: success for drm/xe: Add psmi support
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
                   ` (5 preceding siblings ...)
  2025-07-16 21:07 ` ✓ CI.KUnit: success " Patchwork
@ 2025-07-16 21:58 ` Patchwork
  2025-07-17 19:19 ` ✗ Xe.CI.Full: failure " Patchwork
  2025-07-17 19:47 ` [PATCH 0/4] " Rodrigo Vivi
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-07-16 21:58 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe: Add psmi support
URL   : https://patchwork.freedesktop.org/series/151729/
State : success

== Summary ==

CI Bug Log - changes from xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e_BAT -> xe-pw-151729v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (8 -> 7)
------------------------------

  Missing    (1): bat-adlp-vm 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_flip@basic-plain-flip@c-edp1:
    - bat-adlp-7:         [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543]) +1 other test dmesg-warn
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/bat-adlp-7/igt@kms_flip@basic-plain-flip@c-edp1.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/bat-adlp-7/igt@kms_flip@basic-plain-flip@c-edp1.html

  
  [Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543


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

  * Linux: xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e -> xe-pw-151729v1

  IGT_8462: f33a311145a889757f45313d2ff4bf58f7ef01d6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e: ee366a69fc759531f101158a5403f21ab5805f9e
  xe-pw-151729v1: 151729v1

== Logs ==

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

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

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

* ✗ Xe.CI.Full: failure for drm/xe: Add psmi support
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
                   ` (6 preceding siblings ...)
  2025-07-16 21:58 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-07-17 19:19 ` Patchwork
  2025-07-17 19:47 ` [PATCH 0/4] " Rodrigo Vivi
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-07-17 19:19 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe: Add psmi support
URL   : https://patchwork.freedesktop.org/series/151729/
State : failure

== Summary ==

CI Bug Log - changes from xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e_FULL -> xe-pw-151729v1_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-151729v1_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-151729v1_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-151729v1_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@xe_exec_reset@parallel-gt-reset:
    - shard-adlp:         [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-3/igt@xe_exec_reset@parallel-gt-reset.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-6/igt@xe_exec_reset@parallel-gt-reset.html

  * igt@xe_exec_threads@threads-mixed-userptr-invalidate-race:
    - shard-adlp:         [PASS][3] -> [DMESG-FAIL][4] +1 other test dmesg-fail
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-3/igt@xe_exec_threads@threads-mixed-userptr-invalidate-race.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-6/igt@xe_exec_threads@threads-mixed-userptr-invalidate-race.html

  
#### Warnings ####

  * igt@xe_pm@d3cold-basic-exec:
    - shard-adlp:         [SKIP][5] ([Intel XE#2284] / [Intel XE#366]) -> [ABORT][6]
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-3/igt@xe_pm@d3cold-basic-exec.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-6/igt@xe_pm@d3cold-basic-exec.html

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

  Here are the changes found in xe-pw-151729v1_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@intel_hwmon@hwmon-write:
    - shard-bmg:          NOTRUN -> [FAIL][7] ([Intel XE#4665])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@intel_hwmon@hwmon-write.html

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

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-adlp:         [PASS][9] -> [DMESG-FAIL][10] ([Intel XE#4543])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#1124]) +5 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-5/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html

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

  * igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
    - shard-bmg:          [PASS][13] -> [SKIP][14] ([Intel XE#2314] / [Intel XE#2894])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-8/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#2314] / [Intel XE#2894]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][16] ([Intel XE#2191])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-3-displays-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#367])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-d-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][18] ([Intel XE#455] / [Intel XE#787]) +22 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-d-dp-2.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][19] ([Intel XE#787]) +125 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [PASS][20] -> [INCOMPLETE][21] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2887]) +6 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-5/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#2652] / [Intel XE#787]) +8 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2.html

  * igt@kms_chamelium_hpd@dp-hpd-after-suspend:
    - shard-dg2-set2:     NOTRUN -> [SKIP][24] ([Intel XE#373]) +2 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html

  * igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#2252]) +2 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][26] ([Intel XE#307])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-bmg:          NOTRUN -> [FAIL][27] ([Intel XE#1178]) +1 other test fail
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_content_protection@legacy.html

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

  * igt@kms_cursor_crc@cursor-sliding-32x10:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2320])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-5/igt@kms_cursor_crc@cursor-sliding-32x10.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#2321])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-bmg:          [PASS][31] -> [SKIP][32] ([Intel XE#2291]) +3 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-8/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-bmg:          [PASS][33] -> [SKIP][34] ([Intel XE#4302])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-2/igt@kms_display_modes@extended-mode-basic.html
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#4354])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][36] ([Intel XE#455]) +2 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_flip@2x-absolute-wf_vblank-interruptible:
    - shard-bmg:          NOTRUN -> [SKIP][37] ([Intel XE#2316])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
    - shard-bmg:          [PASS][38] -> [SKIP][39] ([Intel XE#2316]) +1 other test skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-2/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip@flip-vs-rmfb-interruptible:
    - shard-adlp:         [PASS][40] -> [DMESG-WARN][41] ([Intel XE#5208])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-3/igt@kms_flip@flip-vs-rmfb-interruptible.html
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-4/igt@kms_flip@flip-vs-rmfb-interruptible.html

  * igt@kms_flip@flip-vs-rmfb-interruptible@d-hdmi-a1:
    - shard-adlp:         [PASS][42] -> [DMESG-WARN][43] ([Intel XE#4543]) +3 other tests dmesg-warn
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-3/igt@kms_flip@flip-vs-rmfb-interruptible@d-hdmi-a1.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-4/igt@kms_flip@flip-vs-rmfb-interruptible@d-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#2293]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][46] ([Intel XE#651]) +5 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][47] ([Intel XE#2311]) +9 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#5390]) +5 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#2352])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#2312]) +1 other test skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#2313]) +13 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][52] ([Intel XE#653]) +5 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_hdr@invalid-hdr:
    - shard-dg2-set2:     [PASS][53] -> [SKIP][54] ([Intel XE#455])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-464/igt@kms_hdr@invalid-hdr.html

  * igt@kms_hdr@static-toggle:
    - shard-bmg:          [PASS][55] -> [SKIP][56] ([Intel XE#1503]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-2/igt@kms_hdr@static-toggle.html
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_hdr@static-toggle.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-bmg:          [PASS][57] -> [SKIP][58] ([Intel XE#3012])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-2/igt@kms_joiner@basic-force-big-joiner.html
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#2934])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][60] ([Intel XE#2925])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a:
    - shard-bmg:          NOTRUN -> [SKIP][61] ([Intel XE#2763]) +4 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#870])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-adlp:         [PASS][63] -> [FAIL][64] ([Intel XE#718])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-8/igt@kms_pm_dc@dc6-dpms.html
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-6/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#1489]) +3 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][67] ([Intel XE#1489]) +1 other test skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html

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

  * igt@kms_psr@psr2-primary-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][69] ([Intel XE#2850] / [Intel XE#929]) +3 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@kms_psr@psr2-primary-render.html

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

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-adlp:         [PASS][71] -> [DMESG-WARN][72] ([Intel XE#2953] / [Intel XE#4173]) +2 other tests dmesg-warn
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-1/igt@kms_vblank@ts-continuation-suspend.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-3/igt@kms_vblank@ts-continuation-suspend.html

  * igt@kms_vblank@wait-busy-hang:
    - shard-dg2-set2:     [PASS][73] -> [INCOMPLETE][74] ([Intel XE#4488]) +1 other test incomplete
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-432/igt@kms_vblank@wait-busy-hang.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-432/igt@kms_vblank@wait-busy-hang.html

  * igt@kms_vrr@lobf:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#2168])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_vrr@lobf.html

  * igt@xe_eudebug@basic-vm-bind-extended-discovery:
    - shard-dg2-set2:     NOTRUN -> [SKIP][76] ([Intel XE#4837]) +1 other test skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@xe_eudebug@basic-vm-bind-extended-discovery.html

  * igt@xe_eudebug_online@breakpoint-many-sessions-tiles:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#4837]) +6 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@xe_eudebug_online@breakpoint-many-sessions-tiles.html

  * igt@xe_exec_basic@multigpu-no-exec-basic:
    - shard-bmg:          NOTRUN -> [SKIP][78] ([Intel XE#2322]) +1 other test skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@xe_exec_basic@multigpu-no-exec-basic.html

  * igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap:
    - shard-dg2-set2:     [PASS][79] -> [SKIP][80] ([Intel XE#1392]) +4 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-434/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html

  * igt@xe_exec_capture@reset:
    - shard-dg2-set2:     [PASS][81] -> [INCOMPLETE][82] ([Intel XE#4842])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-464/igt@xe_exec_capture@reset.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-463/igt@xe_exec_capture@reset.html

  * igt@xe_exec_fault_mode@many-execqueues-userptr-imm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][83] ([Intel XE#288]) +2 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@xe_exec_fault_mode@many-execqueues-userptr-imm.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence:
    - shard-dg2-set2:     NOTRUN -> [SKIP][84] ([Intel XE#2360])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence.html

  * igt@xe_exec_reset@parallel-gt-reset:
    - shard-bmg:          [PASS][85] -> [DMESG-WARN][86] ([Intel XE#3876])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-8/igt@xe_exec_reset@parallel-gt-reset.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@xe_exec_reset@parallel-gt-reset.html

  * igt@xe_exec_system_allocator@threads-many-stride-free:
    - shard-dg2-set2:     NOTRUN -> [SKIP][87] ([Intel XE#4915]) +50 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@xe_exec_system_allocator@threads-many-stride-free.html

  * igt@xe_exec_system_allocator@twice-mmap-huge:
    - shard-bmg:          NOTRUN -> [SKIP][88] ([Intel XE#4943]) +8 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@xe_exec_system_allocator@twice-mmap-huge.html

  * igt@xe_oa@enable-disable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][89] ([Intel XE#2541] / [Intel XE#3573]) +1 other test skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@xe_oa@enable-disable.html

  * igt@xe_pm@d3cold-multiple-execs:
    - shard-bmg:          NOTRUN -> [SKIP][90] ([Intel XE#2284])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@xe_pm@d3cold-multiple-execs.html

  * igt@xe_pxp@pxp-termination-key-update-post-rpm:
    - shard-bmg:          NOTRUN -> [SKIP][91] ([Intel XE#4733])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@xe_pxp@pxp-termination-key-update-post-rpm.html

  * igt@xe_sriov_auto_provisioning@selfconfig-basic:
    - shard-bmg:          NOTRUN -> [SKIP][92] ([Intel XE#4130])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@xe_sriov_auto_provisioning@selfconfig-basic.html

  * igt@xe_sriov_flr@flr-twice:
    - shard-dg2-set2:     NOTRUN -> [SKIP][93] ([Intel XE#4273])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-435/igt@xe_sriov_flr@flr-twice.html

  
#### Possible fixes ####

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-adlp:         [DMESG-FAIL][94] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-9/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
    - shard-bmg:          [SKIP][96] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][97] +1 other test pass
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-4/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][98] ([Intel XE#3862]) -> [PASS][99] +1 other test pass
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][100] ([Intel XE#3862]) -> [PASS][101] +1 other test pass
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-464/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-bmg:          [SKIP][102] ([Intel XE#2291]) -> [PASS][103] +5 other tests pass
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-3/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_dp_aux_dev:
    - shard-bmg:          [SKIP][104] ([Intel XE#3009]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-6/igt@kms_dp_aux_dev.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-8/igt@kms_dp_aux_dev.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-bmg:          [SKIP][106] ([Intel XE#4294]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-5/igt@kms_dp_linktrain_fallback@dp-fallback.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-3/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-bmg:          [SKIP][108] ([Intel XE#2316]) -> [PASS][109] +6 other tests pass
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-4/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [FAIL][110] ([Intel XE#301]) -> [PASS][111] +1 other test pass
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-bmg:          [INCOMPLETE][112] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][113] +1 other test pass
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-1/igt@kms_flip@flip-vs-suspend.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-5/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-adlp:         [DMESG-WARN][114] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][115] +4 other tests pass
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-1/igt@kms_flip@flip-vs-suspend-interruptible.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@plain-flip-interruptible@b-hdmi-a1:
    - shard-adlp:         [DMESG-WARN][116] ([Intel XE#4543]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-9/igt@kms_flip@plain-flip-interruptible@b-hdmi-a1.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-4/igt@kms_flip@plain-flip-interruptible@b-hdmi-a1.html

  * igt@kms_hdr@static-swap:
    - shard-bmg:          [SKIP][118] ([Intel XE#1503]) -> [PASS][119] +1 other test pass
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-6/igt@kms_hdr@static-swap.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-8/igt@kms_hdr@static-swap.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-bmg:          [SKIP][120] ([Intel XE#1435]) -> [PASS][121]
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-5/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_vrr@flipline:
    - shard-lnl:          [FAIL][122] ([Intel XE#4227]) -> [PASS][123] +1 other test pass
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-lnl-3/igt@kms_vrr@flipline.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-lnl-7/igt@kms_vrr@flipline.html

  * igt@kms_vrr@negative-basic:
    - shard-bmg:          [SKIP][124] ([Intel XE#1499]) -> [PASS][125]
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-5/igt@kms_vrr@negative-basic.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_vrr@negative-basic.html

  * igt@xe_exec_basic@multigpu-no-exec-rebind:
    - shard-dg2-set2:     [SKIP][126] ([Intel XE#1392]) -> [PASS][127] +3 other tests pass
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-rebind.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-436/igt@xe_exec_basic@multigpu-no-exec-rebind.html

  * igt@xe_exec_system_allocator@process-many-malloc-bo-unmap:
    - shard-bmg:          [INCOMPLETE][128] ([Intel XE#5401]) -> [PASS][129]
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-4/igt@xe_exec_system_allocator@process-many-malloc-bo-unmap.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@xe_exec_system_allocator@process-many-malloc-bo-unmap.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-mmap-remap:
    - shard-bmg:          [INCOMPLETE][130] ([Intel XE#2594] / [Intel XE#5401]) -> [PASS][131]
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-5/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-mmap-remap.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-mmap-remap.html

  
#### Warnings ####

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-adlp:         [DMESG-FAIL][132] ([Intel XE#4543]) -> [DMESG-FAIL][133] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543])
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-adlp-3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-adlp-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][134] ([Intel XE#2311]) -> [SKIP][135] ([Intel XE#2312]) +8 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][136] ([Intel XE#5390]) -> [SKIP][137] ([Intel XE#2312]) +3 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-bmg:          [SKIP][138] ([Intel XE#2312]) -> [SKIP][139] ([Intel XE#5390]) +10 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][140] ([Intel XE#2312]) -> [SKIP][141] ([Intel XE#2311]) +19 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html

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

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff:
    - shard-bmg:          [SKIP][144] ([Intel XE#2312]) -> [SKIP][145] ([Intel XE#2313]) +16 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-set2:     [FAIL][146] ([Intel XE#1729]) -> [SKIP][147] ([Intel XE#362])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151729v1/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [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#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [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#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#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [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#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
  [Intel XE#2594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2594
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [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#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
  [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#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [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#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
  [Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
  [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
  [Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
  [Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
  [Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
  [Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4488
  [Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4665
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4842]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4842
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
  [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
  [Intel XE#5401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5401
  [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#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929


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

  * Linux: xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e -> xe-pw-151729v1

  IGT_8462: f33a311145a889757f45313d2ff4bf58f7ef01d6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-3424-ee366a69fc759531f101158a5403f21ab5805f9e: ee366a69fc759531f101158a5403f21ab5805f9e
  xe-pw-151729v1: 151729v1

== Logs ==

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

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

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

* Re: [PATCH 0/4] drm/xe: Add psmi support
  2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
                   ` (7 preceding siblings ...)
  2025-07-17 19:19 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-07-17 19:47 ` Rodrigo Vivi
  8 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Vivi @ 2025-07-17 19:47 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: intel-xe, Matt Roper, Daniele Ceraolo Spurio, John Harrison,
	Brian Welty, Vinay Belgaumkar, Badal Nilawar, Sai Teja Pottumuttu

On Wed, Jul 16, 2025 at 01:55:43PM -0700, Lucas De Marchi wrote:
> Add PSMI support to aid debugging. More information about PSMI is in the
> second patch. This brings the initial implementation to drm-tip so it's
> also easy to debug and enable things early directly upstream.
> 
> Opens:
>  - Expose the toggle via configfs rather than module param? I'm leaning
>    towards this for v2 as we may have multiple cards and want to debug a
>    single one. It also matches nicely with the latest configurations we
>    added there.

yeap, configfs seems better here.

>  - Expose the allocation request via configs rather than debugfs: this
>    would part ways with configfs being for early-init things. I'm
>    leaning against this and just leave that in debugfs

I agree , debugfs seems better here.

>  - Add match for RTP to enable WA only if certain feature is enabled
>    (like psmi): I'm leaning towards this so we don't enable WAs that are
>    not necessary in normal non-debugging scenarios

good idea!

> 
> I will start preparing a v2 soon with the items above. Opinions on those
> are appreciated.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
> Badal Nilawar (1):
>       drm/xe/psmi: Enable GuC Wa_14020001231
> 
> Lucas De Marchi (2):
>       drm/xe/psmi: Add setting of PSMI feature flag
>       drm/xe/psmi: Add debugfs interface for allocation of PSMI capture buffers
> 
> Vinay Belgaumkar (1):
>       drm/xe/psmi: Add Wa_16023683509
> 
>  drivers/gpu/drm/xe/Makefile           |   1 +
>  drivers/gpu/drm/xe/abi/guc_klvs_abi.h |   1 +
>  drivers/gpu/drm/xe/xe_debugfs.c       |   3 +
>  drivers/gpu/drm/xe/xe_device.c        |   3 +
>  drivers/gpu/drm/xe/xe_device_types.h  |   7 +
>  drivers/gpu/drm/xe/xe_guc.c           |   7 +
>  drivers/gpu/drm/xe/xe_guc_ads.c       |   5 +
>  drivers/gpu/drm/xe/xe_guc_fwif.h      |   2 +
>  drivers/gpu/drm/xe/xe_module.c        |   3 +
>  drivers/gpu/drm/xe/xe_module.h        |   1 +
>  drivers/gpu/drm/xe/xe_psmi.c          | 297 ++++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_psmi.h          |  15 ++
>  drivers/gpu/drm/xe/xe_wa_oob.rules    |   6 +
>  13 files changed, 351 insertions(+)
> 
> base-commit: cd8f387cae3dc97c924db689b4849c83249c3b9d
> change-id: 20250618-psmi-9f270bf67895
> 
> Lucas De Marchi
> 

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

* Re: [PATCH 1/4] drm/xe/psmi: Add setting of PSMI feature flag
  2025-07-16 20:55 ` [PATCH 1/4] drm/xe/psmi: Add setting of PSMI feature flag Lucas De Marchi
@ 2025-08-21 17:24   ` Matt Atwood
  0 siblings, 0 replies; 11+ messages in thread
From: Matt Atwood @ 2025-08-21 17:24 UTC (permalink / raw)
  To: Lucas De Marchi, intel-xe, matthew.d.roper, daniele.ceraolosuprio,
	john.c.harrison, brian.welty
  Cc: intel-xe, Matt Roper, Daniele Ceraolo Spurio, John Harrison,
	Brian Welty

On Wed, Jul 16, 2025 at 01:55:44PM -0700, Lucas De Marchi wrote:
> PSMI allows to capture data from the GPU useful for early
> validation. From the kernel side there isn't much to be done, just a few
> things:
> 
> 	1) Toggle the feature support in GuC
> 	2) Enable some additional WAs
> 	3) Allocate buffers
> 
> Here is the first step, with the next ones to follow.
> 
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
> Original-author: Brian Welty <brian.welty@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_guc.c      | 3 +++
>  drivers/gpu/drm/xe/xe_guc_fwif.h | 1 +
>  drivers/gpu/drm/xe/xe_module.c   | 3 +++
>  drivers/gpu/drm/xe/xe_module.h   | 1 +
>  4 files changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index b1d1d6da37581..a117300501247 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -86,6 +86,9 @@ static u32 guc_ctl_feature_flags(struct xe_guc *guc)
>  	if (!guc_to_xe(guc)->info.skip_guc_pc)
>  		flags |= GUC_CTL_ENABLE_SLPC;
>  
> +	if (xe_modparam.enable_psmi)
> +		flags |= GUC_CTL_ENABLE_PSMI;
> +
>  	return flags;
>  }
>  
> diff --git a/drivers/gpu/drm/xe/xe_guc_fwif.h b/drivers/gpu/drm/xe/xe_guc_fwif.h
> index 6f57578b07cb0..2a5256c24b9d8 100644
> --- a/drivers/gpu/drm/xe/xe_guc_fwif.h
> +++ b/drivers/gpu/drm/xe/xe_guc_fwif.h
> @@ -107,6 +107,7 @@ struct guc_update_exec_queue_policy {
>  #define GUC_CTL_FEATURE			2
>  #define   GUC_CTL_ENABLE_SLPC		BIT(2)
>  #define   GUC_CTL_ENABLE_LITE_RESTORE	BIT(4)
> +#define   GUC_CTL_ENABLE_PSMI		BIT(7)
>  #define   GUC_CTL_DISABLE_SCHEDULER	BIT(14)
>  
>  #define GUC_CTL_DEBUG			3
> diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
> index 064093bf1adca..2e6ac082f7bee 100644
> --- a/drivers/gpu/drm/xe/xe_module.c
> +++ b/drivers/gpu/drm/xe/xe_module.c
> @@ -57,6 +57,9 @@ module_param_named(probe_display, xe_modparam.probe_display, bool, 0444);
>  MODULE_PARM_DESC(probe_display, "Probe display HW, otherwise it's left untouched "
>  		 "[default=" __stringify(DEFAULT_PROBE_DISPLAY) "])");
>  
> +module_param_named(enable_psmi, xe_modparam.enable_psmi, bool, 0444);
> +MODULE_PARM_DESC(enable_psmi, "Enable PSMI capture support");
> +
>  module_param_named(vram_bar_size, xe_modparam.force_vram_bar_size, int, 0600);
>  MODULE_PARM_DESC(vram_bar_size, "Set the vram bar size in MiB (<0=disable-resize, 0=max-needed-size, >0=force-size "
>  		 "[default=" __stringify(DEFAULT_VRAM_BAR_SIZE) "])");
> diff --git a/drivers/gpu/drm/xe/xe_module.h b/drivers/gpu/drm/xe/xe_module.h
> index 5a3bfea8b7b4c..a84af8eccb91d 100644
> --- a/drivers/gpu/drm/xe/xe_module.h
> +++ b/drivers/gpu/drm/xe/xe_module.h
> @@ -12,6 +12,7 @@
>  struct xe_modparam {
>  	bool force_execlist;
>  	bool probe_display;
> +	bool enable_psmi;
>  	u32 force_vram_bar_size;
>  	int guc_log_level;
>  	char *guc_firmware_path;
> 
> -- 
> 2.49.0
> 

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

end of thread, other threads:[~2025-08-21 17:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-16 20:55 [PATCH 0/4] drm/xe: Add psmi support Lucas De Marchi
2025-07-16 20:55 ` [PATCH 1/4] drm/xe/psmi: Add setting of PSMI feature flag Lucas De Marchi
2025-08-21 17:24   ` Matt Atwood
2025-07-16 20:55 ` [PATCH 2/4] drm/xe/psmi: Add debugfs interface for allocation of PSMI capture buffers Lucas De Marchi
2025-07-16 20:55 ` [PATCH 3/4] drm/xe/psmi: Enable GuC Wa_14020001231 Lucas De Marchi
2025-07-16 20:55 ` [PATCH 4/4] drm/xe/psmi: Add Wa_16023683509 Lucas De Marchi
2025-07-16 21:05 ` ✗ CI.checkpatch: warning for drm/xe: Add psmi support Patchwork
2025-07-16 21:07 ` ✓ CI.KUnit: success " Patchwork
2025-07-16 21:58 ` ✓ Xe.CI.BAT: " Patchwork
2025-07-17 19:19 ` ✗ Xe.CI.Full: failure " Patchwork
2025-07-17 19:47 ` [PATCH 0/4] " Rodrigo Vivi

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