Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/xe/debugfs: Expose per-engine idle status
@ 2026-06-09 19:51 Sk Anirban
  2026-06-17  8:29 ` Purkait, Soham
  0 siblings, 1 reply; 10+ messages in thread
From: Sk Anirban @ 2026-06-09 19:51 UTC (permalink / raw)
  To: intel-xe
  Cc: anshuman.gupta, badal.nilawar, riana.tauro, karthik.poosa,
	raag.jadav, soham.purkait, mallesh.koujalagi, vinay.belgaumkar,
	Sk Anirban

Add a GT debugfs entry that iterates over engines and reports
whether each engine is active or idle. This can help debug C6
issues by identifying engines that may be preventing the GT
from going idle.

Signed-off-by: Sk Anirban <sk.anirban@intel.com>
---
 drivers/gpu/drm/xe/xe_gt_debugfs.c | 31 +++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
index f45306308cd6..d404467146d1 100644
--- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
@@ -10,6 +10,8 @@
 #include <drm/drm_debugfs.h>
 #include <drm/drm_managed.h>
 
+#include "regs/xe_engine_regs.h"
+
 #include "xe_device.h"
 #include "xe_force_wake.h"
 #include "xe_gt.h"
@@ -115,8 +117,10 @@ static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
 	enum xe_hw_engine_id id;
 
 	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
-	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL))
+	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) {
+		drm_printf(p, "ERROR: Could not acquire forcewake\n");
 		return -ETIMEDOUT;
+	}
 
 	for_each_hw_engine(hwe, gt, id)
 		xe_hw_engine_print(hwe, p);
@@ -124,6 +128,30 @@ static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
 	return 0;
 }
 
+static bool hw_engine_is_active(struct xe_hw_engine *hwe)
+{
+	u32 head = xe_hw_engine_mmio_read32(hwe, RING_HEAD(0));
+	u32 tail = xe_hw_engine_mmio_read32(hwe, RING_TAIL(0));
+
+	return (head & HEAD_ADDR) != (tail & TAIL_ADDR);
+}
+
+static int hw_engine_status(struct xe_gt *gt, struct drm_printer *p)
+{
+	struct xe_hw_engine *hwe;
+	enum xe_hw_engine_id id;
+
+	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL))
+		return -ETIMEDOUT;
+
+	for_each_hw_engine(hwe, gt, id)
+		drm_printf(p, "%s: %s\n", hwe->name,
+			   hw_engine_is_active(hwe) ? "active" : "idle");
+
+	return 0;
+}
+
 static int steering(struct xe_gt *gt, struct drm_printer *p)
 {
 	xe_gt_mcr_steering_dump(gt, p);
@@ -240,6 +268,7 @@ static const struct drm_info_list vf_safe_debugfs_list[] = {
 /* everything else should be added here */
 static const struct drm_info_list pf_only_debugfs_list[] = {
 	{ "hw_engines", .show = xe_gt_debugfs_show_with_rpm, .data = hw_engines },
+	{ "hw_engine_status", .show = xe_gt_debugfs_show_with_rpm, .data = hw_engine_status },
 	{ "mocs", .show = xe_gt_debugfs_show_with_rpm, .data = xe_mocs_dump },
 	{ "pat", .show = xe_gt_debugfs_show_with_rpm, .data = xe_pat_dump },
 	{ "powergate_info", .show = xe_gt_debugfs_show_with_rpm, .data = xe_gt_idle_pg_print },
-- 
2.43.0


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

* Re: [PATCH] drm/xe/debugfs: Expose per-engine idle status
  2026-06-09 19:51 Sk Anirban
@ 2026-06-17  8:29 ` Purkait, Soham
  0 siblings, 0 replies; 10+ messages in thread
From: Purkait, Soham @ 2026-06-17  8:29 UTC (permalink / raw)
  To: Sk Anirban, intel-xe
  Cc: anshuman.gupta, badal.nilawar, riana.tauro, karthik.poosa,
	raag.jadav, mallesh.koujalagi, vinay.belgaumkar

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

Hi Airban,

On 10-06-2026 01:21, Sk Anirban wrote:
> Add a GT debugfs entry that iterates over engines and reports
> whether each engine is active or idle. This can help debug C6
> issues by identifying engines that may be preventing the GT
> from going idle.
>
> Signed-off-by: Sk Anirban<sk.anirban@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_gt_debugfs.c | 31 +++++++++++++++++++++++++++++-
>   1 file changed, 30 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> index f45306308cd6..d404467146d1 100644
> --- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> @@ -10,6 +10,8 @@
>   #include <drm/drm_debugfs.h>
>   #include <drm/drm_managed.h>
>   
> +#include "regs/xe_engine_regs.h"
> +
>   #include "xe_device.h"
>   #include "xe_force_wake.h"
>   #include "xe_gt.h" @@ -115,8 +117,10 @@ static int hw_engines(struct xe_gt *gt, struct 
> drm_printer *p) enum xe_hw_engine_id id; CLASS(xe_force_wake, 
> fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL); - if 
> (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) + if 
> (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) { + 
> drm_printf(p, "ERROR: Could not acquire forcewake\n");
>   		return -ETIMEDOUT;
> +	}
>   
>   	for_each_hw_engine(hwe, gt, id)
>   		xe_hw_engine_print(hwe, p);
> @@ -124,6 +128,30 @@ static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
>   	return 0;
>   }
>   
> +static bool hw_engine_is_active(struct xe_hw_engine *hwe)
Should it be renamed as is_ring_empty or something similar ? Why the 
active ticks are nor being checked to evaluate the busyness ?
> +{
> +	u32 head = xe_hw_engine_mmio_read32(hwe, RING_HEAD(0));
> +	u32 tail = xe_hw_engine_mmio_read32(hwe, RING_TAIL(0));
> +
> +	return (head & HEAD_ADDR) != (tail & TAIL_ADDR);
> +}
> +
> +static int hw_engine_status(struct xe_gt *gt, struct drm_printer *p)
> +{
> +	struct xe_hw_engine *hwe;
> +	enum xe_hw_engine_id id;
> +
> +	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
> +	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL))

It silently returns -ETIMEDOUT on  failure. Better, a reason could be 
emitted as done for hw_engine().

Thanks, Soham

> +		return -ETIMEDOUT;
> +
> +	for_each_hw_engine(hwe, gt, id)
> +		drm_printf(p, "%s: %s\n", hwe->name,
> +			   hw_engine_is_active(hwe) ? "active" : "idle");
> +
> +	return 0;
> +}
> +
>   static int steering(struct xe_gt *gt, struct drm_printer *p)
>   {
>   	xe_gt_mcr_steering_dump(gt, p);
> @@ -240,6 +268,7 @@ static const struct drm_info_list vf_safe_debugfs_list[] = {
>   /* everything else should be added here */
>   static const struct drm_info_list pf_only_debugfs_list[] = {
>   	{ "hw_engines", .show = xe_gt_debugfs_show_with_rpm, .data = hw_engines },
> +	{ "hw_engine_status", .show = xe_gt_debugfs_show_with_rpm, .data = hw_engine_status },
>   	{ "mocs", .show = xe_gt_debugfs_show_with_rpm, .data = xe_mocs_dump },
>   	{ "pat", .show = xe_gt_debugfs_show_with_rpm, .data = xe_pat_dump },
>   	{ "powergate_info", .show = xe_gt_debugfs_show_with_rpm, .data = xe_gt_idle_pg_print },

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

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

* [PATCH] drm/xe/debugfs: Expose per-engine idle status
@ 2026-07-16 15:06 Sk Anirban
  0 siblings, 0 replies; 10+ messages in thread
From: Sk Anirban @ 2026-07-16 15:06 UTC (permalink / raw)
  To: intel-xe
  Cc: anshuman.gupta, badal.nilawar, riana.tauro, karthik.poosa,
	raag.jadav, soham.purkait, mallesh.koujalagi, vinay.belgaumkar,
	matthew.brost, rodrigo.vivi, Sk Anirban

Introduce a "hw_engine_msg_idle" debugfs that iterates over all
hardware engines and dumps their idle state: whether the engine
pipe is idle or busy, whether C6 entry is allowed, and (where available)
the forcewake request status.

Signed-off-by: Sk Anirban <sk.anirban@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_gt_regs.h | 27 +++++++++++
 drivers/gpu/drm/xe/xe_gt_debugfs.c   | 69 ++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+)

diff --git a/drivers/gpu/drm/xe/regs/xe_gt_regs.h b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
index 08251c7a1a4b..accf3012bad2 100644
--- a/drivers/gpu/drm/xe/regs/xe_gt_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
@@ -196,6 +196,33 @@
 #define   MSC_MSAA_REODER_BUF_BYPASS_DISABLE	REG_BIT(14)
 #define   FAST_CLEAR_VALIGN_FIX			REG_BIT(13)
 
+#define MSG_IDLE_CS				XE_REG(0x8000)
+#define MSG_IDLE_VCS0				XE_REG(0x8004)
+#define MSG_IDLE_VCS1				XE_REG(0x8008)
+#define MSG_IDLE_VCS2				XE_REG(0x80C0)
+#define MSG_IDLE_VCS3				XE_REG(0x80C4)
+#define MSG_IDLE_VCS4				XE_REG(0x80C8)
+#define MSG_IDLE_VCS5				XE_REG(0x80CC)
+#define MSG_IDLE_VCS6				XE_REG(0x80D0)
+#define MSG_IDLE_VCS7				XE_REG(0x80D4)
+#define MSG_IDLE_VECS0				XE_REG(0x8010)
+#define MSG_IDLE_VECS1				XE_REG(0x80D8)
+#define MSG_IDLE_VECS2				XE_REG(0x80DC)
+#define MSG_IDLE_VECS3				XE_REG(0x80E0)
+#define MSG_IDLE_BCS0				XE_REG(0x800C)
+#define MSG_IDLE_BCS1				XE_REG(0x8680)
+#define MSG_IDLE_BCS2				XE_REG(0x8684)
+#define MSG_IDLE_BCS3				XE_REG(0x8688)
+#define MSG_IDLE_BCS4				XE_REG(0x868C)
+#define MSG_IDLE_BCS5				XE_REG(0x8690)
+#define MSG_IDLE_BCS6				XE_REG(0x8694)
+#define MSG_IDLE_BCS7				XE_REG(0x8698)
+#define MSG_IDLE_BCS8				XE_REG(0x869C)
+#define MSG_IDLE_GSCCS0				XE_REG(0xA62C)
+#define   MSG_IDLE_INDICATION			REG_BIT(0)
+#define   MSG_IDLE_C6_ALLOWED			REG_BIT(1)
+#define   MSG_IDLE_FW_STATUS			REG_GENMASK(13, 9)
+
 #define XE2LPM_CCCHKNREG1			XE_REG(0x82a8)
 
 #define VF_PREEMPTION				XE_REG(0x83a4, XE_REG_OPTION_MASKED)
diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
index c38bcacb27e4..a2fc2aadb866 100644
--- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
@@ -10,6 +10,7 @@
 #include <drm/drm_debugfs.h>
 #include <drm/drm_managed.h>
 
+#include "regs/xe_gt_regs.h"
 #include "xe_device.h"
 #include "xe_force_wake.h"
 #include "xe_gt.h"
@@ -22,6 +23,7 @@
 #include "xe_guc_hwconfig.h"
 #include "xe_hw_engine.h"
 #include "xe_lrc.h"
+#include "xe_mmio.h"
 #include "xe_mocs.h"
 #include "xe_pat.h"
 #include "xe_pm.h"
@@ -124,6 +126,72 @@ static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
 	return 0;
 }
 
+static int hw_engine_msg_idle(struct xe_gt *gt, struct drm_printer *p)
+{
+	static const struct {
+		struct xe_reg reg;
+		bool has_fw;
+	} msg_idle_reg[XE_NUM_HW_ENGINES] = {
+		[XE_HW_ENGINE_RCS0] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_BCS0] = { MSG_IDLE_BCS0, true },
+		[XE_HW_ENGINE_BCS1] = { MSG_IDLE_BCS1, false },
+		[XE_HW_ENGINE_BCS2] = { MSG_IDLE_BCS2, false },
+		[XE_HW_ENGINE_BCS3] = { MSG_IDLE_BCS3, false },
+		[XE_HW_ENGINE_BCS4] = { MSG_IDLE_BCS4, false },
+		[XE_HW_ENGINE_BCS5] = { MSG_IDLE_BCS5, false },
+		[XE_HW_ENGINE_BCS6] = { MSG_IDLE_BCS6, false },
+		[XE_HW_ENGINE_BCS7] = { MSG_IDLE_BCS7, false },
+		[XE_HW_ENGINE_BCS8] = { MSG_IDLE_BCS8, false },
+		[XE_HW_ENGINE_VCS0] = { MSG_IDLE_VCS0, true },
+		[XE_HW_ENGINE_VCS1] = { MSG_IDLE_VCS1, true },
+		[XE_HW_ENGINE_VCS2] = { MSG_IDLE_VCS2, true },
+		[XE_HW_ENGINE_VCS3] = { MSG_IDLE_VCS3, true },
+		[XE_HW_ENGINE_VCS4] = { MSG_IDLE_VCS4, true },
+		[XE_HW_ENGINE_VCS5] = { MSG_IDLE_VCS5, true },
+		[XE_HW_ENGINE_VCS6] = { MSG_IDLE_VCS6, true },
+		[XE_HW_ENGINE_VCS7] = { MSG_IDLE_VCS7, true },
+		[XE_HW_ENGINE_VECS0] = { MSG_IDLE_VECS0, true },
+		[XE_HW_ENGINE_VECS1] = { MSG_IDLE_VECS1, true },
+		[XE_HW_ENGINE_VECS2] = { MSG_IDLE_VECS2, true },
+		[XE_HW_ENGINE_VECS3] = { MSG_IDLE_VECS3, true },
+		[XE_HW_ENGINE_CCS0] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_CCS1] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_CCS2] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_CCS3] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_GSCCS0] = { MSG_IDLE_GSCCS0, false },
+	};
+	struct xe_hw_engine *hwe;
+	enum xe_hw_engine_id id;
+
+	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) {
+		drm_printf(p, "ERROR: Could not acquire forcewake\n");
+		return -ETIMEDOUT;
+	}
+
+	for_each_hw_engine(hwe, gt, id) {
+		struct xe_reg reg = msg_idle_reg[id].reg;
+		u32 val;
+
+		if (!reg.addr)
+			continue;
+
+		val = xe_mmio_read32(&gt->mmio, reg);
+
+		if (msg_idle_reg[id].has_fw)
+			drm_printf(p, "%s:\tpipe %s, C6 %s, fw_req 0x%02x\n", hwe->name,
+				   val & MSG_IDLE_INDICATION ? "idle" : "busy",
+				   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not allowed",
+				   REG_FIELD_GET(MSG_IDLE_FW_STATUS, val));
+		else
+			drm_printf(p, "%s:\tpipe %s, C6 %s\n", hwe->name,
+				   val & MSG_IDLE_INDICATION ? "idle" : "busy",
+				   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not allowed");
+	}
+
+	return 0;
+}
+
 static int steering(struct xe_gt *gt, struct drm_printer *p)
 {
 	xe_gt_mcr_steering_dump(gt, p);
@@ -242,6 +310,7 @@ static const struct drm_info_list vf_safe_debugfs_list[] = {
 /* everything else should be added here */
 static const struct drm_info_list pf_only_debugfs_list[] = {
 	{ "hw_engines", .show = xe_gt_debugfs_show_with_rpm, .data = hw_engines },
+	{ "hw_engine_msg_idle", .show = xe_gt_debugfs_show_with_rpm, .data = hw_engine_msg_idle },
 	{ "mocs", .show = xe_gt_debugfs_show_with_rpm, .data = xe_mocs_dump },
 	{ "pat", .show = xe_gt_debugfs_show_with_rpm, .data = xe_pat_dump },
 	{ "powergate_info", .show = xe_gt_debugfs_show_with_rpm, .data = xe_gt_idle_pg_print },
-- 
2.43.0


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

* [PATCH] drm/xe/debugfs: Expose per-engine idle status
@ 2026-07-23 19:43 Sk Anirban
  2026-07-24  7:16 ` ✓ CI.KUnit: success for drm/xe/debugfs: Expose per-engine idle status (rev3) Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Sk Anirban @ 2026-07-23 19:43 UTC (permalink / raw)
  To: intel-xe
  Cc: anshuman.gupta, badal.nilawar, riana.tauro, karthik.poosa,
	raag.jadav, soham.purkait, mallesh.koujalagi, vinay.belgaumkar,
	matthew.brost, rodrigo.vivi, michal.wajdeczko, Sk Anirban

Extend the existing "hw_engines" debugfs to iterate over all hardware
engines and dump their idle state: whether the engine pipe is idle or
busy, whether C6 entry is allowed, and (where available) the forcewake
request status.

v2: Use existing debugfs (Matt Brost)

Signed-off-by: Sk Anirban <sk.anirban@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_gt_regs.h | 27 ++++++++++++++
 drivers/gpu/drm/xe/xe_devcoredump.c  |  4 ++-
 drivers/gpu/drm/xe/xe_gt_debugfs.c   | 54 +++++++++++++++++++++++++++-
 drivers/gpu/drm/xe/xe_guc_capture.c  |  2 --
 4 files changed, 83 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/regs/xe_gt_regs.h b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
index 08251c7a1a4b..accf3012bad2 100644
--- a/drivers/gpu/drm/xe/regs/xe_gt_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
@@ -196,6 +196,33 @@
 #define   MSC_MSAA_REODER_BUF_BYPASS_DISABLE	REG_BIT(14)
 #define   FAST_CLEAR_VALIGN_FIX			REG_BIT(13)
 
+#define MSG_IDLE_CS				XE_REG(0x8000)
+#define MSG_IDLE_VCS0				XE_REG(0x8004)
+#define MSG_IDLE_VCS1				XE_REG(0x8008)
+#define MSG_IDLE_VCS2				XE_REG(0x80C0)
+#define MSG_IDLE_VCS3				XE_REG(0x80C4)
+#define MSG_IDLE_VCS4				XE_REG(0x80C8)
+#define MSG_IDLE_VCS5				XE_REG(0x80CC)
+#define MSG_IDLE_VCS6				XE_REG(0x80D0)
+#define MSG_IDLE_VCS7				XE_REG(0x80D4)
+#define MSG_IDLE_VECS0				XE_REG(0x8010)
+#define MSG_IDLE_VECS1				XE_REG(0x80D8)
+#define MSG_IDLE_VECS2				XE_REG(0x80DC)
+#define MSG_IDLE_VECS3				XE_REG(0x80E0)
+#define MSG_IDLE_BCS0				XE_REG(0x800C)
+#define MSG_IDLE_BCS1				XE_REG(0x8680)
+#define MSG_IDLE_BCS2				XE_REG(0x8684)
+#define MSG_IDLE_BCS3				XE_REG(0x8688)
+#define MSG_IDLE_BCS4				XE_REG(0x868C)
+#define MSG_IDLE_BCS5				XE_REG(0x8690)
+#define MSG_IDLE_BCS6				XE_REG(0x8694)
+#define MSG_IDLE_BCS7				XE_REG(0x8698)
+#define MSG_IDLE_BCS8				XE_REG(0x869C)
+#define MSG_IDLE_GSCCS0				XE_REG(0xA62C)
+#define   MSG_IDLE_INDICATION			REG_BIT(0)
+#define   MSG_IDLE_C6_ALLOWED			REG_BIT(1)
+#define   MSG_IDLE_FW_STATUS			REG_GENMASK(13, 9)
+
 #define XE2LPM_CCCHKNREG1			XE_REG(0x82a8)
 
 #define VF_PREEMPTION				XE_REG(0x83a4, XE_REG_OPTION_MASKED)
diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index 5f2b90b18f97..b918f046ae15 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -127,8 +127,10 @@ static ssize_t __xe_devcoredump_read(char *buffer, ssize_t count,
 
 	drm_puts(&p, "\n**** HW Engines ****\n");
 	for (i = 0; i < XE_NUM_HW_ENGINES; i++)
-		if (ss->hwe[i])
+		if (ss->hwe[i]) {
 			xe_engine_snapshot_print(ss->hwe[i], &p);
+			drm_puts(&p, "\n");
+		}
 
 	drm_puts(&p, "\n**** VM state ****\n");
 	xe_vm_snapshot_print(ss->vm, &p);
diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
index c38bcacb27e4..621d1e57e997 100644
--- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
@@ -10,6 +10,7 @@
 #include <drm/drm_debugfs.h>
 #include <drm/drm_managed.h>
 
+#include "regs/xe_gt_regs.h"
 #include "xe_device.h"
 #include "xe_force_wake.h"
 #include "xe_gt.h"
@@ -22,6 +23,7 @@
 #include "xe_guc_hwconfig.h"
 #include "xe_hw_engine.h"
 #include "xe_lrc.h"
+#include "xe_mmio.h"
 #include "xe_mocs.h"
 #include "xe_pat.h"
 #include "xe_pm.h"
@@ -111,6 +113,38 @@ int xe_gt_debugfs_show_with_rpm(struct seq_file *m, void *data)
 
 static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
 {
+	static const struct {
+		struct xe_reg reg;
+		bool has_fw;
+	} msg_idle_reg[XE_NUM_HW_ENGINES] = {
+		[XE_HW_ENGINE_RCS0] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_BCS0] = { MSG_IDLE_BCS0, true },
+		[XE_HW_ENGINE_BCS1] = { MSG_IDLE_BCS1, false },
+		[XE_HW_ENGINE_BCS2] = { MSG_IDLE_BCS2, false },
+		[XE_HW_ENGINE_BCS3] = { MSG_IDLE_BCS3, false },
+		[XE_HW_ENGINE_BCS4] = { MSG_IDLE_BCS4, false },
+		[XE_HW_ENGINE_BCS5] = { MSG_IDLE_BCS5, false },
+		[XE_HW_ENGINE_BCS6] = { MSG_IDLE_BCS6, false },
+		[XE_HW_ENGINE_BCS7] = { MSG_IDLE_BCS7, false },
+		[XE_HW_ENGINE_BCS8] = { MSG_IDLE_BCS8, false },
+		[XE_HW_ENGINE_VCS0] = { MSG_IDLE_VCS0, true },
+		[XE_HW_ENGINE_VCS1] = { MSG_IDLE_VCS1, true },
+		[XE_HW_ENGINE_VCS2] = { MSG_IDLE_VCS2, true },
+		[XE_HW_ENGINE_VCS3] = { MSG_IDLE_VCS3, true },
+		[XE_HW_ENGINE_VCS4] = { MSG_IDLE_VCS4, true },
+		[XE_HW_ENGINE_VCS5] = { MSG_IDLE_VCS5, true },
+		[XE_HW_ENGINE_VCS6] = { MSG_IDLE_VCS6, true },
+		[XE_HW_ENGINE_VCS7] = { MSG_IDLE_VCS7, true },
+		[XE_HW_ENGINE_VECS0] = { MSG_IDLE_VECS0, true },
+		[XE_HW_ENGINE_VECS1] = { MSG_IDLE_VECS1, true },
+		[XE_HW_ENGINE_VECS2] = { MSG_IDLE_VECS2, true },
+		[XE_HW_ENGINE_VECS3] = { MSG_IDLE_VECS3, true },
+		[XE_HW_ENGINE_CCS0] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_CCS1] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_CCS2] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_CCS3] = { MSG_IDLE_CS, true },
+		[XE_HW_ENGINE_GSCCS0] = { MSG_IDLE_GSCCS0, false },
+	};
 	struct xe_hw_engine *hwe;
 	enum xe_hw_engine_id id;
 
@@ -118,9 +152,27 @@ static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
 	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL))
 		return -ETIMEDOUT;
 
-	for_each_hw_engine(hwe, gt, id)
+	for_each_hw_engine(hwe, gt, id) {
+		struct xe_reg reg = msg_idle_reg[id].reg;
+		u32 val;
+
 		xe_hw_engine_print(hwe, p);
 
+		val = xe_mmio_read32(&gt->mmio, reg);
+
+		if (msg_idle_reg[id].has_fw)
+			drm_printf(p, "\tpipe %s, C6 %s, fw_req 0x%02x\n",
+				   val & MSG_IDLE_INDICATION ? "idle" : "busy",
+				   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not allowed",
+				   REG_FIELD_GET(MSG_IDLE_FW_STATUS, val));
+		else
+			drm_printf(p, "\tpipe %s, C6 %s\n",
+				   val & MSG_IDLE_INDICATION ? "idle" : "busy",
+				   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not allowed");
+
+		drm_puts(p, "\n");
+	}
+
 	return 0;
 }
 
diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/xe/xe_guc_capture.c
index 82df19b304e1..5a4d085660a2 100644
--- a/drivers/gpu/drm/xe/xe_guc_capture.c
+++ b/drivers/gpu/drm/xe/xe_guc_capture.c
@@ -1868,8 +1868,6 @@ void xe_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot, struct drm
 		snapshot_print_by_list_order(snapshot, p, GUC_STATE_CAPTURE_TYPE_ENGINE_CLASS,
 					     list);
 	}
-
-	drm_puts(p, "\n");
 }
 
 /**
-- 
2.43.0


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

* ✓ CI.KUnit: success for drm/xe/debugfs: Expose per-engine idle status (rev3)
  2026-07-23 19:43 [PATCH] drm/xe/debugfs: Expose per-engine idle status Sk Anirban
@ 2026-07-24  7:16 ` Patchwork
  2026-07-24  8:18 ` ✓ Xe.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-07-24  7:16 UTC (permalink / raw)
  To: Sk Anirban; +Cc: intel-xe

== Series Details ==

Series: drm/xe/debugfs: Expose per-engine idle status (rev3)
URL   : https://patchwork.freedesktop.org/series/168204/
State : success

== Summary ==

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

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

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

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



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

* ✓ Xe.CI.BAT: success for drm/xe/debugfs: Expose per-engine idle status (rev3)
  2026-07-23 19:43 [PATCH] drm/xe/debugfs: Expose per-engine idle status Sk Anirban
  2026-07-24  7:16 ` ✓ CI.KUnit: success for drm/xe/debugfs: Expose per-engine idle status (rev3) Patchwork
@ 2026-07-24  8:18 ` Patchwork
  2026-07-25  0:52 ` ✓ Xe.CI.FULL: " Patchwork
  2026-08-28 23:30 ` [PATCH] drm/xe/debugfs: Expose per-engine idle status Belgaumkar, Vinay
  3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-07-24  8:18 UTC (permalink / raw)
  To: Sk Anirban; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/debugfs: Expose per-engine idle status (rev3)
URL   : https://patchwork.freedesktop.org/series/168204/
State : success

== Summary ==

CI Bug Log - changes from xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576_BAT -> xe-pw-168204v3_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts


Changes
-------

  No changes found


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

  * Linux: xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576 -> xe-pw-168204v3

  IGT_9024: 03b51ac5b6eaa5ff645f1728eb7404df874f0181 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576: 2d51a83867b4a139d9c24ce43b478651e2786576
  xe-pw-168204v3: 168204v3

== Logs ==

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

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

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

* ✓ Xe.CI.FULL: success for drm/xe/debugfs: Expose per-engine idle status (rev3)
  2026-07-23 19:43 [PATCH] drm/xe/debugfs: Expose per-engine idle status Sk Anirban
  2026-07-24  7:16 ` ✓ CI.KUnit: success for drm/xe/debugfs: Expose per-engine idle status (rev3) Patchwork
  2026-07-24  8:18 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-07-25  0:52 ` Patchwork
  2026-08-28 23:30 ` [PATCH] drm/xe/debugfs: Expose per-engine idle status Belgaumkar, Vinay
  3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-07-25  0:52 UTC (permalink / raw)
  To: Sk Anirban; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/debugfs: Expose per-engine idle status (rev3)
URL   : https://patchwork.freedesktop.org/series/168204/
State : success

== Summary ==

CI Bug Log - changes from xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576_FULL -> xe-pw-168204v3_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@hotunbind-rebind:
    - shard-bmg:          [PASS][1] -> [ABORT][2] ([Intel XE#8007])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-10/igt@core_hotunplug@hotunbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-10/igt@core_hotunplug@hotunbind-rebind.html

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

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][4] ([Intel XE#7059] / [Intel XE#7085]) +1 other test skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#1124]) +8 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.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-168204v3/shard-bmg-7/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][7] ([Intel XE#1124]) +1 other test skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

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

  * igt@kms_bw@linear-tiling-4-displays-target-2560x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][9] ([Intel XE#8365])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_bw@linear-tiling-4-displays-target-2560x1440p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][10] ([Intel XE#2669] / [Intel XE#3433] / [Intel XE#7389]) +3 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html

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

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#2887]) +1 other test skip
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2887]) +10 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html

  * igt@kms_chamelium_audio@hdmi-audio-edid:
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#373]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_chamelium_audio@hdmi-audio-edid.html

  * igt@kms_chamelium_color@ctm-red-to-blue:
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#2325] / [Intel XE#7358]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_chamelium_color@ctm-red-to-blue.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#7358])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html

  * igt@kms_chamelium_frames@hdmi-aspect-ratio:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#2252]) +6 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-6/igt@kms_chamelium_frames@hdmi-aspect-ratio.html

  * igt@kms_chamelium_sharpness_filter@filter-basic:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#6507])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@kms_chamelium_sharpness_filter@filter-basic.html

  * igt@kms_content_protection@content-type-change:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#7642]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-6/igt@kms_content_protection@content-type-change.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#6974])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

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

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

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

  * igt@kms_cursor_crc@cursor-rapid-movement-256x85:
    - shard-lnl:          NOTRUN -> [SKIP][24] ([Intel XE#1424]) +1 other test skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          [PASS][25] -> [FAIL][26] ([Intel XE#7571])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-9/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

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

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#4331] / [Intel XE#7227])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-fractional-bpp-bigjoiner:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#8265]) +3 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_dsc@dsc-fractional-bpp-bigjoiner.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-lnl:          NOTRUN -> [SKIP][30] ([Intel XE#8265])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_feature_discovery@hdr:
    - shard-lnl:          NOTRUN -> [SKIP][31] ([Intel XE#8586])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_feature_discovery@hdr.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
    - shard-lnl:          NOTRUN -> [SKIP][32] ([Intel XE#1421])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-lnl:          [PASS][33] -> [FAIL][34] ([Intel XE#301] / [Intel XE#3149]) +1 other test fail
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][35] ([Intel XE#2049] / [Intel XE#2597] / [Intel XE#8155]) +1 other test incomplete
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#7178] / [Intel XE#7351]) +4 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][37] ([Intel XE#7178] / [Intel XE#7349])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-nv12-linear-to-nv12-linear-reflect-x:
    - shard-lnl:          NOTRUN -> [SKIP][38] ([Intel XE#7179])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_flip_scaled_crc@flip-nv12-linear-to-nv12-linear-reflect-x.html

  * igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-pri-indfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][39] ([Intel XE#6312]) +2 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-pri-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#2311]) +44 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#4141]) +12 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][42] ([Intel XE#6312] / [Intel XE#651]) +2 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-abgr161616f-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#7061]) +4 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrshdr-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-shrfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][44] ([Intel XE#7905]) +8 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff:
    - shard-lnl:          NOTRUN -> [SKIP][45] ([Intel XE#656] / [Intel XE#7905]) +7 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#7061] / [Intel XE#7356]) +5 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary:
    - shard-bmg:          NOTRUN -> [SKIP][47] ([Intel XE#2313]) +50 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary.html

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

  * igt@kms_frontbuffer_tracking@psrhdr-shrfb-scaledprimary:
    - shard-lnl:          NOTRUN -> [SKIP][49] ([Intel XE#7865]) +4 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_frontbuffer_tracking@psrhdr-shrfb-scaledprimary.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-lnl:          NOTRUN -> [SKIP][50] ([Intel XE#1503])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#6901])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#7591])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#7283]) +6 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier.html

  * igt@kms_plane@pixel-format-y-tiled-modifier:
    - shard-lnl:          NOTRUN -> [SKIP][54] ([Intel XE#7283])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_plane@pixel-format-y-tiled-modifier.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#5020] / [Intel XE#7348])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b:
    - shard-lnl:          NOTRUN -> [SKIP][56] ([Intel XE#2763] / [Intel XE#6886]) +3 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b.html

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

  * igt@kms_pm_backlight@fade:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#7376] / [Intel XE#7760] / [Intel XE#870])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_pm_backlight@fade.html

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

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_pm_rpm@modeset-lpsp-stress.html

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

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

  * igt@kms_psr@fbc-psr2-basic:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#2234] / [Intel XE#2850]) +9 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@kms_psr@fbc-psr2-basic.html

  * igt@kms_psr@pr-sprite-plane-onoff:
    - shard-lnl:          NOTRUN -> [SKIP][64] ([Intel XE#1406])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_psr@pr-sprite-plane-onoff.html

  * igt@kms_psr@psr2-primary-render:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#2234])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@kms_psr@psr2-primary-render.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-lnl:          NOTRUN -> [SKIP][66] ([Intel XE#1127] / [Intel XE#5813])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@sprite-rotation-90:
    - shard-bmg:          NOTRUN -> [SKIP][67] ([Intel XE#3904] / [Intel XE#7342])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_rotation_crc@sprite-rotation-90.html

  * igt@kms_sharpness_filter@invalid-filter-with-nearest-neighbor:
    - shard-bmg:          NOTRUN -> [SKIP][68] ([Intel XE#6503]) +3 other tests skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@kms_sharpness_filter@invalid-filter-with-nearest-neighbor.html

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

  * igt@xe_compute@eu-busy-10s:
    - shard-bmg:          NOTRUN -> [SKIP][70] ([Intel XE#6599]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@xe_compute@eu-busy-10s.html

  * igt@xe_evict@evict-small-external-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#8370]) +1 other test skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@xe_evict@evict-small-external-multi-queue.html

  * igt@xe_evict@evict-small-multi-vm:
    - shard-lnl:          NOTRUN -> [SKIP][72] ([Intel XE#6540] / [Intel XE#688]) +1 other test skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_evict@evict-small-multi-vm.html

  * igt@xe_exec_balancer@once-virtual-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][73] ([Intel XE#7482]) +3 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_exec_balancer@once-virtual-userptr-invalidate-race.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue:
    - shard-lnl:          NOTRUN -> [SKIP][74] ([Intel XE#1392])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-bind:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#2322] / [Intel XE#7372]) +4 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@xe_exec_basic@multigpu-once-basic-defer-bind.html

  * igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-race-prefetch:
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#8374])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-race-prefetch.html

  * igt@xe_exec_fault_mode@many-multi-queue-rebind-prefetch:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#8374]) +9 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@xe_exec_fault_mode@many-multi-queue-rebind-prefetch.html

  * igt@xe_exec_multi_queue@max-queues-preempt-mode-fault-basic-smem:
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#8364]) +6 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_exec_multi_queue@max-queues-preempt-mode-fault-basic-smem.html

  * igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-priority:
    - shard-bmg:          NOTRUN -> [SKIP][79] ([Intel XE#8364]) +27 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-priority.html

  * igt@xe_exec_reset@multi-queue-cancel-on-secondary:
    - shard-lnl:          NOTRUN -> [SKIP][80] ([Intel XE#8369])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_exec_reset@multi-queue-cancel-on-secondary.html

  * igt@xe_exec_reset@multi-queue-cat-error-on-secondary:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#8369]) +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@xe_exec_reset@multi-queue-cat-error-on-secondary.html

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

  * igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][83] ([Intel XE#8378]) +2 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-rebind.html

  * igt@xe_mmap@small-bar:
    - shard-bmg:          NOTRUN -> [SKIP][84] ([Intel XE#586] / [Intel XE#7323] / [Intel XE#7384])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@xe_mmap@small-bar.html

  * igt@xe_multigpu_svm@mgpu-atomic-op-basic:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#6964])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@xe_multigpu_svm@mgpu-atomic-op-basic.html

  * igt@xe_multigpu_svm@mgpu-coherency-prefetch:
    - shard-lnl:          NOTRUN -> [SKIP][86] ([Intel XE#6964]) +1 other test skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_multigpu_svm@mgpu-coherency-prefetch.html

  * igt@xe_page_reclaim@pde-vs-pd:
    - shard-bmg:          NOTRUN -> [SKIP][87] ([Intel XE#7793]) +1 other test skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@xe_page_reclaim@pde-vs-pd.html

  * igt@xe_pat@l2-flush-opt-svm-pat-restrict:
    - shard-bmg:          NOTRUN -> [SKIP][88] ([Intel XE#7590])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-6/igt@xe_pat@l2-flush-opt-svm-pat-restrict.html

  * igt@xe_pat@pat-sw-hw-reset-compare:
    - shard-bmg:          NOTRUN -> [FAIL][89] ([Intel XE#7695])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@xe_pat@pat-sw-hw-reset-compare.html

  * igt@xe_pat@xa-app-transient-media-on:
    - shard-lnl:          NOTRUN -> [SKIP][90] ([Intel XE#7590] / [Intel XE#7772])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_pat@xa-app-transient-media-on.html

  * igt@xe_pm@d3cold-mmap-system:
    - shard-lnl:          NOTRUN -> [SKIP][91] ([Intel XE#2284] / [Intel XE#366] / [Intel XE#7370])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_pm@d3cold-mmap-system.html

  * igt@xe_pm@d3hot-i2c:
    - shard-bmg:          NOTRUN -> [SKIP][92] ([Intel XE#5742] / [Intel XE#7328] / [Intel XE#7400])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@xe_pm@d3hot-i2c.html

  * igt@xe_pm@s3-d3cold-basic-exec:
    - shard-bmg:          NOTRUN -> [SKIP][93] ([Intel XE#2284] / [Intel XE#7370])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-7/igt@xe_pm@s3-d3cold-basic-exec.html

  * igt@xe_pmu@all-fn-engine-activity-load:
    - shard-bmg:          NOTRUN -> [FAIL][94] ([Intel XE#7992])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@xe_pmu@all-fn-engine-activity-load.html

  * igt@xe_pxp@display-pxp-fb:
    - shard-bmg:          NOTRUN -> [SKIP][95] ([Intel XE#4733] / [Intel XE#7417])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@xe_pxp@display-pxp-fb.html

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

  * igt@xe_query@multigpu-query-mem-usage:
    - shard-lnl:          NOTRUN -> [SKIP][97] ([Intel XE#944])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@xe_query@multigpu-query-mem-usage.html

  
#### Possible fixes ####

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [SKIP][98] ([Intel XE#1503]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-9/igt@kms_hdr@invalid-hdr.html
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-8/igt@kms_hdr@invalid-hdr.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-bmg:          [INCOMPLETE][100] -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-4.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-4@pipe-c-dp-2-pipe-b-hdmi-a-3:
    - shard-bmg:          [INCOMPLETE][102] ([Intel XE#6819]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-4@pipe-c-dp-2-pipe-b-hdmi-a-3.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-4@pipe-c-dp-2-pipe-b-hdmi-a-3.html

  * igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1:
    - shard-lnl:          [FAIL][104] ([Intel XE#7397]) -> [PASS][105] +1 other test pass
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-lnl-8/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-3/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-bmg:          [INCOMPLETE][106] ([Intel XE#6321] / [Intel XE#8355]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-1/igt@xe_evict@evict-beng-mixed-many-threads-small.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-10/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_fault_injection@vm-create-fail-xe_vm_create_scratch:
    - shard-bmg:          [ABORT][108] ([Intel XE#8007]) -> [PASS][109] +3 other tests pass
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-2/igt@xe_fault_injection@vm-create-fail-xe_vm_create_scratch.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-6/igt@xe_fault_injection@vm-create-fail-xe_vm_create_scratch.html

  
#### Warnings ####

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-lnl:          [ABORT][110] ([Intel XE#4760]) -> [SKIP][111] ([Intel XE#1407])
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-lnl-1/igt@kms_big_fb@linear-8bpp-rotate-270.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-lnl-6/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][112] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][113] ([Intel XE#3544])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576/shard-bmg-8/igt@kms_hdr@brightness-with-hdr.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168204v3/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#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#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
  [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#5742]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5742
  [Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
  [Intel XE#586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/586
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [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#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
  [Intel XE#6707]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6707
  [Intel XE#6814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6814
  [Intel XE#6819]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6819
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [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#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7059]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7059
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179
  [Intel XE#7227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7227
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7323
  [Intel XE#7328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7328
  [Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
  [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#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [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#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
  [Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
  [Intel XE#7384]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7384
  [Intel XE#7387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7387
  [Intel XE#7389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7389
  [Intel XE#7397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7397
  [Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
  [Intel XE#7400]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7400
  [Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
  [Intel XE#7428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7428
  [Intel XE#7439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7439
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [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#7591]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7591
  [Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
  [Intel XE#7695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7695
  [Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
  [Intel XE#7772]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7772
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
  [Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
  [Intel XE#7992]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7992
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8155]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8155
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365
  [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#8586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8586
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * Linux: xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576 -> xe-pw-168204v3

  IGT_9024: 03b51ac5b6eaa5ff645f1728eb7404df874f0181 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5472-2d51a83867b4a139d9c24ce43b478651e2786576: 2d51a83867b4a139d9c24ce43b478651e2786576
  xe-pw-168204v3: 168204v3

== Logs ==

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

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

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

* Re: [PATCH] drm/xe/debugfs: Expose per-engine idle status
  2026-07-23 19:43 [PATCH] drm/xe/debugfs: Expose per-engine idle status Sk Anirban
                   ` (2 preceding siblings ...)
  2026-07-25  0:52 ` ✓ Xe.CI.FULL: " Patchwork
@ 2026-08-28 23:30 ` Belgaumkar, Vinay
  2026-09-01 15:12   ` Anirban, Sk
  3 siblings, 1 reply; 10+ messages in thread
From: Belgaumkar, Vinay @ 2026-08-28 23:30 UTC (permalink / raw)
  To: Sk Anirban, intel-xe
  Cc: anshuman.gupta, badal.nilawar, riana.tauro, karthik.poosa,
	raag.jadav, soham.purkait, mallesh.koujalagi, matthew.brost,
	rodrigo.vivi, michal.wajdeczko


On 7/23/2026 12:43 PM, Sk Anirban wrote:
> Extend the existing "hw_engines" debugfs to iterate over all hardware
> engines and dump their idle state: whether the engine pipe is idle or
> busy, whether C6 entry is allowed, and (where available) the forcewake
> request status.
>
> v2: Use existing debugfs (Matt Brost)
>
> Signed-off-by: Sk Anirban <sk.anirban@intel.com>
> ---
>   drivers/gpu/drm/xe/regs/xe_gt_regs.h | 27 ++++++++++++++
>   drivers/gpu/drm/xe/xe_devcoredump.c  |  4 ++-
>   drivers/gpu/drm/xe/xe_gt_debugfs.c   | 54 +++++++++++++++++++++++++++-
>   drivers/gpu/drm/xe/xe_guc_capture.c  |  2 --
>   4 files changed, 83 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_gt_regs.h b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
> index 08251c7a1a4b..accf3012bad2 100644
> --- a/drivers/gpu/drm/xe/regs/xe_gt_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
> @@ -196,6 +196,33 @@
>   #define   MSC_MSAA_REODER_BUF_BYPASS_DISABLE	REG_BIT(14)
>   #define   FAST_CLEAR_VALIGN_FIX			REG_BIT(13)
>   
> +#define MSG_IDLE_CS				XE_REG(0x8000)
> +#define MSG_IDLE_VCS0				XE_REG(0x8004)
> +#define MSG_IDLE_VCS1				XE_REG(0x8008)
> +#define MSG_IDLE_VCS2				XE_REG(0x80C0)
> +#define MSG_IDLE_VCS3				XE_REG(0x80C4)
> +#define MSG_IDLE_VCS4				XE_REG(0x80C8)
> +#define MSG_IDLE_VCS5				XE_REG(0x80CC)
> +#define MSG_IDLE_VCS6				XE_REG(0x80D0)
> +#define MSG_IDLE_VCS7				XE_REG(0x80D4)
> +#define MSG_IDLE_VECS0				XE_REG(0x8010)
> +#define MSG_IDLE_VECS1				XE_REG(0x80D8)
> +#define MSG_IDLE_VECS2				XE_REG(0x80DC)
> +#define MSG_IDLE_VECS3				XE_REG(0x80E0)
> +#define MSG_IDLE_BCS0				XE_REG(0x800C)
> +#define MSG_IDLE_BCS1				XE_REG(0x8680)
> +#define MSG_IDLE_BCS2				XE_REG(0x8684)
> +#define MSG_IDLE_BCS3				XE_REG(0x8688)
> +#define MSG_IDLE_BCS4				XE_REG(0x868C)
> +#define MSG_IDLE_BCS5				XE_REG(0x8690)
> +#define MSG_IDLE_BCS6				XE_REG(0x8694)
> +#define MSG_IDLE_BCS7				XE_REG(0x8698)
> +#define MSG_IDLE_BCS8				XE_REG(0x869C)
> +#define MSG_IDLE_GSCCS0				XE_REG(0xA62C)
> +#define   MSG_IDLE_INDICATION			REG_BIT(0)
> +#define   MSG_IDLE_C6_ALLOWED			REG_BIT(1)
> +#define   MSG_IDLE_FW_STATUS			REG_GENMASK(13, 9)
This field is called FW_REQ in bspec, we should stick to the same, so 
MSG_IDLE_FW_REQ.
> +
>   #define XE2LPM_CCCHKNREG1			XE_REG(0x82a8)
>   
>   #define VF_PREEMPTION				XE_REG(0x83a4, XE_REG_OPTION_MASKED)
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index 5f2b90b18f97..b918f046ae15 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -127,8 +127,10 @@ static ssize_t __xe_devcoredump_read(char *buffer, ssize_t count,
>   
>   	drm_puts(&p, "\n**** HW Engines ****\n");
>   	for (i = 0; i < XE_NUM_HW_ENGINES; i++)
> -		if (ss->hwe[i])
> +		if (ss->hwe[i]) {
>   			xe_engine_snapshot_print(ss->hwe[i], &p);
> +			drm_puts(&p, "\n");
> +		}
>   
>   	drm_puts(&p, "\n**** VM state ****\n");
>   	xe_vm_snapshot_print(ss->vm, &p);
> diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> index c38bcacb27e4..621d1e57e997 100644
> --- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> @@ -10,6 +10,7 @@
>   #include <drm/drm_debugfs.h>
>   #include <drm/drm_managed.h>
>   
> +#include "regs/xe_gt_regs.h"
>   #include "xe_device.h"
>   #include "xe_force_wake.h"
>   #include "xe_gt.h"
> @@ -22,6 +23,7 @@
>   #include "xe_guc_hwconfig.h"
>   #include "xe_hw_engine.h"
>   #include "xe_lrc.h"
> +#include "xe_mmio.h"
>   #include "xe_mocs.h"
>   #include "xe_pat.h"
>   #include "xe_pm.h"
> @@ -111,6 +113,38 @@ int xe_gt_debugfs_show_with_rpm(struct seq_file *m, void *data)
>   
>   static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
>   {
> +	static const struct {
> +		struct xe_reg reg;
> +		bool has_fw;
> +	} msg_idle_reg[XE_NUM_HW_ENGINES] = {
> +		[XE_HW_ENGINE_RCS0] = { MSG_IDLE_CS, true },
> +		[XE_HW_ENGINE_BCS0] = { MSG_IDLE_BCS0, true },
> +		[XE_HW_ENGINE_BCS1] = { MSG_IDLE_BCS1, false },
> +		[XE_HW_ENGINE_BCS2] = { MSG_IDLE_BCS2, false },
> +		[XE_HW_ENGINE_BCS3] = { MSG_IDLE_BCS3, false },
> +		[XE_HW_ENGINE_BCS4] = { MSG_IDLE_BCS4, false },
> +		[XE_HW_ENGINE_BCS5] = { MSG_IDLE_BCS5, false },
> +		[XE_HW_ENGINE_BCS6] = { MSG_IDLE_BCS6, false },
> +		[XE_HW_ENGINE_BCS7] = { MSG_IDLE_BCS7, false },
> +		[XE_HW_ENGINE_BCS8] = { MSG_IDLE_BCS8, false },
> +		[XE_HW_ENGINE_VCS0] = { MSG_IDLE_VCS0, true },
> +		[XE_HW_ENGINE_VCS1] = { MSG_IDLE_VCS1, true },
> +		[XE_HW_ENGINE_VCS2] = { MSG_IDLE_VCS2, true },
> +		[XE_HW_ENGINE_VCS3] = { MSG_IDLE_VCS3, true },
> +		[XE_HW_ENGINE_VCS4] = { MSG_IDLE_VCS4, true },
> +		[XE_HW_ENGINE_VCS5] = { MSG_IDLE_VCS5, true },
> +		[XE_HW_ENGINE_VCS6] = { MSG_IDLE_VCS6, true },
> +		[XE_HW_ENGINE_VCS7] = { MSG_IDLE_VCS7, true },
> +		[XE_HW_ENGINE_VECS0] = { MSG_IDLE_VECS0, true },
> +		[XE_HW_ENGINE_VECS1] = { MSG_IDLE_VECS1, true },
> +		[XE_HW_ENGINE_VECS2] = { MSG_IDLE_VECS2, true },
> +		[XE_HW_ENGINE_VECS3] = { MSG_IDLE_VECS3, true },
> +		[XE_HW_ENGINE_CCS0] = { MSG_IDLE_CS, true },
> +		[XE_HW_ENGINE_CCS1] = { MSG_IDLE_CS, true },
> +		[XE_HW_ENGINE_CCS2] = { MSG_IDLE_CS, true },
> +		[XE_HW_ENGINE_CCS3] = { MSG_IDLE_CS, true },
> +		[XE_HW_ENGINE_GSCCS0] = { MSG_IDLE_GSCCS0, false },
aren't the media related idle message registers only valid for media GT 
and similarly those for render on render GT? Here we seem to be reading 
all registers on both GTs? So some values are invalid.
> +	};
>   	struct xe_hw_engine *hwe;
>   	enum xe_hw_engine_id id;
>   
> @@ -118,9 +152,27 @@ static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
>   	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL))
>   		return -ETIMEDOUT;
>   
> -	for_each_hw_engine(hwe, gt, id)
> +	for_each_hw_engine(hwe, gt, id) {
> +		struct xe_reg reg = msg_idle_reg[id].reg;
> +		u32 val;
> +
>   		xe_hw_engine_print(hwe, p);
>   
> +		val = xe_mmio_read32(&gt->mmio, reg);
> +
> +		if (msg_idle_reg[id].has_fw)
> +			drm_printf(p, "\tpipe %s, C6 %s, fw_req 0x%02x\n",
> +				   val & MSG_IDLE_INDICATION ? "idle" : "busy",
> +				   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not allowed",
> +				   REG_FIELD_GET(MSG_IDLE_FW_STATUS, val));

should be FW_REQ here as well.

Thanks,

Vinay.

> +		else
> +			drm_printf(p, "\tpipe %s, C6 %s\n",
> +				   val & MSG_IDLE_INDICATION ? "idle" : "busy",
> +				   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not allowed");
> +
> +		drm_puts(p, "\n");
> +	}
> +
>   	return 0;
>   }
>   
> diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/xe/xe_guc_capture.c
> index 82df19b304e1..5a4d085660a2 100644
> --- a/drivers/gpu/drm/xe/xe_guc_capture.c
> +++ b/drivers/gpu/drm/xe/xe_guc_capture.c
> @@ -1868,8 +1868,6 @@ void xe_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot, struct drm
>   		snapshot_print_by_list_order(snapshot, p, GUC_STATE_CAPTURE_TYPE_ENGINE_CLASS,
>   					     list);
>   	}
> -
> -	drm_puts(p, "\n");
>   }
>   
>   /**

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

* Re: [PATCH] drm/xe/debugfs: Expose per-engine idle status
  2026-08-28 23:30 ` [PATCH] drm/xe/debugfs: Expose per-engine idle status Belgaumkar, Vinay
@ 2026-09-01 15:12   ` Anirban, Sk
  2026-09-01 21:26     ` Belgaumkar, Vinay
  0 siblings, 1 reply; 10+ messages in thread
From: Anirban, Sk @ 2026-09-01 15:12 UTC (permalink / raw)
  To: Belgaumkar, Vinay, intel-xe
  Cc: anshuman.gupta, badal.nilawar, riana.tauro, karthik.poosa,
	raag.jadav, soham.purkait, mallesh.koujalagi, matthew.brost,
	rodrigo.vivi, michal.wajdeczko

Hi,

On 29-08-2026 05:00 am, Belgaumkar, Vinay wrote:
>
> On 7/23/2026 12:43 PM, Sk Anirban wrote:
>> Extend the existing "hw_engines" debugfs to iterate over all hardware
>> engines and dump their idle state: whether the engine pipe is idle or
>> busy, whether C6 entry is allowed, and (where available) the forcewake
>> request status.
>>
>> v2: Use existing debugfs (Matt Brost)
>>
>> Signed-off-by: Sk Anirban <sk.anirban@intel.com>
>> ---
>>   drivers/gpu/drm/xe/regs/xe_gt_regs.h | 27 ++++++++++++++
>>   drivers/gpu/drm/xe/xe_devcoredump.c  |  4 ++-
>>   drivers/gpu/drm/xe/xe_gt_debugfs.c   | 54 +++++++++++++++++++++++++++-
>>   drivers/gpu/drm/xe/xe_guc_capture.c  |  2 --
>>   4 files changed, 83 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/regs/xe_gt_regs.h 
>> b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
>> index 08251c7a1a4b..accf3012bad2 100644
>> --- a/drivers/gpu/drm/xe/regs/xe_gt_regs.h
>> +++ b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
>> @@ -196,6 +196,33 @@
>>   #define   MSC_MSAA_REODER_BUF_BYPASS_DISABLE    REG_BIT(14)
>>   #define   FAST_CLEAR_VALIGN_FIX            REG_BIT(13)
>>   +#define MSG_IDLE_CS                XE_REG(0x8000)
>> +#define MSG_IDLE_VCS0                XE_REG(0x8004)
>> +#define MSG_IDLE_VCS1                XE_REG(0x8008)
>> +#define MSG_IDLE_VCS2                XE_REG(0x80C0)
>> +#define MSG_IDLE_VCS3                XE_REG(0x80C4)
>> +#define MSG_IDLE_VCS4                XE_REG(0x80C8)
>> +#define MSG_IDLE_VCS5                XE_REG(0x80CC)
>> +#define MSG_IDLE_VCS6                XE_REG(0x80D0)
>> +#define MSG_IDLE_VCS7                XE_REG(0x80D4)
>> +#define MSG_IDLE_VECS0                XE_REG(0x8010)
>> +#define MSG_IDLE_VECS1                XE_REG(0x80D8)
>> +#define MSG_IDLE_VECS2                XE_REG(0x80DC)
>> +#define MSG_IDLE_VECS3                XE_REG(0x80E0)
>> +#define MSG_IDLE_BCS0                XE_REG(0x800C)
>> +#define MSG_IDLE_BCS1                XE_REG(0x8680)
>> +#define MSG_IDLE_BCS2                XE_REG(0x8684)
>> +#define MSG_IDLE_BCS3                XE_REG(0x8688)
>> +#define MSG_IDLE_BCS4                XE_REG(0x868C)
>> +#define MSG_IDLE_BCS5                XE_REG(0x8690)
>> +#define MSG_IDLE_BCS6                XE_REG(0x8694)
>> +#define MSG_IDLE_BCS7                XE_REG(0x8698)
>> +#define MSG_IDLE_BCS8                XE_REG(0x869C)
>> +#define MSG_IDLE_GSCCS0                XE_REG(0xA62C)
>> +#define   MSG_IDLE_INDICATION            REG_BIT(0)
>> +#define   MSG_IDLE_C6_ALLOWED            REG_BIT(1)
>> +#define   MSG_IDLE_FW_STATUS            REG_GENMASK(13, 9)
> This field is called FW_REQ in bspec, we should stick to the same, so 
> MSG_IDLE_FW_REQ.
Sure, I will modify this.
>> +
>>   #define XE2LPM_CCCHKNREG1            XE_REG(0x82a8)
>>     #define VF_PREEMPTION                XE_REG(0x83a4, 
>> XE_REG_OPTION_MASKED)
>> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c 
>> b/drivers/gpu/drm/xe/xe_devcoredump.c
>> index 5f2b90b18f97..b918f046ae15 100644
>> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
>> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
>> @@ -127,8 +127,10 @@ static ssize_t __xe_devcoredump_read(char 
>> *buffer, ssize_t count,
>>         drm_puts(&p, "\n**** HW Engines ****\n");
>>       for (i = 0; i < XE_NUM_HW_ENGINES; i++)
>> -        if (ss->hwe[i])
>> +        if (ss->hwe[i]) {
>>               xe_engine_snapshot_print(ss->hwe[i], &p);
>> +            drm_puts(&p, "\n");
>> +        }
>>         drm_puts(&p, "\n**** VM state ****\n");
>>       xe_vm_snapshot_print(ss->vm, &p);
>> diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c 
>> b/drivers/gpu/drm/xe/xe_gt_debugfs.c
>> index c38bcacb27e4..621d1e57e997 100644
>> --- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
>> +++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
>> @@ -10,6 +10,7 @@
>>   #include <drm/drm_debugfs.h>
>>   #include <drm/drm_managed.h>
>>   +#include "regs/xe_gt_regs.h"
>>   #include "xe_device.h"
>>   #include "xe_force_wake.h"
>>   #include "xe_gt.h"
>> @@ -22,6 +23,7 @@
>>   #include "xe_guc_hwconfig.h"
>>   #include "xe_hw_engine.h"
>>   #include "xe_lrc.h"
>> +#include "xe_mmio.h"
>>   #include "xe_mocs.h"
>>   #include "xe_pat.h"
>>   #include "xe_pm.h"
>> @@ -111,6 +113,38 @@ int xe_gt_debugfs_show_with_rpm(struct seq_file 
>> *m, void *data)
>>     static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
>>   {
>> +    static const struct {
>> +        struct xe_reg reg;
>> +        bool has_fw;
>> +    } msg_idle_reg[XE_NUM_HW_ENGINES] = {
>> +        [XE_HW_ENGINE_RCS0] = { MSG_IDLE_CS, true },
>> +        [XE_HW_ENGINE_BCS0] = { MSG_IDLE_BCS0, true },
>> +        [XE_HW_ENGINE_BCS1] = { MSG_IDLE_BCS1, false },
>> +        [XE_HW_ENGINE_BCS2] = { MSG_IDLE_BCS2, false },
>> +        [XE_HW_ENGINE_BCS3] = { MSG_IDLE_BCS3, false },
>> +        [XE_HW_ENGINE_BCS4] = { MSG_IDLE_BCS4, false },
>> +        [XE_HW_ENGINE_BCS5] = { MSG_IDLE_BCS5, false },
>> +        [XE_HW_ENGINE_BCS6] = { MSG_IDLE_BCS6, false },
>> +        [XE_HW_ENGINE_BCS7] = { MSG_IDLE_BCS7, false },
>> +        [XE_HW_ENGINE_BCS8] = { MSG_IDLE_BCS8, false },
>> +        [XE_HW_ENGINE_VCS0] = { MSG_IDLE_VCS0, true },
>> +        [XE_HW_ENGINE_VCS1] = { MSG_IDLE_VCS1, true },
>> +        [XE_HW_ENGINE_VCS2] = { MSG_IDLE_VCS2, true },
>> +        [XE_HW_ENGINE_VCS3] = { MSG_IDLE_VCS3, true },
>> +        [XE_HW_ENGINE_VCS4] = { MSG_IDLE_VCS4, true },
>> +        [XE_HW_ENGINE_VCS5] = { MSG_IDLE_VCS5, true },
>> +        [XE_HW_ENGINE_VCS6] = { MSG_IDLE_VCS6, true },
>> +        [XE_HW_ENGINE_VCS7] = { MSG_IDLE_VCS7, true },
>> +        [XE_HW_ENGINE_VECS0] = { MSG_IDLE_VECS0, true },
>> +        [XE_HW_ENGINE_VECS1] = { MSG_IDLE_VECS1, true },
>> +        [XE_HW_ENGINE_VECS2] = { MSG_IDLE_VECS2, true },
>> +        [XE_HW_ENGINE_VECS3] = { MSG_IDLE_VECS3, true },
>> +        [XE_HW_ENGINE_CCS0] = { MSG_IDLE_CS, true },
>> +        [XE_HW_ENGINE_CCS1] = { MSG_IDLE_CS, true },
>> +        [XE_HW_ENGINE_CCS2] = { MSG_IDLE_CS, true },
>> +        [XE_HW_ENGINE_CCS3] = { MSG_IDLE_CS, true },
>> +        [XE_HW_ENGINE_GSCCS0] = { MSG_IDLE_GSCCS0, false },
> aren't the media related idle message registers only valid for media 
> GT and similarly those for render on render GT? Here we seem to be 
> reading all registers on both GTs? So some values are invalid.
for_each_hw_engine() only iterates engines present on that GT. So on 
each GT we only read its own engines' idle registers.
>> +    };
>>       struct xe_hw_engine *hwe;
>>       enum xe_hw_engine_id id;
>>   @@ -118,9 +152,27 @@ static int hw_engines(struct xe_gt *gt, struct 
>> drm_printer *p)
>>       if (!xe_force_wake_ref_has_domain(fw_ref.domains, 
>> XE_FORCEWAKE_ALL))
>>           return -ETIMEDOUT;
>>   -    for_each_hw_engine(hwe, gt, id)
>> +    for_each_hw_engine(hwe, gt, id) {
>> +        struct xe_reg reg = msg_idle_reg[id].reg;
>> +        u32 val;
>> +
>>           xe_hw_engine_print(hwe, p);
>>   +        val = xe_mmio_read32(&gt->mmio, reg);
>> +
>> +        if (msg_idle_reg[id].has_fw)
>> +            drm_printf(p, "\tpipe %s, C6 %s, fw_req 0x%02x\n",
>> +                   val & MSG_IDLE_INDICATION ? "idle" : "busy",
>> +                   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not 
>> allowed",
>> +                   REG_FIELD_GET(MSG_IDLE_FW_STATUS, val));
>
> should be FW_REQ here as well.
Sure, I will modify this.

Thanks,
Anirban

>
> Thanks,
>
> Vinay.
>
>> +        else
>> +            drm_printf(p, "\tpipe %s, C6 %s\n",
>> +                   val & MSG_IDLE_INDICATION ? "idle" : "busy",
>> +                   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not 
>> allowed");
>> +
>> +        drm_puts(p, "\n");
>> +    }
>> +
>>       return 0;
>>   }
>>   diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c 
>> b/drivers/gpu/drm/xe/xe_guc_capture.c
>> index 82df19b304e1..5a4d085660a2 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_capture.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_capture.c
>> @@ -1868,8 +1868,6 @@ void xe_engine_snapshot_print(struct 
>> xe_hw_engine_snapshot *snapshot, struct drm
>>           snapshot_print_by_list_order(snapshot, p, 
>> GUC_STATE_CAPTURE_TYPE_ENGINE_CLASS,
>>                            list);
>>       }
>> -
>> -    drm_puts(p, "\n");
>>   }
>>     /**

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

* Re: [PATCH] drm/xe/debugfs: Expose per-engine idle status
  2026-09-01 15:12   ` Anirban, Sk
@ 2026-09-01 21:26     ` Belgaumkar, Vinay
  0 siblings, 0 replies; 10+ messages in thread
From: Belgaumkar, Vinay @ 2026-09-01 21:26 UTC (permalink / raw)
  To: Anirban, Sk, intel-xe
  Cc: anshuman.gupta, badal.nilawar, riana.tauro, karthik.poosa,
	raag.jadav, soham.purkait, mallesh.koujalagi, matthew.brost,
	rodrigo.vivi, michal.wajdeczko


On 9/1/2026 8:12 AM, Anirban, Sk wrote:
> Hi,
>
> On 29-08-2026 05:00 am, Belgaumkar, Vinay wrote:
>>
>> On 7/23/2026 12:43 PM, Sk Anirban wrote:
>>> Extend the existing "hw_engines" debugfs to iterate over all hardware
>>> engines and dump their idle state: whether the engine pipe is idle or
>>> busy, whether C6 entry is allowed, and (where available) the forcewake
>>> request status.
>>>
>>> v2: Use existing debugfs (Matt Brost)
>>>
>>> Signed-off-by: Sk Anirban <sk.anirban@intel.com>
>>> ---
>>>   drivers/gpu/drm/xe/regs/xe_gt_regs.h | 27 ++++++++++++++
>>>   drivers/gpu/drm/xe/xe_devcoredump.c  |  4 ++-
>>>   drivers/gpu/drm/xe/xe_gt_debugfs.c   | 54 
>>> +++++++++++++++++++++++++++-
>>>   drivers/gpu/drm/xe/xe_guc_capture.c  |  2 --
>>>   4 files changed, 83 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/regs/xe_gt_regs.h 
>>> b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
>>> index 08251c7a1a4b..accf3012bad2 100644
>>> --- a/drivers/gpu/drm/xe/regs/xe_gt_regs.h
>>> +++ b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
>>> @@ -196,6 +196,33 @@
>>>   #define   MSC_MSAA_REODER_BUF_BYPASS_DISABLE    REG_BIT(14)
>>>   #define   FAST_CLEAR_VALIGN_FIX            REG_BIT(13)
>>>   +#define MSG_IDLE_CS                XE_REG(0x8000)
>>> +#define MSG_IDLE_VCS0                XE_REG(0x8004)
>>> +#define MSG_IDLE_VCS1                XE_REG(0x8008)
>>> +#define MSG_IDLE_VCS2                XE_REG(0x80C0)
>>> +#define MSG_IDLE_VCS3                XE_REG(0x80C4)
>>> +#define MSG_IDLE_VCS4                XE_REG(0x80C8)
>>> +#define MSG_IDLE_VCS5                XE_REG(0x80CC)
>>> +#define MSG_IDLE_VCS6                XE_REG(0x80D0)
>>> +#define MSG_IDLE_VCS7                XE_REG(0x80D4)
>>> +#define MSG_IDLE_VECS0                XE_REG(0x8010)
>>> +#define MSG_IDLE_VECS1                XE_REG(0x80D8)
>>> +#define MSG_IDLE_VECS2                XE_REG(0x80DC)
>>> +#define MSG_IDLE_VECS3                XE_REG(0x80E0)
>>> +#define MSG_IDLE_BCS0                XE_REG(0x800C)
>>> +#define MSG_IDLE_BCS1                XE_REG(0x8680)
>>> +#define MSG_IDLE_BCS2                XE_REG(0x8684)
>>> +#define MSG_IDLE_BCS3                XE_REG(0x8688)
>>> +#define MSG_IDLE_BCS4                XE_REG(0x868C)
>>> +#define MSG_IDLE_BCS5                XE_REG(0x8690)
>>> +#define MSG_IDLE_BCS6                XE_REG(0x8694)
>>> +#define MSG_IDLE_BCS7                XE_REG(0x8698)
>>> +#define MSG_IDLE_BCS8                XE_REG(0x869C)
>>> +#define MSG_IDLE_GSCCS0                XE_REG(0xA62C)
>>> +#define   MSG_IDLE_INDICATION            REG_BIT(0)
>>> +#define   MSG_IDLE_C6_ALLOWED            REG_BIT(1)
>>> +#define   MSG_IDLE_FW_STATUS            REG_GENMASK(13, 9)
>> This field is called FW_REQ in bspec, we should stick to the same, so 
>> MSG_IDLE_FW_REQ.
> Sure, I will modify this.
>>> +
>>>   #define XE2LPM_CCCHKNREG1            XE_REG(0x82a8)
>>>     #define VF_PREEMPTION                XE_REG(0x83a4, 
>>> XE_REG_OPTION_MASKED)
>>> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c 
>>> b/drivers/gpu/drm/xe/xe_devcoredump.c
>>> index 5f2b90b18f97..b918f046ae15 100644
>>> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
>>> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
>>> @@ -127,8 +127,10 @@ static ssize_t __xe_devcoredump_read(char 
>>> *buffer, ssize_t count,
>>>         drm_puts(&p, "\n**** HW Engines ****\n");
>>>       for (i = 0; i < XE_NUM_HW_ENGINES; i++)
>>> -        if (ss->hwe[i])
>>> +        if (ss->hwe[i]) {
>>>               xe_engine_snapshot_print(ss->hwe[i], &p);
>>> +            drm_puts(&p, "\n");
>>> +        }
>>>         drm_puts(&p, "\n**** VM state ****\n");
>>>       xe_vm_snapshot_print(ss->vm, &p);
>>> diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c 
>>> b/drivers/gpu/drm/xe/xe_gt_debugfs.c
>>> index c38bcacb27e4..621d1e57e997 100644
>>> --- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
>>> +++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
>>> @@ -10,6 +10,7 @@
>>>   #include <drm/drm_debugfs.h>
>>>   #include <drm/drm_managed.h>
>>>   +#include "regs/xe_gt_regs.h"
>>>   #include "xe_device.h"
>>>   #include "xe_force_wake.h"
>>>   #include "xe_gt.h"
>>> @@ -22,6 +23,7 @@
>>>   #include "xe_guc_hwconfig.h"
>>>   #include "xe_hw_engine.h"
>>>   #include "xe_lrc.h"
>>> +#include "xe_mmio.h"
>>>   #include "xe_mocs.h"
>>>   #include "xe_pat.h"
>>>   #include "xe_pm.h"
>>> @@ -111,6 +113,38 @@ int xe_gt_debugfs_show_with_rpm(struct seq_file 
>>> *m, void *data)
>>>     static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
>>>   {
>>> +    static const struct {
>>> +        struct xe_reg reg;
>>> +        bool has_fw;
>>> +    } msg_idle_reg[XE_NUM_HW_ENGINES] = {
>>> +        [XE_HW_ENGINE_RCS0] = { MSG_IDLE_CS, true },
>>> +        [XE_HW_ENGINE_BCS0] = { MSG_IDLE_BCS0, true },
>>> +        [XE_HW_ENGINE_BCS1] = { MSG_IDLE_BCS1, false },
>>> +        [XE_HW_ENGINE_BCS2] = { MSG_IDLE_BCS2, false },
>>> +        [XE_HW_ENGINE_BCS3] = { MSG_IDLE_BCS3, false },
>>> +        [XE_HW_ENGINE_BCS4] = { MSG_IDLE_BCS4, false },
>>> +        [XE_HW_ENGINE_BCS5] = { MSG_IDLE_BCS5, false },
>>> +        [XE_HW_ENGINE_BCS6] = { MSG_IDLE_BCS6, false },
>>> +        [XE_HW_ENGINE_BCS7] = { MSG_IDLE_BCS7, false },
>>> +        [XE_HW_ENGINE_BCS8] = { MSG_IDLE_BCS8, false },
>>> +        [XE_HW_ENGINE_VCS0] = { MSG_IDLE_VCS0, true },
>>> +        [XE_HW_ENGINE_VCS1] = { MSG_IDLE_VCS1, true },
>>> +        [XE_HW_ENGINE_VCS2] = { MSG_IDLE_VCS2, true },
>>> +        [XE_HW_ENGINE_VCS3] = { MSG_IDLE_VCS3, true },
>>> +        [XE_HW_ENGINE_VCS4] = { MSG_IDLE_VCS4, true },
>>> +        [XE_HW_ENGINE_VCS5] = { MSG_IDLE_VCS5, true },
>>> +        [XE_HW_ENGINE_VCS6] = { MSG_IDLE_VCS6, true },
>>> +        [XE_HW_ENGINE_VCS7] = { MSG_IDLE_VCS7, true },
>>> +        [XE_HW_ENGINE_VECS0] = { MSG_IDLE_VECS0, true },
>>> +        [XE_HW_ENGINE_VECS1] = { MSG_IDLE_VECS1, true },
>>> +        [XE_HW_ENGINE_VECS2] = { MSG_IDLE_VECS2, true },
>>> +        [XE_HW_ENGINE_VECS3] = { MSG_IDLE_VECS3, true },
>>> +        [XE_HW_ENGINE_CCS0] = { MSG_IDLE_CS, true },
>>> +        [XE_HW_ENGINE_CCS1] = { MSG_IDLE_CS, true },
>>> +        [XE_HW_ENGINE_CCS2] = { MSG_IDLE_CS, true },
>>> +        [XE_HW_ENGINE_CCS3] = { MSG_IDLE_CS, true },
>>> +        [XE_HW_ENGINE_GSCCS0] = { MSG_IDLE_GSCCS0, false },
>> aren't the media related idle message registers only valid for media 
>> GT and similarly those for render on render GT? Here we seem to be 
>> reading all registers on both GTs? So some values are invalid.
> for_each_hw_engine() only iterates engines present on that GT. So on 
> each GT we only read its own engines' idle registers.

ok, missed that part.

Thanks,

Vinay.

>>> +    };
>>>       struct xe_hw_engine *hwe;
>>>       enum xe_hw_engine_id id;
>>>   @@ -118,9 +152,27 @@ static int hw_engines(struct xe_gt *gt, 
>>> struct drm_printer *p)
>>>       if (!xe_force_wake_ref_has_domain(fw_ref.domains, 
>>> XE_FORCEWAKE_ALL))
>>>           return -ETIMEDOUT;
>>>   -    for_each_hw_engine(hwe, gt, id)
>>> +    for_each_hw_engine(hwe, gt, id) {
>>> +        struct xe_reg reg = msg_idle_reg[id].reg;
>>> +        u32 val;
>>> +
>>>           xe_hw_engine_print(hwe, p);
>>>   +        val = xe_mmio_read32(&gt->mmio, reg);
>>> +
>>> +        if (msg_idle_reg[id].has_fw)
>>> +            drm_printf(p, "\tpipe %s, C6 %s, fw_req 0x%02x\n",
>>> +                   val & MSG_IDLE_INDICATION ? "idle" : "busy",
>>> +                   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not 
>>> allowed",
>>> +                   REG_FIELD_GET(MSG_IDLE_FW_STATUS, val));
>>
>> should be FW_REQ here as well.
> Sure, I will modify this.
>
> Thanks,
> Anirban
>
>>
>> Thanks,
>>
>> Vinay.
>>
>>> +        else
>>> +            drm_printf(p, "\tpipe %s, C6 %s\n",
>>> +                   val & MSG_IDLE_INDICATION ? "idle" : "busy",
>>> +                   val & MSG_IDLE_C6_ALLOWED ? "allowed" : "not 
>>> allowed");
>>> +
>>> +        drm_puts(p, "\n");
>>> +    }
>>> +
>>>       return 0;
>>>   }
>>>   diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c 
>>> b/drivers/gpu/drm/xe/xe_guc_capture.c
>>> index 82df19b304e1..5a4d085660a2 100644
>>> --- a/drivers/gpu/drm/xe/xe_guc_capture.c
>>> +++ b/drivers/gpu/drm/xe/xe_guc_capture.c
>>> @@ -1868,8 +1868,6 @@ void xe_engine_snapshot_print(struct 
>>> xe_hw_engine_snapshot *snapshot, struct drm
>>>           snapshot_print_by_list_order(snapshot, p, 
>>> GUC_STATE_CAPTURE_TYPE_ENGINE_CLASS,
>>>                            list);
>>>       }
>>> -
>>> -    drm_puts(p, "\n");
>>>   }
>>>     /**

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

end of thread, other threads:[~2026-09-01 21:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-23 19:43 [PATCH] drm/xe/debugfs: Expose per-engine idle status Sk Anirban
2026-07-24  7:16 ` ✓ CI.KUnit: success for drm/xe/debugfs: Expose per-engine idle status (rev3) Patchwork
2026-07-24  8:18 ` ✓ Xe.CI.BAT: " Patchwork
2026-07-25  0:52 ` ✓ Xe.CI.FULL: " Patchwork
2026-08-28 23:30 ` [PATCH] drm/xe/debugfs: Expose per-engine idle status Belgaumkar, Vinay
2026-09-01 15:12   ` Anirban, Sk
2026-09-01 21:26     ` Belgaumkar, Vinay
  -- strict thread matches above, loose matches on Subject: below --
2026-07-16 15:06 Sk Anirban
2026-06-09 19:51 Sk Anirban
2026-06-17  8:29 ` Purkait, Soham

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