Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] PF: Update auto-provisioning
@ 2025-10-15  9:12 Michal Wajdeczko
  2025-10-15  9:12 ` [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers Michal Wajdeczko
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Michal Wajdeczko @ 2025-10-15  9:12 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko

This is a small preparation step before we introduce sysfs based
provisioning.

Michal Wajdeczko (4):
  drm/xe/pf: Promote VFs provisioning helpers
  drm/xe/pf: Automatically provision VFs only in auto-mode
  drm/xe/pf: Disable auto-provisioning if changed using debugfs
  drm/xe/pf: Allow to restore auto-provisioning mode

 drivers/gpu/drm/xe/Makefile                   |   1 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c   |   7 +
 drivers/gpu/drm/xe/xe_pci_sriov.c             |  45 +----
 drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c      |  63 +++++++
 drivers/gpu/drm/xe/xe_sriov_pf_helpers.h      |  11 ++
 drivers/gpu/drm/xe/xe_sriov_pf_provision.c    | 154 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_pf_provision.h    |  31 ++++
 .../gpu/drm/xe/xe_sriov_pf_provision_types.h  |  36 ++++
 drivers/gpu/drm/xe/xe_sriov_pf_types.h        |   4 +
 drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c |   3 +
 10 files changed, 314 insertions(+), 41 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.c
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h

-- 
2.47.1


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

* [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
@ 2025-10-15  9:12 ` Michal Wajdeczko
  2025-10-15 13:00   ` Piotr Piórkowski
  2025-10-15  9:12 ` [PATCH 2/4] drm/xe/pf: Automatically provision VFs only in auto-mode Michal Wajdeczko
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Michal Wajdeczko @ 2025-10-15  9:12 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko

As we plan to add more VFs provisioning methods, start moving
related code into single place.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/Makefile                |  1 +
 drivers/gpu/drm/xe/xe_pci_sriov.c          | 45 ++----------
 drivers/gpu/drm/xe/xe_sriov_pf_provision.c | 83 ++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_pf_provision.h | 14 ++++
 4 files changed, 102 insertions(+), 41 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.c
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.h

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 84321fad3265..edae0c2a6e2f 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -176,6 +176,7 @@ xe-$(CONFIG_PCI_IOV) += \
 	xe_sriov_pf.o \
 	xe_sriov_pf_control.o \
 	xe_sriov_pf_debugfs.o \
+	xe_sriov_pf_provision.o \
 	xe_sriov_pf_service.o \
 	xe_tile_sriov_pf_debugfs.o
 
diff --git a/drivers/gpu/drm/xe/xe_pci_sriov.c b/drivers/gpu/drm/xe/xe_pci_sriov.c
index 9c1c9e669b04..735f51effc7a 100644
--- a/drivers/gpu/drm/xe/xe_pci_sriov.c
+++ b/drivers/gpu/drm/xe/xe_pci_sriov.c
@@ -19,46 +19,9 @@
 #include "xe_sriov_pf.h"
 #include "xe_sriov_pf_control.h"
 #include "xe_sriov_pf_helpers.h"
+#include "xe_sriov_pf_provision.h"
 #include "xe_sriov_printk.h"
 
-static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)
-{
-	unsigned int n;
-
-	for (n = 1; n <= num_vfs; n++)
-		if (!xe_gt_sriov_pf_config_is_empty(gt, n))
-			return false;
-
-	return true;
-}
-
-static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
-{
-	struct xe_gt *gt;
-	unsigned int id;
-	int result = 0, err;
-
-	for_each_gt(gt, xe, id) {
-		if (!pf_needs_provisioning(gt, num_vfs))
-			continue;
-		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
-		result = result ?: err;
-	}
-
-	return result;
-}
-
-static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
-{
-	struct xe_gt *gt;
-	unsigned int id;
-	unsigned int n;
-
-	for_each_gt(gt, xe, id)
-		for (n = 1; n <= num_vfs; n++)
-			xe_gt_sriov_pf_config_release(gt, n, true);
-}
-
 static void pf_reset_vfs(struct xe_device *xe, unsigned int num_vfs)
 {
 	unsigned int n;
@@ -168,7 +131,7 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
 	 */
 	xe_pm_runtime_get_noresume(xe);
 
-	err = pf_provision_vfs(xe, num_vfs);
+	err = xe_sriov_pf_provision_vfs(xe, num_vfs);
 	if (err < 0)
 		goto failed;
 
@@ -192,7 +155,7 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
 	return num_vfs;
 
 failed:
-	pf_unprovision_vfs(xe, num_vfs);
+	xe_sriov_pf_unprovision_vfs(xe, num_vfs);
 	xe_pm_runtime_put(xe);
 out:
 	xe_sriov_notice(xe, "Failed to enable %u VF%s (%pe)\n",
@@ -218,7 +181,7 @@ static int pf_disable_vfs(struct xe_device *xe)
 
 	pf_reset_vfs(xe, num_vfs);
 
-	pf_unprovision_vfs(xe, num_vfs);
+	xe_sriov_pf_unprovision_vfs(xe, num_vfs);
 
 	/* not needed anymore - see pf_enable_vfs() */
 	xe_pm_runtime_put(xe);
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
new file mode 100644
index 000000000000..c24803312231
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "xe_assert.h"
+#include "xe_device.h"
+#include "xe_gt_sriov_pf_config.h"
+#include "xe_sriov.h"
+#include "xe_sriov_pf_helpers.h"
+#include "xe_sriov_pf_provision.h"
+
+static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)
+{
+	unsigned int n;
+
+	for (n = 1; n <= num_vfs; n++)
+		if (!xe_gt_sriov_pf_config_is_empty(gt, n))
+			return false;
+
+	return true;
+}
+
+static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
+{
+	struct xe_gt *gt;
+	unsigned int id;
+	int result = 0;
+	int err;
+
+	for_each_gt(gt, xe, id) {
+		if (!pf_needs_provisioning(gt, num_vfs))
+			continue;
+		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
+		result = result ?: err;
+	}
+
+	return result;
+}
+
+static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
+{
+	struct xe_gt *gt;
+	unsigned int id;
+	unsigned int n;
+
+	for_each_gt(gt, xe, id)
+		for (n = 1; n <= num_vfs; n++)
+			xe_gt_sriov_pf_config_release(gt, n, true);
+}
+
+/**
+ * xe_sriov_pf_provision_vfs() - Provision VFs in auto-mode.
+ * @xe: the PF &xe_device
+ * @num_vfs: the number of VFs to auto-provision
+ *
+ * This function can only be called on PF.
+ *
+ * Return: 0 on success or a negative error code on failure.
+ */
+int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
+{
+	xe_assert(xe, IS_SRIOV_PF(xe));
+
+	return pf_provision_vfs(xe, num_vfs);
+}
+
+/**
+ * xe_sriov_pf_unprovision_vfs() - Unprovision VFs in auto-mode.
+ * @xe: the PF &xe_device
+ * @num_vfs: the number of VFs to unprovision
+ *
+ * This function can only be called on PF.
+ *
+ * Return: 0 on success or a negative error code on failure.
+ */
+int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
+{
+	xe_assert(xe, IS_SRIOV_PF(xe));
+
+	pf_unprovision_vfs(xe, num_vfs);
+	return 0;
+}
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
new file mode 100644
index 000000000000..f6a902190ad7
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef _XE_SRIOV_PF_PROVISION_H_
+#define _XE_SRIOV_PF_PROVISION_H_
+
+struct xe_device;
+
+int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs);
+int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs);
+
+#endif
-- 
2.47.1


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

* [PATCH 2/4] drm/xe/pf: Automatically provision VFs only in auto-mode
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
  2025-10-15  9:12 ` [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers Michal Wajdeczko
@ 2025-10-15  9:12 ` Michal Wajdeczko
  2025-10-15 16:30   ` Piotr Piórkowski
  2025-10-15  9:12 ` [PATCH 3/4] drm/xe/pf: Disable auto-provisioning if changed using debugfs Michal Wajdeczko
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Michal Wajdeczko @ 2025-10-15  9:12 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko

We shouldn't attempt to auto-provision VFs once we allow other
provisioning methods. Make the code aware of the new condition.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/xe_sriov_pf_provision.c    | 16 +++++++++-
 .../gpu/drm/xe/xe_sriov_pf_provision_types.h  | 32 +++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_pf_types.h        |  4 +++
 3 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h

diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
index c24803312231..de7d925a110d 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
@@ -9,6 +9,14 @@
 #include "xe_sriov.h"
 #include "xe_sriov_pf_helpers.h"
 #include "xe_sriov_pf_provision.h"
+#include "xe_sriov_pf_provision_types.h"
+
+static bool pf_auto_provisioning_mode(struct xe_device *xe)
+{
+	xe_assert(xe, IS_SRIOV_PF(xe));
+
+	return xe->sriov.pf.provision.mode == XE_SRIOV_PROVISIONING_MODE_AUTO;
+}
 
 static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)
 {
@@ -30,7 +38,7 @@ static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
 
 	for_each_gt(gt, xe, id) {
 		if (!pf_needs_provisioning(gt, num_vfs))
-			continue;
+			return -EUCLEAN;
 		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
 		result = result ?: err;
 	}
@@ -62,6 +70,9 @@ int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
 {
 	xe_assert(xe, IS_SRIOV_PF(xe));
 
+	if (!pf_auto_provisioning_mode(xe))
+		return 0;
+
 	return pf_provision_vfs(xe, num_vfs);
 }
 
@@ -78,6 +89,9 @@ int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
 {
 	xe_assert(xe, IS_SRIOV_PF(xe));
 
+	if (!pf_auto_provisioning_mode(xe))
+		return 0;
+
 	pf_unprovision_vfs(xe, num_vfs);
 	return 0;
 }
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
new file mode 100644
index 000000000000..f72bc5db3a60
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef _XE_SRIOV_PF_PROVISION_TYPES_H_
+#define _XE_SRIOV_PF_PROVISION_TYPES_H_
+
+#include <linux/build_bug.h>
+
+/**
+ * enum xe_sriov_provisioning_mode - SR-IOV provisioning mode.
+ *
+ * @XE_SRIOV_PROVISIONING_MODE_AUTO: VFs are provisioned during VFs enabling.
+ *                                   Any allocated resources to the VFs will be
+ *                                   automatically released when disabling VFs.
+ *                                   This is a default mode.
+ */
+enum xe_sriov_provisioning_mode {
+	XE_SRIOV_PROVISIONING_MODE_AUTO,
+};
+static_assert(XE_SRIOV_PROVISIONING_MODE_AUTO == 0);
+
+/**
+ * struct xe_sriov_pf_provision - Data used by the PF provisioning.
+ */
+struct xe_sriov_pf_provision {
+	/** @mode: selected provisioning mode. */
+	enum xe_sriov_provisioning_mode mode;
+};
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_types.h b/drivers/gpu/drm/xe/xe_sriov_pf_types.h
index 956a88f9f213..c753cd59aed2 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_types.h
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_types.h
@@ -9,6 +9,7 @@
 #include <linux/mutex.h>
 #include <linux/types.h>
 
+#include "xe_sriov_pf_provision_types.h"
 #include "xe_sriov_pf_service_types.h"
 
 /**
@@ -35,6 +36,9 @@ struct xe_device_pf {
 	/** @master_lock: protects all VFs configurations across GTs */
 	struct mutex master_lock;
 
+	/** @provision: device level provisioning data. */
+	struct xe_sriov_pf_provision provision;
+
 	/** @service: device level service data. */
 	struct xe_sriov_pf_service service;
 
-- 
2.47.1


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

* [PATCH 3/4] drm/xe/pf: Disable auto-provisioning if changed using debugfs
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
  2025-10-15  9:12 ` [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers Michal Wajdeczko
  2025-10-15  9:12 ` [PATCH 2/4] drm/xe/pf: Automatically provision VFs only in auto-mode Michal Wajdeczko
@ 2025-10-15  9:12 ` Michal Wajdeczko
  2025-10-16 15:26   ` Piotr Piórkowski
  2025-10-15  9:12 ` [PATCH 4/4] drm/xe/pf: Allow to restore auto-provisioning mode Michal Wajdeczko
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Michal Wajdeczko @ 2025-10-15  9:12 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko

When we attempt to tweak VFs configurations using debugfs, stop
assuming that VFs need auto-(un)provisioning.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c   |  7 ++++
 drivers/gpu/drm/xe/xe_sriov_pf_provision.c    | 39 +++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_pf_provision.h    | 17 ++++++++
 .../gpu/drm/xe/xe_sriov_pf_provision_types.h  |  4 ++
 drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c |  3 ++
 5 files changed, 70 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
index c026a3910e7e..838beb7f6327 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
@@ -23,6 +23,7 @@
 #include "xe_gt_sriov_pf_service.h"
 #include "xe_pm.h"
 #include "xe_sriov_pf.h"
+#include "xe_sriov_pf_provision.h"
 
 /*
  *      /sys/kernel/debug/dri/BDF/
@@ -124,6 +125,8 @@ static int POLICY##_set(void *data, u64 val)					\
 										\
 	xe_pm_runtime_get(xe);							\
 	err = xe_gt_sriov_pf_policy_set_##POLICY(gt, val);			\
+	if (!err)								\
+		xe_sriov_pf_provision_set_custom_mode(xe);			\
 	xe_pm_runtime_put(xe);							\
 										\
 	return err;								\
@@ -189,6 +192,8 @@ static int CONFIG##_set(void *data, u64 val)					\
 	xe_pm_runtime_get(xe);							\
 	err = xe_sriov_pf_wait_ready(xe) ?:					\
 	      xe_gt_sriov_pf_config_set_##CONFIG(gt, vfid, val);		\
+	if (!err)								\
+		xe_sriov_pf_provision_set_custom_mode(xe);			\
 	xe_pm_runtime_put(xe);							\
 										\
 	return err;								\
@@ -246,6 +251,8 @@ static int set_threshold(void *data, u64 val, enum xe_guc_klv_threshold_index in
 
 	xe_pm_runtime_get(xe);
 	err = xe_gt_sriov_pf_config_set_threshold(gt, vfid, index, val);
+	if (!err)
+		xe_sriov_pf_provision_set_custom_mode(xe);
 	xe_pm_runtime_put(xe);
 
 	return err;
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
index de7d925a110d..7e74175db972 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
@@ -10,6 +10,19 @@
 #include "xe_sriov_pf_helpers.h"
 #include "xe_sriov_pf_provision.h"
 #include "xe_sriov_pf_provision_types.h"
+#include "xe_sriov_printk.h"
+
+static const char *mode_to_string(enum xe_sriov_provisioning_mode mode)
+{
+	switch (mode) {
+	case XE_SRIOV_PROVISIONING_MODE_AUTO:
+		return "auto";
+	case XE_SRIOV_PROVISIONING_MODE_CUSTOM:
+		return "custom";
+	default:
+		return "<invalid>";
+	}
+}
 
 static bool pf_auto_provisioning_mode(struct xe_device *xe)
 {
@@ -95,3 +108,29 @@ int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
 	pf_unprovision_vfs(xe, num_vfs);
 	return 0;
 }
+
+/**
+ * xe_sriov_pf_provision_set_mode() - Change VFs provision mode.
+ * @xe: the PF &xe_device
+ * @mode: the new VFs provisioning mode
+ *
+ * When changing from AUTO to CUSTOM mode, any already allocated VFs resources
+ * will remain allocated and will not be released upon VFs disabling.
+ *
+ * This function can only be called on PF.
+ *
+ * Return: 0 on success or a negative error code on failure.
+ */
+int xe_sriov_pf_provision_set_mode(struct xe_device *xe, enum xe_sriov_provisioning_mode mode)
+{
+	xe_assert(xe, IS_SRIOV_PF(xe));
+
+	if (mode == xe->sriov.pf.provision.mode)
+		return 0;
+
+	xe_sriov_dbg(xe, "mode %s changed to %s by %ps\n",
+		     mode_to_string(xe->sriov.pf.provision.mode),
+		     mode_to_string(mode), __builtin_return_address(0));
+	xe->sriov.pf.provision.mode = mode;
+	return 0;
+}
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
index f6a902190ad7..cf3657a32e90 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
@@ -6,9 +6,26 @@
 #ifndef _XE_SRIOV_PF_PROVISION_H_
 #define _XE_SRIOV_PF_PROVISION_H_
 
+#include "xe_sriov_pf_provision_types.h"
+
 struct xe_device;
 
 int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs);
 int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs);
 
+int xe_sriov_pf_provision_set_mode(struct xe_device *xe, enum xe_sriov_provisioning_mode mode);
+
+/**
+ * xe_sriov_pf_provision_set_custom_mode() - Change VFs provision mode to custom.
+ * @xe: the PF &xe_device
+ *
+ * This function can only be called on PF.
+ *
+ * Return: 0 on success or a negative error code on failure.
+ */
+static inline int xe_sriov_pf_provision_set_custom_mode(struct xe_device *xe)
+{
+	return xe_sriov_pf_provision_set_mode(xe, XE_SRIOV_PROVISIONING_MODE_CUSTOM);
+}
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
index f72bc5db3a60..a847b8a4c4da 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
@@ -15,9 +15,13 @@
  *                                   Any allocated resources to the VFs will be
  *                                   automatically released when disabling VFs.
  *                                   This is a default mode.
+ * @XE_SRIOV_PROVISIONING_MODE_CUSTOM: Explicit VFs provisioning using uABI interfaces.
+ *                                     VFs resources remains allocated regardless if
+ *                                     VFs are enabled or not.
  */
 enum xe_sriov_provisioning_mode {
 	XE_SRIOV_PROVISIONING_MODE_AUTO,
+	XE_SRIOV_PROVISIONING_MODE_CUSTOM,
 };
 static_assert(XE_SRIOV_PROVISIONING_MODE_AUTO == 0);
 
diff --git a/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c
index c8df18af4d00..931df8a6eaf4 100644
--- a/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c
@@ -15,6 +15,7 @@
 #include "xe_tile_sriov_pf_debugfs.h"
 #include "xe_sriov.h"
 #include "xe_sriov_pf.h"
+#include "xe_sriov_pf_provision.h"
 
 /*
  *      /sys/kernel/debug/dri/BDF/
@@ -143,6 +144,8 @@ static int NAME##_set(void *data, u64 val)					\
 	xe_pm_runtime_get(xe);							\
 	err = xe_sriov_pf_wait_ready(xe) ?:					\
 	      xe_gt_sriov_pf_config_set_##CONFIG(gt, vfid, val);		\
+	if (!err)								\
+		xe_sriov_pf_provision_set_custom_mode(xe);			\
 	xe_pm_runtime_put(xe);							\
 										\
 	return err;								\
-- 
2.47.1


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

* [PATCH 4/4] drm/xe/pf: Allow to restore auto-provisioning mode
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
                   ` (2 preceding siblings ...)
  2025-10-15  9:12 ` [PATCH 3/4] drm/xe/pf: Disable auto-provisioning if changed using debugfs Michal Wajdeczko
@ 2025-10-15  9:12 ` Michal Wajdeczko
  2025-10-16 15:46   ` Piotr Piórkowski
  2025-10-15 12:10 ` ✗ CI.checkpatch: warning for PF: Update auto-provisioning Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 17+ messages in thread
From: Michal Wajdeczko @ 2025-10-15  9:12 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko

After doing tweaks to the VFs provisioning we may want to restore
back the auto-provisioning mode. Allow that unless VFs are still
enabled. This can be also used to release all VFs resources.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c   | 63 ++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_pf_helpers.h   | 11 ++++
 drivers/gpu/drm/xe/xe_sriov_pf_provision.c | 18 +++++++
 3 files changed, 92 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c
index 97636ed86fb8..a81aa05c5532 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c
@@ -13,6 +13,7 @@
 #include "xe_sriov_pf_control.h"
 #include "xe_sriov_pf_debugfs.h"
 #include "xe_sriov_pf_helpers.h"
+#include "xe_sriov_pf_provision.h"
 #include "xe_sriov_pf_service.h"
 #include "xe_sriov_printk.h"
 #include "xe_tile_sriov_pf_debugfs.h"
@@ -43,6 +44,66 @@ static unsigned int extract_vfid(struct dentry *d)
 	return p == extract_xe(d) ? PFID : (uintptr_t)p;
 }
 
+/*
+ *      /sys/kernel/debug/dri/BDF/
+ *      ├── sriov
+ *      │   ├── restore_auto_provisioning
+ *      │   :
+ *      │   ├── pf/
+ *      │   ├── vf1
+ *      │   │   ├── ...
+ */
+
+static ssize_t from_file_write_to_xe_call(struct file *file, const char __user *userbuf,
+					  size_t count, loff_t *ppos,
+					  int (*call)(struct xe_device *))
+{
+	struct dentry *dent = file_dentry(file);
+	struct xe_device *xe = extract_xe(dent);
+	bool yes;
+	int ret;
+
+	if (*ppos)
+		return -EINVAL;
+	ret = kstrtobool_from_user(userbuf, count, &yes);
+	if (ret < 0)
+		return ret;
+	if (yes) {
+		xe_pm_runtime_get(xe);
+		ret = call(xe);
+		xe_pm_runtime_put(xe);
+	}
+	if (ret < 0)
+		return ret;
+	return count;
+}
+
+#define DEFINE_SRIOV_ATTRIBUTE(OP)						\
+static int OP##_show(struct seq_file *s, void *unused)				\
+{										\
+	return 0;								\
+}										\
+static ssize_t OP##_write(struct file *file, const char __user *userbuf,	\
+			  size_t count, loff_t *ppos)				\
+{										\
+	return from_file_write_to_xe_call(file, userbuf, count, ppos,		\
+					  xe_sriov_pf_##OP);			\
+}										\
+DEFINE_SHOW_STORE_ATTRIBUTE(OP)
+
+static inline int xe_sriov_pf_restore_auto_provisioning(struct xe_device *xe)
+{
+	return xe_sriov_pf_provision_set_mode(xe, XE_SRIOV_PROVISIONING_MODE_AUTO);
+}
+
+DEFINE_SRIOV_ATTRIBUTE(restore_auto_provisioning);
+
+static void pf_populate_root(struct xe_device *xe, struct dentry *dent)
+{
+	debugfs_create_file("restore_auto_provisioning", 0200, dent, xe,
+			    &restore_auto_provisioning_fops);
+}
+
 static int simple_show(struct seq_file *m, void *data)
 {
 	struct drm_printer p = drm_seq_file_printer(m);
@@ -167,6 +228,8 @@ void xe_sriov_pf_debugfs_register(struct xe_device *xe, struct dentry *root)
 		return;
 	dent->d_inode->i_private = xe;
 
+	pf_populate_root(xe, dent);
+
 	/*
 	 *      /sys/kernel/debug/dri/BDF/
 	 *      ├── sriov		# d_inode->i_private = (xe_device*)
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h b/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h
index dd1df950b021..4a4340fb633a 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h
@@ -37,6 +37,17 @@ static inline int xe_sriov_pf_get_totalvfs(struct xe_device *xe)
 	return xe->sriov.pf.driver_max_vfs;
 }
 
+/**
+ * xe_sriov_pf_num_vfs() - Number of enabled VFs on the PF.
+ * @xe: the PF &xe_device
+ *
+ * Return: Number of enabled VFs on the PF.
+ */
+static inline unsigned int xe_sriov_pf_num_vfs(const struct xe_device *xe)
+{
+	return pci_num_vf(to_pci_dev(xe->drm.dev));
+}
+
 static inline struct mutex *xe_sriov_pf_master_mutex(struct xe_device *xe)
 {
 	xe_assert(xe, IS_SRIOV_PF(xe));
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
index 7e74175db972..32c281c1dc5d 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
+++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
@@ -70,6 +70,11 @@ static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
 			xe_gt_sriov_pf_config_release(gt, n, true);
 }
 
+static void pf_unprovision_all_vfs(struct xe_device *xe)
+{
+	pf_unprovision_vfs(xe, xe_sriov_pf_get_totalvfs(xe));
+}
+
 /**
  * xe_sriov_pf_provision_vfs() - Provision VFs in auto-mode.
  * @xe: the PF &xe_device
@@ -117,6 +122,10 @@ int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
  * When changing from AUTO to CUSTOM mode, any already allocated VFs resources
  * will remain allocated and will not be released upon VFs disabling.
  *
+ * When changing back to AUTO mode, if VFs are not enabled, already allocated
+ * VFs resources will be immediately released. If VFs are still enabled, such
+ * mode change is rejected.
+ *
  * This function can only be called on PF.
  *
  * Return: 0 on success or a negative error code on failure.
@@ -128,6 +137,15 @@ int xe_sriov_pf_provision_set_mode(struct xe_device *xe, enum xe_sriov_provision
 	if (mode == xe->sriov.pf.provision.mode)
 		return 0;
 
+	if (mode == XE_SRIOV_PROVISIONING_MODE_AUTO) {
+		if (xe_sriov_pf_num_vfs(xe)) {
+			xe_sriov_dbg(xe, "can't restore %s: VFs must be disabled!\n",
+				     mode_to_string(mode));
+			return -EBUSY;
+		}
+		pf_unprovision_all_vfs(xe);
+	}
+
 	xe_sriov_dbg(xe, "mode %s changed to %s by %ps\n",
 		     mode_to_string(xe->sriov.pf.provision.mode),
 		     mode_to_string(mode), __builtin_return_address(0));
-- 
2.47.1


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

* ✗ CI.checkpatch: warning for PF: Update auto-provisioning
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
                   ` (3 preceding siblings ...)
  2025-10-15  9:12 ` [PATCH 4/4] drm/xe/pf: Allow to restore auto-provisioning mode Michal Wajdeczko
@ 2025-10-15 12:10 ` Patchwork
  2025-10-15 12:11 ` ✓ CI.KUnit: success " Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-10-15 12:10 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

== Series Details ==

Series: PF: Update auto-provisioning
URL   : https://patchwork.freedesktop.org/series/155971/
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
fbd08a78c3a3bb17964db2a326514c69c1dca660
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit d055e7b39769b433dc0a931fbba0a372e937b100
Author: Michal Wajdeczko <michal.wajdeczko@intel.com>
Date:   Wed Oct 15 11:12:09 2025 +0200

    drm/xe/pf: Allow to restore auto-provisioning mode
    
    After doing tweaks to the VFs provisioning we may want to restore
    back the auto-provisioning mode. Allow that unless VFs are still
    enabled. This can be also used to release all VFs resources.
    
    Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
+ /mt/dim checkpatch 6a9cafb6723c47062cc4d593804d5bb69155d81a drm-intel
5447c799f763 drm/xe/pf: Promote VFs provisioning helpers
-:103: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#103: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 175 lines checked
1440b156c542 drm/xe/pf: Automatically provision VFs only in auto-mode
-:60: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#60: 
new file mode 100644

-:86: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#86: FILE: drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h:22:
+};
+static_assert(XE_SRIOV_PROVISIONING_MODE_AUTO == 0);

total: 0 errors, 1 warnings, 1 checks, 88 lines checked
f4d0d7ec4587 drm/xe/pf: Disable auto-provisioning if changed using debugfs
d055e7b39769 drm/xe/pf: Allow to restore auto-provisioning mode



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

* ✓ CI.KUnit: success for PF: Update auto-provisioning
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
                   ` (4 preceding siblings ...)
  2025-10-15 12:10 ` ✗ CI.checkpatch: warning for PF: Update auto-provisioning Patchwork
@ 2025-10-15 12:11 ` Patchwork
  2025-10-15 13:07 ` ✓ Xe.CI.BAT: " Patchwork
  2025-10-15 22:12 ` ✗ Xe.CI.Full: failure " Patchwork
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-10-15 12:11 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

== Series Details ==

Series: PF: Update auto-provisioning
URL   : https://patchwork.freedesktop.org/series/155971/
State : success

== Summary ==

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

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

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

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



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

* Re: [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers
  2025-10-15  9:12 ` [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers Michal Wajdeczko
@ 2025-10-15 13:00   ` Piotr Piórkowski
  2025-10-16 11:33     ` Michal Wajdeczko
  0 siblings, 1 reply; 17+ messages in thread
From: Piotr Piórkowski @ 2025-10-15 13:00 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

Michal Wajdeczko <michal.wajdeczko@intel.com> wrote on śro [2025-paź-15 11:12:06 +0200]:
> As we plan to add more VFs provisioning methods, start moving
> related code into single place.
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
>  drivers/gpu/drm/xe/Makefile                |  1 +
>  drivers/gpu/drm/xe/xe_pci_sriov.c          | 45 ++----------
>  drivers/gpu/drm/xe/xe_sriov_pf_provision.c | 83 ++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_sriov_pf_provision.h | 14 ++++
>  4 files changed, 102 insertions(+), 41 deletions(-)
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.h
> 
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> index 84321fad3265..edae0c2a6e2f 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -176,6 +176,7 @@ xe-$(CONFIG_PCI_IOV) += \
>  	xe_sriov_pf.o \
>  	xe_sriov_pf_control.o \
>  	xe_sriov_pf_debugfs.o \
> +	xe_sriov_pf_provision.o \
>  	xe_sriov_pf_service.o \
>  	xe_tile_sriov_pf_debugfs.o
>  
> diff --git a/drivers/gpu/drm/xe/xe_pci_sriov.c b/drivers/gpu/drm/xe/xe_pci_sriov.c
> index 9c1c9e669b04..735f51effc7a 100644
> --- a/drivers/gpu/drm/xe/xe_pci_sriov.c
> +++ b/drivers/gpu/drm/xe/xe_pci_sriov.c
> @@ -19,46 +19,9 @@
>  #include "xe_sriov_pf.h"
>  #include "xe_sriov_pf_control.h"
>  #include "xe_sriov_pf_helpers.h"
> +#include "xe_sriov_pf_provision.h"
>  #include "xe_sriov_printk.h"
>  
> -static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)
> -{
> -	unsigned int n;
> -
> -	for (n = 1; n <= num_vfs; n++)
> -		if (!xe_gt_sriov_pf_config_is_empty(gt, n))
> -			return false;
> -
> -	return true;
> -}
> -
> -static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
> -{
> -	struct xe_gt *gt;
> -	unsigned int id;
> -	int result = 0, err;
> -
> -	for_each_gt(gt, xe, id) {
> -		if (!pf_needs_provisioning(gt, num_vfs))
> -			continue;
> -		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
> -		result = result ?: err;
> -	}
> -
> -	return result;
> -}
> -
> -static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
> -{
> -	struct xe_gt *gt;
> -	unsigned int id;
> -	unsigned int n;
> -
> -	for_each_gt(gt, xe, id)
> -		for (n = 1; n <= num_vfs; n++)
> -			xe_gt_sriov_pf_config_release(gt, n, true);
> -}
> -
>  static void pf_reset_vfs(struct xe_device *xe, unsigned int num_vfs)
>  {
>  	unsigned int n;
> @@ -168,7 +131,7 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
>  	 */
>  	xe_pm_runtime_get_noresume(xe);
>  
> -	err = pf_provision_vfs(xe, num_vfs);
> +	err = xe_sriov_pf_provision_vfs(xe, num_vfs);
>  	if (err < 0)
>  		goto failed;
>  
> @@ -192,7 +155,7 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
>  	return num_vfs;
>  
>  failed:
> -	pf_unprovision_vfs(xe, num_vfs);
> +	xe_sriov_pf_unprovision_vfs(xe, num_vfs);
>  	xe_pm_runtime_put(xe);
>  out:
>  	xe_sriov_notice(xe, "Failed to enable %u VF%s (%pe)\n",
> @@ -218,7 +181,7 @@ static int pf_disable_vfs(struct xe_device *xe)
>  
>  	pf_reset_vfs(xe, num_vfs);
>  
> -	pf_unprovision_vfs(xe, num_vfs);
> +	xe_sriov_pf_unprovision_vfs(xe, num_vfs);
>  
>  	/* not needed anymore - see pf_enable_vfs() */
>  	xe_pm_runtime_put(xe);
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> new file mode 100644
> index 000000000000..c24803312231
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> @@ -0,0 +1,83 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#include "xe_assert.h"
> +#include "xe_device.h"
> +#include "xe_gt_sriov_pf_config.h"
> +#include "xe_sriov.h"
> +#include "xe_sriov_pf_helpers.h"
> +#include "xe_sriov_pf_provision.h"
> +
> +static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)

NIT: Why don't you use bool here?


> +{
> +	unsigned int n;
> +
> +	for (n = 1; n <= num_vfs; n++)
> +		if (!xe_gt_sriov_pf_config_is_empty(gt, n))
> +			return false;
> +
> +	return true;
> +}
> +
> +static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
> +{
> +	struct xe_gt *gt;
> +	unsigned int id;
> +	int result = 0;
> +	int err;
> +
> +	for_each_gt(gt, xe, id) {
> +		if (!pf_needs_provisioning(gt, num_vfs))
> +			continue;
> +		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
> +		result = result ?: err;
> +	}
> +
> +	return result;
> +}
> +
> +static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
> +{
> +	struct xe_gt *gt;
> +	unsigned int id;
> +	unsigned int n;
> +
> +	for_each_gt(gt, xe, id)
> +		for (n = 1; n <= num_vfs; n++)
> +			xe_gt_sriov_pf_config_release(gt, n, true);
> +}
> +
> +/**
> + * xe_sriov_pf_provision_vfs() - Provision VFs in auto-mode.
> + * @xe: the PF &xe_device
> + * @num_vfs: the number of VFs to auto-provision
> + *
> + * This function can only be called on PF.
> + *
> + * Return: 0 on success or a negative error code on failure.
> + */
> +int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
> +{
> +	xe_assert(xe, IS_SRIOV_PF(xe));
> +
> +	return pf_provision_vfs(xe, num_vfs);
> +}
> +
> +/**
> + * xe_sriov_pf_unprovision_vfs() - Unprovision VFs in auto-mode.
> + * @xe: the PF &xe_device
> + * @num_vfs: the number of VFs to unprovision
> + *
> + * This function can only be called on PF.
> + *
> + * Return: 0 on success or a negative error code on failure.
> + */
> +int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
> +{
> +	xe_assert(xe, IS_SRIOV_PF(xe));
> +
> +	pf_unprovision_vfs(xe, num_vfs);
> +	return 0;
> +}

NIT: Perhaps it would be worth adding the assertion num_vfs > 0 here.

> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
> new file mode 100644
> index 000000000000..f6a902190ad7
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
> @@ -0,0 +1,14 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#ifndef _XE_SRIOV_PF_PROVISION_H_
> +#define _XE_SRIOV_PF_PROVISION_H_
> +
> +struct xe_device;
> +
> +int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs);
> +int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs);
> +
> +#endif

Minor comments, but the code looks okay:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>

> -- 
> 2.47.1
> 

-- 

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

* ✓ Xe.CI.BAT: success for PF: Update auto-provisioning
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
                   ` (5 preceding siblings ...)
  2025-10-15 12:11 ` ✓ CI.KUnit: success " Patchwork
@ 2025-10-15 13:07 ` Patchwork
  2025-10-15 22:12 ` ✗ Xe.CI.Full: failure " Patchwork
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-10-15 13:07 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

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

== Series Details ==

Series: PF: Update auto-provisioning
URL   : https://patchwork.freedesktop.org/series/155971/
State : success

== Summary ==

CI Bug Log - changes from xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a_BAT -> xe-pw-155971v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 10)
------------------------------

  Missing    (1): bat-ptl-vm 


Changes
-------

  No changes found


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

  * Linux: xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a -> xe-pw-155971v1

  IGT_8585: 8585
  xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a: 6a9cafb6723c47062cc4d593804d5bb69155d81a
  xe-pw-155971v1: 155971v1

== Logs ==

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

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

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

* Re: [PATCH 2/4] drm/xe/pf: Automatically provision VFs only in auto-mode
  2025-10-15  9:12 ` [PATCH 2/4] drm/xe/pf: Automatically provision VFs only in auto-mode Michal Wajdeczko
@ 2025-10-15 16:30   ` Piotr Piórkowski
  0 siblings, 0 replies; 17+ messages in thread
From: Piotr Piórkowski @ 2025-10-15 16:30 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

Michal Wajdeczko <michal.wajdeczko@intel.com> wrote on śro [2025-paź-15 11:12:07 +0200]:
> We shouldn't attempt to auto-provision VFs once we allow other
> provisioning methods. Make the code aware of the new condition.
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_sriov_pf_provision.c    | 16 +++++++++-
>  .../gpu/drm/xe/xe_sriov_pf_provision_types.h  | 32 +++++++++++++++++++
>  drivers/gpu/drm/xe/xe_sriov_pf_types.h        |  4 +++
>  3 files changed, 51 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
> 
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> index c24803312231..de7d925a110d 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> @@ -9,6 +9,14 @@
>  #include "xe_sriov.h"
>  #include "xe_sriov_pf_helpers.h"
>  #include "xe_sriov_pf_provision.h"
> +#include "xe_sriov_pf_provision_types.h"
> +
> +static bool pf_auto_provisioning_mode(struct xe_device *xe)
> +{
> +	xe_assert(xe, IS_SRIOV_PF(xe));
> +
> +	return xe->sriov.pf.provision.mode == XE_SRIOV_PROVISIONING_MODE_AUTO;
> +}
>  
>  static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)
>  {
> @@ -30,7 +38,7 @@ static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
>  
>  	for_each_gt(gt, xe, id) {
>  		if (!pf_needs_provisioning(gt, num_vfs))
> -			continue;
> +			return -EUCLEAN;
>  		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
>  		result = result ?: err;
>  	}
> @@ -62,6 +70,9 @@ int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
>  {
>  	xe_assert(xe, IS_SRIOV_PF(xe));
>  
> +	if (!pf_auto_provisioning_mode(xe))
> +		return 0;
> +
>  	return pf_provision_vfs(xe, num_vfs);
>  }
>  
> @@ -78,6 +89,9 @@ int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
>  {
>  	xe_assert(xe, IS_SRIOV_PF(xe));
>  
> +	if (!pf_auto_provisioning_mode(xe))
> +		return 0;
> +
>  	pf_unprovision_vfs(xe, num_vfs);
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
> new file mode 100644
> index 000000000000..f72bc5db3a60
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
> @@ -0,0 +1,32 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#ifndef _XE_SRIOV_PF_PROVISION_TYPES_H_
> +#define _XE_SRIOV_PF_PROVISION_TYPES_H_
> +
> +#include <linux/build_bug.h>
> +
> +/**
> + * enum xe_sriov_provisioning_mode - SR-IOV provisioning mode.
> + *
> + * @XE_SRIOV_PROVISIONING_MODE_AUTO: VFs are provisioned during VFs enabling.
> + *                                   Any allocated resources to the VFs will be
> + *                                   automatically released when disabling VFs.
> + *                                   This is a default mode.
> + */
> +enum xe_sriov_provisioning_mode {
> +	XE_SRIOV_PROVISIONING_MODE_AUTO,
> +};
> +static_assert(XE_SRIOV_PROVISIONING_MODE_AUTO == 0);
> +
> +/**
> + * struct xe_sriov_pf_provision - Data used by the PF provisioning.
> + */
> +struct xe_sriov_pf_provision {
> +	/** @mode: selected provisioning mode. */
> +	enum xe_sriov_provisioning_mode mode;
> +};
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_types.h b/drivers/gpu/drm/xe/xe_sriov_pf_types.h
> index 956a88f9f213..c753cd59aed2 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_types.h
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_types.h
> @@ -9,6 +9,7 @@
>  #include <linux/mutex.h>
>  #include <linux/types.h>
>  
> +#include "xe_sriov_pf_provision_types.h"
>  #include "xe_sriov_pf_service_types.h"
>  
>  /**
> @@ -35,6 +36,9 @@ struct xe_device_pf {
>  	/** @master_lock: protects all VFs configurations across GTs */
>  	struct mutex master_lock;
>  
> +	/** @provision: device level provisioning data. */
> +	struct xe_sriov_pf_provision provision;
> +
>  	/** @service: device level service data. */
>  	struct xe_sriov_pf_service service;

LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>

>  
> -- 
> 2.47.1
> 

-- 

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

* ✗ Xe.CI.Full: failure for PF: Update auto-provisioning
  2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
                   ` (6 preceding siblings ...)
  2025-10-15 13:07 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-10-15 22:12 ` Patchwork
  2025-10-16 10:55   ` Michal Wajdeczko
  7 siblings, 1 reply; 17+ messages in thread
From: Patchwork @ 2025-10-15 22:12 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

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

== Series Details ==

Series: PF: Update auto-provisioning
URL   : https://patchwork.freedesktop.org/series/155971/
State : failure

== Summary ==

CI Bug Log - changes from xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a_FULL -> xe-pw-155971v1_FULL
====================================================

Summary
-------

  **FAILURE**

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_big_fb@linear-8bpp-rotate-180:
    - shard-bmg:          [PASS][1] -> [FAIL][2] +22 other tests fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-3/igt@kms_big_fb@linear-8bpp-rotate-180.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-8/igt@kms_big_fb@linear-8bpp-rotate-180.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [FAIL][3] +4 other tests fail
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_color@legacy-gamma@pipe-a-dp-2:
    - shard-bmg:          [PASS][4] -> [SKIP][5]
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@kms_color@legacy-gamma@pipe-a-dp-2.html
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_color@legacy-gamma@pipe-a-dp-2.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
    - shard-adlp:         NOTRUN -> [FAIL][6] +1 other test fail
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html

  * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [ABORT][7] +1 other test abort
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2.html

  * igt@xe_compute_preempt@compute-preempt-many-all-ram:
    - shard-dg2-set2:     NOTRUN -> [SKIP][8]
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_compute_preempt@compute-preempt-many-all-ram.html

  * igt@xe_evict@evict-beng-mixed-threads-small-multi-vm:
    - shard-bmg:          [PASS][9] -> [DMESG-FAIL][10]
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html

  * igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd:
    - shard-bmg:          [PASS][11] -> [ABORT][12] +6 other tests abort
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-5/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html

  * igt@xe_sriov_auto_provisioning@fair-allocation:
    - shard-adlp:         [PASS][13] -> [SKIP][14]
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@xe_sriov_auto_provisioning@fair-allocation.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_sriov_auto_provisioning@fair-allocation.html

  * igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
    - shard-adlp:         NOTRUN -> [SKIP][15]
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html

  
New tests
---------

  New tests have been introduced between xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a_FULL and xe-pw-155971v1_FULL:

### New IGT tests (2) ###

  * igt@xe_oa@buffer-size@oag-0-128k:
    - Statuses : 1 pass(s)
    - Exec time: [0.05] s

  * igt@xe_oa@buffer-size@oag-0-1m:
    - Statuses : 1 pass(s)
    - Exec time: [0.10] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@intel_hwmon@hwmon-read:
    - shard-adlp:         NOTRUN -> [SKIP][16] ([Intel XE#1125] / [Intel XE#5574])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@intel_hwmon@hwmon-read.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-adlp:         [PASS][17] -> [FAIL][18] ([Intel XE#3908]) +1 other test fail
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_big_fb@linear-32bpp-rotate-180:
    - shard-adlp:         NOTRUN -> [FAIL][19] ([Intel XE#5395])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_big_fb@linear-32bpp-rotate-180.html

  * igt@kms_big_fb@linear-8bpp-rotate-180:
    - shard-adlp:         [PASS][20] -> [FAIL][21] ([Intel XE#5395]) +4 other tests fail
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-1/igt@kms_big_fb@linear-8bpp-rotate-180.html
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-1/igt@kms_big_fb@linear-8bpp-rotate-180.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-0:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][22] ([Intel XE#2953] / [Intel XE#4173]) +1 other test dmesg-warn
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][23] ([Intel XE#316])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#2327])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#1124]) +3 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
    - shard-adlp:         NOTRUN -> [SKIP][26] ([Intel XE#316]) +4 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         NOTRUN -> [DMESG-FAIL][27] ([Intel XE#4543]) +6 other tests dmesg-fail
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][28] ([Intel XE#1124])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

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

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#607])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p:
    - shard-adlp:         NOTRUN -> [SKIP][31] ([Intel XE#367]) +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][32] ([Intel XE#2191])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2314] / [Intel XE#2894])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
    - shard-adlp:         NOTRUN -> [SKIP][34] ([Intel XE#2191]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html

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

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2887]) +5 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][37] ([Intel XE#787]) +32 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#2652] / [Intel XE#787]) +8 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][39] ([Intel XE#3432]) +1 other test skip
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][40] ([Intel XE#455] / [Intel XE#787]) +21 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [PASS][41] -> [INCOMPLETE][42] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345] / [Intel XE#6168])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     [PASS][43] -> [INCOMPLETE][44] ([Intel XE#1727] / [Intel XE#3113])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-6.html
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     [PASS][45] -> [INCOMPLETE][46] ([Intel XE#6168] / [i915#14968])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-4.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [PASS][47] -> [DMESG-WARN][48] ([Intel XE#1727] / [Intel XE#3113])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-hdmi-a-6.html
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][49] ([Intel XE#2907]) +3 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#2724])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_cdclk@mode-transition.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-adlp:         NOTRUN -> [SKIP][51] ([Intel XE#4418])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-adlp:         NOTRUN -> [SKIP][52] ([Intel XE#4416] / [Intel XE#455])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cdclk@plane-scaling.html

  * igt@kms_cdclk@plane-scaling@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][53] ([Intel XE#4416]) +2 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cdclk@plane-scaling@pipe-a-hdmi-a-1.html

  * igt@kms_chamelium_color@ctm-limited-range:
    - shard-adlp:         NOTRUN -> [SKIP][54] ([Intel XE#306])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_chamelium_color@ctm-limited-range.html
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#2325])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_chamelium_color@ctm-limited-range.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate:
    - shard-adlp:         NOTRUN -> [SKIP][56] ([Intel XE#373]) +7 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate.html

  * igt@kms_chamelium_hpd@dp-hpd-after-hibernate:
    - shard-dg2-set2:     NOTRUN -> [SKIP][57] ([Intel XE#373]) +1 other test skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_chamelium_hpd@dp-hpd-after-hibernate.html

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

  * igt@kms_content_protection@legacy:
    - shard-adlp:         NOTRUN -> [SKIP][59] ([Intel XE#455]) +24 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_content_protection@legacy.html
    - shard-bmg:          NOTRUN -> [FAIL][60] ([Intel XE#1178]) +1 other test fail
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_content_protection@legacy.html

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

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-adlp:         NOTRUN -> [SKIP][62] ([Intel XE#308]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#2321]) +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-adlp:         NOTRUN -> [SKIP][64] ([Intel XE#309]) +3 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-dg2-set2:     NOTRUN -> [SKIP][65] ([Intel XE#4356])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#2244])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats:
    - shard-adlp:         NOTRUN -> [SKIP][67] ([Intel XE#4422])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats.html

  * igt@kms_feature_discovery@display-3x:
    - shard-adlp:         NOTRUN -> [SKIP][68] ([Intel XE#703])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@psr2:
    - shard-adlp:         NOTRUN -> [SKIP][69] ([Intel XE#1135])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4:
    - shard-dg2-set2:     [PASS][70] -> [INCOMPLETE][71] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-466/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4.html
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-435/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4.html

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

  * igt@kms_flip@basic-flip-vs-modeset@c-hdmi-a1:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][73] ([Intel XE#4543]) +6 other tests dmesg-warn
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_flip@basic-flip-vs-modeset@c-hdmi-a1.html

  * igt@kms_flip@plain-flip-ts-check@c-hdmi-a1:
    - shard-adlp:         [PASS][74] -> [DMESG-WARN][75] ([Intel XE#4543])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-8/igt@kms_flip@plain-flip-ts-check@c-hdmi-a1.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-2/igt@kms_flip@plain-flip-ts-check@c-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#2293]) +2 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#2293] / [Intel XE#2380]) +2 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-blt:
    - shard-adlp:         NOTRUN -> [SKIP][78] ([Intel XE#651]) +8 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][79] ([Intel XE#2311]) +16 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-slowdraw:
    - shard-dg2-set2:     NOTRUN -> [SKIP][80] ([Intel XE#651]) +3 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#5390]) +6 other tests skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html

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

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move:
    - shard-dg2-set2:     NOTRUN -> [SKIP][83] ([Intel XE#653]) +5 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary:
    - shard-adlp:         NOTRUN -> [SKIP][84] ([Intel XE#653]) +10 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-adlp:         NOTRUN -> [SKIP][85] ([Intel XE#1151])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][86] ([Intel XE#2313]) +12 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-adlp:         NOTRUN -> [SKIP][87] ([Intel XE#656]) +37 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_hdmi_inject@inject-4k:
    - shard-adlp:         NOTRUN -> [ABORT][88] ([Intel XE#2953])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_hdmi_inject@inject-4k.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#4298])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_joiner@basic-max-non-joiner.html

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

  * igt@kms_pipe_stress@stress-xrgb8888-untiled:
    - shard-bmg:          [PASS][91] -> [TIMEOUT][92] ([Intel XE#6225])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@kms_pipe_stress@stress-xrgb8888-untiled.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_pipe_stress@stress-xrgb8888-untiled.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][93] ([Intel XE#5020])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-adlp:         NOTRUN -> [SKIP][94] ([Intel XE#5020])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-adlp:         NOTRUN -> [SKIP][95] ([Intel XE#2938])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade:
    - shard-bmg:          NOTRUN -> [SKIP][96] ([Intel XE#870])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_pm_backlight@fade.html
    - shard-adlp:         NOTRUN -> [SKIP][97] ([Intel XE#870])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][98] ([Intel XE#1129])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-bmg:          NOTRUN -> [SKIP][99] ([Intel XE#2392])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][100] ([Intel XE#1406] / [Intel XE#1489]) +3 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-adlp:         NOTRUN -> [SKIP][101] ([Intel XE#1406] / [Intel XE#1489]) +5 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area:
    - shard-dg2-set2:     NOTRUN -> [SKIP][102] ([Intel XE#1406] / [Intel XE#1489]) +2 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#1406] / [Intel XE#2387])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_psr2_su@page_flip-xrgb8888.html
    - shard-adlp:         NOTRUN -> [SKIP][104] ([Intel XE#1122] / [Intel XE#1406] / [Intel XE#5580]) +1 other test skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-pr-cursor-plane-move:
    - shard-dg2-set2:     NOTRUN -> [SKIP][105] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@kms_psr@fbc-pr-cursor-plane-move.html

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

  * igt@kms_psr@fbc-psr-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][107] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +6 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-2/igt@kms_psr@fbc-psr-suspend.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-bmg:          NOTRUN -> [SKIP][108] ([Intel XE#3414] / [Intel XE#3904])
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
    - shard-adlp:         NOTRUN -> [SKIP][109] ([Intel XE#3414])
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

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

  * igt@kms_vrr@cmrr@pipe-a-edp-1:
    - shard-lnl:          [PASS][111] -> [FAIL][112] ([Intel XE#4459]) +1 other test fail
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-lnl-2/igt@kms_vrr@cmrr@pipe-a-edp-1.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-lnl-8/igt@kms_vrr@cmrr@pipe-a-edp-1.html

  * igt@xe_ccs@block-copy-compressed-inc-dimension:
    - shard-adlp:         NOTRUN -> [SKIP][113] ([Intel XE#455] / [Intel XE#488] / [Intel XE#5607]) +1 other test skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_ccs@block-copy-compressed-inc-dimension.html

  * igt@xe_compute@ccs-mode-basic:
    - shard-bmg:          NOTRUN -> [FAIL][114] ([Intel XE#5794])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_compute@ccs-mode-basic.html
    - shard-adlp:         NOTRUN -> [SKIP][115] ([Intel XE#1447] / [Intel XE#5617])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_compute@ccs-mode-basic.html

  * igt@xe_compute@ccs-mode-compute-kernel:
    - shard-bmg:          NOTRUN -> [FAIL][116] ([Intel XE#5963])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@xe_compute@ccs-mode-compute-kernel.html

  * igt@xe_copy_basic@mem-copy-linear-0xfd:
    - shard-adlp:         NOTRUN -> [SKIP][117] ([Intel XE#1123])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_copy_basic@mem-copy-linear-0xfd.html

  * igt@xe_copy_basic@mem-set-linear-0x369:
    - shard-adlp:         NOTRUN -> [SKIP][118] ([Intel XE#1126])
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_copy_basic@mem-set-linear-0x369.html

  * igt@xe_eu_stall@blocking-re-enable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][119] ([Intel XE#5626])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_eu_stall@blocking-re-enable.html

  * igt@xe_eu_stall@non-blocking-re-enable:
    - shard-adlp:         NOTRUN -> [SKIP][120] ([Intel XE#5626]) +1 other test skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_eu_stall@non-blocking-re-enable.html

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

  * igt@xe_eudebug_online@single-step:
    - shard-adlp:         NOTRUN -> [SKIP][122] ([Intel XE#4837] / [Intel XE#5565]) +11 other tests skip
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_eudebug_online@single-step.html
    - shard-bmg:          NOTRUN -> [SKIP][123] ([Intel XE#4837]) +6 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_eudebug_online@single-step.html

  * igt@xe_eudebug_sriov@deny-sriov:
    - shard-bmg:          NOTRUN -> [SKIP][124] ([Intel XE#5793])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-1/igt@xe_eudebug_sriov@deny-sriov.html

  * igt@xe_evict@evict-beng-large-multi-vm:
    - shard-adlp:         NOTRUN -> [SKIP][125] ([Intel XE#261] / [Intel XE#5564])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_evict@evict-beng-large-multi-vm.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-bmg:          [PASS][126] -> [INCOMPLETE][127] ([Intel XE#6321])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@xe_evict@evict-beng-mixed-many-threads-small.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_evict@evict-cm-threads-large:
    - shard-adlp:         NOTRUN -> [SKIP][128] ([Intel XE#261]) +3 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_evict@evict-cm-threads-large.html

  * igt@xe_evict@evict-small-cm:
    - shard-adlp:         NOTRUN -> [SKIP][129] ([Intel XE#261] / [Intel XE#5564] / [Intel XE#688]) +3 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_evict@evict-small-cm.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd:
    - shard-adlp:         NOTRUN -> [SKIP][130] ([Intel XE#688])
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate:
    - shard-adlp:         NOTRUN -> [SKIP][131] ([Intel XE#1392] / [Intel XE#5575]) +9 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-no-exec-bindexecqueue:
    - shard-bmg:          NOTRUN -> [SKIP][132] ([Intel XE#2322]) +4 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue.html

  * igt@xe_exec_fault_mode@many-bindexecqueue-rebind-imm:
    - shard-adlp:         NOTRUN -> [SKIP][133] ([Intel XE#288] / [Intel XE#5561]) +19 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_exec_fault_mode@many-bindexecqueue-rebind-imm.html

  * igt@xe_exec_fault_mode@twice-rebind-prefetch:
    - shard-dg2-set2:     NOTRUN -> [SKIP][134] ([Intel XE#288]) +4 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_exec_fault_mode@twice-rebind-prefetch.html

  * igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence:
    - shard-adlp:         NOTRUN -> [SKIP][135] ([Intel XE#2360])
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html

  * igt@xe_exec_system_allocator@many-execqueues-mmap-huge-nomemset:
    - shard-bmg:          NOTRUN -> [SKIP][136] ([Intel XE#4943]) +14 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_exec_system_allocator@many-execqueues-mmap-huge-nomemset.html

  * igt@xe_exec_system_allocator@many-large-execqueues-malloc-mlock:
    - shard-adlp:         NOTRUN -> [SKIP][137] ([Intel XE#4915]) +230 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_exec_system_allocator@many-large-execqueues-malloc-mlock.html

  * igt@xe_exec_system_allocator@many-new-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][138] ([Intel XE#4915]) +40 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_exec_system_allocator@many-new-race.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv:
    - shard-dg2-set2:     [PASS][139] -> [DMESG-WARN][140] ([Intel XE#5893])
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-466/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-435/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html

  * igt@xe_module_load@force-load:
    - shard-dg2-set2:     NOTRUN -> [SKIP][141] ([Intel XE#378])
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_module_load@force-load.html

  * igt@xe_oa@create-destroy-userspace-config:
    - shard-adlp:         NOTRUN -> [SKIP][142] ([Intel XE#3573]) +7 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_oa@create-destroy-userspace-config.html

  * igt@xe_oa@mi-rpc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][143] ([Intel XE#3573])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_oa@mi-rpc.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][144] ([Intel XE#2838] / [Intel XE#979])
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-adlp:         NOTRUN -> [SKIP][145] ([Intel XE#2284] / [Intel XE#366]) +2 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pmu@all-fn-engine-activity-load:
    - shard-dg2-set2:     NOTRUN -> [SKIP][146] ([Intel XE#4650])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_pmu@all-fn-engine-activity-load.html

  * igt@xe_pmu@gt-frequency:
    - shard-dg2-set2:     [PASS][147] -> [FAIL][148] ([Intel XE#5166]) +1 other test fail
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-464/igt@xe_pmu@gt-frequency.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-435/igt@xe_pmu@gt-frequency.html

  * igt@xe_pxp@pxp-stale-bo-bind-post-rpm:
    - shard-adlp:         NOTRUN -> [SKIP][149] ([Intel XE#4733] / [Intel XE#5594]) +1 other test skip
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_pxp@pxp-stale-bo-bind-post-rpm.html

  * igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][150] ([Intel XE#4733])
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html

  * igt@xe_query@multigpu-query-engines:
    - shard-bmg:          NOTRUN -> [SKIP][151] ([Intel XE#944]) +1 other test skip
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-2/igt@xe_query@multigpu-query-engines.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-adlp:         NOTRUN -> [SKIP][152] ([Intel XE#944]) +3 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

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

  * igt@xe_render_copy@render-stress-2-copies:
    - shard-adlp:         NOTRUN -> [SKIP][154] ([Intel XE#4814] / [Intel XE#5614])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_render_copy@render-stress-2-copies.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random:
    - shard-adlp:         [PASS][155] -> [ABORT][156] ([Intel XE#4917]) +1 other test abort
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-6/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-9/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html

  
#### Possible fixes ####

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
    - shard-bmg:          [SKIP][157] ([Intel XE#2291]) -> [PASS][158] +3 other tests pass
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html

  * igt@kms_flip@2x-blocking-absolute-wf_vblank:
    - shard-bmg:          [SKIP][159] ([Intel XE#2316]) -> [PASS][160]
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_flip@2x-blocking-absolute-wf_vblank.html

  * igt@kms_flip@flip-vs-dpms-on-nop-interruptible:
    - shard-adlp:         [DMESG-WARN][161] ([Intel XE#4543]) -> [PASS][162] +3 other tests pass
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@kms_flip@flip-vs-dpms-on-nop-interruptible.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-9/igt@kms_flip@flip-vs-dpms-on-nop-interruptible.html

  * igt@kms_flip_tiling@flip-change-tiling:
    - shard-adlp:         [DMESG-FAIL][163] ([Intel XE#4543]) -> [PASS][164] +1 other test pass
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-1/igt@kms_flip_tiling@flip-change-tiling.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-1/igt@kms_flip_tiling@flip-change-tiling.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-bmg:          [SKIP][165] ([Intel XE#1503]) -> [PASS][166]
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_hdr@static-toggle-dpms.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_plane@plane-position-covered@pipe-a-plane-1:
    - shard-adlp:         [DMESG-WARN][167] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][168] +11 other tests pass
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@kms_plane@plane-position-covered@pipe-a-plane-1.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@kms_plane@plane-position-covered@pipe-a-plane-1.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-bmg:          [SKIP][169] ([Intel XE#4596]) -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-x.html

  * igt@kms_setmode@clone-exclusive-crtc:
    - shard-bmg:          [SKIP][171] ([Intel XE#1435]) -> [PASS][172]
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_setmode@clone-exclusive-crtc.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_setmode@clone-exclusive-crtc.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          [INCOMPLETE][173] ([Intel XE#6321]) -> [PASS][174]
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-2/igt@xe_evict@evict-mixed-many-threads-small.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-2/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_module_load@load:
    - shard-adlp:         ([PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180], [SKIP][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190]) ([Intel XE#378] / [Intel XE#5612]) -> ([PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205])
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-1/igt@xe_module_load@load.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-1/igt@xe_module_load@load.html
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-1/igt@xe_module_load@load.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-6/igt@xe_module_load@load.html
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-6/igt@xe_module_load@load.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-6/igt@xe_module_load@load.html
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-6/igt@xe_module_load@load.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@xe_module_load@load.html
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-9/igt@xe_module_load@load.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-9/igt@xe_module_load@load.html
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@xe_module_load@load.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@xe_module_load@load.html
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-9/igt@xe_module_load@load.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-8/igt@xe_module_load@load.html
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-8/igt@xe_module_load@load.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-8/igt@xe_module_load@load.html
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-2/igt@xe_module_load@load.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-2/igt@xe_module_load@load.html
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-2/igt@xe_module_load@load.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-1/igt@xe_module_load@load.html
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_module_load@load.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_module_load@load.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_module_load@load.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_module_load@load.html
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_module_load@load.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_module_load@load.html
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-1/igt@xe_module_load@load.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-1/igt@xe_module_load@load.html
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-9/igt@xe_module_load@load.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-9/igt@xe_module_load@load.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-9/igt@xe_module_load@load.html

  
#### Warnings ####

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-adlp:         [DMESG-WARN][206] ([Intel XE#4543]) -> [DMESG-WARN][207] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543]) +1 other test dmesg-warn
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-8/igt@kms_flip@flip-vs-suspend-interruptible.html
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt:
    - shard-bmg:          [SKIP][208] ([Intel XE#2312]) -> [SKIP][209] ([Intel XE#2311]) +10 other tests skip
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt.html
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-onoff:
    - shard-bmg:          [SKIP][210] ([Intel XE#2311]) -> [SKIP][211] ([Intel XE#2312]) +3 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-onoff.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
    - shard-bmg:          [SKIP][212] ([Intel XE#5390]) -> [SKIP][213] ([Intel XE#2312]) +1 other test skip
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-bmg:          [SKIP][214] ([Intel XE#2312]) -> [SKIP][215] ([Intel XE#5390]) +3 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-bmg:          [SKIP][216] ([Intel XE#2313]) -> [SKIP][217] ([Intel XE#2312]) +2 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][218] ([Intel XE#2312]) -> [SKIP][219] ([Intel XE#2313]) +10 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc.html
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
    - shard-dg2-set2:     [ABORT][220] ([Intel XE#5466]) -> [ABORT][221] ([Intel XE#4917] / [Intel XE#5466])
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-dg2-463/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-463/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
    - shard-adlp:         [ABORT][222] ([Intel XE#5530]) -> [ABORT][223] ([Intel XE#4917] / [Intel XE#5530])
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-1/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-1/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html

  * igt@xe_pmu@fn-engine-activity-sched-if-idle:
    - shard-bmg:          [DMESG-WARN][224] ([Intel XE#3876]) -> [ABORT][225] ([Intel XE#3970])
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-5/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-8/igt@xe_pmu@fn-engine-activity-sched-if-idle.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1151]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1151
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [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#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [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#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [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#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [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#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
  [Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#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#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [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#3908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3908
  [Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
  [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
  [Intel XE#4298]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4298
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4356
  [Intel XE#4416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4416
  [Intel XE#4418]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4418
  [Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
  [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#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/488
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4917
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5166]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5166
  [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
  [Intel XE#5395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5395
  [Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
  [Intel XE#5530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5530
  [Intel XE#5561]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5561
  [Intel XE#5564]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5564
  [Intel XE#5565]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5565
  [Intel XE#5574]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5574
  [Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575
  [Intel XE#5580]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5580
  [Intel XE#5594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5594
  [Intel XE#5607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5607
  [Intel XE#5612]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5612
  [Intel XE#5614]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5614
  [Intel XE#5617]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5617
  [Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
  [Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
  [Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
  [Intel XE#5793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5793
  [Intel XE#5794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5794
  [Intel XE#5893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5893
  [Intel XE#5963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5963
  [Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
  [Intel XE#6168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6168
  [Intel XE#6225]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6225
  [Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6313
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
  [i915#14968]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14968


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

  * Linux: xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a -> xe-pw-155971v1

  IGT_8585: 8585
  xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a: 6a9cafb6723c47062cc4d593804d5bb69155d81a
  xe-pw-155971v1: 155971v1

== Logs ==

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

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

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

* Re: ✗ Xe.CI.Full: failure for PF: Update auto-provisioning
  2025-10-15 22:12 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-10-16 10:55   ` Michal Wajdeczko
  2025-10-20  9:49     ` Bernatowicz, Marcin
  0 siblings, 1 reply; 17+ messages in thread
From: Michal Wajdeczko @ 2025-10-16 10:55 UTC (permalink / raw)
  To: intel-xe; +Cc: Bernatowicz, Marcin



On 10/16/2025 12:12 AM, Patchwork wrote:
> *Patch Details*
> *Series:*	PF: Update auto-provisioning
> *URL:*	https://patchwork.freedesktop.org/series/155971/ <https://patchwork.freedesktop.org/series/155971/>
> *State:*	failure
> *Details:*	https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/index.html <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/index.html>
> 
> 
>   CI Bug Log - changes from xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a_FULL -> xe-pw-155971v1_FULL
> 
> 
>     Summary
> 
> *FAILURE*
> 
> Serious unknown changes coming with xe-pw-155971v1_FULL absolutely need to be
> verified manually.
> 
> If you think the reported changes have nothing to do with the changes
> introduced in xe-pw-155971v1_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-155971v1_FULL:
> 
> 
>       IGT changes
> 
> 
>         Possible regressions
> 
>   *
> 
>     igt@kms_big_fb@linear-8bpp-rotate-180:
> 
>       o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-3/igt@kms_big_fb@linear-8bpp-rotate-180.html> -> FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-8/igt@kms_big_fb@linear-8bpp-rotate-180.html> +22 other tests fail

unrelated

(kms_big_fb:12070) igt_fb-DEBUG: igt_create_fb_with_bo_size(width=16384, height=16384, format=C8  (0x20203843), modifier=0x0, size=0)
(kms_big_fb:12070) igt_kms-CRITICAL: Test assertion failure function kmstest_dumb_create, file ../lib/igt_kms.c:1316:
(kms_big_fb:12070) igt_kms-CRITICAL: Failed assertion: igt_ioctl((fd), ((((2U|1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0xB2)) << 0) | ((((sizeof(struct drm_mode_create_dumb)))) << ((0+8)+8)))), (&create)) == 0
(kms_big_fb:12070) igt_kms-CRITICAL: Last errno: 12, Cannot allocate memory


>   *
> 
>     igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
> 
>       o shard-bmg: NOTRUN -> FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0.html> +4 other tests fail
>   *
> 
>     igt@kms_color@legacy-gamma@pipe-a-dp-2:
> 
>       o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@kms_color@legacy-gamma@pipe-a-dp-2.html> -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_color@legacy-gamma@pipe-a-dp-2.html>
>   *
> 
>     igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
> 
>       o shard-adlp: NOTRUN -> FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html> +1 other test fail

unrelated

(kms_cursor_legacy:2966) CRITICAL: Test assertion failure function cursor_vs_flip, file ../tests/kms_cursor_legacy.c:1387:
(kms_cursor_legacy:2966) CRITICAL: Failed assertion: igt_ioctl((display->drm_fd), ((((2U|1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0xA3)) << 0) | ((((sizeof(struct drm_mode_cursor)))) << ((0+8)+8)))), (&arg[i & 1])) == 0
(kms_cursor_legacy:2966) CRITICAL: Last errno: 28, No space left on device


>   *
> 
>     igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2:
> 
>       o shard-bmg: NOTRUN -> ABORT <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2.html> +1 other test abort

unrelated

<4> [462.803151] xe 0000:03:00.0: [drm] Assertion `!(bo->flags & ((((1UL))) << (19))) || !iosys_map_is_null(&bo->vmap)` failed!
platform: BATTLEMAGE subplatform: 7
graphics: Xe2_HPG 20.01 step A0
media: Xe2_HPM 13.01 step A1
<4> [462.803185] WARNING: CPU: 1 PID: 3847 at drivers/gpu/drm/xe/xe_bo_evict.c:217 xe_bo_restore_and_map_ggtt+0x22c/0x260 [xe]
<4> [462.803496] RIP: 0010:xe_bo_restore_and_map_ggtt+0x22c/0x260 [xe]
<4> [462.803633] Call Trace:
<4> [462.803635]  <TASK>
<4> [462.803648]  xe_bo_apply_to_pinned+0xdf/0x220 [xe]
<4> [462.803748]  ? __pfx_xe_bo_restore_and_map_ggtt+0x10/0x10 [xe]
<4> [462.803848]  xe_bo_restore_late+0x2d/0x130 [xe]
<4> [462.803943]  xe_pm_resume+0x21d/0x440 [xe]
<4> [462.804117]  ? pci_read_config_word+0x27/0x50
<4> [462.804126]  ? __pci_set_master+0x33/0xe0
<4> [462.804141]  xe_pci_resume+0x60/0x70 [xe]



>   *
> 
>     igt@xe_compute_preempt@compute-preempt-many-all-ram:
> 
>       o shard-dg2-set2: NOTRUN -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_compute_preempt@compute-preempt-many-all-ram.html>

unrelated

<4> [388.734979] xe 0000:03:00.0: [drm] VM worker error: -12


>   *
> 
>     igt@xe_evict@evict-beng-mixed-threads-small-multi-vm:
> 
>       o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html> -> DMESG-FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html>
>   *
> 
>     igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd:
> 
>       o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-5/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html> -> ABORT <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html> +6 other tests abort


unrelated

<1> [331.175806] BUG: kernel NULL pointer dereference, address: 0000000000000001
<1> [331.175819] #PF: supervisor read access in kernel mode
<1> [331.175824] #PF: error_code(0x0000) - not-present page
<4> [331.175857] RIP: 0010:xe_vm_insert_vma+0x1c/0x1b0 [xe]
<4> [331.176097] Call Trace:
<4> [331.176100]  <TASK>
<4> [331.176103]  ? vm_bind_ioctl_ops_create+0xa9/0x8d0 [xe]
<4> [331.176361]  ? lock_is_held_type+0xa3/0x130
<4> [331.176371]  vm_bind_ioctl_ops_parse+0x709/0xa00 [xe]
<4> [331.176541]  xe_vm_bind_ioctl+0x1103/0x1850 [xe]
<4> [331.176728]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
<4> [331.176950]  drm_ioctl_kernel+0xb3/0x120
<4> [331.176958]  ? drm_ioctl_kernel+0xb3/0x120
<4> [331.176965]  drm_ioctl+0x2d4/0x5a0
<4> [331.176970]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
<4> [331.177144]  ? trace_hardirqs_on+0x1e/0xd0
<4> [331.177150]  ? _raw_spin_unlock_irqrestore+0x51/0x80
<4> [331.177156]  ? __pm_runtime_resume+0x5b/0x90
<4> [331.177163]  ? xe_pm_runtime_get_ioctl+0x61/0x150 [xe]
<4> [331.177249]  xe_drm_ioctl+0x53/0x80 [xe]


>   *
> 
>     igt@xe_sriov_auto_provisioning@fair-allocation:
> 
>       o shard-adlp: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@xe_sriov_auto_provisioning@fair-allocation.html> -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_sriov_auto_provisioning@fair-allocation.html>

but

Test requirement not met in function __igt_unique____real_main316, file ../tests/intel/xe_sriov_auto_provisioning.c:343:
Test requirement: !(ret)
contexts_provisioned: Failed ranges check on gt0 (-34)

this is now somehow expected, as it looks that some earlier test did some tweaks in the VFs provisioning causing 'auto' mode to be disabled:

<7>[  344.422273] xe 0000:00:02.0: [drm:pf_update_policy_bool [xe]] PF: Tile0: GT0: policy key 0x8001 'sched_if_idle' updated to 'disabled'
<7>[  344.422465] xe 0000:00:02.0: [drm:xe_sriov_pf_provision_set_mode [xe]] PF: mode auto changed to custom by sched_if_idle_set [xe]

so there is no more VFs auto-unprovisioning, and some of VFs resources may remain allocated and must be explicitly released by the test

FYI: @Marcin
>   *
> 
>     igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
> 
>       o shard-adlp: NOTRUN -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html>
> 
> 

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

* Re: [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers
  2025-10-15 13:00   ` Piotr Piórkowski
@ 2025-10-16 11:33     ` Michal Wajdeczko
  0 siblings, 0 replies; 17+ messages in thread
From: Michal Wajdeczko @ 2025-10-16 11:33 UTC (permalink / raw)
  To: Piotr Piórkowski; +Cc: intel-xe



On 10/15/2025 3:00 PM, Piotr Piórkowski wrote:
> Michal Wajdeczko <michal.wajdeczko@intel.com> wrote on śro [2025-paź-15 11:12:06 +0200]:
>> As we plan to add more VFs provisioning methods, start moving
>> related code into single place.
>>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> ---
>>  drivers/gpu/drm/xe/Makefile                |  1 +
>>  drivers/gpu/drm/xe/xe_pci_sriov.c          | 45 ++----------
>>  drivers/gpu/drm/xe/xe_sriov_pf_provision.c | 83 ++++++++++++++++++++++
>>  drivers/gpu/drm/xe/xe_sriov_pf_provision.h | 14 ++++
>>  4 files changed, 102 insertions(+), 41 deletions(-)
>>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.c
>>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_provision.h
>>
>> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
>> index 84321fad3265..edae0c2a6e2f 100644
>> --- a/drivers/gpu/drm/xe/Makefile
>> +++ b/drivers/gpu/drm/xe/Makefile
>> @@ -176,6 +176,7 @@ xe-$(CONFIG_PCI_IOV) += \
>>  	xe_sriov_pf.o \
>>  	xe_sriov_pf_control.o \
>>  	xe_sriov_pf_debugfs.o \
>> +	xe_sriov_pf_provision.o \
>>  	xe_sriov_pf_service.o \
>>  	xe_tile_sriov_pf_debugfs.o
>>  
>> diff --git a/drivers/gpu/drm/xe/xe_pci_sriov.c b/drivers/gpu/drm/xe/xe_pci_sriov.c
>> index 9c1c9e669b04..735f51effc7a 100644
>> --- a/drivers/gpu/drm/xe/xe_pci_sriov.c
>> +++ b/drivers/gpu/drm/xe/xe_pci_sriov.c
>> @@ -19,46 +19,9 @@
>>  #include "xe_sriov_pf.h"
>>  #include "xe_sriov_pf_control.h"
>>  #include "xe_sriov_pf_helpers.h"
>> +#include "xe_sriov_pf_provision.h"
>>  #include "xe_sriov_printk.h"
>>  
>> -static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)
>> -{
>> -	unsigned int n;
>> -
>> -	for (n = 1; n <= num_vfs; n++)
>> -		if (!xe_gt_sriov_pf_config_is_empty(gt, n))
>> -			return false;
>> -
>> -	return true;
>> -}
>> -
>> -static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
>> -{
>> -	struct xe_gt *gt;
>> -	unsigned int id;
>> -	int result = 0, err;
>> -
>> -	for_each_gt(gt, xe, id) {
>> -		if (!pf_needs_provisioning(gt, num_vfs))
>> -			continue;
>> -		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
>> -		result = result ?: err;
>> -	}
>> -
>> -	return result;
>> -}
>> -
>> -static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
>> -{
>> -	struct xe_gt *gt;
>> -	unsigned int id;
>> -	unsigned int n;
>> -
>> -	for_each_gt(gt, xe, id)
>> -		for (n = 1; n <= num_vfs; n++)
>> -			xe_gt_sriov_pf_config_release(gt, n, true);
>> -}
>> -
>>  static void pf_reset_vfs(struct xe_device *xe, unsigned int num_vfs)
>>  {
>>  	unsigned int n;
>> @@ -168,7 +131,7 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
>>  	 */
>>  	xe_pm_runtime_get_noresume(xe);
>>  
>> -	err = pf_provision_vfs(xe, num_vfs);
>> +	err = xe_sriov_pf_provision_vfs(xe, num_vfs);
>>  	if (err < 0)
>>  		goto failed;
>>  
>> @@ -192,7 +155,7 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs)
>>  	return num_vfs;
>>  
>>  failed:
>> -	pf_unprovision_vfs(xe, num_vfs);
>> +	xe_sriov_pf_unprovision_vfs(xe, num_vfs);
>>  	xe_pm_runtime_put(xe);
>>  out:
>>  	xe_sriov_notice(xe, "Failed to enable %u VF%s (%pe)\n",
>> @@ -218,7 +181,7 @@ static int pf_disable_vfs(struct xe_device *xe)
>>  
>>  	pf_reset_vfs(xe, num_vfs);
>>  
>> -	pf_unprovision_vfs(xe, num_vfs);
>> +	xe_sriov_pf_unprovision_vfs(xe, num_vfs);
>>  
>>  	/* not needed anymore - see pf_enable_vfs() */
>>  	xe_pm_runtime_put(xe);
>> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
>> new file mode 100644
>> index 000000000000..c24803312231
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
>> @@ -0,0 +1,83 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#include "xe_assert.h"
>> +#include "xe_device.h"
>> +#include "xe_gt_sriov_pf_config.h"
>> +#include "xe_sriov.h"
>> +#include "xe_sriov_pf_helpers.h"
>> +#include "xe_sriov_pf_provision.h"
>> +
>> +static int pf_needs_provisioning(struct xe_gt *gt, unsigned int num_vfs)
> 
> NIT: Why don't you use bool here?

this is pure copy-paste, it was "int" already there

but I can change it why applying

> 
> 
>> +{
>> +	unsigned int n;
>> +
>> +	for (n = 1; n <= num_vfs; n++)
>> +		if (!xe_gt_sriov_pf_config_is_empty(gt, n))
>> +			return false;
>> +
>> +	return true;
>> +}
>> +
>> +static int pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
>> +{
>> +	struct xe_gt *gt;
>> +	unsigned int id;
>> +	int result = 0;
>> +	int err;
>> +
>> +	for_each_gt(gt, xe, id) {
>> +		if (!pf_needs_provisioning(gt, num_vfs))
>> +			continue;
>> +		err = xe_gt_sriov_pf_config_set_fair(gt, VFID(1), num_vfs);
>> +		result = result ?: err;
>> +	}
>> +
>> +	return result;
>> +}
>> +
>> +static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
>> +{
>> +	struct xe_gt *gt;
>> +	unsigned int id;
>> +	unsigned int n;
>> +
>> +	for_each_gt(gt, xe, id)
>> +		for (n = 1; n <= num_vfs; n++)
>> +			xe_gt_sriov_pf_config_release(gt, n, true);
>> +}
>> +
>> +/**
>> + * xe_sriov_pf_provision_vfs() - Provision VFs in auto-mode.
>> + * @xe: the PF &xe_device
>> + * @num_vfs: the number of VFs to auto-provision
>> + *
>> + * This function can only be called on PF.
>> + *
>> + * Return: 0 on success or a negative error code on failure.
>> + */
>> +int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs)
>> +{
>> +	xe_assert(xe, IS_SRIOV_PF(xe));
>> +
>> +	return pf_provision_vfs(xe, num_vfs);
>> +}
>> +
>> +/**
>> + * xe_sriov_pf_unprovision_vfs() - Unprovision VFs in auto-mode.
>> + * @xe: the PF &xe_device
>> + * @num_vfs: the number of VFs to unprovision
>> + *
>> + * This function can only be called on PF.
>> + *
>> + * Return: 0 on success or a negative error code on failure.
>> + */
>> +int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
>> +{
>> +	xe_assert(xe, IS_SRIOV_PF(xe));
>> +
>> +	pf_unprovision_vfs(xe, num_vfs);
>> +	return 0;
>> +}
> 
> NIT: Perhaps it would be worth adding the assertion num_vfs > 0 here.

it's harmless here and in pf_unprovision_vfs() where the loop is from 1

	for (n = 1; n <= num_vfs; n++)

> 
>> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
>> new file mode 100644
>> index 000000000000..f6a902190ad7
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
>> @@ -0,0 +1,14 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#ifndef _XE_SRIOV_PF_PROVISION_H_
>> +#define _XE_SRIOV_PF_PROVISION_H_
>> +
>> +struct xe_device;
>> +
>> +int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs);
>> +int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs);
>> +
>> +#endif
> 
> Minor comments, but the code looks okay:
> Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
> 
>> -- 
>> 2.47.1
>>
> 


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

* Re: [PATCH 3/4] drm/xe/pf: Disable auto-provisioning if changed using debugfs
  2025-10-15  9:12 ` [PATCH 3/4] drm/xe/pf: Disable auto-provisioning if changed using debugfs Michal Wajdeczko
@ 2025-10-16 15:26   ` Piotr Piórkowski
  0 siblings, 0 replies; 17+ messages in thread
From: Piotr Piórkowski @ 2025-10-16 15:26 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

Michal Wajdeczko <michal.wajdeczko@intel.com> wrote on śro [2025-paź-15 11:12:08 +0200]:
> When we attempt to tweak VFs configurations using debugfs, stop
> assuming that VFs need auto-(un)provisioning.
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c   |  7 ++++
>  drivers/gpu/drm/xe/xe_sriov_pf_provision.c    | 39 +++++++++++++++++++
>  drivers/gpu/drm/xe/xe_sriov_pf_provision.h    | 17 ++++++++
>  .../gpu/drm/xe/xe_sriov_pf_provision_types.h  |  4 ++
>  drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c |  3 ++
>  5 files changed, 70 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> index c026a3910e7e..838beb7f6327 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> @@ -23,6 +23,7 @@
>  #include "xe_gt_sriov_pf_service.h"
>  #include "xe_pm.h"
>  #include "xe_sriov_pf.h"
> +#include "xe_sriov_pf_provision.h"
>  
>  /*
>   *      /sys/kernel/debug/dri/BDF/
> @@ -124,6 +125,8 @@ static int POLICY##_set(void *data, u64 val)					\
>  										\
>  	xe_pm_runtime_get(xe);							\
>  	err = xe_gt_sriov_pf_policy_set_##POLICY(gt, val);			\
> +	if (!err)								\
> +		xe_sriov_pf_provision_set_custom_mode(xe);			\
>  	xe_pm_runtime_put(xe);							\
>  										\
>  	return err;								\
> @@ -189,6 +192,8 @@ static int CONFIG##_set(void *data, u64 val)					\
>  	xe_pm_runtime_get(xe);							\
>  	err = xe_sriov_pf_wait_ready(xe) ?:					\
>  	      xe_gt_sriov_pf_config_set_##CONFIG(gt, vfid, val);		\
> +	if (!err)								\
> +		xe_sriov_pf_provision_set_custom_mode(xe);			\
>  	xe_pm_runtime_put(xe);							\
>  										\
>  	return err;								\
> @@ -246,6 +251,8 @@ static int set_threshold(void *data, u64 val, enum xe_guc_klv_threshold_index in
>  
>  	xe_pm_runtime_get(xe);
>  	err = xe_gt_sriov_pf_config_set_threshold(gt, vfid, index, val);
> +	if (!err)
> +		xe_sriov_pf_provision_set_custom_mode(xe);
>  	xe_pm_runtime_put(xe);
>  
>  	return err;
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> index de7d925a110d..7e74175db972 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> @@ -10,6 +10,19 @@
>  #include "xe_sriov_pf_helpers.h"
>  #include "xe_sriov_pf_provision.h"
>  #include "xe_sriov_pf_provision_types.h"
> +#include "xe_sriov_printk.h"
> +
> +static const char *mode_to_string(enum xe_sriov_provisioning_mode mode)
> +{
> +	switch (mode) {
> +	case XE_SRIOV_PROVISIONING_MODE_AUTO:
> +		return "auto";
> +	case XE_SRIOV_PROVISIONING_MODE_CUSTOM:
> +		return "custom";
> +	default:
> +		return "<invalid>";
> +	}
> +}
>  
>  static bool pf_auto_provisioning_mode(struct xe_device *xe)
>  {
> @@ -95,3 +108,29 @@ int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
>  	pf_unprovision_vfs(xe, num_vfs);
>  	return 0;
>  }
> +
> +/**
> + * xe_sriov_pf_provision_set_mode() - Change VFs provision mode.
> + * @xe: the PF &xe_device
> + * @mode: the new VFs provisioning mode
> + *
> + * When changing from AUTO to CUSTOM mode, any already allocated VFs resources
> + * will remain allocated and will not be released upon VFs disabling.
> + *
> + * This function can only be called on PF.
> + *
> + * Return: 0 on success or a negative error code on failure.
> + */
> +int xe_sriov_pf_provision_set_mode(struct xe_device *xe, enum xe_sriov_provisioning_mode mode)
> +{
> +	xe_assert(xe, IS_SRIOV_PF(xe));
> +
> +	if (mode == xe->sriov.pf.provision.mode)
> +		return 0;
> +
> +	xe_sriov_dbg(xe, "mode %s changed to %s by %ps\n",
> +		     mode_to_string(xe->sriov.pf.provision.mode),
> +		     mode_to_string(mode), __builtin_return_address(0));
> +	xe->sriov.pf.provision.mode = mode;
> +	return 0;
> +}
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
> index f6a902190ad7..cf3657a32e90 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.h
> @@ -6,9 +6,26 @@
>  #ifndef _XE_SRIOV_PF_PROVISION_H_
>  #define _XE_SRIOV_PF_PROVISION_H_
>  
> +#include "xe_sriov_pf_provision_types.h"
> +
>  struct xe_device;
>  
>  int xe_sriov_pf_provision_vfs(struct xe_device *xe, unsigned int num_vfs);
>  int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs);
>  
> +int xe_sriov_pf_provision_set_mode(struct xe_device *xe, enum xe_sriov_provisioning_mode mode);
> +
> +/**
> + * xe_sriov_pf_provision_set_custom_mode() - Change VFs provision mode to custom.
> + * @xe: the PF &xe_device
> + *
> + * This function can only be called on PF.
> + *
> + * Return: 0 on success or a negative error code on failure.
> + */
> +static inline int xe_sriov_pf_provision_set_custom_mode(struct xe_device *xe)
> +{
> +	return xe_sriov_pf_provision_set_mode(xe, XE_SRIOV_PROVISIONING_MODE_CUSTOM);
> +}
> +
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
> index f72bc5db3a60..a847b8a4c4da 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision_types.h
> @@ -15,9 +15,13 @@
>   *                                   Any allocated resources to the VFs will be
>   *                                   automatically released when disabling VFs.
>   *                                   This is a default mode.
> + * @XE_SRIOV_PROVISIONING_MODE_CUSTOM: Explicit VFs provisioning using uABI interfaces.
> + *                                     VFs resources remains allocated regardless if
> + *                                     VFs are enabled or not.
>   */
>  enum xe_sriov_provisioning_mode {
>  	XE_SRIOV_PROVISIONING_MODE_AUTO,
> +	XE_SRIOV_PROVISIONING_MODE_CUSTOM,
>  };
>  static_assert(XE_SRIOV_PROVISIONING_MODE_AUTO == 0);
>  
> diff --git a/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c
> index c8df18af4d00..931df8a6eaf4 100644
> --- a/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c
> @@ -15,6 +15,7 @@
>  #include "xe_tile_sriov_pf_debugfs.h"
>  #include "xe_sriov.h"
>  #include "xe_sriov_pf.h"
> +#include "xe_sriov_pf_provision.h"
>  
>  /*
>   *      /sys/kernel/debug/dri/BDF/
> @@ -143,6 +144,8 @@ static int NAME##_set(void *data, u64 val)					\
>  	xe_pm_runtime_get(xe);							\
>  	err = xe_sriov_pf_wait_ready(xe) ?:					\
>  	      xe_gt_sriov_pf_config_set_##CONFIG(gt, vfid, val);		\
> +	if (!err)								\
> +		xe_sriov_pf_provision_set_custom_mode(xe);			\
>  	xe_pm_runtime_put(xe);							\
>  										\
>  	return err;								\
LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
> -- 
> 2.47.1
> 

-- 

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

* Re: [PATCH 4/4] drm/xe/pf: Allow to restore auto-provisioning mode
  2025-10-15  9:12 ` [PATCH 4/4] drm/xe/pf: Allow to restore auto-provisioning mode Michal Wajdeczko
@ 2025-10-16 15:46   ` Piotr Piórkowski
  0 siblings, 0 replies; 17+ messages in thread
From: Piotr Piórkowski @ 2025-10-16 15:46 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

Michal Wajdeczko <michal.wajdeczko@intel.com> wrote on śro [2025-paź-15 11:12:09 +0200]:
> After doing tweaks to the VFs provisioning we may want to restore
> back the auto-provisioning mode. Allow that unless VFs are still
> enabled. This can be also used to release all VFs resources.
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c   | 63 ++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_sriov_pf_helpers.h   | 11 ++++
>  drivers/gpu/drm/xe/xe_sriov_pf_provision.c | 18 +++++++
>  3 files changed, 92 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c
> index 97636ed86fb8..a81aa05c5532 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c
> @@ -13,6 +13,7 @@
>  #include "xe_sriov_pf_control.h"
>  #include "xe_sriov_pf_debugfs.h"
>  #include "xe_sriov_pf_helpers.h"
> +#include "xe_sriov_pf_provision.h"
>  #include "xe_sriov_pf_service.h"
>  #include "xe_sriov_printk.h"
>  #include "xe_tile_sriov_pf_debugfs.h"
> @@ -43,6 +44,66 @@ static unsigned int extract_vfid(struct dentry *d)
>  	return p == extract_xe(d) ? PFID : (uintptr_t)p;
>  }
>  
> +/*
> + *      /sys/kernel/debug/dri/BDF/
> + *      ├── sriov
> + *      │   ├── restore_auto_provisioning
> + *      │   :
> + *      │   ├── pf/
> + *      │   ├── vf1
> + *      │   │   ├── ...
> + */
> +
> +static ssize_t from_file_write_to_xe_call(struct file *file, const char __user *userbuf,
> +					  size_t count, loff_t *ppos,
> +					  int (*call)(struct xe_device *))
> +{
> +	struct dentry *dent = file_dentry(file);
> +	struct xe_device *xe = extract_xe(dent);
> +	bool yes;
> +	int ret;
> +
> +	if (*ppos)
> +		return -EINVAL;
> +	ret = kstrtobool_from_user(userbuf, count, &yes);
> +	if (ret < 0)
> +		return ret;
> +	if (yes) {
> +		xe_pm_runtime_get(xe);
> +		ret = call(xe);
> +		xe_pm_runtime_put(xe);
> +	}
> +	if (ret < 0)
> +		return ret;
> +	return count;
> +}
> +
> +#define DEFINE_SRIOV_ATTRIBUTE(OP)						\
> +static int OP##_show(struct seq_file *s, void *unused)				\
> +{										\
> +	return 0;								\
> +}										\
> +static ssize_t OP##_write(struct file *file, const char __user *userbuf,	\
> +			  size_t count, loff_t *ppos)				\
> +{										\
> +	return from_file_write_to_xe_call(file, userbuf, count, ppos,		\
> +					  xe_sriov_pf_##OP);			\
> +}										\
> +DEFINE_SHOW_STORE_ATTRIBUTE(OP)
> +
> +static inline int xe_sriov_pf_restore_auto_provisioning(struct xe_device *xe)
> +{
> +	return xe_sriov_pf_provision_set_mode(xe, XE_SRIOV_PROVISIONING_MODE_AUTO);
> +}
> +
> +DEFINE_SRIOV_ATTRIBUTE(restore_auto_provisioning);
> +
> +static void pf_populate_root(struct xe_device *xe, struct dentry *dent)
> +{
> +	debugfs_create_file("restore_auto_provisioning", 0200, dent, xe,
> +			    &restore_auto_provisioning_fops);
> +}
> +
>  static int simple_show(struct seq_file *m, void *data)
>  {
>  	struct drm_printer p = drm_seq_file_printer(m);
> @@ -167,6 +228,8 @@ void xe_sriov_pf_debugfs_register(struct xe_device *xe, struct dentry *root)
>  		return;
>  	dent->d_inode->i_private = xe;
>  
> +	pf_populate_root(xe, dent);
> +
>  	/*
>  	 *      /sys/kernel/debug/dri/BDF/
>  	 *      ├── sriov		# d_inode->i_private = (xe_device*)
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h b/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h
> index dd1df950b021..4a4340fb633a 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_helpers.h
> @@ -37,6 +37,17 @@ static inline int xe_sriov_pf_get_totalvfs(struct xe_device *xe)
>  	return xe->sriov.pf.driver_max_vfs;
>  }
>  
> +/**
> + * xe_sriov_pf_num_vfs() - Number of enabled VFs on the PF.
> + * @xe: the PF &xe_device
> + *
> + * Return: Number of enabled VFs on the PF.
> + */
> +static inline unsigned int xe_sriov_pf_num_vfs(const struct xe_device *xe)
> +{
> +	return pci_num_vf(to_pci_dev(xe->drm.dev));
> +}
> +
>  static inline struct mutex *xe_sriov_pf_master_mutex(struct xe_device *xe)
>  {
>  	xe_assert(xe, IS_SRIOV_PF(xe));
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> index 7e74175db972..32c281c1dc5d 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> @@ -70,6 +70,11 @@ static void pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
>  			xe_gt_sriov_pf_config_release(gt, n, true);
>  }
>  
> +static void pf_unprovision_all_vfs(struct xe_device *xe)
> +{
> +	pf_unprovision_vfs(xe, xe_sriov_pf_get_totalvfs(xe));
> +}
> +
>  /**
>   * xe_sriov_pf_provision_vfs() - Provision VFs in auto-mode.
>   * @xe: the PF &xe_device
> @@ -117,6 +122,10 @@ int xe_sriov_pf_unprovision_vfs(struct xe_device *xe, unsigned int num_vfs)
>   * When changing from AUTO to CUSTOM mode, any already allocated VFs resources
>   * will remain allocated and will not be released upon VFs disabling.
>   *
> + * When changing back to AUTO mode, if VFs are not enabled, already allocated
> + * VFs resources will be immediately released. If VFs are still enabled, such
> + * mode change is rejected.
> + *
>   * This function can only be called on PF.
>   *
>   * Return: 0 on success or a negative error code on failure.
> @@ -128,6 +137,15 @@ int xe_sriov_pf_provision_set_mode(struct xe_device *xe, enum xe_sriov_provision
>  	if (mode == xe->sriov.pf.provision.mode)
>  		return 0;
>  
> +	if (mode == XE_SRIOV_PROVISIONING_MODE_AUTO) {
> +		if (xe_sriov_pf_num_vfs(xe)) {
> +			xe_sriov_dbg(xe, "can't restore %s: VFs must be disabled!\n",
> +				     mode_to_string(mode));
NIT: I would consider a higher level of logging here.
> +			return -EBUSY;
> +		}
> +		pf_unprovision_all_vfs(xe);
> +	}
> +
>  	xe_sriov_dbg(xe, "mode %s changed to %s by %ps\n",
>  		     mode_to_string(xe->sriov.pf.provision.mode),
>  		     mode_to_string(mode), __builtin_return_address(0));

LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>

> -- 
> 2.47.1
> 

-- 

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

* Re: ✗ Xe.CI.Full: failure for PF: Update auto-provisioning
  2025-10-16 10:55   ` Michal Wajdeczko
@ 2025-10-20  9:49     ` Bernatowicz, Marcin
  2025-10-20 11:08       ` Bernatowicz, Marcin
  0 siblings, 1 reply; 17+ messages in thread
From: Bernatowicz, Marcin @ 2025-10-20  9:49 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe


On 10/16/2025 12:55 PM, Michal Wajdeczko wrote:
>
> On 10/16/2025 12:12 AM, Patchwork wrote:
>> *Patch Details*
>> *Series:*	PF: Update auto-provisioning
>> *URL:*	https://patchwork.freedesktop.org/series/155971/ <https://patchwork.freedesktop.org/series/155971/>
>> *State:*	failure
>> *Details:*	https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/index.html <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/index.html>
>>
>>
>>    CI Bug Log - changes from xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a_FULL -> xe-pw-155971v1_FULL
>>
>>
>>      Summary
>>
>> *FAILURE*
>>
>> Serious unknown changes coming with xe-pw-155971v1_FULL absolutely need to be
>> verified manually.
>>
>> If you think the reported changes have nothing to do with the changes
>> introduced in xe-pw-155971v1_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-155971v1_FULL:
>>
>>
>>        IGT changes
>>
>>
>>          Possible regressions
>>
>>    *
>>
>>      igt@kms_big_fb@linear-8bpp-rotate-180:
>>
>>        o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-3/igt@kms_big_fb@linear-8bpp-rotate-180.html> -> FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-8/igt@kms_big_fb@linear-8bpp-rotate-180.html> +22 other tests fail
> unrelated
>
> (kms_big_fb:12070) igt_fb-DEBUG: igt_create_fb_with_bo_size(width=16384, height=16384, format=C8  (0x20203843), modifier=0x0, size=0)
> (kms_big_fb:12070) igt_kms-CRITICAL: Test assertion failure function kmstest_dumb_create, file ../lib/igt_kms.c:1316:
> (kms_big_fb:12070) igt_kms-CRITICAL: Failed assertion: igt_ioctl((fd), ((((2U|1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0xB2)) << 0) | ((((sizeof(struct drm_mode_create_dumb)))) << ((0+8)+8)))), (&create)) == 0
> (kms_big_fb:12070) igt_kms-CRITICAL: Last errno: 12, Cannot allocate memory
>
>
>>    *
>>
>>      igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
>>
>>        o shard-bmg: NOTRUN -> FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0.html> +4 other tests fail
>>    *
>>
>>      igt@kms_color@legacy-gamma@pipe-a-dp-2:
>>
>>        o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@kms_color@legacy-gamma@pipe-a-dp-2.html> -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_color@legacy-gamma@pipe-a-dp-2.html>
>>    *
>>
>>      igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
>>
>>        o shard-adlp: NOTRUN -> FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html> +1 other test fail
> unrelated
>
> (kms_cursor_legacy:2966) CRITICAL: Test assertion failure function cursor_vs_flip, file ../tests/kms_cursor_legacy.c:1387:
> (kms_cursor_legacy:2966) CRITICAL: Failed assertion: igt_ioctl((display->drm_fd), ((((2U|1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0xA3)) << 0) | ((((sizeof(struct drm_mode_cursor)))) << ((0+8)+8)))), (&arg[i & 1])) == 0
> (kms_cursor_legacy:2966) CRITICAL: Last errno: 28, No space left on device
>
>
>>    *
>>
>>      igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2:
>>
>>        o shard-bmg: NOTRUN -> ABORT <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2.html> +1 other test abort
> unrelated
>
> <4> [462.803151] xe 0000:03:00.0: [drm] Assertion `!(bo->flags & ((((1UL))) << (19))) || !iosys_map_is_null(&bo->vmap)` failed!
> platform: BATTLEMAGE subplatform: 7
> graphics: Xe2_HPG 20.01 step A0
> media: Xe2_HPM 13.01 step A1
> <4> [462.803185] WARNING: CPU: 1 PID: 3847 at drivers/gpu/drm/xe/xe_bo_evict.c:217 xe_bo_restore_and_map_ggtt+0x22c/0x260 [xe]
> <4> [462.803496] RIP: 0010:xe_bo_restore_and_map_ggtt+0x22c/0x260 [xe]
> <4> [462.803633] Call Trace:
> <4> [462.803635]  <TASK>
> <4> [462.803648]  xe_bo_apply_to_pinned+0xdf/0x220 [xe]
> <4> [462.803748]  ? __pfx_xe_bo_restore_and_map_ggtt+0x10/0x10 [xe]
> <4> [462.803848]  xe_bo_restore_late+0x2d/0x130 [xe]
> <4> [462.803943]  xe_pm_resume+0x21d/0x440 [xe]
> <4> [462.804117]  ? pci_read_config_word+0x27/0x50
> <4> [462.804126]  ? __pci_set_master+0x33/0xe0
> <4> [462.804141]  xe_pci_resume+0x60/0x70 [xe]
>
>
>
>>    *
>>
>>      igt@xe_compute_preempt@compute-preempt-many-all-ram:
>>
>>        o shard-dg2-set2: NOTRUN -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_compute_preempt@compute-preempt-many-all-ram.html>
> unrelated
>
> <4> [388.734979] xe 0000:03:00.0: [drm] VM worker error: -12
>
>
>>    *
>>
>>      igt@xe_evict@evict-beng-mixed-threads-small-multi-vm:
>>
>>        o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html> -> DMESG-FAIL <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html>
>>    *
>>
>>      igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd:
>>
>>        o shard-bmg: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-5/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html> -> ABORT <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html> +6 other tests abort
>
> unrelated
>
> <1> [331.175806] BUG: kernel NULL pointer dereference, address: 0000000000000001
> <1> [331.175819] #PF: supervisor read access in kernel mode
> <1> [331.175824] #PF: error_code(0x0000) - not-present page
> <4> [331.175857] RIP: 0010:xe_vm_insert_vma+0x1c/0x1b0 [xe]
> <4> [331.176097] Call Trace:
> <4> [331.176100]  <TASK>
> <4> [331.176103]  ? vm_bind_ioctl_ops_create+0xa9/0x8d0 [xe]
> <4> [331.176361]  ? lock_is_held_type+0xa3/0x130
> <4> [331.176371]  vm_bind_ioctl_ops_parse+0x709/0xa00 [xe]
> <4> [331.176541]  xe_vm_bind_ioctl+0x1103/0x1850 [xe]
> <4> [331.176728]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
> <4> [331.176950]  drm_ioctl_kernel+0xb3/0x120
> <4> [331.176958]  ? drm_ioctl_kernel+0xb3/0x120
> <4> [331.176965]  drm_ioctl+0x2d4/0x5a0
> <4> [331.176970]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
> <4> [331.177144]  ? trace_hardirqs_on+0x1e/0xd0
> <4> [331.177150]  ? _raw_spin_unlock_irqrestore+0x51/0x80
> <4> [331.177156]  ? __pm_runtime_resume+0x5b/0x90
> <4> [331.177163]  ? xe_pm_runtime_get_ioctl+0x61/0x150 [xe]
> <4> [331.177249]  xe_drm_ioctl+0x53/0x80 [xe]
>
>
>>    *
>>
>>      igt@xe_sriov_auto_provisioning@fair-allocation:
>>
>>        o shard-adlp: PASS <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@xe_sriov_auto_provisioning@fair-allocation.html> -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_sriov_auto_provisioning@fair-allocation.html>
> but
>
> Test requirement not met in function __igt_unique____real_main316, file ../tests/intel/xe_sriov_auto_provisioning.c:343:
> Test requirement: !(ret)
> contexts_provisioned: Failed ranges check on gt0 (-34)
>
> this is now somehow expected, as it looks that some earlier test did some tweaks in the VFs provisioning causing 'auto' mode to be disabled:
>
> <7>[  344.422273] xe 0000:00:02.0: [drm:pf_update_policy_bool [xe]] PF: Tile0: GT0: policy key 0x8001 'sched_if_idle' updated to 'disabled'
> <7>[  344.422465] xe 0000:00:02.0: [drm:xe_sriov_pf_provision_set_mode [xe]] PF: mode auto changed to custom by sched_if_idle_set [xe]
>
> so there is no more VFs auto-unprovisioning, and some of VFs resources may remain allocated and must be explicitly released by the test
>
> FYI: @Marcin

There are two tests, xe_pmu and xe_sriov_scheduling, which switch to 
custom mode due to scheduling parameter modifications. These are 
addressed by the series.

>>    *
>>
>>      igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
>>
>>        o shard-adlp: NOTRUN -> SKIP <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html>
>>
>>

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

* Re: ✗ Xe.CI.Full: failure for PF: Update auto-provisioning
  2025-10-20  9:49     ` Bernatowicz, Marcin
@ 2025-10-20 11:08       ` Bernatowicz, Marcin
  0 siblings, 0 replies; 17+ messages in thread
From: Bernatowicz, Marcin @ 2025-10-20 11:08 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe


On 10/20/2025 11:49 AM, Bernatowicz, Marcin wrote:
>
> On 10/16/2025 12:55 PM, Michal Wajdeczko wrote:
>>
>> On 10/16/2025 12:12 AM, Patchwork wrote:
>>> *Patch Details*
>>> *Series:*    PF: Update auto-provisioning
>>> *URL:*    https://patchwork.freedesktop.org/series/155971/ 
>>> <https://patchwork.freedesktop.org/series/155971/>
>>> *State:*    failure
>>> *Details:* 
>>> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/index.html 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/index.html>
>>>
>>>
>>>    CI Bug Log - changes from 
>>> xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a_FULL -> 
>>> xe-pw-155971v1_FULL
>>>
>>>
>>>      Summary
>>>
>>> *FAILURE*
>>>
>>> Serious unknown changes coming with xe-pw-155971v1_FULL absolutely 
>>> need to be
>>> verified manually.
>>>
>>> If you think the reported changes have nothing to do with the changes
>>> introduced in xe-pw-155971v1_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-155971v1_FULL:
>>>
>>>
>>>        IGT changes
>>>
>>>
>>>          Possible regressions
>>>
>>>    *
>>>
>>>      igt@kms_big_fb@linear-8bpp-rotate-180:
>>>
>>>        o shard-bmg: PASS 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-3/igt@kms_big_fb@linear-8bpp-rotate-180.html> 
>>> -> FAIL 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-8/igt@kms_big_fb@linear-8bpp-rotate-180.html> 
>>> +22 other tests fail
>> unrelated
>>
>> (kms_big_fb:12070) igt_fb-DEBUG: 
>> igt_create_fb_with_bo_size(width=16384, height=16384, format=C8 
>> (0x20203843), modifier=0x0, size=0)
>> (kms_big_fb:12070) igt_kms-CRITICAL: Test assertion failure function 
>> kmstest_dumb_create, file ../lib/igt_kms.c:1316:
>> (kms_big_fb:12070) igt_kms-CRITICAL: Failed assertion: 
>> igt_ioctl((fd), ((((2U|1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | 
>> (((0xB2)) << 0) | ((((sizeof(struct drm_mode_create_dumb)))) << 
>> ((0+8)+8)))), (&create)) == 0
>> (kms_big_fb:12070) igt_kms-CRITICAL: Last errno: 12, Cannot allocate 
>> memory
>>
>>
>>>    *
>>>
>>>      igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
>>>
>>>        o shard-bmg: NOTRUN -> FAIL 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-4/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0.html> 
>>> +4 other tests fail
>>>    *
>>>
>>>      igt@kms_color@legacy-gamma@pipe-a-dp-2:
>>>
>>>        o shard-bmg: PASS 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-1/igt@kms_color@legacy-gamma@pipe-a-dp-2.html> 
>>> -> SKIP 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-6/igt@kms_color@legacy-gamma@pipe-a-dp-2.html>
>>>    *
>>>
>>> igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
>>>
>>>        o shard-adlp: NOTRUN -> FAIL 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html> 
>>> +1 other test fail
>> unrelated
>>
>> (kms_cursor_legacy:2966) CRITICAL: Test assertion failure function 
>> cursor_vs_flip, file ../tests/kms_cursor_legacy.c:1387:
>> (kms_cursor_legacy:2966) CRITICAL: Failed assertion: 
>> igt_ioctl((display->drm_fd), ((((2U|1U) << (((0+8)+8)+14)) | ((('d')) 
>> << (0+8)) | (((0xA3)) << 0) | ((((sizeof(struct drm_mode_cursor)))) 
>> << ((0+8)+8)))), (&arg[i & 1])) == 0
>> (kms_cursor_legacy:2966) CRITICAL: Last errno: 28, No space left on 
>> device
>>
>>
>>>    *
>>>
>>>      igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2:
>>>
>>>        o shard-bmg: NOTRUN -> ABORT 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-3/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-2.html> 
>>> +1 other test abort
>> unrelated
>>
>> <4> [462.803151] xe 0000:03:00.0: [drm] Assertion `!(bo->flags & 
>> ((((1UL))) << (19))) || !iosys_map_is_null(&bo->vmap)` failed!
>> platform: BATTLEMAGE subplatform: 7
>> graphics: Xe2_HPG 20.01 step A0
>> media: Xe2_HPM 13.01 step A1
>> <4> [462.803185] WARNING: CPU: 1 PID: 3847 at 
>> drivers/gpu/drm/xe/xe_bo_evict.c:217 
>> xe_bo_restore_and_map_ggtt+0x22c/0x260 [xe]
>> <4> [462.803496] RIP: 0010:xe_bo_restore_and_map_ggtt+0x22c/0x260 [xe]
>> <4> [462.803633] Call Trace:
>> <4> [462.803635]  <TASK>
>> <4> [462.803648]  xe_bo_apply_to_pinned+0xdf/0x220 [xe]
>> <4> [462.803748]  ? __pfx_xe_bo_restore_and_map_ggtt+0x10/0x10 [xe]
>> <4> [462.803848]  xe_bo_restore_late+0x2d/0x130 [xe]
>> <4> [462.803943]  xe_pm_resume+0x21d/0x440 [xe]
>> <4> [462.804117]  ? pci_read_config_word+0x27/0x50
>> <4> [462.804126]  ? __pci_set_master+0x33/0xe0
>> <4> [462.804141]  xe_pci_resume+0x60/0x70 [xe]
>>
>>
>>
>>>    *
>>>
>>>      igt@xe_compute_preempt@compute-preempt-many-all-ram:
>>>
>>>        o shard-dg2-set2: NOTRUN -> SKIP 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-dg2-436/igt@xe_compute_preempt@compute-preempt-many-all-ram.html>
>> unrelated
>>
>> <4> [388.734979] xe 0000:03:00.0: [drm] VM worker error: -12
>>
>>
>>>    *
>>>
>>>      igt@xe_evict@evict-beng-mixed-threads-small-multi-vm:
>>>
>>>        o shard-bmg: PASS 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html> 
>>> -> DMESG-FAIL 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html>
>>>    *
>>>
>>> igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd:
>>>
>>>        o shard-bmg: PASS 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-bmg-5/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html> 
>>> -> ABORT 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-bmg-7/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-samefd.html> 
>>> +6 other tests abort
>>
>> unrelated
>>
>> <1> [331.175806] BUG: kernel NULL pointer dereference, address: 
>> 0000000000000001
>> <1> [331.175819] #PF: supervisor read access in kernel mode
>> <1> [331.175824] #PF: error_code(0x0000) - not-present page
>> <4> [331.175857] RIP: 0010:xe_vm_insert_vma+0x1c/0x1b0 [xe]
>> <4> [331.176097] Call Trace:
>> <4> [331.176100]  <TASK>
>> <4> [331.176103]  ? vm_bind_ioctl_ops_create+0xa9/0x8d0 [xe]
>> <4> [331.176361]  ? lock_is_held_type+0xa3/0x130
>> <4> [331.176371]  vm_bind_ioctl_ops_parse+0x709/0xa00 [xe]
>> <4> [331.176541]  xe_vm_bind_ioctl+0x1103/0x1850 [xe]
>> <4> [331.176728]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
>> <4> [331.176950]  drm_ioctl_kernel+0xb3/0x120
>> <4> [331.176958]  ? drm_ioctl_kernel+0xb3/0x120
>> <4> [331.176965]  drm_ioctl+0x2d4/0x5a0
>> <4> [331.176970]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
>> <4> [331.177144]  ? trace_hardirqs_on+0x1e/0xd0
>> <4> [331.177150]  ? _raw_spin_unlock_irqrestore+0x51/0x80
>> <4> [331.177156]  ? __pm_runtime_resume+0x5b/0x90
>> <4> [331.177163]  ? xe_pm_runtime_get_ioctl+0x61/0x150 [xe]
>> <4> [331.177249]  xe_drm_ioctl+0x53/0x80 [xe]
>>
>>
>>>    *
>>>
>>>      igt@xe_sriov_auto_provisioning@fair-allocation:
>>>
>>>        o shard-adlp: PASS 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-3924-6a9cafb6723c47062cc4d593804d5bb69155d81a/shard-adlp-2/igt@xe_sriov_auto_provisioning@fair-allocation.html> 
>>> -> SKIP 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-8/igt@xe_sriov_auto_provisioning@fair-allocation.html>
>> but
>>
>> Test requirement not met in function __igt_unique____real_main316, 
>> file ../tests/intel/xe_sriov_auto_provisioning.c:343:
>> Test requirement: !(ret)
>> contexts_provisioned: Failed ranges check on gt0 (-34)
>>
>> this is now somehow expected, as it looks that some earlier test did 
>> some tweaks in the VFs provisioning causing 'auto' mode to be disabled:
>>
>> <7>[  344.422273] xe 0000:00:02.0: [drm:pf_update_policy_bool [xe]] 
>> PF: Tile0: GT0: policy key 0x8001 'sched_if_idle' updated to 'disabled'
>> <7>[  344.422465] xe 0000:00:02.0: 
>> [drm:xe_sriov_pf_provision_set_mode [xe]] PF: mode auto changed to 
>> custom by sched_if_idle_set [xe]
>>
>> so there is no more VFs auto-unprovisioning, and some of VFs 
>> resources may remain allocated and must be explicitly released by the 
>> test
>>
>> FYI: @Marcin
>
> There are two tests, xe_pmu and xe_sriov_scheduling, which switch to 
> custom mode due to scheduling parameter modifications. These are 
> addressed by the series.
https://patchwork.freedesktop.org/series/156164/
>
>>>    *
>>>
>>> igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
>>>
>>>        o shard-adlp: NOTRUN -> SKIP 
>>> <https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155971v1/shard-adlp-6/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html>
>>>
>>>

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

end of thread, other threads:[~2025-10-20 11:08 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-15  9:12 [PATCH 0/4] PF: Update auto-provisioning Michal Wajdeczko
2025-10-15  9:12 ` [PATCH 1/4] drm/xe/pf: Promote VFs provisioning helpers Michal Wajdeczko
2025-10-15 13:00   ` Piotr Piórkowski
2025-10-16 11:33     ` Michal Wajdeczko
2025-10-15  9:12 ` [PATCH 2/4] drm/xe/pf: Automatically provision VFs only in auto-mode Michal Wajdeczko
2025-10-15 16:30   ` Piotr Piórkowski
2025-10-15  9:12 ` [PATCH 3/4] drm/xe/pf: Disable auto-provisioning if changed using debugfs Michal Wajdeczko
2025-10-16 15:26   ` Piotr Piórkowski
2025-10-15  9:12 ` [PATCH 4/4] drm/xe/pf: Allow to restore auto-provisioning mode Michal Wajdeczko
2025-10-16 15:46   ` Piotr Piórkowski
2025-10-15 12:10 ` ✗ CI.checkpatch: warning for PF: Update auto-provisioning Patchwork
2025-10-15 12:11 ` ✓ CI.KUnit: success " Patchwork
2025-10-15 13:07 ` ✓ Xe.CI.BAT: " Patchwork
2025-10-15 22:12 ` ✗ Xe.CI.Full: failure " Patchwork
2025-10-16 10:55   ` Michal Wajdeczko
2025-10-20  9:49     ` Bernatowicz, Marcin
2025-10-20 11:08       ` Bernatowicz, Marcin

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