Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [CI 0/4] PF: Add handling for new adverse event thresholds
@ 2025-12-15 20:18 Michal Wajdeczko
  2025-12-15 20:18 ` [CI 1/4] drm/xe: Introduce IF_ARGS macro utility Michal Wajdeczko
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Michal Wajdeczko @ 2025-12-15 20:18 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: Michal Wajdeczko, Thomas Hellström, Rodrigo Vivi,
	Matthew Brost

This series was already reviewed and tested by the Xe CI [1] but since
it uses __VA_OPT__ it was requested to also run it over dri-devel CI
to double check compiler support for the __VA_OPT__.

GCC [2] supports __VA_OPT__ from version 8 and clang [3] supports it
from version 12, while minimal versions to compile kernel [4] are now
GCC 8.1 and clang 15.0.0, so we should good.

[1] https://patchwork.freedesktop.org/series/158874/#rev2
[2] https://docs.kernel.org/process/changes.html
[3] https://gcc.gnu.org/projects/c-status.html
[4] https://clang.llvm.org/c_status.html

Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>

Daniele Ceraolo Spurio (1):
  drm/xe/pf: Add handling for MLRC adverse event threshold

Michal Wajdeczko (3):
  drm/xe: Introduce IF_ARGS macro utility
  drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper
  drm/xe/pf: Prepare for new threshold KLVs

 drivers/gpu/drm/xe/abi/guc_klvs_abi.h         |  9 ++++
 drivers/gpu/drm/xe/tests/xe_args_test.c       | 53 +++++++++++++++++++
 drivers/gpu/drm/xe/xe_args.h                  | 18 +++++++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c    | 19 ++++---
 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c   |  9 ++--
 drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c |  2 +-
 drivers/gpu/drm/xe/xe_guc.h                   | 21 ++++++++
 drivers/gpu/drm/xe/xe_guc_ads.c               |  4 +-
 .../drm/xe/xe_guc_klv_thresholds_set_types.h  |  6 +++
 9 files changed, 128 insertions(+), 13 deletions(-)

-- 
2.47.1


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

* [CI 1/4] drm/xe: Introduce IF_ARGS macro utility
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
@ 2025-12-15 20:18 ` Michal Wajdeczko
  2025-12-15 20:18 ` [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper Michal Wajdeczko
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Michal Wajdeczko @ 2025-12-15 20:18 UTC (permalink / raw)
  To: intel-xe, dri-devel; +Cc: Michal Wajdeczko, Daniele Ceraolo Spurio

We want to extend our macro-based KLV list definitions with new
information about the version from which given KLV is supported.
Add utility IF_ARGS macro that can be used in code generators to
emit different code based on the presence of additional arguments.

Introduce macro itself and extend our kunit tests to cover it.
We will use this macro in next patch.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_args_test.c | 53 +++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_args.h            | 18 +++++++++
 2 files changed, 71 insertions(+)

diff --git a/drivers/gpu/drm/xe/tests/xe_args_test.c b/drivers/gpu/drm/xe/tests/xe_args_test.c
index f3fb23aa5d2e..d11ea610f67a 100644
--- a/drivers/gpu/drm/xe/tests/xe_args_test.c
+++ b/drivers/gpu/drm/xe/tests/xe_args_test.c
@@ -78,6 +78,24 @@ static void pick_arg_example(struct kunit *test)
 #undef buz
 }
 
+static void if_args_example(struct kunit *test)
+{
+	enum { Z = 1, Q };
+
+#define foo	X, Y
+#define bar	IF_ARGS(Z, Q, foo)
+#define buz	IF_ARGS(Z, Q, DROP_FIRST_ARG(FIRST_ARG(foo)))
+
+	KUNIT_EXPECT_EQ(test, bar, Z);
+	KUNIT_EXPECT_EQ(test, buz, Q);
+	KUNIT_EXPECT_STREQ(test, __stringify(bar), "Z");
+	KUNIT_EXPECT_STREQ(test, __stringify(buz), "Q");
+
+#undef foo
+#undef bar
+#undef buz
+}
+
 static void sep_comma_example(struct kunit *test)
 {
 #define foo(f)	f(X) f(Y) f(Z) f(Q)
@@ -198,6 +216,39 @@ static void last_arg_test(struct kunit *test)
 	KUNIT_EXPECT_STREQ(test, __stringify(LAST_ARG(MAX_ARGS)), "-12");
 }
 
+static void if_args_test(struct kunit *test)
+{
+	bool with_args = true;
+	bool no_args = false;
+	enum { X = 100 };
+
+	KUNIT_EXPECT_TRUE(test, IF_ARGS(true, false, FOO_ARGS));
+	KUNIT_EXPECT_FALSE(test, IF_ARGS(true, false, NO_ARGS));
+
+	KUNIT_EXPECT_TRUE(test, CONCATENATE(IF_ARGS(with, no, FOO_ARGS), _args));
+	KUNIT_EXPECT_FALSE(test, CONCATENATE(IF_ARGS(with, no, NO_ARGS), _args));
+
+	KUNIT_EXPECT_STREQ(test, __stringify(IF_ARGS(yes, no, FOO_ARGS)), "yes");
+	KUNIT_EXPECT_STREQ(test, __stringify(IF_ARGS(no, no, NO_ARGS)), "no");
+
+	KUNIT_EXPECT_EQ(test, IF_ARGS(CALL_ARGS(COUNT_ARGS, FOO_ARGS), -1, FOO_ARGS), 4);
+	KUNIT_EXPECT_EQ(test, IF_ARGS(CALL_ARGS(COUNT_ARGS, FOO_ARGS), -1, NO_ARGS), -1);
+	KUNIT_EXPECT_EQ(test, IF_ARGS(CALL_ARGS(COUNT_ARGS, NO_ARGS), -1, FOO_ARGS), 0);
+	KUNIT_EXPECT_EQ(test, IF_ARGS(CALL_ARGS(COUNT_ARGS, NO_ARGS), -1, NO_ARGS), -1);
+
+	KUNIT_EXPECT_EQ(test,
+			FIRST_ARG(CONCATENATE(CALL_ARGS(IF_ARGS, FOO, MAX, FOO_ARGS), _ARGS)), X);
+	KUNIT_EXPECT_EQ(test,
+			FIRST_ARG(CONCATENATE(CALL_ARGS(IF_ARGS, FOO, MAX, NO_ARGS), _ARGS)), -1);
+
+	KUNIT_EXPECT_EQ(test,
+			CALL_ARGS(COUNT_ARGS,
+				  CONCATENATE(CALL_ARGS(IF_ARGS, FOO, MAX, FOO_ARGS), _ARGS)), 4);
+	KUNIT_EXPECT_EQ(test,
+			CALL_ARGS(COUNT_ARGS,
+				  CONCATENATE(CALL_ARGS(IF_ARGS, FOO, MAX, NO_ARGS), _ARGS)), 12);
+}
+
 static struct kunit_case args_tests[] = {
 	KUNIT_CASE(count_args_test),
 	KUNIT_CASE(call_args_example),
@@ -209,6 +260,8 @@ static struct kunit_case args_tests[] = {
 	KUNIT_CASE(last_arg_example),
 	KUNIT_CASE(last_arg_test),
 	KUNIT_CASE(pick_arg_example),
+	KUNIT_CASE(if_args_example),
+	KUNIT_CASE(if_args_test),
 	KUNIT_CASE(sep_comma_example),
 	{}
 };
diff --git a/drivers/gpu/drm/xe/xe_args.h b/drivers/gpu/drm/xe/xe_args.h
index 4dbc7e53c624..657203852036 100644
--- a/drivers/gpu/drm/xe/xe_args.h
+++ b/drivers/gpu/drm/xe/xe_args.h
@@ -121,6 +121,24 @@
 #define PICK_ARG11(args...)		PICK_ARG10(DROP_FIRST_ARG(args))
 #define PICK_ARG12(args...)		PICK_ARG11(DROP_FIRST_ARG(args))
 
+/**
+ * IF_ARGS() - Make selection based on optional argument list.
+ * @then: token to return if arguments are present
+ * @else: token to return if arguments are empty
+ * @...: arguments to check (optional)
+ *
+ * This macro allows to select a token based on the presence of the argument list.
+ *
+ * Example:
+ *
+ *	#define foo	X, Y
+ *	#define bar	IF_ARGS(Z, Q, foo)
+ *	#define buz	IF_ARGS(Z, Q, DROP_FIRST_ARG(FIRST_ARG(foo)))
+ *
+ *	With above definitions bar expands to Z while buz expands to Q.
+ */
+#define IF_ARGS(then, else, ...)	FIRST_ARG(__VA_OPT__(then,) else)
+
 /**
  * ARGS_SEP_COMMA - Definition of a comma character.
  *
-- 
2.47.1


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

* [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
  2025-12-15 20:18 ` [CI 1/4] drm/xe: Introduce IF_ARGS macro utility Michal Wajdeczko
@ 2025-12-15 20:18 ` Michal Wajdeczko
  2025-12-16 11:32   ` kernel test robot
  2025-12-15 20:18 ` [CI 3/4] drm/xe/pf: Prepare for new threshold KLVs Michal Wajdeczko
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 10+ messages in thread
From: Michal Wajdeczko @ 2025-12-15 20:18 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: Michal Wajdeczko, Daniele Ceraolo Spurio, Matthew Brost

There are already few places in the code where we need to check GuC
firmware version. Wrap existing raw conditions into a named helper
macro to make it clear and avoid explicit call of the MAKE_GUC_VER.

Suggested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
 drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c |  2 +-
 drivers/gpu/drm/xe/xe_guc.h                   | 21 +++++++++++++++++++
 drivers/gpu/drm/xe/xe_guc_ads.c               |  4 ++--
 3 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c
index 3174a8dee779..7410e7b93256 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c
@@ -1026,7 +1026,7 @@ static void action_ring_cleanup(void *arg)
 
 static void pf_gt_migration_check_support(struct xe_gt *gt)
 {
-	if (GUC_FIRMWARE_VER(&gt->uc.guc) < MAKE_GUC_VER(70, 54, 0))
+	if (!GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, 70, 54))
 		xe_sriov_pf_migration_disable(gt_to_xe(gt), "requires GuC version >= 70.54.0");
 }
 
diff --git a/drivers/gpu/drm/xe/xe_guc.h b/drivers/gpu/drm/xe/xe_guc.h
index fdb08658d05a..a169f231cbd8 100644
--- a/drivers/gpu/drm/xe/xe_guc.h
+++ b/drivers/gpu/drm/xe/xe_guc.h
@@ -18,10 +18,16 @@
  */
 #define MAKE_GUC_VER(maj, min, pat)	(((maj) << 16) | ((min) << 8) | (pat))
 #define MAKE_GUC_VER_STRUCT(ver)	MAKE_GUC_VER((ver).major, (ver).minor, (ver).patch)
+#define MAKE_GUC_VER_ARGS(ver...) \
+	(BUILD_BUG_ON_ZERO(COUNT_ARGS(ver) < 2 || COUNT_ARGS(ver) > 3) + \
+	 MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver))))
+
 #define GUC_SUBMIT_VER(guc) \
 	MAKE_GUC_VER_STRUCT((guc)->fw.versions.found[XE_UC_FW_VER_COMPATIBILITY])
 #define GUC_FIRMWARE_VER(guc) \
 	MAKE_GUC_VER_STRUCT((guc)->fw.versions.found[XE_UC_FW_VER_RELEASE])
+#define GUC_FIRMWARE_VER_AT_LEAST(guc, ver...) \
+	xe_guc_fw_version_at_least((guc), MAKE_GUC_VER_ARGS(ver))
 
 struct drm_printer;
 
@@ -96,4 +102,19 @@ static inline struct drm_device *guc_to_drm(struct xe_guc *guc)
 	return &guc_to_xe(guc)->drm;
 }
 
+/**
+ * xe_guc_fw_version_at_least() - Check if GuC is at least of given version.
+ * @guc: the &xe_guc
+ * @ver: the version to check
+ *
+ * The @ver should be prepared using MAKE_GUC_VER(major, minor, patch).
+ *
+ * Return: true if loaded GuC firmware is at least of given version,
+ *         false otherwise.
+ */
+static inline bool xe_guc_fw_version_at_least(const struct xe_guc *guc, u32 ver)
+{
+	return GUC_FIRMWARE_VER(guc) >= ver;
+}
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c
index e06c6aa335bf..5feeb91426ee 100644
--- a/drivers/gpu/drm/xe/xe_guc_ads.c
+++ b/drivers/gpu/drm/xe/xe_guc_ads.c
@@ -347,10 +347,10 @@ static void guc_waklv_init(struct xe_guc_ads *ads)
 		guc_waklv_enable(ads, NULL, 0, &offset, &remain,
 				 GUC_WORKAROUND_KLV_ID_BACK_TO_BACK_RCS_ENGINE_RESET);
 
-	if (GUC_FIRMWARE_VER(&gt->uc.guc) >= MAKE_GUC_VER(70, 44, 0) && XE_GT_WA(gt, 16026508708))
+	if (GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, 70, 44) && XE_GT_WA(gt, 16026508708))
 		guc_waklv_enable(ads, NULL, 0, &offset, &remain,
 				 GUC_WA_KLV_RESET_BB_STACK_PTR_ON_VF_SWITCH);
-	if (GUC_FIRMWARE_VER(&gt->uc.guc) >= MAKE_GUC_VER(70, 47, 0) && XE_GT_WA(gt, 16026007364)) {
+	if (GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, 70, 47) && XE_GT_WA(gt, 16026007364)) {
 		u32 data[] = {
 			0x0,
 			0xF,
-- 
2.47.1


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

* [CI 3/4] drm/xe/pf: Prepare for new threshold KLVs
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
  2025-12-15 20:18 ` [CI 1/4] drm/xe: Introduce IF_ARGS macro utility Michal Wajdeczko
  2025-12-15 20:18 ` [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper Michal Wajdeczko
@ 2025-12-15 20:18 ` Michal Wajdeczko
  2025-12-15 20:18 ` [CI 4/4] drm/xe/pf: Add handling for MLRC adverse event threshold Michal Wajdeczko
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Michal Wajdeczko @ 2025-12-15 20:18 UTC (permalink / raw)
  To: intel-xe, dri-devel; +Cc: Michal Wajdeczko, Daniele Ceraolo Spurio

We want to extend our macro-based KLV list definitions with new
information about the version from which given KLV is supported.
Prepare our code generators to emit dedicated version check if
a KLV was defined with the version information.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c    | 19 ++++++++++++-------
 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c   |  9 ++++++---
 .../drm/xe/xe_guc_klv_thresholds_set_types.h  |  5 +++++
 3 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
index 59c5c6b4d994..6e8507c24986 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
@@ -269,7 +269,8 @@ static u32 encode_config_ggtt(u32 *cfg, const struct xe_gt_sriov_config *config,
 }
 
 /* Return: number of configuration dwords written */
-static u32 encode_config(u32 *cfg, const struct xe_gt_sriov_config *config, bool details)
+static u32 encode_config(struct xe_gt *gt, u32 *cfg, const struct xe_gt_sriov_config *config,
+			 bool details)
 {
 	u32 n = 0;
 
@@ -303,9 +304,11 @@ static u32 encode_config(u32 *cfg, const struct xe_gt_sriov_config *config, bool
 	cfg[n++] = PREP_GUC_KLV_TAG(VF_CFG_PREEMPT_TIMEOUT);
 	cfg[n++] = config->preempt_timeout;
 
-#define encode_threshold_config(TAG, ...) ({					\
-	cfg[n++] = PREP_GUC_KLV_TAG(VF_CFG_THRESHOLD_##TAG);			\
-	cfg[n++] = config->thresholds[MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG)];	\
+#define encode_threshold_config(TAG, NAME, VER...) ({					\
+	if (IF_ARGS(GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), true, VER)) {		\
+		cfg[n++] = PREP_GUC_KLV_TAG(VF_CFG_THRESHOLD_##TAG);			\
+		cfg[n++] = config->thresholds[MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG)];	\
+	}										\
 });
 
 	MAKE_XE_GUC_KLV_THRESHOLDS_SET(encode_threshold_config);
@@ -328,7 +331,7 @@ static int pf_push_full_vf_config(struct xe_gt *gt, unsigned int vfid)
 		return -ENOBUFS;
 
 	cfg = xe_guc_buf_cpu_ptr(buf);
-	num_dwords = encode_config(cfg, config, true);
+	num_dwords = encode_config(gt, cfg, config, true);
 	xe_gt_assert(gt, num_dwords <= max_cfg_dwords);
 
 	if (xe_gt_is_media_type(gt)) {
@@ -2518,7 +2521,7 @@ ssize_t xe_gt_sriov_pf_config_save(struct xe_gt *gt, unsigned int vfid, void *bu
 			ret = -ENOBUFS;
 		} else {
 			config = pf_pick_vf_config(gt, vfid);
-			ret = encode_config(buf, config, false) * sizeof(u32);
+			ret = encode_config(gt, buf, config, false) * sizeof(u32);
 		}
 	}
 	mutex_unlock(xe_gt_sriov_pf_master_mutex(gt));
@@ -2551,11 +2554,13 @@ static int pf_restore_vf_config_klv(struct xe_gt *gt, unsigned int vfid,
 		return pf_provision_preempt_timeout(gt, vfid, value[0]);
 
 	/* auto-generate case statements */
-#define define_threshold_key_to_provision_case(TAG, ...)				\
+#define define_threshold_key_to_provision_case(TAG, NAME, VER...)			\
 	case MAKE_GUC_KLV_VF_CFG_THRESHOLD_KEY(TAG):					\
 		BUILD_BUG_ON(MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG) != 1u);		\
 		if (len != MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG))			\
 			return -EBADMSG;						\
+		if (IF_ARGS(!GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), false, VER))	\
+			return -EKEYREJECTED;						\
 		return pf_provision_threshold(gt, vfid,					\
 					      MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG),	\
 					      value[0]);
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 0fd863609848..ece9eed5d7c5 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
@@ -21,6 +21,7 @@
 #include "xe_gt_sriov_pf_monitor.h"
 #include "xe_gt_sriov_pf_policy.h"
 #include "xe_gt_sriov_pf_service.h"
+#include "xe_guc.h"
 #include "xe_pm.h"
 #include "xe_sriov_pf.h"
 #include "xe_sriov_pf_provision.h"
@@ -301,9 +302,11 @@ static void pf_add_config_attrs(struct xe_gt *gt, struct dentry *parent, unsigne
 				   &sched_priority_fops);
 
 	/* register all threshold attributes */
-#define register_threshold_attribute(TAG, NAME, ...) \
-	debugfs_create_file_unsafe("threshold_" #NAME, 0644, parent, parent, \
-				   &NAME##_fops);
+#define register_threshold_attribute(TAG, NAME, VER...) ({				\
+	if (IF_ARGS(GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), true, VER))		\
+		debugfs_create_file_unsafe("threshold_" #NAME, 0644, parent, parent,	\
+					   &NAME##_fops);				\
+});
 	MAKE_XE_GUC_KLV_THRESHOLDS_SET(register_threshold_attribute)
 #undef register_threshold_attribute
 }
diff --git a/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h b/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h
index 0a028c94756d..5f84da3d10d3 100644
--- a/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h
+++ b/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h
@@ -24,6 +24,11 @@
  * ABI and the associated &NAME, that may be used in code or debugfs/sysfs::
  *
  *	define(TAG, NAME)
+ *
+ * If required, KLVs can be labeled with GuC firmware version that added them::
+ *
+ *	define(TAG, NAME, MAJOR, MINOR)
+ *	define(TAG, NAME, MAJOR, MINOR, PATCH)
  */
 #define MAKE_XE_GUC_KLV_THRESHOLDS_SET(define)		\
 	define(CAT_ERR, cat_error_count)		\
-- 
2.47.1


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

* [CI 4/4] drm/xe/pf: Add handling for MLRC adverse event threshold
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
                   ` (2 preceding siblings ...)
  2025-12-15 20:18 ` [CI 3/4] drm/xe/pf: Prepare for new threshold KLVs Michal Wajdeczko
@ 2025-12-15 20:18 ` Michal Wajdeczko
  2025-12-16  0:22 ` ✗ CI.checkpatch: warning for PF: Add handling for new adverse event thresholds (rev3) Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Michal Wajdeczko @ 2025-12-15 20:18 UTC (permalink / raw)
  To: intel-xe, dri-devel; +Cc: Daniele Ceraolo Spurio, Michal Wajdeczko

From: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>

Since it is illegal to register a MLRC context when scheduler groups are
enabled, the GuC consider the VF doing so as an adverse event. Like for
other adverse event, there is a threshold for how many times the event
can happen before the GuC throws an error, which we need to add support
for.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h                | 9 +++++++++
 drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
index 265a135e7061..89a4f8c504e6 100644
--- a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
+++ b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
@@ -352,6 +352,12 @@ enum  {
  *      :1: NORMAL = schedule VF always, irrespective of whether it has work or not
  *      :2: HIGH = schedule VF in the next time-slice after current active
  *          time-slice completes if it has active work
+ *
+ * _`GUC_KLV_VF_CFG_THRESHOLD_MULTI_LRC_COUNT` : 0x8A0D
+ *      Given that multi-LRC contexts are incompatible with SRIOV scheduler
+ *      groups and cause the latter to be turned off when registered with the
+ *      GuC, this config allows the PF to set a threshold for multi-LRC context
+ *      registrations by VFs to monitor their behavior.
  */
 
 #define GUC_KLV_VF_CFG_GGTT_START_KEY		0x0001
@@ -410,6 +416,9 @@ enum  {
 #define   GUC_SCHED_PRIORITY_NORMAL		1u
 #define   GUC_SCHED_PRIORITY_HIGH		2u
 
+#define GUC_KLV_VF_CFG_THRESHOLD_MULTI_LRC_COUNT_KEY	0x8a0d
+#define GUC_KLV_VF_CFG_THRESHOLD_MULTI_LRC_COUNT_LEN	1u
+
 /*
  * Workaround keys:
  */
diff --git a/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h b/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h
index 5f84da3d10d3..45ab5a3b5218 100644
--- a/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h
+++ b/drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h
@@ -37,6 +37,7 @@
 	define(H2G_STORM, guc_time_us)			\
 	define(IRQ_STORM, irq_time_us)			\
 	define(DOORBELL_STORM, doorbell_time_us)	\
+	define(MULTI_LRC_COUNT, multi_lrc_count, 70, 53)\
 	/* end */
 
 /**
-- 
2.47.1


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

* ✗ CI.checkpatch: warning for PF: Add handling for new adverse event thresholds (rev3)
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
                   ` (3 preceding siblings ...)
  2025-12-15 20:18 ` [CI 4/4] drm/xe/pf: Add handling for MLRC adverse event threshold Michal Wajdeczko
@ 2025-12-16  0:22 ` Patchwork
  2025-12-16  0:23 ` ✓ CI.KUnit: success " Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-12-16  0:22 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

== Series Details ==

Series: PF: Add handling for new adverse event thresholds (rev3)
URL   : https://patchwork.freedesktop.org/series/158874/
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
8f50e69d0ce3656564bbdf8b3e213d61470d463f
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 2775f7109a4613861b39ceaef5d5d1880715ebe2
Author: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Date:   Mon Dec 15 21:18:04 2025 +0100

    drm/xe/pf: Add handling for MLRC adverse event threshold
    
    Since it is illegal to register a MLRC context when scheduler groups are
    enabled, the GuC consider the VF doing so as an adverse event. Like for
    other adverse event, there is a threshold for how many times the event
    can happen before the GuC throws an error, which we need to add support
    for.
    
    Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
+ /mt/dim checkpatch 5dd9dbd1824c3a520036488257ff25a6495ac1fe drm-intel
336bdb733d60 drm/xe: Introduce IF_ARGS macro utility
-:29: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#29: FILE: drivers/gpu/drm/xe/tests/xe_args_test.c:85:
+#define foo	X, Y

BUT SEE:

   do {} while (0) advice is over-stated in a few situations:

   The more obvious case is macros, like MODULE_PARM_DESC, invoked at
   file-scope, where C disallows code (it must be in functions).  See
   $exceptions if you have one to add by name.

   More troublesome is declarative macros used at top of new scope,
   like DECLARE_PER_CPU.  These might just compile with a do-while-0
   wrapper, but would be incorrect.  Most of these are handled by
   detecting struct,union,etc declaration primitives in $exceptions.

   Theres also macros called inside an if (block), which "return" an
   expression.  These cannot do-while, and need a ({}) wrapper.

   Enjoy this qualification while we work to improve our heuristics.

-:119: ERROR:SPACING: space required after that ',' (ctx:VxB)
#119: FILE: drivers/gpu/drm/xe/xe_args.h:140:
+#define IF_ARGS(then, else, ...)	FIRST_ARG(__VA_OPT__(then,) else)
                                 	                         ^

total: 2 errors, 0 warnings, 0 checks, 95 lines checked
0b27878d6889 drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper
7be4cf6204f3 drm/xe/pf: Prepare for new threshold KLVs
-:36: WARNING:MACRO_ARG_UNUSED: Argument 'NAME' is not used in function-like macro
#36: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c:307:
+#define encode_threshold_config(TAG, NAME, VER...) ({					\
+	if (IF_ARGS(GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), true, VER)) {		\
+		cfg[n++] = PREP_GUC_KLV_TAG(VF_CFG_THRESHOLD_##TAG);			\
+		cfg[n++] = config->thresholds[MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG)];	\
+	}										\
 });

-:36: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#36: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c:307:
+#define encode_threshold_config(TAG, NAME, VER...) ({					\
+	if (IF_ARGS(GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), true, VER)) {		\
+		cfg[n++] = PREP_GUC_KLV_TAG(VF_CFG_THRESHOLD_##TAG);			\
+		cfg[n++] = config->thresholds[MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG)];	\
+	}										\
 });

-:67: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'TAG' - possible side-effects?
#67: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c:2557:
+#define define_threshold_key_to_provision_case(TAG, NAME, VER...)			\
 	case MAKE_GUC_KLV_VF_CFG_THRESHOLD_KEY(TAG):					\
 		BUILD_BUG_ON(MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG) != 1u);		\
 		if (len != MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG))			\
 			return -EBADMSG;						\
+		if (IF_ARGS(!GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), false, VER))	\
+			return -EKEYREJECTED;						\
 		return pf_provision_threshold(gt, vfid,					\
 					      MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG),	\
 					      value[0]);

-:67: WARNING:MACRO_ARG_UNUSED: Argument 'NAME' is not used in function-like macro
#67: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c:2557:
+#define define_threshold_key_to_provision_case(TAG, NAME, VER...)			\
 	case MAKE_GUC_KLV_VF_CFG_THRESHOLD_KEY(TAG):					\
 		BUILD_BUG_ON(MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG) != 1u);		\
 		if (len != MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG))			\
 			return -EBADMSG;						\
+		if (IF_ARGS(!GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), false, VER))	\
+			return -EKEYREJECTED;						\
 		return pf_provision_threshold(gt, vfid,					\
 					      MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG),	\
 					      value[0]);

-:67: WARNING:MACRO_WITH_FLOW_CONTROL: Macros with flow control statements should be avoided
#67: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c:2557:
+#define define_threshold_key_to_provision_case(TAG, NAME, VER...)			\
 	case MAKE_GUC_KLV_VF_CFG_THRESHOLD_KEY(TAG):					\
 		BUILD_BUG_ON(MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG) != 1u);		\
 		if (len != MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG))			\
 			return -EBADMSG;						\
+		if (IF_ARGS(!GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), false, VER))	\
+			return -EKEYREJECTED;						\
 		return pf_provision_threshold(gt, vfid,					\
 					      MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG),	\
 					      value[0]);

-:67: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#67: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c:2557:
+#define define_threshold_key_to_provision_case(TAG, NAME, VER...)			\
 	case MAKE_GUC_KLV_VF_CFG_THRESHOLD_KEY(TAG):					\
 		BUILD_BUG_ON(MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG) != 1u);		\
 		if (len != MAKE_GUC_KLV_VF_CFG_THRESHOLD_LEN(TAG))			\
 			return -EBADMSG;						\
+		if (IF_ARGS(!GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), false, VER))	\
+			return -EKEYREJECTED;						\
 		return pf_provision_threshold(gt, vfid,					\
 					      MAKE_XE_GUC_KLV_THRESHOLD_INDEX(TAG),	\
 					      value[0]);

-:96: WARNING:MACRO_ARG_UNUSED: Argument 'TAG' is not used in function-like macro
#96: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c:305:
+#define register_threshold_attribute(TAG, NAME, VER...) ({				\
+	if (IF_ARGS(GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), true, VER))		\
+		debugfs_create_file_unsafe("threshold_" #NAME, 0644, parent, parent,	\
+					   &NAME##_fops);				\
+});

-:96: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#96: FILE: drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c:305:
+#define register_threshold_attribute(TAG, NAME, VER...) ({				\
+	if (IF_ARGS(GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, VER), true, VER))		\
+		debugfs_create_file_unsafe("threshold_" #NAME, 0644, parent, parent,	\
+					   &NAME##_fops);				\
+});

total: 0 errors, 7 warnings, 1 checks, 85 lines checked
2775f7109a46 drm/xe/pf: Add handling for MLRC adverse event threshold



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

* ✓ CI.KUnit: success for PF: Add handling for new adverse event thresholds (rev3)
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
                   ` (4 preceding siblings ...)
  2025-12-16  0:22 ` ✗ CI.checkpatch: warning for PF: Add handling for new adverse event thresholds (rev3) Patchwork
@ 2025-12-16  0:23 ` Patchwork
  2025-12-16  1:53 ` ✓ Xe.CI.BAT: " Patchwork
  2025-12-16 12:20 ` ✓ Xe.CI.Full: " Patchwork
  7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-12-16  0:23 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

== Series Details ==

Series: PF: Add handling for new adverse event thresholds (rev3)
URL   : https://patchwork.freedesktop.org/series/158874/
State : success

== Summary ==

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

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

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

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



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

* ✓ Xe.CI.BAT: success for PF: Add handling for new adverse event thresholds (rev3)
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
                   ` (5 preceding siblings ...)
  2025-12-16  0:23 ` ✓ CI.KUnit: success " Patchwork
@ 2025-12-16  1:53 ` Patchwork
  2025-12-16 12:20 ` ✓ Xe.CI.Full: " Patchwork
  7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-12-16  1:53 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

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

== Series Details ==

Series: PF: Add handling for new adverse event thresholds (rev3)
URL   : https://patchwork.freedesktop.org/series/158874/
State : success

== Summary ==

CI Bug Log - changes from xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8_BAT -> xe-pw-158874v3_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (12 -> 11)
------------------------------

  Missing    (1): bat-dg2-oem2 


Changes
-------

  No changes found


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

  * Linux: xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8 -> xe-pw-158874v3

  IGT_8666: 8666
  xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8: dddddff8562cb71232676f4c1b1f22671c0524f8
  xe-pw-158874v3: 158874v3

== Logs ==

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

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

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

* Re: [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper
  2025-12-15 20:18 ` [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper Michal Wajdeczko
@ 2025-12-16 11:32   ` kernel test robot
  0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-12-16 11:32 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe, dri-devel
  Cc: oe-kbuild-all, Michal Wajdeczko, Daniele Ceraolo Spurio,
	Matthew Brost

Hi Michal,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-xe/drm-xe-next]
[also build test ERROR on drm/drm-next drm-i915/for-linux-next drm-i915/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip linus/master v6.19-rc1 next-20251216]
[cannot apply to daeinki-drm-exynos/exynos-drm-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Michal-Wajdeczko/drm-xe-Introduce-IF_ARGS-macro-utility/20251216-042142
base:   https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link:    https://lore.kernel.org/r/20251215201806.196514-3-michal.wajdeczko%40intel.com
patch subject: [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper
config: sparc-randconfig-001-20251216 (https://download.01.org/0day-ci/archive/20251216/202512161949.FGqB4Iim-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251216/202512161949.FGqB4Iim-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512161949.FGqB4Iim-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c:20:
   drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c: In function 'pf_gt_migration_check_support':
>> drivers/gpu/drm/xe/xe_guc.h:19:73: error: expected expression before ')' token
    #define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat))
                                                                            ^
   drivers/gpu/drm/xe/xe_guc.h:23:3: note: in expansion of macro 'MAKE_GUC_VER'
      MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver))))
      ^~~~~~~~~~~~
   drivers/gpu/drm/xe/xe_guc.h:30:36: note: in expansion of macro 'MAKE_GUC_VER_ARGS'
     xe_guc_fw_version_at_least((guc), MAKE_GUC_VER_ARGS(ver))
                                       ^~~~~~~~~~~~~~~~~
   drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c:1029:7: note: in expansion of macro 'GUC_FIRMWARE_VER_AT_LEAST'
     if (!GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, 70, 54))
          ^~~~~~~~~~~~~~~~~~~~~~~~~
--
   In file included from drivers/gpu/drm/xe/xe_guc_ads.c:23:
   drivers/gpu/drm/xe/xe_guc_ads.c: In function 'guc_waklv_init':
>> drivers/gpu/drm/xe/xe_guc.h:19:73: error: expected expression before ')' token
    #define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat))
                                                                            ^
   drivers/gpu/drm/xe/xe_guc.h:23:3: note: in expansion of macro 'MAKE_GUC_VER'
      MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver))))
      ^~~~~~~~~~~~
   drivers/gpu/drm/xe/xe_guc.h:30:36: note: in expansion of macro 'MAKE_GUC_VER_ARGS'
     xe_guc_fw_version_at_least((guc), MAKE_GUC_VER_ARGS(ver))
                                       ^~~~~~~~~~~~~~~~~
   drivers/gpu/drm/xe/xe_guc_ads.c:350:6: note: in expansion of macro 'GUC_FIRMWARE_VER_AT_LEAST'
     if (GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, 70, 44) && XE_GT_WA(gt, 16026508708))
         ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/xe/xe_guc.h:19:73: error: expected expression before ')' token
    #define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat))
                                                                            ^
   drivers/gpu/drm/xe/xe_guc.h:23:3: note: in expansion of macro 'MAKE_GUC_VER'
      MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver))))
      ^~~~~~~~~~~~
   drivers/gpu/drm/xe/xe_guc.h:30:36: note: in expansion of macro 'MAKE_GUC_VER_ARGS'
     xe_guc_fw_version_at_least((guc), MAKE_GUC_VER_ARGS(ver))
                                       ^~~~~~~~~~~~~~~~~
   drivers/gpu/drm/xe/xe_guc_ads.c:353:6: note: in expansion of macro 'GUC_FIRMWARE_VER_AT_LEAST'
     if (GUC_FIRMWARE_VER_AT_LEAST(&gt->uc.guc, 70, 47) && XE_GT_WA(gt, 16026007364)) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +19 drivers/gpu/drm/xe/xe_guc.h

dd08ebf6c3525a7 Matthew Brost    2023-03-30  13  
4eb0aab6e4434ad Julia Filipchuk  2024-08-02  14  /*
4eb0aab6e4434ad Julia Filipchuk  2024-08-02  15   * GuC version number components are defined to be only 8-bit size,
4eb0aab6e4434ad Julia Filipchuk  2024-08-02  16   * so converting to a 32bit 8.8.8 integer allows simple (and safe)
4eb0aab6e4434ad Julia Filipchuk  2024-08-02  17   * numerical comparisons.
4eb0aab6e4434ad Julia Filipchuk  2024-08-02  18   */
4eb0aab6e4434ad Julia Filipchuk  2024-08-02 @19  #define MAKE_GUC_VER(maj, min, pat)	(((maj) << 16) | ((min) << 8) | (pat))
4eb0aab6e4434ad Julia Filipchuk  2024-08-02  20  #define MAKE_GUC_VER_STRUCT(ver)	MAKE_GUC_VER((ver).major, (ver).minor, (ver).patch)
9100abdb735432b Michal Wajdeczko 2025-12-15  21  #define MAKE_GUC_VER_ARGS(ver...) \
9100abdb735432b Michal Wajdeczko 2025-12-15  22  	(BUILD_BUG_ON_ZERO(COUNT_ARGS(ver) < 2 || COUNT_ARGS(ver) > 3) + \
9100abdb735432b Michal Wajdeczko 2025-12-15  23  	 MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver))))
9100abdb735432b Michal Wajdeczko 2025-12-15  24  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* ✓ Xe.CI.Full: success for PF: Add handling for new adverse event thresholds (rev3)
  2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
                   ` (6 preceding siblings ...)
  2025-12-16  1:53 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-12-16 12:20 ` Patchwork
  7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-12-16 12:20 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

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

== Series Details ==

Series: PF: Add handling for new adverse event thresholds (rev3)
URL   : https://patchwork.freedesktop.org/series/158874/
State : success

== Summary ==

CI Bug Log - changes from xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8_FULL -> xe-pw-158874v3_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (2 -> 2)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-158874v3_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

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

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][2] ([Intel XE#610])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][3] ([Intel XE#1124]) +10 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][4] ([Intel XE#2314] / [Intel XE#2894]) +1 other test skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-1-displays-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#367]) +1 other test skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_bw@linear-tiling-1-displays-2560x1440p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#3432]) +3 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

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

  * igt@kms_cdclk@plane-scaling:
    - shard-bmg:          NOTRUN -> [SKIP][8] ([Intel XE#2724])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#2325])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#2252]) +7 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html

  * igt@kms_content_protection@content-type-change:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#2341])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_content_protection@content-type-change.html

  * igt@kms_content_protection@suspend-resume@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][12] ([Intel XE#1178]) +1 other test fail
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_content_protection@suspend-resume@pipe-a-dp-2.html

  * igt@kms_content_protection@uevent:
    - shard-bmg:          NOTRUN -> [FAIL][13] ([Intel XE#6707]) +1 other test fail
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_content_protection@uevent.html

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

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          NOTRUN -> [FAIL][15] ([Intel XE#6715])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-bmg:          [PASS][16] -> [FAIL][17] ([Intel XE#5299])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#1508])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#2244]) +2 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_feature_discovery@psr2:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#2374])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [PASS][21] -> [FAIL][22] ([Intel XE#301]) +1 other test fail
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#2293] / [Intel XE#2380]) +2 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#2293]) +2 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

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

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#4141]) +16 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#2311]) +28 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#2352]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2313]) +31 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_hdr@bpc-switch-dpms@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [ABORT][30] ([Intel XE#6740]) +3 other tests abort
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_hdr@bpc-switch-dpms@pipe-a-dp-2.html

  * igt@kms_hdr@bpc-switch@pipe-a-dp-2:
    - shard-bmg:          [PASS][31] -> [ABORT][32] ([Intel XE#6740]) +1 other test abort
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8/shard-bmg-2/igt@kms_hdr@bpc-switch@pipe-a-dp-2.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-8/igt@kms_hdr@bpc-switch@pipe-a-dp-2.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#6590])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#2927] / [Intel XE#6590])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_plane_multiple@2x-tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#5021])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-yf.html

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

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

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#2938])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_pm_backlight@brightness-with-dpms.html

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

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#1439] / [Intel XE#836])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@legacy-planes:
    - shard-bmg:          [PASS][41] -> [DMESG-WARN][42] ([Intel XE#6576])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8/shard-bmg-8/igt@kms_pm_rpm@legacy-planes.html
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_pm_rpm@legacy-planes.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#1406] / [Intel XE#1489]) +6 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#1406] / [Intel XE#2387])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-psr2-cursor-plane-move:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +12 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_psr@fbc-psr2-cursor-plane-move.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#1406] / [Intel XE#2414])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_sharpness_filter@filter-rotations:
    - shard-bmg:          NOTRUN -> [SKIP][47] ([Intel XE#6503]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@kms_sharpness_filter@filter-rotations.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#1499])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@xe_eudebug@basic-exec-queues-enable:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#4837]) +6 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@xe_eudebug@basic-exec-queues-enable.html

  * igt@xe_eudebug_online@single-step:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#4837] / [Intel XE#6665]) +7 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@xe_eudebug_online@single-step.html

  * igt@xe_exec_basic@multigpu-once-null-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#2322]) +9 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@xe_exec_basic@multigpu-once-null-rebind.html

  * igt@xe_exec_multi_queue@two-queues-priority:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#6874]) +30 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@xe_exec_multi_queue@two-queues-priority.html

  * igt@xe_exec_system_allocator@many-64k-mmap-new-huge-nomemset:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#5007])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@xe_exec_system_allocator@many-64k-mmap-new-huge-nomemset.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-free-huge:
    - shard-bmg:          NOTRUN -> [SKIP][54] ([Intel XE#4943]) +25 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-free-huge.html

  * igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add:
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#6281])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
    - shard-bmg:          NOTRUN -> [ABORT][56] ([Intel XE#5466])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html

  * igt@xe_pm@d3cold-mmap-vram:
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#2284])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-5/igt@xe_pm@d3cold-mmap-vram.html

  * igt@xe_pmu@engine-activity-accuracy-50:
    - shard-lnl:          [PASS][58] -> [FAIL][59] ([Intel XE#6251]) +2 other tests fail
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8/shard-lnl-5/igt@xe_pmu@engine-activity-accuracy-50.html
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-lnl-2/igt@xe_pmu@engine-activity-accuracy-50.html

  * igt@xe_pxp@pxp-stale-queue-post-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#4733])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@xe_pxp@pxp-stale-queue-post-suspend.html

  * igt@xe_query@multigpu-query-invalid-cs-cycles:
    - shard-bmg:          NOTRUN -> [SKIP][61] ([Intel XE#944]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-3/igt@xe_query@multigpu-query-invalid-cs-cycles.html

  
#### Possible fixes ####

  * igt@kms_cursor_crc@cursor-sliding-256x256:
    - shard-bmg:          [FAIL][62] ([Intel XE#6747]) -> [PASS][63] +1 other test pass
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8/shard-bmg-2/igt@kms_cursor_crc@cursor-sliding-256x256.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-8/igt@kms_cursor_crc@cursor-sliding-256x256.html

  
#### Warnings ####

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][64] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][65] ([Intel XE#3544])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-158874v3/shard-bmg-2/igt@kms_hdr@brightness-with-hdr.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
  [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#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [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#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [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#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
  [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#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [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#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#5299]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5299
  [Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#6251]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6251
  [Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#6576]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6576
  [Intel XE#6590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6590
  [Intel XE#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
  [Intel XE#6707]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6707
  [Intel XE#6715]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6715
  [Intel XE#6740]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6740
  [Intel XE#6747]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6747
  [Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * Linux: xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8 -> xe-pw-158874v3

  IGT_8666: 8666
  xe-4249-dddddff8562cb71232676f4c1b1f22671c0524f8: dddddff8562cb71232676f4c1b1f22671c0524f8
  xe-pw-158874v3: 158874v3

== Logs ==

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

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

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

end of thread, other threads:[~2025-12-16 12:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-15 20:18 [CI 0/4] PF: Add handling for new adverse event thresholds Michal Wajdeczko
2025-12-15 20:18 ` [CI 1/4] drm/xe: Introduce IF_ARGS macro utility Michal Wajdeczko
2025-12-15 20:18 ` [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper Michal Wajdeczko
2025-12-16 11:32   ` kernel test robot
2025-12-15 20:18 ` [CI 3/4] drm/xe/pf: Prepare for new threshold KLVs Michal Wajdeczko
2025-12-15 20:18 ` [CI 4/4] drm/xe/pf: Add handling for MLRC adverse event threshold Michal Wajdeczko
2025-12-16  0:22 ` ✗ CI.checkpatch: warning for PF: Add handling for new adverse event thresholds (rev3) Patchwork
2025-12-16  0:23 ` ✓ CI.KUnit: success " Patchwork
2025-12-16  1:53 ` ✓ Xe.CI.BAT: " Patchwork
2025-12-16 12:20 ` ✓ Xe.CI.Full: " Patchwork

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