Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls
@ 2026-06-15 12:40 Jani Nikula
  2026-06-15 12:40 ` [PATCH 1/4] drm/i915: add intel_display_driver_pm_runtime*() functions Jani Nikula
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Jani Nikula @ 2026-06-15 12:40 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula, rodrigo.vivi, ville.syrjala

Unify the runtime pm hooks for i915 and xe, apart from the xe special
d3cold handling, which gets separated from the rest.

Jani Nikula (4):
  drm/i915: add intel_display_driver_pm_runtime*() functions
  drm/{i915,xe}: add new
    intel_display_driver_runtime_pm_{enable,disable}()
  drm/xe/display: separate d3cold handling from
    xe_display_pm_runtime_suspend_late()
  drm/xe/display: unify runtime suspend/resume with i915 for non-d3cold

 .../drm/i915/display/intel_display_driver.c   | 66 +++++++++++++++++++
 .../drm/i915/display/intel_display_driver.h   |  8 +++
 drivers/gpu/drm/i915/i915_driver.c            | 48 ++------------
 drivers/gpu/drm/xe/display/xe_display.c       | 28 ++++----
 4 files changed, 93 insertions(+), 57 deletions(-)

-- 
2.47.3


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

* [PATCH 1/4] drm/i915: add intel_display_driver_pm_runtime*() functions
  2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
@ 2026-06-15 12:40 ` Jani Nikula
  2026-06-15 12:40 ` [PATCH 2/4] drm/{i915, xe}: add new intel_display_driver_runtime_pm_{enable, disable}() Jani Nikula
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2026-06-15 12:40 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula, rodrigo.vivi, ville.syrjala

Add new functions intel_display_driver_pm_runtime_suspend(),
intel_display_driver_pm_runtime_suspend_late(),
intel_display_driver_pm_runtime_resume_early(), and
intel_display_driver_pm_runtime_resume(). Initially, only migrate i915,
as there are some differences with xe that will be addressed later.

There are a few functional changes, which should be benign:

- i915_pm_runtime_suspend() moves assert_forcewakes_inactive() call
  before opregion calls.

- i915_pm_runtime_resume() moves intel_opregion_notify_adapter() call
  slightly later.

In the interest of not introducing more severe functional changes, the
calls become slightly asymmetric. We might want to address this later.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 .../drm/i915/display/intel_display_driver.c   | 56 +++++++++++++++++++
 .../drm/i915/display/intel_display_driver.h   |  5 ++
 drivers/gpu/drm/i915/i915_driver.c            | 44 ++-------------
 3 files changed, 65 insertions(+), 40 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 462f78d5b020..67f416070fe0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -868,3 +868,59 @@ void intel_display_driver_pm_resume(struct intel_display *display)
 
 	intel_display_power_enable(display);
 }
+
+void intel_display_driver_pm_runtime_suspend(struct intel_display *display)
+{
+	intel_display_power_runtime_suspend(display);
+}
+
+void intel_display_driver_pm_runtime_suspend_late(struct intel_display *display)
+{
+	/*
+	 * FIXME: We really should find a document that references the arguments
+	 * used below!
+	 */
+	if (display->platform.broadwell) {
+		/*
+		 * On Broadwell, if we use PCI_D1 the PCH DDI ports will stop
+		 * being detected, and the call we do at i915_pm_runtime_resume()
+		 * won't be able to restore them. Since PCI_D3hot matches the
+		 * actual specification and appears to be working, use it.
+		 */
+		intel_opregion_notify_adapter(display, PCI_D3hot);
+	} else {
+		/*
+		 * current versions of firmware which depend on this opregion
+		 * notification have repurposed the D1 definition to mean
+		 * "runtime suspended" vs. what you would normally expect (D3)
+		 * to distinguish it from notifications that might be sent via
+		 * the suspend path.
+		 */
+		intel_opregion_notify_adapter(display, PCI_D1);
+	}
+
+	if (!display->platform.valleyview && !display->platform.cherryview)
+		intel_hpd_poll_enable(display);
+}
+
+void intel_display_driver_pm_runtime_resume_early(struct intel_display *display)
+{
+	intel_opregion_notify_adapter(display, PCI_D0);
+
+	intel_display_power_runtime_resume(display);
+}
+
+void intel_display_driver_pm_runtime_resume(struct intel_display *display)
+{
+	/*
+	 * On VLV/CHV display interrupts are part of the display
+	 * power well, so hpd is reinitialized from there. For
+	 * everyone else do it here.
+	 */
+	if (!display->platform.valleyview && !display->platform.cherryview) {
+		intel_hpd_init(display);
+		intel_hpd_poll_disable(display);
+	}
+
+	skl_watermark_ipc_update(display);
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.h b/drivers/gpu/drm/i915/display/intel_display_driver.h
index 7eca3d17dd82..1b494337d629 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.h
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.h
@@ -43,5 +43,10 @@ void intel_display_driver_suspend_access(struct intel_display *display);
 void intel_display_driver_resume_access(struct intel_display *display);
 bool intel_display_driver_check_access(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_resume_early(struct intel_display *display);
+void intel_display_driver_pm_runtime_resume(struct intel_display *display);
+
 #endif /* __INTEL_DISPLAY_DRIVER_H__ */
 
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 0520cd124686..01aaa66e7cab 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -1539,7 +1539,7 @@ static int i915_pm_runtime_suspend(struct device *kdev)
 	for_each_gt(gt, dev_priv, i)
 		intel_uncore_suspend(gt->uncore);
 
-	intel_display_power_runtime_suspend(display);
+	intel_display_driver_pm_runtime_suspend(display);
 
 	ret = vlv_suspend_complete(dev_priv);
 	if (ret) {
@@ -1573,33 +1573,9 @@ static int i915_pm_runtime_suspend(struct device *kdev)
 	if (root_pdev)
 		pci_d3cold_disable(root_pdev);
 
-	/*
-	 * FIXME: We really should find a document that references the arguments
-	 * used below!
-	 */
-	if (IS_BROADWELL(dev_priv)) {
-		/*
-		 * On Broadwell, if we use PCI_D1 the PCH DDI ports will stop
-		 * being detected, and the call we do at i915_pm_runtime_resume()
-		 * won't be able to restore them. Since PCI_D3hot matches the
-		 * actual specification and appears to be working, use it.
-		 */
-		intel_opregion_notify_adapter(display, PCI_D3hot);
-	} else {
-		/*
-		 * current versions of firmware which depend on this opregion
-		 * notification have repurposed the D1 definition to mean
-		 * "runtime suspended" vs. what you would normally expect (D3)
-		 * to distinguish it from notifications that might be sent via
-		 * the suspend path.
-		 */
-		intel_opregion_notify_adapter(display, PCI_D1);
-	}
-
 	assert_forcewakes_inactive(&dev_priv->uncore);
 
-	if (!IS_VALLEYVIEW(dev_priv) && !IS_CHERRYVIEW(dev_priv))
-		intel_hpd_poll_enable(display);
+	intel_display_driver_pm_runtime_suspend_late(display);
 
 	drm_dbg(&dev_priv->drm, "Device suspended\n");
 	return 0;
@@ -1623,8 +1599,6 @@ static int i915_pm_runtime_resume(struct device *kdev)
 	drm_WARN_ON_ONCE(&dev_priv->drm, atomic_read(&rpm->wakeref_count));
 	disable_rpm_wakeref_asserts(rpm);
 
-	intel_opregion_notify_adapter(display, PCI_D0);
-
 	root_pdev = pcie_find_root_port(pdev);
 	if (root_pdev)
 		pci_d3cold_enable(root_pdev);
@@ -1633,7 +1607,7 @@ static int i915_pm_runtime_resume(struct device *kdev)
 		drm_dbg(&dev_priv->drm,
 			"Unclaimed access during suspend, bios?\n");
 
-	intel_display_power_runtime_resume(display);
+	intel_display_driver_pm_runtime_resume_early(display);
 
 	ret = vlv_resume_prepare(dev_priv, true);
 
@@ -1651,17 +1625,7 @@ static int i915_pm_runtime_resume(struct device *kdev)
 
 	intel_pxp_runtime_resume(dev_priv->pxp);
 
-	/*
-	 * On VLV/CHV display interrupts are part of the display
-	 * power well, so hpd is reinitialized from there. For
-	 * everyone else do it here.
-	 */
-	if (!IS_VALLEYVIEW(dev_priv) && !IS_CHERRYVIEW(dev_priv)) {
-		intel_hpd_init(display);
-		intel_hpd_poll_disable(display);
-	}
-
-	skl_watermark_ipc_update(display);
+	intel_display_driver_pm_runtime_resume(display);
 
 	enable_rpm_wakeref_asserts(rpm);
 
-- 
2.47.3


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

* [PATCH 2/4] drm/{i915, xe}: add new intel_display_driver_runtime_pm_{enable, disable}()
  2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
  2026-06-15 12:40 ` [PATCH 1/4] drm/i915: add intel_display_driver_pm_runtime*() functions Jani Nikula
@ 2026-06-15 12:40 ` Jani Nikula
  2026-06-15 20:01   ` [PATCH 2/4] drm/{i915,xe}: add new intel_display_driver_runtime_pm_{enable,disable}() Rodrigo Vivi
  2026-06-15 12:40 ` [PATCH 3/4] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late() Jani Nikula
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2026-06-15 12:40 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula, rodrigo.vivi, ville.syrjala

Add new high-level functions intel_display_driver_runtime_pm_enable()
and intel_display_driver_runtime_pm_disable() to abstract the low-level
functions intel_display_power_enable() and
intel_display_power_disable(), respectively.

The asymmetry in the "runtime pm enable/disable" and "pm runtime
suspend/etc" naming is intentional, with the latter intended to be
called from the PM hooks.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_driver.c | 10 ++++++++++
 drivers/gpu/drm/i915/display/intel_display_driver.h |  3 +++
 drivers/gpu/drm/i915/i915_driver.c                  |  4 ++--
 drivers/gpu/drm/xe/display/xe_display.c             |  8 ++++----
 4 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 67f416070fe0..a11186be9756 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -869,6 +869,16 @@ void intel_display_driver_pm_resume(struct intel_display *display)
 	intel_display_power_enable(display);
 }
 
+void intel_display_driver_runtime_pm_enable(struct intel_display *display)
+{
+	intel_display_power_enable(display);
+}
+
+void intel_display_driver_runtime_pm_disable(struct intel_display *display)
+{
+	intel_display_power_disable(display);
+}
+
 void intel_display_driver_pm_runtime_suspend(struct intel_display *display)
 {
 	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 1b494337d629..1ae2ad7e95f6 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.h
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.h
@@ -43,6 +43,9 @@ void intel_display_driver_suspend_access(struct intel_display *display);
 void intel_display_driver_resume_access(struct intel_display *display);
 bool intel_display_driver_check_access(struct intel_display *display);
 
+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_resume_early(struct intel_display *display);
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 01aaa66e7cab..4d01168d37cf 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -659,7 +659,7 @@ static int i915_driver_register(struct drm_i915_private *dev_priv)
 
 	intel_display_driver_register(display);
 
-	intel_display_power_enable(display);
+	intel_display_driver_runtime_pm_enable(display);
 	intel_runtime_pm_enable(&dev_priv->runtime_pm);
 
 	if (i915_switcheroo_register(dev_priv))
@@ -681,7 +681,7 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
 	i915_switcheroo_unregister(dev_priv);
 
 	intel_runtime_pm_disable(&dev_priv->runtime_pm);
-	intel_display_power_disable(display);
+	intel_display_driver_runtime_pm_disable(display);
 
 	intel_display_driver_unregister(display);
 
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index a5768736dbbc..493e9e09b6c9 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -176,7 +176,7 @@ void xe_display_register(struct xe_device *xe)
 		return;
 
 	intel_display_driver_register(display);
-	intel_display_power_enable(display);
+	intel_display_driver_runtime_pm_enable(display);
 }
 
 void xe_display_unregister(struct xe_device *xe)
@@ -186,7 +186,7 @@ void xe_display_unregister(struct xe_device *xe)
 	if (!xe->info.probe_display)
 		return;
 
-	intel_display_power_disable(display);
+	intel_display_driver_runtime_pm_disable(display);
 	intel_display_driver_unregister(display);
 }
 
@@ -331,7 +331,7 @@ static void xe_display_enable_d3cold(struct xe_device *xe)
 	 * We do a lot of poking in a lot of registers, make sure they work
 	 * properly.
 	 */
-	intel_display_power_disable(display);
+	intel_display_driver_runtime_pm_disable(display);
 
 	intel_display_flush_cleanup_work(display);
 
@@ -364,7 +364,7 @@ static void xe_display_disable_d3cold(struct xe_device *xe)
 
 	intel_opregion_resume(display);
 
-	intel_display_power_enable(display);
+	intel_display_driver_runtime_pm_enable(display);
 }
 
 void xe_display_pm_runtime_suspend(struct xe_device *xe)
-- 
2.47.3


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

* [PATCH 3/4] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late()
  2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
  2026-06-15 12:40 ` [PATCH 1/4] drm/i915: add intel_display_driver_pm_runtime*() functions Jani Nikula
  2026-06-15 12:40 ` [PATCH 2/4] drm/{i915, xe}: add new intel_display_driver_runtime_pm_{enable, disable}() Jani Nikula
@ 2026-06-15 12:40 ` Jani Nikula
  2026-06-15 20:09   ` Rodrigo Vivi
  2026-06-15 12:40 ` [PATCH 4/4] drm/xe/display: unify runtime suspend/resume with i915 for non-d3cold Jani Nikula
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2026-06-15 12:40 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula, rodrigo.vivi, ville.syrjala

Make the special d3cold paths completely separate from the rest of the
runtime pm calls.

The intel_dmc_wl_flush_release_work() call right after
xe_display_pm_suspend_late() might be completely redundant, but this
avoids any functional changes.

Wiggle the comment while at it. It gets duplicated for now, but this
will be addressed in the follow-up.

v2: Update comments

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/xe/display/xe_display.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 493e9e09b6c9..bdafc010fae1 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -389,14 +389,14 @@ void xe_display_pm_runtime_suspend_late(struct xe_device *xe)
 	if (!xe->info.probe_display)
 		return;
 
-	if (xe->d3cold.allowed)
+	if (xe->d3cold.allowed) {
 		xe_display_pm_suspend_late(xe);
+		/* Ensure the wakelock release work gets flushed */
+		intel_dmc_wl_flush_release_work(display);
+		return;
+	}
 
-	/*
-	 * If xe_display_pm_suspend_late() is not called, it is likely
-	 * that we will be on dynamic DC states with DMC wakelock enabled. We
-	 * need to flush the release work in that case.
-	 */
+	/* Ensure the wakelock release work gets flushed */
 	intel_dmc_wl_flush_release_work(display);
 }
 
-- 
2.47.3


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

* [PATCH 4/4] drm/xe/display: unify runtime suspend/resume with i915 for non-d3cold
  2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
                   ` (2 preceding siblings ...)
  2026-06-15 12:40 ` [PATCH 3/4] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late() Jani Nikula
@ 2026-06-15 12:40 ` Jani Nikula
  2026-06-15 12:48 ` ✓ CI.KUnit: success for drm/{i915,xe}: unify runtime pm calls Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2026-06-15 12:40 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula, rodrigo.vivi, ville.syrjala

With the special d3cold handling in xe runtime suspend/resume separated,
unify the non-d3cold paths with i915. There are multiple changes here at
once that probably wouldn't make much sense to split out further.

Add the call to intel_display_driver_pm_runtime_suspend(), which in turn
starts calling intel_display_power_runtime_suspend(). Deep down, this
should take care of intel_dmc_wl_flush_release_work(), allowing us to
drop the extra call in xe_display_pm_runtime_suspend_late().

Add the call to intel_display_driver_pm_runtime_suspend_late(), which
starts calling intel_opregion_notify_adapter(). The
intel_hpd_poll_enable() call is also done here, postponed from the
previous location in xe_display_pm_runtime_suspend().

Add the call to intel_display_driver_pm_runtime_resume_early(), which
contains the intel_display_power_runtime_resume() and
intel_opregion_notify_adapter() counterparts found in
intel_display_power_runtime_suspend() and
intel_display_power_runtime_suspend_late(). (They are not symmetric.)

Finally, intel_display_driver_pm_runtime_resume() replaces the direct
calls to intel_hpd_init(), intel_hpd_poll_disable(), and
skl_watermark_ipc_update().

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/xe/display/xe_display.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index bdafc010fae1..8c147610f721 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -379,7 +379,7 @@ void xe_display_pm_runtime_suspend(struct xe_device *xe)
 		return;
 	}
 
-	intel_hpd_poll_enable(display);
+	intel_display_driver_pm_runtime_suspend(display);
 }
 
 void xe_display_pm_runtime_suspend_late(struct xe_device *xe)
@@ -396,8 +396,7 @@ void xe_display_pm_runtime_suspend_late(struct xe_device *xe)
 		return;
 	}
 
-	/* Ensure the wakelock release work gets flushed */
-	intel_dmc_wl_flush_release_work(display);
+	intel_display_driver_pm_runtime_suspend_late(display);
 }
 
 void xe_display_pm_runtime_resume(struct xe_device *xe)
@@ -412,9 +411,8 @@ void xe_display_pm_runtime_resume(struct xe_device *xe)
 		return;
 	}
 
-	intel_hpd_init(display);
-	intel_hpd_poll_disable(display);
-	skl_watermark_ipc_update(display);
+	intel_display_driver_pm_runtime_resume_early(display);
+	intel_display_driver_pm_runtime_resume(display);
 }
 
 
-- 
2.47.3


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

* ✓ CI.KUnit: success for drm/{i915,xe}: unify runtime pm calls
  2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
                   ` (3 preceding siblings ...)
  2026-06-15 12:40 ` [PATCH 4/4] drm/xe/display: unify runtime suspend/resume with i915 for non-d3cold Jani Nikula
@ 2026-06-15 12:48 ` Patchwork
  2026-06-15 13:46 ` ✗ Xe.CI.BAT: failure " Patchwork
  2026-06-15 14:41 ` ✗ Xe.CI.FULL: " Patchwork
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-06-15 12:48 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/{i915,xe}: unify runtime pm calls
URL   : https://patchwork.freedesktop.org/series/168519/
State : success

== Summary ==

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

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

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

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



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

* ✗ Xe.CI.BAT: failure for drm/{i915,xe}: unify runtime pm calls
  2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
                   ` (4 preceding siblings ...)
  2026-06-15 12:48 ` ✓ CI.KUnit: success for drm/{i915,xe}: unify runtime pm calls Patchwork
@ 2026-06-15 13:46 ` Patchwork
  2026-06-15 14:41 ` ✗ Xe.CI.FULL: " Patchwork
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-06-15 13:46 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

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

== Series Details ==

Series: drm/{i915,xe}: unify runtime pm calls
URL   : https://patchwork.freedesktop.org/series/168519/
State : failure

== Summary ==

CI Bug Log - changes from xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1_BAT -> xe-pw-168519v1_BAT
====================================================

Summary
-------

  **FAILURE**

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

  

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

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-168519v1_BAT:

### IGT changes ###

#### Possible regressions ####

  * igt@xe_query@multigpu-query-topology:
    - bat-bmg-3:          [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/bat-bmg-3/igt@xe_query@multigpu-query-topology.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/bat-bmg-3/igt@xe_query@multigpu-query-topology.html

  


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

  * Linux: xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1 -> xe-pw-168519v1

  IGT_8963: b19a1c7c50adbf0e090be48d9cbc90596a3434bf @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1: 2f0ab11e7586ee759acebe830e08ce669cbc08a1
  xe-pw-168519v1: 168519v1

== Logs ==

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

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

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

* ✗ Xe.CI.FULL: failure for drm/{i915,xe}: unify runtime pm calls
  2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
                   ` (5 preceding siblings ...)
  2026-06-15 13:46 ` ✗ Xe.CI.BAT: failure " Patchwork
@ 2026-06-15 14:41 ` Patchwork
  6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-06-15 14:41 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

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

== Series Details ==

Series: drm/{i915,xe}: unify runtime pm calls
URL   : https://patchwork.freedesktop.org/series/168519/
State : failure

== Summary ==

CI Bug Log - changes from xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1_FULL -> xe-pw-168519v1_FULL
====================================================

Summary
-------

  **FAILURE**

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

  

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

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-168519v1_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_pm_dc@dc9-dpms:
    - shard-lnl:          [PASS][1] -> [ABORT][2] +18 other tests abort
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-lnl-7/igt@kms_pm_dc@dc9-dpms.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-lnl-2/igt@kms_pm_dc@dc9-dpms.html

  * igt@xe_pm@d3hot-mocs:
    - shard-bmg:          [PASS][3] -> [ABORT][4] +16 other tests abort
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-10/igt@xe_pm@d3hot-mocs.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-7/igt@xe_pm@d3hot-mocs.html

  * igt@xe_pm@s4-d3hot-basic-exec:
    - shard-bmg:          NOTRUN -> [ABORT][5]
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@xe_pm@s4-d3hot-basic-exec.html

  
#### Warnings ####

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-bmg:          [SKIP][6] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836]) -> [ABORT][7] +1 other test abort
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-7/igt@kms_pm_rpm@dpms-lpsp.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-10/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-bmg:          [SKIP][8] ([Intel XE#1439] / [Intel XE#7402] / [Intel XE#836]) -> [ABORT][9]
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-5/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-lnl:          [SKIP][10] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383]) -> [ABORT][11] +1 other test abort
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-lnl-1/igt@kms_pm_rpm@modeset-non-lpsp.html
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-lnl-4/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@package-g7:
    - shard-lnl:          [SKIP][12] ([Intel XE#6813]) -> [ABORT][13]
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-lnl-7/igt@kms_pm_rpm@package-g7.html
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-lnl-4/igt@kms_pm_rpm@package-g7.html
    - shard-bmg:          [SKIP][14] ([Intel XE#6814] / [Intel XE#7428]) -> [ABORT][15]
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-9/igt@kms_pm_rpm@package-g7.html
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-4/igt@kms_pm_rpm@package-g7.html

  * igt@xe_pm@d3cold-i2c:
    - shard-lnl:          [SKIP][16] ([Intel XE#5694] / [Intel XE#7370]) -> [ABORT][17]
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-lnl-5/igt@xe_pm@d3cold-i2c.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-lnl-5/igt@xe_pm@d3cold-i2c.html
    - shard-bmg:          [SKIP][18] ([Intel XE#5694] / [Intel XE#7370]) -> [ABORT][19]
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-9/igt@xe_pm@d3cold-i2c.html
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-3/igt@xe_pm@d3cold-i2c.html

  * igt@xe_pm@d3cold-multiple-execs:
    - shard-bmg:          [SKIP][20] ([Intel XE#2284] / [Intel XE#7370]) -> [ABORT][21] +2 other tests abort
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-8/igt@xe_pm@d3cold-multiple-execs.html
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-7/igt@xe_pm@d3cold-multiple-execs.html

  * igt@xe_pm@s4-d3cold-basic-exec:
    - shard-lnl:          [SKIP][22] ([Intel XE#2284] / [Intel XE#366] / [Intel XE#7370]) -> [ABORT][23] +2 other tests abort
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-lnl-1/igt@xe_pm@s4-d3cold-basic-exec.html
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-lnl-6/igt@xe_pm@s4-d3cold-basic-exec.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#2327])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#1124])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#2887])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#3432])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_cursor_crc@cursor-sliding-32x10:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#2320]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_cursor_crc@cursor-sliding-32x10.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [PASS][29] -> [FAIL][30] ([Intel XE#3321]) +1 other test fail
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-10/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-lnl:          [PASS][31] -> [FAIL][32] ([Intel XE#301] / [Intel XE#3149])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2311]) +7 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#4141]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#7061] / [Intel XE#7356])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2313]) +1 other test skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_hdr@invalid-hdr@pipe-a-dp-2-xrgb16161616f:
    - shard-bmg:          NOTRUN -> [SKIP][37] ([Intel XE#7922]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_hdr@invalid-hdr@pipe-a-dp-2-xrgb16161616f.html

  * igt@kms_hdr@static-toggle@pipe-a-hdmi-a-3-xrgb16161616f:
    - shard-bmg:          [PASS][38] -> [SKIP][39] ([Intel XE#7915]) +1 other test skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-3/igt@kms_hdr@static-toggle@pipe-a-hdmi-a-3-xrgb16161616f.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-7/igt@kms_hdr@static-toggle@pipe-a-hdmi-a-3-xrgb16161616f.html

  * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#7283])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html

  * igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#1489])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr@psr-cursor-plane-move:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#2234] / [Intel XE#2850])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@kms_psr@psr-cursor-plane-move.html

  * igt@xe_eudebug@vma-ufence:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#7636]) +1 other test skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@xe_eudebug@vma-ufence.html

  * igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#7136])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate.html

  * igt@xe_exec_multi_queue@few-execs-preempt-mode-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#6874]) +4 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@xe_exec_multi_queue@few-execs-preempt-mode-userptr-invalidate.html

  * igt@xe_exec_threads@threads-multi-queue-hang-fd-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#7138]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-2/igt@xe_exec_threads@threads-multi-queue-hang-fd-userptr-invalidate-race.html

  
#### Possible fixes ####

  * igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f:
    - shard-bmg:          [SKIP][47] ([Intel XE#7915]) -> [PASS][48] +3 other tests pass
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-bmg-6/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f.html
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-bmg-5/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f.html

  
#### Warnings ####

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-lnl:          [FAIL][49] ([Intel XE#301]) -> [FAIL][50] ([Intel XE#301] / [Intel XE#3149])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-168519v1/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
  [Intel XE#6813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6813
  [Intel XE#6814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6814
  [Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136
  [Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
  [Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
  [Intel XE#7402]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7402
  [Intel XE#7428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7428
  [Intel XE#7636]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7636
  [Intel XE#7915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7915
  [Intel XE#7922]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7922
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836


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

  * Linux: xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1 -> xe-pw-168519v1

  IGT_8963: b19a1c7c50adbf0e090be48d9cbc90596a3434bf @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5258-2f0ab11e7586ee759acebe830e08ce669cbc08a1: 2f0ab11e7586ee759acebe830e08ce669cbc08a1
  xe-pw-168519v1: 168519v1

== Logs ==

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

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

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

* Re: [PATCH 2/4] drm/{i915,xe}: add new intel_display_driver_runtime_pm_{enable,disable}()
  2026-06-15 12:40 ` [PATCH 2/4] drm/{i915, xe}: add new intel_display_driver_runtime_pm_{enable, disable}() Jani Nikula
@ 2026-06-15 20:01   ` Rodrigo Vivi
  0 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Vivi @ 2026-06-15 20:01 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, intel-xe, ville.syrjala

On Mon, Jun 15, 2026 at 03:40:46PM +0300, Jani Nikula wrote:
> Add new high-level functions intel_display_driver_runtime_pm_enable()
> and intel_display_driver_runtime_pm_disable() to abstract the low-level
> functions intel_display_power_enable() and
> intel_display_power_disable(), respectively.
> 
> The asymmetry in the "runtime pm enable/disable" and "pm runtime
> suspend/etc" naming is intentional, with the latter intended to be
> called from the PM hooks.
> 
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display_driver.c | 10 ++++++++++
>  drivers/gpu/drm/i915/display/intel_display_driver.h |  3 +++
>  drivers/gpu/drm/i915/i915_driver.c                  |  4 ++--
>  drivers/gpu/drm/xe/display/xe_display.c             |  8 ++++----
>  4 files changed, 19 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index 67f416070fe0..a11186be9756 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -869,6 +869,16 @@ void intel_display_driver_pm_resume(struct intel_display *display)
>  	intel_display_power_enable(display);
>  }
>  
> +void intel_display_driver_runtime_pm_enable(struct intel_display *display)
> +{
> +	intel_display_power_enable(display);
> +}
> +
> +void intel_display_driver_runtime_pm_disable(struct intel_display *display)
> +{
> +	intel_display_power_disable(display);
> +}
> +
>  void intel_display_driver_pm_runtime_suspend(struct intel_display *display)
>  {
>  	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 1b494337d629..1ae2ad7e95f6 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.h
> @@ -43,6 +43,9 @@ void intel_display_driver_suspend_access(struct intel_display *display);
>  void intel_display_driver_resume_access(struct intel_display *display);
>  bool intel_display_driver_check_access(struct intel_display *display);
>  
> +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_resume_early(struct intel_display *display);
> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> index 01aaa66e7cab..4d01168d37cf 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -659,7 +659,7 @@ static int i915_driver_register(struct drm_i915_private *dev_priv)
>  
>  	intel_display_driver_register(display);
>  
> -	intel_display_power_enable(display);
> +	intel_display_driver_runtime_pm_enable(display);
>  	intel_runtime_pm_enable(&dev_priv->runtime_pm);
>  
>  	if (i915_switcheroo_register(dev_priv))
> @@ -681,7 +681,7 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
>  	i915_switcheroo_unregister(dev_priv);
>  
>  	intel_runtime_pm_disable(&dev_priv->runtime_pm);
> -	intel_display_power_disable(display);
> +	intel_display_driver_runtime_pm_disable(display);
>  
>  	intel_display_driver_unregister(display);
>  
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index a5768736dbbc..493e9e09b6c9 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -176,7 +176,7 @@ void xe_display_register(struct xe_device *xe)
>  		return;
>  
>  	intel_display_driver_register(display);
> -	intel_display_power_enable(display);
> +	intel_display_driver_runtime_pm_enable(display);
>  }
>  
>  void xe_display_unregister(struct xe_device *xe)
> @@ -186,7 +186,7 @@ void xe_display_unregister(struct xe_device *xe)
>  	if (!xe->info.probe_display)
>  		return;
>  
> -	intel_display_power_disable(display);
> +	intel_display_driver_runtime_pm_disable(display);
>  	intel_display_driver_unregister(display);
>  }
>  
> @@ -331,7 +331,7 @@ static void xe_display_enable_d3cold(struct xe_device *xe)
>  	 * We do a lot of poking in a lot of registers, make sure they work
>  	 * properly.
>  	 */
> -	intel_display_power_disable(display);
> +	intel_display_driver_runtime_pm_disable(display);
>  
>  	intel_display_flush_cleanup_work(display);
>  
> @@ -364,7 +364,7 @@ static void xe_display_disable_d3cold(struct xe_device *xe)
>  
>  	intel_opregion_resume(display);
>  
> -	intel_display_power_enable(display);
> +	intel_display_driver_runtime_pm_enable(display);
>  }
>  
>  void xe_display_pm_runtime_suspend(struct xe_device *xe)
> -- 
> 2.47.3
> 

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

* Re: [PATCH 3/4] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late()
  2026-06-15 12:40 ` [PATCH 3/4] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late() Jani Nikula
@ 2026-06-15 20:09   ` Rodrigo Vivi
  2026-06-15 20:34     ` Jani Nikula
  0 siblings, 1 reply; 11+ messages in thread
From: Rodrigo Vivi @ 2026-06-15 20:09 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, intel-xe, ville.syrjala

On Mon, Jun 15, 2026 at 03:40:47PM +0300, Jani Nikula wrote:
> Make the special d3cold paths completely separate from the rest of the
> runtime pm calls.
> 
> The intel_dmc_wl_flush_release_work() call right after
> xe_display_pm_suspend_late() might be completely redundant, but this
> avoids any functional changes.
> 
> Wiggle the comment while at it. It gets duplicated for now, but this
> will be addressed in the follow-up.
> 
> v2: Update comments
> 
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/xe/display/xe_display.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index 493e9e09b6c9..bdafc010fae1 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -389,14 +389,14 @@ void xe_display_pm_runtime_suspend_late(struct xe_device *xe)
>  	if (!xe->info.probe_display)
>  		return;
>  
> -	if (xe->d3cold.allowed)
> +	if (xe->d3cold.allowed) {
>  		xe_display_pm_suspend_late(xe);
> +		/* Ensure the wakelock release work gets flushed */
> +		intel_dmc_wl_flush_release_work(display);
> +		return;
> +	}
>  
> -	/*
> -	 * If xe_display_pm_suspend_late() is not called, it is likely
> -	 * that we will be on dynamic DC states with DMC wakelock enabled. We
> -	 * need to flush the release work in that case.
> -	 */
> +	/* Ensure the wakelock release work gets flushed */
>  	intel_dmc_wl_flush_release_work(display);

In the next patch you end up removing this entirely, so I'm wondering
why this patch simply doesn't remove this and move it to the d3cold only?!

I mean, I saw you replace that by the new runtime_ calls that does the
power_disable, but I don't see that calling the flush, so why simply not
remove now on this patch and make that next one only adding that runtime call
here?

But well, this patch itself is not wrong and it does what it tells and
you are transparently telling this is for ne follow up work. So,

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

>  }
>  
> -- 
> 2.47.3
> 

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

* Re: [PATCH 3/4] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late()
  2026-06-15 20:09   ` Rodrigo Vivi
@ 2026-06-15 20:34     ` Jani Nikula
  0 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2026-06-15 20:34 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx, intel-xe, ville.syrjala

On Mon, 15 Jun 2026, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Mon, Jun 15, 2026 at 03:40:47PM +0300, Jani Nikula wrote:
>> Make the special d3cold paths completely separate from the rest of the
>> runtime pm calls.
>> 
>> The intel_dmc_wl_flush_release_work() call right after
>> xe_display_pm_suspend_late() might be completely redundant, but this
>> avoids any functional changes.
>> 
>> Wiggle the comment while at it. It gets duplicated for now, but this
>> will be addressed in the follow-up.
>> 
>> v2: Update comments
>> 
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/xe/display/xe_display.c | 12 ++++++------
>>  1 file changed, 6 insertions(+), 6 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
>> index 493e9e09b6c9..bdafc010fae1 100644
>> --- a/drivers/gpu/drm/xe/display/xe_display.c
>> +++ b/drivers/gpu/drm/xe/display/xe_display.c
>> @@ -389,14 +389,14 @@ void xe_display_pm_runtime_suspend_late(struct xe_device *xe)
>>  	if (!xe->info.probe_display)
>>  		return;
>>  
>> -	if (xe->d3cold.allowed)
>> +	if (xe->d3cold.allowed) {
>>  		xe_display_pm_suspend_late(xe);
>> +		/* Ensure the wakelock release work gets flushed */
>> +		intel_dmc_wl_flush_release_work(display);
>> +		return;
>> +	}
>>  
>> -	/*
>> -	 * If xe_display_pm_suspend_late() is not called, it is likely
>> -	 * that we will be on dynamic DC states with DMC wakelock enabled. We
>> -	 * need to flush the release work in that case.
>> -	 */
>> +	/* Ensure the wakelock release work gets flushed */
>>  	intel_dmc_wl_flush_release_work(display);
>
> In the next patch you end up removing this entirely, so I'm wondering
> why this patch simply doesn't remove this and move it to the d3cold only?!
>
> I mean, I saw you replace that by the new runtime_ calls that does the
> power_disable, but I don't see that calling the flush, so why simply not
> remove now on this patch and make that next one only adding that runtime call
> here?

I believe the flush is *deep* down the call path there.

>
> But well, this patch itself is not wrong and it does what it tells and
> you are transparently telling this is for ne follow up work. So,
>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Thanks!

BR,
Jani.

>
>>  }
>>  
>> -- 
>> 2.47.3
>> 

-- 
Jani Nikula, Intel

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

end of thread, other threads:[~2026-06-15 20:34 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-15 12:40 [PATCH 0/4] drm/{i915,xe}: unify runtime pm calls Jani Nikula
2026-06-15 12:40 ` [PATCH 1/4] drm/i915: add intel_display_driver_pm_runtime*() functions Jani Nikula
2026-06-15 12:40 ` [PATCH 2/4] drm/{i915, xe}: add new intel_display_driver_runtime_pm_{enable, disable}() Jani Nikula
2026-06-15 20:01   ` [PATCH 2/4] drm/{i915,xe}: add new intel_display_driver_runtime_pm_{enable,disable}() Rodrigo Vivi
2026-06-15 12:40 ` [PATCH 3/4] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late() Jani Nikula
2026-06-15 20:09   ` Rodrigo Vivi
2026-06-15 20:34     ` Jani Nikula
2026-06-15 12:40 ` [PATCH 4/4] drm/xe/display: unify runtime suspend/resume with i915 for non-d3cold Jani Nikula
2026-06-15 12:48 ` ✓ CI.KUnit: success for drm/{i915,xe}: unify runtime pm calls Patchwork
2026-06-15 13:46 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-06-15 14:41 ` ✗ 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