Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] PM_PME support on display hotplug
@ 2026-08-26 22:53 Vinod Govindapillai
  2026-08-26 22:53 ` [PATCH 1/4] drm/i915/hpd: plumb keep_hpd through irq reset Vinod Govindapillai
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Vinod Govindapillai @ 2026-08-26 22:53 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: vinod.govindapillai, imre.deak, pranay.samala

Introduce PME support for PME capable devices and avoid
HPD polling on runtime suspend. For PME capable devices
HPD will trigger PME which will wakeup the system. And
rest of the runtime resume call is same as before.

Vinod Govindapillai (4):
  drm/i915/hpd: plumb keep_hpd through irq reset
  drm/xe/pm: plumb PME capability to runtime suspend handler
  drm/xe/pm: allow the device to signal PME from D3hot
  drm/i915/display: Avoid HPD polling if the device is PME capable

 .../drm/i915/display/intel_display_driver.c   |  6 ++-
 .../drm/i915/display/intel_display_driver.h   |  3 +-
 .../gpu/drm/i915/display/intel_display_irq.c  | 46 +++++++++++++------
 .../gpu/drm/i915/display/intel_display_irq.h  |  2 +-
 drivers/gpu/drm/i915/i915_driver.c            |  2 +-
 drivers/gpu/drm/i915/i915_irq.c               | 16 +++----
 drivers/gpu/drm/xe/display/xe_display.c       |  8 ++--
 drivers/gpu/drm/xe/display/xe_display.h       |  8 ++--
 drivers/gpu/drm/xe/xe_device.c                |  2 +-
 drivers/gpu/drm/xe/xe_irq.c                   | 18 +++++---
 drivers/gpu/drm/xe/xe_irq.h                   |  2 +-
 drivers/gpu/drm/xe/xe_pci.c                   | 22 ++++++++-
 drivers/gpu/drm/xe/xe_pm.c                    | 34 ++++++++++++--
 drivers/gpu/drm/xe/xe_pm.h                    |  3 +-
 14 files changed, 120 insertions(+), 52 deletions(-)

-- 
2.43.0


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

* [PATCH 1/4] drm/i915/hpd: plumb keep_hpd through irq reset
  2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
@ 2026-08-26 22:53 ` Vinod Govindapillai
  2026-08-26 23:08   ` sashiko-bot
  2026-08-26 22:53 ` [PATCH 2/4] drm/xe/pm: plumb PME capability to runtime suspend handler Vinod Govindapillai
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Vinod Govindapillai @ 2026-08-26 22:53 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: vinod.govindapillai, imre.deak, pranay.samala

xe_irq_suspend() resets all display interrupt registers, including the
HPD enable/mask registers. When runtime suspending to D3hot with PME
armed, this leaves the display unable to generate the hotplug event that
would wake the device, so a plug goes unnoticed until something else
resumes it.

As we are going to support PME and avoid HPD polling during the runtime
suspend, we need a way to preserve the HPD related interrupt registers.
A keep_hpd flag is used for that purpose and the HPD related interrupt
registers are reset / preserved based on this flag. But we need to plug
this keep_hpd in the existing IRQ suspend / reset mechanism. At this
point this flag is set to false until the PME capability is implemented.

Assisted-by: GitHub_Copilot:claude-opus-5
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
 .../gpu/drm/i915/display/intel_display_irq.c  | 46 +++++++++++++------
 .../gpu/drm/i915/display/intel_display_irq.h  |  2 +-
 drivers/gpu/drm/i915/i915_irq.c               | 16 +++----
 drivers/gpu/drm/xe/display/xe_display.c       |  4 +-
 drivers/gpu/drm/xe/display/xe_display.h       |  4 +-
 drivers/gpu/drm/xe/xe_device.c                |  2 +-
 drivers/gpu/drm/xe/xe_irq.c                   | 18 +++++---
 drivers/gpu/drm/xe/xe_irq.h                   |  2 +-
 drivers/gpu/drm/xe/xe_pm.c                    |  4 +-
 9 files changed, 59 insertions(+), 39 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
index a59b75830bd1..26fc90ff7299 100644
--- a/drivers/gpu/drm/i915/display/intel_display_irq.c
+++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
@@ -1976,16 +1976,20 @@ static void _vlv_display_irq_reset(struct intel_display *display)
 	display->irq.vlv_imr_mask = ~0u;
 }
 
-static void vlv_display_irq_reset(struct intel_display *display)
+static void vlv_display_irq_reset(struct intel_display *display, bool keep_hpd)
 {
+	drm_WARN_ON(display->drm, keep_hpd);
+
 	spin_lock_irq(&display->irq.lock);
 	if (display->irq.vlv_display_irqs_enabled)
 		_vlv_display_irq_reset(display);
 	spin_unlock_irq(&display->irq.lock);
 }
 
-static void i9xx_display_irq_reset(struct intel_display *display)
+static void i9xx_display_irq_reset(struct intel_display *display, bool keep_hpd)
 {
+	drm_WARN_ON(display->drm, keep_hpd);
+
 	if (HAS_HOTPLUG(display)) {
 		i915_hotplug_interrupt_update(display, 0xffffffff, 0);
 		intel_de_rmw(display, PORT_HOTPLUG_STAT(display), 0, 0);
@@ -2177,8 +2181,10 @@ static void ibx_display_irq_reset(struct intel_display *display)
 		intel_de_write(display, SERR_INT, 0xffffffff);
 }
 
-static void ilk_display_irq_reset(struct intel_display *display)
+static void ilk_display_irq_reset(struct intel_display *display, bool keep_hpd)
 {
+	drm_WARN_ON(display->drm, keep_hpd);
+
 	irq_reset(display, DE_IRQ_REGS);
 	display->irq.ilk_de_imr_mask = ~0u;
 
@@ -2193,10 +2199,12 @@ static void ilk_display_irq_reset(struct intel_display *display)
 	ibx_display_irq_reset(display);
 }
 
-static void gen8_display_irq_reset(struct intel_display *display)
+static void gen8_display_irq_reset(struct intel_display *display, bool keep_hpd)
 {
 	enum pipe pipe;
 
+	drm_WARN_ON(display->drm, keep_hpd);
+
 	intel_de_write(display, EDP_PSR_IMR, 0xffffffff);
 	intel_de_write(display, EDP_PSR_IIR, 0xffffffff);
 
@@ -2212,13 +2220,14 @@ static void gen8_display_irq_reset(struct intel_display *display)
 		ibx_display_irq_reset(display);
 }
 
-static void gen11_display_irq_reset(struct intel_display *display)
+static void gen11_display_irq_reset(struct intel_display *display, bool keep_hpd)
 {
 	enum pipe pipe;
 	u32 trans_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
 		BIT(TRANSCODER_C) | BIT(TRANSCODER_D);
 
-	intel_de_write(display, GEN11_DISPLAY_INT_CTL, 0);
+	if (!keep_hpd)
+		intel_de_write(display, GEN11_DISPLAY_INT_CTL, 0);
 
 	if (DISPLAY_VER(display) >= 12) {
 		enum transcoder trans;
@@ -2250,13 +2259,20 @@ static void gen11_display_irq_reset(struct intel_display *display)
 	irq_reset(display, GEN8_DE_PORT_IRQ_REGS);
 	irq_reset(display, GEN8_DE_MISC_IRQ_REGS);
 
-	if (DISPLAY_VER(display) >= 14)
-		irq_reset(display, PICAINTERRUPT_IRQ_REGS);
-	else
-		irq_reset(display, GEN11_DE_HPD_IRQ_REGS);
+	/*
+	 * When runtime suspending to D3hot with PME armed, leave the HPD
+	 * interrupt registers programmed so that a hotplug can still
+	 * generate the wake event. Everything else is reset as usual.
+	 */
+	if (!keep_hpd) {
+		if (DISPLAY_VER(display) >= 14)
+			irq_reset(display, PICAINTERRUPT_IRQ_REGS);
+		else
+			irq_reset(display, GEN11_DE_HPD_IRQ_REGS);
 
-	if (INTEL_PCH_TYPE(display) >= PCH_ICP)
-		irq_reset(display, SDE_IRQ_REGS);
+		if (INTEL_PCH_TYPE(display) >= PCH_ICP)
+			irq_reset(display, SDE_IRQ_REGS);
+	}
 }
 
 void gen8_irq_power_well_post_enable(struct intel_display *display,
@@ -2542,7 +2558,7 @@ static void gen11_de_irq_postinstall(struct intel_display *display)
 }
 
 struct intel_display_irq_funcs {
-	void (*reset)(struct intel_display *display);
+	void (*reset)(struct intel_display *display, bool keep_hpd);
 	void (*postinstall)(struct intel_display *display);
 	void (*ack)(struct intel_display *display, struct intel_display_irq_state *state);
 	bool (*handler)(struct intel_display *display, const struct intel_display_irq_state *state);
@@ -2587,12 +2603,12 @@ static const struct intel_display_irq_funcs i915_display_irq_funcs = {
 	.handler = i915_display_irq_handler,
 };
 
-void intel_display_irq_reset(struct intel_display *display)
+void intel_display_irq_reset(struct intel_display *display, bool keep_hpd)
 {
 	if (!HAS_DISPLAY(display))
 		return;
 
-	display->irq.funcs->reset(display);
+	display->irq.funcs->reset(display, keep_hpd);
 }
 
 void intel_display_irq_postinstall(struct intel_display *display)
diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.h b/drivers/gpu/drm/i915/display/intel_display_irq.h
index 84446bf53401..106f6d979f71 100644
--- a/drivers/gpu/drm/i915/display/intel_display_irq.h
+++ b/drivers/gpu/drm/i915/display/intel_display_irq.h
@@ -64,7 +64,7 @@ struct intel_display_irq_state {
 	u32 pipe_stats[I915_MAX_PIPES];
 };
 
-void intel_display_irq_reset(struct intel_display *display);
+void intel_display_irq_reset(struct intel_display *display, bool keep_hpd);
 void intel_display_irq_postinstall(struct intel_display *display);
 void intel_display_irq_ack(struct intel_display *display, struct intel_display_irq_state *state);
 bool intel_display_irq_handler(struct intel_display *display, const struct intel_display_irq_state *state);
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 932409b943ad..db53b6e82d8e 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -599,7 +599,7 @@ static void ilk_irq_reset(struct drm_i915_private *dev_priv)
 	struct intel_display *display = dev_priv->display;
 
 	/* The master interrupt enable is in DEIER, reset display irq first */
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 	gen5_gt_irq_reset(to_gt(dev_priv));
 }
 
@@ -612,7 +612,7 @@ static void valleyview_irq_reset(struct drm_i915_private *dev_priv)
 
 	gen5_gt_irq_reset(to_gt(dev_priv));
 
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 }
 
 static void gen8_irq_reset(struct drm_i915_private *dev_priv)
@@ -623,7 +623,7 @@ static void gen8_irq_reset(struct drm_i915_private *dev_priv)
 	gen8_master_intr_disable(intel_uncore_regs(uncore));
 
 	gen8_gt_irq_reset(to_gt(dev_priv));
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 	gen2_irq_reset(uncore, GEN8_PCU_IRQ_REGS);
 }
 
@@ -636,7 +636,7 @@ static void gen11_irq_reset(struct drm_i915_private *dev_priv)
 	gen11_master_intr_disable(intel_uncore_regs(&dev_priv->uncore));
 
 	gen11_gt_irq_reset(gt);
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 
 	gen2_irq_reset(uncore, GEN11_GU_MISC_IRQ_REGS);
 	gen2_irq_reset(uncore, GEN8_PCU_IRQ_REGS);
@@ -654,7 +654,7 @@ static void dg1_irq_reset(struct drm_i915_private *dev_priv)
 	for_each_gt(gt, dev_priv, i)
 		gen11_gt_irq_reset(gt);
 
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 
 	gen2_irq_reset(uncore, GEN11_GU_MISC_IRQ_REGS);
 	gen2_irq_reset(uncore, GEN8_PCU_IRQ_REGS);
@@ -674,7 +674,7 @@ static void cherryview_irq_reset(struct drm_i915_private *dev_priv)
 
 	gen2_irq_reset(uncore, GEN8_PCU_IRQ_REGS);
 
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 }
 
 static void ilk_irq_postinstall(struct drm_i915_private *dev_priv)
@@ -823,7 +823,7 @@ static void i915_irq_reset(struct drm_i915_private *dev_priv)
 	struct intel_display *display = dev_priv->display;
 	struct intel_uncore *uncore = &dev_priv->uncore;
 
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 
 	gen2_error_reset(uncore, GEN2_ERROR_REGS);
 	gen2_irq_reset(uncore, GEN2_IRQ_REGS);
@@ -900,7 +900,7 @@ static void i965_irq_reset(struct drm_i915_private *dev_priv)
 	struct intel_display *display = dev_priv->display;
 	struct intel_uncore *uncore = &dev_priv->uncore;
 
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, false);
 
 	gen2_error_reset(uncore, GEN2_ERROR_REGS);
 	gen2_irq_reset(uncore, GEN2_IRQ_REGS);
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 7b25c0814674..6f1f8e0b25b5 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -216,14 +216,14 @@ void xe_display_irq_enable(struct xe_device *xe, u32 gu_misc_iir)
 		intel_opregion_asle_intr(display);
 }
 
-void xe_display_irq_reset(struct xe_device *xe)
+void xe_display_irq_reset(struct xe_device *xe, bool keep_hpd)
 {
 	struct intel_display *display = xe->display;
 
 	if (!xe->info.probe_display)
 		return;
 
-	intel_display_irq_reset(display);
+	intel_display_irq_reset(display, keep_hpd);
 }
 
 void xe_display_irq_postinstall(struct xe_device *xe)
diff --git a/drivers/gpu/drm/xe/display/xe_display.h b/drivers/gpu/drm/xe/display/xe_display.h
index 0babb50bfc77..19f313eba6fb 100644
--- a/drivers/gpu/drm/xe/display/xe_display.h
+++ b/drivers/gpu/drm/xe/display/xe_display.h
@@ -34,7 +34,7 @@ void xe_display_shutdown_late(struct xe_device *xe);
 
 void xe_display_irq_handler(struct xe_device *xe, u32 master_ctl);
 void xe_display_irq_enable(struct xe_device *xe, u32 gu_misc_iir);
-void xe_display_irq_reset(struct xe_device *xe);
+void xe_display_irq_reset(struct xe_device *xe, bool keep_hpd);
 void xe_display_irq_postinstall(struct xe_device *xe);
 
 void xe_display_pm_suspend(struct xe_device *xe);
@@ -72,7 +72,7 @@ static inline void xe_display_shutdown_late(struct xe_device *xe) {}
 
 static inline void xe_display_irq_handler(struct xe_device *xe, u32 master_ctl) {}
 static inline void xe_display_irq_enable(struct xe_device *xe, u32 gu_misc_iir) {}
-static inline void xe_display_irq_reset(struct xe_device *xe) {}
+static inline void xe_display_irq_reset(struct xe_device *xe, bool keep_hpd) {}
 static inline void xe_display_irq_postinstall(struct xe_device *xe) {}
 
 static inline void xe_display_pm_suspend(struct xe_device *xe) {}
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 74d566693dfd..2c586dd3e187 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -1190,7 +1190,7 @@ void xe_device_shutdown(struct xe_device *xe)
 
 	xe_display_shutdown(xe);
 
-	xe_irq_suspend(xe);
+	xe_irq_suspend(xe, false);
 
 	for_each_gt(gt, xe, id)
 		xe_gt_shutdown(gt);
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 9e49e2241da4..eb240615455c 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -644,7 +644,7 @@ static void vf_irq_reset(struct xe_device *xe)
 	}
 }
 
-static void xe_irq_reset(struct xe_device *xe)
+static void xe_irq_reset(struct xe_device *xe, bool keep_hpd)
 {
 	struct xe_tile *tile;
 	u8 id;
@@ -666,7 +666,7 @@ static void xe_irq_reset(struct xe_device *xe)
 
 	tile = xe_device_get_root_tile(xe);
 	mask_and_disable(tile, GU_MISC_IRQ_OFFSET);
-	xe_display_irq_reset(xe);
+	xe_display_irq_reset(xe, keep_hpd);
 	xe_i2c_irq_reset(xe);
 
 	/*
@@ -789,7 +789,7 @@ static void irq_uninstall(void *arg)
 	if (!atomic_xchg(&xe->irq.enabled, 0))
 		return;
 
-	xe_irq_reset(xe);
+	xe_irq_reset(xe, false);
 
 	if (xe_device_has_msix(xe))
 		xe_irq_msix_free(xe);
@@ -813,7 +813,7 @@ int xe_irq_install(struct xe_device *xe)
 
 	xe_hw_error_init(xe);
 
-	xe_irq_reset(xe);
+	xe_irq_reset(xe, false);
 
 	if (xe_device_has_msix(xe)) {
 		nvec = xe->irq.msix.nvec;
@@ -843,7 +843,7 @@ static void xe_irq_msi_synchronize_irq(struct xe_device *xe)
 	synchronize_irq(to_pci_dev(xe->drm.dev)->irq);
 }
 
-void xe_irq_suspend(struct xe_device *xe)
+void xe_irq_suspend(struct xe_device *xe, bool keep_hpd)
 {
 	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
 
@@ -852,7 +852,7 @@ void xe_irq_suspend(struct xe_device *xe)
 		xe_irq_msix_synchronize_irq(xe);
 	else
 		xe_irq_msi_synchronize_irq(xe);
-	xe_irq_reset(xe); /* turn irqs off */
+	xe_irq_reset(xe, keep_hpd); /* turn irqs off */
 }
 
 void xe_irq_resume(struct xe_device *xe)
@@ -866,7 +866,11 @@ void xe_irq_resume(struct xe_device *xe)
 	 * 2. display is not yet resumed
 	 */
 	atomic_set(&xe->irq.enabled, 1);
-	xe_irq_reset(xe);
+	/*
+	 * Always a full reset here: once awake, HPD is delivered as a normal
+	 * interrupt again and the postinstall below re-arms that path.
+	 */
+	xe_irq_reset(xe, false);
 	xe_irq_postinstall(xe); /* turn irqs on */
 
 	for_each_gt(gt, xe, id)
diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
index a28bd577ba52..eb9eb2060ff5 100644
--- a/drivers/gpu/drm/xe/xe_irq.h
+++ b/drivers/gpu/drm/xe/xe_irq.h
@@ -16,7 +16,7 @@ struct xe_gt;
 
 int xe_irq_init(struct xe_device *xe);
 int xe_irq_install(struct xe_device *xe);
-void xe_irq_suspend(struct xe_device *xe);
+void xe_irq_suspend(struct xe_device *xe, bool keep_hpd);
 void xe_irq_resume(struct xe_device *xe);
 void xe_irq_enable_hwe(struct xe_gt *gt);
 int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index f517bf453b54..1488c4dfcc05 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -202,7 +202,7 @@ int xe_pm_suspend(struct xe_device *xe)
 			goto err_display;
 	}
 
-	xe_irq_suspend(xe);
+	xe_irq_suspend(xe, false);
 
 	xe_display_pm_suspend_late(xe);
 
@@ -639,7 +639,7 @@ int xe_pm_runtime_suspend(struct xe_device *xe)
 			goto out_resume;
 	}
 
-	xe_irq_suspend(xe);
+	xe_irq_suspend(xe, false);
 
 	xe_display_pm_runtime_suspend_late(xe);
 
-- 
2.43.0


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

* [PATCH 2/4] drm/xe/pm: plumb PME capability to runtime suspend handler
  2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
  2026-08-26 22:53 ` [PATCH 1/4] drm/i915/hpd: plumb keep_hpd through irq reset Vinod Govindapillai
@ 2026-08-26 22:53 ` Vinod Govindapillai
  2026-08-26 23:04   ` sashiko-bot
  2026-08-26 22:53 ` [PATCH 3/4] drm/xe/pm: allow the device to signal PME from D3hot Vinod Govindapillai
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Vinod Govindapillai @ 2026-08-26 22:53 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: vinod.govindapillai, imre.deak, pranay.samala

If the device is PME capable, we don't need to start the HPD polling
during the runtime suspend. So to differentiate, plumb pme_capable
flag which is set to true only if the platform supports PME and
the device is PME capable. In i915, this is set to false. But for xe
it will be set based on the PME capability. Until the PME capability
support is added, this flag hard coded to false. Also cases like
D3Cold where PME is not supported, this is set to false by default.

Assisted-by: GitHub_Copilot:claude-opus-5
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_driver.c | 3 ++-
 drivers/gpu/drm/i915/display/intel_display_driver.h | 3 ++-
 drivers/gpu/drm/i915/i915_driver.c                  | 2 +-
 drivers/gpu/drm/xe/display/xe_display.c             | 4 ++--
 drivers/gpu/drm/xe/display/xe_display.h             | 4 ++--
 drivers/gpu/drm/xe/xe_pci.c                         | 2 +-
 drivers/gpu/drm/xe/xe_pm.c                          | 7 ++++---
 drivers/gpu/drm/xe/xe_pm.h                          | 2 +-
 8 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 70d112fd4287..ba494827c9cb 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -904,7 +904,8 @@ void intel_display_driver_pm_runtime_suspend(struct intel_display *display)
 }
 
 /* after irq suspend */
-void intel_display_driver_pm_runtime_suspend_late(struct intel_display *display)
+void intel_display_driver_pm_runtime_suspend_late(struct intel_display *display,
+						  bool pme_capable)
 {
 	intel_display_power_runtime_suspend(display);
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.h b/drivers/gpu/drm/i915/display/intel_display_driver.h
index 1ae2ad7e95f6..a8bc663bb840 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.h
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.h
@@ -47,7 +47,8 @@ void intel_display_driver_runtime_pm_enable(struct intel_display *display);
 void intel_display_driver_runtime_pm_disable(struct intel_display *display);
 
 void intel_display_driver_pm_runtime_suspend(struct intel_display *display);
-void intel_display_driver_pm_runtime_suspend_late(struct intel_display *display);
+void intel_display_driver_pm_runtime_suspend_late(struct intel_display *display,
+						  bool pme_capable);
 void intel_display_driver_pm_runtime_resume_early(struct intel_display *display);
 void intel_display_driver_pm_runtime_resume(struct intel_display *display);
 
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index ce6d20958320..2899683c6b0b 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -1518,7 +1518,7 @@ static int i915_pm_runtime_suspend(struct device *kdev)
 	for_each_gt(gt, dev_priv, i)
 		intel_uncore_suspend(gt->uncore);
 
-	intel_display_driver_pm_runtime_suspend_late(display);
+	intel_display_driver_pm_runtime_suspend_late(display, false);
 
 	ret = vlv_suspend_complete(dev_priv);
 	if (ret) {
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 6f1f8e0b25b5..16085b85444f 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -362,7 +362,7 @@ void xe_display_pm_runtime_suspend(struct xe_device *xe)
 }
 
 /* after irq suspend */
-void xe_display_pm_runtime_suspend_late(struct xe_device *xe)
+void xe_display_pm_runtime_suspend_late(struct xe_device *xe, bool pme_capable)
 {
 	struct intel_display *display = xe->display;
 
@@ -376,7 +376,7 @@ void xe_display_pm_runtime_suspend_late(struct xe_device *xe)
 		return;
 	}
 
-	intel_display_driver_pm_runtime_suspend_late(display);
+	intel_display_driver_pm_runtime_suspend_late(display, pme_capable);
 }
 
 /* before irq resume */
diff --git a/drivers/gpu/drm/xe/display/xe_display.h b/drivers/gpu/drm/xe/display/xe_display.h
index 19f313eba6fb..636b3768d882 100644
--- a/drivers/gpu/drm/xe/display/xe_display.h
+++ b/drivers/gpu/drm/xe/display/xe_display.h
@@ -42,7 +42,7 @@ void xe_display_pm_suspend_late(struct xe_device *xe);
 void xe_display_pm_resume_early(struct xe_device *xe);
 void xe_display_pm_resume(struct xe_device *xe);
 void xe_display_pm_runtime_suspend(struct xe_device *xe);
-void xe_display_pm_runtime_suspend_late(struct xe_device *xe);
+void xe_display_pm_runtime_suspend_late(struct xe_device *xe, bool pme_capable);
 void xe_display_pm_runtime_resume_early(struct xe_device *xe);
 void xe_display_pm_runtime_resume(struct xe_device *xe);
 
@@ -80,7 +80,7 @@ static inline void xe_display_pm_suspend_late(struct xe_device *xe) {}
 static inline void xe_display_pm_resume_early(struct xe_device *xe) {}
 static inline void xe_display_pm_resume(struct xe_device *xe) {}
 static inline void xe_display_pm_runtime_suspend(struct xe_device *xe) {}
-static inline void xe_display_pm_runtime_suspend_late(struct xe_device *xe) {}
+static inline void xe_display_pm_runtime_suspend_late(struct xe_device *xe, bool pme_capable) {}
 static inline void xe_display_pm_runtime_resume_early(struct xe_device *xe) {}
 static inline void xe_display_pm_runtime_resume(struct xe_device *xe) {}
 
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index ab4da1d9a9f1..c22b40045f7b 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -1392,7 +1392,7 @@ static int xe_pci_runtime_suspend(struct device *dev)
 	xe_assert(xe, !IS_SRIOV_VF(xe));
 	xe_assert(xe, !pci_num_vf(pdev));
 
-	err = xe_pm_runtime_suspend(xe);
+	err = xe_pm_runtime_suspend(xe, false);
 	if (err)
 		return err;
 
diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index 1488c4dfcc05..c3a53c5f8b33 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -574,10 +574,11 @@ bool xe_pm_runtime_suspended(struct xe_device *xe)
 /**
  * xe_pm_runtime_suspend - Prepare our device for D3hot/D3Cold
  * @xe: xe device instance
+ * @pme_capable: indicates if the device can raise PME from runtime D3hot.
  *
  * Returns 0 for success, negative error code otherwise.
  */
-int xe_pm_runtime_suspend(struct xe_device *xe)
+int xe_pm_runtime_suspend(struct xe_device *xe, bool pme_capable)
 {
 	struct xe_bo *bo, *on;
 	struct xe_gt *gt;
@@ -639,9 +640,9 @@ int xe_pm_runtime_suspend(struct xe_device *xe)
 			goto out_resume;
 	}
 
-	xe_irq_suspend(xe, false);
+	xe_irq_suspend(xe, pme_capable);
 
-	xe_display_pm_runtime_suspend_late(xe);
+	xe_display_pm_runtime_suspend_late(xe, pme_capable);
 
 	xe_i2c_pm_suspend(xe);
 
diff --git a/drivers/gpu/drm/xe/xe_pm.h b/drivers/gpu/drm/xe/xe_pm.h
index 6d5ab09cb769..27455a8d2061 100644
--- a/drivers/gpu/drm/xe/xe_pm.h
+++ b/drivers/gpu/drm/xe/xe_pm.h
@@ -21,7 +21,7 @@ int xe_pm_probe(struct xe_device *xe);
 int xe_pm_init(struct xe_device *xe);
 void xe_pm_fini(struct xe_device *xe);
 bool xe_pm_runtime_suspended(struct xe_device *xe);
-int xe_pm_runtime_suspend(struct xe_device *xe);
+int xe_pm_runtime_suspend(struct xe_device *xe, bool pme_capable);
 int xe_pm_runtime_resume(struct xe_device *xe);
 void xe_pm_runtime_get(struct xe_device *xe);
 int xe_pm_runtime_get_ioctl(struct xe_device *xe);
-- 
2.43.0


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

* [PATCH 3/4] drm/xe/pm: allow the device to signal PME from D3hot
  2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
  2026-08-26 22:53 ` [PATCH 1/4] drm/i915/hpd: plumb keep_hpd through irq reset Vinod Govindapillai
  2026-08-26 22:53 ` [PATCH 2/4] drm/xe/pm: plumb PME capability to runtime suspend handler Vinod Govindapillai
@ 2026-08-26 22:53 ` Vinod Govindapillai
  2026-08-26 23:01   ` sashiko-bot
  2026-08-26 22:53 ` [PATCH 4/4] drm/i915/display: Avoid HPD polling if the device is PME capable Vinod Govindapillai
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Vinod Govindapillai @ 2026-08-26 22:53 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: vinod.govindapillai, imre.deak, pranay.samala

Make the device a usable wakeup source so it can raise PME while runtime
suspended to D3hot The PCI core marks endpoints wakeup-capable but leaves
them disabled, so pci_enable_wake() returns -EINVAL until the driver opts
in using devm_device_init_wakeup(). D3cold is excluded, as the device
loses power there and cannot signal at all.

Assisted-by: GitHub_Copilot:claude-opus-5
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
 drivers/gpu/drm/xe/xe_pci.c | 22 ++++++++++++++++++++--
 drivers/gpu/drm/xe/xe_pm.c  | 25 +++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_pm.h  |  1 +
 3 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index c22b40045f7b..42c933390d0d 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -1217,6 +1217,10 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
 
 	pci_set_master(pdev);
 
+	err = devm_device_init_wakeup(&pdev->dev);
+	if (err)
+		return err;
+
 	err = xe_probe_info_early(xe, desc, &probed_info);
 	if (err)
 		return err;
@@ -1381,6 +1385,7 @@ static int xe_pci_runtime_suspend(struct device *dev)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
 	struct xe_device *xe = pdev_to_xe_device(pdev);
+	bool pme_armed = false;
 	int err;
 
 	/*
@@ -1392,9 +1397,20 @@ static int xe_pci_runtime_suspend(struct device *dev)
 	xe_assert(xe, !IS_SRIOV_VF(xe));
 	xe_assert(xe, !pci_num_vf(pdev));
 
-	err = xe_pm_runtime_suspend(xe, false);
-	if (err)
+	if (xe_pm_pme_capable(xe)) {
+		pme_armed = !pci_enable_wake(pdev, PCI_D3hot, true);
+		if (!pme_armed)
+			drm_warn(&xe->drm,
+				 "Failed to arm PME for D3hot: %d\n", err);
+	}
+
+	err = xe_pm_runtime_suspend(xe, pme_armed);
+	if (err) {
+		if (pme_armed)
+			pci_enable_wake(pdev, PCI_D3hot, false);
+
 		return err;
+	}
 
 	pci_save_state(pdev);
 
@@ -1421,6 +1437,8 @@ static int xe_pci_runtime_resume(struct device *dev)
 	if (err)
 		return err;
 
+	pci_enable_wake(pdev, PCI_D3hot, false);
+
 	pci_restore_state(pdev);
 
 	if (xe->d3cold.allowed) {
diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index c3a53c5f8b33..e488bfa086ea 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -555,6 +555,31 @@ struct task_struct *xe_pm_read_callback_task(struct xe_device *xe)
 	return READ_ONCE(xe->pm_callback_task);
 }
 
+/**
+ * xe_pm_pme_capable - Can the device raise PME from runtime D3hot?
+ * @xe: xe device instance
+ *
+ * Only meaningful on the D3hot runtime suspend path: on D3cold the device
+ * loses power and cannot signal a hotplug. Honours the user-visible
+ * power/wakeup policy via device_may_wakeup(), so a user who disables
+ * wakeup falls back to the normal reset-and-poll behaviour rather than
+ * losing both mechanisms.
+ *
+ * Return: true if PME can be armed for D3hot.
+ */
+bool xe_pm_pme_capable(struct xe_device *xe)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+
+	if (xe->d3cold.allowed)
+		return false;
+
+	if (!pci_pme_capable(pdev, PCI_D3hot))
+		return false;
+
+	return device_may_wakeup(&pdev->dev);
+}
+
 /**
  * xe_pm_runtime_suspended - Check if runtime_pm state is suspended
  * @xe: xe device instance
diff --git a/drivers/gpu/drm/xe/xe_pm.h b/drivers/gpu/drm/xe/xe_pm.h
index 27455a8d2061..876afd5bebc6 100644
--- a/drivers/gpu/drm/xe/xe_pm.h
+++ b/drivers/gpu/drm/xe/xe_pm.h
@@ -23,6 +23,7 @@ void xe_pm_fini(struct xe_device *xe);
 bool xe_pm_runtime_suspended(struct xe_device *xe);
 int xe_pm_runtime_suspend(struct xe_device *xe, bool pme_capable);
 int xe_pm_runtime_resume(struct xe_device *xe);
+bool xe_pm_pme_capable(struct xe_device *xe);
 void xe_pm_runtime_get(struct xe_device *xe);
 int xe_pm_runtime_get_ioctl(struct xe_device *xe);
 void xe_pm_runtime_put(struct xe_device *xe);
-- 
2.43.0


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

* [PATCH 4/4] drm/i915/display: Avoid HPD polling if the device is PME capable
  2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
                   ` (2 preceding siblings ...)
  2026-08-26 22:53 ` [PATCH 3/4] drm/xe/pm: allow the device to signal PME from D3hot Vinod Govindapillai
@ 2026-08-26 22:53 ` Vinod Govindapillai
  2026-08-26 23:02 ` ✓ CI.KUnit: success for pm_pme support on display hotplug (rev2) Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Vinod Govindapillai @ 2026-08-26 22:53 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: vinod.govindapillai, imre.deak, pranay.samala

Do not start HPD polling for devices capable of PME wakeup.

Assisted-by: GitHub_Copilot:claude-opus-5
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_driver.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index ba494827c9cb..b29209f06e92 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -932,7 +932,8 @@ void intel_display_driver_pm_runtime_suspend_late(struct intel_display *display,
 		intel_opregion_notify_adapter(display, PCI_D1);
 	}
 
-	if (!display->platform.valleyview && !display->platform.cherryview)
+	if (!display->platform.valleyview && !display->platform.cherryview &&
+	    !pme_capable)
 		intel_hpd_poll_enable(display);
 }
 
-- 
2.43.0


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

* Re: [PATCH 3/4] drm/xe/pm: allow the device to signal PME from D3hot
  2026-08-26 22:53 ` [PATCH 3/4] drm/xe/pm: allow the device to signal PME from D3hot Vinod Govindapillai
@ 2026-08-26 23:01   ` sashiko-bot
  0 siblings, 0 replies; 11+ messages in thread
From: sashiko-bot @ 2026-08-26 23:01 UTC (permalink / raw)
  To: Vinod Govindapillai; +Cc: intel-xe, intel-gfx

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The variable `err` is used uninitialized in the warning message when `pci_enable_wake()` fails, potentially leaking stack memory to the kernel log.
--

commit 49538b2bae6d5a5f0599da227733b24b63d3639b
Author: Vinod Govindapillai <vinod.govindapillai@intel.com>

    drm/xe/pm: allow the device to signal PME from D3hot
    
    Make the device a usable wakeup source so it can raise PME while runtime
    suspended to D3hot The PCI core marks endpoints wakeup-capable but leaves
    them disabled, so pci_enable_wake() returns -EINVAL until the driver opts
    in using devm_device_init_wakeup(). D3cold is excluded, as the device
    loses power there and cannot signal at all.

> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index 3b3b6426d960c..af59859fd8c96 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
[ ... ]
> @@ -1380,6 +1384,7 @@ static int xe_pci_runtime_suspend(struct device *dev)
>  {
>  	struct pci_dev *pdev = to_pci_dev(dev);
>  	struct xe_device *xe = pdev_to_xe_device(pdev);
> +	bool pme_armed = false;
>  	int err;
>  
>  	/*
> @@ -1391,9 +1396,20 @@ static int xe_pci_runtime_suspend(struct device *dev)
>  	xe_assert(xe, !IS_SRIOV_VF(xe));
>  	xe_assert(xe, !pci_num_vf(pdev));
>  
> -	err = xe_pm_runtime_suspend(xe, false);
> -	if (err)
> +	if (xe_pm_pme_capable(xe)) {
> +		pme_armed = !pci_enable_wake(pdev, PCI_D3hot, true);
> +		if (!pme_armed)
> +			drm_warn(&xe->drm,
> +				 "Failed to arm PME for D3hot: %d\n", err);

[Severity: Medium]
Could this leak uninitialized stack memory to the kernel log? It looks like
the variable err is used in the warning message when pci_enable_wake() fails
in xe_pci_runtime_suspend(), but it hasn't been initialized yet. Since the
return value from pci_enable_wake() is inverted into the boolean pme_armed,
the actual error code is never captured in err before printing it.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260826225338.804902-1-vinod.govindapillai@intel.com?part=3

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

* ✓ CI.KUnit: success for pm_pme support on display hotplug (rev2)
  2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
                   ` (3 preceding siblings ...)
  2026-08-26 22:53 ` [PATCH 4/4] drm/i915/display: Avoid HPD polling if the device is PME capable Vinod Govindapillai
@ 2026-08-26 23:02 ` Patchwork
  2026-08-26 23:38 ` ✓ Xe.CI.BAT: " Patchwork
  2026-08-27  2:02 ` ✓ Xe.CI.FULL: " Patchwork
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-08-26 23:02 UTC (permalink / raw)
  To: Vinod Govindapillai; +Cc: intel-xe

== Series Details ==

Series: pm_pme support on display hotplug (rev2)
URL   : https://patchwork.freedesktop.org/series/172305/
State : success

== Summary ==

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

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

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

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

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



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

* Re: [PATCH 2/4] drm/xe/pm: plumb PME capability to runtime suspend handler
  2026-08-26 22:53 ` [PATCH 2/4] drm/xe/pm: plumb PME capability to runtime suspend handler Vinod Govindapillai
@ 2026-08-26 23:04   ` sashiko-bot
  0 siblings, 0 replies; 11+ messages in thread
From: sashiko-bot @ 2026-08-26 23:04 UTC (permalink / raw)
  To: Vinod Govindapillai; +Cc: intel-xe, intel-gfx

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

Pre-existing issues:
- [High] Missing rollback of GT suspend operations on error paths in PM suspend callbacks leaves previously suspended GTs in a powered-down state.
--

commit beb79b15731f1c3df49e1a0d1e8cf997804da5af
Author: Vinod Govindapillai <vinod.govindapillai@intel.com>
Subject: drm/xe/pm: plumb PME capability to runtime suspend handler

If the device is PME capable, we don't need to start the HPD polling
during the runtime suspend. This patch plumbs the pme_capable flag
through the runtime suspend stack.

> diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
> index 1488c4dfcc055..c3a53c5f8b330 100644
> --- a/drivers/gpu/drm/xe/xe_pm.c
> +++ b/drivers/gpu/drm/xe/xe_pm.c
[ ... ]
> @@ -639,9 +640,9 @@ int xe_pm_runtime_suspend(struct xe_device *xe)
>  			goto out_resume;
                        ^^^^^^^^^^^^^^^

[Severity: High]
This isn't a bug introduced by this patch, but modifying this function
highlights incomplete error handling on this path.

If suspending a GT fails (e.g., due to a forcewake timeout), the out_resume
error path skips resuming the GTs that successfully suspended prior to the
failure:

out_resume:
	xe_display_pm_runtime_resume(xe);
	xe_pxp_pm_resume(xe->pxp);
out:
	xe_rpm_lockmap_release(xe);
	xe_pm_write_callback_task(xe, NULL);
	return err;

Since the PM core considers the device to be active when the suspend callback
returns an error, won't subsequent accesses to the successfully suspended GTs
cause hardware hangs or kernel oops?

Also, a similar issue appears in the system suspend path in xe_pm_suspend():

	for_each_gt(gt, xe, id) {
		err = xe_gt_suspend(gt);
		if (err)
			goto err_display;
	}

Could we ensure previously suspended GTs are properly resumed in these error
paths?

>  	}
>  
> -	xe_irq_suspend(xe, false);
> +	xe_irq_suspend(xe, pme_capable);
>  
> -	xe_display_pm_runtime_suspend_late(xe);
> +	xe_display_pm_runtime_suspend_late(xe, pme_capable);
>  
>  	xe_i2c_pm_suspend(xe);

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260826225338.804902-1-vinod.govindapillai@intel.com?part=2

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

* Re: [PATCH 1/4] drm/i915/hpd: plumb keep_hpd through irq reset
  2026-08-26 22:53 ` [PATCH 1/4] drm/i915/hpd: plumb keep_hpd through irq reset Vinod Govindapillai
@ 2026-08-26 23:08   ` sashiko-bot
  0 siblings, 0 replies; 11+ messages in thread
From: sashiko-bot @ 2026-08-26 23:08 UTC (permalink / raw)
  To: Vinod Govindapillai; +Cc: intel-xe, intel-gfx

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Clearing all interrupts in `xe_irq_resume` unconditionally discards pending HPD events (especially DP short pulses) that woke the system.
- [Medium] `gen11_display_irq_reset()` leaves non-HPD interrupts enabled when `keep_hpd` is true by bypassing entire register bank resets.
--

commit 4b2992909ca6b4f24f513b4a4b9fb59c8de79fa9
Author: Vinod Govindapillai <vinod.govindapillai@intel.com>
drm/i915/hpd: plumb keep_hpd through irq reset

This patch updates the display interrupt reset paths in i915 and xe to
conditionally preserve HPD-related interrupt registers. When the keep_hpd
flag is true, HPD interrupts remain active during suspend (D3hot) to allow
hotplug events to wake the device. In all other cases, they are reset as
usual.

> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
> index a59b75830bd13..26fc90ff7299d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
[ ... ]
> @@ -2250,13 +2259,20 @@ static void gen11_display_irq_reset(struct intel_display *display)
>  	irq_reset(display, GEN8_DE_PORT_IRQ_REGS);
>  	irq_reset(display, GEN8_DE_MISC_IRQ_REGS);
>  
> -	if (DISPLAY_VER(display) >= 14)
> -		irq_reset(display, PICAINTERRUPT_IRQ_REGS);
> -	else
> -		irq_reset(display, GEN11_DE_HPD_IRQ_REGS);
> +	/*
> +	 * When runtime suspending to D3hot with PME armed, leave the HPD
> +	 * interrupt registers programmed so that a hotplug can still
> +	 * generate the wake event. Everything else is reset as usual.
> +	 */
> +	if (!keep_hpd) {
> +		if (DISPLAY_VER(display) >= 14)
> +			irq_reset(display, PICAINTERRUPT_IRQ_REGS);
> +		else
> +			irq_reset(display, GEN11_DE_HPD_IRQ_REGS);
>  
> -	if (INTEL_PCH_TYPE(display) >= PCH_ICP)
> -		irq_reset(display, SDE_IRQ_REGS);
> +		if (INTEL_PCH_TYPE(display) >= PCH_ICP)
> +			irq_reset(display, SDE_IRQ_REGS);
> +	}
>  }

[Severity: Medium]
Does bypassing these register banks entirely when keep_hpd is true leave
non-HPD interrupts enabled during suspend?

The SDE and PICA registers contain non-HPD interrupts such as GMBUS, Audio,
and AUX. If these are not reset, could they generate unexpected transitions
on the bus and trigger spurious PME wakeups while the device is in D3hot?

[ ... ]
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index 9e49e2241da41..eb240615455ce 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
[ ... ]
> @@ -866,7 +866,11 @@ void xe_irq_resume(struct xe_device *xe)
>  	 * 2. display is not yet resumed
>  	 */
>  	atomic_set(&xe->irq.enabled, 1);
> -	xe_irq_reset(xe);
> +	/*
> +	 * Always a full reset here: once awake, HPD is delivered as a normal
> +	 * interrupt again and the postinstall below re-arms that path.
> +	 */
> +	xe_irq_reset(xe, false);

[Severity: High]
Does unconditionally clearing all interrupts here discard pending
edge-triggered HPD events (like DisplayPort short pulses) that just woke
the system?

The comment mentions that HPD is delivered as a normal interrupt once awake.
However, since xe_irq_reset(xe, false) writes to the display IIR to clear
the latched status before the interrupt handler runs, wouldn't the event be
permanently lost since edge-triggered events are not re-asserted?

This might cause the driver to miss connection changes or link retraining
requests.

>  	xe_irq_postinstall(xe); /* turn irqs on */
>  
>  	for_each_gt(gt, xe, id)

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260826225338.804902-1-vinod.govindapillai@intel.com?part=1

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

* ✓ Xe.CI.BAT: success for pm_pme support on display hotplug (rev2)
  2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
                   ` (4 preceding siblings ...)
  2026-08-26 23:02 ` ✓ CI.KUnit: success for pm_pme support on display hotplug (rev2) Patchwork
@ 2026-08-26 23:38 ` Patchwork
  2026-08-27  2:02 ` ✓ Xe.CI.FULL: " Patchwork
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-08-26 23:38 UTC (permalink / raw)
  To: Vinod Govindapillai; +Cc: intel-xe

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

== Series Details ==

Series: pm_pme support on display hotplug (rev2)
URL   : https://patchwork.freedesktop.org/series/172305/
State : success

== Summary ==

CI Bug Log - changes from xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044_BAT -> xe-pw-172305v2_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts


Changes
-------

  No changes found


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

  * Linux: xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044 -> xe-pw-172305v2

  IGT_9076: 8f42b0189d73d9912ad58c99cfaa4ff46c20fcc3 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044: 7c56ac46313c75cab25c1e9b7bc4cbf40644b044
  xe-pw-172305v2: 172305v2

== Logs ==

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

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

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

* ✓ Xe.CI.FULL: success for pm_pme support on display hotplug (rev2)
  2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
                   ` (5 preceding siblings ...)
  2026-08-26 23:38 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-08-27  2:02 ` Patchwork
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-08-27  2:02 UTC (permalink / raw)
  To: Vinod Govindapillai; +Cc: intel-xe

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

== Series Details ==

Series: pm_pme support on display hotplug (rev2)
URL   : https://patchwork.freedesktop.org/series/172305/
State : success

== Summary ==

CI Bug Log - changes from xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044_FULL -> xe-pw-172305v2_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-172305v2_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@pan:
    - shard-bmg:          [PASS][1] -> [FAIL][2] ([Intel XE#2488])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-2/igt@fbdev@pan.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-5/igt@fbdev@pan.html

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

  * igt@kms_big_fb@y-tiled-addfb:
    - shard-bmg:          NOTRUN -> [SKIP][4] ([Intel XE#2328] / [Intel XE#7367])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_big_fb@y-tiled-addfb.html

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

  * igt@kms_bw@connected-linear-tiling-4-displays-target-2160x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#7679])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_bw@connected-linear-tiling-4-displays-target-2160x1440p.html

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

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

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

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

  * igt@kms_cursor_crc@cursor-offscreen-128x42:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#2320]) +2 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_cursor_crc@cursor-offscreen-128x42.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#1508])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

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

  * igt@kms_feature_discovery@dsc:
    - shard-bmg:          NOTRUN -> [SKIP][14] ([Intel XE#8586])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_feature_discovery@dsc.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-lnl:          [PASS][15] -> [FAIL][16] ([Intel XE#301] / [Intel XE#3149]) +1 other test fail
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@b-edp1:
    - shard-lnl:          [PASS][17] -> [FAIL][18] ([Intel XE#301]) +1 other test fail
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html

  * igt@kms_flip@plain-flip-fb-recreate:
    - shard-bmg:          [PASS][19] -> [FAIL][20] ([Intel XE#3098]) +1 other test fail
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-5/igt@kms_flip@plain-flip-fb-recreate.html
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@kms_flip@plain-flip-fb-recreate.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#7178] / [Intel XE#7351])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#2311]) +26 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#4141]) +4 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#7061]) +1 other test skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@plane-fbc-rte:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#2350] / [Intel XE#7503])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@kms_frontbuffer_tracking@plane-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#2313]) +26 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-move.html

  * igt@kms_mst@mst-suspend-read-crc:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#8348])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_mst@mst-suspend-read-crc.html

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

  * igt@kms_pm_dc@dc3co-after-dc6@pr-xrgb8888:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_pm_dc@dc3co-after-dc6@pr-xrgb8888.html

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

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#1489]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr@fbc-psr2-primary-blt:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#2234] / [Intel XE#2850]) +5 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@kms_psr@fbc-psr2-primary-blt.html

  * igt@kms_vrr@max-min:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#1499]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_vrr@max-min.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2322] / [Intel XE#7372]) +4 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race.html

  * igt@xe_exec_fault_mode@once-multi-queue-imm:
    - shard-bmg:          NOTRUN -> [SKIP][37] ([Intel XE#8374]) +3 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@xe_exec_fault_mode@once-multi-queue-imm.html

  * igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-dyn-priority-smem:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#8364]) +17 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-dyn-priority-smem.html

  * igt@xe_exec_system_allocator@many-stride-new-prefetch:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][39] ([Intel XE#7098] / [Intel XE#8159])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@xe_exec_system_allocator@many-stride-new-prefetch.html

  * igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#8378]) +1 other test skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_device_probe_early:
    - shard-bmg:          [PASS][41] -> [ABORT][42] ([Intel XE#8007])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-3/igt@xe_fault_injection@inject-fault-probe-function-xe_device_probe_early.html
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-xe_device_probe_early.html

  * igt@xe_page_reclaim@pat-index-xd:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#7793])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@xe_page_reclaim@pat-index-xd.html

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

  * igt@xe_prefetch_fault@l2-prefetch-fault-svm:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#8815])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@xe_prefetch_fault@l2-prefetch-fault-svm.html

  * igt@xe_pxp@pxp-stale-bo-exec-post-rpm:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#4733] / [Intel XE#7417])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-1/igt@xe_pxp@pxp-stale-bo-exec-post-rpm.html

  
#### Possible fixes ####

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-bmg:          [FAIL][47] ([Intel XE#3718] / [Intel XE#6078]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-4/igt@kms_async_flips@alternate-sync-async-flip.html
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-3/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-c-dp-2:
    - shard-bmg:          [FAIL][49] ([Intel XE#6078]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-4/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-dp-2.html
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-3/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-dp-2.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [FAIL][51] ([Intel XE#301]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@c-edp1:
    - shard-lnl:          [FAIL][53] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html

  * igt@xe_fault_injection@vm-create-fail-xe_pt_create:
    - shard-bmg:          [ABORT][55] ([Intel XE#8007]) -> [PASS][56] +2 other tests pass
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-1/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html

  
#### Warnings ####

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-lnl:          [FAIL][57] ([Intel XE#301] / [Intel XE#3149]) -> [FAIL][58] ([Intel XE#301])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank.html
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][59] ([Intel XE#3544]) -> [SKIP][60] ([Intel XE#3374] / [Intel XE#3544])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][61] ([Intel XE#2426] / [Intel XE#5848]) -> [SKIP][62] ([Intel XE#2509] / [Intel XE#7437])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172305v2/shard-bmg-5/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [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#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
  [Intel XE#2350]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2350
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2488
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [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#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
  [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#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#6078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6078
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7098
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [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#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7367
  [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#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
  [Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
  [Intel XE#7503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7503
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8159]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8159
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8348
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
  [Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
  [Intel XE#8586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8586
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#8815]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8815


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

  * Linux: xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044 -> xe-pw-172305v2

  IGT_9076: 8f42b0189d73d9912ad58c99cfaa4ff46c20fcc3 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5650-7c56ac46313c75cab25c1e9b7bc4cbf40644b044: 7c56ac46313c75cab25c1e9b7bc4cbf40644b044
  xe-pw-172305v2: 172305v2

== Logs ==

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

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

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

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

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-26 22:53 [PATCH 0/4] PM_PME support on display hotplug Vinod Govindapillai
2026-08-26 22:53 ` [PATCH 1/4] drm/i915/hpd: plumb keep_hpd through irq reset Vinod Govindapillai
2026-08-26 23:08   ` sashiko-bot
2026-08-26 22:53 ` [PATCH 2/4] drm/xe/pm: plumb PME capability to runtime suspend handler Vinod Govindapillai
2026-08-26 23:04   ` sashiko-bot
2026-08-26 22:53 ` [PATCH 3/4] drm/xe/pm: allow the device to signal PME from D3hot Vinod Govindapillai
2026-08-26 23:01   ` sashiko-bot
2026-08-26 22:53 ` [PATCH 4/4] drm/i915/display: Avoid HPD polling if the device is PME capable Vinod Govindapillai
2026-08-26 23:02 ` ✓ CI.KUnit: success for pm_pme support on display hotplug (rev2) Patchwork
2026-08-26 23:38 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-27  2:02 ` ✓ Xe.CI.FULL: " Patchwork

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