Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in
@ 2026-08-25 11:05 Mallesh Koujalagi
  2026-08-25 11:05 ` [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear() Mallesh Koujalagi
                   ` (9 more replies)
  0 siblings, 10 replies; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

The patch series improves error handling in the System Controller mailbox
driver by making error propagation more consistent and using
xe_log_err() for structured error reporting.

It also removes a few redundant checks and simplifies helper
interfaces where no error path exists.

v2:
- Use -EOVERFLOW.
- Drop sysctrl in xe_log_err. (Michal)
- Drop redundant %pe.
- Print response->count.

v3:
- Rebase.

v4:
- Replace xe_warn to xe_log_err_info for. (Michal)
- Use xe_assert().
- Change sysctrl_wait_bit_* to return errno.
- Make sysctrl_write_frame return type as void.
- Log mismatched header info.

v5:
- Fix align issue. (Michal)
- Use %#x after REG_FIELD_GET change.
- Use REG_FIELD_GET instead of FIELD_GET.
- Modify logging message.
- Change Error as EXFULL. 
- Update logging message.

Mallesh Koujalagi (7):
  drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear()
  drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set()
  drm/xe/sysctrl: Make sysctrl_write_frame() void
  drm/xe/sysctrl: Use xe_assert() for payload size validation
  drm/xe/sysctrl: Improve firmware response error logging
  drm/xe/sysctrl: Log group and command ID on mailbox failure
  drm/xe/sysctrl: Report 'System Controller event' error using SIGID

 drivers/gpu/drm/xe/xe_sysctrl_event.c   | 14 ++--
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 88 ++++++++++++-------------
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.h |  6 +-
 3 files changed, 53 insertions(+), 55 deletions(-)

-- 
2.48.1


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

* [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear()
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
@ 2026-08-25 11:05 ` Mallesh Koujalagi
  2026-08-25 11:24   ` sashiko-bot
  2026-08-25 11:05 ` [PATCH v5 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set() Mallesh Koujalagi
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

Make sysctrl_wait_bit_clear() return an error code rather than a bool
and update callers to use xe_log_err() with the propagated error code.

Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
v5:
- Fix align issue. (Michal)
---
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 28 ++++++++++++-------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
index e13eebaac1d0..f97dec375efe 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
+++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
@@ -11,6 +11,7 @@
 
 #include "regs/xe_sysctrl_regs.h"
 #include "xe_device.h"
+#include "xe_log.h"
 #include "xe_mmio.h"
 #include "xe_pm.h"
 #include "xe_printk.h"
@@ -34,15 +35,11 @@ struct xe_sysctrl_mailbox_msg_hdr {
 #define XE_SYSCTRL_HDR_RESULT(hdr) \
 	FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
 
-static bool sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask,
-				   unsigned int timeout_ms)
+static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask,
+				  unsigned int timeout_ms)
 {
-	int ret;
-
-	ret = xe_mmio_wait32_not(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask,
-				 timeout_ms * 1000, NULL, false);
-
-	return ret == 0;
+	return xe_mmio_wait32_not(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask,
+				  timeout_ms * 1000, NULL, false);
 }
 
 static bool sysctrl_wait_bit_set(struct xe_sysctrl *sc, u32 bit_mask,
@@ -145,12 +142,14 @@ static int sysctrl_send_frames(struct xe_sysctrl *sc,
 	struct xe_device *xe = sc_to_xe(sc);
 	u32 ctrl_reg, total_frames, frame;
 	size_t bytes_sent, frame_size;
+	int ret;
 
 	total_frames = DIV_ROUND_UP(cmd_size, XE_SYSCTRL_MB_FRAME_SIZE);
 
-	if (!sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms)) {
-		xe_err(xe, "sysctrl: Mailbox busy\n");
-		return -EBUSY;
+	ret = sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms);
+	if (ret) {
+		xe_log_err(xe, SYSCTRL, ret, "Mailbox busy\n");
+		return ret;
 	}
 
 	sc->phase_bit ^= 1;
@@ -173,10 +172,11 @@ static int sysctrl_send_frames(struct xe_sysctrl *sc,
 
 		xe_mmio_write32(sc->mmio, SYSCTRL_MB_CTRL, ctrl_reg);
 
-		if (!sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms)) {
-			xe_err(xe, "sysctrl: Frame %u acknowledgment timeout\n", frame);
+		ret = sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms);
+		if (ret) {
+			xe_log_err(xe, SYSCTRL, ret, "Frame %u acknowledgment timeout\n", frame);
 			sc->phase_bit = 0;
-			return -ETIMEDOUT;
+			return ret;
 		}
 
 		bytes_sent += frame_size;
-- 
2.48.1


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

* [PATCH v5 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set()
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
  2026-08-25 11:05 ` [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear() Mallesh Koujalagi
@ 2026-08-25 11:05 ` Mallesh Koujalagi
  2026-08-25 11:24   ` sashiko-bot
  2026-08-25 11:05 ` [PATCH v5 3/7] drm/xe/sysctrl: Make sysctrl_write_frame() void Mallesh Koujalagi
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

Make sysctrl_wait_bit_set() return an error code rather than a bool
and update callers to use xe_log_err() with the propagated error code.

Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
v5:
- Fix align issue. (Michal)
---
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
index f97dec375efe..b5412ca42bb8 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
+++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
@@ -42,15 +42,11 @@ static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask,
 				  timeout_ms * 1000, NULL, false);
 }
 
-static bool sysctrl_wait_bit_set(struct xe_sysctrl *sc, u32 bit_mask,
-				 unsigned int timeout_ms)
+static int sysctrl_wait_bit_set(struct xe_sysctrl *sc, u32 bit_mask,
+				unsigned int timeout_ms)
 {
-	int ret;
-
-	ret = xe_mmio_wait32(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask,
-			     timeout_ms * 1000, NULL, false);
-
-	return ret == 0;
+	return xe_mmio_wait32(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask,
+			      timeout_ms * 1000, NULL, false);
 }
 
 static int sysctrl_write_frame(struct xe_sysctrl *sc, const void *frame,
@@ -193,9 +189,10 @@ static int sysctrl_process_frame(struct xe_sysctrl *sc, void *out,
 	struct xe_device *xe = sc_to_xe(sc);
 	int ret;
 
-	if (!sysctrl_wait_bit_set(sc, SYSCTRL_MB_CTRL_RUN_BUSY_OUT, timeout_ms)) {
-		xe_err(xe, "sysctrl: Response frame timeout\n");
-		return -ETIMEDOUT;
+	ret = sysctrl_wait_bit_set(sc, SYSCTRL_MB_CTRL_RUN_BUSY_OUT, timeout_ms);
+	if (ret) {
+		xe_log_err(xe, SYSCTRL, ret, "Response frame timeout\n");
+		return ret;
 	}
 
 	ctrl_reg = xe_mmio_read32(sc->mmio, SYSCTRL_MB_CTRL);
-- 
2.48.1


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

* [PATCH v5 3/7] drm/xe/sysctrl: Make sysctrl_write_frame() void
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
  2026-08-25 11:05 ` [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear() Mallesh Koujalagi
  2026-08-25 11:05 ` [PATCH v5 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set() Mallesh Koujalagi
@ 2026-08-25 11:05 ` Mallesh Koujalagi
  2026-08-25 11:05 ` [PATCH v5 4/7] drm/xe/sysctrl: Use xe_assert() for payload size validation Mallesh Koujalagi
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

The function always returned 0, so the int return type is misleading.
Convert to void and drop the error handling in the caller.

Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
index b5412ca42bb8..81a88da2bbfb 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
+++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
@@ -49,8 +49,8 @@ static int sysctrl_wait_bit_set(struct xe_sysctrl *sc, u32 bit_mask,
 			      timeout_ms * 1000, NULL, false);
 }
 
-static int sysctrl_write_frame(struct xe_sysctrl *sc, const void *frame,
-			       size_t len)
+static void sysctrl_write_frame(struct xe_sysctrl *sc, const void *frame,
+				size_t len)
 {
 	static const struct xe_reg regs[] = {
 		SYSCTRL_MB_DATA0, SYSCTRL_MB_DATA1, SYSCTRL_MB_DATA2, SYSCTRL_MB_DATA3
@@ -66,8 +66,6 @@ static int sysctrl_write_frame(struct xe_sysctrl *sc, const void *frame,
 
 	for (i = 0; i < dw; i++)
 		xe_mmio_write32(sc->mmio, regs[i], val[i]);
-
-	return 0;
 }
 
 static int sysctrl_read_frame(struct xe_sysctrl *sc, void *frame,
@@ -154,11 +152,7 @@ static int sysctrl_send_frames(struct xe_sysctrl *sc,
 	for (frame = 0; frame < total_frames; frame++) {
 		frame_size = min_t(size_t, cmd_size - bytes_sent, XE_SYSCTRL_MB_FRAME_SIZE);
 
-		if (sysctrl_write_frame(sc, mbox_cmd + bytes_sent, frame_size)) {
-			xe_err(xe, "sysctrl: Failed to write frame %u\n", frame);
-			sc->phase_bit = 0;
-			return -EIO;
-		}
+		sysctrl_write_frame(sc, mbox_cmd + bytes_sent, frame_size);
 
 		ctrl_reg = SYSCTRL_MB_CTRL_RUN_BUSY |
 			   REG_FIELD_PREP(SYSCTRL_FRAME_CURRENT_MASK, frame) |
-- 
2.48.1


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

* [PATCH v5 4/7] drm/xe/sysctrl: Use xe_assert() for payload size validation
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
                   ` (2 preceding siblings ...)
  2026-08-25 11:05 ` [PATCH v5 3/7] drm/xe/sysctrl: Make sysctrl_write_frame() void Mallesh Koujalagi
@ 2026-08-25 11:05 ` Mallesh Koujalagi
  2026-08-25 11:05 ` [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging Mallesh Koujalagi
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

Replace the runtime payload length check with xe_assert(),
as oversized messages should never reach code path.

Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
index 81a88da2bbfb..f8b518dcafa2 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
+++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
@@ -105,10 +105,7 @@ static int sysctrl_prepare_command(struct xe_device *xe,
 
 	xe_assert(xe, command <= SYSCTRL_HDR_COMMAND_MAX);
 
-	if (data_in_len > XE_SYSCTRL_MB_MAX_MESSAGE_SIZE - sizeof(*hdr)) {
-		xe_err(xe, "sysctrl: Input data too large: %zu bytes\n", data_in_len);
-		return -EINVAL;
-	}
+	xe_assert(xe, data_in_len <= XE_SYSCTRL_MB_MAX_MESSAGE_SIZE - sizeof(*hdr));
 
 	size = sizeof(*hdr) + data_in_len;
 
-- 
2.48.1


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

* [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
                   ` (3 preceding siblings ...)
  2026-08-25 11:05 ` [PATCH v5 4/7] drm/xe/sysctrl: Use xe_assert() for payload size validation Mallesh Koujalagi
@ 2026-08-25 11:05 ` Mallesh Koujalagi
  2026-08-25 11:22   ` sashiko-bot
  2026-08-27 10:57   ` Michal Wajdeczko
  2026-08-25 11:05 ` [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure Mallesh Koujalagi
                   ` (4 subsequent siblings)
  9 siblings, 2 replies; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

Use xe_log_err() helper and include additional details when a
response header mismatch occurs.

Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
---
v5:
- Use %#x after REG_FIELD_GET change. (Michal)
---
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
index f8b518dcafa2..5032d766b314 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
+++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
@@ -24,16 +24,16 @@ struct xe_sysctrl_mailbox_msg_hdr {
 } __packed;
 
 #define XE_SYSCTRL_HDR_GROUP_ID(hdr) \
-	FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
+	REG_FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
 
 #define XE_SYSCTRL_HDR_COMMAND(hdr) \
-	FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
+	REG_FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
 
 #define XE_SYSCTRL_HDR_IS_RESPONSE(hdr) \
-	FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
+	REG_FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
 
 #define XE_SYSCTRL_HDR_RESULT(hdr) \
-	FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
+	REG_FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
 
 static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask,
 				  unsigned int timeout_ms)
@@ -237,13 +237,17 @@ static int sysctrl_receive_frames(struct xe_sysctrl *sc,
 	if (!XE_SYSCTRL_HDR_IS_RESPONSE(hdr) ||
 	    XE_SYSCTRL_HDR_GROUP_ID(hdr) != XE_SYSCTRL_HDR_GROUP_ID(req) ||
 	    XE_SYSCTRL_HDR_COMMAND(hdr) != XE_SYSCTRL_HDR_COMMAND(req)) {
-		xe_err(xe, "sysctrl: Response header mismatch\n");
+		xe_log_err(xe, SYSCTRL, -EPROTO,
+			   "Response header mismatch: got group=%#x cmd=%#x is_resp=%u, expected group=%#x cmd=%#x\n",
+			   XE_SYSCTRL_HDR_GROUP_ID(hdr), XE_SYSCTRL_HDR_COMMAND(hdr),
+			   XE_SYSCTRL_HDR_IS_RESPONSE(hdr),
+			   XE_SYSCTRL_HDR_GROUP_ID(req), XE_SYSCTRL_HDR_COMMAND(req));
 		return -EPROTO;
 	}
 
 	if (XE_SYSCTRL_HDR_RESULT(hdr) != 0) {
-		xe_err(xe, "sysctrl: Firmware error: 0x%02lx\n",
-		       XE_SYSCTRL_HDR_RESULT(hdr));
+		xe_log_err(xe, SYSCTRL, -EIO, "Firmware error: %#04x\n",
+			   XE_SYSCTRL_HDR_RESULT(hdr));
 		return -EIO;
 	}
 
-- 
2.48.1


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

* [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
                   ` (4 preceding siblings ...)
  2026-08-25 11:05 ` [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging Mallesh Koujalagi
@ 2026-08-25 11:05 ` Mallesh Koujalagi
  2026-08-25 11:21   ` sashiko-bot
  2026-08-27 11:01   ` Michal Wajdeczko
  2026-08-25 11:05 ` [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID Mallesh Koujalagi
                   ` (3 subsequent siblings)
  9 siblings, 2 replies; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

Include the mailbox group ID and command code in error logs
for command preparation and execution failures.

Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
---
v5:
- Use REG_FIELD_GET instead of FIELD_GET. (Michal)
- Modify logging message.
---
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 6 ++++--
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.h | 6 +++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
index 5032d766b314..f55f72fce994 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
+++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
@@ -373,7 +373,8 @@ int xe_sysctrl_send_command(struct xe_sysctrl *sc,
 				      cmd->data_in, cmd->data_in_len,
 				      &mbox_cmd, &cmd_size);
 	if (ret) {
-		xe_err(xe, "sysctrl: Failed to prepare command: %pe\n", ERR_PTR(ret));
+		xe_log_err(xe, SYSCTRL, ret, "Failed to prepare command %#x.%#x\n",
+			   group_id, command_code);
 		return ret;
 	}
 
@@ -383,7 +384,8 @@ int xe_sysctrl_send_command(struct xe_sysctrl *sc,
 				   cmd->data_out, cmd->data_out_len, rdata_len,
 				   XE_SYSCTRL_MB_DEFAULT_TIMEOUT_MS);
 	if (ret)
-		xe_err(xe, "sysctrl: Mailbox command failed: %pe\n", ERR_PTR(ret));
+		xe_log_err(xe, SYSCTRL, ret, "Mailbox command %#x.%#x error\n",
+			   group_id, command_code);
 
 	kfree(mbox_cmd);
 
diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
index fb434cc165b2..df7dfe3b39e2 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
+++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
@@ -15,13 +15,13 @@ struct xe_sysctrl;
 struct xe_sysctrl_mailbox_command;
 
 #define XE_SYSCTRL_APP_HDR_GROUP_ID(hdr) \
-	FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data)
+	REG_FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data)
 
 #define XE_SYSCTRL_APP_HDR_COMMAND(hdr) \
-	FIELD_GET(APP_HDR_COMMAND_MASK, (hdr)->data)
+	REG_FIELD_GET(APP_HDR_COMMAND_MASK, (hdr)->data)
 
 #define XE_SYSCTRL_APP_HDR_VERSION(hdr) \
-	FIELD_GET(APP_HDR_VERSION_MASK, (hdr)->data)
+	REG_FIELD_GET(APP_HDR_VERSION_MASK, (hdr)->data)
 
 void xe_sysctrl_create_command(struct xe_sysctrl_mailbox_command *command, u8 group_id, u8 cmd_id,
 			       void *request, size_t request_len, void *response,
-- 
2.48.1


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

* [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
                   ` (5 preceding siblings ...)
  2026-08-25 11:05 ` [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure Mallesh Koujalagi
@ 2026-08-25 11:05 ` Mallesh Koujalagi
  2026-08-25 11:18   ` sashiko-bot
  2026-08-27 11:06   ` Michal Wajdeczko
  2026-08-25 11:13 ` ✓ CI.KUnit: success for drm/xe/sysctrl: Clean up error handling in (rev2) Patchwork
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 21+ messages in thread
From: Mallesh Koujalagi @ 2026-08-25 11:05 UTC (permalink / raw)
  To: intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, michal.wajdeczko,
	aravind.iddamsetty, umesh.nerlige.ramappa, dnyaneshwar.bhadane,
	anoop.c.vijay, Mallesh Koujalagi

Report 'System Controller event' error using xe_log() helpers.

Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
---
v5:
- Change Error as EXFULL. (Michal)
- Update logging message.
---
 drivers/gpu/drm/xe/xe_sysctrl_event.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sysctrl_event.c b/drivers/gpu/drm/xe/xe_sysctrl_event.c
index da395148ee9d..7a3aa0aad6a3 100644
--- a/drivers/gpu/drm/xe/xe_sysctrl_event.c
+++ b/drivers/gpu/drm/xe/xe_sysctrl_event.c
@@ -5,6 +5,7 @@
 
 #include "xe_device.h"
 #include "xe_irq.h"
+#include "xe_log.h"
 #include "xe_printk.h"
 #include "xe_ras.h"
 #include "xe_sysctrl.h"
@@ -25,23 +26,26 @@ static void get_pending_event(struct xe_sysctrl *sc, struct xe_sysctrl_mailbox_c
 
 		ret = xe_sysctrl_send_command(sc, command, &len);
 		if (ret) {
-			xe_err(xe, "sysctrl: failed to get pending event %d\n", ret);
+			xe_log_err(xe, SYSCTRL, ret, "Failed to get pending event\n");
 			return;
 		}
 
 		if (len != sizeof(*response)) {
-			xe_err(xe, "sysctrl: unexpected event response length %zu (expected %zu)\n",
-			       len, sizeof(*response));
+			xe_log_err(xe, SYSCTRL, -EMSGSIZE,
+				   "Unexpected event response length %zu (expected %zu)\n",
+				   len, sizeof(*response));
 			return;
 		}
 
 		if (response->event == XE_SYSCTRL_EVENT_THRESHOLD_CROSSED)
 			xe_ras_counter_threshold_crossed(xe, response);
 		else
-			xe_warn(xe, "sysctrl: unexpected event %#x\n", response->event);
+			xe_log_err_info(xe, SYSCTRL, -EPROTO,
+					"Unexpected event %#x\n", response->event);
 
 		if (!--count) {
-			xe_err(xe, "sysctrl: event flooding\n");
+			xe_log_err(xe, SYSCTRL, -EXFULL,
+				   "Ignored %u events due to flooding\n", response->count);
 			return;
 		}
 
-- 
2.48.1


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

* ✓ CI.KUnit: success for drm/xe/sysctrl: Clean up error handling in (rev2)
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
                   ` (6 preceding siblings ...)
  2026-08-25 11:05 ` [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID Mallesh Koujalagi
@ 2026-08-25 11:13 ` Patchwork
  2026-08-25 11:50 ` ✓ Xe.CI.BAT: " Patchwork
  2026-08-25 16:29 ` ✗ Xe.CI.FULL: failure " Patchwork
  9 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2026-08-25 11:13 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

== Series Details ==

Series: drm/xe/sysctrl: Clean up error handling in (rev2)
URL   : https://patchwork.freedesktop.org/series/172513/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[11:12:15] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:12:19] 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
[11:12:52] Starting KUnit Kernel (1/1)...
[11:12:52] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[11:12:52] ================== guc_buf (11 subtests) ===================
[11:12:52] [PASSED] test_smallest
[11:12:52] [PASSED] test_largest
[11:12:52] [PASSED] test_granular
[11:12:52] [PASSED] test_unique
[11:12:52] [PASSED] test_overlap
[11:12:52] [PASSED] test_reusable
[11:12:52] [PASSED] test_too_big
[11:12:52] [PASSED] test_flush
[11:12:52] [PASSED] test_lookup
[11:12:52] [PASSED] test_data
[11:12:52] [PASSED] test_class
[11:12:52] ===================== [PASSED] guc_buf =====================
[11:12:52] =================== guc_dbm (7 subtests) ===================
[11:12:52] [PASSED] test_empty
[11:12:52] [PASSED] test_default
[11:12:52] ======================== test_size  ========================
[11:12:52] [PASSED] 4
[11:12:52] [PASSED] 8
[11:12:52] [PASSED] 32
[11:12:52] [PASSED] 256
[11:12:52] ==================== [PASSED] test_size ====================
[11:12:52] ======================= test_reuse  ========================
[11:12:52] [PASSED] 4
[11:12:52] [PASSED] 8
[11:12:52] [PASSED] 32
[11:12:52] [PASSED] 256
[11:12:52] =================== [PASSED] test_reuse ====================
[11:12:52] =================== test_range_overlap  ====================
[11:12:52] [PASSED] 4
[11:12:52] [PASSED] 8
[11:12:52] [PASSED] 32
[11:12:52] [PASSED] 256
[11:12:52] =============== [PASSED] test_range_overlap ================
[11:12:52] =================== test_range_compact  ====================
[11:12:52] [PASSED] 4
[11:12:52] [PASSED] 8
[11:12:52] [PASSED] 32
[11:12:52] [PASSED] 256
[11:12:52] =============== [PASSED] test_range_compact ================
[11:12:52] ==================== test_range_spare  =====================
[11:12:52] [PASSED] 4
[11:12:52] [PASSED] 8
[11:12:52] [PASSED] 32
[11:12:52] [PASSED] 256
[11:12:52] ================ [PASSED] test_range_spare =================
[11:12:52] ===================== [PASSED] guc_dbm =====================
[11:12:52] =================== guc_idm (6 subtests) ===================
[11:12:52] [PASSED] bad_init
[11:12:52] [PASSED] no_init
[11:12:52] [PASSED] init_fini
[11:12:52] [PASSED] check_used
[11:12:52] [PASSED] check_quota
[11:12:52] [PASSED] check_all
[11:12:52] ===================== [PASSED] guc_idm =====================
[11:12:52] =============== guc_klv_helpers (9 subtests) ===============
[11:12:52] [PASSED] test_count
[11:12:52] [PASSED] test_encode_u32
[11:12:52] [PASSED] test_encode_u64
[11:12:52] [PASSED] test_encode_string
[11:12:52] [PASSED] test_encode_object_raw
[11:12:52] [PASSED] test_encode_object_klv
[11:12:52] [PASSED] test_encode_object_nested
[11:12:52] [PASSED] test_encode_object_basic
[11:12:52] [PASSED] test_print
[11:12:52] ================= [PASSED] guc_klv_helpers =================
[11:12:52] =================== xe_log (4 subtests) ====================
[11:12:52] [PASSED] demo_cper
[11:12:52] [PASSED] demo_dmesg
[11:12:52] ======================= test_dmesg  ========================
[11:12:52] [PASSED] test_fatal
[11:12:52] [PASSED] test_fatal_tile
[11:12:52] [PASSED] test_fatal_gt
[11:12:52] [PASSED] test_fatal_comp
[11:12:52] [PASSED] test_fatal_comp_tile
[11:12:52] [PASSED] test_fatal_comp_gt
[11:12:52] [PASSED] test_fatal_all
[11:12:52] [PASSED] test_recoverable
[11:12:52] [PASSED] test_recoverable_tile
[11:12:52] [PASSED] test_recoverable_gt
[11:12:52] [PASSED] test_recoverable_comp
[11:12:52] [PASSED] test_recoverable_comp_tile
[11:12:52] [PASSED] test_recoverable_comp_gt
[11:12:52] [PASSED] test_recoverable_all
[11:12:52] [PASSED] test_info
[11:12:52] [PASSED] test_info_tile
[11:12:52] [PASSED] test_info_gt
[11:12:52] [PASSED] test_info_err
[11:12:52] [PASSED] test_info_comp
[11:12:52] [PASSED] test_info_comp_tile
[11:12:52] [PASSED] test_info_comp_gt
[11:12:52] [PASSED] test_info_all
[11:12:52] [PASSED] test_hw_fatal
[11:12:52] [PASSED] test_hw_recoverable
[11:12:52] [PASSED] test_hw_corrected
[11:12:52] [PASSED] test_hw_informational
[11:12:52] =================== [PASSED] test_dmesg ====================
[11:12:52] ====================== test_invalid  =======================
[11:12:52] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[11:12:52] ================== [SKIPPED] test_invalid ==================
[11:12:52] ===================== [PASSED] xe_log ======================
[11:12:52] ================== no_relay (3 subtests) ===================
[11:12:52] [PASSED] xe_drops_guc2pf_if_not_ready
[11:12:52] [PASSED] xe_drops_guc2vf_if_not_ready
[11:12:52] [PASSED] xe_rejects_send_if_not_ready
[11:12:52] ==================== [PASSED] no_relay =====================
[11:12:52] ================== pf_relay (14 subtests) ==================
[11:12:52] [PASSED] pf_rejects_guc2pf_too_short
[11:12:52] [PASSED] pf_rejects_guc2pf_too_long
[11:12:52] [PASSED] pf_rejects_guc2pf_no_payload
[11:12:52] [PASSED] pf_fails_no_payload
[11:12:52] [PASSED] pf_fails_bad_origin
[11:12:52] [PASSED] pf_fails_bad_type
[11:12:52] [PASSED] pf_txn_reports_error
[11:12:52] [PASSED] pf_txn_sends_pf2guc
[11:12:52] [PASSED] pf_sends_pf2guc
[11:12:52] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[11:12:52] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[11:12:52] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[11:12:52] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[11:12:52] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[11:12:52] ==================== [PASSED] pf_relay =====================
[11:12:52] ================== vf_relay (3 subtests) ===================
[11:12:52] [PASSED] vf_rejects_guc2vf_too_short
[11:12:52] [PASSED] vf_rejects_guc2vf_too_long
[11:12:52] [PASSED] vf_rejects_guc2vf_no_payload
[11:12:52] ==================== [PASSED] vf_relay =====================
[11:12:52] ================ pf_gt_config (9 subtests) =================
[11:12:52] [PASSED] fair_contexts_1vf
[11:12:52] [PASSED] fair_doorbells_1vf
[11:12:52] [PASSED] fair_ggtt_1vf
[11:12:52] ====================== fair_vram_1vf  ======================
[11:12:52] [PASSED] 3.50 GiB
[11:12:52] [PASSED] 11.5 GiB
[11:12:52] [PASSED] 15.5 GiB
[11:12:52] [PASSED] 31.5 GiB
[11:12:52] [PASSED] 63.5 GiB
[11:12:52] [PASSED] 1.91 GiB
[11:12:52] ================== [PASSED] fair_vram_1vf ==================
[11:12:52] ================ fair_vram_1vf_admin_only  =================
[11:12:52] [PASSED] 3.50 GiB
[11:12:52] [PASSED] 11.5 GiB
[11:12:52] [PASSED] 15.5 GiB
[11:12:52] [PASSED] 31.5 GiB
[11:12:52] [PASSED] 63.5 GiB
[11:12:52] [PASSED] 1.91 GiB
[11:12:52] ============ [PASSED] fair_vram_1vf_admin_only =============
[11:12:52] ====================== fair_contexts  ======================
[11:12:52] [PASSED] 1 VF
[11:12:52] [PASSED] 2 VFs
[11:12:52] [PASSED] 3 VFs
[11:12:52] [PASSED] 4 VFs
[11:12:52] [PASSED] 5 VFs
[11:12:52] [PASSED] 6 VFs
[11:12:52] [PASSED] 7 VFs
[11:12:52] [PASSED] 8 VFs
[11:12:52] [PASSED] 9 VFs
[11:12:52] [PASSED] 10 VFs
[11:12:52] [PASSED] 11 VFs
[11:12:52] [PASSED] 12 VFs
[11:12:52] [PASSED] 13 VFs
[11:12:52] [PASSED] 14 VFs
[11:12:52] [PASSED] 15 VFs
[11:12:52] [PASSED] 16 VFs
[11:12:52] [PASSED] 17 VFs
[11:12:52] [PASSED] 18 VFs
[11:12:52] [PASSED] 19 VFs
[11:12:52] [PASSED] 20 VFs
[11:12:52] [PASSED] 21 VFs
[11:12:52] [PASSED] 22 VFs
[11:12:52] [PASSED] 23 VFs
[11:12:52] [PASSED] 24 VFs
[11:12:52] [PASSED] 25 VFs
[11:12:52] [PASSED] 26 VFs
[11:12:52] [PASSED] 27 VFs
[11:12:52] [PASSED] 28 VFs
[11:12:52] [PASSED] 29 VFs
[11:12:52] [PASSED] 30 VFs
[11:12:52] [PASSED] 31 VFs
[11:12:52] [PASSED] 32 VFs
[11:12:52] [PASSED] 33 VFs
[11:12:52] [PASSED] 34 VFs
[11:12:52] [PASSED] 35 VFs
[11:12:52] [PASSED] 36 VFs
[11:12:52] [PASSED] 37 VFs
[11:12:52] [PASSED] 38 VFs
[11:12:52] [PASSED] 39 VFs
[11:12:52] [PASSED] 40 VFs
[11:12:52] [PASSED] 41 VFs
[11:12:52] [PASSED] 42 VFs
[11:12:52] [PASSED] 43 VFs
[11:12:52] [PASSED] 44 VFs
[11:12:52] [PASSED] 45 VFs
[11:12:52] [PASSED] 46 VFs
[11:12:52] [PASSED] 47 VFs
[11:12:52] [PASSED] 48 VFs
[11:12:52] [PASSED] 49 VFs
[11:12:52] [PASSED] 50 VFs
[11:12:52] [PASSED] 51 VFs
[11:12:52] [PASSED] 52 VFs
[11:12:52] [PASSED] 53 VFs
[11:12:52] [PASSED] 54 VFs
[11:12:52] [PASSED] 55 VFs
[11:12:52] [PASSED] 56 VFs
[11:12:52] [PASSED] 57 VFs
[11:12:52] [PASSED] 58 VFs
[11:12:52] [PASSED] 59 VFs
[11:12:52] [PASSED] 60 VFs
[11:12:52] [PASSED] 61 VFs
[11:12:52] [PASSED] 62 VFs
[11:12:52] [PASSED] 63 VFs
[11:12:52] ================== [PASSED] fair_contexts ==================
[11:12:52] ===================== fair_doorbells  ======================
[11:12:52] [PASSED] 1 VF
[11:12:52] [PASSED] 2 VFs
[11:12:52] [PASSED] 3 VFs
[11:12:52] [PASSED] 4 VFs
[11:12:52] [PASSED] 5 VFs
[11:12:52] [PASSED] 6 VFs
[11:12:52] [PASSED] 7 VFs
[11:12:52] [PASSED] 8 VFs
[11:12:52] [PASSED] 9 VFs
[11:12:52] [PASSED] 10 VFs
[11:12:52] [PASSED] 11 VFs
[11:12:52] [PASSED] 12 VFs
[11:12:52] [PASSED] 13 VFs
[11:12:52] [PASSED] 14 VFs
[11:12:52] [PASSED] 15 VFs
[11:12:52] [PASSED] 16 VFs
[11:12:52] [PASSED] 17 VFs
[11:12:52] [PASSED] 18 VFs
[11:12:52] [PASSED] 19 VFs
[11:12:52] [PASSED] 20 VFs
[11:12:52] [PASSED] 21 VFs
[11:12:52] [PASSED] 22 VFs
[11:12:52] [PASSED] 23 VFs
[11:12:52] [PASSED] 24 VFs
[11:12:52] [PASSED] 25 VFs
[11:12:52] [PASSED] 26 VFs
[11:12:52] [PASSED] 27 VFs
[11:12:52] [PASSED] 28 VFs
[11:12:52] [PASSED] 29 VFs
[11:12:52] [PASSED] 30 VFs
[11:12:52] [PASSED] 31 VFs
[11:12:52] [PASSED] 32 VFs
[11:12:52] [PASSED] 33 VFs
[11:12:52] [PASSED] 34 VFs
[11:12:52] [PASSED] 35 VFs
[11:12:52] [PASSED] 36 VFs
[11:12:52] [PASSED] 37 VFs
[11:12:52] [PASSED] 38 VFs
[11:12:52] [PASSED] 39 VFs
[11:12:52] [PASSED] 40 VFs
[11:12:52] [PASSED] 41 VFs
[11:12:52] [PASSED] 42 VFs
[11:12:52] [PASSED] 43 VFs
[11:12:52] [PASSED] 44 VFs
[11:12:52] [PASSED] 45 VFs
[11:12:52] [PASSED] 46 VFs
[11:12:52] [PASSED] 47 VFs
[11:12:52] [PASSED] 48 VFs
[11:12:52] [PASSED] 49 VFs
[11:12:52] [PASSED] 50 VFs
[11:12:52] [PASSED] 51 VFs
[11:12:52] [PASSED] 52 VFs
[11:12:52] [PASSED] 53 VFs
[11:12:52] [PASSED] 54 VFs
[11:12:52] [PASSED] 55 VFs
[11:12:52] [PASSED] 56 VFs
[11:12:52] [PASSED] 57 VFs
[11:12:52] [PASSED] 58 VFs
[11:12:52] [PASSED] 59 VFs
[11:12:53] [PASSED] 60 VFs
[11:12:53] [PASSED] 61 VFs
[11:12:53] [PASSED] 62 VFs
[11:12:53] [PASSED] 63 VFs
[11:12:53] ================= [PASSED] fair_doorbells ==================
[11:12:53] ======================== fair_ggtt  ========================
[11:12:53] [PASSED] 1 VF
[11:12:53] [PASSED] 2 VFs
[11:12:53] [PASSED] 3 VFs
[11:12:53] [PASSED] 4 VFs
[11:12:53] [PASSED] 5 VFs
[11:12:53] [PASSED] 6 VFs
[11:12:53] [PASSED] 7 VFs
[11:12:53] [PASSED] 8 VFs
[11:12:53] [PASSED] 9 VFs
[11:12:53] [PASSED] 10 VFs
[11:12:53] [PASSED] 11 VFs
[11:12:53] [PASSED] 12 VFs
[11:12:53] [PASSED] 13 VFs
[11:12:53] [PASSED] 14 VFs
[11:12:53] [PASSED] 15 VFs
[11:12:53] [PASSED] 16 VFs
[11:12:53] [PASSED] 17 VFs
[11:12:53] [PASSED] 18 VFs
[11:12:53] [PASSED] 19 VFs
[11:12:53] [PASSED] 20 VFs
[11:12:53] [PASSED] 21 VFs
[11:12:53] [PASSED] 22 VFs
[11:12:53] [PASSED] 23 VFs
[11:12:53] [PASSED] 24 VFs
[11:12:53] [PASSED] 25 VFs
[11:12:53] [PASSED] 26 VFs
[11:12:53] [PASSED] 27 VFs
[11:12:53] [PASSED] 28 VFs
[11:12:53] [PASSED] 29 VFs
[11:12:53] [PASSED] 30 VFs
[11:12:53] [PASSED] 31 VFs
[11:12:53] [PASSED] 32 VFs
[11:12:53] [PASSED] 33 VFs
[11:12:53] [PASSED] 34 VFs
[11:12:53] [PASSED] 35 VFs
[11:12:53] [PASSED] 36 VFs
[11:12:53] [PASSED] 37 VFs
[11:12:53] [PASSED] 38 VFs
[11:12:53] [PASSED] 39 VFs
[11:12:53] [PASSED] 40 VFs
[11:12:53] [PASSED] 41 VFs
[11:12:53] [PASSED] 42 VFs
[11:12:53] [PASSED] 43 VFs
[11:12:53] [PASSED] 44 VFs
[11:12:53] [PASSED] 45 VFs
[11:12:53] [PASSED] 46 VFs
[11:12:53] [PASSED] 47 VFs
[11:12:53] [PASSED] 48 VFs
[11:12:53] [PASSED] 49 VFs
[11:12:53] [PASSED] 50 VFs
[11:12:53] [PASSED] 51 VFs
[11:12:53] [PASSED] 52 VFs
[11:12:53] [PASSED] 53 VFs
[11:12:53] [PASSED] 54 VFs
[11:12:53] [PASSED] 55 VFs
[11:12:53] [PASSED] 56 VFs
[11:12:53] [PASSED] 57 VFs
[11:12:53] [PASSED] 58 VFs
[11:12:53] [PASSED] 59 VFs
[11:12:53] [PASSED] 60 VFs
[11:12:53] [PASSED] 61 VFs
[11:12:53] [PASSED] 62 VFs
[11:12:53] [PASSED] 63 VFs
[11:12:53] ==================== [PASSED] fair_ggtt ====================
[11:12:53] ======================== fair_vram  ========================
[11:12:53] [PASSED] 1 VF
[11:12:53] [PASSED] 2 VFs
[11:12:53] [PASSED] 3 VFs
[11:12:53] [PASSED] 4 VFs
[11:12:53] [PASSED] 5 VFs
[11:12:53] [PASSED] 6 VFs
[11:12:53] [PASSED] 7 VFs
[11:12:53] [PASSED] 8 VFs
[11:12:53] [PASSED] 9 VFs
[11:12:53] [PASSED] 10 VFs
[11:12:53] [PASSED] 11 VFs
[11:12:53] [PASSED] 12 VFs
[11:12:53] [PASSED] 13 VFs
[11:12:53] [PASSED] 14 VFs
[11:12:53] [PASSED] 15 VFs
[11:12:53] [PASSED] 16 VFs
[11:12:53] [PASSED] 17 VFs
[11:12:53] [PASSED] 18 VFs
[11:12:53] [PASSED] 19 VFs
[11:12:53] [PASSED] 20 VFs
[11:12:53] [PASSED] 21 VFs
[11:12:53] [PASSED] 22 VFs
[11:12:53] [PASSED] 23 VFs
[11:12:53] [PASSED] 24 VFs
[11:12:53] [PASSED] 25 VFs
[11:12:53] [PASSED] 26 VFs
[11:12:53] [PASSED] 27 VFs
[11:12:53] [PASSED] 28 VFs
[11:12:53] [PASSED] 29 VFs
[11:12:53] [PASSED] 30 VFs
[11:12:53] [PASSED] 31 VFs
[11:12:53] [PASSED] 32 VFs
[11:12:53] [PASSED] 33 VFs
[11:12:53] [PASSED] 34 VFs
[11:12:53] [PASSED] 35 VFs
[11:12:53] [PASSED] 36 VFs
[11:12:53] [PASSED] 37 VFs
[11:12:53] [PASSED] 38 VFs
[11:12:53] [PASSED] 39 VFs
[11:12:53] [PASSED] 40 VFs
[11:12:53] [PASSED] 41 VFs
[11:12:53] [PASSED] 42 VFs
[11:12:53] [PASSED] 43 VFs
[11:12:53] [PASSED] 44 VFs
[11:12:53] [PASSED] 45 VFs
[11:12:53] [PASSED] 46 VFs
[11:12:53] [PASSED] 47 VFs
[11:12:53] [PASSED] 48 VFs
[11:12:53] [PASSED] 49 VFs
[11:12:53] [PASSED] 50 VFs
[11:12:53] [PASSED] 51 VFs
[11:12:53] [PASSED] 52 VFs
[11:12:53] [PASSED] 53 VFs
[11:12:53] [PASSED] 54 VFs
[11:12:53] [PASSED] 55 VFs
[11:12:53] [PASSED] 56 VFs
[11:12:53] [PASSED] 57 VFs
[11:12:53] [PASSED] 58 VFs
[11:12:53] [PASSED] 59 VFs
[11:12:53] [PASSED] 60 VFs
[11:12:53] [PASSED] 61 VFs
[11:12:53] [PASSED] 62 VFs
[11:12:53] [PASSED] 63 VFs
[11:12:53] ==================== [PASSED] fair_vram ====================
[11:12:53] ================== [PASSED] pf_gt_config ===================
[11:12:53] ===================== lmtt (1 subtest) =====================
[11:12:53] ======================== test_ops  =========================
[11:12:53] [PASSED] 2-level
[11:12:53] [PASSED] multi-level
[11:12:53] ==================== [PASSED] test_ops =====================
[11:12:53] ====================== [PASSED] lmtt =======================
[11:12:53] ================= sriov_packet (1 subtest) =================
[11:12:53] [PASSED] test_descriptor_init
[11:12:53] ================== [PASSED] sriov_packet ===================
[11:12:53] ================= pf_service (11 subtests) =================
[11:12:53] [PASSED] pf_negotiate_any
[11:12:53] [PASSED] pf_negotiate_base_match
[11:12:53] [PASSED] pf_negotiate_base_newer
[11:12:53] [PASSED] pf_negotiate_base_next
[11:12:53] [SKIPPED] pf_negotiate_base_older (no older minor)
[11:12:53] [PASSED] pf_negotiate_base_prev
[11:12:53] [PASSED] pf_negotiate_latest_match
[11:12:53] [PASSED] pf_negotiate_latest_newer
[11:12:53] [PASSED] pf_negotiate_latest_next
[11:12:53] [SKIPPED] pf_negotiate_latest_older (no older minor)
[11:12:53] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[11:12:53] =================== [PASSED] pf_service ====================
[11:12:53] ================= xe_guc_g2g (2 subtests) ==================
[11:12:53] ============== xe_live_guc_g2g_kunit_default  ==============
[11:12:53] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[11:12:53] ============== xe_live_guc_g2g_kunit_allmem  ===============
[11:12:53] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[11:12:53] =================== [SKIPPED] xe_guc_g2g ===================
[11:12:53] =================== xe_mocs (2 subtests) ===================
[11:12:53] ================ xe_live_mocs_kernel_kunit  ================
[11:12:53] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[11:12:53] ================ xe_live_mocs_reset_kunit  =================
[11:12:53] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[11:12:53] ==================== [SKIPPED] xe_mocs =====================
[11:12:53] ================= xe_migrate (2 subtests) ==================
[11:12:53] ================= xe_migrate_sanity_kunit  =================
[11:12:53] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[11:12:53] ================== xe_validate_ccs_kunit  ==================
[11:12:53] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[11:12:53] =================== [SKIPPED] xe_migrate ===================
[11:12:53] ================== xe_dma_buf (1 subtest) ==================
[11:12:53] ==================== xe_dma_buf_kunit  =====================
[11:12:53] ================ [SKIPPED] xe_dma_buf_kunit ================
[11:12:53] =================== [SKIPPED] xe_dma_buf ===================
[11:12:53] ================= xe_bo_shrink (1 subtest) =================
[11:12:53] =================== xe_bo_shrink_kunit  ====================
[11:12:53] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[11:12:53] ================== [SKIPPED] xe_bo_shrink ==================
[11:12:53] ==================== xe_bo (2 subtests) ====================
[11:12:53] ================== xe_ccs_migrate_kunit  ===================
[11:12:53] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[11:12:53] ==================== xe_bo_evict_kunit  ====================
[11:12:53] =============== [SKIPPED] xe_bo_evict_kunit ================
[11:12:53] ===================== [SKIPPED] xe_bo ======================
[11:12:53] =================== xe_any (9 subtests) ====================
[11:12:53] [PASSED] test_to_xe
[11:12:53] [PASSED] test_to_dev
[11:12:53] [PASSED] test_to_pdev
[11:12:53] [PASSED] test_to_drm
[11:12:53] [PASSED] test_if_pdev
[11:12:53] [PASSED] test_if_xe
[11:12:53] [PASSED] test_if_tile
[11:12:53] [PASSED] test_if_gt
[11:12:53] [PASSED] test_to_id
[11:12:53] ===================== [PASSED] xe_any ======================
[11:12:53] ==================== args (13 subtests) ====================
[11:12:53] [PASSED] count_args_test
[11:12:53] [PASSED] call_args_example
[11:12:53] [PASSED] call_args_test
[11:12:53] [PASSED] drop_first_arg_example
[11:12:53] [PASSED] drop_first_arg_test
[11:12:53] [PASSED] first_arg_example
[11:12:53] [PASSED] first_arg_test
[11:12:53] [PASSED] last_arg_example
[11:12:53] [PASSED] last_arg_test
[11:12:53] [PASSED] pick_arg_example
[11:12:53] [PASSED] if_args_example
[11:12:53] [PASSED] if_args_test
[11:12:53] [PASSED] sep_comma_example
[11:12:53] ====================== [PASSED] args =======================
[11:12:53] =================== xe_pci (3 subtests) ====================
[11:12:53] ==================== check_graphics_ip  ====================
[11:12:53] [PASSED] 12.00 Xe_LP
[11:12:53] [PASSED] 12.10 Xe_LP+
[11:12:53] [PASSED] 12.55 Xe_HPG
[11:12:53] [PASSED] 12.60 Xe_HPC
[11:12:53] [PASSED] 12.70 Xe_LPG
[11:12:53] [PASSED] 12.71 Xe_LPG
[11:12:53] [PASSED] 12.74 Xe_LPG+
[11:12:53] [PASSED] 20.01 Xe2_HPG
[11:12:53] [PASSED] 20.02 Xe2_HPG
[11:12:53] [PASSED] 20.04 Xe2_LPG
[11:12:53] [PASSED] 30.00 Xe3_LPG
[11:12:53] [PASSED] 30.01 Xe3_LPG
[11:12:53] [PASSED] 30.03 Xe3_LPG
[11:12:53] [PASSED] 30.04 Xe3_LPG
[11:12:53] [PASSED] 30.05 Xe3_LPG
[11:12:53] [PASSED] 35.10 Xe3p_LPG
[11:12:53] [PASSED] 35.11 Xe3p_XPC
[11:12:53] ================ [PASSED] check_graphics_ip ================
[11:12:53] ===================== check_media_ip  ======================
[11:12:53] [PASSED] 12.00 Xe_M
[11:12:53] [PASSED] 12.55 Xe_HPM
[11:12:53] [PASSED] 13.00 Xe_LPM+
[11:12:53] [PASSED] 13.01 Xe2_HPM
[11:12:53] [PASSED] 20.00 Xe2_LPM
[11:12:53] [PASSED] 30.00 Xe3_LPM
[11:12:53] [PASSED] 30.02 Xe3_LPM
[11:12:53] [PASSED] 35.00 Xe3p_LPM
[11:12:53] [PASSED] 35.03 Xe3p_HPM
[11:12:53] ================= [PASSED] check_media_ip ==================
[11:12:53] =================== check_platform_desc  ===================
[11:12:53] [PASSED] 0x9A60 (TIGERLAKE)
[11:12:53] [PASSED] 0x9A68 (TIGERLAKE)
[11:12:53] [PASSED] 0x9A70 (TIGERLAKE)
[11:12:53] [PASSED] 0x9A40 (TIGERLAKE)
[11:12:53] [PASSED] 0x9A49 (TIGERLAKE)
[11:12:53] [PASSED] 0x9A59 (TIGERLAKE)
[11:12:53] [PASSED] 0x9A78 (TIGERLAKE)
[11:12:53] [PASSED] 0x9AC0 (TIGERLAKE)
[11:12:53] [PASSED] 0x9AC9 (TIGERLAKE)
[11:12:53] [PASSED] 0x9AD9 (TIGERLAKE)
[11:12:53] [PASSED] 0x9AF8 (TIGERLAKE)
[11:12:53] [PASSED] 0x4C80 (ROCKETLAKE)
[11:12:53] [PASSED] 0x4C8A (ROCKETLAKE)
[11:12:53] [PASSED] 0x4C8B (ROCKETLAKE)
[11:12:53] [PASSED] 0x4C8C (ROCKETLAKE)
[11:12:53] [PASSED] 0x4C90 (ROCKETLAKE)
[11:12:53] [PASSED] 0x4C9A (ROCKETLAKE)
[11:12:53] [PASSED] 0x4680 (ALDERLAKE_S)
[11:12:53] [PASSED] 0x4682 (ALDERLAKE_S)
[11:12:53] [PASSED] 0x4688 (ALDERLAKE_S)
[11:12:53] [PASSED] 0x468A (ALDERLAKE_S)
[11:12:53] [PASSED] 0x468B (ALDERLAKE_S)
[11:12:53] [PASSED] 0x4690 (ALDERLAKE_S)
[11:12:53] [PASSED] 0x4692 (ALDERLAKE_S)
[11:12:53] [PASSED] 0x4693 (ALDERLAKE_S)
[11:12:53] [PASSED] 0x46A0 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46A1 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46A2 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46A3 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46A6 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46A8 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46AA (ALDERLAKE_P)
[11:12:53] [PASSED] 0x462A (ALDERLAKE_P)
[11:12:53] [PASSED] 0x4626 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x4628 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46B0 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46B1 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46B2 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46B3 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46C0 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46C1 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46C2 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46C3 (ALDERLAKE_P)
[11:12:53] [PASSED] 0x46D0 (ALDERLAKE_N)
[11:12:53] [PASSED] 0x46D1 (ALDERLAKE_N)
[11:12:53] [PASSED] 0x46D2 (ALDERLAKE_N)
[11:12:53] [PASSED] 0x46D3 (ALDERLAKE_N)
[11:12:53] [PASSED] 0x46D4 (ALDERLAKE_N)
[11:12:53] [PASSED] 0xA721 (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7A1 (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7A9 (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7AC (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7AD (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA720 (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7A0 (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7A8 (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7AA (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA7AB (ALDERLAKE_P)
[11:12:53] [PASSED] 0xA780 (ALDERLAKE_S)
[11:12:53] [PASSED] 0xA781 (ALDERLAKE_S)
[11:12:53] [PASSED] 0xA782 (ALDERLAKE_S)
[11:12:53] [PASSED] 0xA783 (ALDERLAKE_S)
[11:12:53] [PASSED] 0xA788 (ALDERLAKE_S)
[11:12:53] [PASSED] 0xA789 (ALDERLAKE_S)
[11:12:53] [PASSED] 0xA78A (ALDERLAKE_S)
[11:12:53] [PASSED] 0xA78B (ALDERLAKE_S)
[11:12:53] [PASSED] 0x4905 (DG1)
[11:12:53] [PASSED] 0x4906 (DG1)
[11:12:53] [PASSED] 0x4907 (DG1)
[11:12:53] [PASSED] 0x4908 (DG1)
[11:12:53] [PASSED] 0x4909 (DG1)
[11:12:53] [PASSED] 0x56C0 (DG2)
[11:12:53] [PASSED] 0x56C2 (DG2)
[11:12:53] [PASSED] 0x56C1 (DG2)
[11:12:53] [PASSED] 0x7D51 (METEORLAKE)
[11:12:53] [PASSED] 0x7DD1 (METEORLAKE)
[11:12:53] [PASSED] 0x7D41 (METEORLAKE)
[11:12:53] [PASSED] 0x7D67 (METEORLAKE)
[11:12:53] [PASSED] 0xB640 (METEORLAKE)
[11:12:53] [PASSED] 0x56A0 (DG2)
[11:12:53] [PASSED] 0x56A1 (DG2)
[11:12:53] [PASSED] 0x56A2 (DG2)
[11:12:53] [PASSED] 0x56BE (DG2)
[11:12:53] [PASSED] 0x56BF (DG2)
[11:12:53] [PASSED] 0x5690 (DG2)
[11:12:53] [PASSED] 0x5691 (DG2)
[11:12:53] [PASSED] 0x5692 (DG2)
[11:12:53] [PASSED] 0x56A5 (DG2)
[11:12:53] [PASSED] 0x56A6 (DG2)
[11:12:53] [PASSED] 0x56B0 (DG2)
[11:12:53] [PASSED] 0x56B1 (DG2)
[11:12:53] [PASSED] 0x56BA (DG2)
[11:12:53] [PASSED] 0x56BB (DG2)
[11:12:53] [PASSED] 0x56BC (DG2)
[11:12:53] [PASSED] 0x56BD (DG2)
[11:12:53] [PASSED] 0x5693 (DG2)
[11:12:53] [PASSED] 0x5694 (DG2)
[11:12:53] [PASSED] 0x5695 (DG2)
[11:12:53] [PASSED] 0x56A3 (DG2)
[11:12:53] [PASSED] 0x56A4 (DG2)
[11:12:53] [PASSED] 0x56B2 (DG2)
[11:12:53] [PASSED] 0x56B3 (DG2)
[11:12:53] [PASSED] 0x5696 (DG2)
[11:12:53] [PASSED] 0x5697 (DG2)
[11:12:53] [PASSED] 0xB69 (PVC)
[11:12:53] [PASSED] 0xB6E (PVC)
[11:12:53] [PASSED] 0xBD4 (PVC)
[11:12:53] [PASSED] 0xBD5 (PVC)
[11:12:53] [PASSED] 0xBD6 (PVC)
[11:12:53] [PASSED] 0xBD7 (PVC)
[11:12:53] [PASSED] 0xBD8 (PVC)
[11:12:53] [PASSED] 0xBD9 (PVC)
[11:12:53] [PASSED] 0xBDA (PVC)
[11:12:53] [PASSED] 0xBDB (PVC)
[11:12:53] [PASSED] 0xBE0 (PVC)
[11:12:53] [PASSED] 0xBE1 (PVC)
[11:12:53] [PASSED] 0xBE5 (PVC)
[11:12:53] [PASSED] 0x7D40 (METEORLAKE)
[11:12:53] [PASSED] 0x7D45 (METEORLAKE)
[11:12:53] [PASSED] 0x7D55 (METEORLAKE)
[11:12:53] [PASSED] 0x7D60 (METEORLAKE)
[11:12:53] [PASSED] 0x7DD5 (METEORLAKE)
[11:12:53] [PASSED] 0x6420 (LUNARLAKE)
[11:12:53] [PASSED] 0x64A0 (LUNARLAKE)
[11:12:53] [PASSED] 0x64B0 (LUNARLAKE)
[11:12:53] [PASSED] 0xE202 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE209 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE20B (BATTLEMAGE)
[11:12:53] [PASSED] 0xE20C (BATTLEMAGE)
[11:12:53] [PASSED] 0xE20D (BATTLEMAGE)
[11:12:53] [PASSED] 0xE210 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE211 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE212 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE216 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE220 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE221 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE222 (BATTLEMAGE)
[11:12:53] [PASSED] 0xE223 (BATTLEMAGE)
[11:12:53] [PASSED] 0xB080 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB081 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB082 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB083 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB084 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB085 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB086 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB087 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB08F (PANTHERLAKE)
[11:12:53] [PASSED] 0xB090 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB0A0 (PANTHERLAKE)
[11:12:53] [PASSED] 0xB0B0 (PANTHERLAKE)
[11:12:53] [PASSED] 0xFD80 (PANTHERLAKE)
[11:12:53] [PASSED] 0xFD81 (PANTHERLAKE)
[11:12:53] [PASSED] 0xD740 (NOVALAKE_S)
[11:12:53] [PASSED] 0xD741 (NOVALAKE_S)
[11:12:53] [PASSED] 0xD742 (NOVALAKE_S)
[11:12:53] [PASSED] 0xD743 (NOVALAKE_S)
[11:12:53] [PASSED] 0xD745 (NOVALAKE_S)
[11:12:53] [PASSED] 0xD74A (NOVALAKE_S)
[11:12:53] [PASSED] 0xD74B (NOVALAKE_S)
[11:12:53] [PASSED] 0x674C (CRESCENTISLAND)
[11:12:53] [PASSED] 0x674D (CRESCENTISLAND)
[11:12:53] [PASSED] 0x674E (CRESCENTISLAND)
[11:12:53] [PASSED] 0x674F (CRESCENTISLAND)
[11:12:53] [PASSED] 0x6750 (CRESCENTISLAND)
[11:12:53] [PASSED] 0xD750 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD751 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD752 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD753 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD754 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD755 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD756 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD757 (NOVALAKE_P)
[11:12:53] [PASSED] 0xD75F (NOVALAKE_P)
[11:12:53] =============== [PASSED] check_platform_desc ===============
[11:12:53] ===================== [PASSED] xe_pci ======================
[11:12:53] ============= xe_rtp_tables_test (5 subtests) ==============
[11:12:53] ================== xe_rtp_table_gt_test  ===================
[11:12:53] [PASSED] gt_was/14011060649
[11:12:53] [PASSED] gt_was/14011059788
[11:12:53] [PASSED] gt_was/14015795083
[11:12:53] [PASSED] gt_was/16021867713
[11:12:53] [PASSED] gt_was/14019449301
[11:12:53] [PASSED] gt_was/16028005424
[11:12:53] [PASSED] gt_was/14026578760
[11:12:53] [PASSED] gt_was/1409420604
[11:12:53] [PASSED] gt_was/1408615072
[11:12:53] [PASSED] gt_was/22010523718
[11:12:53] [PASSED] gt_was/14011006942
[11:12:53] [PASSED] gt_was/14014830051
[11:12:53] [PASSED] gt_was/18018781329
[11:12:53] [PASSED] gt_was/1509235366
[11:12:53] [PASSED] gt_was/18018781329
[11:12:53] [PASSED] gt_was/16016694945
[11:12:53] [PASSED] gt_was/14018575942
[11:12:53] [PASSED] gt_was/22016670082
[11:12:53] [PASSED] gt_was/22016670082
[11:12:53] [PASSED] gt_was/14017421178
[11:12:53] [PASSED] gt_was/16025250150
[11:12:53] [PASSED] gt_was/14021871409
[11:12:53] [PASSED] gt_was/16021865536
[11:12:53] [PASSED] gt_was/14021486841
[11:12:53] [PASSED] gt_was/14025160223
[11:12:53] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[11:12:53] [PASSED] gt_was/14025635424
[11:12:53] [PASSED] gt_was/16028005424
[11:12:53] ============== [PASSED] xe_rtp_table_gt_test ===============
[11:12:53] ================== xe_rtp_table_gt_test  ===================
[11:12:53] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[11:12:53] [PASSED] gt_tunings/Tuning: 32B Access Enable
[11:12:53] [PASSED] gt_tunings/Tuning: L3 cache
[11:12:53] [PASSED] gt_tunings/Tuning: L3 cache - media
[11:12:53] [PASSED] gt_tunings/Tuning: Compression Overfetch
[11:12:53] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[11:12:53] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[11:12:53] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[11:12:53] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[11:12:53] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[11:12:53] [PASSED] gt_tunings/Tuning: Stateless compression control
[11:12:53] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[11:12:53] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[11:12:53] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[11:12:53] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[11:12:53] ============== [PASSED] xe_rtp_table_gt_test ===============
[11:12:53] ================== xe_rtp_table_oob_test  ==================
[11:12:53] [PASSED] oob_was/1607983814
[11:12:53] [PASSED] oob_was/16010904313
[11:12:53] [PASSED] oob_was/18022495364
[11:12:53] [PASSED] oob_was/22012773006
[11:12:53] [PASSED] oob_was/14014475959
[11:12:53] [PASSED] oob_was/22011391025
[11:12:53] [PASSED] oob_was/22012727170
[11:12:53] [PASSED] oob_was/22012727685
[11:12:53] [PASSED] oob_was/22016596838
[11:12:53] [PASSED] oob_was/18020744125
[11:12:53] [PASSED] oob_was/1409600907
[11:12:53] [PASSED] oob_was/22014953428
[11:12:53] [PASSED] oob_was/16017236439
[11:12:53] [PASSED] oob_was/14019821291
[11:12:53] [PASSED] oob_was/14015076503
[11:12:53] [PASSED] oob_was/14018913170
[11:12:53] [PASSED] oob_was/14018094691
[11:12:53] [PASSED] oob_was/18024947630
[11:12:53] [PASSED] oob_was/16022287689
[11:12:53] [PASSED] oob_was/13011645652
[11:12:53] [PASSED] oob_was/14022293748
[11:12:53] [PASSED] oob_was/22019794406
[11:12:53] [PASSED] oob_was/22019338487
[11:12:53] [PASSED] oob_was/16023588340
[11:12:53] [PASSED] oob_was/14019789679
[11:12:53] [PASSED] oob_was/14022866841
[11:12:53] [PASSED] oob_was/16021333562
[11:12:53] [PASSED] oob_was/14016712196
[11:12:53] [PASSED] oob_was/14015568240
[11:12:53] [PASSED] oob_was/18013179988
[11:12:53] [PASSED] oob_was/1508761755
[11:12:53] [PASSED] oob_was/16023105232
[11:12:53] [PASSED] oob_was/16026508708
[11:12:53] [PASSED] oob_was/14020001231
[11:12:53] [PASSED] oob_was/16023683509
[11:12:53] [PASSED] oob_was/14025515070
[11:12:53] [PASSED] oob_was/15015404425_disable
[11:12:53] [PASSED] oob_was/16026007364
[11:12:53] [PASSED] oob_was/14020316580
[11:12:53] [PASSED] oob_was/14025883347
[11:12:53] [PASSED] oob_was/16029380221
[11:12:53] [PASSED] oob_was/22022079272
[11:12:53] [PASSED] oob_was/16029897822
[11:12:53] [PASSED] oob_was/14027054324
[11:12:53] ============== [PASSED] xe_rtp_table_oob_test ==============
[11:12:53] ================ xe_rtp_table_dev_oob_test  ================
[11:12:53] [PASSED] device_oob_was/22010954014
[11:12:53] [PASSED] device_oob_was/15015404425
[11:12:53] [PASSED] device_oob_was/22019338487_display
[11:12:53] [PASSED] device_oob_was/14022085890
[11:12:53] [PASSED] device_oob_was/14026539277
[11:12:53] [PASSED] device_oob_was/14026633728
[11:12:53] [PASSED] device_oob_was/14026746987
[11:12:53] [PASSED] device_oob_was/14026779378
[11:12:53] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[11:12:53] ========== xe_rtp_table_missing_upper_bound_test  ==========
[11:12:53] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[11:12:53] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[11:12:53] [PASSED] register_whitelist/1806527549
[11:12:53] [PASSED] register_whitelist/allow_read_ctx_timestamp
[11:12:53] [PASSED] register_whitelist/allow_read_queue_timestamp
[11:12:53] [PASSED] register_whitelist/16014440446
[11:12:53] [PASSED] register_whitelist/16017236439
[11:12:53] [PASSED] register_whitelist/16020183090
[11:12:53] [PASSED] register_whitelist/14024997852
[11:12:53] [PASSED] register_whitelist/14024997852
[11:12:53] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[11:12:53] =============== [PASSED] xe_rtp_tables_test ================
[11:12:53] =================== xe_rtp (3 subtests) ====================
[11:12:53] =================== xe_rtp_rules_tests  ====================
[11:12:53] [PASSED] no
[11:12:53] [PASSED] yes
[11:12:53] [PASSED] no-and-no
[11:12:53] [PASSED] no-and-yes
[11:12:53] [PASSED] yes-and-no
[11:12:53] [PASSED] yes-and-yes
[11:12:53] [PASSED] no-or-no
[11:12:53] [PASSED] no-or-yes
[11:12:53] [PASSED] yes-or-no
[11:12:53] [PASSED] yes-or-yes
[11:12:53] [PASSED] no-yes-or-yes-no
[11:12:53] [PASSED] no-yes-or-yes-yes
[11:12:53] [PASSED] yes-yes-or-no-yes
[11:12:53] [PASSED] yes-yes-or-yes-yes
[11:12:53] [PASSED] no-no-or-yes-or-no
[11:12:53] [PASSED] or
[11:12:53] [PASSED] or-yes
[11:12:53] [PASSED] or-no
[11:12:53] [PASSED] yes-or
[11:12:53] [PASSED] no-or
[11:12:53] [PASSED] no-or-or-yes
[11:12:53] [PASSED] yes-or-or-no
[11:12:53] [PASSED] no-or-or-no
[11:12:53] [PASSED] missing-context-engine-class
[11:12:53] [PASSED] missing-context-engine-class-or-yes
[11:12:53] [PASSED] missing-context-engine-class-or-or-yes
[11:12:53] =============== [PASSED] xe_rtp_rules_tests ================
[11:12:53] =============== xe_rtp_process_to_sr_tests  ================
[11:12:53] [PASSED] coalesce-same-reg
[11:12:53] [PASSED] coalesce-same-reg-literal-and-func
[11:12:53] [PASSED] no-match-no-add
[11:12:53] [PASSED] two-regs-two-entries
[11:12:53] [PASSED] clr-one-set-other
[11:12:53] [PASSED] set-field
[11:12:53] [PASSED] conflict-duplicate
[11:12:53] [PASSED] conflict-not-disjoint
[11:12:53] [PASSED] conflict-not-disjoint-literal-and-func
[11:12:53] [PASSED] conflict-reg-type
[11:12:53] [PASSED] bad-mcr-reg-forced-to-regular
[11:12:53] [PASSED] bad-regular-reg-forced-to-mcr
[11:12:53] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[11:12:53] ================== xe_rtp_process_tests  ===================
[11:12:53] [PASSED] active1
[11:12:53] [PASSED] active2
[11:12:53] [PASSED] active-inactive
[11:12:53] [PASSED] inactive-active
[11:12:53] [PASSED] inactive-active-inactive
[11:12:53] [PASSED] inactive-inactive-inactive
[11:12:53] ============== [PASSED] xe_rtp_process_tests ===============
[11:12:53] ===================== [PASSED] xe_rtp ======================
[11:12:53] ==================== xe_wa (1 subtest) =====================
[11:12:53] ======================== xe_wa_gt  =========================
[11:12:53] [PASSED] TIGERLAKE B0
[11:12:53] [PASSED] DG1 A0
[11:12:53] [PASSED] DG1 B0
[11:12:53] [PASSED] ALDERLAKE_S A0
[11:12:53] [PASSED] ALDERLAKE_S B0
[11:12:53] [PASSED] ALDERLAKE_S C0
[11:12:53] [PASSED] ALDERLAKE_S D0
[11:12:53] [PASSED] ALDERLAKE_P A0
[11:12:53] [PASSED] ALDERLAKE_P B0
[11:12:53] [PASSED] ALDERLAKE_P C0
[11:12:53] [PASSED] ALDERLAKE_S RPLS D0
[11:12:53] [PASSED] ALDERLAKE_P RPLU E0
[11:12:53] [PASSED] DG2 G10 C0
[11:12:53] [PASSED] DG2 G11 B1
[11:12:53] [PASSED] DG2 G12 A1
[11:12:53] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[11:12:53] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[11:12:53] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[11:12:53] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[11:12:53] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[11:12:53] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[11:12:53] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[11:12:53] ==================== [PASSED] xe_wa_gt =====================
[11:12:53] ====================== [PASSED] xe_wa ======================
[11:12:53] ============================================================
[11:12:53] Testing complete. Ran 789 tests: passed: 761, skipped: 28
[11:12:53] Elapsed time: 37.762s total, 4.395s configuring, 32.650s building, 0.674s running

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

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

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[11:13:32] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:13:34] 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
[11:13:43] Starting KUnit Kernel (1/1)...
[11:13:43] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[11:13:43] =============== dma-buf-fence (12 subtests) ================
[11:13:43] [PASSED] test_sanitycheck
[11:13:43] [PASSED] test_signaling
[11:13:43] [PASSED] test_add_callback
[11:13:43] [PASSED] test_late_add_callback
[11:13:43] [PASSED] test_rm_callback
[11:13:43] [PASSED] test_late_rm_callback
[11:13:43] [PASSED] test_status
[11:13:43] [PASSED] test_error
[11:13:43] [PASSED] test_wait
[11:13:43] [PASSED] test_wait_timeout
[11:13:43] [PASSED] test_stub
[11:13:43] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[11:13:43] ================== [PASSED] dma-buf-fence ==================
[11:13:43] ============ dma-buf-fence-chain (11 subtests) =============
[11:13:43] [PASSED] test_sanitycheck
[11:13:43] [PASSED] test_find_seqno
[11:13:43] [PASSED] test_find_signaled
[11:13:43] [PASSED] test_find_out_of_order
[11:13:48] [PASSED] test_find_gap
[11:13:48] [PASSED] test_find_race
[11:13:48] [PASSED] test_signal_forward
[11:13:48] [PASSED] test_signal_backward
[11:13:48] [PASSED] test_wait_forward
[11:13:48] [PASSED] test_wait_backward
[11:13:48] [PASSED] test_wait_random
[11:13:48] =============== [PASSED] dma-buf-fence-chain ===============
[11:13:48] ============ dma-buf-fence-unwrap (10 subtests) ============
[11:13:48] [PASSED] test_sanitycheck
[11:13:48] [PASSED] test_unwrap_array
[11:13:48] [PASSED] test_unwrap_chain
[11:13:48] [PASSED] test_unwrap_chain_array
[11:13:48] [PASSED] test_unwrap_merge
[11:13:48] [PASSED] test_unwrap_merge_duplicate
[11:13:48] [PASSED] test_unwrap_merge_seqno
[11:13:48] [PASSED] test_unwrap_merge_order
[11:13:48] [PASSED] test_unwrap_merge_complex
[11:13:48] [PASSED] test_unwrap_merge_complex_seqno
[11:13:48] ============== [PASSED] dma-buf-fence-unwrap ===============
[11:13:48] ================ dma-buf-resv (5 subtests) =================
[11:13:48] [PASSED] test_sanitycheck
[11:13:48] ===================== test_signaling  ======================
[11:13:48] [PASSED] kernel
[11:13:48] [PASSED] write
[11:13:48] [PASSED] read
[11:13:48] [PASSED] bookkeep
[11:13:48] ================= [PASSED] test_signaling ==================
[11:13:48] ====================== test_for_each  ======================
[11:13:48] [PASSED] kernel
[11:13:48] [PASSED] write
[11:13:48] [PASSED] read
[11:13:48] [PASSED] bookkeep
[11:13:48] ================== [PASSED] test_for_each ==================
[11:13:48] ================= test_for_each_unlocked  ==================
[11:13:48] [PASSED] kernel
[11:13:48] [PASSED] write
[11:13:48] [PASSED] read
[11:13:48] [PASSED] bookkeep
[11:13:48] ============= [PASSED] test_for_each_unlocked ==============
[11:13:48] ===================== test_get_fences  =====================
[11:13:48] [PASSED] kernel
[11:13:48] [PASSED] write
[11:13:48] [PASSED] read
[11:13:48] [PASSED] bookkeep
[11:13:48] ================= [PASSED] test_get_fences =================
[11:13:48] ================== [PASSED] dma-buf-resv ===================
[11:13:48] ============================================================
[11:13:48] Testing complete. Ran 50 tests: passed: 49, skipped: 1
[11:13:48] Elapsed time: 15.848s total, 1.814s configuring, 8.713s building, 5.281s running

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



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

* Re: [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID
  2026-08-25 11:05 ` [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID Mallesh Koujalagi
@ 2026-08-25 11:18   ` sashiko-bot
  2026-08-27 11:06   ` Michal Wajdeczko
  1 sibling, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-08-25 11:18 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The patch includes a nonexistent header `xe_log.h` and references undefined logging macros, breaking the build.
--

--- Patch [7]: [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID ---
commit 5dd0dcae7a92f1eec8f1bdc6337685ee71b3e2e4
Author: Mallesh Koujalagi <mallesh.koujalagi@intel.com>

drm/xe/sysctrl: Report 'System Controller event' error using SIGID

This patch updates the error logging in xe_sysctrl_event.c to use the
xe_log() helpers for system controller events.

> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_event.c b/drivers/gpu/drm/xe/xe_sysctrl_event.c
> index da395148ee9dc..7a3aa0aad6a35 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_event.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_event.c
> @@ -5,6 +5,7 @@
>  
>  #include "xe_device.h"
>  #include "xe_irq.h"
> +#include "xe_log.h"

[Severity: Low]
Does this header file exist? It seems the include of xe_log.h and the
subsequent uses of xe_log_err() and SYSCTRL in get_pending_event() will
cause a build failure. Was the patch adding this header and the logging
macros accidentally omitted from this series?

[ ... ]

> @@ -25,23 +26,26 @@ static void get_pending_event(struct xe_sysctrl *sc, struct xe_sysctrl_mailbox_c
>  
>  		ret = xe_sysctrl_send_command(sc, command, &len);
>  		if (ret) {
> -			xe_err(xe, "sysctrl: failed to get pending event %d\n", ret);
> +			xe_log_err(xe, SYSCTRL, ret, "Failed to get pending event\n");
>  			return;
>  		}

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260825110542.1359776-9-mallesh.koujalagi@intel.com?part=7

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

* Re: [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure
  2026-08-25 11:05 ` [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure Mallesh Koujalagi
@ 2026-08-25 11:21   ` sashiko-bot
  2026-08-27 11:01   ` Michal Wajdeczko
  1 sibling, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-08-25 11:21 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:

New issues:
- [Low] Undeclared macro xe_log_err and missing xe_log.h cause a build failure.
- [Low] Missing include for REG_FIELD_GET in header file.

Pre-existing issues:
- [High] Incorrect endianness conversion in mailbox frame read and write functions on big-endian architectures.
--

--- Patch [6]: [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure ---
commit 1b3f6de8bafa26d44086972155e85f862cc56e97
Author: Mallesh Koujalagi <mallesh.koujalagi@intel.com>

drm/xe/sysctrl: Log group and command ID on mailbox failure

Include the mailbox group ID and command code in error logs
for command preparation and execution failures.

> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> index 5032d766b3142..f55f72fce9946 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> @@ -373,7 +373,8 @@ int xe_sysctrl_send_command(struct xe_sysctrl *sc,
>  				      cmd->data_in, cmd->data_in_len,
>  				      &mbox_cmd, &cmd_size);
>  	if (ret) {
> -		xe_err(xe, "sysctrl: Failed to prepare command: %pe\n", ERR_PTR(ret));
> +		xe_log_err(xe, SYSCTRL, ret, "Failed to prepare command %#x.%#x\n",
> +			   group_id, command_code);

[Severity: Low]
Does this cause a build failure? I couldn't find the definition for the
xe_log_err macro or the xe_log.h header in the tree.

>  		return ret;
>  	}
>  

[ ... ]

> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
> index fb434cc165b2a..df7dfe3b39e24 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
> @@ -15,13 +15,13 @@ struct xe_sysctrl;
>  struct xe_sysctrl_mailbox_command;
>  
>  #define XE_SYSCTRL_APP_HDR_GROUP_ID(hdr) \
> -	FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data)
> +	REG_FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data)

[Severity: Low]
Is a #include <drm/intel/reg_bits.h> missing here? Any file including this
header might fail to build if it doesn't already include the definition
for REG_FIELD_GET.

[ ... ]

[Severity: High]
This isn't a bug introduced by this patch, but does the endianness conversion
in the mailbox frame read and write functions work correctly on big-endian
architectures?

In sysctrl_write_frame(), the byte stream is copied into a host-endian u32
array and then written to the little-endian MMIO register:

	memcpy(val, frame, len);

	for (i = 0; i < dw; i++)
		xe_mmio_write32(sc->mmio, regs[i], val[i]);

Similarly, in sysctrl_read_frame(), the register is read as little-endian
into a host-endian u32 array and then copied to a byte stream:

	for (i = 0; i < dw; i++)
		val[i] = xe_mmio_read32(sc->mmio, regs[i]);

	memcpy(frame, val, len);

This might cause the bytes to be reversed again by xe_mmio_write32() and
xe_mmio_read32() on big-endian systems, potentially leading to firmware
communication failures.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260825110542.1359776-9-mallesh.koujalagi@intel.com?part=6

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

* Re: [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging
  2026-08-25 11:05 ` [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging Mallesh Koujalagi
@ 2026-08-25 11:22   ` sashiko-bot
  2026-08-27 10:57   ` Michal Wajdeczko
  1 sibling, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-08-25 11:22 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:

New issues:
- [Low] Build failure due to missing `xe_log.h` and undeclared `xe_log_err` function.

Pre-existing issues:
- [High] Endianness bug in MMIO data transfer causes hardware state machine corruption on big-endian hosts.
- [High] Mailbox response reader truncates oversized responses without draining the mailbox, leading to hardware state machine corruption.
--

--- Patch [5]: [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging ---
commit aca0eba486b26ff6a9ae8a95c07e0dfce167281d
Author: Mallesh Koujalagi <mallesh.koujalagi@intel.com>

drm/xe/sysctrl: Improve firmware response error logging

Use xe_log_err() helper and include additional details when a
response header mismatch occurs.

> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> index f8b518dcafa24..5032d766b3142 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
[ ... ]
> @@ -237,13 +237,17 @@ static int sysctrl_receive_frames(struct xe_sysctrl *sc,
>  	if (!XE_SYSCTRL_HDR_IS_RESPONSE(hdr) ||
>  	    XE_SYSCTRL_HDR_GROUP_ID(hdr) != XE_SYSCTRL_HDR_GROUP_ID(req) ||
>  	    XE_SYSCTRL_HDR_COMMAND(hdr) != XE_SYSCTRL_HDR_COMMAND(req)) {
> -		xe_err(xe, "sysctrl: Response header mismatch\n");
> +		xe_log_err(xe, SYSCTRL, -EPROTO,
> +			   "Response header mismatch: got group=%#x cmd=%#x is_resp=%u, expected group=%#x cmd=%#x\n",
> +			   XE_SYSCTRL_HDR_GROUP_ID(hdr), XE_SYSCTRL_HDR_COMMAND(hdr),
> +			   XE_SYSCTRL_HDR_IS_RESPONSE(hdr),
> +			   XE_SYSCTRL_HDR_GROUP_ID(req), XE_SYSCTRL_HDR_COMMAND(req));

[Severity: Low]
Does this code fail to compile? It looks like xe_log.h is missing from the
source tree, meaning xe_log_err and SYSCTRL might be undeclared identifiers.

>  		return -EPROTO;
>  	}
>  
>  	if (XE_SYSCTRL_HDR_RESULT(hdr) != 0) {
> -		xe_err(xe, "sysctrl: Firmware error: 0x%02lx\n",
> -		       XE_SYSCTRL_HDR_RESULT(hdr));
> +		xe_log_err(xe, SYSCTRL, -EIO, "Firmware error: %#04x\n",
> +			   XE_SYSCTRL_HDR_RESULT(hdr));
>  		return -EIO;
>  	}

[Severity: High]
This is a pre-existing issue, but does this loop truncate oversized responses
without draining the mailbox?

drivers/gpu/drm/xe/xe_sysctrl_mailbox.c:sysctrl_receive_frames() {
	...
	while (!done && remain) {
		frame_size = min_t(size_t, remain, XE_SYSCTRL_MB_FRAME_SIZE);

		ret = sysctrl_process_frame(sc, out, frame_size, timeout_ms,
					    &done);
		if (ret)
			return ret;

		remain -= frame_size;
		out += frame_size;
	}
	...
}

If the firmware sends more frames than expected by data_out_len, remain
becomes 0 before done is set to true. The loop exits silently and returns
success, leaving the unread frames in the mailbox. 

Will subsequent mailbox commands write to the control register while it is
still busy, potentially corrupting the hardware state machine?

[Severity: High]
This is a pre-existing issue, but is there an endianness mismatch in the MMIO
data transfers here?

drivers/gpu/drm/xe/xe_sysctrl_mailbox.c:sysctrl_write_frame() {
	...
	memcpy(val, frame, len);

	for (i = 0; i < dw; i++)
		xe_mmio_write32(sc->mmio, regs[i], val[i]);
	...
}

And similarly:

drivers/gpu/drm/xe/xe_sysctrl_mailbox.c:sysctrl_read_frame() {
	...
	for (i = 0; i < dw; i++)
		val[i] = xe_mmio_read32(sc->mmio, regs[i]);

	memcpy(frame, val, len);
	...
}

When little-endian bytes are copied into native CPU-endian u32 arrays, won't
this result in an incorrect byte order on big-endian hosts? 

The bytes could be placed in the wrong order inside the CPU-endian u32
values, and when the MMIO accessors byte-swap these values again, the
resulting byte stream on the wire might be reversed compared to the
intended payload.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260825110542.1359776-9-mallesh.koujalagi@intel.com?part=5

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

* Re: [PATCH v5 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set()
  2026-08-25 11:05 ` [PATCH v5 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set() Mallesh Koujalagi
@ 2026-08-25 11:24   ` sashiko-bot
  0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-08-25 11:24 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:

New issues:
- [Low] The patch introduces usage of an undefined macro `xe_log_err`, a missing header `xe_log.h`, and an undeclared identifier `SYSCTRL`, resulting in immediate compilation failure.

Pre-existing issues:
- [High] Failure to drain the firmware mailbox on truncated reads hangs the hardware sysctrl mailbox, leading to state machine desynchronization and a permanent Denial of Service (DoS) for the sysctrl subsystem.
--

--- Patch [2]: [PATCH v5 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set() ---
commit a0d9dbca39d7d03a2a03ce09604444ffe68818bd
Author: Mallesh Koujalagi <mallesh.koujalagi@intel.com>

drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set()

This patch modifies sysctrl_wait_bit_set() to return an error code instead
of a bool, and updates the caller in sysctrl_process_frame() to propagate
the error using xe_log_err().

> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> index f97dec375efe8..b5412ca42bb81 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c

[ ... ]

> @@ -193,9 +189,10 @@ static int sysctrl_process_frame(struct xe_sysctrl *sc, void *out,
>  	struct xe_device *xe = sc_to_xe(sc);
>  	int ret;
>  
> -	if (!sysctrl_wait_bit_set(sc, SYSCTRL_MB_CTRL_RUN_BUSY_OUT, timeout_ms)) {
> -		xe_err(xe, "sysctrl: Response frame timeout\n");
> -		return -ETIMEDOUT;
> +	ret = sysctrl_wait_bit_set(sc, SYSCTRL_MB_CTRL_RUN_BUSY_OUT, timeout_ms);
> +	if (ret) {
> +		xe_log_err(xe, SYSCTRL, ret, "Response frame timeout\n");

[Severity: Low]
Is xe_log_err defined here? It appears this patch introduces usage of an
undefined macro xe_log_err and an undeclared identifier SYSCTRL, resulting
in an immediate compilation failure. Could there be a missing prerequisite
patch in this series that adds the xe_log infrastructure?

> +		return ret;
>  	}
>  
>  	ctrl_reg = xe_mmio_read32(sc->mmio, SYSCTRL_MB_CTRL);

[Severity: High]
This isn't a bug introduced by this patch, but looking at the caller of
sysctrl_process_frame():

sysctrl_receive_frames() {
    ...
    while (!done && remain) {
        frame_size = min_t(size_t, remain, XE_SYSCTRL_MB_FRAME_SIZE);
        ret = sysctrl_process_frame(sc, out, frame_size, timeout_ms,
                                    &done);
        if (ret)
            return ret;
        remain -= frame_size;
        out += frame_size;
    }
    ...
}

If the firmware sends a response payload larger than the data provided by
the caller, remain will reach 0 before done is true.

Doesn't this cause the while loop to exit early without draining the
remaining frames from the hardware mailbox?

If the SYSCTRL_MB_CTRL_RUN_BUSY_OUT bit isn't cleared, won't this leave the
hardware state machine stuck and cause a permanent DoS of the system
controller interface for subsequent commands?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260825110542.1359776-9-mallesh.koujalagi@intel.com?part=2

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

* Re: [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear()
  2026-08-25 11:05 ` [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear() Mallesh Koujalagi
@ 2026-08-25 11:24   ` sashiko-bot
  0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-08-25 11:24 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The patch introduces a build break by including a non-existent header 'xe_log.h' and using undefined identifiers 'xe_log_err' and 'SYSCTRL'.
--

--- Patch [1]: [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear() ---
commit b1569960680970895818e22670bdfa988f326c23
Author: Mallesh Koujalagi <mallesh.koujalagi@intel.com>

drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear()

This commit modifies sysctrl_wait_bit_clear() to return an error code instead
of a boolean value. It also updates its callers to log the propagated error
code using xe_log_err().

> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> index e13eebaac1d00..f97dec375efe8 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> @@ -11,6 +11,7 @@
>  
>  #include "regs/xe_sysctrl_regs.h"
>  #include "xe_device.h"
> +#include "xe_log.h"

[Severity: Low]
Does this header exist in the tree? Including a non-existent header will
cause a build failure.

[ ... ]

> @@ -145,12 +142,14 @@ static int sysctrl_send_frames(struct xe_sysctrl *sc,
>  	struct xe_device *xe = sc_to_xe(sc);
>  	u32 ctrl_reg, total_frames, frame;
>  	size_t bytes_sent, frame_size;
> +	int ret;
>  
>  	total_frames = DIV_ROUND_UP(cmd_size, XE_SYSCTRL_MB_FRAME_SIZE);
>  
> -	if (!sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms)) {
> -		xe_err(xe, "sysctrl: Mailbox busy\n");
> -		return -EBUSY;
> +	ret = sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms);
> +	if (ret) {
> +		xe_log_err(xe, SYSCTRL, ret, "Mailbox busy\n");

[Severity: Low]
Are the identifier SYSCTRL and macro/function xe_log_err() defined anywhere?
Using undefined identifiers will result in a compilation error.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260825110542.1359776-9-mallesh.koujalagi@intel.com?part=1

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

* ✓ Xe.CI.BAT: success for drm/xe/sysctrl: Clean up error handling in (rev2)
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
                   ` (7 preceding siblings ...)
  2026-08-25 11:13 ` ✓ CI.KUnit: success for drm/xe/sysctrl: Clean up error handling in (rev2) Patchwork
@ 2026-08-25 11:50 ` Patchwork
  2026-08-25 16:29 ` ✗ Xe.CI.FULL: failure " Patchwork
  9 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2026-08-25 11:50 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/sysctrl: Clean up error handling in (rev2)
URL   : https://patchwork.freedesktop.org/series/172513/
State : success

== Summary ==

CI Bug Log - changes from xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad_BAT -> xe-pw-172513v2_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (13 -> 11)
------------------------------

  Missing    (2): bat-bmg-2 bat-nvls-1 


Changes
-------

  No changes found


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

  * IGT: IGT_9071 -> IGT_9073
  * Linux: xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad -> xe-pw-172513v2

  IGT_9071: 9071
  IGT_9073: b5d1c5cea5f6571e4a9cb3733ccc80a47862c0fc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad: 15e2ba2fb6d25c03d89519aec46f8d5be3e118ad
  xe-pw-172513v2: 172513v2

== Logs ==

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

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

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

* ✗ Xe.CI.FULL: failure for drm/xe/sysctrl: Clean up error handling in (rev2)
  2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
                   ` (8 preceding siblings ...)
  2026-08-25 11:50 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-08-25 16:29 ` Patchwork
  9 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2026-08-25 16:29 UTC (permalink / raw)
  To: Mallesh Koujalagi; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/sysctrl: Clean up error handling in (rev2)
URL   : https://patchwork.freedesktop.org/series/172513/
State : failure

== Summary ==

CI Bug Log - changes from xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad_FULL -> xe-pw-172513v2_FULL
====================================================

Summary
-------

  **FAILURE**

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

  

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

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-172513v2_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@xe_exec_reset@gt-stress-reset-concurrent-submit:
    - shard-lnl:          [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-lnl-4/igt@xe_exec_reset@gt-stress-reset-concurrent-submit.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-lnl-6/igt@xe_exec_reset@gt-stress-reset-concurrent-submit.html

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

  Here are the changes found in xe-pw-172513v2_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - shard-bmg:          NOTRUN -> [SKIP][3] ([Intel XE#2233])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-3/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

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

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

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#610] / [Intel XE#7387])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_bw@linear-tiling-2-displays-target-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][7] ([Intel XE#367]) +2 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-6/igt@kms_bw@linear-tiling-2-displays-target-3840x2160p.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][8] ([Intel XE#2652]) +17 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-3/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#2887]) +10 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-6/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#2724] / [Intel XE#7449])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-9/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_color@gamma:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#2325] / [Intel XE#7358]) +1 other test skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-9/igt@kms_chamelium_color@gamma.html

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

  * igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#6974])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-6/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html

  * igt@kms_content_protection@lic-type-0@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][14] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html

  * igt@kms_cursor_crc@cursor-offscreen-max-size:
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#2320]) +3 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_cursor_crc@cursor-offscreen-max-size.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#2321] / [Intel XE#7355]) +1 other test skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-7/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#8265]) +1 other test skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#4156] / [Intel XE#7425])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-4/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_feature_discovery@display-4x:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#1138] / [Intel XE#7344])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_feature_discovery@display-4x.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#7178] / [Intel XE#7349]) +2 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#2311]) +38 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#4141]) +8 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#7061] / [Intel XE#7356]) +2 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#2313]) +31 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@psrhdr-argb161616f-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#7061]) +3 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@kms_frontbuffer_tracking@psrhdr-argb161616f-draw-render.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#6901])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#6912] / [Intel XE#7375])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-3/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane@pixel-format-4-tiled-modifier@pipe-a-plane-5:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#8303]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-3/igt@kms_plane@pixel-format-4-tiled-modifier@pipe-a-plane-5.html

  * igt@kms_plane@pixel-format-y-tiled-modifier:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#7283]) +2 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-4/igt@kms_plane@pixel-format-y-tiled-modifier.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#2393])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#5020] / [Intel XE#7348])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-9/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75:
    - shard-bmg:          NOTRUN -> [SKIP][32] ([Intel XE#2763] / [Intel XE#6886]) +4 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-7/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#7376] / [Intel XE#7760] / [Intel XE#870])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-10/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_dc@dc3co-after-dc6@psr2-yuv420:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#8396]) +3 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-7/igt@kms_pm_dc@dc3co-after-dc6@psr2-yuv420.html

  * igt@kms_pm_dc@dc3co-vpb-framegap:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#8395] / [Intel XE#8396]) +3 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-9/igt@kms_pm_dc@dc3co-vpb-framegap.html

  * igt@kms_pm_dc@dc5-pageflip-negative:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#6927])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-4/igt@kms_pm_dc@dc5-pageflip-negative.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-lnl:          [PASS][37] -> [FAIL][38] ([Intel XE#8399])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-lnl-5/igt@kms_pm_dc@dc6-psr.html
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-lnl-4/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_rpm@package-g7:
    - shard-bmg:          NOTRUN -> [SKIP][39] ([Intel XE#6814] / [Intel XE#7428])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-5/igt@kms_pm_rpm@package-g7.html

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

  * igt@kms_psr@pr-sprite-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#2234] / [Intel XE#2850]) +10 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-5/igt@kms_psr@pr-sprite-plane-onoff.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#7795])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_sharpness_filter@filter-scaler-downscale:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#6503]) +1 other test skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-2/igt@kms_sharpness_filter@filter-scaler-downscale.html

  * igt@kms_vrr@flip-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#1499]) +1 other test skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-7/igt@kms_vrr@flip-suspend.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][45] ([Intel XE#6321] / [Intel XE#8355])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-9/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_evict@evict-small-multi-queue-cm:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#8370])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-6/igt@xe_evict@evict-small-multi-queue-cm.html

  * igt@xe_exec_basic@multigpu-once-null-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][47] ([Intel XE#2322] / [Intel XE#7372]) +4 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@xe_exec_basic@multigpu-once-null-rebind.html

  * igt@xe_exec_fault_mode@twice-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#8374]) +7 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-10/igt@xe_exec_fault_mode@twice-multi-queue.html

  * igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-basic:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#8364]) +19 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-basic.html

  * igt@xe_exec_reset@multi-queue-cat-error:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#8369])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-5/igt@xe_exec_reset@multi-queue-cat-error.html

  * igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#8378]) +4 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_device_probe_early:
    - shard-bmg:          NOTRUN -> [ABORT][52] ([Intel XE#8007])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-10/igt@xe_fault_injection@inject-fault-probe-function-xe_device_probe_early.html

  * igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run:
    - shard-bmg:          [PASS][53] -> [ABORT][54] ([Intel XE#8007])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-2/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-3/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run.html

  * igt@xe_live_ktest@xe_eudebug:
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#2833])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@xe_live_ktest@xe_eudebug.html

  * igt@xe_multigpu_svm@mgpu-coherency-prefetch:
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#6964]) +1 other test skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-4/igt@xe_multigpu_svm@mgpu-coherency-prefetch.html

  * igt@xe_page_reclaim@binds-null-vma:
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#7793]) +2 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-7/igt@xe_page_reclaim@binds-null-vma.html

  * igt@xe_pat@pat-index-xelp:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#2245] / [Intel XE#7590])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-8/igt@xe_pat@pat-index-xelp.html

  * igt@xe_pat@xa-app-transient-media-off:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#7590]) +1 other test skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-7/igt@xe_pat@xa-app-transient-media-off.html

  * igt@xe_pm@d3cold-mocs:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#2284] / [Intel XE#7370])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@xe_pm@d3cold-mocs.html

  * igt@xe_pxp@pxp-stale-queue-post-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][61] ([Intel XE#4733] / [Intel XE#7417]) +2 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-2/igt@xe_pxp@pxp-stale-queue-post-suspend.html

  * igt@xe_query@multigpu-query-invalid-extension:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#944]) +3 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-10/igt@xe_query@multigpu-query-invalid-extension.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-bmg:          [PASS][63] -> [FAIL][64] ([Intel XE#6569])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-8/igt@xe_sriov_flr@flr-vf1-clear.html
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@xe_sriov_flr@flr-vf1-clear.html

  
#### Possible fixes ####

  * igt@core_hotunplug@hotrebind-with-load:
    - shard-bmg:          [ABORT][65] ([Intel XE#8007]) -> [PASS][66] +1 other test pass
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-1/igt@core_hotunplug@hotrebind-with-load.html
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-3/igt@core_hotunplug@hotrebind-with-load.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][67] ([Intel XE#7084] / [Intel XE#8150]) -> [PASS][68] +1 other test pass
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-9/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-bmg:          [FAIL][69] ([Intel XE#7571]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-9/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-lnl:          [FAIL][71] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [SKIP][73] ([Intel XE#1503]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-5/igt@kms_hdr@invalid-hdr.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-6/igt@kms_hdr@invalid-hdr.html

  * igt@xe_sriov_flr@flr-vfs-parallel:
    - shard-bmg:          [FAIL][75] ([Intel XE#6569]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-5/igt@xe_sriov_flr@flr-vfs-parallel.html
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-2/igt@xe_sriov_flr@flr-vfs-parallel.html

  
#### Warnings ####

  * igt@kms_big_fb@4-tiled-8bpp-rotate-90:
    - shard-lnl:          [SKIP][77] ([Intel XE#1407]) -> [ABORT][78] ([Intel XE#4760])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-lnl-6/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-lnl-2/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
    - shard-lnl:          [SKIP][79] ([Intel XE#309] / [Intel XE#7343]) -> [SKIP][80] ([Intel XE#309] / [Intel XE#7343] / [Intel XE#7935])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-lnl-4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-lnl-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-lnl:          [FAIL][81] ([Intel XE#301] / [Intel XE#3149]) -> [FAIL][82] ([Intel XE#301])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][83] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][84] ([Intel XE#3544])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][85] ([Intel XE#2509] / [Intel XE#7437]) -> [SKIP][86] ([Intel XE#2426] / [Intel XE#5848])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172513v2/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
  [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#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
  [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#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [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#4156]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4156
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
  [Intel XE#6814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6814
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901
  [Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
  [Intel XE#6927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6927
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
  [Intel XE#7344]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7344
  [Intel XE#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348
  [Intel XE#7349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7349
  [Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
  [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
  [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
  [Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
  [Intel XE#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
  [Intel XE#7387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7387
  [Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
  [Intel XE#7425]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7425
  [Intel XE#7428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7428
  [Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
  [Intel XE#7449]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7449
  [Intel XE#7571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7571
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7795]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7795
  [Intel XE#7935]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7935
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8303]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8303
  [Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8370
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
  [Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
  [Intel XE#8399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8399
  [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
-------------

  * IGT: IGT_9071 -> IGT_9073
  * Linux: xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad -> xe-pw-172513v2

  IGT_9071: 9071
  IGT_9073: b5d1c5cea5f6571e4a9cb3733ccc80a47862c0fc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5642-15e2ba2fb6d25c03d89519aec46f8d5be3e118ad: 15e2ba2fb6d25c03d89519aec46f8d5be3e118ad
  xe-pw-172513v2: 172513v2

== Logs ==

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

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

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

* Re: [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging
  2026-08-25 11:05 ` [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging Mallesh Koujalagi
  2026-08-25 11:22   ` sashiko-bot
@ 2026-08-27 10:57   ` Michal Wajdeczko
  2026-08-27 12:50     ` Mallesh, Koujalagi
  1 sibling, 1 reply; 21+ messages in thread
From: Michal Wajdeczko @ 2026-08-27 10:57 UTC (permalink / raw)
  To: Mallesh Koujalagi, intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, aravind.iddamsetty,
	umesh.nerlige.ramappa, dnyaneshwar.bhadane, anoop.c.vijay



On 8/25/2026 1:05 PM, Mallesh Koujalagi wrote:
> Use xe_log_err() helper and include additional details when a
> response header mismatch occurs.
> 
> Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
> ---
> v5:
> - Use %#x after REG_FIELD_GET change. (Michal)
> ---
>  drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 18 +++++++++++-------
>  1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> index f8b518dcafa2..5032d766b314 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> @@ -24,16 +24,16 @@ struct xe_sysctrl_mailbox_msg_hdr {
>  } __packed;
>  
>  #define XE_SYSCTRL_HDR_GROUP_ID(hdr) \
> -	FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
> +	REG_FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
>  
>  #define XE_SYSCTRL_HDR_COMMAND(hdr) \
> -	FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
> +	REG_FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
>  
>  #define XE_SYSCTRL_HDR_IS_RESPONSE(hdr) \
> -	FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
> +	REG_FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
>  
>  #define XE_SYSCTRL_HDR_RESULT(hdr) \
> -	FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
> +	REG_FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))

this should be mentioned in this commit message

nit: or maybe above changes should be done in its own patch?

>  
>  static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask,
>  				  unsigned int timeout_ms)
> @@ -237,13 +237,17 @@ static int sysctrl_receive_frames(struct xe_sysctrl *sc,
>  	if (!XE_SYSCTRL_HDR_IS_RESPONSE(hdr) ||
>  	    XE_SYSCTRL_HDR_GROUP_ID(hdr) != XE_SYSCTRL_HDR_GROUP_ID(req) ||
>  	    XE_SYSCTRL_HDR_COMMAND(hdr) != XE_SYSCTRL_HDR_COMMAND(req)) {
> -		xe_err(xe, "sysctrl: Response header mismatch\n");
> +		xe_log_err(xe, SYSCTRL, -EPROTO,
> +			   "Response header mismatch: got group=%#x cmd=%#x is_resp=%u, expected group=%#x cmd=%#x\n",
> +			   XE_SYSCTRL_HDR_GROUP_ID(hdr), XE_SYSCTRL_HDR_COMMAND(hdr),
> +			   XE_SYSCTRL_HDR_IS_RESPONSE(hdr),
> +			   XE_SYSCTRL_HDR_GROUP_ID(req), XE_SYSCTRL_HDR_COMMAND(req));

nit: as admin may not know what is "group" "cmd" "resp"
maybe we can just log raw hdr value?

	"Response header mismatch: %#x\n", hdr

>  		return -EPROTO;
>  	}
>  
>  	if (XE_SYSCTRL_HDR_RESULT(hdr) != 0) {
> -		xe_err(xe, "sysctrl: Firmware error: 0x%02lx\n",
> -		       XE_SYSCTRL_HDR_RESULT(hdr));
> +		xe_log_err(xe, SYSCTRL, -EIO, "Firmware error: %#04x\n",
> +			   XE_SYSCTRL_HDR_RESULT(hdr));
>  		return -EIO;
>  	}
>  


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

* Re: [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure
  2026-08-25 11:05 ` [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure Mallesh Koujalagi
  2026-08-25 11:21   ` sashiko-bot
@ 2026-08-27 11:01   ` Michal Wajdeczko
  1 sibling, 0 replies; 21+ messages in thread
From: Michal Wajdeczko @ 2026-08-27 11:01 UTC (permalink / raw)
  To: Mallesh Koujalagi, intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, aravind.iddamsetty,
	umesh.nerlige.ramappa, dnyaneshwar.bhadane, anoop.c.vijay



On 8/25/2026 1:05 PM, Mallesh Koujalagi wrote:
> Include the mailbox group ID and command code in error logs
> for command preparation and execution failures.
> 
> Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
> ---
> v5:
> - Use REG_FIELD_GET instead of FIELD_GET. (Michal)
> - Modify logging message.
> ---
>  drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 6 ++++--
>  drivers/gpu/drm/xe/xe_sysctrl_mailbox.h | 6 +++---
>  2 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> index 5032d766b314..f55f72fce994 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
> @@ -373,7 +373,8 @@ int xe_sysctrl_send_command(struct xe_sysctrl *sc,
>  				      cmd->data_in, cmd->data_in_len,
>  				      &mbox_cmd, &cmd_size);
>  	if (ret) {
> -		xe_err(xe, "sysctrl: Failed to prepare command: %pe\n", ERR_PTR(ret));
> +		xe_log_err(xe, SYSCTRL, ret, "Failed to prepare command %#x.%#x\n",
> +			   group_id, command_code);
>  		return ret;
>  	}
>  
> @@ -383,7 +384,8 @@ int xe_sysctrl_send_command(struct xe_sysctrl *sc,
>  				   cmd->data_out, cmd->data_out_len, rdata_len,
>  				   XE_SYSCTRL_MB_DEFAULT_TIMEOUT_MS);
>  	if (ret)
> -		xe_err(xe, "sysctrl: Mailbox command failed: %pe\n", ERR_PTR(ret));
> +		xe_log_err(xe, SYSCTRL, ret, "Mailbox command %#x.%#x error\n",
> +			   group_id, command_code);

nit: maybe to make this msg similar to the previous one:

	"Failed to send command %#x.%#x\n"

>  
>  	kfree(mbox_cmd);
>  
> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
> index fb434cc165b2..df7dfe3b39e2 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.h
> @@ -15,13 +15,13 @@ struct xe_sysctrl;
>  struct xe_sysctrl_mailbox_command;
>  
>  #define XE_SYSCTRL_APP_HDR_GROUP_ID(hdr) \
> -	FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data)
> +	REG_FIELD_GET(APP_HDR_GROUP_ID_MASK, (hdr)->data)
>  
>  #define XE_SYSCTRL_APP_HDR_COMMAND(hdr) \
> -	FIELD_GET(APP_HDR_COMMAND_MASK, (hdr)->data)
> +	REG_FIELD_GET(APP_HDR_COMMAND_MASK, (hdr)->data)
>  
>  #define XE_SYSCTRL_APP_HDR_VERSION(hdr) \
> -	FIELD_GET(APP_HDR_VERSION_MASK, (hdr)->data)
> +	REG_FIELD_GET(APP_HDR_VERSION_MASK, (hdr)->data)

nit: we should likely mention that change in the commit msg

but anyway,

Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>  
>  void xe_sysctrl_create_command(struct xe_sysctrl_mailbox_command *command, u8 group_id, u8 cmd_id,
>  			       void *request, size_t request_len, void *response,


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

* Re: [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID
  2026-08-25 11:05 ` [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID Mallesh Koujalagi
  2026-08-25 11:18   ` sashiko-bot
@ 2026-08-27 11:06   ` Michal Wajdeczko
  1 sibling, 0 replies; 21+ messages in thread
From: Michal Wajdeczko @ 2026-08-27 11:06 UTC (permalink / raw)
  To: Mallesh Koujalagi, intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, aravind.iddamsetty,
	umesh.nerlige.ramappa, dnyaneshwar.bhadane, anoop.c.vijay



On 8/25/2026 1:05 PM, Mallesh Koujalagi wrote:
> Report 'System Controller event' error using xe_log() helpers.
> 
> Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
> ---
> v5:
> - Change Error as EXFULL. (Michal)
> - Update logging message.
> ---
>  drivers/gpu/drm/xe/xe_sysctrl_event.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_event.c b/drivers/gpu/drm/xe/xe_sysctrl_event.c
> index da395148ee9d..7a3aa0aad6a3 100644
> --- a/drivers/gpu/drm/xe/xe_sysctrl_event.c
> +++ b/drivers/gpu/drm/xe/xe_sysctrl_event.c
> @@ -5,6 +5,7 @@
>  
>  #include "xe_device.h"
>  #include "xe_irq.h"
> +#include "xe_log.h"
>  #include "xe_printk.h"
>  #include "xe_ras.h"
>  #include "xe_sysctrl.h"
> @@ -25,23 +26,26 @@ static void get_pending_event(struct xe_sysctrl *sc, struct xe_sysctrl_mailbox_c
>  
>  		ret = xe_sysctrl_send_command(sc, command, &len);
>  		if (ret) {
> -			xe_err(xe, "sysctrl: failed to get pending event %d\n", ret);
> +			xe_log_err(xe, SYSCTRL, ret, "Failed to get pending event\n");
>  			return;
>  		}
>  
>  		if (len != sizeof(*response)) {
> -			xe_err(xe, "sysctrl: unexpected event response length %zu (expected %zu)\n",
> -			       len, sizeof(*response));
> +			xe_log_err(xe, SYSCTRL, -EMSGSIZE,

nit: maybe this should be -EPROTO (as it breaks ABI protocol)

> +				   "Unexpected event response length %zu (expected %zu)\n",
> +				   len, sizeof(*response));
>  			return;
>  		}
>  
>  		if (response->event == XE_SYSCTRL_EVENT_THRESHOLD_CROSSED)
>  			xe_ras_counter_threshold_crossed(xe, response);
>  		else
> -			xe_warn(xe, "sysctrl: unexpected event %#x\n", response->event);
> +			xe_log_err_info(xe, SYSCTRL, -EPROTO,

and then this one should be -ENOPKG as maybe this is just our missing
implementation for some valid future event type?
> +					"Unexpected event %#x\n", response->event);
>  
>  		if (!--count) {
> -			xe_err(xe, "sysctrl: event flooding\n");
> +			xe_log_err(xe, SYSCTRL, -EXFULL,
> +				   "Ignored %u events due to flooding\n", response->count);
>  			return;
>  		}
>  

anyway,

Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>


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

* Re: [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging
  2026-08-27 10:57   ` Michal Wajdeczko
@ 2026-08-27 12:50     ` Mallesh, Koujalagi
  2026-08-27 14:40       ` Michal Wajdeczko
  0 siblings, 1 reply; 21+ messages in thread
From: Mallesh, Koujalagi @ 2026-08-27 12:50 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, aravind.iddamsetty,
	umesh.nerlige.ramappa, dnyaneshwar.bhadane, anoop.c.vijay


On 27-08-2026 04:27 pm, Michal Wajdeczko wrote:
>
> On 8/25/2026 1:05 PM, Mallesh Koujalagi wrote:
>> Use xe_log_err() helper and include additional details when a
>> response header mismatch occurs.
>>
>> Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
>> ---
>> v5:
>> - Use %#x after REG_FIELD_GET change. (Michal)
>> ---
>>   drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 18 +++++++++++-------
>>   1 file changed, 11 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
>> index f8b518dcafa2..5032d766b314 100644
>> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
>> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
>> @@ -24,16 +24,16 @@ struct xe_sysctrl_mailbox_msg_hdr {
>>   } __packed;
>>   
>>   #define XE_SYSCTRL_HDR_GROUP_ID(hdr) \
>> -	FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
>> +	REG_FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
>>   
>>   #define XE_SYSCTRL_HDR_COMMAND(hdr) \
>> -	FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
>> +	REG_FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
>>   
>>   #define XE_SYSCTRL_HDR_IS_RESPONSE(hdr) \
>> -	FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
>> +	REG_FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
>>   
>>   #define XE_SYSCTRL_HDR_RESULT(hdr) \
>> -	FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
>> +	REG_FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
> this should be mentioned in this commit message
>
> nit: or maybe above changes should be done in its own patch?
Sure! will make different patch for that.
>
>>   
>>   static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask,
>>   				  unsigned int timeout_ms)
>> @@ -237,13 +237,17 @@ static int sysctrl_receive_frames(struct xe_sysctrl *sc,
>>   	if (!XE_SYSCTRL_HDR_IS_RESPONSE(hdr) ||
>>   	    XE_SYSCTRL_HDR_GROUP_ID(hdr) != XE_SYSCTRL_HDR_GROUP_ID(req) ||
>>   	    XE_SYSCTRL_HDR_COMMAND(hdr) != XE_SYSCTRL_HDR_COMMAND(req)) {
>> -		xe_err(xe, "sysctrl: Response header mismatch\n");
>> +		xe_log_err(xe, SYSCTRL, -EPROTO,
>> +			   "Response header mismatch: got group=%#x cmd=%#x is_resp=%u, expected group=%#x cmd=%#x\n",
>> +			   XE_SYSCTRL_HDR_GROUP_ID(hdr), XE_SYSCTRL_HDR_COMMAND(hdr),
>> +			   XE_SYSCTRL_HDR_IS_RESPONSE(hdr),
>> +			   XE_SYSCTRL_HDR_GROUP_ID(req), XE_SYSCTRL_HDR_COMMAND(req));
> nit: as admin may not know what is "group" "cmd" "resp"
> maybe we can just log raw hdr value?
>
> 	"Response header mismatch: %#x\n", hdr

"Response header mismatch: got=%#x expected=%#x\n", 
le32_to_cpu(hdr->data), le32_to_cpu(req->data)); please let me know, is 
this fine?

Thanks,

-/Mallesh

>>   		return -EPROTO;
>>   	}
>>   
>>   	if (XE_SYSCTRL_HDR_RESULT(hdr) != 0) {
>> -		xe_err(xe, "sysctrl: Firmware error: 0x%02lx\n",
>> -		       XE_SYSCTRL_HDR_RESULT(hdr));
>> +		xe_log_err(xe, SYSCTRL, -EIO, "Firmware error: %#04x\n",
>> +			   XE_SYSCTRL_HDR_RESULT(hdr));
>>   		return -EIO;
>>   	}
>>   

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

* Re: [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging
  2026-08-27 12:50     ` Mallesh, Koujalagi
@ 2026-08-27 14:40       ` Michal Wajdeczko
  0 siblings, 0 replies; 21+ messages in thread
From: Michal Wajdeczko @ 2026-08-27 14:40 UTC (permalink / raw)
  To: Mallesh, Koujalagi, intel-xe, rodrigo.vivi, matthew.brost
  Cc: anshuman.gupta, badal.nilawar, vinay.belgaumkar, riana.tauro,
	karthik.poosa, sk.anirban, raag.jadav, aravind.iddamsetty,
	umesh.nerlige.ramappa, dnyaneshwar.bhadane, anoop.c.vijay



On 8/27/2026 2:50 PM, Mallesh, Koujalagi wrote:
> 
> On 27-08-2026 04:27 pm, Michal Wajdeczko wrote:
>>
>> On 8/25/2026 1:05 PM, Mallesh Koujalagi wrote:
>>> Use xe_log_err() helper and include additional details when a
>>> response header mismatch occurs.
>>>
>>> Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
>>> ---
>>> v5:
>>> - Use %#x after REG_FIELD_GET change. (Michal)
>>> ---
>>>   drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 18 +++++++++++-------
>>>   1 file changed, 11 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
>>> index f8b518dcafa2..5032d766b314 100644
>>> --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
>>> +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c
>>> @@ -24,16 +24,16 @@ struct xe_sysctrl_mailbox_msg_hdr {
>>>   } __packed;
>>>     #define XE_SYSCTRL_HDR_GROUP_ID(hdr) \
>>> -    FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
>>> +    REG_FIELD_GET(SYSCTRL_HDR_GROUP_ID_MASK, le32_to_cpu((hdr)->data))
>>>     #define XE_SYSCTRL_HDR_COMMAND(hdr) \
>>> -    FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
>>> +    REG_FIELD_GET(SYSCTRL_HDR_COMMAND_MASK, le32_to_cpu((hdr)->data))
>>>     #define XE_SYSCTRL_HDR_IS_RESPONSE(hdr) \
>>> -    FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
>>> +    REG_FIELD_GET(SYSCTRL_HDR_IS_RESPONSE, le32_to_cpu((hdr)->data))
>>>     #define XE_SYSCTRL_HDR_RESULT(hdr) \
>>> -    FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
>>> +    REG_FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data))
>> this should be mentioned in this commit message
>>
>> nit: or maybe above changes should be done in its own patch?
> Sure! will make different patch for that.
>>
>>>     static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask,
>>>                     unsigned int timeout_ms)
>>> @@ -237,13 +237,17 @@ static int sysctrl_receive_frames(struct xe_sysctrl *sc,
>>>       if (!XE_SYSCTRL_HDR_IS_RESPONSE(hdr) ||
>>>           XE_SYSCTRL_HDR_GROUP_ID(hdr) != XE_SYSCTRL_HDR_GROUP_ID(req) ||
>>>           XE_SYSCTRL_HDR_COMMAND(hdr) != XE_SYSCTRL_HDR_COMMAND(req)) {
>>> -        xe_err(xe, "sysctrl: Response header mismatch\n");
>>> +        xe_log_err(xe, SYSCTRL, -EPROTO,
>>> +               "Response header mismatch: got group=%#x cmd=%#x is_resp=%u, expected group=%#x cmd=%#x\n",
>>> +               XE_SYSCTRL_HDR_GROUP_ID(hdr), XE_SYSCTRL_HDR_COMMAND(hdr),
>>> +               XE_SYSCTRL_HDR_IS_RESPONSE(hdr),
>>> +               XE_SYSCTRL_HDR_GROUP_ID(req), XE_SYSCTRL_HDR_COMMAND(req));
>> nit: as admin may not know what is "group" "cmd" "resp"
>> maybe we can just log raw hdr value?
>>
>>     "Response header mismatch: %#x\n", hdr
> 
> "Response header mismatch: got=%#x expected=%#x\n", le32_to_cpu(hdr->data), le32_to_cpu(req->data)); please let me know, is this fine?

looks fine, but it could be even simpler:

     "Response header mismatch: %#x != %#x\n"

> 
> Thanks,
> 
> -/Mallesh
> 
>>>           return -EPROTO;
>>>       }
>>>         if (XE_SYSCTRL_HDR_RESULT(hdr) != 0) {
>>> -        xe_err(xe, "sysctrl: Firmware error: 0x%02lx\n",
>>> -               XE_SYSCTRL_HDR_RESULT(hdr));
>>> +        xe_log_err(xe, SYSCTRL, -EIO, "Firmware error: %#04x\n",
>>> +               XE_SYSCTRL_HDR_RESULT(hdr));
>>>           return -EIO;
>>>       }
>>>   


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

end of thread, other threads:[~2026-08-27 14:40 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-25 11:05 [PATCH v5 0/7] drm/xe/sysctrl: Clean up error handling in Mallesh Koujalagi
2026-08-25 11:05 ` [PATCH v5 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear() Mallesh Koujalagi
2026-08-25 11:24   ` sashiko-bot
2026-08-25 11:05 ` [PATCH v5 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set() Mallesh Koujalagi
2026-08-25 11:24   ` sashiko-bot
2026-08-25 11:05 ` [PATCH v5 3/7] drm/xe/sysctrl: Make sysctrl_write_frame() void Mallesh Koujalagi
2026-08-25 11:05 ` [PATCH v5 4/7] drm/xe/sysctrl: Use xe_assert() for payload size validation Mallesh Koujalagi
2026-08-25 11:05 ` [PATCH v5 5/7] drm/xe/sysctrl: Improve firmware response error logging Mallesh Koujalagi
2026-08-25 11:22   ` sashiko-bot
2026-08-27 10:57   ` Michal Wajdeczko
2026-08-27 12:50     ` Mallesh, Koujalagi
2026-08-27 14:40       ` Michal Wajdeczko
2026-08-25 11:05 ` [PATCH v5 6/7] drm/xe/sysctrl: Log group and command ID on mailbox failure Mallesh Koujalagi
2026-08-25 11:21   ` sashiko-bot
2026-08-27 11:01   ` Michal Wajdeczko
2026-08-25 11:05 ` [PATCH v5 7/7] drm/xe/sysctrl: Report 'System Controller event' error using SIGID Mallesh Koujalagi
2026-08-25 11:18   ` sashiko-bot
2026-08-27 11:06   ` Michal Wajdeczko
2026-08-25 11:13 ` ✓ CI.KUnit: success for drm/xe/sysctrl: Clean up error handling in (rev2) Patchwork
2026-08-25 11:50 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-25 16:29 ` ✗ Xe.CI.FULL: failure " Patchwork

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