All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] drm/i915/opregion: better abstractions
@ 2024-01-11 17:21 Jani Nikula
  2024-01-11 17:21 ` [PATCH 1/6] drm/i915/bios: move i915_vbt debugfs to intel_bios.c Jani Nikula
                   ` (10 more replies)
  0 siblings, 11 replies; 24+ messages in thread
From: Jani Nikula @ 2024-01-11 17:21 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Here's some opregion refactoring and abstraction inspired by
Radhakrishna's series [1]. This is basically what I want to see done
first.

The next step would be to move VBT firmware loading from
intel_opregion_setup() to intel_bios_setup(). This probably involves
keeping a copy of the VBT around in i915->display.vbt, maybe add vbt and
vbt_size members there. This can be used to fix the i915_vbt debugfs
file to actually reflect the VBT wherever it came from.


BR,
Jani.


[1] https://patchwork.freedesktop.org/series/128341/


Jani Nikula (6):
  drm/i915/bios: move i915_vbt debugfs to intel_bios.c
  drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c
  drm/i915/opregion: abstract getting the opregion VBT
  drm/i915/opregion: abstract ASLE presence check
  drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE
  drm/i915/opregion: make struct intel_opregion opaque

 drivers/gpu/drm/i915/display/intel_bios.c     |  33 +++-
 drivers/gpu/drm/i915/display/intel_bios.h     |   2 +
 .../gpu/drm/i915/display/intel_display_core.h |   3 +-
 .../drm/i915/display/intel_display_debugfs.c  |  26 +--
 .../gpu/drm/i915/display/intel_display_irq.c  |   6 +-
 drivers/gpu/drm/i915/display/intel_opregion.c | 176 +++++++++++++-----
 drivers/gpu/drm/i915/display/intel_opregion.h |  47 +++--
 drivers/gpu/drm/i915/gvt/kvmgt.c              |   2 +-
 8 files changed, 187 insertions(+), 108 deletions(-)

-- 
2.39.2


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

* [PATCH 1/6] drm/i915/bios: move i915_vbt debugfs to intel_bios.c
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
@ 2024-01-11 17:21 ` Jani Nikula
  2024-01-11 23:11   ` Radhakrishna Sripada
  2024-01-11 17:21 ` [PATCH 2/6] drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c Jani Nikula
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-01-11 17:21 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

All things VBT should be placed in intel_bios.c.

While at it, shove in a FIXME comment about VBT possibly originating
from other places than opregion.

Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c     | 25 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_bios.h     |  2 ++
 .../drm/i915/display/intel_display_debugfs.c  | 13 +---------
 3 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 0e61e424802e..cf8e6f7bd490 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -3656,3 +3656,28 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
 	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
 		func(i915, devdata);
 }
+
+static int intel_bios_vbt_show(struct seq_file *m, void *unused)
+{
+	struct drm_i915_private *i915 = m->private;
+	struct intel_opregion *opregion = &i915->display.opregion;
+
+	/*
+	 * FIXME: VBT might originate from other places than opregion, and then
+	 * this would be incorrect.
+	 */
+	if (opregion->vbt)
+		seq_write(m, opregion->vbt, opregion->vbt_size);
+
+	return 0;
+}
+
+DEFINE_SHOW_ATTRIBUTE(intel_bios_vbt);
+
+void intel_bios_debugfs_register(struct drm_i915_private *i915)
+{
+	struct drm_minor *minor = i915->drm.primary;
+
+	debugfs_create_file("i915_vbt", 0444, minor->debugfs_root,
+			    i915, &intel_bios_vbt_fops);
+}
diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
index 96673dc707e7..41bfb009d4b0 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.h
+++ b/drivers/gpu/drm/i915/display/intel_bios.h
@@ -280,4 +280,6 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
 				 void (*func)(struct drm_i915_private *i915,
 					      const struct intel_bios_encoder_data *devdata));
 
+void intel_bios_debugfs_register(struct drm_i915_private *i915);
+
 #endif /* _INTEL_BIOS_H_ */
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index d951edb36687..9ee7e0738059 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -97,17 +97,6 @@ static int i915_opregion(struct seq_file *m, void *unused)
 	return 0;
 }
 
-static int i915_vbt(struct seq_file *m, void *unused)
-{
-	struct drm_i915_private *i915 = node_to_i915(m->private);
-	struct intel_opregion *opregion = &i915->display.opregion;
-
-	if (opregion->vbt)
-		seq_write(m, opregion->vbt, opregion->vbt_size);
-
-	return 0;
-}
-
 static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
@@ -1067,7 +1056,6 @@ static const struct drm_info_list intel_display_debugfs_list[] = {
 	{"i915_frontbuffer_tracking", i915_frontbuffer_tracking, 0},
 	{"i915_sr_status", i915_sr_status, 0},
 	{"i915_opregion", i915_opregion, 0},
-	{"i915_vbt", i915_vbt, 0},
 	{"i915_gem_framebuffer", i915_gem_framebuffer_info, 0},
 	{"i915_power_domain_info", i915_power_domain_info, 0},
 	{"i915_display_info", i915_display_info, 0},
@@ -1105,6 +1093,7 @@ void intel_display_debugfs_register(struct drm_i915_private *i915)
 				 ARRAY_SIZE(intel_display_debugfs_list),
 				 minor->debugfs_root, minor);
 
+	intel_bios_debugfs_register(i915);
 	intel_cdclk_debugfs_register(i915);
 	intel_dmc_debugfs_register(i915);
 	intel_fbc_debugfs_register(i915);
-- 
2.39.2


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

* [PATCH 2/6] drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
  2024-01-11 17:21 ` [PATCH 1/6] drm/i915/bios: move i915_vbt debugfs to intel_bios.c Jani Nikula
@ 2024-01-11 17:21 ` Jani Nikula
  2024-01-11 23:20   ` Radhakrishna Sripada
  2024-01-11 17:21 ` [PATCH 3/6] drm/i915/opregion: abstract getting the opregion VBT Jani Nikula
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-01-11 17:21 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

All things about opregion should be placed in intel_opregion.c.

Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 13 +-----------
 drivers/gpu/drm/i915/display/intel_opregion.c | 21 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_opregion.h |  6 ++++++
 3 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 9ee7e0738059..6f2d13c8ccf7 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -86,17 +86,6 @@ static int i915_sr_status(struct seq_file *m, void *unused)
 	return 0;
 }
 
-static int i915_opregion(struct seq_file *m, void *unused)
-{
-	struct drm_i915_private *i915 = node_to_i915(m->private);
-	struct intel_opregion *opregion = &i915->display.opregion;
-
-	if (opregion->header)
-		seq_write(m, opregion->header, OPREGION_SIZE);
-
-	return 0;
-}
-
 static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
@@ -1055,7 +1044,6 @@ static const struct file_operations i915_fifo_underrun_reset_ops = {
 static const struct drm_info_list intel_display_debugfs_list[] = {
 	{"i915_frontbuffer_tracking", i915_frontbuffer_tracking, 0},
 	{"i915_sr_status", i915_sr_status, 0},
-	{"i915_opregion", i915_opregion, 0},
 	{"i915_gem_framebuffer", i915_gem_framebuffer_info, 0},
 	{"i915_power_domain_info", i915_power_domain_info, 0},
 	{"i915_display_info", i915_display_info, 0},
@@ -1098,6 +1086,7 @@ void intel_display_debugfs_register(struct drm_i915_private *i915)
 	intel_dmc_debugfs_register(i915);
 	intel_fbc_debugfs_register(i915);
 	intel_hpd_debugfs_register(i915);
+	intel_opregion_debugfs_register(i915);
 	intel_psr_debugfs_register(i915);
 	intel_wm_debugfs_register(i915);
 	intel_display_debugfs_params(i915);
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 1ce785db6a5e..26c92ab4ee8a 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -1265,3 +1265,24 @@ void intel_opregion_cleanup(struct drm_i915_private *i915)
 	opregion->vbt = NULL;
 	opregion->lid_state = NULL;
 }
+
+static int intel_opregion_show(struct seq_file *m, void *unused)
+{
+	struct drm_i915_private *i915 = m->private;
+	struct intel_opregion *opregion = &i915->display.opregion;
+
+	if (opregion->header)
+		seq_write(m, opregion->header, OPREGION_SIZE);
+
+	return 0;
+}
+
+DEFINE_SHOW_ATTRIBUTE(intel_opregion);
+
+void intel_opregion_debugfs_register(struct drm_i915_private *i915)
+{
+	struct drm_minor *minor = i915->drm.primary;
+
+	debugfs_create_file("i915_opregion", 0444, minor->debugfs_root,
+			    i915, &intel_opregion_fops);
+}
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
index fd2ea8ef0fa2..7177f50ab0d3 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.h
+++ b/drivers/gpu/drm/i915/display/intel_opregion.h
@@ -79,6 +79,8 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector
 
 bool intel_opregion_headless_sku(struct drm_i915_private *i915);
 
+void intel_opregion_debugfs_register(struct drm_i915_private *i915);
+
 #else /* CONFIG_ACPI*/
 
 static inline int intel_opregion_setup(struct drm_i915_private *dev_priv)
@@ -139,6 +141,10 @@ static inline bool intel_opregion_headless_sku(struct drm_i915_private *i915)
 	return false;
 }
 
+static inline void intel_opregion_debugfs_register(struct drm_i915_private *i915)
+{
+}
+
 #endif /* CONFIG_ACPI */
 
 #endif
-- 
2.39.2


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

* [PATCH 3/6] drm/i915/opregion: abstract getting the opregion VBT
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
  2024-01-11 17:21 ` [PATCH 1/6] drm/i915/bios: move i915_vbt debugfs to intel_bios.c Jani Nikula
  2024-01-11 17:21 ` [PATCH 2/6] drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c Jani Nikula
@ 2024-01-11 17:21 ` Jani Nikula
  2024-01-11 23:22   ` Radhakrishna Sripada
  2024-01-11 17:21 ` [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check Jani Nikula
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-01-11 17:21 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Add a function to get the opregion VBT instead of accessing the opregion
structures directly.

Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c     | 14 +++++++++-----
 drivers/gpu/drm/i915/display/intel_opregion.c | 13 +++++++++++++
 drivers/gpu/drm/i915/display/intel_opregion.h |  8 ++++++++
 3 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index cf8e6f7bd490..5f04e495fd27 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -3073,7 +3073,7 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915)
  */
 void intel_bios_init(struct drm_i915_private *i915)
 {
-	const struct vbt_header *vbt = i915->display.opregion.vbt;
+	const struct vbt_header *vbt;
 	struct vbt_header *oprom_vbt = NULL;
 	const struct bdb_header *bdb;
 
@@ -3088,6 +3088,8 @@ void intel_bios_init(struct drm_i915_private *i915)
 
 	init_vbt_defaults(i915);
 
+	vbt = intel_opregion_get_vbt(i915, NULL);
+
 	/*
 	 * If the OpRegion does not have VBT, look in SPI flash through MMIO or
 	 * PCI mapping
@@ -3305,7 +3307,7 @@ bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
 		 * additional data.  Trust that if the VBT was written into
 		 * the OpRegion then they have validated the LVDS's existence.
 		 */
-		if (i915->display.opregion.vbt)
+		if (intel_opregion_get_vbt(i915, NULL))
 			return true;
 	}
 
@@ -3660,14 +3662,16 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
 static int intel_bios_vbt_show(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *i915 = m->private;
-	struct intel_opregion *opregion = &i915->display.opregion;
+	const void *vbt;
+	size_t vbt_size;
 
 	/*
 	 * FIXME: VBT might originate from other places than opregion, and then
 	 * this would be incorrect.
 	 */
-	if (opregion->vbt)
-		seq_write(m, opregion->vbt, opregion->vbt_size);
+	vbt = intel_opregion_get_vbt(i915, &vbt_size);
+	if (vbt)
+		seq_write(m, vbt, vbt_size);
 
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 26c92ab4ee8a..8b9e820971cb 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -1132,6 +1132,19 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_con
 	return drm_edid;
 }
 
+const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
+{
+	struct intel_opregion *opregion = &i915->display.opregion;
+
+	if (!opregion->vbt)
+		return NULL;
+
+	if (size)
+		*size = opregion->vbt_size;
+
+	return opregion->vbt;
+}
+
 bool intel_opregion_headless_sku(struct drm_i915_private *i915)
 {
 	struct intel_opregion *opregion = &i915->display.opregion;
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
index 7177f50ab0d3..9efadfb72584 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.h
+++ b/drivers/gpu/drm/i915/display/intel_opregion.h
@@ -77,6 +77,8 @@ int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
 int intel_opregion_get_panel_type(struct drm_i915_private *dev_priv);
 const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector);
 
+const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size);
+
 bool intel_opregion_headless_sku(struct drm_i915_private *i915);
 
 void intel_opregion_debugfs_register(struct drm_i915_private *i915);
@@ -136,6 +138,12 @@ intel_opregion_get_edid(struct intel_connector *connector)
 	return NULL;
 }
 
+static inline const void *
+intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
+{
+	return NULL;
+}
+
 static inline bool intel_opregion_headless_sku(struct drm_i915_private *i915)
 {
 	return false;
-- 
2.39.2


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

* [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (2 preceding siblings ...)
  2024-01-11 17:21 ` [PATCH 3/6] drm/i915/opregion: abstract getting the opregion VBT Jani Nikula
@ 2024-01-11 17:21 ` Jani Nikula
  2024-01-12  0:03   ` Radhakrishna Sripada
  2024-01-11 17:21 ` [PATCH 5/6] drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE Jani Nikula
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-01-11 17:21 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Add a function to check the opregion ASLE presence instead of accessing
the opregion structures directly.

Reorder the checks in i915_has_asle() to avoid the function call if
possible.

Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_irq.c | 6 +++---
 drivers/gpu/drm/i915/display/intel_opregion.c    | 5 +++++
 drivers/gpu/drm/i915/display/intel_opregion.h    | 6 ++++++
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
index 99843883cef7..f846c5b108b5 100644
--- a/drivers/gpu/drm/i915/display/intel_display_irq.c
+++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
@@ -266,12 +266,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
 	intel_uncore_posting_read(&dev_priv->uncore, reg);
 }
 
-static bool i915_has_asle(struct drm_i915_private *dev_priv)
+static bool i915_has_asle(struct drm_i915_private *i915)
 {
-	if (!dev_priv->display.opregion.asle)
+	if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
 		return false;
 
-	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
+	return intel_opregion_asle_present(i915);
 }
 
 /**
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 8b9e820971cb..26aacb01f9ec 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -632,6 +632,11 @@ static void asle_work(struct work_struct *work)
 	asle->aslc = aslc_stat;
 }
 
+bool intel_opregion_asle_present(struct drm_i915_private *i915)
+{
+	return i915->display.opregion.asle;
+}
+
 void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
 {
 	if (dev_priv->display.opregion.asle)
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
index 9efadfb72584..d084b30e8703 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.h
+++ b/drivers/gpu/drm/i915/display/intel_opregion.h
@@ -69,6 +69,7 @@ void intel_opregion_resume(struct drm_i915_private *dev_priv);
 void intel_opregion_suspend(struct drm_i915_private *dev_priv,
 			    pci_power_t state);
 
+bool intel_opregion_asle_present(struct drm_i915_private *i915);
 void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
 int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 				  bool enable);
@@ -111,6 +112,11 @@ static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
 {
 }
 
+static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
+{
+	return false;
+}
+
 static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
 {
 }
-- 
2.39.2


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

* [PATCH 5/6] drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (3 preceding siblings ...)
  2024-01-11 17:21 ` [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check Jani Nikula
@ 2024-01-11 17:21 ` Jani Nikula
  2024-01-12  0:15   ` Radhakrishna Sripada
  2024-01-11 17:21 ` [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque Jani Nikula
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-01-11 17:21 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula, Zhi Wang

All of gvt uses INTEL_GVT_OPREGION_SIZE for opregion size. Follow suit
here.

Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Zhi Wang <zhi.a.wang@intel.com>
Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
index faf21be724c3..4f74d867fe1a 100644
--- a/drivers/gpu/drm/i915/gvt/kvmgt.c
+++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
@@ -574,7 +574,7 @@ int intel_gvt_set_opregion(struct intel_vgpu *vgpu)
 	ret = intel_vgpu_register_reg(vgpu,
 			PCI_VENDOR_ID_INTEL | VFIO_REGION_TYPE_PCI_VENDOR_TYPE,
 			VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION,
-			&intel_vgpu_regops_opregion, OPREGION_SIZE,
+			&intel_vgpu_regops_opregion, INTEL_GVT_OPREGION_SIZE,
 			VFIO_REGION_INFO_FLAG_READ, base);
 
 	return ret;
-- 
2.39.2


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

* [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (4 preceding siblings ...)
  2024-01-11 17:21 ` [PATCH 5/6] drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE Jani Nikula
@ 2024-01-11 17:21 ` Jani Nikula
  2024-01-12  0:13   ` Radhakrishna Sripada
  2024-01-17 11:25   ` Ville Syrjälä
  2024-01-11 18:19 ` ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions Patchwork
                   ` (4 subsequent siblings)
  10 siblings, 2 replies; 24+ messages in thread
From: Jani Nikula @ 2024-01-11 17:21 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

With the recent cleanups, only intel_opregion.c needs to know the
definition of struct intel_opregion. Allocate it dynamically and make it
opaque.

Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 .../gpu/drm/i915/display/intel_display_core.h |   3 +-
 drivers/gpu/drm/i915/display/intel_opregion.c | 147 +++++++++++-------
 drivers/gpu/drm/i915/display/intel_opregion.h |  27 +---
 3 files changed, 94 insertions(+), 83 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 8853a05dc331..a90f1aa201be 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -49,6 +49,7 @@ struct intel_fbdev;
 struct intel_fdi_funcs;
 struct intel_hotplug_funcs;
 struct intel_initial_plane_config;
+struct intel_opregion;
 struct intel_overlay;
 
 /* Amount of SAGV/QGV points, BSpec precisely defines this */
@@ -526,7 +527,7 @@ struct intel_display {
 	struct intel_fbc *fbc[I915_MAX_FBCS];
 	struct intel_frontbuffer_tracking fb_tracking;
 	struct intel_hotplug hotplug;
-	struct intel_opregion opregion;
+	struct intel_opregion *opregion;
 	struct intel_overlay *overlay;
 	struct intel_display_params params;
 	struct intel_vbt_data vbt;
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 26aacb01f9ec..3f5a20f9153e 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -250,11 +250,37 @@ struct opregion_asle_ext {
 
 #define MAX_DSLP	1500
 
+#define OPREGION_SIZE	(8 * 1024)
+
+struct intel_opregion {
+	struct drm_i915_private *i915;
+
+	struct opregion_header *header;
+	struct opregion_acpi *acpi;
+	struct opregion_swsci *swsci;
+	u32 swsci_gbda_sub_functions;
+	u32 swsci_sbcb_sub_functions;
+	struct opregion_asle *asle;
+	struct opregion_asle_ext *asle_ext;
+	void *rvda;
+	void *vbt_firmware;
+	const void *vbt;
+	u32 vbt_size;
+	u32 *lid_state;
+	struct work_struct asle_work;
+	struct notifier_block acpi_notifier;
+};
+
 static int check_swsci_function(struct drm_i915_private *i915, u32 function)
 {
-	struct opregion_swsci *swsci = i915->display.opregion.swsci;
+	struct intel_opregion *opregion = i915->display.opregion;
+	struct opregion_swsci *swsci;
 	u32 main_function, sub_function;
 
+	if (!opregion)
+		return -ENODEV;
+
+	swsci = opregion->swsci;
 	if (!swsci)
 		return -ENODEV;
 
@@ -265,11 +291,11 @@ static int check_swsci_function(struct drm_i915_private *i915, u32 function)
 
 	/* Check if we can call the function. See swsci_setup for details. */
 	if (main_function == SWSCI_SBCB) {
-		if ((i915->display.opregion.swsci_sbcb_sub_functions &
+		if ((opregion->swsci_sbcb_sub_functions &
 		     (1 << sub_function)) == 0)
 			return -EINVAL;
 	} else if (main_function == SWSCI_GBDA) {
-		if ((i915->display.opregion.swsci_gbda_sub_functions &
+		if ((opregion->swsci_gbda_sub_functions &
 		     (1 << sub_function)) == 0)
 			return -EINVAL;
 	}
@@ -280,7 +306,7 @@ static int check_swsci_function(struct drm_i915_private *i915, u32 function)
 static int swsci(struct drm_i915_private *dev_priv,
 		 u32 function, u32 parm, u32 *parm_out)
 {
-	struct opregion_swsci *swsci = dev_priv->display.opregion.swsci;
+	struct opregion_swsci *swsci;
 	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 	u32 scic, dslp;
 	u16 swsci_val;
@@ -290,6 +316,8 @@ static int swsci(struct drm_i915_private *dev_priv,
 	if (ret)
 		return ret;
 
+	swsci = dev_priv->display.opregion->swsci;
+
 	/* Driver sleep timeout in ms. */
 	dslp = swsci->dslp;
 	if (!dslp) {
@@ -462,7 +490,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
 {
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
-	struct opregion_asle *asle = dev_priv->display.opregion.asle;
+	struct opregion_asle *asle = dev_priv->display.opregion->asle;
 
 	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
 
@@ -584,9 +612,8 @@ static void asle_work(struct work_struct *work)
 {
 	struct intel_opregion *opregion =
 		container_of(work, struct intel_opregion, asle_work);
-	struct drm_i915_private *dev_priv =
-		container_of(opregion, struct drm_i915_private, display.opregion);
-	struct opregion_asle *asle = dev_priv->display.opregion.asle;
+	struct drm_i915_private *dev_priv = opregion->i915;
+	struct opregion_asle *asle = opregion->asle;
 	u32 aslc_stat = 0;
 	u32 aslc_req;
 
@@ -634,14 +661,15 @@ static void asle_work(struct work_struct *work)
 
 bool intel_opregion_asle_present(struct drm_i915_private *i915)
 {
-	return i915->display.opregion.asle;
+	return i915->display.opregion && i915->display.opregion->asle;
 }
 
-void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
+void intel_opregion_asle_intr(struct drm_i915_private *i915)
 {
-	if (dev_priv->display.opregion.asle)
-		queue_work(dev_priv->unordered_wq,
-			   &dev_priv->display.opregion.asle_work);
+	struct intel_opregion *opregion = i915->display.opregion;
+
+	if (opregion && opregion->asle)
+		queue_work(i915->unordered_wq, &opregion->asle_work);
 }
 
 #define ACPI_EV_DISPLAY_SWITCH (1<<0)
@@ -697,7 +725,7 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)
 
 static void intel_didl_outputs(struct drm_i915_private *dev_priv)
 {
-	struct intel_opregion *opregion = &dev_priv->display.opregion;
+	struct intel_opregion *opregion = dev_priv->display.opregion;
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	int i = 0, max_outputs;
@@ -736,7 +764,7 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
 
 static void intel_setup_cadls(struct drm_i915_private *dev_priv)
 {
-	struct intel_opregion *opregion = &dev_priv->display.opregion;
+	struct intel_opregion *opregion = dev_priv->display.opregion;
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	int i = 0;
@@ -766,7 +794,7 @@ static void intel_setup_cadls(struct drm_i915_private *dev_priv)
 
 static void swsci_setup(struct drm_i915_private *dev_priv)
 {
-	struct intel_opregion *opregion = &dev_priv->display.opregion;
+	struct intel_opregion *opregion = dev_priv->display.opregion;
 	bool requested_callbacks = false;
 	u32 tmp;
 
@@ -844,7 +872,7 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {
 
 static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv)
 {
-	struct intel_opregion *opregion = &dev_priv->display.opregion;
+	struct intel_opregion *opregion = dev_priv->display.opregion;
 	const struct firmware *fw = NULL;
 	const char *name = dev_priv->display.params.vbt_firmware;
 	int ret;
@@ -884,7 +912,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv)
 
 int intel_opregion_setup(struct drm_i915_private *dev_priv)
 {
-	struct intel_opregion *opregion = &dev_priv->display.opregion;
+	struct intel_opregion *opregion;
 	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 	u32 asls, mboxes;
 	char buf[sizeof(OPREGION_SIGNATURE)];
@@ -907,11 +935,20 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 		return -ENOTSUPP;
 	}
 
+	opregion = kzalloc(sizeof(*opregion), GFP_KERNEL);
+	if (!opregion)
+		return -ENOMEM;
+
+	opregion->i915 = dev_priv;
+	dev_priv->display.opregion = opregion;
+
 	INIT_WORK(&opregion->asle_work, asle_work);
 
 	base = memremap(asls, OPREGION_SIZE, MEMREMAP_WB);
-	if (!base)
-		return -ENOMEM;
+	if (!base) {
+		err = -ENOMEM;
+		goto err_memremap;
+	}
 
 	memcpy(buf, base, sizeof(buf));
 
@@ -1039,6 +1076,10 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 
 err_out:
 	memunmap(base);
+err_memremap:
+	kfree(opregion);
+	dev_priv->display.opregion = NULL;
+
 	return err;
 }
 
@@ -1111,12 +1152,12 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_con
 {
 	struct drm_connector *connector = &intel_connector->base;
 	struct drm_i915_private *i915 = to_i915(connector->dev);
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 	const struct drm_edid *drm_edid;
 	const void *edid;
 	int len;
 
-	if (!opregion->asle_ext)
+	if (!opregion || !opregion->asle_ext)
 		return NULL;
 
 	edid = opregion->asle_ext->bddc;
@@ -1139,9 +1180,9 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_con
 
 const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
-	if (!opregion->vbt)
+	if (!opregion || !opregion->vbt)
 		return NULL;
 
 	if (size)
@@ -1152,8 +1193,13 @@ const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
 
 bool intel_opregion_headless_sku(struct drm_i915_private *i915)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
-	struct opregion_header *header = opregion->header;
+	struct intel_opregion *opregion = i915->display.opregion;
+	struct opregion_header *header;
+
+	if (!opregion)
+		return false;
+
+	header = opregion->header;
 
 	if (!header || header->over.major < 2 ||
 	    (header->over.major == 2 && header->over.minor < 3))
@@ -1164,9 +1210,9 @@ bool intel_opregion_headless_sku(struct drm_i915_private *i915)
 
 void intel_opregion_register(struct drm_i915_private *i915)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
-	if (!opregion->header)
+	if (!opregion)
 		return;
 
 	if (opregion->acpi) {
@@ -1180,7 +1226,7 @@ void intel_opregion_register(struct drm_i915_private *i915)
 
 static void intel_opregion_resume_display(struct drm_i915_private *i915)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
 	if (opregion->acpi) {
 		intel_didl_outputs(i915);
@@ -1206,9 +1252,9 @@ static void intel_opregion_resume_display(struct drm_i915_private *i915)
 
 void intel_opregion_resume(struct drm_i915_private *i915)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
-	if (!opregion->header)
+	if (!opregion)
 		return;
 
 	if (HAS_DISPLAY(i915))
@@ -1219,12 +1265,12 @@ void intel_opregion_resume(struct drm_i915_private *i915)
 
 static void intel_opregion_suspend_display(struct drm_i915_private *i915)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
 	if (opregion->asle)
 		opregion->asle->ardy = ASLE_ARDY_NOT_READY;
 
-	cancel_work_sync(&i915->display.opregion.asle_work);
+	cancel_work_sync(&opregion->asle_work);
 
 	if (opregion->acpi)
 		opregion->acpi->drdy = 0;
@@ -1232,9 +1278,9 @@ static void intel_opregion_suspend_display(struct drm_i915_private *i915)
 
 void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
-	if (!opregion->header)
+	if (!opregion)
 		return;
 
 	intel_opregion_notify_adapter(i915, state);
@@ -1245,11 +1291,11 @@ void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)
 
 void intel_opregion_unregister(struct drm_i915_private *i915)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
 	intel_opregion_suspend(i915, PCI_D1);
 
-	if (!opregion->header)
+	if (!opregion)
 		return;
 
 	if (opregion->acpi_notifier.notifier_call) {
@@ -1260,36 +1306,25 @@ void intel_opregion_unregister(struct drm_i915_private *i915)
 
 void intel_opregion_cleanup(struct drm_i915_private *i915)
 {
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
-	if (!opregion->header)
+	if (!opregion)
 		return;
 
-	/* just clear all opregion memory pointers now */
 	memunmap(opregion->header);
-	if (opregion->rvda) {
+	if (opregion->rvda)
 		memunmap(opregion->rvda);
-		opregion->rvda = NULL;
-	}
-	if (opregion->vbt_firmware) {
-		kfree(opregion->vbt_firmware);
-		opregion->vbt_firmware = NULL;
-	}
-	opregion->header = NULL;
-	opregion->acpi = NULL;
-	opregion->swsci = NULL;
-	opregion->asle = NULL;
-	opregion->asle_ext = NULL;
-	opregion->vbt = NULL;
-	opregion->lid_state = NULL;
+	kfree(opregion->vbt_firmware);
+	kfree(opregion);
+	i915->display.opregion = NULL;
 }
 
 static int intel_opregion_show(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *i915 = m->private;
-	struct intel_opregion *opregion = &i915->display.opregion;
+	struct intel_opregion *opregion = i915->display.opregion;
 
-	if (opregion->header)
+	if (opregion)
 		seq_write(m, opregion->header, OPREGION_SIZE);
 
 	return 0;
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
index d084b30e8703..0bec224f711f 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.h
+++ b/drivers/gpu/drm/i915/display/intel_opregion.h
@@ -25,38 +25,13 @@
 #ifndef _INTEL_OPREGION_H_
 #define _INTEL_OPREGION_H_
 
-#include <linux/workqueue.h>
 #include <linux/pci.h>
+#include <linux/types.h>
 
 struct drm_i915_private;
 struct intel_connector;
 struct intel_encoder;
 
-struct opregion_header;
-struct opregion_acpi;
-struct opregion_swsci;
-struct opregion_asle;
-struct opregion_asle_ext;
-
-struct intel_opregion {
-	struct opregion_header *header;
-	struct opregion_acpi *acpi;
-	struct opregion_swsci *swsci;
-	u32 swsci_gbda_sub_functions;
-	u32 swsci_sbcb_sub_functions;
-	struct opregion_asle *asle;
-	struct opregion_asle_ext *asle_ext;
-	void *rvda;
-	void *vbt_firmware;
-	const void *vbt;
-	u32 vbt_size;
-	u32 *lid_state;
-	struct work_struct asle_work;
-	struct notifier_block acpi_notifier;
-};
-
-#define OPREGION_SIZE            (8 * 1024)
-
 #ifdef CONFIG_ACPI
 
 int intel_opregion_setup(struct drm_i915_private *dev_priv);
-- 
2.39.2


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

* ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (5 preceding siblings ...)
  2024-01-11 17:21 ` [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque Jani Nikula
@ 2024-01-11 18:19 ` Patchwork
  2024-01-11 18:37 ` ✗ Fi.CI.BAT: failure " Patchwork
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-01-11 18:19 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/opregion: better abstractions
URL   : https://patchwork.freedesktop.org/series/128683/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



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

* ✗ Fi.CI.BAT: failure for drm/i915/opregion: better abstractions
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (6 preceding siblings ...)
  2024-01-11 18:19 ` ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions Patchwork
@ 2024-01-11 18:37 ` Patchwork
  2024-01-15 14:14 ` ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions (rev2) Patchwork
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-01-11 18:37 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/opregion: better abstractions
URL   : https://patchwork.freedesktop.org/series/128683/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14116 -> Patchwork_128683v1
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_128683v1 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_128683v1, 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.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/index.html

Participating hosts (37 -> 37)
------------------------------

  Additional (2): bat-mtlp-8 bat-adls-6 
  Missing    (2): bat-dg2-9 fi-snb-2520m 

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

  Here are the unknown changes that may have been introduced in Patchwork_128683v1:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_suspend@basic-s3@smem:
    - fi-rkl-11600:       [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14116/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html

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

  Here are the changes found in Patchwork_128683v1 that come from known issues:

### CI changes ###

#### Possible fixes ####

  * boot:
    - fi-bsw-n3050:       [FAIL][3] ([i915#8293]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14116/fi-bsw-n3050/boot.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/fi-bsw-n3050/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-mtlp-8:         NOTRUN -> [SKIP][5] ([i915#9318])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-bsw-n3050:       NOTRUN -> [SKIP][6] ([fdo#109271]) +15 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/fi-bsw-n3050/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-mtlp-8:         NOTRUN -> [SKIP][7] ([i915#4613]) +3 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][8] ([i915#4083])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@gem_mmap@basic.html

  * igt@gem_mmap_gtt@basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][9] ([i915#4077]) +2 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@gem_mmap_gtt@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][10] ([i915#4079]) +1 other test skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-mtlp-8:         NOTRUN -> [SKIP][11] ([i915#6621])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@i915_pm_rps@basic-api.html

  * igt@i915_suspend@basic-s3-without-i915:
    - bat-mtlp-8:         NOTRUN -> [SKIP][12] ([i915#6645])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][13] ([i915#5190])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][14] ([i915#4212]) +8 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][15] ([i915#4213]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][16] ([i915#3555] / [i915#3840] / [i915#9159])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-mtlp-8:         NOTRUN -> [SKIP][17] ([fdo#109285])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-mtlp-8:         NOTRUN -> [SKIP][18] ([i915#5274])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-mtlp-8:         NOTRUN -> [SKIP][19] ([i915#3555] / [i915#8809])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-mtlp-8:         NOTRUN -> [SKIP][20] ([i915#3708] / [i915#4077]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - bat-mtlp-8:         NOTRUN -> [SKIP][21] ([i915#3708]) +2 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html

  
#### Possible fixes ####

  * igt@dmabuf@all-tests@sanitycheck:
    - fi-skl-6600u:       [INCOMPLETE][22] -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14116/fi-skl-6600u/igt@dmabuf@all-tests@sanitycheck.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/fi-skl-6600u/igt@dmabuf@all-tests@sanitycheck.html

  * igt@i915_selftest@live@hangcheck:
    - {bat-rpls-3}:       [DMESG-WARN][24] ([i915#5591]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14116/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
    - {bat-dg2-14}:       [ABORT][26] ([i915#9840]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14116/bat-dg2-14/igt@i915_selftest@live@hangcheck.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/bat-dg2-14/igt@i915_selftest@live@hangcheck.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9840]: https://gitlab.freedesktop.org/drm/intel/issues/9840


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

  * Linux: CI_DRM_14116 -> Patchwork_128683v1

  CI-20190529: 20190529
  CI_DRM_14116: 3b92a66f4bc89f4fa6e9e9369ac8243e23670030 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7670: 1b32bcdb2d9965090234739aba891a90743e01c4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_128683v1: 3b92a66f4bc89f4fa6e9e9369ac8243e23670030 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

0e6893141ead drm/i915/opregion: make struct intel_opregion opaque
bed4f00f824c drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE
fa0456239bd8 drm/i915/opregion: abstract ASLE presence check
261ff3a78789 drm/i915/opregion: abstract getting the opregion VBT
d127fc969a72 drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c
1a9df0ad3937 drm/i915/bios: move i915_vbt debugfs to intel_bios.c

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v1/index.html

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

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

* Re: [PATCH 1/6] drm/i915/bios: move i915_vbt debugfs to intel_bios.c
  2024-01-11 17:21 ` [PATCH 1/6] drm/i915/bios: move i915_vbt debugfs to intel_bios.c Jani Nikula
@ 2024-01-11 23:11   ` Radhakrishna Sripada
  0 siblings, 0 replies; 24+ messages in thread
From: Radhakrishna Sripada @ 2024-01-11 23:11 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Jan 11, 2024 at 07:21:14PM +0200, Jani Nikula wrote:
> All things VBT should be placed in intel_bios.c.
> 
> While at it, shove in a FIXME comment about VBT possibly originating
> from other places than opregion.
> 
> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

LGTM,
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_bios.c     | 25 +++++++++++++++++++
>  drivers/gpu/drm/i915/display/intel_bios.h     |  2 ++
>  .../drm/i915/display/intel_display_debugfs.c  | 13 +---------
>  3 files changed, 28 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 0e61e424802e..cf8e6f7bd490 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -3656,3 +3656,28 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
>  	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
>  		func(i915, devdata);
>  }
> +
> +static int intel_bios_vbt_show(struct seq_file *m, void *unused)
> +{
> +	struct drm_i915_private *i915 = m->private;
> +	struct intel_opregion *opregion = &i915->display.opregion;
> +
> +	/*
> +	 * FIXME: VBT might originate from other places than opregion, and then
> +	 * this would be incorrect.
> +	 */
> +	if (opregion->vbt)
> +		seq_write(m, opregion->vbt, opregion->vbt_size);
> +
> +	return 0;
> +}
> +
> +DEFINE_SHOW_ATTRIBUTE(intel_bios_vbt);
> +
> +void intel_bios_debugfs_register(struct drm_i915_private *i915)
> +{
> +	struct drm_minor *minor = i915->drm.primary;
> +
> +	debugfs_create_file("i915_vbt", 0444, minor->debugfs_root,
> +			    i915, &intel_bios_vbt_fops);
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
> index 96673dc707e7..41bfb009d4b0 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.h
> +++ b/drivers/gpu/drm/i915/display/intel_bios.h
> @@ -280,4 +280,6 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
>  				 void (*func)(struct drm_i915_private *i915,
>  					      const struct intel_bios_encoder_data *devdata));
>  
> +void intel_bios_debugfs_register(struct drm_i915_private *i915);
> +
>  #endif /* _INTEL_BIOS_H_ */
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index d951edb36687..9ee7e0738059 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -97,17 +97,6 @@ static int i915_opregion(struct seq_file *m, void *unused)
>  	return 0;
>  }
>  
> -static int i915_vbt(struct seq_file *m, void *unused)
> -{
> -	struct drm_i915_private *i915 = node_to_i915(m->private);
> -	struct intel_opregion *opregion = &i915->display.opregion;
> -
> -	if (opregion->vbt)
> -		seq_write(m, opregion->vbt, opregion->vbt_size);
> -
> -	return 0;
> -}
> -
>  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> @@ -1067,7 +1056,6 @@ static const struct drm_info_list intel_display_debugfs_list[] = {
>  	{"i915_frontbuffer_tracking", i915_frontbuffer_tracking, 0},
>  	{"i915_sr_status", i915_sr_status, 0},
>  	{"i915_opregion", i915_opregion, 0},
> -	{"i915_vbt", i915_vbt, 0},
>  	{"i915_gem_framebuffer", i915_gem_framebuffer_info, 0},
>  	{"i915_power_domain_info", i915_power_domain_info, 0},
>  	{"i915_display_info", i915_display_info, 0},
> @@ -1105,6 +1093,7 @@ void intel_display_debugfs_register(struct drm_i915_private *i915)
>  				 ARRAY_SIZE(intel_display_debugfs_list),
>  				 minor->debugfs_root, minor);
>  
> +	intel_bios_debugfs_register(i915);
>  	intel_cdclk_debugfs_register(i915);
>  	intel_dmc_debugfs_register(i915);
>  	intel_fbc_debugfs_register(i915);
> -- 
> 2.39.2
> 

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

* Re: [PATCH 2/6] drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c
  2024-01-11 17:21 ` [PATCH 2/6] drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c Jani Nikula
@ 2024-01-11 23:20   ` Radhakrishna Sripada
  0 siblings, 0 replies; 24+ messages in thread
From: Radhakrishna Sripada @ 2024-01-11 23:20 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Jan 11, 2024 at 07:21:15PM +0200, Jani Nikula wrote:
> All things about opregion should be placed in intel_opregion.c.
> 
> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>

> ---
>  .../drm/i915/display/intel_display_debugfs.c  | 13 +-----------
>  drivers/gpu/drm/i915/display/intel_opregion.c | 21 +++++++++++++++++++
>  drivers/gpu/drm/i915/display/intel_opregion.h |  6 ++++++
>  3 files changed, 28 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 9ee7e0738059..6f2d13c8ccf7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -86,17 +86,6 @@ static int i915_sr_status(struct seq_file *m, void *unused)
>  	return 0;
>  }
>  
> -static int i915_opregion(struct seq_file *m, void *unused)
> -{
> -	struct drm_i915_private *i915 = node_to_i915(m->private);
> -	struct intel_opregion *opregion = &i915->display.opregion;
> -
> -	if (opregion->header)
> -		seq_write(m, opregion->header, OPREGION_SIZE);
> -
> -	return 0;
> -}
> -
>  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> @@ -1055,7 +1044,6 @@ static const struct file_operations i915_fifo_underrun_reset_ops = {
>  static const struct drm_info_list intel_display_debugfs_list[] = {
>  	{"i915_frontbuffer_tracking", i915_frontbuffer_tracking, 0},
>  	{"i915_sr_status", i915_sr_status, 0},
> -	{"i915_opregion", i915_opregion, 0},
>  	{"i915_gem_framebuffer", i915_gem_framebuffer_info, 0},
>  	{"i915_power_domain_info", i915_power_domain_info, 0},
>  	{"i915_display_info", i915_display_info, 0},
> @@ -1098,6 +1086,7 @@ void intel_display_debugfs_register(struct drm_i915_private *i915)
>  	intel_dmc_debugfs_register(i915);
>  	intel_fbc_debugfs_register(i915);
>  	intel_hpd_debugfs_register(i915);
> +	intel_opregion_debugfs_register(i915);
>  	intel_psr_debugfs_register(i915);
>  	intel_wm_debugfs_register(i915);
>  	intel_display_debugfs_params(i915);
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 1ce785db6a5e..26c92ab4ee8a 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -1265,3 +1265,24 @@ void intel_opregion_cleanup(struct drm_i915_private *i915)
>  	opregion->vbt = NULL;
>  	opregion->lid_state = NULL;
>  }
> +
> +static int intel_opregion_show(struct seq_file *m, void *unused)
> +{
> +	struct drm_i915_private *i915 = m->private;
> +	struct intel_opregion *opregion = &i915->display.opregion;
> +
> +	if (opregion->header)
> +		seq_write(m, opregion->header, OPREGION_SIZE);
> +
> +	return 0;
> +}
> +
> +DEFINE_SHOW_ATTRIBUTE(intel_opregion);
> +
> +void intel_opregion_debugfs_register(struct drm_i915_private *i915)
> +{
> +	struct drm_minor *minor = i915->drm.primary;
> +
> +	debugfs_create_file("i915_opregion", 0444, minor->debugfs_root,
> +			    i915, &intel_opregion_fops);
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
> index fd2ea8ef0fa2..7177f50ab0d3 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
> @@ -79,6 +79,8 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector
>  
>  bool intel_opregion_headless_sku(struct drm_i915_private *i915);
>  
> +void intel_opregion_debugfs_register(struct drm_i915_private *i915);
> +
>  #else /* CONFIG_ACPI*/
>  
>  static inline int intel_opregion_setup(struct drm_i915_private *dev_priv)
> @@ -139,6 +141,10 @@ static inline bool intel_opregion_headless_sku(struct drm_i915_private *i915)
>  	return false;
>  }
>  
> +static inline void intel_opregion_debugfs_register(struct drm_i915_private *i915)
> +{
> +}
> +
>  #endif /* CONFIG_ACPI */
>  
>  #endif
> -- 
> 2.39.2
> 

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

* Re: [PATCH 3/6] drm/i915/opregion: abstract getting the opregion VBT
  2024-01-11 17:21 ` [PATCH 3/6] drm/i915/opregion: abstract getting the opregion VBT Jani Nikula
@ 2024-01-11 23:22   ` Radhakrishna Sripada
  0 siblings, 0 replies; 24+ messages in thread
From: Radhakrishna Sripada @ 2024-01-11 23:22 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Jan 11, 2024 at 07:21:16PM +0200, Jani Nikula wrote:
> Add a function to get the opregion VBT instead of accessing the opregion
> structures directly.
> 
> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Looks clean,
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_bios.c     | 14 +++++++++-----
>  drivers/gpu/drm/i915/display/intel_opregion.c | 13 +++++++++++++
>  drivers/gpu/drm/i915/display/intel_opregion.h |  8 ++++++++
>  3 files changed, 30 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index cf8e6f7bd490..5f04e495fd27 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -3073,7 +3073,7 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915)
>   */
>  void intel_bios_init(struct drm_i915_private *i915)
>  {
> -	const struct vbt_header *vbt = i915->display.opregion.vbt;
> +	const struct vbt_header *vbt;
>  	struct vbt_header *oprom_vbt = NULL;
>  	const struct bdb_header *bdb;
>  
> @@ -3088,6 +3088,8 @@ void intel_bios_init(struct drm_i915_private *i915)
>  
>  	init_vbt_defaults(i915);
>  
> +	vbt = intel_opregion_get_vbt(i915, NULL);
> +
>  	/*
>  	 * If the OpRegion does not have VBT, look in SPI flash through MMIO or
>  	 * PCI mapping
> @@ -3305,7 +3307,7 @@ bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
>  		 * additional data.  Trust that if the VBT was written into
>  		 * the OpRegion then they have validated the LVDS's existence.
>  		 */
> -		if (i915->display.opregion.vbt)
> +		if (intel_opregion_get_vbt(i915, NULL))
>  			return true;
>  	}
>  
> @@ -3660,14 +3662,16 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
>  static int intel_bios_vbt_show(struct seq_file *m, void *unused)
>  {
>  	struct drm_i915_private *i915 = m->private;
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	const void *vbt;
> +	size_t vbt_size;
>  
>  	/*
>  	 * FIXME: VBT might originate from other places than opregion, and then
>  	 * this would be incorrect.
>  	 */
> -	if (opregion->vbt)
> -		seq_write(m, opregion->vbt, opregion->vbt_size);
> +	vbt = intel_opregion_get_vbt(i915, &vbt_size);
> +	if (vbt)
> +		seq_write(m, vbt, vbt_size);
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 26c92ab4ee8a..8b9e820971cb 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -1132,6 +1132,19 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_con
>  	return drm_edid;
>  }
>  
> +const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
> +{
> +	struct intel_opregion *opregion = &i915->display.opregion;
> +
> +	if (!opregion->vbt)
> +		return NULL;
> +
> +	if (size)
> +		*size = opregion->vbt_size;
> +
> +	return opregion->vbt;
> +}
> +
>  bool intel_opregion_headless_sku(struct drm_i915_private *i915)
>  {
>  	struct intel_opregion *opregion = &i915->display.opregion;
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
> index 7177f50ab0d3..9efadfb72584 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
> @@ -77,6 +77,8 @@ int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
>  int intel_opregion_get_panel_type(struct drm_i915_private *dev_priv);
>  const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector);
>  
> +const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size);
> +
>  bool intel_opregion_headless_sku(struct drm_i915_private *i915);
>  
>  void intel_opregion_debugfs_register(struct drm_i915_private *i915);
> @@ -136,6 +138,12 @@ intel_opregion_get_edid(struct intel_connector *connector)
>  	return NULL;
>  }
>  
> +static inline const void *
> +intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
> +{
> +	return NULL;
> +}
> +
>  static inline bool intel_opregion_headless_sku(struct drm_i915_private *i915)
>  {
>  	return false;
> -- 
> 2.39.2
> 

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

* Re: [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check
  2024-01-11 17:21 ` [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check Jani Nikula
@ 2024-01-12  0:03   ` Radhakrishna Sripada
  2024-01-12 10:17     ` Jani Nikula
  0 siblings, 1 reply; 24+ messages in thread
From: Radhakrishna Sripada @ 2024-01-12  0:03 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Jan 11, 2024 at 07:21:17PM +0200, Jani Nikula wrote:
> Add a function to check the opregion ASLE presence instead of accessing
> the opregion structures directly.
> 
> Reorder the checks in i915_has_asle() to avoid the function call if
> possible.
> 
> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_irq.c | 6 +++---
>  drivers/gpu/drm/i915/display/intel_opregion.c    | 5 +++++
>  drivers/gpu/drm/i915/display/intel_opregion.h    | 6 ++++++
>  3 files changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
> index 99843883cef7..f846c5b108b5 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> @@ -266,12 +266,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
>  	intel_uncore_posting_read(&dev_priv->uncore, reg);
>  }
>  
> -static bool i915_has_asle(struct drm_i915_private *dev_priv)
> +static bool i915_has_asle(struct drm_i915_private *i915)
Why not move this to intel_opregion.c and export it instead of
intel_opregion_asle_present ?
>  {
> -	if (!dev_priv->display.opregion.asle)
> +	if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
Can we extend this check to dgfx as well?

-Radhakrishna(RK) Sripada

>  		return false;
>  
> -	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
> +	return intel_opregion_asle_present(i915);
>  }
>  
>  /**
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 8b9e820971cb..26aacb01f9ec 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -632,6 +632,11 @@ static void asle_work(struct work_struct *work)
>  	asle->aslc = aslc_stat;
>  }
>  
> +bool intel_opregion_asle_present(struct drm_i915_private *i915)
> +{
> +	return i915->display.opregion.asle;
> +}
> +
>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>  {
>  	if (dev_priv->display.opregion.asle)
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
> index 9efadfb72584..d084b30e8703 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
> @@ -69,6 +69,7 @@ void intel_opregion_resume(struct drm_i915_private *dev_priv);
>  void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>  			    pci_power_t state);
>  
> +bool intel_opregion_asle_present(struct drm_i915_private *i915);
>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
>  int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  				  bool enable);
> @@ -111,6 +112,11 @@ static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>  {
>  }
>  
> +static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
> +{
> +	return false;
> +}
> +
>  static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>  {
>  }
> -- 
> 2.39.2
> 

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

* Re: [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque
  2024-01-11 17:21 ` [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque Jani Nikula
@ 2024-01-12  0:13   ` Radhakrishna Sripada
  2024-01-17 11:25   ` Ville Syrjälä
  1 sibling, 0 replies; 24+ messages in thread
From: Radhakrishna Sripada @ 2024-01-12  0:13 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Jan 11, 2024 at 07:21:19PM +0200, Jani Nikula wrote:
> With the recent cleanups, only intel_opregion.c needs to know the
> definition of struct intel_opregion. Allocate it dynamically and make it
> opaque.
> 
> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> ---
>  .../gpu/drm/i915/display/intel_display_core.h |   3 +-
>  drivers/gpu/drm/i915/display/intel_opregion.c | 147 +++++++++++-------
>  drivers/gpu/drm/i915/display/intel_opregion.h |  27 +---
>  3 files changed, 94 insertions(+), 83 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 8853a05dc331..a90f1aa201be 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -49,6 +49,7 @@ struct intel_fbdev;
>  struct intel_fdi_funcs;
>  struct intel_hotplug_funcs;
>  struct intel_initial_plane_config;
> +struct intel_opregion;
>  struct intel_overlay;
>  
>  /* Amount of SAGV/QGV points, BSpec precisely defines this */
> @@ -526,7 +527,7 @@ struct intel_display {
>  	struct intel_fbc *fbc[I915_MAX_FBCS];
>  	struct intel_frontbuffer_tracking fb_tracking;
>  	struct intel_hotplug hotplug;
> -	struct intel_opregion opregion;
> +	struct intel_opregion *opregion;
>  	struct intel_overlay *overlay;
>  	struct intel_display_params params;
>  	struct intel_vbt_data vbt;
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 26aacb01f9ec..3f5a20f9153e 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -250,11 +250,37 @@ struct opregion_asle_ext {
>  
>  #define MAX_DSLP	1500
>  
> +#define OPREGION_SIZE	(8 * 1024)
> +
> +struct intel_opregion {
> +	struct drm_i915_private *i915;
> +
> +	struct opregion_header *header;
> +	struct opregion_acpi *acpi;
> +	struct opregion_swsci *swsci;
> +	u32 swsci_gbda_sub_functions;
> +	u32 swsci_sbcb_sub_functions;
> +	struct opregion_asle *asle;
> +	struct opregion_asle_ext *asle_ext;
> +	void *rvda;
> +	void *vbt_firmware;
> +	const void *vbt;
> +	u32 vbt_size;
> +	u32 *lid_state;
> +	struct work_struct asle_work;
> +	struct notifier_block acpi_notifier;
> +};
> +
>  static int check_swsci_function(struct drm_i915_private *i915, u32 function)
>  {
> -	struct opregion_swsci *swsci = i915->display.opregion.swsci;
> +	struct intel_opregion *opregion = i915->display.opregion;
> +	struct opregion_swsci *swsci;
>  	u32 main_function, sub_function;
>  
> +	if (!opregion)
> +		return -ENODEV;
> +
> +	swsci = opregion->swsci;
>  	if (!swsci)
>  		return -ENODEV;
>  
> @@ -265,11 +291,11 @@ static int check_swsci_function(struct drm_i915_private *i915, u32 function)
>  
>  	/* Check if we can call the function. See swsci_setup for details. */
>  	if (main_function == SWSCI_SBCB) {
> -		if ((i915->display.opregion.swsci_sbcb_sub_functions &
> +		if ((opregion->swsci_sbcb_sub_functions &
>  		     (1 << sub_function)) == 0)
>  			return -EINVAL;
>  	} else if (main_function == SWSCI_GBDA) {
> -		if ((i915->display.opregion.swsci_gbda_sub_functions &
> +		if ((opregion->swsci_gbda_sub_functions &
>  		     (1 << sub_function)) == 0)
>  			return -EINVAL;
>  	}
> @@ -280,7 +306,7 @@ static int check_swsci_function(struct drm_i915_private *i915, u32 function)
>  static int swsci(struct drm_i915_private *dev_priv,
>  		 u32 function, u32 parm, u32 *parm_out)
>  {
> -	struct opregion_swsci *swsci = dev_priv->display.opregion.swsci;
> +	struct opregion_swsci *swsci;
>  	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
>  	u32 scic, dslp;
>  	u16 swsci_val;
> @@ -290,6 +316,8 @@ static int swsci(struct drm_i915_private *dev_priv,
>  	if (ret)
>  		return ret;
>  
> +	swsci = dev_priv->display.opregion->swsci;
> +
>  	/* Driver sleep timeout in ms. */
>  	dslp = swsci->dslp;
>  	if (!dslp) {
> @@ -462,7 +490,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>  {
>  	struct intel_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
> -	struct opregion_asle *asle = dev_priv->display.opregion.asle;
> +	struct opregion_asle *asle = dev_priv->display.opregion->asle;
>  
>  	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
>  
> @@ -584,9 +612,8 @@ static void asle_work(struct work_struct *work)
>  {
>  	struct intel_opregion *opregion =
>  		container_of(work, struct intel_opregion, asle_work);
> -	struct drm_i915_private *dev_priv =
> -		container_of(opregion, struct drm_i915_private, display.opregion);
> -	struct opregion_asle *asle = dev_priv->display.opregion.asle;
> +	struct drm_i915_private *dev_priv = opregion->i915;
> +	struct opregion_asle *asle = opregion->asle;
>  	u32 aslc_stat = 0;
>  	u32 aslc_req;
>  
> @@ -634,14 +661,15 @@ static void asle_work(struct work_struct *work)
>  
>  bool intel_opregion_asle_present(struct drm_i915_private *i915)
>  {
> -	return i915->display.opregion.asle;
> +	return i915->display.opregion && i915->display.opregion->asle;
>  }
>  
> -void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
> +void intel_opregion_asle_intr(struct drm_i915_private *i915)
>  {
> -	if (dev_priv->display.opregion.asle)
> -		queue_work(dev_priv->unordered_wq,
> -			   &dev_priv->display.opregion.asle_work);
> +	struct intel_opregion *opregion = i915->display.opregion;
> +
> +	if (opregion && opregion->asle)
> +		queue_work(i915->unordered_wq, &opregion->asle_work);
>  }
>  
>  #define ACPI_EV_DISPLAY_SWITCH (1<<0)
> @@ -697,7 +725,7 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)
>  
>  static void intel_didl_outputs(struct drm_i915_private *dev_priv)
>  {
> -	struct intel_opregion *opregion = &dev_priv->display.opregion;
> +	struct intel_opregion *opregion = dev_priv->display.opregion;
>  	struct intel_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	int i = 0, max_outputs;
> @@ -736,7 +764,7 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
>  
>  static void intel_setup_cadls(struct drm_i915_private *dev_priv)
>  {
> -	struct intel_opregion *opregion = &dev_priv->display.opregion;
> +	struct intel_opregion *opregion = dev_priv->display.opregion;
>  	struct intel_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	int i = 0;
> @@ -766,7 +794,7 @@ static void intel_setup_cadls(struct drm_i915_private *dev_priv)
>  
>  static void swsci_setup(struct drm_i915_private *dev_priv)
>  {
> -	struct intel_opregion *opregion = &dev_priv->display.opregion;
> +	struct intel_opregion *opregion = dev_priv->display.opregion;
>  	bool requested_callbacks = false;
>  	u32 tmp;
>  
> @@ -844,7 +872,7 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {
>  
>  static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv)
>  {
> -	struct intel_opregion *opregion = &dev_priv->display.opregion;
> +	struct intel_opregion *opregion = dev_priv->display.opregion;
>  	const struct firmware *fw = NULL;
>  	const char *name = dev_priv->display.params.vbt_firmware;
>  	int ret;
> @@ -884,7 +912,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv)
>  
>  int intel_opregion_setup(struct drm_i915_private *dev_priv)
>  {
> -	struct intel_opregion *opregion = &dev_priv->display.opregion;
> +	struct intel_opregion *opregion;
>  	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
>  	u32 asls, mboxes;
>  	char buf[sizeof(OPREGION_SIGNATURE)];
> @@ -907,11 +935,20 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
>  		return -ENOTSUPP;
>  	}
>  
> +	opregion = kzalloc(sizeof(*opregion), GFP_KERNEL);
> +	if (!opregion)
> +		return -ENOMEM;
> +
> +	opregion->i915 = dev_priv;
> +	dev_priv->display.opregion = opregion;
> +
>  	INIT_WORK(&opregion->asle_work, asle_work);
>  
>  	base = memremap(asls, OPREGION_SIZE, MEMREMAP_WB);
> -	if (!base)
> -		return -ENOMEM;
> +	if (!base) {
> +		err = -ENOMEM;
> +		goto err_memremap;
> +	}
>  
>  	memcpy(buf, base, sizeof(buf));
>  
> @@ -1039,6 +1076,10 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
>  
>  err_out:
>  	memunmap(base);
> +err_memremap:
> +	kfree(opregion);
> +	dev_priv->display.opregion = NULL;
> +
>  	return err;
>  }
>  
> @@ -1111,12 +1152,12 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_con
>  {
>  	struct drm_connector *connector = &intel_connector->base;
>  	struct drm_i915_private *i915 = to_i915(connector->dev);
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  	const struct drm_edid *drm_edid;
>  	const void *edid;
>  	int len;
>  
> -	if (!opregion->asle_ext)
> +	if (!opregion || !opregion->asle_ext)
>  		return NULL;
>  
>  	edid = opregion->asle_ext->bddc;
> @@ -1139,9 +1180,9 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_con
>  
>  const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
> -	if (!opregion->vbt)
> +	if (!opregion || !opregion->vbt)
>  		return NULL;
>  
>  	if (size)
> @@ -1152,8 +1193,13 @@ const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
>  
>  bool intel_opregion_headless_sku(struct drm_i915_private *i915)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> -	struct opregion_header *header = opregion->header;
> +	struct intel_opregion *opregion = i915->display.opregion;
> +	struct opregion_header *header;
> +
> +	if (!opregion)
> +		return false;
> +
> +	header = opregion->header;
>  
>  	if (!header || header->over.major < 2 ||
>  	    (header->over.major == 2 && header->over.minor < 3))
> @@ -1164,9 +1210,9 @@ bool intel_opregion_headless_sku(struct drm_i915_private *i915)
>  
>  void intel_opregion_register(struct drm_i915_private *i915)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
> -	if (!opregion->header)
> +	if (!opregion)
>  		return;
>  
>  	if (opregion->acpi) {
> @@ -1180,7 +1226,7 @@ void intel_opregion_register(struct drm_i915_private *i915)
>  
>  static void intel_opregion_resume_display(struct drm_i915_private *i915)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
>  	if (opregion->acpi) {
>  		intel_didl_outputs(i915);
> @@ -1206,9 +1252,9 @@ static void intel_opregion_resume_display(struct drm_i915_private *i915)
>  
>  void intel_opregion_resume(struct drm_i915_private *i915)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
> -	if (!opregion->header)
> +	if (!opregion)
>  		return;
>  
>  	if (HAS_DISPLAY(i915))
> @@ -1219,12 +1265,12 @@ void intel_opregion_resume(struct drm_i915_private *i915)
>  
>  static void intel_opregion_suspend_display(struct drm_i915_private *i915)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
>  	if (opregion->asle)
>  		opregion->asle->ardy = ASLE_ARDY_NOT_READY;
>  
> -	cancel_work_sync(&i915->display.opregion.asle_work);
> +	cancel_work_sync(&opregion->asle_work);
>  
>  	if (opregion->acpi)
>  		opregion->acpi->drdy = 0;
> @@ -1232,9 +1278,9 @@ static void intel_opregion_suspend_display(struct drm_i915_private *i915)
>  
>  void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
> -	if (!opregion->header)
> +	if (!opregion)
>  		return;
>  
>  	intel_opregion_notify_adapter(i915, state);
> @@ -1245,11 +1291,11 @@ void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)
>  
>  void intel_opregion_unregister(struct drm_i915_private *i915)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
>  	intel_opregion_suspend(i915, PCI_D1);
>  
> -	if (!opregion->header)
> +	if (!opregion)
>  		return;
>  
>  	if (opregion->acpi_notifier.notifier_call) {
> @@ -1260,36 +1306,25 @@ void intel_opregion_unregister(struct drm_i915_private *i915)
>  
>  void intel_opregion_cleanup(struct drm_i915_private *i915)
>  {
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
> -	if (!opregion->header)
> +	if (!opregion)
>  		return;
>  
> -	/* just clear all opregion memory pointers now */
>  	memunmap(opregion->header);
> -	if (opregion->rvda) {
> +	if (opregion->rvda)
>  		memunmap(opregion->rvda);
> -		opregion->rvda = NULL;
> -	}
> -	if (opregion->vbt_firmware) {
> -		kfree(opregion->vbt_firmware);
> -		opregion->vbt_firmware = NULL;
> -	}
> -	opregion->header = NULL;
> -	opregion->acpi = NULL;
> -	opregion->swsci = NULL;
> -	opregion->asle = NULL;
> -	opregion->asle_ext = NULL;
> -	opregion->vbt = NULL;
> -	opregion->lid_state = NULL;
> +	kfree(opregion->vbt_firmware);
> +	kfree(opregion);
> +	i915->display.opregion = NULL;
>  }
>  
>  static int intel_opregion_show(struct seq_file *m, void *unused)
>  {
>  	struct drm_i915_private *i915 = m->private;
> -	struct intel_opregion *opregion = &i915->display.opregion;
> +	struct intel_opregion *opregion = i915->display.opregion;
>  
> -	if (opregion->header)
> +	if (opregion)
>  		seq_write(m, opregion->header, OPREGION_SIZE);
>  
>  	return 0;
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
> index d084b30e8703..0bec224f711f 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
> @@ -25,38 +25,13 @@
>  #ifndef _INTEL_OPREGION_H_
>  #define _INTEL_OPREGION_H_
>  
> -#include <linux/workqueue.h>
>  #include <linux/pci.h>
> +#include <linux/types.h>
>  
>  struct drm_i915_private;
>  struct intel_connector;
>  struct intel_encoder;
>  
> -struct opregion_header;
> -struct opregion_acpi;
> -struct opregion_swsci;
> -struct opregion_asle;
> -struct opregion_asle_ext;
> -
> -struct intel_opregion {
> -	struct opregion_header *header;
> -	struct opregion_acpi *acpi;
> -	struct opregion_swsci *swsci;
> -	u32 swsci_gbda_sub_functions;
> -	u32 swsci_sbcb_sub_functions;
> -	struct opregion_asle *asle;
> -	struct opregion_asle_ext *asle_ext;
> -	void *rvda;
> -	void *vbt_firmware;
> -	const void *vbt;
> -	u32 vbt_size;
> -	u32 *lid_state;
> -	struct work_struct asle_work;
> -	struct notifier_block acpi_notifier;
> -};
> -
> -#define OPREGION_SIZE            (8 * 1024)
> -
>  #ifdef CONFIG_ACPI
>  
>  int intel_opregion_setup(struct drm_i915_private *dev_priv);
> -- 
> 2.39.2
> 

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

* Re: [PATCH 5/6] drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE
  2024-01-11 17:21 ` [PATCH 5/6] drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE Jani Nikula
@ 2024-01-12  0:15   ` Radhakrishna Sripada
  0 siblings, 0 replies; 24+ messages in thread
From: Radhakrishna Sripada @ 2024-01-12  0:15 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, Zhi Wang

On Thu, Jan 11, 2024 at 07:21:18PM +0200, Jani Nikula wrote:
> All of gvt uses INTEL_GVT_OPREGION_SIZE for opregion size. Follow suit
> here.
> 
> Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
> Cc: Zhi Wang <zhi.a.wang@intel.com>
> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>

> ---
>  drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
> index faf21be724c3..4f74d867fe1a 100644
> --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> @@ -574,7 +574,7 @@ int intel_gvt_set_opregion(struct intel_vgpu *vgpu)
>  	ret = intel_vgpu_register_reg(vgpu,
>  			PCI_VENDOR_ID_INTEL | VFIO_REGION_TYPE_PCI_VENDOR_TYPE,
>  			VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION,
> -			&intel_vgpu_regops_opregion, OPREGION_SIZE,
> +			&intel_vgpu_regops_opregion, INTEL_GVT_OPREGION_SIZE,
>  			VFIO_REGION_INFO_FLAG_READ, base);
>  
>  	return ret;
> -- 
> 2.39.2
> 

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

* Re: [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check
  2024-01-12  0:03   ` Radhakrishna Sripada
@ 2024-01-12 10:17     ` Jani Nikula
  2024-01-12 19:36       ` Radhakrishna Sripada
  0 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-01-12 10:17 UTC (permalink / raw)
  To: Radhakrishna Sripada; +Cc: intel-gfx

On Thu, 11 Jan 2024, Radhakrishna Sripada <radhakrishna.sripada@intel.com> wrote:
> On Thu, Jan 11, 2024 at 07:21:17PM +0200, Jani Nikula wrote:
>> Add a function to check the opregion ASLE presence instead of accessing
>> the opregion structures directly.
>> 
>> Reorder the checks in i915_has_asle() to avoid the function call if
>> possible.
>> 
>> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_display_irq.c | 6 +++---
>>  drivers/gpu/drm/i915/display/intel_opregion.c    | 5 +++++
>>  drivers/gpu/drm/i915/display/intel_opregion.h    | 6 ++++++
>>  3 files changed, 14 insertions(+), 3 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
>> index 99843883cef7..f846c5b108b5 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
>> @@ -266,12 +266,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
>>  	intel_uncore_posting_read(&dev_priv->uncore, reg);
>>  }
>>  
>> -static bool i915_has_asle(struct drm_i915_private *dev_priv)
>> +static bool i915_has_asle(struct drm_i915_private *i915)
> Why not move this to intel_opregion.c and export it instead of
> intel_opregion_asle_present ?

I'm trying to be conscious of the possible performance impact of making
calls from the irq code just to find there's nothing to do.

>>  {
>> -	if (!dev_priv->display.opregion.asle)
>> +	if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
> Can we extend this check to dgfx as well?

Extend how? This will return early for everything after IVB.

BR,
Jani.

>
> -Radhakrishna(RK) Sripada
>
>>  		return false;
>>  
>> -	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
>> +	return intel_opregion_asle_present(i915);
>>  }
>>  
>>  /**
>> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
>> index 8b9e820971cb..26aacb01f9ec 100644
>> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
>> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
>> @@ -632,6 +632,11 @@ static void asle_work(struct work_struct *work)
>>  	asle->aslc = aslc_stat;
>>  }
>>  
>> +bool intel_opregion_asle_present(struct drm_i915_private *i915)
>> +{
>> +	return i915->display.opregion.asle;
>> +}
>> +
>>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>>  {
>>  	if (dev_priv->display.opregion.asle)
>> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
>> index 9efadfb72584..d084b30e8703 100644
>> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
>> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
>> @@ -69,6 +69,7 @@ void intel_opregion_resume(struct drm_i915_private *dev_priv);
>>  void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>>  			    pci_power_t state);
>>  
>> +bool intel_opregion_asle_present(struct drm_i915_private *i915);
>>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
>>  int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>>  				  bool enable);
>> @@ -111,6 +112,11 @@ static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>>  {
>>  }
>>  
>> +static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
>> +{
>> +	return false;
>> +}
>> +
>>  static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>>  {
>>  }
>> -- 
>> 2.39.2
>> 

-- 
Jani Nikula, Intel

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

* Re: [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check
  2024-01-12 10:17     ` Jani Nikula
@ 2024-01-12 19:36       ` Radhakrishna Sripada
  2024-01-15 13:48         ` Jani Nikula
  0 siblings, 1 reply; 24+ messages in thread
From: Radhakrishna Sripada @ 2024-01-12 19:36 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Fri, Jan 12, 2024 at 12:17:25PM +0200, Jani Nikula wrote:
> On Thu, 11 Jan 2024, Radhakrishna Sripada <radhakrishna.sripada@intel.com> wrote:
> > On Thu, Jan 11, 2024 at 07:21:17PM +0200, Jani Nikula wrote:
> >> Add a function to check the opregion ASLE presence instead of accessing
> >> the opregion structures directly.
> >> 
> >> Reorder the checks in i915_has_asle() to avoid the function call if
> >> possible.
> >> 
> >> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> ---
> >>  drivers/gpu/drm/i915/display/intel_display_irq.c | 6 +++---
> >>  drivers/gpu/drm/i915/display/intel_opregion.c    | 5 +++++
> >>  drivers/gpu/drm/i915/display/intel_opregion.h    | 6 ++++++
> >>  3 files changed, 14 insertions(+), 3 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
> >> index 99843883cef7..f846c5b108b5 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> >> @@ -266,12 +266,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
> >>  	intel_uncore_posting_read(&dev_priv->uncore, reg);
> >>  }
> >>  
> >> -static bool i915_has_asle(struct drm_i915_private *dev_priv)
> >> +static bool i915_has_asle(struct drm_i915_private *i915)
> > Why not move this to intel_opregion.c and export it instead of
> > intel_opregion_asle_present ?
> 
> I'm trying to be conscious of the possible performance impact of making
> calls from the irq code just to find there's nothing to do.
Makes sense.

> 
> >>  {
> >> -	if (!dev_priv->display.opregion.asle)
> >> +	if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
> > Can we extend this check to dgfx as well?
> 
> Extend how? This will return early for everything after IVB.
The name of the function is bit misleading as looking at Opregion code
and the spec beyond IVB, asle aka Mailbox 3 is present, just that it is
not used for reading pipestat. It is used to store rvda from where VBT is read.
Extension is not required for this purpose. Might want to clear that unless
I misunderstood the purpose, either way 

Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> 
> BR,
> Jani.
> 
> >
> > -Radhakrishna(RK) Sripada
> >
> >>  		return false;
> >>  
> >> -	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
> >> +	return intel_opregion_asle_present(i915);
> >>  }
> >>  
> >>  /**
> >> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> >> index 8b9e820971cb..26aacb01f9ec 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> >> @@ -632,6 +632,11 @@ static void asle_work(struct work_struct *work)
> >>  	asle->aslc = aslc_stat;
> >>  }
> >>  
> >> +bool intel_opregion_asle_present(struct drm_i915_private *i915)
> >> +{
> >> +	return i915->display.opregion.asle;
> >> +}
> >> +
> >>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
> >>  {
> >>  	if (dev_priv->display.opregion.asle)
> >> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
> >> index 9efadfb72584..d084b30e8703 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
> >> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
> >> @@ -69,6 +69,7 @@ void intel_opregion_resume(struct drm_i915_private *dev_priv);
> >>  void intel_opregion_suspend(struct drm_i915_private *dev_priv,
> >>  			    pci_power_t state);
> >>  
> >> +bool intel_opregion_asle_present(struct drm_i915_private *i915);
> >>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
> >>  int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
> >>  				  bool enable);
> >> @@ -111,6 +112,11 @@ static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
> >>  {
> >>  }
> >>  
> >> +static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
> >> +{
> >> +	return false;
> >> +}
> >> +
> >>  static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
> >>  {
> >>  }
> >> -- 
> >> 2.39.2
> >> 
> 
> -- 
> Jani Nikula, Intel

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

* Re: [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check
  2024-01-12 19:36       ` Radhakrishna Sripada
@ 2024-01-15 13:48         ` Jani Nikula
  2024-01-16  9:57           ` Jani Nikula
  0 siblings, 1 reply; 24+ messages in thread
From: Jani Nikula @ 2024-01-15 13:48 UTC (permalink / raw)
  To: Radhakrishna Sripada; +Cc: intel-gfx

On Fri, 12 Jan 2024, Radhakrishna Sripada <radhakrishna.sripada@intel.com> wrote:
> On Fri, Jan 12, 2024 at 12:17:25PM +0200, Jani Nikula wrote:
>> On Thu, 11 Jan 2024, Radhakrishna Sripada <radhakrishna.sripada@intel.com> wrote:
>> > On Thu, Jan 11, 2024 at 07:21:17PM +0200, Jani Nikula wrote:
>> >> Add a function to check the opregion ASLE presence instead of accessing
>> >> the opregion structures directly.
>> >> 
>> >> Reorder the checks in i915_has_asle() to avoid the function call if
>> >> possible.
>> >> 
>> >> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
>> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> >> ---
>> >>  drivers/gpu/drm/i915/display/intel_display_irq.c | 6 +++---
>> >>  drivers/gpu/drm/i915/display/intel_opregion.c    | 5 +++++
>> >>  drivers/gpu/drm/i915/display/intel_opregion.h    | 6 ++++++
>> >>  3 files changed, 14 insertions(+), 3 deletions(-)
>> >> 
>> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
>> >> index 99843883cef7..f846c5b108b5 100644
>> >> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
>> >> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
>> >> @@ -266,12 +266,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
>> >>  	intel_uncore_posting_read(&dev_priv->uncore, reg);
>> >>  }
>> >>  
>> >> -static bool i915_has_asle(struct drm_i915_private *dev_priv)
>> >> +static bool i915_has_asle(struct drm_i915_private *i915)
>> > Why not move this to intel_opregion.c and export it instead of
>> > intel_opregion_asle_present ?
>> 
>> I'm trying to be conscious of the possible performance impact of making
>> calls from the irq code just to find there's nothing to do.
> Makes sense.
>
>> 
>> >>  {
>> >> -	if (!dev_priv->display.opregion.asle)
>> >> +	if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
>> > Can we extend this check to dgfx as well?
>> 
>> Extend how? This will return early for everything after IVB.
> The name of the function is bit misleading as looking at Opregion code
> and the spec beyond IVB, asle aka Mailbox 3 is present, just that it is
> not used for reading pipestat. It is used to store rvda from where VBT is read.
> Extension is not required for this purpose. Might want to clear that unless
> I misunderstood the purpose, either way 

The new function intel_opregion_asle_present() added in this patch is
exactly about whether asle mbox is present.

i915_has_asle() may be ill-named, but frankly I'm not sure what it
should be called, and it probably should not be renamed in this patch?

BR,
Jani.

>
> Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
>> 
>> BR,
>> Jani.
>> 
>> >
>> > -Radhakrishna(RK) Sripada
>> >
>> >>  		return false;
>> >>  
>> >> -	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
>> >> +	return intel_opregion_asle_present(i915);
>> >>  }
>> >>  
>> >>  /**
>> >> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
>> >> index 8b9e820971cb..26aacb01f9ec 100644
>> >> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
>> >> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
>> >> @@ -632,6 +632,11 @@ static void asle_work(struct work_struct *work)
>> >>  	asle->aslc = aslc_stat;
>> >>  }
>> >>  
>> >> +bool intel_opregion_asle_present(struct drm_i915_private *i915)
>> >> +{
>> >> +	return i915->display.opregion.asle;
>> >> +}
>> >> +
>> >>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>> >>  {
>> >>  	if (dev_priv->display.opregion.asle)
>> >> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
>> >> index 9efadfb72584..d084b30e8703 100644
>> >> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
>> >> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
>> >> @@ -69,6 +69,7 @@ void intel_opregion_resume(struct drm_i915_private *dev_priv);
>> >>  void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>> >>  			    pci_power_t state);
>> >>  
>> >> +bool intel_opregion_asle_present(struct drm_i915_private *i915);
>> >>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
>> >>  int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>> >>  				  bool enable);
>> >> @@ -111,6 +112,11 @@ static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>> >>  {
>> >>  }
>> >>  
>> >> +static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
>> >> +{
>> >> +	return false;
>> >> +}
>> >> +
>> >>  static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>> >>  {
>> >>  }
>> >> -- 
>> >> 2.39.2
>> >> 
>> 
>> -- 
>> Jani Nikula, Intel

-- 
Jani Nikula, Intel

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

* ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions (rev2)
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (7 preceding siblings ...)
  2024-01-11 18:37 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-01-15 14:14 ` Patchwork
  2024-01-15 14:26 ` ✓ Fi.CI.BAT: success " Patchwork
  2024-01-15 16:55 ` ✗ Fi.CI.IGT: failure " Patchwork
  10 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-01-15 14:14 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/opregion: better abstractions (rev2)
URL   : https://patchwork.freedesktop.org/series/128683/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



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

* ✓ Fi.CI.BAT: success for drm/i915/opregion: better abstractions (rev2)
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (8 preceding siblings ...)
  2024-01-15 14:14 ` ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions (rev2) Patchwork
@ 2024-01-15 14:26 ` Patchwork
  2024-01-15 16:55 ` ✗ Fi.CI.IGT: failure " Patchwork
  10 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-01-15 14:26 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/opregion: better abstractions (rev2)
URL   : https://patchwork.freedesktop.org/series/128683/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14124 -> Patchwork_128683v2
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/index.html

Participating hosts (37 -> 37)
------------------------------

  Additional (2): bat-dg2-9 fi-bsw-n3050 
  Missing    (2): bat-mtlp-8 fi-snb-2520m 

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

  Here are the changes found in Patchwork_128683v2 that come from known issues:

### CI changes ###

#### Possible fixes ####

  * boot:
    - bat-rpls-2:         [FAIL][1] ([i915#10078]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/bat-rpls-2/boot.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@unbind-rebind:
    - bat-adlp-6:         [PASS][3] -> [DMESG-WARN][4] ([i915#1982])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/bat-adlp-6/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-adlp-6/igt@core_hotunplug@unbind-rebind.html

  * igt@debugfs_test@basic-hwmon:
    - bat-rpls-2:         NOTRUN -> [SKIP][5] ([i915#9318])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@debugfs_test@basic-hwmon.html

  * igt@gem_exec_suspend@basic-s0@lmem0:
    - bat-dg2-9:          NOTRUN -> [INCOMPLETE][6] ([i915#9275])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@gem_exec_suspend@basic-s0@lmem0.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-bsw-n3050:       NOTRUN -> [SKIP][7] ([fdo#109271]) +15 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/fi-bsw-n3050/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-rpls-2:         NOTRUN -> [SKIP][8] ([i915#4613]) +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-dg2-9:          NOTRUN -> [SKIP][9] ([i915#4083])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@gem_mmap@basic.html

  * igt@gem_mmap_gtt@basic:
    - bat-dg2-9:          NOTRUN -> [SKIP][10] ([i915#4077]) +2 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@gem_mmap_gtt@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-dg2-9:          NOTRUN -> [SKIP][11] ([i915#4079]) +1 other test skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-rpls-2:         NOTRUN -> [SKIP][12] ([i915#3282])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-rpls-2:         NOTRUN -> [SKIP][13] ([i915#6621])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@i915_pm_rps@basic-api.html
    - bat-dg2-9:          NOTRUN -> [SKIP][14] ([i915#6621])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@gt_pm:
    - bat-rpls-2:         NOTRUN -> [DMESG-FAIL][15] ([i915#10010])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@workarounds:
    - bat-dg2-9:          NOTRUN -> [DMESG-FAIL][16] ([i915#9500])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@i915_selftest@live@workarounds.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-dg2-9:          NOTRUN -> [SKIP][17] ([i915#5190])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg2-9:          NOTRUN -> [SKIP][18] ([i915#4215] / [i915#5190])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - bat-dg2-9:          NOTRUN -> [SKIP][19] ([i915#4212]) +7 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-dg2-9:          NOTRUN -> [SKIP][20] ([i915#4103] / [i915#4213]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-rpls-2:         NOTRUN -> [SKIP][21] ([i915#4103]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-rpls-2:         NOTRUN -> [SKIP][22] ([i915#3555] / [i915#3840] / [i915#9886])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-dg2-9:          NOTRUN -> [SKIP][23] ([fdo#109285])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_force_connector_basic@force-load-detect.html
    - bat-rpls-2:         NOTRUN -> [SKIP][24] ([fdo#109285])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-dg2-9:          NOTRUN -> [SKIP][25] ([i915#5274])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-adlp-9:         NOTRUN -> [SKIP][26] ([i915#9826]) +3 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-adlp-9/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
    - bat-dg2-11:         NOTRUN -> [SKIP][27] ([i915#9197])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-dg2-9:          NOTRUN -> [SKIP][28] ([i915#5354])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_pm_backlight@basic-brightness.html
    - bat-rpls-2:         NOTRUN -> [SKIP][29] ([i915#5354])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg2-9:          NOTRUN -> [SKIP][30] ([i915#3555])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-rpls-2:         NOTRUN -> [SKIP][31] ([i915#3555])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg2-9:          NOTRUN -> [SKIP][32] ([i915#3708])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg2-9:          NOTRUN -> [SKIP][33] ([i915#3708] / [i915#4077]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - bat-rpls-2:         NOTRUN -> [SKIP][34] ([fdo#109295] / [i915#3708]) +2 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-2/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-write:
    - bat-dg2-9:          NOTRUN -> [SKIP][35] ([i915#3291] / [i915#3708]) +2 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-dg2-9/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_module_load@reload:
    - fi-kbl-7567u:       [DMESG-WARN][36] ([i915#8585]) -> [PASS][37] +1 other test pass
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/fi-kbl-7567u/igt@i915_module_load@reload.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/fi-kbl-7567u/igt@i915_module_load@reload.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-kbl-7567u:       [DMESG-WARN][38] ([i915#9730]) -> [PASS][39] +31 other tests pass
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/fi-kbl-7567u/igt@i915_selftest@live@gt_heartbeat.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/fi-kbl-7567u/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@gt_lrc:
    - bat-rplp-1:         [INCOMPLETE][40] -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/bat-rplp-1/igt@i915_selftest@live@gt_lrc.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rplp-1/igt@i915_selftest@live@gt_lrc.html

  * igt@i915_selftest@live@hangcheck:
    - {bat-rpls-3}:       [DMESG-WARN][42] ([i915#5591]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/bat-rpls-3/igt@i915_selftest@live@hangcheck.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - fi-kbl-7567u:       [DMESG-WARN][44] ([i915#180]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/fi-kbl-7567u/igt@i915_suspend@basic-s2idle-without-i915.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/fi-kbl-7567u/igt@i915_suspend@basic-s2idle-without-i915.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [i915#10010]: https://gitlab.freedesktop.org/drm/intel/issues/10010
  [i915#10078]: https://gitlab.freedesktop.org/drm/intel/issues/10078
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#8585]: https://gitlab.freedesktop.org/drm/intel/issues/8585
  [i915#9197]: https://gitlab.freedesktop.org/drm/intel/issues/9197
  [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9500]: https://gitlab.freedesktop.org/drm/intel/issues/9500
  [i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673
  [i915#9730]: https://gitlab.freedesktop.org/drm/intel/issues/9730
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9826]: https://gitlab.freedesktop.org/drm/intel/issues/9826
  [i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886


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

  * Linux: CI_DRM_14124 -> Patchwork_128683v2

  CI-20190529: 20190529
  CI_DRM_14124: 985e8077e53ee3ed954356d355a4277ea38d7157 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7673: 7673
  Patchwork_128683v2: 985e8077e53ee3ed954356d355a4277ea38d7157 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

ef157195e018 drm/i915/opregion: make struct intel_opregion opaque
5cc638630ced drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE
c55c00da93be drm/i915/opregion: abstract ASLE presence check
1967d5229ae8 drm/i915/opregion: abstract getting the opregion VBT
2e6246727408 drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c
cd5497a7b12b drm/i915/bios: move i915_vbt debugfs to intel_bios.c

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/index.html

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

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

* ✗ Fi.CI.IGT: failure for drm/i915/opregion: better abstractions (rev2)
  2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
                   ` (9 preceding siblings ...)
  2024-01-15 14:26 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-01-15 16:55 ` Patchwork
  10 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2024-01-15 16:55 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/opregion: better abstractions (rev2)
URL   : https://patchwork.freedesktop.org/series/128683/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14124_full -> Patchwork_128683v2_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_128683v2_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_128683v2_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.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/index.html

Participating hosts (8 -> 9)
------------------------------

  Additional (1): shard-snb-0 

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

  Here are the unknown changes that may have been introduced in Patchwork_128683v2_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_parallel@fds@rcs0:
    - shard-rkl:          [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-6/igt@gem_exec_parallel@fds@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/igt@gem_exec_parallel@fds@rcs0.html

  * igt@gem_exec_suspend@basic-s3@lmem0:
    - shard-dg2:          [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg2-6/igt@gem_exec_suspend@basic-s3@lmem0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-6/igt@gem_exec_suspend@basic-s3@lmem0.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-b-hdmi-a-1:
    - shard-snb:          [PASS][5] -> [INCOMPLETE][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-snb5/igt@kms_cursor_crc@cursor-suspend@pipe-b-hdmi-a-1.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-snb6/igt@kms_cursor_crc@cursor-suspend@pipe-b-hdmi-a-1.html

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

  Here are the changes found in Patchwork_128683v2_full that come from known issues:

### CI changes ###

#### Possible fixes ####

  * boot:
    - shard-rkl:          ([PASS][7], [PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [FAIL][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30]) ([i915#8293]) -> ([PASS][31], [PASS][32], [PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [PASS][49], [PASS][50], [PASS][51], [PASS][52], [PASS][53], [PASS][54])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/boot.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/boot.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/boot.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/boot.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/boot.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/boot.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-6/boot.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-6/boot.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-6/boot.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-5/boot.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-5/boot.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-5/boot.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-5/boot.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-5/boot.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-4/boot.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-4/boot.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-4/boot.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-4/boot.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-4/boot.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-4/boot.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-1/boot.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-1/boot.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-1/boot.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-1/boot.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/boot.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/boot.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/boot.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/boot.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/boot.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/boot.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/boot.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/boot.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/boot.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/boot.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/boot.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/boot.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/boot.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/boot.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/boot.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/boot.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/boot.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/boot.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-2/boot.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/boot.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/boot.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/boot.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/boot.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@object-reloc-purge-cache:
    - shard-dg2:          NOTRUN -> [SKIP][55] ([i915#8411]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@api_intel_bb@object-reloc-purge-cache.html

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-dg1:          NOTRUN -> [SKIP][56] ([i915#7701])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@drm_fdinfo@busy-check-all@ccs0:
    - shard-mtlp:         NOTRUN -> [SKIP][57] ([i915#8414]) +17 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@drm_fdinfo@busy-check-all@ccs0.html

  * igt@drm_fdinfo@busy-idle-check-all@ccs3:
    - shard-dg2:          NOTRUN -> [SKIP][58] ([i915#8414]) +10 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@drm_fdinfo@busy-idle-check-all@ccs3.html

  * igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
    - shard-rkl:          [PASS][59] -> [FAIL][60] ([i915#7742])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html

  * igt@gem_ccs@block-multicopy-inplace:
    - shard-mtlp:         NOTRUN -> [SKIP][61] ([i915#3555])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@gem_ccs@block-multicopy-inplace.html

  * igt@gem_ccs@suspend-resume:
    - shard-mtlp:         NOTRUN -> [SKIP][62] ([i915#9323])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@gem_ccs@suspend-resume.html

  * igt@gem_create@create-ext-set-pat:
    - shard-dg1:          NOTRUN -> [SKIP][63] ([i915#8562])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_persistence@hang:
    - shard-mtlp:         NOTRUN -> [SKIP][64] ([i915#8555])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@gem_ctx_persistence@hang.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-dg2:          NOTRUN -> [SKIP][65] ([i915#280])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_eio@hibernate:
    - shard-tglu:         [PASS][66] -> [ABORT][67] ([i915#10030] / [i915#7975] / [i915#8213] / [i915#8398])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-tglu-4/igt@gem_eio@hibernate.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-tglu-10/igt@gem_eio@hibernate.html

  * igt@gem_exec_balancer@bonded-sync:
    - shard-mtlp:         NOTRUN -> [SKIP][68] ([i915#4771])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@gem_exec_balancer@bonded-sync.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-rkl:          NOTRUN -> [SKIP][69] ([i915#4525])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_capture@many-4k-incremental:
    - shard-glk:          NOTRUN -> [FAIL][70] ([i915#9606])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-glk8/igt@gem_exec_capture@many-4k-incremental.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-tglu:         [PASS][71] -> [FAIL][72] ([i915#2842]) +3 other tests fail
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-tglu-9/igt@gem_exec_fair@basic-none-share@rcs0.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-tglu-2/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo:
    - shard-mtlp:         NOTRUN -> [SKIP][73] ([i915#4473])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@gem_exec_fair@basic-pace-solo.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-rkl:          NOTRUN -> [FAIL][74] ([i915#2842])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-rkl:          [PASS][75] -> [FAIL][76] ([i915#2842]) +3 other tests fail
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-1/igt@gem_exec_fair@basic-throttle@rcs0.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_fence@submit:
    - shard-dg2:          NOTRUN -> [SKIP][77] ([i915#4812])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@gem_exec_fence@submit.html

  * igt@gem_exec_flush@basic-uc-set-default:
    - shard-dg2:          NOTRUN -> [SKIP][78] ([i915#3539])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@gem_exec_flush@basic-uc-set-default.html

  * igt@gem_exec_flush@basic-wb-ro-before-default:
    - shard-dg2:          NOTRUN -> [SKIP][79] ([i915#3539] / [i915#4852])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@gem_exec_flush@basic-wb-ro-before-default.html

  * igt@gem_exec_flush@basic-wb-set-default:
    - shard-dg1:          NOTRUN -> [SKIP][80] ([i915#3539] / [i915#4852])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_exec_flush@basic-wb-set-default.html

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-dg2:          NOTRUN -> [SKIP][81] ([fdo#109283] / [i915#5107])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_exec_reloc@basic-active:
    - shard-dg2:          NOTRUN -> [SKIP][82] ([i915#3281]) +4 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@gem_exec_reloc@basic-active.html

  * igt@gem_exec_reloc@basic-softpin:
    - shard-rkl:          NOTRUN -> [SKIP][83] ([i915#3281]) +4 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gem_exec_reloc@basic-softpin.html

  * igt@gem_exec_reloc@basic-wc-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][84] ([i915#3281]) +5 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@gem_exec_reloc@basic-wc-gtt.html

  * igt@gem_exec_reloc@basic-write-read-active:
    - shard-dg1:          NOTRUN -> [SKIP][85] ([i915#3281]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_exec_reloc@basic-write-read-active.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-rkl:          NOTRUN -> [ABORT][86] ([i915#7975] / [i915#8213])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_fenced_exec_thrash@no-spare-fences-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][87] ([i915#4860])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@gem_fenced_exec_thrash@no-spare-fences-interruptible.html

  * igt@gem_lmem_swapping@heavy-multi:
    - shard-rkl:          NOTRUN -> [SKIP][88] ([i915#4613]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gem_lmem_swapping@heavy-multi.html

  * igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][89] ([i915#4565])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0.html

  * igt@gem_lmem_swapping@random-engines:
    - shard-glk:          NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#4613]) +3 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-glk8/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-mtlp:         NOTRUN -> [SKIP][91] ([i915#4613]) +1 other test skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg2:          [PASS][92] -> [DMESG-WARN][93] ([i915#4936] / [i915#5493])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg2-10/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-1/igt@gem_lmem_swapping@smem-oom@lmem0.html
    - shard-dg1:          [PASS][94] -> [TIMEOUT][95] ([i915#5493])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-12/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@gem_madvise@dontneed-before-exec:
    - shard-mtlp:         NOTRUN -> [SKIP][96] ([i915#3282]) +3 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@gem_madvise@dontneed-before-exec.html

  * igt@gem_mmap_gtt@fault-concurrent-x:
    - shard-dg2:          NOTRUN -> [SKIP][97] ([i915#4077]) +2 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@gem_mmap_gtt@fault-concurrent-x.html

  * igt@gem_mmap_gtt@fault-concurrent-y:
    - shard-mtlp:         NOTRUN -> [SKIP][98] ([i915#4077]) +9 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@gem_mmap_gtt@fault-concurrent-y.html

  * igt@gem_mmap_wc@close:
    - shard-mtlp:         NOTRUN -> [SKIP][99] ([i915#4083])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@gem_mmap_wc@close.html

  * igt@gem_mmap_wc@invalid-flags:
    - shard-dg1:          NOTRUN -> [SKIP][100] ([i915#4083])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_mmap_wc@invalid-flags.html

  * igt@gem_mmap_wc@write-cpu-read-wc:
    - shard-dg2:          NOTRUN -> [SKIP][101] ([i915#4083])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@gem_mmap_wc@write-cpu-read-wc.html

  * igt@gem_partial_pwrite_pread@reads-uncached:
    - shard-dg1:          NOTRUN -> [SKIP][102] ([i915#3282])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_partial_pwrite_pread@reads-uncached.html

  * igt@gem_pread@snoop:
    - shard-dg2:          NOTRUN -> [SKIP][103] ([i915#3282]) +1 other test skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@gem_pread@snoop.html

  * igt@gem_pxp@create-valid-protected-context:
    - shard-mtlp:         NOTRUN -> [SKIP][104] ([i915#4270]) +4 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@gem_pxp@create-valid-protected-context.html

  * igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted:
    - shard-rkl:          NOTRUN -> [SKIP][105] ([i915#4270])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html

  * igt@gem_pxp@verify-pxp-stale-buf-execution:
    - shard-dg2:          NOTRUN -> [SKIP][106] ([i915#4270]) +1 other test skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@gem_pxp@verify-pxp-stale-buf-execution.html

  * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][107] ([i915#8428]) +3 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html

  * igt@gem_set_tiling_vs_blt@tiled-to-untiled:
    - shard-dg1:          NOTRUN -> [SKIP][108] ([i915#4079])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html

  * igt@gem_set_tiling_vs_gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][109] ([i915#4079]) +1 other test skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@gem_set_tiling_vs_gtt.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-rkl:          NOTRUN -> [SKIP][110] ([i915#3282]) +3 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gem_set_tiling_vs_pwrite.html

  * igt@gem_tiled_fence_blits@basic:
    - shard-dg1:          NOTRUN -> [SKIP][111] ([i915#4077]) +2 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-dg2:          NOTRUN -> [SKIP][112] ([i915#3297] / [i915#4880])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-mtlp:         NOTRUN -> [SKIP][113] ([i915#3297])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-dg2:          NOTRUN -> [SKIP][114] ([i915#3297]) +1 other test skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@gen3_render_linear_blits:
    - shard-mtlp:         NOTRUN -> [SKIP][115] ([fdo#109289]) +2 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@gen3_render_linear_blits.html
    - shard-rkl:          NOTRUN -> [SKIP][116] ([fdo#109289]) +1 other test skip
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gen3_render_linear_blits.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-dg2:          NOTRUN -> [SKIP][117] ([i915#2856]) +1 other test skip
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@gen9_exec_parse@allowed-single.html
    - shard-glk:          [PASS][118] -> [INCOMPLETE][119] ([i915#5566])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-glk3/igt@gen9_exec_parse@allowed-single.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-glk3/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@bb-large:
    - shard-dg1:          NOTRUN -> [SKIP][120] ([i915#2527])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gen9_exec_parse@bb-large.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-rkl:          NOTRUN -> [SKIP][121] ([i915#2527]) +2 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@gen9_exec_parse@bb-oversize.html

  * igt@gen9_exec_parse@unaligned-jump:
    - shard-mtlp:         NOTRUN -> [SKIP][122] ([i915#2856]) +2 other tests skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@gen9_exec_parse@unaligned-jump.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-rkl:          NOTRUN -> [ABORT][123] ([i915#9820])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/igt@i915_module_load@reload-with-fault-injection.html
    - shard-dg1:          [PASS][124] -> [INCOMPLETE][125] ([i915#9849])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg1-15/igt@i915_module_load@reload-with-fault-injection.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-14/igt@i915_module_load@reload-with-fault-injection.html
    - shard-tglu:         [PASS][126] -> [INCOMPLETE][127] ([i915#9200])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-tglu-10/igt@i915_module_load@reload-with-fault-injection.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-tglu-6/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_freq_mult@media-freq@gt0:
    - shard-rkl:          NOTRUN -> [SKIP][128] ([i915#6590])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/igt@i915_pm_freq_mult@media-freq@gt0.html

  * igt@i915_pm_rps@reset:
    - shard-mtlp:         NOTRUN -> [FAIL][129] ([i915#8346])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@i915_pm_rps@reset.html

  * igt@i915_query@query-topology-coherent-slice-mask:
    - shard-mtlp:         NOTRUN -> [SKIP][130] ([i915#6188])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@i915_query@query-topology-coherent-slice-mask.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][131] ([i915#4215] / [i915#5190])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - shard-dg2:          NOTRUN -> [SKIP][132] ([i915#4212])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-2-y-rc-ccs-cc:
    - shard-rkl:          NOTRUN -> [SKIP][133] ([i915#8709]) +3 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-2-y-rc-ccs-cc.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-2-4-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][134] ([i915#8709]) +11 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-2-4-mc-ccs.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
    - shard-rkl:          NOTRUN -> [SKIP][135] ([i915#1769] / [i915#3555])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
    - shard-glk:          NOTRUN -> [SKIP][136] ([fdo#109271] / [i915#1769])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-glk4/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-270:
    - shard-mtlp:         NOTRUN -> [SKIP][137] ([fdo#111614]) +3 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][138] ([i915#4538] / [i915#5286]) +1 other test skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-270:
    - shard-dg2:          NOTRUN -> [SKIP][139] ([fdo#111614]) +1 other test skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-mtlp:         [PASS][140] -> [FAIL][141] ([i915#5138])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][142] ([fdo#111614] / [i915#3638]) +1 other test skip
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-90:
    - shard-dg1:          NOTRUN -> [SKIP][143] ([i915#3638])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-180:
    - shard-dg2:          NOTRUN -> [SKIP][144] ([i915#5190]) +5 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-mtlp:         NOTRUN -> [SKIP][145] ([i915#6187])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
    - shard-mtlp:         NOTRUN -> [SKIP][146] ([fdo#111615]) +6 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][147] ([i915#4538]) +1 other test skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-dg2:          NOTRUN -> [SKIP][148] ([i915#4538] / [i915#5190]) +2 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][149] ([fdo#110723]) +1 other test skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_joiner@basic:
    - shard-dg1:          NOTRUN -> [SKIP][150] ([i915#2705])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_big_joiner@basic.html

  * igt@kms_ccs@pipe-a-bad-aux-stride-y-tiled-gen12-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][151] ([i915#5354]) +41 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_ccs@pipe-a-bad-aux-stride-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@pipe-a-missing-ccs-buffer-yf-tiled-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][152] ([i915#5354] / [i915#6095]) +24 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_ccs@pipe-a-missing-ccs-buffer-yf-tiled-ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-basic-yf-tiled-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][153] ([i915#5354] / [i915#6095]) +10 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_ccs@pipe-b-crc-primary-basic-yf-tiled-ccs.html

  * igt@kms_ccs@pipe-b-missing-ccs-buffer-y-tiled-gen12-mc-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][154] ([i915#5354] / [i915#6095]) +10 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/igt@kms_ccs@pipe-b-missing-ccs-buffer-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@pipe-d-bad-rotation-90-4-tiled-dg2-rc-ccs-cc:
    - shard-rkl:          NOTRUN -> [SKIP][155] ([i915#5354]) +10 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_ccs@pipe-d-bad-rotation-90-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][156] ([i915#4087]) +3 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3.html

  * igt@kms_chamelium_audio@hdmi-audio-edid:
    - shard-dg1:          NOTRUN -> [SKIP][157] ([i915#7828]) +1 other test skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_chamelium_audio@hdmi-audio-edid.html

  * igt@kms_chamelium_color@ctm-limited-range:
    - shard-mtlp:         NOTRUN -> [SKIP][158] ([fdo#111827])
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@kms_chamelium_color@ctm-limited-range.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - shard-mtlp:         NOTRUN -> [SKIP][159] ([i915#7828]) +5 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_chamelium_hpd@dp-hpd-storm:
    - shard-dg2:          NOTRUN -> [SKIP][160] ([i915#7828]) +4 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_chamelium_hpd@dp-hpd-storm.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - shard-rkl:          NOTRUN -> [SKIP][161] ([i915#7828]) +4 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_content_protection@atomic:
    - shard-dg2:          NOTRUN -> [SKIP][162] ([i915#7118])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-mtlp:         NOTRUN -> [SKIP][163] ([i915#6944])
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-mtlp:         NOTRUN -> [SKIP][164] ([i915#3299]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-rkl:          NOTRUN -> [SKIP][165] ([i915#3116])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          NOTRUN -> [SKIP][166] ([i915#9424])
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-onscreen-max-size:
    - shard-mtlp:         NOTRUN -> [SKIP][167] ([i915#3555] / [i915#8814])
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_cursor_crc@cursor-onscreen-max-size.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-dg2:          NOTRUN -> [SKIP][168] ([i915#3359]) +2 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-random-64x21:
    - shard-mtlp:         NOTRUN -> [SKIP][169] ([i915#8814])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_cursor_crc@cursor-random-64x21.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x10:
    - shard-rkl:          NOTRUN -> [SKIP][170] ([i915#3555]) +3 other tests skip
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-dg1:          NOTRUN -> [SKIP][171] ([i915#3555])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][172] ([i915#3359])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-mtlp:         NOTRUN -> [SKIP][173] ([i915#3359])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-rkl:          NOTRUN -> [SKIP][174] ([i915#4103])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-mtlp:         NOTRUN -> [SKIP][175] ([i915#4213]) +1 other test skip
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][176] ([fdo#109274] / [i915#5354]) +3 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
    - shard-snb:          [PASS][177] -> [SKIP][178] ([fdo#109271] / [fdo#111767])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-snb7/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-snb4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-rkl:          NOTRUN -> [SKIP][179] ([fdo#111767] / [fdo#111825]) +1 other test skip
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
    - shard-mtlp:         NOTRUN -> [SKIP][180] ([fdo#111767])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][181] ([i915#9723])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][182] ([i915#3804])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
    - shard-dg2:          NOTRUN -> [SKIP][183] ([i915#3555]) +3 other tests skip
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-mtlp:         NOTRUN -> [SKIP][184] ([i915#3555] / [i915#3840])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_feature_discovery@chamelium:
    - shard-dg2:          NOTRUN -> [SKIP][185] ([i915#4854])
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@psr2:
    - shard-dg2:          NOTRUN -> [SKIP][186] ([i915#658])
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][187] ([fdo#109274]) +3 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@2x-nonexisting-fb:
    - shard-mtlp:         NOTRUN -> [SKIP][188] ([i915#3637]) +5 other tests skip
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@kms_flip@2x-nonexisting-fb.html

  * igt@kms_flip@2x-plain-flip:
    - shard-dg1:          NOTRUN -> [SKIP][189] ([fdo#111825] / [i915#9934]) +1 other test skip
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][190] ([i915#2672])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][191] ([i915#2672])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][192] ([i915#8810]) +1 other test skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][193] ([i915#3555] / [i915#8810]) +1 other test skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][194] ([i915#2672]) +2 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][195] ([fdo#111825] / [i915#1825]) +17 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-snb:          [PASS][196] -> [SKIP][197] ([fdo#109271]) +7 other tests skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-snb4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][198] ([fdo#111825]) +4 other tests skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][199] ([i915#10055])
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][200] ([i915#3458]) +2 other tests skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render:
    - shard-dg2:          NOTRUN -> [SKIP][201] ([i915#3458]) +7 other tests skip
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-render:
    - shard-rkl:          NOTRUN -> [SKIP][202] ([i915#3023]) +6 other tests skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt:
    - shard-dg1:          NOTRUN -> [SKIP][203] ([fdo#111825]) +4 other tests skip
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][204] ([i915#1825]) +26 other tests skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][205] ([i915#8708]) +4 other tests skip
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][206] ([i915#8708]) +5 other tests skip
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][207] ([i915#8708]) +6 other tests skip
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc.html

  * igt@kms_hdr@static-toggle:
    - shard-mtlp:         NOTRUN -> [SKIP][208] ([i915#3555] / [i915#8228])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_hdr@static-toggle.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-dg2:          NOTRUN -> [SKIP][209] ([i915#3555] / [i915#8228])
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c:
    - shard-dg2:          NOTRUN -> [SKIP][210] ([fdo#109289]) +2 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][211] ([i915#7862]) +1 other test fail
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-glk9/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][212] ([i915#3555] / [i915#8806])
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-mtlp:         NOTRUN -> [SKIP][213] ([i915#9809]) +1 other test skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-2:
    - shard-dg2:          NOTRUN -> [SKIP][214] ([i915#9423]) +3 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-3/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][215] ([i915#5176]) +3 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-edp-1.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][216] ([i915#9423]) +7 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][217] ([i915#9423]) +7 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-13/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-3.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][218] ([i915#5235]) +9 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-6/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][219] ([i915#5235]) +11 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-19/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-4.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][220] ([i915#5235]) +2 other tests skip
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-edp-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][221] ([i915#5235] / [i915#9423]) +11 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-10/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][222] ([i915#3555] / [i915#5235])
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-dg2:          NOTRUN -> [SKIP][223] ([i915#9685]) +1 other test skip
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][224] ([i915#9340])
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-3/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_lpsp@screens-disabled:
    - shard-rkl:          NOTRUN -> [SKIP][225] ([i915#8430])
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_pm_lpsp@screens-disabled.html
    - shard-mtlp:         NOTRUN -> [SKIP][226] ([i915#8430])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_pm_lpsp@screens-disabled.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          [PASS][227] -> [SKIP][228] ([i915#9519]) +2 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-1/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-dg1:          NOTRUN -> [SKIP][229] ([i915#9519])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2:          [PASS][230] -> [SKIP][231] ([i915#9519])
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg2-2/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-10/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-pc8-residency-stress:
    - shard-dg1:          NOTRUN -> [SKIP][232] ([fdo#109293] / [fdo#109506])
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_pm_rpm@modeset-pc8-residency-stress.html

  * igt@kms_pm_rpm@pc8-residency:
    - shard-mtlp:         NOTRUN -> [SKIP][233] ([fdo#109293])
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_pm_rpm@pc8-residency.html
    - shard-rkl:          NOTRUN -> [SKIP][234] ([fdo#109293] / [fdo#109506])
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_pm_rpm@pc8-residency.html

  * igt@kms_psr2_sf@overlay-plane-update-continuous-sf:
    - shard-rkl:          NOTRUN -> [SKIP][235] ([fdo#111068] / [i915#9683])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
    - shard-rkl:          NOTRUN -> [SKIP][236] ([i915#5289])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-dg1:          NOTRUN -> [SKIP][237] ([fdo#111615] / [i915#5289])
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@sprite-rotation-90:
    - shard-mtlp:         NOTRUN -> [SKIP][238] ([i915#4235])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@kms_rotation_crc@sprite-rotation-90.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-mtlp:         NOTRUN -> [SKIP][239] ([fdo#109309])
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_tv_load_detect@load-detect.html
    - shard-rkl:          NOTRUN -> [SKIP][240] ([fdo#109309])
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1:
    - shard-mtlp:         [PASS][241] -> [FAIL][242] ([i915#9196])
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-8/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1:
    - shard-tglu:         [PASS][243] -> [FAIL][244] ([i915#9196]) +1 other test fail
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-tglu-8/igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1.html
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-tglu-9/igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1.html

  * igt@kms_vblank@ts-continuation-dpms-rpm@pipe-b-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][245] ([fdo#109271]) +1 other test skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-snb7/igt@kms_vblank@ts-continuation-dpms-rpm@pipe-b-vga-1.html

  * igt@kms_vrr@negative-basic:
    - shard-glk:          NOTRUN -> [SKIP][246] ([fdo#109271]) +199 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-glk3/igt@kms_vrr@negative-basic.html

  * igt@kms_writeback@writeback-check-output:
    - shard-dg2:          NOTRUN -> [SKIP][247] ([i915#2437])
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-check-output-xrgb2101010:
    - shard-glk:          NOTRUN -> [SKIP][248] ([fdo#109271] / [i915#2437])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-glk9/igt@kms_writeback@writeback-check-output-xrgb2101010.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-rkl:          NOTRUN -> [SKIP][249] ([i915#2437])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/igt@kms_writeback@writeback-pixel-formats.html

  * igt@perf@mi-rpc:
    - shard-dg2:          NOTRUN -> [SKIP][250] ([i915#2434])
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@perf@mi-rpc.html

  * igt@perf_pmu@busy-double-start@rcs0:
    - shard-mtlp:         [PASS][251] -> [FAIL][252] ([i915#4349])
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-3/igt@perf_pmu@busy-double-start@rcs0.html
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-4/igt@perf_pmu@busy-double-start@rcs0.html

  * igt@perf_pmu@rc6-all-gts:
    - shard-dg1:          NOTRUN -> [SKIP][253] ([i915#8516])
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@perf_pmu@rc6-all-gts.html

  * igt@prime_vgem@basic-fence-read:
    - shard-mtlp:         NOTRUN -> [SKIP][254] ([i915#3708])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][255] ([i915#3708] / [i915#4077])
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@fence-write-hang:
    - shard-dg2:          NOTRUN -> [SKIP][256] ([i915#3708])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@prime_vgem@fence-write-hang.html

  * igt@sriov_basic@bind-unbind-vf:
    - shard-dg2:          NOTRUN -> [SKIP][257] ([i915#9917])
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@sriov_basic@bind-unbind-vf.html

  * igt@v3d/v3d_mmap@mmap-bad-flags:
    - shard-dg1:          NOTRUN -> [SKIP][258] ([i915#2575]) +2 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@v3d/v3d_mmap@mmap-bad-flags.html

  * igt@v3d/v3d_mmap@mmap-bo:
    - shard-mtlp:         NOTRUN -> [SKIP][259] ([i915#2575]) +7 other tests skip
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@v3d/v3d_mmap@mmap-bo.html

  * igt@v3d/v3d_perfmon@get-values-valid-perfmon:
    - shard-rkl:          NOTRUN -> [SKIP][260] ([fdo#109315]) +4 other tests skip
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@v3d/v3d_perfmon@get-values-valid-perfmon.html

  * igt@v3d/v3d_submit_cl@multisync-out-syncs:
    - shard-dg2:          NOTRUN -> [SKIP][261] ([i915#2575]) +4 other tests skip
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-2/igt@v3d/v3d_submit_cl@multisync-out-syncs.html

  * igt@vc4/vc4_dmabuf_poll@poll-write-waits-until-write-done:
    - shard-mtlp:         NOTRUN -> [SKIP][262] ([i915#7711]) +4 other tests skip
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-8/igt@vc4/vc4_dmabuf_poll@poll-write-waits-until-write-done.html

  * igt@vc4/vc4_perfmon@create-two-perfmon:
    - shard-rkl:          NOTRUN -> [SKIP][263] ([i915#7711]) +4 other tests skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-7/igt@vc4/vc4_perfmon@create-two-perfmon.html

  * igt@vc4/vc4_purgeable_bo@access-purged-bo-mem:
    - shard-dg2:          NOTRUN -> [SKIP][264] ([i915#7711]) +2 other tests skip
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-7/igt@vc4/vc4_purgeable_bo@access-purged-bo-mem.html

  * igt@vc4/vc4_tiling@get-bad-handle:
    - shard-dg1:          NOTRUN -> [SKIP][265] ([i915#7711]) +1 other test skip
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@vc4/vc4_tiling@get-bad-handle.html

  
#### Possible fixes ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-tglu:         [FAIL][266] ([i915#6268]) -> [PASS][267]
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-tglu-5/igt@gem_ctx_exec@basic-nohangcheck.html
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-tglu-3/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_isolation@preservation-s3@vcs0:
    - shard-dg1:          [FAIL][268] ([i915#10086]) -> [PASS][269] +2 other tests pass
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg1-15/igt@gem_ctx_isolation@preservation-s3@vcs0.html
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-12/igt@gem_ctx_isolation@preservation-s3@vcs0.html

  * igt@gem_eio@hibernate:
    - shard-dg1:          [ABORT][270] ([i915#7975] / [i915#8213]) -> [PASS][271]
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg1-14/igt@gem_eio@hibernate.html
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg1-17/igt@gem_eio@hibernate.html

  * igt@gem_eio@in-flight-contexts-1us:
    - shard-mtlp:         [FAIL][272] -> [PASS][273]
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-2/igt@gem_eio@in-flight-contexts-1us.html
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-3/igt@gem_eio@in-flight-contexts-1us.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-rkl:          [FAIL][274] ([i915#2842]) -> [PASS][275] +2 other tests pass
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-4/igt@gem_exec_fair@basic-none@vecs0.html
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-mtlp:         [ABORT][276] ([i915#9820]) -> [PASS][277]
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-7/igt@i915_module_load@reload-with-fault-injection.html
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_power@sanity:
    - shard-mtlp:         [SKIP][278] ([i915#7984]) -> [PASS][279]
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-3/igt@i915_power@sanity.html
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-2/igt@i915_power@sanity.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-tglu:         [FAIL][280] ([i915#3743]) -> [PASS][281] +1 other test pass
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-tglu-7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-tglu-8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-snb:          [SKIP][282] ([fdo#109271]) -> [PASS][283] +10 other tests pass
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-snb5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-dg2:          [SKIP][284] ([i915#9519]) -> [PASS][285]
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-dg2-2/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-dg2-10/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-rkl:          [SKIP][286] ([i915#9519]) -> [PASS][287] +2 other tests pass
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-rkl:          [INCOMPLETE][288] ([i915#9569]) -> [PASS][289]
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/igt@kms_rotation_crc@bad-pixel-format.html
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1:
    - shard-mtlp:         [FAIL][290] ([i915#9196]) -> [PASS][291] +1 other test pass
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-8/igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1.html
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-6/igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1.html

  
#### Warnings ####

  * igt@kms_async_flips@crc@pipe-d-edp-1:
    - shard-mtlp:         [DMESG-FAIL][292] ([i915#8561]) -> [FAIL][293] ([i915#8247]) +2 other tests fail
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-mtlp-8/igt@kms_async_flips@crc@pipe-d-edp-1.html
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-mtlp-4/igt@kms_async_flips@crc@pipe-d-edp-1.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-rkl:          [SKIP][294] ([i915#3955]) -> [SKIP][295] ([fdo#110189] / [i915#3955])
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/igt@kms_fbcon_fbt@psr-suspend.html
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][296] ([i915#4816]) -> [SKIP][297] ([i915#4070] / [i915#4816])
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-1/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-rkl:          [FAIL][298] ([i915#9295]) -> [SKIP][299] ([i915#3361])
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14124/shard-rkl-5/igt@kms_pm_dc@dc6-dpms.html
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/shard-rkl-4/igt@kms_pm_dc@dc6-dpms.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#10030]: https://gitlab.freedesktop.org/drm/intel/issues/10030
  [i915#10055]: https://gitlab.freedesktop.org/drm/intel/issues/10055
  [i915#10086]: https://gitlab.freedesktop.org/drm/intel/issues/10086
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4473]: https://gitlab.freedesktop.org/drm/intel/issues/4473
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4936]: https://gitlab.freedesktop.org/drm/intel/issues/4936
  [i915#5107]: https://gitlab.freedesktop.org/drm/intel/issues/5107
  [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6187]: https://gitlab.freedesktop.org/drm/intel/issues/6187
  [i915#6188]: https://gitlab.freedesktop.org/drm/intel/issues/6188
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7862]: https://gitlab.freedesktop.org/drm/intel/issues/7862
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#7984]: https://gitlab.freedesktop.org/drm/intel/issues/7984
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8346]: https://gitlab.freedesktop.org/drm/intel/issues/8346
  [i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398
  [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411
  [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
  [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
  [i915#8430]: https://gitlab.freedesktop.org/drm/intel/issues/8430
  [i915#8516]: https://gitlab.freedesktop.org/drm/intel/issues/8516
  [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
  [i915#8561]: https://gitlab.freedesktop.org/drm/intel/issues/8561
  [i915#8562]: https://gitlab.freedesktop.org/drm/intel/issues/8562
  [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
  [i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709
  [i915#8806]: https://gitlab.freedesktop.org/drm/intel/issues/8806
  [i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810
  [i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814
  [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196
  [i915#9200]: https://gitlab.freedesktop.org/drm/intel/issues/9200
  [i915#9295]: https://gitlab.freedesktop.org/drm/intel/issues/9295
  [i915#9323]: https://gitlab.freedesktop.org/drm/intel/issues/9323
  [i915#9340]: https://gitlab.freedesktop.org/drm/intel/issues/9340
  [i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424
  [i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519
  [i915#9569]: https://gitlab.freedesktop.org/drm/intel/issues/9569
  [i915#9606]: https://gitlab.freedesktop.org/drm/intel/issues/9606
  [i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/intel/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9808]: https://gitlab.freedesktop.org/drm/intel/issues/9808
  [i915#9809]: https://gitlab.freedesktop.org/drm/intel/issues/9809
  [i915#9820]: https://gitlab.freedesktop.org/drm/intel/issues/9820
  [i915#9849]: https://gitlab.freedesktop.org/drm/intel/issues/9849
  [i915#9917]: https://gitlab.freedesktop.org/drm/intel/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/intel/issues/9934


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

  * Linux: CI_DRM_14124 -> Patchwork_128683v2

  CI-20190529: 20190529
  CI_DRM_14124: 985e8077e53ee3ed954356d355a4277ea38d7157 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7673: 7673
  Patchwork_128683v2: 985e8077e53ee3ed954356d355a4277ea38d7157 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_128683v2/index.html

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

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

* Re: [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check
  2024-01-15 13:48         ` Jani Nikula
@ 2024-01-16  9:57           ` Jani Nikula
  0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2024-01-16  9:57 UTC (permalink / raw)
  To: Radhakrishna Sripada; +Cc: intel-gfx

On Mon, 15 Jan 2024, Jani Nikula <jani.nikula@intel.com> wrote:
> On Fri, 12 Jan 2024, Radhakrishna Sripada <radhakrishna.sripada@intel.com> wrote:
>> On Fri, Jan 12, 2024 at 12:17:25PM +0200, Jani Nikula wrote:
>>> On Thu, 11 Jan 2024, Radhakrishna Sripada <radhakrishna.sripada@intel.com> wrote:
>>> > On Thu, Jan 11, 2024 at 07:21:17PM +0200, Jani Nikula wrote:
>>> >> Add a function to check the opregion ASLE presence instead of accessing
>>> >> the opregion structures directly.
>>> >> 
>>> >> Reorder the checks in i915_has_asle() to avoid the function call if
>>> >> possible.
>>> >> 
>>> >> Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
>>> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>> >> ---
>>> >>  drivers/gpu/drm/i915/display/intel_display_irq.c | 6 +++---
>>> >>  drivers/gpu/drm/i915/display/intel_opregion.c    | 5 +++++
>>> >>  drivers/gpu/drm/i915/display/intel_opregion.h    | 6 ++++++
>>> >>  3 files changed, 14 insertions(+), 3 deletions(-)
>>> >> 
>>> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
>>> >> index 99843883cef7..f846c5b108b5 100644
>>> >> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
>>> >> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
>>> >> @@ -266,12 +266,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
>>> >>  	intel_uncore_posting_read(&dev_priv->uncore, reg);
>>> >>  }
>>> >>  
>>> >> -static bool i915_has_asle(struct drm_i915_private *dev_priv)
>>> >> +static bool i915_has_asle(struct drm_i915_private *i915)
>>> > Why not move this to intel_opregion.c and export it instead of
>>> > intel_opregion_asle_present ?
>>> 
>>> I'm trying to be conscious of the possible performance impact of making
>>> calls from the irq code just to find there's nothing to do.
>> Makes sense.
>>
>>> 
>>> >>  {
>>> >> -	if (!dev_priv->display.opregion.asle)
>>> >> +	if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
>>> > Can we extend this check to dgfx as well?
>>> 
>>> Extend how? This will return early for everything after IVB.
>> The name of the function is bit misleading as looking at Opregion code
>> and the spec beyond IVB, asle aka Mailbox 3 is present, just that it is
>> not used for reading pipestat. It is used to store rvda from where VBT is read.
>> Extension is not required for this purpose. Might want to clear that unless
>> I misunderstood the purpose, either way 
>
> The new function intel_opregion_asle_present() added in this patch is
> exactly about whether asle mbox is present.
>
> i915_has_asle() may be ill-named, but frankly I'm not sure what it
> should be called, and it probably should not be renamed in this patch?

Anyway, pushed the series to din, thanks for the review!

We can tweak the name details in follow-up patches.

BR,
Jani.


>
> BR,
> Jani.
>
>>
>> Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
>>> 
>>> BR,
>>> Jani.
>>> 
>>> >
>>> > -Radhakrishna(RK) Sripada
>>> >
>>> >>  		return false;
>>> >>  
>>> >> -	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
>>> >> +	return intel_opregion_asle_present(i915);
>>> >>  }
>>> >>  
>>> >>  /**
>>> >> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
>>> >> index 8b9e820971cb..26aacb01f9ec 100644
>>> >> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
>>> >> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
>>> >> @@ -632,6 +632,11 @@ static void asle_work(struct work_struct *work)
>>> >>  	asle->aslc = aslc_stat;
>>> >>  }
>>> >>  
>>> >> +bool intel_opregion_asle_present(struct drm_i915_private *i915)
>>> >> +{
>>> >> +	return i915->display.opregion.asle;
>>> >> +}
>>> >> +
>>> >>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>>> >>  {
>>> >>  	if (dev_priv->display.opregion.asle)
>>> >> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
>>> >> index 9efadfb72584..d084b30e8703 100644
>>> >> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
>>> >> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
>>> >> @@ -69,6 +69,7 @@ void intel_opregion_resume(struct drm_i915_private *dev_priv);
>>> >>  void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>>> >>  			    pci_power_t state);
>>> >>  
>>> >> +bool intel_opregion_asle_present(struct drm_i915_private *i915);
>>> >>  void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
>>> >>  int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>>> >>  				  bool enable);
>>> >> @@ -111,6 +112,11 @@ static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>>> >>  {
>>> >>  }
>>> >>  
>>> >> +static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
>>> >> +{
>>> >> +	return false;
>>> >> +}
>>> >> +
>>> >>  static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>>> >>  {
>>> >>  }
>>> >> -- 
>>> >> 2.39.2
>>> >> 
>>> 
>>> -- 
>>> Jani Nikula, Intel

-- 
Jani Nikula, Intel

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

* Re: [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque
  2024-01-11 17:21 ` [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque Jani Nikula
  2024-01-12  0:13   ` Radhakrishna Sripada
@ 2024-01-17 11:25   ` Ville Syrjälä
  2024-01-17 12:43     ` Jani Nikula
  1 sibling, 1 reply; 24+ messages in thread
From: Ville Syrjälä @ 2024-01-17 11:25 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Jan 11, 2024 at 07:21:19PM +0200, Jani Nikula wrote:
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 26aacb01f9ec..3f5a20f9153e 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -250,11 +250,37 @@ struct opregion_asle_ext {
>  
>  #define MAX_DSLP	1500
>  
> +#define OPREGION_SIZE	(8 * 1024)
> +
> +struct intel_opregion {
> +	struct drm_i915_private *i915;
> +
> +	struct opregion_header *header;
> +	struct opregion_acpi *acpi;
> +	struct opregion_swsci *swsci;
> +	u32 swsci_gbda_sub_functions;
> +	u32 swsci_sbcb_sub_functions;
> +	struct opregion_asle *asle;
> +	struct opregion_asle_ext *asle_ext;
> +	void *rvda;
> +	void *vbt_firmware;
> +	const void *vbt;
> +	u32 vbt_size;
> +	u32 *lid_state;

lid_state is unused btw. Someone should throw a nuke at it.

> +	struct work_struct asle_work;
> +	struct notifier_block acpi_notifier;
> +};
> +

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque
  2024-01-17 11:25   ` Ville Syrjälä
@ 2024-01-17 12:43     ` Jani Nikula
  0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2024-01-17 12:43 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Wed, 17 Jan 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> lid_state is unused btw. Someone should throw a nuke at it.

Done.

https://patchwork.freedesktop.org/patch/msgid/20240117122546.1551400-1-jani.nikula@intel.com


-- 
Jani Nikula, Intel

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

end of thread, other threads:[~2024-01-17 12:43 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-11 17:21 [PATCH 0/6] drm/i915/opregion: better abstractions Jani Nikula
2024-01-11 17:21 ` [PATCH 1/6] drm/i915/bios: move i915_vbt debugfs to intel_bios.c Jani Nikula
2024-01-11 23:11   ` Radhakrishna Sripada
2024-01-11 17:21 ` [PATCH 2/6] drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c Jani Nikula
2024-01-11 23:20   ` Radhakrishna Sripada
2024-01-11 17:21 ` [PATCH 3/6] drm/i915/opregion: abstract getting the opregion VBT Jani Nikula
2024-01-11 23:22   ` Radhakrishna Sripada
2024-01-11 17:21 ` [PATCH 4/6] drm/i915/opregion: abstract ASLE presence check Jani Nikula
2024-01-12  0:03   ` Radhakrishna Sripada
2024-01-12 10:17     ` Jani Nikula
2024-01-12 19:36       ` Radhakrishna Sripada
2024-01-15 13:48         ` Jani Nikula
2024-01-16  9:57           ` Jani Nikula
2024-01-11 17:21 ` [PATCH 5/6] drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE Jani Nikula
2024-01-12  0:15   ` Radhakrishna Sripada
2024-01-11 17:21 ` [PATCH 6/6] drm/i915/opregion: make struct intel_opregion opaque Jani Nikula
2024-01-12  0:13   ` Radhakrishna Sripada
2024-01-17 11:25   ` Ville Syrjälä
2024-01-17 12:43     ` Jani Nikula
2024-01-11 18:19 ` ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions Patchwork
2024-01-11 18:37 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-01-15 14:14 ` ✗ Fi.CI.SPARSE: warning for drm/i915/opregion: better abstractions (rev2) Patchwork
2024-01-15 14:26 ` ✓ Fi.CI.BAT: success " Patchwork
2024-01-15 16:55 ` ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.