intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] drm/i915: struct intel_display conversions
@ 2024-07-31 16:44 Jani Nikula
  2024-07-31 16:44 ` [PATCH 1/4] drm/i915/acpi: convert to struct intel_display Jani Nikula
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Jani Nikula @ 2024-07-31 16:44 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula

Convert some display files to struct intel_display. Some parts are
scripted, but my cocci is not quite there yet to change interfaces, so a
lot of this is still manual.q

Some stragglers are left behind, but struct intel_display is preferred
and i915 pointers are derived locally as needed.

BR,
Jani.


Jani Nikula (4):
  drm/i915/acpi: convert to struct intel_display
  drm/i915/opregion: unify intel_encoder/intel_connector naming
  drm/i915/opregion: convert to struct intel_display
  drm/i915/bios: convert to struct intel_display

 drivers/gpu/drm/i915/display/g4x_dp.c         |   3 +-
 drivers/gpu/drm/i915/display/g4x_hdmi.c       |   3 +-
 drivers/gpu/drm/i915/display/icl_dsi.c        |   3 +-
 drivers/gpu/drm/i915/display/intel_acpi.c     |  17 +-
 drivers/gpu/drm/i915/display/intel_acpi.h     |  18 +-
 drivers/gpu/drm/i915/display/intel_bios.c     | 846 +++++++++---------
 drivers/gpu/drm/i915/display/intel_bios.h     |  28 +-
 .../gpu/drm/i915/display/intel_combo_phy.c    |   8 +-
 drivers/gpu/drm/i915/display/intel_ddi.c      |   3 +-
 drivers/gpu/drm/i915/display/intel_ddi.h      |   3 +-
 drivers/gpu/drm/i915/display/intel_display.c  |   9 +-
 .../drm/i915/display/intel_display_debugfs.c  |   7 +-
 .../drm/i915/display/intel_display_device.c   |   8 +-
 .../drm/i915/display/intel_display_driver.c   |  22 +-
 .../gpu/drm/i915/display/intel_display_irq.c  |  27 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |   8 +-
 drivers/gpu/drm/i915/display/intel_lvds.c     |   5 +-
 drivers/gpu/drm/i915/display/intel_opregion.c | 320 +++----
 drivers/gpu/drm/i915/display/intel_opregion.h |  58 +-
 drivers/gpu/drm/i915/display/intel_sdvo.c     |   3 +-
 drivers/gpu/drm/i915/display/intel_tv.c       |   3 +-
 drivers/gpu/drm/i915/display/vlv_dsi.c        |   5 +-
 drivers/gpu/drm/i915/i915_driver.c            |  22 +-
 drivers/gpu/drm/xe/display/xe_display.c       |  19 +-
 24 files changed, 763 insertions(+), 685 deletions(-)

-- 
2.39.2


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

* [PATCH 1/4] drm/i915/acpi: convert to struct intel_display
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
@ 2024-07-31 16:44 ` Jani Nikula
  2024-08-06 13:51   ` Imre Deak
  2024-07-31 16:44 ` [PATCH 2/4] drm/i915/opregion: unify intel_encoder/intel_connector naming Jani Nikula
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Jani Nikula @ 2024-07-31 16:44 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula

Going forward, struct intel_display shall replace struct
drm_i915_private as the main display device data pointer type. Convert
intel_acpi.[ch] to struct intel_display.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_acpi.c      | 17 ++++++++---------
 drivers/gpu/drm/i915/display/intel_acpi.h      | 18 +++++++++---------
 .../drm/i915/display/intel_display_driver.c    |  8 +++++---
 drivers/gpu/drm/i915/display/intel_opregion.c  | 10 ++++++----
 4 files changed, 28 insertions(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c
index 0aa3999374e2..c3b29a331d72 100644
--- a/drivers/gpu/drm/i915/display/intel_acpi.c
+++ b/drivers/gpu/drm/i915/display/intel_acpi.c
@@ -183,9 +183,9 @@ void intel_unregister_dsm_handler(void)
 {
 }
 
-void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
+void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display)
 {
-	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
+	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
 	acpi_handle dhandle;
 	union acpi_object *obj;
 
@@ -263,15 +263,14 @@ static u32 acpi_display_type(struct intel_connector *connector)
 	return display_type;
 }
 
-void intel_acpi_device_id_update(struct drm_i915_private *dev_priv)
+void intel_acpi_device_id_update(struct intel_display *display)
 {
-	struct drm_device *drm_dev = &dev_priv->drm;
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	u8 display_index[16] = {};
 
 	/* Populate the ACPI IDs for all connectors for a given drm_device */
-	drm_connector_list_iter_begin(drm_dev, &conn_iter);
+	drm_connector_list_iter_begin(display->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
 		u32 device_id, type;
 
@@ -288,10 +287,10 @@ void intel_acpi_device_id_update(struct drm_i915_private *dev_priv)
 }
 
 /* NOTE: The connector order must be final before this is called. */
-void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915)
+void intel_acpi_assign_connector_fwnodes(struct intel_display *display)
 {
+	struct drm_device *drm_dev = display->drm;
 	struct drm_connector_list_iter conn_iter;
-	struct drm_device *drm_dev = &i915->drm;
 	struct fwnode_handle *fwnode = NULL;
 	struct drm_connector *connector;
 	struct acpi_device *adev;
@@ -333,7 +332,7 @@ void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915)
 	fwnode_handle_put(fwnode);
 }
 
-void intel_acpi_video_register(struct drm_i915_private *i915)
+void intel_acpi_video_register(struct intel_display *display)
 {
 	struct drm_connector_list_iter conn_iter;
 	struct drm_connector *connector;
@@ -347,7 +346,7 @@ void intel_acpi_video_register(struct drm_i915_private *i915)
 	 * a native backlight later and acpi_video_register_backlight() should
 	 * only be called after any native backlights have been registered.
 	 */
-	drm_connector_list_iter_begin(&i915->drm, &conn_iter);
+	drm_connector_list_iter_begin(display->drm, &conn_iter);
 	drm_for_each_connector_iter(connector, &conn_iter) {
 		struct intel_panel *panel = &to_intel_connector(connector)->panel;
 
diff --git a/drivers/gpu/drm/i915/display/intel_acpi.h b/drivers/gpu/drm/i915/display/intel_acpi.h
index 6a0007452f95..788a63071661 100644
--- a/drivers/gpu/drm/i915/display/intel_acpi.h
+++ b/drivers/gpu/drm/i915/display/intel_acpi.h
@@ -6,26 +6,26 @@
 #ifndef __INTEL_ACPI_H__
 #define __INTEL_ACPI_H__
 
-struct drm_i915_private;
+struct intel_display;
 
 #ifdef CONFIG_ACPI
 void intel_register_dsm_handler(void);
 void intel_unregister_dsm_handler(void);
-void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915);
-void intel_acpi_device_id_update(struct drm_i915_private *i915);
-void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915);
-void intel_acpi_video_register(struct drm_i915_private *i915);
+void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display);
+void intel_acpi_device_id_update(struct intel_display *display);
+void intel_acpi_assign_connector_fwnodes(struct intel_display *display);
+void intel_acpi_video_register(struct intel_display *display);
 #else
 static inline void intel_register_dsm_handler(void) { return; }
 static inline void intel_unregister_dsm_handler(void) { return; }
 static inline
-void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915) { return; }
+void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display) { return; }
 static inline
-void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; }
+void intel_acpi_device_id_update(struct intel_display *display) { return; }
 static inline
-void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915) { return; }
+void intel_acpi_assign_connector_fwnodes(struct intel_display *display) { return; }
 static inline
-void intel_acpi_video_register(struct drm_i915_private *i915) { return; }
+void intel_acpi_video_register(struct intel_display *display) { return; }
 #endif /* CONFIG_ACPI */
 
 #endif /* __INTEL_ACPI_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 13e206ec450f..392c10359a52 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -416,7 +416,8 @@ bool intel_display_driver_check_access(struct drm_i915_private *i915)
 /* part #2: call after irq install, but before gem init */
 int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
 {
-	struct drm_device *dev = &i915->drm;
+	struct intel_display *display = &i915->display;
+	struct drm_device *dev = display->drm;
 	enum pipe pipe;
 	int ret;
 
@@ -466,7 +467,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
 
 	drm_modeset_lock_all(dev);
 	intel_modeset_setup_hw_state(i915, dev->mode_config.acquire_ctx);
-	intel_acpi_assign_connector_fwnodes(i915);
+	intel_acpi_assign_connector_fwnodes(display);
 	drm_modeset_unlock_all(dev);
 
 	intel_initial_plane_config(i915);
@@ -526,6 +527,7 @@ int intel_display_driver_probe(struct drm_i915_private *i915)
 
 void intel_display_driver_register(struct drm_i915_private *i915)
 {
+	struct intel_display *display = &i915->display;
 	struct drm_printer p = drm_dbg_printer(&i915->drm, DRM_UT_KMS,
 					       "i915 display info:");
 
@@ -534,7 +536,7 @@ void intel_display_driver_register(struct drm_i915_private *i915)
 
 	/* Must be done after probing outputs */
 	intel_opregion_register(i915);
-	intel_acpi_video_register(i915);
+	intel_acpi_video_register(display);
 
 	intel_audio_init(i915);
 
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 68bd5101ec89..4ff646a7f05d 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -722,7 +722,8 @@ 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_display *display = &dev_priv->display;
+	struct intel_opregion *opregion = display->opregion;
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	int i = 0, max_outputs;
@@ -737,7 +738,7 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
 	max_outputs = ARRAY_SIZE(opregion->acpi->didl) +
 		ARRAY_SIZE(opregion->acpi->did2);
 
-	intel_acpi_device_id_update(dev_priv);
+	intel_acpi_device_id_update(display);
 
 	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
@@ -1189,7 +1190,8 @@ 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_display *display = &i915->display;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (opregion->acpi) {
 		intel_didl_outputs(i915);
@@ -1210,7 +1212,7 @@ static void intel_opregion_resume_display(struct drm_i915_private *i915)
 	}
 
 	/* Some platforms abuse the _DSM to enable MUX */
-	intel_dsm_get_bios_data_funcs_supported(i915);
+	intel_dsm_get_bios_data_funcs_supported(display);
 }
 
 void intel_opregion_resume(struct drm_i915_private *i915)
-- 
2.39.2


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

* [PATCH 2/4] drm/i915/opregion: unify intel_encoder/intel_connector naming
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
  2024-07-31 16:44 ` [PATCH 1/4] drm/i915/acpi: convert to struct intel_display Jani Nikula
@ 2024-07-31 16:44 ` Jani Nikula
  2024-08-06 13:53   ` Imre Deak
  2024-07-31 16:44 ` [PATCH 3/4] drm/i915/opregion: convert to struct intel_display Jani Nikula
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Jani Nikula @ 2024-07-31 16:44 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula

Prefer the short encoder/connector names for struct
intel_encoder/intel_connector variables and parameters.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_opregion.c | 23 +++++++++----------
 drivers/gpu/drm/i915/display/intel_opregion.h |  4 ++--
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 4ff646a7f05d..4c9b9e7ebc91 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -381,10 +381,10 @@ static int swsci(struct drm_i915_private *dev_priv,
 #define DISPLAY_TYPE_EXTERNAL_FLAT_PANEL	2
 #define DISPLAY_TYPE_INTERNAL_FLAT_PANEL	3
 
-int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
+int intel_opregion_notify_encoder(struct intel_encoder *encoder,
 				  bool enable)
 {
-	struct drm_i915_private *dev_priv = to_i915(intel_encoder->base.dev);
+	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 	u32 parm = 0;
 	u32 type = 0;
 	u32 port;
@@ -399,10 +399,10 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 	if (ret)
 		return ret;
 
-	if (intel_encoder->type == INTEL_OUTPUT_DSI)
+	if (encoder->type == INTEL_OUTPUT_DSI)
 		port = 0;
 	else
-		port = intel_encoder->port;
+		port = encoder->port;
 
 	if (port == PORT_E)  {
 		port = 0;
@@ -421,15 +421,15 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 	if (port > 4) {
 		drm_dbg_kms(&dev_priv->drm,
 			    "[ENCODER:%d:%s] port %c (index %u) out of bounds for display power state notification\n",
-			    intel_encoder->base.base.id, intel_encoder->base.name,
-			    port_name(intel_encoder->port), port);
+			    encoder->base.base.id, encoder->base.name,
+			    port_name(encoder->port), port);
 		return -EINVAL;
 	}
 
 	if (!enable)
 		parm |= 4 << 8;
 
-	switch (intel_encoder->type) {
+	switch (encoder->type) {
 	case INTEL_OUTPUT_ANALOG:
 		type = DISPLAY_TYPE_CRT;
 		break;
@@ -446,7 +446,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 	default:
 		drm_WARN_ONCE(&dev_priv->drm, 1,
 			      "unsupported intel_encoder type %d\n",
-			      intel_encoder->type);
+			      encoder->type);
 		return -EINVAL;
 	}
 
@@ -1093,7 +1093,7 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
 
 /**
  * intel_opregion_get_edid - Fetch EDID from ACPI OpRegion mailbox #5
- * @intel_connector: eDP connector
+ * @connector: eDP connector
  *
  * This reads the ACPI Opregion mailbox #5 to extract the EDID that is passed
  * to it.
@@ -1102,10 +1102,9 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
  * The EDID in the OpRegion, or NULL if there is none or it's invalid.
  *
  */
-const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_connector)
+const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector)
 {
-	struct drm_connector *connector = &intel_connector->base;
-	struct drm_i915_private *i915 = to_i915(connector->dev);
+	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct intel_opregion *opregion = i915->display.opregion;
 	const struct drm_edid *drm_edid;
 	const void *edid;
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
index 4b2b8e752632..4dcd13c672e4 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.h
+++ b/drivers/gpu/drm/i915/display/intel_opregion.h
@@ -46,7 +46,7 @@ void intel_opregion_suspend(struct drm_i915_private *dev_priv,
 
 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,
+int intel_opregion_notify_encoder(struct intel_encoder *encoder,
 				  bool enable);
 int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
 				  pci_power_t state);
@@ -98,7 +98,7 @@ static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
 }
 
 static inline int
-intel_opregion_notify_encoder(struct intel_encoder *intel_encoder, bool enable)
+intel_opregion_notify_encoder(struct intel_encoder *encoder, bool enable)
 {
 	return 0;
 }
-- 
2.39.2


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

* [PATCH 3/4] drm/i915/opregion: convert to struct intel_display
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
  2024-07-31 16:44 ` [PATCH 1/4] drm/i915/acpi: convert to struct intel_display Jani Nikula
  2024-07-31 16:44 ` [PATCH 2/4] drm/i915/opregion: unify intel_encoder/intel_connector naming Jani Nikula
@ 2024-07-31 16:44 ` Jani Nikula
  2024-08-02 10:07   ` kernel test robot
  2024-08-06 14:37   ` Imre Deak
  2024-07-31 16:44 ` [PATCH 4/4] drm/i915/bios: " Jani Nikula
                   ` (8 subsequent siblings)
  11 siblings, 2 replies; 18+ messages in thread
From: Jani Nikula @ 2024-07-31 16:44 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula

Going forward, struct intel_display shall replace struct
drm_i915_private as the main display device data pointer type. Convert
intel_opregion.[ch] to struct intel_display.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c     |  10 +-
 .../drm/i915/display/intel_display_debugfs.c  |   5 +-
 .../drm/i915/display/intel_display_device.c   |   8 +-
 .../drm/i915/display/intel_display_driver.c   |   6 +-
 .../gpu/drm/i915/display/intel_display_irq.c  |  24 +-
 drivers/gpu/drm/i915/display/intel_opregion.c | 296 +++++++++---------
 drivers/gpu/drm/i915/display/intel_opregion.h |  54 ++--
 drivers/gpu/drm/i915/i915_driver.c            |  22 +-
 drivers/gpu/drm/xe/display/xe_display.c       |  19 +-
 9 files changed, 238 insertions(+), 206 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 460e83f0d5a5..2978b1eea73c 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -621,7 +621,9 @@ static int opregion_get_panel_type(struct drm_i915_private *i915,
 				   const struct intel_bios_encoder_data *devdata,
 				   const struct drm_edid *drm_edid, bool use_fallback)
 {
-	return intel_opregion_get_panel_type(i915);
+	struct intel_display *display = &i915->display;
+
+	return intel_opregion_get_panel_type(display);
 }
 
 static int vbt_get_panel_type(struct drm_i915_private *i915,
@@ -3157,13 +3159,14 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
 static const struct vbt_header *intel_bios_get_vbt(struct drm_i915_private *i915,
 						   size_t *sizep)
 {
+	struct intel_display *display = &i915->display;
 	const struct vbt_header *vbt = NULL;
 	intel_wakeref_t wakeref;
 
 	vbt = firmware_get_vbt(i915, sizep);
 
 	if (!vbt)
-		vbt = intel_opregion_get_vbt(i915, sizep);
+		vbt = intel_opregion_get_vbt(display, sizep);
 
 	/*
 	 * If the OpRegion does not have VBT, look in SPI flash
@@ -3377,6 +3380,7 @@ bool intel_bios_is_tv_present(struct drm_i915_private *i915)
  */
 bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
 {
+	struct intel_display *display = &i915->display;
 	const struct intel_bios_encoder_data *devdata;
 
 	if (list_empty(&i915->display.vbt.display_devices))
@@ -3409,7 +3413,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.
 		 */
-		return intel_opregion_vbt_present(i915);
+		return intel_opregion_vbt_present(display);
 	}
 
 	return false;
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 5cf9b4af9adf..ac8ad4a40b96 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -1045,6 +1045,7 @@ static const struct {
 
 void intel_display_debugfs_register(struct drm_i915_private *i915)
 {
+	struct intel_display *display = &i915->display;
 	struct drm_minor *minor = i915->drm.primary;
 	int i;
 
@@ -1063,9 +1064,9 @@ void intel_display_debugfs_register(struct drm_i915_private *i915)
 	intel_bios_debugfs_register(i915);
 	intel_cdclk_debugfs_register(i915);
 	intel_dmc_debugfs_register(i915);
-	intel_fbc_debugfs_register(&i915->display);
+	intel_fbc_debugfs_register(display);
 	intel_hpd_debugfs_register(i915);
-	intel_opregion_debugfs_register(i915);
+	intel_opregion_debugfs_register(display);
 	intel_psr_debugfs_register(i915);
 	intel_wm_debugfs_register(i915);
 	intel_display_debugfs_params(i915);
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index dd7dce4b0e7a..a31f89df2c0a 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -1529,9 +1529,11 @@ void intel_display_device_info_print(const struct intel_display_device_info *inf
  */
 bool intel_display_device_enabled(struct drm_i915_private *i915)
 {
+	struct intel_display *display = &i915->display;
+
 	/* Only valid when HAS_DISPLAY() is true */
-	drm_WARN_ON(&i915->drm, !HAS_DISPLAY(i915));
+	drm_WARN_ON(display->drm, !HAS_DISPLAY(display));
 
-	return !i915->display.params.disable_display &&
-		!intel_opregion_headless_sku(i915);
+	return !display->params.disable_display &&
+		!intel_opregion_headless_sku(display);
 }
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 392c10359a52..a2666b69834e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -535,7 +535,7 @@ void intel_display_driver_register(struct drm_i915_private *i915)
 		return;
 
 	/* Must be done after probing outputs */
-	intel_opregion_register(i915);
+	intel_opregion_register(display);
 	intel_acpi_video_register(display);
 
 	intel_audio_init(i915);
@@ -626,6 +626,8 @@ void intel_display_driver_remove_nogem(struct drm_i915_private *i915)
 
 void intel_display_driver_unregister(struct drm_i915_private *i915)
 {
+	struct intel_display *display = &i915->display;
+
 	if (!HAS_DISPLAY(i915))
 		return;
 
@@ -645,7 +647,7 @@ void intel_display_driver_unregister(struct drm_i915_private *i915)
 	drm_atomic_helper_shutdown(&i915->drm);
 
 	acpi_video_unregister();
-	intel_opregion_unregister(i915);
+	intel_opregion_unregister(display);
 }
 
 /*
diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
index 5219ba295c74..6cc1cc5e94d5 100644
--- a/drivers/gpu/drm/i915/display/intel_display_irq.c
+++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
@@ -270,10 +270,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
 
 static bool i915_has_asle(struct drm_i915_private *i915)
 {
+	struct intel_display *display = &i915->display;
+
 	if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
 		return false;
 
-	return intel_opregion_asle_present(i915);
+	return intel_opregion_asle_present(display);
 }
 
 /**
@@ -497,6 +499,8 @@ void i8xx_pipestat_irq_handler(struct drm_i915_private *dev_priv,
 void i915_pipestat_irq_handler(struct drm_i915_private *dev_priv,
 			       u32 iir, u32 pipe_stats[I915_MAX_PIPES])
 {
+	struct intel_display *display = &dev_priv->display;
+
 	bool blc_event = false;
 	enum pipe pipe;
 
@@ -515,12 +519,13 @@ void i915_pipestat_irq_handler(struct drm_i915_private *dev_priv,
 	}
 
 	if (blc_event || (iir & I915_ASLE_INTERRUPT))
-		intel_opregion_asle_intr(dev_priv);
+		intel_opregion_asle_intr(display);
 }
 
 void i965_pipestat_irq_handler(struct drm_i915_private *dev_priv,
 			       u32 iir, u32 pipe_stats[I915_MAX_PIPES])
 {
+	struct intel_display *display = &dev_priv->display;
 	bool blc_event = false;
 	enum pipe pipe;
 
@@ -539,7 +544,7 @@ void i965_pipestat_irq_handler(struct drm_i915_private *dev_priv,
 	}
 
 	if (blc_event || (iir & I915_ASLE_INTERRUPT))
-		intel_opregion_asle_intr(dev_priv);
+		intel_opregion_asle_intr(display);
 
 	if (pipe_stats[0] & PIPE_GMBUS_INTERRUPT_STATUS)
 		intel_gmbus_irq_handler(dev_priv);
@@ -695,6 +700,7 @@ static void cpt_irq_handler(struct drm_i915_private *dev_priv, u32 pch_iir)
 
 void ilk_display_irq_handler(struct drm_i915_private *dev_priv, u32 de_iir)
 {
+	struct intel_display *display = &dev_priv->display;
 	enum pipe pipe;
 	u32 hotplug_trigger = de_iir & DE_DP_A_HOTPLUG;
 
@@ -705,7 +711,7 @@ void ilk_display_irq_handler(struct drm_i915_private *dev_priv, u32 de_iir)
 		intel_dp_aux_irq_handler(dev_priv);
 
 	if (de_iir & DE_GSE)
-		intel_opregion_asle_intr(dev_priv);
+		intel_opregion_asle_intr(display);
 
 	if (de_iir & DE_POISON)
 		drm_err(&dev_priv->drm, "Poison interrupt\n");
@@ -743,6 +749,7 @@ void ilk_display_irq_handler(struct drm_i915_private *dev_priv, u32 de_iir)
 
 void ivb_display_irq_handler(struct drm_i915_private *dev_priv, u32 de_iir)
 {
+	struct intel_display *display = &dev_priv->display;
 	enum pipe pipe;
 	u32 hotplug_trigger = de_iir & DE_DP_A_HOTPLUG_IVB;
 
@@ -770,7 +777,7 @@ void ivb_display_irq_handler(struct drm_i915_private *dev_priv, u32 de_iir)
 		intel_dp_aux_irq_handler(dev_priv);
 
 	if (de_iir & DE_GSE_IVB)
-		intel_opregion_asle_intr(dev_priv);
+		intel_opregion_asle_intr(display);
 
 	for_each_pipe(dev_priv, pipe) {
 		if (de_iir & DE_PIPE_VBLANK_IVB(pipe))
@@ -894,6 +901,7 @@ static void intel_pmdemand_irq_handler(struct drm_i915_private *dev_priv)
 static void
 gen8_de_misc_irq_handler(struct drm_i915_private *dev_priv, u32 iir)
 {
+	struct intel_display *display = &dev_priv->display;
 	bool found = false;
 
 	if (DISPLAY_VER(dev_priv) >= 14) {
@@ -907,7 +915,7 @@ gen8_de_misc_irq_handler(struct drm_i915_private *dev_priv, u32 iir)
 			found = true;
 		}
 	} else if (iir & GEN8_DE_MISC_GSE) {
-		intel_opregion_asle_intr(dev_priv);
+		intel_opregion_asle_intr(display);
 		found = true;
 	}
 
@@ -1211,8 +1219,10 @@ u32 gen11_gu_misc_irq_ack(struct drm_i915_private *i915, const u32 master_ctl)
 
 void gen11_gu_misc_irq_handler(struct drm_i915_private *i915, const u32 iir)
 {
+	struct intel_display *display = &i915->display;
+
 	if (iir & GEN11_GU_MISC_GSE)
-		intel_opregion_asle_intr(i915);
+		intel_opregion_asle_intr(display);
 }
 
 void gen11_display_irq_handler(struct drm_i915_private *i915)
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 4c9b9e7ebc91..0cf6c0711dae 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -252,7 +252,7 @@ struct opregion_asle_ext {
 #define OPREGION_SIZE	(8 * 1024)
 
 struct intel_opregion {
-	struct drm_i915_private *i915;
+	struct intel_display *display;
 
 	struct opregion_header *header;
 	struct opregion_acpi *acpi;
@@ -268,9 +268,9 @@ struct intel_opregion {
 	struct notifier_block acpi_notifier;
 };
 
-static int check_swsci_function(struct drm_i915_private *i915, u32 function)
+static int check_swsci_function(struct intel_display *display, u32 function)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 	struct opregion_swsci *swsci;
 	u32 main_function, sub_function;
 
@@ -300,20 +300,20 @@ static int check_swsci_function(struct drm_i915_private *i915, u32 function)
 	return 0;
 }
 
-static int swsci(struct drm_i915_private *dev_priv,
+static int swsci(struct intel_display *display,
 		 u32 function, u32 parm, u32 *parm_out)
 {
 	struct opregion_swsci *swsci;
-	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
+	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
 	u32 scic, dslp;
 	u16 swsci_val;
 	int ret;
 
-	ret = check_swsci_function(dev_priv, function);
+	ret = check_swsci_function(display, function);
 	if (ret)
 		return ret;
 
-	swsci = dev_priv->display.opregion->swsci;
+	swsci = display->opregion->swsci;
 
 	/* Driver sleep timeout in ms. */
 	dslp = swsci->dslp;
@@ -331,7 +331,7 @@ static int swsci(struct drm_i915_private *dev_priv,
 	/* The spec tells us to do this, but we are the only user... */
 	scic = swsci->scic;
 	if (scic & SWSCI_SCIC_INDICATOR) {
-		drm_dbg(&dev_priv->drm, "SWSCI request already in progress\n");
+		drm_dbg(display->drm, "SWSCI request already in progress\n");
 		return -EBUSY;
 	}
 
@@ -355,7 +355,7 @@ static int swsci(struct drm_i915_private *dev_priv,
 	/* Poll for the result. */
 #define C (((scic = swsci->scic) & SWSCI_SCIC_INDICATOR) == 0)
 	if (wait_for(C, dslp)) {
-		drm_dbg(&dev_priv->drm, "SWSCI request timed out\n");
+		drm_dbg(display->drm, "SWSCI request timed out\n");
 		return -ETIMEDOUT;
 	}
 
@@ -364,7 +364,7 @@ static int swsci(struct drm_i915_private *dev_priv,
 
 	/* Note: scic == 0 is an error! */
 	if (scic != SWSCI_SCIC_EXIT_STATUS_SUCCESS) {
-		drm_dbg(&dev_priv->drm, "SWSCI request error %u\n", scic);
+		drm_dbg(display->drm, "SWSCI request error %u\n", scic);
 		return -EIO;
 	}
 
@@ -384,18 +384,18 @@ static int swsci(struct drm_i915_private *dev_priv,
 int intel_opregion_notify_encoder(struct intel_encoder *encoder,
 				  bool enable)
 {
-	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
+	struct intel_display *display = to_intel_display(encoder->base.dev);
 	u32 parm = 0;
 	u32 type = 0;
 	u32 port;
 	int ret;
 
 	/* don't care about old stuff for now */
-	if (!HAS_DDI(dev_priv))
+	if (!HAS_DDI(display))
 		return 0;
 
 	/* Avoid port out of bounds checks if SWSCI isn't there. */
-	ret = check_swsci_function(dev_priv, SWSCI_SBCB_DISPLAY_POWER_STATE);
+	ret = check_swsci_function(display, SWSCI_SBCB_DISPLAY_POWER_STATE);
 	if (ret)
 		return ret;
 
@@ -419,7 +419,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *encoder,
 	 * number is out of bounds after mapping.
 	 */
 	if (port > 4) {
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "[ENCODER:%d:%s] port %c (index %u) out of bounds for display power state notification\n",
 			    encoder->base.base.id, encoder->base.name,
 			    port_name(encoder->port), port);
@@ -444,7 +444,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *encoder,
 		type = DISPLAY_TYPE_INTERNAL_FLAT_PANEL;
 		break;
 	default:
-		drm_WARN_ONCE(&dev_priv->drm, 1,
+		drm_WARN_ONCE(display->drm, 1,
 			      "unsupported intel_encoder type %d\n",
 			      encoder->type);
 		return -EINVAL;
@@ -452,7 +452,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *encoder,
 
 	parm |= type << (16 + port * 3);
 
-	return swsci(dev_priv, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
+	return swsci(display, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
 }
 
 static const struct {
@@ -466,33 +466,33 @@ static const struct {
 	{ PCI_D3cold,	0x04 },
 };
 
-int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
+int intel_opregion_notify_adapter(struct intel_display *display,
 				  pci_power_t state)
 {
 	int i;
 
-	if (!HAS_DDI(dev_priv))
+	if (!HAS_DDI(display))
 		return 0;
 
 	for (i = 0; i < ARRAY_SIZE(power_state_map); i++) {
 		if (state == power_state_map[i].pci_power_state)
-			return swsci(dev_priv, SWSCI_SBCB_ADAPTER_POWER_STATE,
+			return swsci(display, SWSCI_SBCB_ADAPTER_POWER_STATE,
 				     power_state_map[i].parm, NULL);
 	}
 
 	return -EINVAL;
 }
 
-static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
+static u32 asle_set_backlight(struct intel_display *display, 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 = display->opregion->asle;
 
-	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
+	drm_dbg(display->drm, "bclp = 0x%08x\n", bclp);
 
 	if (acpi_video_get_backlight_type() == acpi_backlight_native) {
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "opregion backlight request ignored\n");
 		return 0;
 	}
@@ -504,104 +504,104 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
 	if (bclp > 255)
 		return ASLC_BACKLIGHT_FAILED;
 
-	drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
+	drm_modeset_lock(&display->drm->mode_config.connection_mutex, NULL);
 
 	/*
 	 * Update backlight on all connectors that support backlight (usually
 	 * only one).
 	 */
-	drm_dbg_kms(&dev_priv->drm, "updating opregion backlight %d/255\n",
+	drm_dbg_kms(display->drm, "updating opregion backlight %d/255\n",
 		    bclp);
-	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
+	drm_connector_list_iter_begin(display->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter)
 		intel_backlight_set_acpi(connector->base.state, bclp, 255);
 	drm_connector_list_iter_end(&conn_iter);
 	asle->cblv = DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID;
 
-	drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
+	drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
 
 
 	return 0;
 }
 
-static u32 asle_set_als_illum(struct drm_i915_private *dev_priv, u32 alsi)
+static u32 asle_set_als_illum(struct intel_display *display, u32 alsi)
 {
 	/* alsi is the current ALS reading in lux. 0 indicates below sensor
 	   range, 0xffff indicates above sensor range. 1-0xfffe are valid */
-	drm_dbg(&dev_priv->drm, "Illum is not supported\n");
+	drm_dbg(display->drm, "Illum is not supported\n");
 	return ASLC_ALS_ILLUM_FAILED;
 }
 
-static u32 asle_set_pwm_freq(struct drm_i915_private *dev_priv, u32 pfmb)
+static u32 asle_set_pwm_freq(struct intel_display *display, u32 pfmb)
 {
-	drm_dbg(&dev_priv->drm, "PWM freq is not supported\n");
+	drm_dbg(display->drm, "PWM freq is not supported\n");
 	return ASLC_PWM_FREQ_FAILED;
 }
 
-static u32 asle_set_pfit(struct drm_i915_private *dev_priv, u32 pfit)
+static u32 asle_set_pfit(struct intel_display *display, u32 pfit)
 {
 	/* Panel fitting is currently controlled by the X code, so this is a
 	   noop until modesetting support works fully */
-	drm_dbg(&dev_priv->drm, "Pfit is not supported\n");
+	drm_dbg(display->drm, "Pfit is not supported\n");
 	return ASLC_PFIT_FAILED;
 }
 
-static u32 asle_set_supported_rotation_angles(struct drm_i915_private *dev_priv, u32 srot)
+static u32 asle_set_supported_rotation_angles(struct intel_display *display, u32 srot)
 {
-	drm_dbg(&dev_priv->drm, "SROT is not supported\n");
+	drm_dbg(display->drm, "SROT is not supported\n");
 	return ASLC_ROTATION_ANGLES_FAILED;
 }
 
-static u32 asle_set_button_array(struct drm_i915_private *dev_priv, u32 iuer)
+static u32 asle_set_button_array(struct intel_display *display, u32 iuer)
 {
 	if (!iuer)
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Button array event is not supported (nothing)\n");
 	if (iuer & ASLE_IUER_ROTATION_LOCK_BTN)
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Button array event is not supported (rotation lock)\n");
 	if (iuer & ASLE_IUER_VOLUME_DOWN_BTN)
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Button array event is not supported (volume down)\n");
 	if (iuer & ASLE_IUER_VOLUME_UP_BTN)
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Button array event is not supported (volume up)\n");
 	if (iuer & ASLE_IUER_WINDOWS_BTN)
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Button array event is not supported (windows)\n");
 	if (iuer & ASLE_IUER_POWER_BTN)
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Button array event is not supported (power)\n");
 
 	return ASLC_BUTTON_ARRAY_FAILED;
 }
 
-static u32 asle_set_convertible(struct drm_i915_private *dev_priv, u32 iuer)
+static u32 asle_set_convertible(struct intel_display *display, u32 iuer)
 {
 	if (iuer & ASLE_IUER_CONVERTIBLE)
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Convertible is not supported (clamshell)\n");
 	else
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Convertible is not supported (slate)\n");
 
 	return ASLC_CONVERTIBLE_FAILED;
 }
 
-static u32 asle_set_docking(struct drm_i915_private *dev_priv, u32 iuer)
+static u32 asle_set_docking(struct intel_display *display, u32 iuer)
 {
 	if (iuer & ASLE_IUER_DOCKING)
-		drm_dbg(&dev_priv->drm, "Docking is not supported (docked)\n");
+		drm_dbg(display->drm, "Docking is not supported (docked)\n");
 	else
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"Docking is not supported (undocked)\n");
 
 	return ASLC_DOCKING_FAILED;
 }
 
-static u32 asle_isct_state(struct drm_i915_private *dev_priv)
+static u32 asle_isct_state(struct intel_display *display)
 {
-	drm_dbg(&dev_priv->drm, "ISCT is not supported\n");
+	drm_dbg(display->drm, "ISCT is not supported\n");
 	return ASLC_ISCT_STATE_FAILED;
 }
 
@@ -609,7 +609,7 @@ 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 = opregion->i915;
+	struct intel_display *display = opregion->display;
 	struct opregion_asle *asle = opregion->asle;
 	u32 aslc_stat = 0;
 	u32 aslc_req;
@@ -620,50 +620,51 @@ static void asle_work(struct work_struct *work)
 	aslc_req = asle->aslc;
 
 	if (!(aslc_req & ASLC_REQ_MSK)) {
-		drm_dbg(&dev_priv->drm,
+		drm_dbg(display->drm,
 			"No request on ASLC interrupt 0x%08x\n", aslc_req);
 		return;
 	}
 
 	if (aslc_req & ASLC_SET_ALS_ILLUM)
-		aslc_stat |= asle_set_als_illum(dev_priv, asle->alsi);
+		aslc_stat |= asle_set_als_illum(display, asle->alsi);
 
 	if (aslc_req & ASLC_SET_BACKLIGHT)
-		aslc_stat |= asle_set_backlight(dev_priv, asle->bclp);
+		aslc_stat |= asle_set_backlight(display, asle->bclp);
 
 	if (aslc_req & ASLC_SET_PFIT)
-		aslc_stat |= asle_set_pfit(dev_priv, asle->pfit);
+		aslc_stat |= asle_set_pfit(display, asle->pfit);
 
 	if (aslc_req & ASLC_SET_PWM_FREQ)
-		aslc_stat |= asle_set_pwm_freq(dev_priv, asle->pfmb);
+		aslc_stat |= asle_set_pwm_freq(display, asle->pfmb);
 
 	if (aslc_req & ASLC_SUPPORTED_ROTATION_ANGLES)
-		aslc_stat |= asle_set_supported_rotation_angles(dev_priv,
+		aslc_stat |= asle_set_supported_rotation_angles(display,
 							asle->srot);
 
 	if (aslc_req & ASLC_BUTTON_ARRAY)
-		aslc_stat |= asle_set_button_array(dev_priv, asle->iuer);
+		aslc_stat |= asle_set_button_array(display, asle->iuer);
 
 	if (aslc_req & ASLC_CONVERTIBLE_INDICATOR)
-		aslc_stat |= asle_set_convertible(dev_priv, asle->iuer);
+		aslc_stat |= asle_set_convertible(display, asle->iuer);
 
 	if (aslc_req & ASLC_DOCKING_INDICATOR)
-		aslc_stat |= asle_set_docking(dev_priv, asle->iuer);
+		aslc_stat |= asle_set_docking(display, asle->iuer);
 
 	if (aslc_req & ASLC_ISCT_STATE_CHANGE)
-		aslc_stat |= asle_isct_state(dev_priv);
+		aslc_stat |= asle_isct_state(display);
 
 	asle->aslc = aslc_stat;
 }
 
-bool intel_opregion_asle_present(struct drm_i915_private *i915)
+bool intel_opregion_asle_present(struct intel_display *display)
 {
-	return i915->display.opregion && i915->display.opregion->asle;
+	return display->opregion && display->opregion->asle;
 }
 
-void intel_opregion_asle_intr(struct drm_i915_private *i915)
+void intel_opregion_asle_intr(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct drm_i915_private *i915 = to_i915(display->drm);
+	struct intel_opregion *opregion = display->opregion;
 
 	if (opregion && opregion->asle)
 		queue_work(i915->unordered_wq, &opregion->asle_work);
@@ -720,9 +721,8 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)
 	}
 }
 
-static void intel_didl_outputs(struct drm_i915_private *dev_priv)
+static void intel_didl_outputs(struct intel_display *display)
 {
-	struct intel_display *display = &dev_priv->display;
 	struct intel_opregion *opregion = display->opregion;
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
@@ -740,7 +740,7 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
 
 	intel_acpi_device_id_update(display);
 
-	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
+	drm_connector_list_iter_begin(display->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
 		if (i < max_outputs)
 			set_did(opregion, i, connector->acpi_device_id);
@@ -748,10 +748,10 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
 	}
 	drm_connector_list_iter_end(&conn_iter);
 
-	drm_dbg_kms(&dev_priv->drm, "%d outputs detected\n", i);
+	drm_dbg_kms(display->drm, "%d outputs detected\n", i);
 
 	if (i > max_outputs)
-		drm_err(&dev_priv->drm,
+		drm_err(display->drm,
 			"More than %d outputs in connector list\n",
 			max_outputs);
 
@@ -760,9 +760,9 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
 		set_did(opregion, i, 0);
 }
 
-static void intel_setup_cadls(struct drm_i915_private *dev_priv)
+static void intel_setup_cadls(struct intel_display *display)
 {
-	struct intel_opregion *opregion = dev_priv->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	int i = 0;
@@ -777,7 +777,7 @@ static void intel_setup_cadls(struct drm_i915_private *dev_priv)
 	 * Note that internal panels should be at the front of the connector
 	 * list already, ensuring they're not left out.
 	 */
-	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
+	drm_connector_list_iter_begin(display->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
 		if (i >= ARRAY_SIZE(opregion->acpi->cadl))
 			break;
@@ -790,9 +790,9 @@ static void intel_setup_cadls(struct drm_i915_private *dev_priv)
 		opregion->acpi->cadl[i] = 0;
 }
 
-static void swsci_setup(struct drm_i915_private *dev_priv)
+static void swsci_setup(struct intel_display *display)
 {
-	struct intel_opregion *opregion = dev_priv->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 	bool requested_callbacks = false;
 	u32 tmp;
 
@@ -801,7 +801,7 @@ static void swsci_setup(struct drm_i915_private *dev_priv)
 	opregion->swsci_sbcb_sub_functions = 1;
 
 	/* We use GBDA to ask for supported GBDA calls. */
-	if (swsci(dev_priv, SWSCI_GBDA_SUPPORTED_CALLS, 0, &tmp) == 0) {
+	if (swsci(display, SWSCI_GBDA_SUPPORTED_CALLS, 0, &tmp) == 0) {
 		/* make the bits match the sub-function codes */
 		tmp <<= 1;
 		opregion->swsci_gbda_sub_functions |= tmp;
@@ -812,7 +812,7 @@ static void swsci_setup(struct drm_i915_private *dev_priv)
 	 * must not call interfaces that are not specifically requested by the
 	 * bios.
 	 */
-	if (swsci(dev_priv, SWSCI_GBDA_REQUESTED_CALLBACKS, 0, &tmp) == 0) {
+	if (swsci(display, SWSCI_GBDA_REQUESTED_CALLBACKS, 0, &tmp) == 0) {
 		/* here, the bits already match sub-function codes */
 		opregion->swsci_sbcb_sub_functions |= tmp;
 		requested_callbacks = true;
@@ -823,7 +823,7 @@ static void swsci_setup(struct drm_i915_private *dev_priv)
 	 * the callback is _requested_. But we still can't call interfaces that
 	 * are not requested.
 	 */
-	if (swsci(dev_priv, SWSCI_SBCB_SUPPORTED_CALLBACKS, 0, &tmp) == 0) {
+	if (swsci(display, SWSCI_SBCB_SUPPORTED_CALLBACKS, 0, &tmp) == 0) {
 		/* make the bits match the sub-function codes */
 		u32 low = tmp & 0x7ff;
 		u32 high = tmp & ~0xfff; /* bit 11 is reserved */
@@ -833,7 +833,7 @@ static void swsci_setup(struct drm_i915_private *dev_priv)
 		if (requested_callbacks) {
 			u32 req = opregion->swsci_sbcb_sub_functions;
 			if ((req & tmp) != req)
-				drm_dbg(&dev_priv->drm,
+				drm_dbg(display->drm,
 					"SWSCI BIOS requested (%08x) SBCB callbacks that are not supported (%08x)\n",
 					req, tmp);
 			/* XXX: for now, trust the requested callbacks */
@@ -843,7 +843,7 @@ static void swsci_setup(struct drm_i915_private *dev_priv)
 		}
 	}
 
-	drm_dbg(&dev_priv->drm,
+	drm_dbg(display->drm,
 		"SWSCI GBDA callbacks %08x, SBCB callbacks %08x\n",
 		opregion->swsci_gbda_sub_functions,
 		opregion->swsci_sbcb_sub_functions);
@@ -868,10 +868,11 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {
 	{ }
 };
 
-int intel_opregion_setup(struct drm_i915_private *dev_priv)
+int intel_opregion_setup(struct intel_display *display)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	struct intel_opregion *opregion;
-	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
+	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
 	u32 asls, mboxes;
 	char buf[sizeof(OPREGION_SIGNATURE)];
 	int err = 0;
@@ -886,10 +887,10 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 	BUILD_BUG_ON(sizeof(struct opregion_asle_ext) != 0x400);
 
 	pci_read_config_dword(pdev, ASLS, &asls);
-	drm_dbg(&dev_priv->drm, "graphic opregion physical addr: 0x%x\n",
+	drm_dbg(display->drm, "graphic opregion physical addr: 0x%x\n",
 		asls);
 	if (asls == 0) {
-		drm_dbg(&dev_priv->drm, "ACPI OpRegion not supported!\n");
+		drm_dbg(display->drm, "ACPI OpRegion not supported!\n");
 		return -ENOTSUPP;
 	}
 
@@ -897,8 +898,8 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 	if (!opregion)
 		return -ENOMEM;
 
-	opregion->i915 = dev_priv;
-	dev_priv->display.opregion = opregion;
+	opregion->display = display;
+	display->opregion = opregion;
 
 	INIT_WORK(&opregion->asle_work, asle_work);
 
@@ -911,20 +912,20 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 	memcpy(buf, base, sizeof(buf));
 
 	if (memcmp(buf, OPREGION_SIGNATURE, 16)) {
-		drm_dbg(&dev_priv->drm, "opregion signature mismatch\n");
+		drm_dbg(display->drm, "opregion signature mismatch\n");
 		err = -EINVAL;
 		goto err_out;
 	}
 	opregion->header = base;
 
-	drm_dbg(&dev_priv->drm, "ACPI OpRegion version %u.%u.%u\n",
+	drm_dbg(display->drm, "ACPI OpRegion version %u.%u.%u\n",
 		opregion->header->over.major,
 		opregion->header->over.minor,
 		opregion->header->over.revision);
 
 	mboxes = opregion->header->mboxes;
 	if (mboxes & MBOX_ACPI) {
-		drm_dbg(&dev_priv->drm, "Public ACPI methods supported\n");
+		drm_dbg(display->drm, "Public ACPI methods supported\n");
 		opregion->acpi = base + OPREGION_ACPI_OFFSET;
 		/*
 		 * Indicate we handle monitor hotplug events ourselves so we do
@@ -939,30 +940,30 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 		u8 major = opregion->header->over.major;
 
 		if (major >= 3) {
-			drm_err(&dev_priv->drm, "SWSCI Mailbox #2 present for opregion v3.x, ignoring\n");
+			drm_err(display->drm, "SWSCI Mailbox #2 present for opregion v3.x, ignoring\n");
 		} else {
 			if (major >= 2)
-				drm_dbg(&dev_priv->drm, "SWSCI Mailbox #2 present for opregion v2.x\n");
-			drm_dbg(&dev_priv->drm, "SWSCI supported\n");
+				drm_dbg(display->drm, "SWSCI Mailbox #2 present for opregion v2.x\n");
+			drm_dbg(display->drm, "SWSCI supported\n");
 			opregion->swsci = base + OPREGION_SWSCI_OFFSET;
-			swsci_setup(dev_priv);
+			swsci_setup(display);
 		}
 	}
 
 	if (mboxes & MBOX_ASLE) {
-		drm_dbg(&dev_priv->drm, "ASLE supported\n");
+		drm_dbg(display->drm, "ASLE supported\n");
 		opregion->asle = base + OPREGION_ASLE_OFFSET;
 
 		opregion->asle->ardy = ASLE_ARDY_NOT_READY;
 	}
 
 	if (mboxes & MBOX_ASLE_EXT) {
-		drm_dbg(&dev_priv->drm, "ASLE extension supported\n");
+		drm_dbg(display->drm, "ASLE extension supported\n");
 		opregion->asle_ext = base + OPREGION_ASLE_EXT_OFFSET;
 	}
 
 	if (mboxes & MBOX_BACKLIGHT) {
-		drm_dbg(&dev_priv->drm, "Mailbox #2 for backlight present\n");
+		drm_dbg(display->drm, "Mailbox #2 for backlight present\n");
 	}
 
 	if (dmi_check_system(intel_no_opregion_vbt))
@@ -980,7 +981,7 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 		 */
 		if (opregion->header->over.major > 2 ||
 		    opregion->header->over.minor >= 1) {
-			drm_WARN_ON(&dev_priv->drm, rvda < OPREGION_SIZE);
+			drm_WARN_ON(display->drm, rvda < OPREGION_SIZE);
 
 			rvda += asls;
 		}
@@ -990,14 +991,14 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 
 		vbt = opregion->rvda;
 		vbt_size = opregion->asle->rvds;
-		if (intel_bios_is_valid_vbt(dev_priv, vbt, vbt_size)) {
-			drm_dbg_kms(&dev_priv->drm,
+		if (intel_bios_is_valid_vbt(i915, vbt, vbt_size)) {
+			drm_dbg_kms(display->drm,
 				    "Found valid VBT in ACPI OpRegion (RVDA)\n");
 			opregion->vbt = vbt;
 			opregion->vbt_size = vbt_size;
 			goto out;
 		} else {
-			drm_dbg_kms(&dev_priv->drm,
+			drm_dbg_kms(display->drm,
 				    "Invalid VBT in ACPI OpRegion (RVDA)\n");
 			memunmap(opregion->rvda);
 			opregion->rvda = NULL;
@@ -1015,13 +1016,13 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 	vbt_size = (mboxes & MBOX_ASLE_EXT) ?
 		OPREGION_ASLE_EXT_OFFSET : OPREGION_SIZE;
 	vbt_size -= OPREGION_VBT_OFFSET;
-	if (intel_bios_is_valid_vbt(dev_priv, vbt, vbt_size)) {
-		drm_dbg_kms(&dev_priv->drm,
+	if (intel_bios_is_valid_vbt(i915, vbt, vbt_size)) {
+		drm_dbg_kms(display->drm,
 			    "Found valid VBT in ACPI OpRegion (Mailbox #4)\n");
 		opregion->vbt = vbt;
 		opregion->vbt_size = vbt_size;
 	} else {
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "Invalid VBT in ACPI OpRegion (Mailbox #4)\n");
 	}
 
@@ -1032,7 +1033,7 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
 	memunmap(base);
 err_memremap:
 	kfree(opregion);
-	dev_priv->display.opregion = NULL;
+	display->opregion = NULL;
 
 	return err;
 }
@@ -1055,25 +1056,25 @@ static const struct dmi_system_id intel_use_opregion_panel_type[] = {
 };
 
 int
-intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
+intel_opregion_get_panel_type(struct intel_display *display)
 {
 	u32 panel_details;
 	int ret;
 
-	ret = swsci(dev_priv, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
+	ret = swsci(display, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
 	if (ret)
 		return ret;
 
 	ret = (panel_details >> 8) & 0xff;
 	if (ret > 0x10) {
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "Invalid OpRegion panel type 0x%x\n", ret);
 		return -EINVAL;
 	}
 
 	/* fall back to VBT panel type? */
 	if (ret == 0x0) {
-		drm_dbg_kms(&dev_priv->drm, "No panel type in OpRegion\n");
+		drm_dbg_kms(display->drm, "No panel type in OpRegion\n");
 		return -ENODEV;
 	}
 
@@ -1083,7 +1084,7 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
 	 * via a quirk list :(
 	 */
 	if (!dmi_check_system(intel_use_opregion_panel_type)) {
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "Ignoring OpRegion panel type (%d)\n", ret - 1);
 		return -ENODEV;
 	}
@@ -1104,8 +1105,8 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
  */
 const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector)
 {
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_display *display = to_intel_display(connector->base.dev);
+	struct intel_opregion *opregion = display->opregion;
 	const struct drm_edid *drm_edid;
 	const void *edid;
 	int len;
@@ -1123,7 +1124,7 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector
 	drm_edid = drm_edid_alloc(edid, len);
 
 	if (!drm_edid_valid(drm_edid)) {
-		drm_dbg_kms(&i915->drm, "Invalid EDID in ACPI OpRegion (Mailbox #5)\n");
+		drm_dbg_kms(display->drm, "Invalid EDID in ACPI OpRegion (Mailbox #5)\n");
 		drm_edid_free(drm_edid);
 		drm_edid = NULL;
 	}
@@ -1131,9 +1132,9 @@ const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector
 	return drm_edid;
 }
 
-bool intel_opregion_vbt_present(struct drm_i915_private *i915)
+bool intel_opregion_vbt_present(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (!opregion || !opregion->vbt)
 		return false;
@@ -1141,9 +1142,9 @@ bool intel_opregion_vbt_present(struct drm_i915_private *i915)
 	return true;
 }
 
-const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
+const void *intel_opregion_get_vbt(struct intel_display *display, size_t *size)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (!opregion || !opregion->vbt)
 		return NULL;
@@ -1154,9 +1155,9 @@ const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
 	return kmemdup(opregion->vbt, opregion->vbt_size, GFP_KERNEL);
 }
 
-bool intel_opregion_headless_sku(struct drm_i915_private *i915)
+bool intel_opregion_headless_sku(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 	struct opregion_header *header;
 
 	if (!opregion)
@@ -1171,9 +1172,9 @@ bool intel_opregion_headless_sku(struct drm_i915_private *i915)
 	return opregion->header->pcon & PCON_HEADLESS_SKU;
 }
 
-void intel_opregion_register(struct drm_i915_private *i915)
+void intel_opregion_register(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (!opregion)
 		return;
@@ -1184,17 +1185,16 @@ void intel_opregion_register(struct drm_i915_private *i915)
 		register_acpi_notifier(&opregion->acpi_notifier);
 	}
 
-	intel_opregion_resume(i915);
+	intel_opregion_resume(display);
 }
 
-static void intel_opregion_resume_display(struct drm_i915_private *i915)
+static void intel_opregion_resume_display(struct intel_display *display)
 {
-	struct intel_display *display = &i915->display;
 	struct intel_opregion *opregion = display->opregion;
 
 	if (opregion->acpi) {
-		intel_didl_outputs(i915);
-		intel_setup_cadls(i915);
+		intel_didl_outputs(display);
+		intel_setup_cadls(display);
 
 		/*
 		 * Notify BIOS we are ready to handle ACPI video ext notifs.
@@ -1214,22 +1214,22 @@ static void intel_opregion_resume_display(struct drm_i915_private *i915)
 	intel_dsm_get_bios_data_funcs_supported(display);
 }
 
-void intel_opregion_resume(struct drm_i915_private *i915)
+void intel_opregion_resume(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (!opregion)
 		return;
 
-	if (HAS_DISPLAY(i915))
-		intel_opregion_resume_display(i915);
+	if (HAS_DISPLAY(display))
+		intel_opregion_resume_display(display);
 
-	intel_opregion_notify_adapter(i915, PCI_D0);
+	intel_opregion_notify_adapter(display, PCI_D0);
 }
 
-static void intel_opregion_suspend_display(struct drm_i915_private *i915)
+static void intel_opregion_suspend_display(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (opregion->asle)
 		opregion->asle->ardy = ASLE_ARDY_NOT_READY;
@@ -1240,24 +1240,24 @@ static void intel_opregion_suspend_display(struct drm_i915_private *i915)
 		opregion->acpi->drdy = 0;
 }
 
-void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)
+void intel_opregion_suspend(struct intel_display *display, pci_power_t state)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (!opregion)
 		return;
 
-	intel_opregion_notify_adapter(i915, state);
+	intel_opregion_notify_adapter(display, state);
 
-	if (HAS_DISPLAY(i915))
-		intel_opregion_suspend_display(i915);
+	if (HAS_DISPLAY(display))
+		intel_opregion_suspend_display(display);
 }
 
-void intel_opregion_unregister(struct drm_i915_private *i915)
+void intel_opregion_unregister(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
-	intel_opregion_suspend(i915, PCI_D1);
+	intel_opregion_suspend(display, PCI_D1);
 
 	if (!opregion)
 		return;
@@ -1268,9 +1268,9 @@ void intel_opregion_unregister(struct drm_i915_private *i915)
 	}
 }
 
-void intel_opregion_cleanup(struct drm_i915_private *i915)
+void intel_opregion_cleanup(struct intel_display *display)
 {
-	struct intel_opregion *opregion = i915->display.opregion;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (!opregion)
 		return;
@@ -1279,13 +1279,13 @@ void intel_opregion_cleanup(struct drm_i915_private *i915)
 	if (opregion->rvda)
 		memunmap(opregion->rvda);
 	kfree(opregion);
-	i915->display.opregion = NULL;
+	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_display *display = m->private;
+	struct intel_opregion *opregion = display->opregion;
 
 	if (opregion)
 		seq_write(m, opregion->header, OPREGION_SIZE);
@@ -1295,10 +1295,10 @@ static int intel_opregion_show(struct seq_file *m, void *unused)
 
 DEFINE_SHOW_ATTRIBUTE(intel_opregion);
 
-void intel_opregion_debugfs_register(struct drm_i915_private *i915)
+void intel_opregion_debugfs_register(struct intel_display *display)
 {
-	struct drm_minor *minor = i915->drm.primary;
+	struct drm_minor *minor = display->drm->primary;
 
 	debugfs_create_file("i915_opregion", 0444, minor->debugfs_root,
-			    i915, &intel_opregion_fops);
+			    display, &intel_opregion_fops);
 }
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
index 4dcd13c672e4..528e64b6e5b1 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.h
+++ b/drivers/gpu/drm/i915/display/intel_opregion.h
@@ -28,72 +28,72 @@
 #include <linux/pci.h>
 #include <linux/types.h>
 
-struct drm_i915_private;
 struct intel_connector;
+struct intel_display;
 struct intel_encoder;
 
 #ifdef CONFIG_ACPI
 
-int intel_opregion_setup(struct drm_i915_private *dev_priv);
-void intel_opregion_cleanup(struct drm_i915_private *i915);
+int intel_opregion_setup(struct intel_display *display);
+void intel_opregion_cleanup(struct intel_display *display);
 
-void intel_opregion_register(struct drm_i915_private *dev_priv);
-void intel_opregion_unregister(struct drm_i915_private *dev_priv);
+void intel_opregion_register(struct intel_display *display);
+void intel_opregion_unregister(struct intel_display *display);
 
-void intel_opregion_resume(struct drm_i915_private *dev_priv);
-void intel_opregion_suspend(struct drm_i915_private *dev_priv,
+void intel_opregion_resume(struct intel_display *display);
+void intel_opregion_suspend(struct intel_display *display,
 			    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);
+bool intel_opregion_asle_present(struct intel_display *display);
+void intel_opregion_asle_intr(struct intel_display *display);
 int intel_opregion_notify_encoder(struct intel_encoder *encoder,
 				  bool enable);
-int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
+int intel_opregion_notify_adapter(struct intel_display *display,
 				  pci_power_t state);
-int intel_opregion_get_panel_type(struct drm_i915_private *dev_priv);
+int intel_opregion_get_panel_type(struct intel_display *display);
 const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector);
 
-bool intel_opregion_vbt_present(struct drm_i915_private *i915);
-const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size);
+bool intel_opregion_vbt_present(struct intel_display *display);
+const void *intel_opregion_get_vbt(struct intel_display *display, size_t *size);
 
-bool intel_opregion_headless_sku(struct drm_i915_private *i915);
+bool intel_opregion_headless_sku(struct intel_display *display);
 
-void intel_opregion_debugfs_register(struct drm_i915_private *i915);
+void intel_opregion_debugfs_register(struct intel_display *display);
 
 #else /* CONFIG_ACPI*/
 
-static inline int intel_opregion_setup(struct drm_i915_private *dev_priv)
+static inline int intel_opregion_setup(struct intel_display *display)
 {
 	return 0;
 }
 
-static inline void intel_opregion_cleanup(struct drm_i915_private *i915)
+static inline void intel_opregion_cleanup(struct intel_display *display)
 {
 }
 
-static inline void intel_opregion_register(struct drm_i915_private *dev_priv)
+static inline void intel_opregion_register(struct intel_display *display)
 {
 }
 
-static inline void intel_opregion_unregister(struct drm_i915_private *dev_priv)
+static inline void intel_opregion_unregister(struct intel_display *display)
 {
 }
 
-static inline void intel_opregion_resume(struct drm_i915_private *dev_priv)
+static inline void intel_opregion_resume(struct intel_display *display)
 {
 }
 
-static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
+static inline void intel_opregion_suspend(struct intel_display *display,
 					  pci_power_t state)
 {
 }
 
-static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
+static inline bool intel_opregion_asle_present(struct intel_display *display)
 {
 	return false;
 }
 
-static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
+static inline void intel_opregion_asle_intr(struct intel_display *display)
 {
 }
 
@@ -120,23 +120,23 @@ intel_opregion_get_edid(struct intel_connector *connector)
 	return NULL;
 }
 
-static inline bool intel_opregion_vbt_present(struct drm_i915_private *i915)
+static inline bool intel_opregion_vbt_present(struct intel_display *display)
 {
 	return false;
 }
 
 static inline const void *
-intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
+intel_opregion_get_vbt(struct intel_display *display, size_t *size)
 {
 	return NULL;
 }
 
-static inline bool intel_opregion_headless_sku(struct drm_i915_private *i915)
+static inline bool intel_opregion_headless_sku(struct intel_display *display)
 {
 	return false;
 }
 
-static inline void intel_opregion_debugfs_register(struct drm_i915_private *i915)
+static inline void intel_opregion_debugfs_register(struct intel_display *display)
 {
 }
 
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index fb8e9c2fcea5..b8fbb428087e 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -442,6 +442,7 @@ static int i915_pcode_init(struct drm_i915_private *i915)
  */
 static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
 {
+	struct intel_display *display = &dev_priv->display;
 	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 	int ret;
 
@@ -542,7 +543,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
 	if (ret)
 		goto err_msi;
 
-	intel_opregion_setup(dev_priv);
+	intel_opregion_setup(display);
 
 	ret = i915_pcode_init(dev_priv);
 	if (ret)
@@ -559,7 +560,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
 	return 0;
 
 err_opregion:
-	intel_opregion_cleanup(dev_priv);
+	intel_opregion_cleanup(display);
 err_msi:
 	if (pdev->msi_enabled)
 		pci_disable_msi(pdev);
@@ -580,11 +581,12 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
  */
 static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
 {
+	struct intel_display *display = &dev_priv->display;
 	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 
 	i915_perf_fini(dev_priv);
 
-	intel_opregion_cleanup(dev_priv);
+	intel_opregion_cleanup(display);
 
 	if (pdev->msi_enabled)
 		pci_disable_msi(pdev);
@@ -1014,6 +1016,7 @@ static int i915_drm_prepare(struct drm_device *dev)
 static int i915_drm_suspend(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = to_i915(dev);
+	struct intel_display *display = &dev_priv->display;
 	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 	pci_power_t opregion_target_state;
 
@@ -1049,7 +1052,7 @@ static int i915_drm_suspend(struct drm_device *dev)
 	i915_save_display(dev_priv);
 
 	opregion_target_state = suspend_to_idle(dev_priv) ? PCI_D1 : PCI_D3cold;
-	intel_opregion_suspend(dev_priv, opregion_target_state);
+	intel_opregion_suspend(display, opregion_target_state);
 
 	dev_priv->suspend_count++;
 
@@ -1138,6 +1141,7 @@ int i915_driver_suspend_switcheroo(struct drm_i915_private *i915,
 static int i915_drm_resume(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = to_i915(dev);
+	struct intel_display *display = &dev_priv->display;
 	struct intel_gt *gt;
 	int ret, i;
 
@@ -1205,7 +1209,7 @@ static int i915_drm_resume(struct drm_device *dev)
 	}
 	intel_hpd_poll_disable(dev_priv);
 
-	intel_opregion_resume(dev_priv);
+	intel_opregion_resume(display);
 
 	intel_fbdev_set_suspend(dev, FBINFO_STATE_RUNNING, false);
 
@@ -1454,6 +1458,7 @@ static int i915_pm_restore(struct device *kdev)
 static int intel_runtime_suspend(struct device *kdev)
 {
 	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
+	struct intel_display *display = &dev_priv->display;
 	struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
 	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 	struct pci_dev *root_pdev;
@@ -1528,7 +1533,7 @@ static int intel_runtime_suspend(struct device *kdev)
 		 * won't be able to restore them. Since PCI_D3hot matches the
 		 * actual specification and appears to be working, use it.
 		 */
-		intel_opregion_notify_adapter(dev_priv, PCI_D3hot);
+		intel_opregion_notify_adapter(display, PCI_D3hot);
 	} else {
 		/*
 		 * current versions of firmware which depend on this opregion
@@ -1537,7 +1542,7 @@ static int intel_runtime_suspend(struct device *kdev)
 		 * to distinguish it from notifications that might be sent via
 		 * the suspend path.
 		 */
-		intel_opregion_notify_adapter(dev_priv, PCI_D1);
+		intel_opregion_notify_adapter(display, PCI_D1);
 	}
 
 	assert_forcewakes_inactive(&dev_priv->uncore);
@@ -1552,6 +1557,7 @@ static int intel_runtime_suspend(struct device *kdev)
 static int intel_runtime_resume(struct device *kdev)
 {
 	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
+	struct intel_display *display = &dev_priv->display;
 	struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
 	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 	struct pci_dev *root_pdev;
@@ -1566,7 +1572,7 @@ static int intel_runtime_resume(struct device *kdev)
 	drm_WARN_ON_ONCE(&dev_priv->drm, atomic_read(&rpm->wakeref_count));
 	disable_rpm_wakeref_asserts(rpm);
 
-	intel_opregion_notify_adapter(dev_priv, PCI_D0);
+	intel_opregion_notify_adapter(display, PCI_D0);
 
 	root_pdev = pcie_find_root_port(pdev);
 	if (root_pdev)
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index ca4468c82078..0e4adde84cb2 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -127,16 +127,18 @@ int xe_display_init_nommio(struct xe_device *xe)
 static void xe_display_fini_noirq(void *arg)
 {
 	struct xe_device *xe = arg;
+	struct intel_display *display = &xe->display;
 
 	if (!xe->info.enable_display)
 		return;
 
 	intel_display_driver_remove_noirq(xe);
-	intel_opregion_cleanup(xe);
+	intel_opregion_cleanup(display);
 }
 
 int xe_display_init_noirq(struct xe_device *xe)
 {
+	struct intel_display *display = &xe->display;
 	int err;
 
 	if (!xe->info.enable_display)
@@ -145,7 +147,7 @@ int xe_display_init_noirq(struct xe_device *xe)
 	intel_display_driver_early_probe(xe);
 
 	/* Early display init.. */
-	intel_opregion_setup(xe);
+	intel_opregion_setup(display);
 
 	/*
 	 * Fill the dram structure to get the system dram info. This will be
@@ -159,7 +161,7 @@ int xe_display_init_noirq(struct xe_device *xe)
 
 	err = intel_display_driver_probe_noirq(xe);
 	if (err) {
-		intel_opregion_cleanup(xe);
+		intel_opregion_cleanup(display);
 		return err;
 	}
 
@@ -250,11 +252,13 @@ void xe_display_irq_handler(struct xe_device *xe, u32 master_ctl)
 
 void xe_display_irq_enable(struct xe_device *xe, u32 gu_misc_iir)
 {
+	struct intel_display *display = &xe->display;
+
 	if (!xe->info.enable_display)
 		return;
 
 	if (gu_misc_iir & GU_MISC_GSE)
-		intel_opregion_asle_intr(xe);
+		intel_opregion_asle_intr(display);
 }
 
 void xe_display_irq_reset(struct xe_device *xe)
@@ -285,6 +289,7 @@ static bool suspend_to_idle(void)
 
 void xe_display_pm_suspend(struct xe_device *xe, bool runtime)
 {
+	struct intel_display *display = &xe->display;
 	bool s2idle = suspend_to_idle();
 	if (!xe->info.enable_display)
 		return;
@@ -306,7 +311,7 @@ void xe_display_pm_suspend(struct xe_device *xe, bool runtime)
 
 	intel_encoder_suspend_all(&xe->display);
 
-	intel_opregion_suspend(xe, s2idle ? PCI_D1 : PCI_D3cold);
+	intel_opregion_suspend(display, s2idle ? PCI_D1 : PCI_D3cold);
 
 	intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_SUSPENDED, true);
 
@@ -336,6 +341,8 @@ void xe_display_pm_resume_early(struct xe_device *xe)
 
 void xe_display_pm_resume(struct xe_device *xe, bool runtime)
 {
+	struct intel_display *display = &xe->display;
+
 	if (!xe->info.enable_display)
 		return;
 
@@ -356,7 +363,7 @@ void xe_display_pm_resume(struct xe_device *xe, bool runtime)
 	if (has_display(xe))
 		drm_kms_helper_poll_enable(&xe->drm);
 
-	intel_opregion_resume(xe);
+	intel_opregion_resume(display);
 
 	intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_RUNNING, false);
 
-- 
2.39.2


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

* [PATCH 4/4] drm/i915/bios: convert to struct intel_display
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (2 preceding siblings ...)
  2024-07-31 16:44 ` [PATCH 3/4] drm/i915/opregion: convert to struct intel_display Jani Nikula
@ 2024-07-31 16:44 ` Jani Nikula
  2024-08-06 15:23   ` Imre Deak
  2024-07-31 17:38 ` ✓ CI.Patch_applied: success for drm/i915: struct intel_display conversions Patchwork
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Jani Nikula @ 2024-07-31 16:44 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula

Going forward, struct intel_display shall replace struct
drm_i915_private as the main display device data pointer type. Convert
intel_bios.[ch] to struct intel_display.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/g4x_dp.c         |   3 +-
 drivers/gpu/drm/i915/display/g4x_hdmi.c       |   3 +-
 drivers/gpu/drm/i915/display/icl_dsi.c        |   3 +-
 drivers/gpu/drm/i915/display/intel_bios.c     | 844 +++++++++---------
 drivers/gpu/drm/i915/display/intel_bios.h     |  28 +-
 .../gpu/drm/i915/display/intel_combo_phy.c    |   8 +-
 drivers/gpu/drm/i915/display/intel_ddi.c      |   3 +-
 drivers/gpu/drm/i915/display/intel_ddi.h      |   3 +-
 drivers/gpu/drm/i915/display/intel_display.c  |   9 +-
 .../drm/i915/display/intel_display_debugfs.c  |   2 +-
 .../drm/i915/display/intel_display_driver.c   |   8 +-
 .../gpu/drm/i915/display/intel_display_irq.c  |   3 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |   8 +-
 drivers/gpu/drm/i915/display/intel_lvds.c     |   5 +-
 drivers/gpu/drm/i915/display/intel_opregion.c |   5 +-
 drivers/gpu/drm/i915/display/intel_sdvo.c     |   3 +-
 drivers/gpu/drm/i915/display/intel_tv.c       |   3 +-
 drivers/gpu/drm/i915/display/vlv_dsi.c        |   5 +-
 18 files changed, 495 insertions(+), 451 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c
index a8e746a0f670..c2128b46bdbd 100644
--- a/drivers/gpu/drm/i915/display/g4x_dp.c
+++ b/drivers/gpu/drm/i915/display/g4x_dp.c
@@ -1279,6 +1279,7 @@ static const struct drm_encoder_funcs intel_dp_enc_funcs = {
 bool g4x_dp_init(struct drm_i915_private *dev_priv,
 		 i915_reg_t output_reg, enum port port)
 {
+	struct intel_display *display = &dev_priv->display;
 	const struct intel_bios_encoder_data *devdata;
 	struct intel_digital_port *dig_port;
 	struct intel_encoder *intel_encoder;
@@ -1288,7 +1289,7 @@ bool g4x_dp_init(struct drm_i915_private *dev_priv,
 	if (!assert_port_valid(dev_priv, port))
 		return false;
 
-	devdata = intel_bios_encoder_data_lookup(dev_priv, port);
+	devdata = intel_bios_encoder_data_lookup(display, port);
 
 	/* FIXME bail? */
 	if (!devdata)
diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c b/drivers/gpu/drm/i915/display/g4x_hdmi.c
index 8096492b3fad..46f23bdb4c17 100644
--- a/drivers/gpu/drm/i915/display/g4x_hdmi.c
+++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c
@@ -686,6 +686,7 @@ static bool assert_hdmi_port_valid(struct drm_i915_private *i915, enum port port
 void g4x_hdmi_init(struct drm_i915_private *dev_priv,
 		   i915_reg_t hdmi_reg, enum port port)
 {
+	struct intel_display *display = &dev_priv->display;
 	const struct intel_bios_encoder_data *devdata;
 	struct intel_digital_port *dig_port;
 	struct intel_encoder *intel_encoder;
@@ -697,7 +698,7 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
 	if (!assert_hdmi_port_valid(dev_priv, port))
 		return;
 
-	devdata = intel_bios_encoder_data_lookup(dev_priv, port);
+	devdata = intel_bios_encoder_data_lookup(display, port);
 
 	/* FIXME bail? */
 	if (!devdata)
diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
index ae8f6617aa70..382242e3ced4 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.c
+++ b/drivers/gpu/drm/i915/display/icl_dsi.c
@@ -1944,6 +1944,7 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
 void icl_dsi_init(struct drm_i915_private *dev_priv,
 		  const struct intel_bios_encoder_data *devdata)
 {
+	struct intel_display *display = &dev_priv->display;
 	struct intel_dsi *intel_dsi;
 	struct intel_encoder *encoder;
 	struct intel_connector *intel_connector;
@@ -2007,7 +2008,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv,
 
 	intel_dsi->panel_power_off_time = ktime_get_boottime();
 
-	intel_bios_init_panel_late(dev_priv, &intel_connector->panel, encoder->devdata, NULL);
+	intel_bios_init_panel_late(display, &intel_connector->panel, encoder->devdata, NULL);
 
 	mutex_lock(&dev_priv->drm.mode_config.mutex);
 	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 2978b1eea73c..7e4006f0b4cb 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -65,7 +65,7 @@
 
 /* Wrapper for VBT child device config */
 struct intel_bios_encoder_data {
-	struct drm_i915_private *i915;
+	struct intel_display *display;
 
 	struct child_device_config child;
 	struct dsc_compression_parameters_entry *dsc;
@@ -144,12 +144,12 @@ struct bdb_block_entry {
 };
 
 static const void *
-bdb_find_section(struct drm_i915_private *i915,
+bdb_find_section(struct intel_display *display,
 		 enum bdb_block_id section_id)
 {
 	struct bdb_block_entry *entry;
 
-	list_for_each_entry(entry, &i915->display.vbt.bdb_blocks, node) {
+	list_for_each_entry(entry, &display->vbt.bdb_blocks, node) {
 		if (entry->section_id == section_id)
 			return entry->data + 3;
 	}
@@ -199,12 +199,12 @@ static const struct {
 	  .min_size = sizeof(struct bdb_generic_dtd), },
 };
 
-static size_t lfp_data_min_size(struct drm_i915_private *i915)
+static size_t lfp_data_min_size(struct intel_display *display)
 {
 	const struct bdb_lfp_data_ptrs *ptrs;
 	size_t size;
 
-	ptrs = bdb_find_section(i915, BDB_LFP_DATA_PTRS);
+	ptrs = bdb_find_section(display, BDB_LFP_DATA_PTRS);
 	if (!ptrs)
 		return 0;
 
@@ -359,7 +359,7 @@ static void next_lfp_data_ptr(struct lfp_data_ptr_table *next,
 	next->offset = prev->offset + size;
 }
 
-static void *generate_lfp_data_ptrs(struct drm_i915_private *i915,
+static void *generate_lfp_data_ptrs(struct intel_display *display,
 				    const void *bdb)
 {
 	int i, size, table_size, block_size, offset, fp_timing_size;
@@ -373,7 +373,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915,
 	 * include block 41 and thus we don't need to
 	 * generate one.
 	 */
-	if (i915->display.vbt.version < 155)
+	if (display->vbt.version < 155)
 		return NULL;
 
 	fp_timing_size = 38;
@@ -382,7 +382,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915,
 	if (!block)
 		return NULL;
 
-	drm_dbg_kms(&i915->drm, "Generating LFP data table pointers\n");
+	drm_dbg_kms(display->drm, "Generating LFP data table pointers\n");
 
 	block_size = get_blocksize(block);
 
@@ -450,7 +450,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915,
 }
 
 static void
-init_bdb_block(struct drm_i915_private *i915,
+init_bdb_block(struct intel_display *display,
 	       const void *bdb, enum bdb_block_id section_id,
 	       size_t min_size)
 {
@@ -463,14 +463,14 @@ init_bdb_block(struct drm_i915_private *i915,
 
 	/* Modern VBTs lack the LFP data table pointers block, make one up */
 	if (!block && section_id == BDB_LFP_DATA_PTRS) {
-		temp_block = generate_lfp_data_ptrs(i915, bdb);
+		temp_block = generate_lfp_data_ptrs(display, bdb);
 		if (temp_block)
 			block = temp_block + 3;
 	}
 	if (!block)
 		return;
 
-	drm_WARN(&i915->drm, min_size == 0,
+	drm_WARN(display->drm, min_size == 0,
 		 "Block %d min_size is zero\n", section_id);
 
 	block_size = get_blocksize(block);
@@ -494,20 +494,22 @@ init_bdb_block(struct drm_i915_private *i915,
 
 	kfree(temp_block);
 
-	drm_dbg_kms(&i915->drm, "Found BDB block %d (size %zu, min size %zu)\n",
+	drm_dbg_kms(display->drm,
+		    "Found BDB block %d (size %zu, min size %zu)\n",
 		    section_id, block_size, min_size);
 
 	if (section_id == BDB_LFP_DATA_PTRS &&
 	    !fixup_lfp_data_ptrs(bdb, entry->data + 3)) {
-		drm_err(&i915->drm, "VBT has malformed LFP data table pointers\n");
+		drm_err(display->drm,
+			"VBT has malformed LFP data table pointers\n");
 		kfree(entry);
 		return;
 	}
 
-	list_add_tail(&entry->node, &i915->display.vbt.bdb_blocks);
+	list_add_tail(&entry->node, &display->vbt.bdb_blocks);
 }
 
-static void init_bdb_blocks(struct drm_i915_private *i915,
+static void init_bdb_blocks(struct intel_display *display,
 			    const void *bdb)
 {
 	int i;
@@ -517,14 +519,14 @@ static void init_bdb_blocks(struct drm_i915_private *i915,
 		size_t min_size = bdb_blocks[i].min_size;
 
 		if (section_id == BDB_LFP_DATA)
-			min_size = lfp_data_min_size(i915);
+			min_size = lfp_data_min_size(display);
 
-		init_bdb_block(i915, bdb, section_id, min_size);
+		init_bdb_block(display, bdb, section_id, min_size);
 	}
 }
 
 static void
-fill_detail_timing_data(struct drm_i915_private *i915,
+fill_detail_timing_data(struct intel_display *display,
 			struct drm_display_mode *panel_fixed_mode,
 			const struct bdb_edid_dtd *dvo_timing)
 {
@@ -567,12 +569,12 @@ fill_detail_timing_data(struct drm_i915_private *i915,
 
 	/* Some VBTs have bogus h/vsync_end values */
 	if (panel_fixed_mode->hsync_end > panel_fixed_mode->htotal) {
-		drm_dbg_kms(&i915->drm, "reducing hsync_end %d->%d\n",
+		drm_dbg_kms(display->drm, "reducing hsync_end %d->%d\n",
 			    panel_fixed_mode->hsync_end, panel_fixed_mode->htotal);
 		panel_fixed_mode->hsync_end = panel_fixed_mode->htotal;
 	}
 	if (panel_fixed_mode->vsync_end > panel_fixed_mode->vtotal) {
-		drm_dbg_kms(&i915->drm, "reducing vsync_end %d->%d\n",
+		drm_dbg_kms(display->drm, "reducing vsync_end %d->%d\n",
 			    panel_fixed_mode->vsync_end, panel_fixed_mode->vtotal);
 		panel_fixed_mode->vsync_end = panel_fixed_mode->vtotal;
 	}
@@ -617,28 +619,26 @@ get_lfp_data_tail(const struct bdb_lfp_data *data,
 		return NULL;
 }
 
-static int opregion_get_panel_type(struct drm_i915_private *i915,
+static int opregion_get_panel_type(struct intel_display *display,
 				   const struct intel_bios_encoder_data *devdata,
 				   const struct drm_edid *drm_edid, bool use_fallback)
 {
-	struct intel_display *display = &i915->display;
-
 	return intel_opregion_get_panel_type(display);
 }
 
-static int vbt_get_panel_type(struct drm_i915_private *i915,
+static int vbt_get_panel_type(struct intel_display *display,
 			      const struct intel_bios_encoder_data *devdata,
 			      const struct drm_edid *drm_edid, bool use_fallback)
 {
 	const struct bdb_lfp_options *lfp_options;
 
-	lfp_options = bdb_find_section(i915, BDB_LFP_OPTIONS);
+	lfp_options = bdb_find_section(display, BDB_LFP_OPTIONS);
 	if (!lfp_options)
 		return -1;
 
 	if (lfp_options->panel_type > 0xf &&
 	    lfp_options->panel_type != 0xff) {
-		drm_dbg_kms(&i915->drm, "Invalid VBT panel type 0x%x\n",
+		drm_dbg_kms(display->drm, "Invalid VBT panel type 0x%x\n",
 			    lfp_options->panel_type);
 		return -1;
 	}
@@ -646,12 +646,13 @@ static int vbt_get_panel_type(struct drm_i915_private *i915,
 	if (devdata && devdata->child.handle == DEVICE_HANDLE_LFP2)
 		return lfp_options->panel_type2;
 
-	drm_WARN_ON(&i915->drm, devdata && devdata->child.handle != DEVICE_HANDLE_LFP1);
+	drm_WARN_ON(display->drm,
+		    devdata && devdata->child.handle != DEVICE_HANDLE_LFP1);
 
 	return lfp_options->panel_type;
 }
 
-static int pnpid_get_panel_type(struct drm_i915_private *i915,
+static int pnpid_get_panel_type(struct intel_display *display,
 				const struct intel_bios_encoder_data *devdata,
 				const struct drm_edid *drm_edid, bool use_fallback)
 {
@@ -670,14 +671,14 @@ static int pnpid_get_panel_type(struct drm_i915_private *i915,
 	product_id_nodate.week_of_manufacture = 0;
 	product_id_nodate.year_of_manufacture = 0;
 
-	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, "EDID");
+	p = drm_dbg_printer(display->drm, DRM_UT_KMS, "EDID");
 	drm_edid_print_product_id(&p, &product_id, true);
 
-	ptrs = bdb_find_section(i915, BDB_LFP_DATA_PTRS);
+	ptrs = bdb_find_section(display, BDB_LFP_DATA_PTRS);
 	if (!ptrs)
 		return -1;
 
-	data = bdb_find_section(i915, BDB_LFP_DATA);
+	data = bdb_find_section(display, BDB_LFP_DATA);
 	if (!data)
 		return -1;
 
@@ -701,7 +702,7 @@ static int pnpid_get_panel_type(struct drm_i915_private *i915,
 	return best;
 }
 
-static int fallback_get_panel_type(struct drm_i915_private *i915,
+static int fallback_get_panel_type(struct intel_display *display,
 				   const struct intel_bios_encoder_data *devdata,
 				   const struct drm_edid *drm_edid, bool use_fallback)
 {
@@ -715,13 +716,13 @@ enum panel_type {
 	PANEL_TYPE_FALLBACK,
 };
 
-static int get_panel_type(struct drm_i915_private *i915,
+static int get_panel_type(struct intel_display *display,
 			  const struct intel_bios_encoder_data *devdata,
 			  const struct drm_edid *drm_edid, bool use_fallback)
 {
 	struct {
 		const char *name;
-		int (*get_panel_type)(struct drm_i915_private *i915,
+		int (*get_panel_type)(struct intel_display *display,
 				      const struct intel_bios_encoder_data *devdata,
 				      const struct drm_edid *drm_edid, bool use_fallback);
 		int panel_type;
@@ -746,14 +747,14 @@ static int get_panel_type(struct drm_i915_private *i915,
 	int i;
 
 	for (i = 0; i < ARRAY_SIZE(panel_types); i++) {
-		panel_types[i].panel_type = panel_types[i].get_panel_type(i915, devdata,
+		panel_types[i].panel_type = panel_types[i].get_panel_type(display, devdata,
 									  drm_edid, use_fallback);
 
-		drm_WARN_ON(&i915->drm, panel_types[i].panel_type > 0xf &&
+		drm_WARN_ON(display->drm, panel_types[i].panel_type > 0xf &&
 			    panel_types[i].panel_type != 0xff);
 
 		if (panel_types[i].panel_type >= 0)
-			drm_dbg_kms(&i915->drm, "Panel type (%s): %d\n",
+			drm_dbg_kms(display->drm, "Panel type (%s): %d\n",
 				    panel_types[i].name, panel_types[i].panel_type);
 	}
 
@@ -768,7 +769,7 @@ static int get_panel_type(struct drm_i915_private *i915,
 	else
 		i = PANEL_TYPE_FALLBACK;
 
-	drm_dbg_kms(&i915->drm, "Selected panel type (%s): %d\n",
+	drm_dbg_kms(display->drm, "Selected panel type (%s): %d\n",
 		    panel_types[i].name, panel_types[i].panel_type);
 
 	return panel_types[i].panel_type;
@@ -786,14 +787,14 @@ static bool panel_bool(unsigned int value, int panel_type)
 
 /* Parse general panel options */
 static void
-parse_panel_options(struct drm_i915_private *i915,
+parse_panel_options(struct intel_display *display,
 		    struct intel_panel *panel)
 {
 	const struct bdb_lfp_options *lfp_options;
 	int panel_type = panel->vbt.panel_type;
 	int drrs_mode;
 
-	lfp_options = bdb_find_section(i915, BDB_LFP_OPTIONS);
+	lfp_options = bdb_find_section(display, BDB_LFP_OPTIONS);
 	if (!lfp_options)
 		return;
 
@@ -817,23 +818,23 @@ parse_panel_options(struct drm_i915_private *i915,
 	switch (drrs_mode) {
 	case 0:
 		panel->vbt.drrs_type = DRRS_TYPE_STATIC;
-		drm_dbg_kms(&i915->drm, "DRRS supported mode is static\n");
+		drm_dbg_kms(display->drm, "DRRS supported mode is static\n");
 		break;
 	case 2:
 		panel->vbt.drrs_type = DRRS_TYPE_SEAMLESS;
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "DRRS supported mode is seamless\n");
 		break;
 	default:
 		panel->vbt.drrs_type = DRRS_TYPE_NONE;
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "DRRS not supported (VBT input)\n");
 		break;
 	}
 }
 
 static void
-parse_lfp_panel_dtd(struct drm_i915_private *i915,
+parse_lfp_panel_dtd(struct intel_display *display,
 		    struct intel_panel *panel,
 		    const struct bdb_lfp_data *lfp_data,
 		    const struct bdb_lfp_data_ptrs *lfp_data_ptrs)
@@ -851,11 +852,11 @@ parse_lfp_panel_dtd(struct drm_i915_private *i915,
 	if (!panel_fixed_mode)
 		return;
 
-	fill_detail_timing_data(i915, panel_fixed_mode, panel_dvo_timing);
+	fill_detail_timing_data(display, panel_fixed_mode, panel_dvo_timing);
 
 	panel->vbt.lfp_vbt_mode = panel_fixed_mode;
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "Found panel mode in BIOS VBT legacy lfp table: " DRM_MODE_FMT "\n",
 		    DRM_MODE_ARG(panel_fixed_mode));
 
@@ -867,14 +868,14 @@ parse_lfp_panel_dtd(struct drm_i915_private *i915,
 	if (fp_timing->x_res == panel_fixed_mode->hdisplay &&
 	    fp_timing->y_res == panel_fixed_mode->vdisplay) {
 		panel->vbt.bios_lvds_val = fp_timing->lvds_reg_val;
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "VBT initial LVDS value %x\n",
 			    panel->vbt.bios_lvds_val);
 	}
 }
 
 static void
-parse_lfp_data(struct drm_i915_private *i915,
+parse_lfp_data(struct intel_display *display,
 	       struct intel_panel *panel)
 {
 	const struct bdb_lfp_data *data;
@@ -884,41 +885,41 @@ parse_lfp_data(struct drm_i915_private *i915,
 	struct drm_printer p;
 	int panel_type = panel->vbt.panel_type;
 
-	ptrs = bdb_find_section(i915, BDB_LFP_DATA_PTRS);
+	ptrs = bdb_find_section(display, BDB_LFP_DATA_PTRS);
 	if (!ptrs)
 		return;
 
-	data = bdb_find_section(i915, BDB_LFP_DATA);
+	data = bdb_find_section(display, BDB_LFP_DATA);
 	if (!data)
 		return;
 
 	if (!panel->vbt.lfp_vbt_mode)
-		parse_lfp_panel_dtd(i915, panel, data, ptrs);
+		parse_lfp_panel_dtd(display, panel, data, ptrs);
 
 	pnp_id = get_lfp_pnp_id(data, ptrs, panel_type);
 
-	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, "Panel");
+	p = drm_dbg_printer(display->drm, DRM_UT_KMS, "Panel");
 	drm_edid_print_product_id(&p, pnp_id, false);
 
 	tail = get_lfp_data_tail(data, ptrs);
 	if (!tail)
 		return;
 
-	drm_dbg_kms(&i915->drm, "Panel name: %.*s\n",
+	drm_dbg_kms(display->drm, "Panel name: %.*s\n",
 		    (int)sizeof(tail->panel_name[0].name),
 		    tail->panel_name[panel_type].name);
 
-	if (i915->display.vbt.version >= 188) {
+	if (display->vbt.version >= 188) {
 		panel->vbt.seamless_drrs_min_refresh_rate =
 			tail->seamless_drrs_min_refresh_rate[panel_type];
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Seamless DRRS min refresh rate: %d Hz\n",
 			    panel->vbt.seamless_drrs_min_refresh_rate);
 	}
 }
 
 static void
-parse_generic_dtd(struct drm_i915_private *i915,
+parse_generic_dtd(struct intel_display *display,
 		  struct intel_panel *panel)
 {
 	const struct bdb_generic_dtd *generic_dtd;
@@ -934,20 +935,20 @@ parse_generic_dtd(struct drm_i915_private *i915,
 	 * first on VBT >= 229, but still fall back to trying the old LFP
 	 * block if that fails.
 	 */
-	if (i915->display.vbt.version < 229)
+	if (display->vbt.version < 229)
 		return;
 
-	generic_dtd = bdb_find_section(i915, BDB_GENERIC_DTD);
+	generic_dtd = bdb_find_section(display, BDB_GENERIC_DTD);
 	if (!generic_dtd)
 		return;
 
 	if (generic_dtd->gdtd_size < sizeof(struct generic_dtd_entry)) {
-		drm_err(&i915->drm, "GDTD size %u is too small.\n",
+		drm_err(display->drm, "GDTD size %u is too small.\n",
 			generic_dtd->gdtd_size);
 		return;
 	} else if (generic_dtd->gdtd_size !=
 		   sizeof(struct generic_dtd_entry)) {
-		drm_err(&i915->drm, "Unexpected GDTD size %u\n",
+		drm_err(display->drm, "Unexpected GDTD size %u\n",
 			generic_dtd->gdtd_size);
 		/* DTD has unknown fields, but keep going */
 	}
@@ -955,7 +956,7 @@ parse_generic_dtd(struct drm_i915_private *i915,
 	num_dtd = (get_blocksize(generic_dtd) -
 		   sizeof(struct bdb_generic_dtd)) / generic_dtd->gdtd_size;
 	if (panel->vbt.panel_type >= num_dtd) {
-		drm_err(&i915->drm,
+		drm_err(display->drm,
 			"Panel type %d not found in table of %d DTD's\n",
 			panel->vbt.panel_type, num_dtd);
 		return;
@@ -1000,7 +1001,7 @@ parse_generic_dtd(struct drm_i915_private *i915,
 	else
 		panel_fixed_mode->flags |= DRM_MODE_FLAG_NVSYNC;
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "Found panel mode in BIOS VBT generic dtd table: " DRM_MODE_FMT "\n",
 		    DRM_MODE_ARG(panel_fixed_mode));
 
@@ -1008,7 +1009,7 @@ parse_generic_dtd(struct drm_i915_private *i915,
 }
 
 static void
-parse_lfp_backlight(struct drm_i915_private *i915,
+parse_lfp_backlight(struct intel_display *display,
 		    struct intel_panel *panel)
 {
 	const struct bdb_lfp_backlight *backlight_data;
@@ -1016,12 +1017,12 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 	int panel_type = panel->vbt.panel_type;
 	u16 level;
 
-	backlight_data = bdb_find_section(i915, BDB_LFP_BACKLIGHT);
+	backlight_data = bdb_find_section(display, BDB_LFP_BACKLIGHT);
 	if (!backlight_data)
 		return;
 
 	if (backlight_data->entry_size != sizeof(backlight_data->data[0])) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Unsupported backlight data entry size %u\n",
 			    backlight_data->entry_size);
 		return;
@@ -1031,7 +1032,7 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 
 	panel->vbt.backlight.present = entry->type == BDB_BACKLIGHT_TYPE_PWM;
 	if (!panel->vbt.backlight.present) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "PWM backlight not present in VBT (type %u)\n",
 			    entry->type);
 		return;
@@ -1039,7 +1040,7 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 
 	panel->vbt.backlight.type = INTEL_BACKLIGHT_DISPLAY_DDI;
 	panel->vbt.backlight.controller = 0;
-	if (i915->display.vbt.version >= 191) {
+	if (display->vbt.version >= 191) {
 		const struct lfp_backlight_control_method *method;
 
 		method = &backlight_data->backlight_control[panel_type];
@@ -1050,14 +1051,14 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 	panel->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
 	panel->vbt.backlight.active_low_pwm = entry->active_low_pwm;
 
-	if (i915->display.vbt.version >= 234) {
+	if (display->vbt.version >= 234) {
 		u16 min_level;
 		bool scale;
 
 		level = backlight_data->brightness_level[panel_type].level;
 		min_level = backlight_data->brightness_min_level[panel_type].level;
 
-		if (i915->display.vbt.version >= 236)
+		if (display->vbt.version >= 236)
 			scale = backlight_data->brightness_precision_bits[panel_type] == 16;
 		else
 			scale = level > 255;
@@ -1066,7 +1067,7 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 			min_level = min_level / 255;
 
 		if (min_level > 255) {
-			drm_warn(&i915->drm, "Brightness min level > 255\n");
+			drm_warn(display->drm, "Brightness min level > 255\n");
 			level = 255;
 		}
 		panel->vbt.backlight.min_brightness = min_level;
@@ -1078,13 +1079,13 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 		panel->vbt.backlight.min_brightness = entry->min_brightness;
 	}
 
-	if (i915->display.vbt.version >= 239)
+	if (display->vbt.version >= 239)
 		panel->vbt.backlight.hdr_dpcd_refresh_timeout =
 			DIV_ROUND_UP(backlight_data->hdr_dpcd_refresh_timeout[panel_type], 100);
 	else
 		panel->vbt.backlight.hdr_dpcd_refresh_timeout = 30;
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "VBT backlight PWM modulation frequency %u Hz, "
 		    "active %s, min brightness %u, level %u, controller %u\n",
 		    panel->vbt.backlight.pwm_freq_hz,
@@ -1095,16 +1096,16 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 }
 
 static void
-parse_sdvo_lvds_data(struct drm_i915_private *i915,
+parse_sdvo_lvds_data(struct intel_display *display,
 		     struct intel_panel *panel)
 {
 	const struct bdb_sdvo_lvds_dtd *dtd;
 	struct drm_display_mode *panel_fixed_mode;
 	int index;
 
-	index = i915->display.params.vbt_sdvo_panel_type;
+	index = display->params.vbt_sdvo_panel_type;
 	if (index == -2) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Ignore SDVO LVDS mode from BIOS VBT tables.\n");
 		return;
 	}
@@ -1112,14 +1113,14 @@ parse_sdvo_lvds_data(struct drm_i915_private *i915,
 	if (index == -1) {
 		const struct bdb_sdvo_lvds_options *sdvo_lvds_options;
 
-		sdvo_lvds_options = bdb_find_section(i915, BDB_SDVO_LVDS_OPTIONS);
+		sdvo_lvds_options = bdb_find_section(display, BDB_SDVO_LVDS_OPTIONS);
 		if (!sdvo_lvds_options)
 			return;
 
 		index = sdvo_lvds_options->panel_type;
 	}
 
-	dtd = bdb_find_section(i915, BDB_SDVO_LVDS_DTD);
+	dtd = bdb_find_section(display, BDB_SDVO_LVDS_DTD);
 	if (!dtd)
 		return;
 
@@ -1130,7 +1131,8 @@ parse_sdvo_lvds_data(struct drm_i915_private *i915,
 	 * it here to be sure.
 	 */
 	if (index >= ARRAY_SIZE(dtd->dtd)) {
-		drm_err(&i915->drm, "index %d is larger than dtd->dtd[4] array\n",
+		drm_err(display->drm,
+			"index %d is larger than dtd->dtd[4] array\n",
 			index);
 		return;
 	}
@@ -1139,19 +1141,19 @@ parse_sdvo_lvds_data(struct drm_i915_private *i915,
 	if (!panel_fixed_mode)
 		return;
 
-	fill_detail_timing_data(i915, panel_fixed_mode, &dtd->dtd[index]);
+	fill_detail_timing_data(display, panel_fixed_mode, &dtd->dtd[index]);
 
 	panel->vbt.sdvo_lvds_vbt_mode = panel_fixed_mode;
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "Found SDVO LVDS mode in BIOS VBT tables: " DRM_MODE_FMT "\n",
 		    DRM_MODE_ARG(panel_fixed_mode));
 }
 
-static int intel_bios_ssc_frequency(struct drm_i915_private *i915,
+static int intel_bios_ssc_frequency(struct intel_display *display,
 				    bool alternate)
 {
-	switch (DISPLAY_VER(i915)) {
+	switch (DISPLAY_VER(display)) {
 	case 2:
 		return alternate ? 66667 : 48000;
 	case 3:
@@ -1163,45 +1165,46 @@ static int intel_bios_ssc_frequency(struct drm_i915_private *i915,
 }
 
 static void
-parse_general_features(struct drm_i915_private *i915)
+parse_general_features(struct intel_display *display)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const struct bdb_general_features *general;
 
-	general = bdb_find_section(i915, BDB_GENERAL_FEATURES);
+	general = bdb_find_section(display, BDB_GENERAL_FEATURES);
 	if (!general)
 		return;
 
-	i915->display.vbt.int_tv_support = general->int_tv_support;
+	display->vbt.int_tv_support = general->int_tv_support;
 	/* int_crt_support can't be trusted on earlier platforms */
-	if (i915->display.vbt.version >= 155 &&
-	    (HAS_DDI(i915) || IS_VALLEYVIEW(i915)))
-		i915->display.vbt.int_crt_support = general->int_crt_support;
-	i915->display.vbt.lvds_use_ssc = general->enable_ssc;
-	i915->display.vbt.lvds_ssc_freq =
-		intel_bios_ssc_frequency(i915, general->ssc_freq);
-	i915->display.vbt.display_clock_mode = general->display_clock_mode;
-	i915->display.vbt.fdi_rx_polarity_inverted = general->fdi_rx_polarity_inverted;
-	if (i915->display.vbt.version >= 181) {
-		i915->display.vbt.orientation = general->rotate_180 ?
+	if (display->vbt.version >= 155 &&
+	    (HAS_DDI(display) || IS_VALLEYVIEW(i915)))
+		display->vbt.int_crt_support = general->int_crt_support;
+	display->vbt.lvds_use_ssc = general->enable_ssc;
+	display->vbt.lvds_ssc_freq =
+		intel_bios_ssc_frequency(display, general->ssc_freq);
+	display->vbt.display_clock_mode = general->display_clock_mode;
+	display->vbt.fdi_rx_polarity_inverted = general->fdi_rx_polarity_inverted;
+	if (display->vbt.version >= 181) {
+		display->vbt.orientation = general->rotate_180 ?
 			DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP :
 			DRM_MODE_PANEL_ORIENTATION_NORMAL;
 	} else {
-		i915->display.vbt.orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
+		display->vbt.orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
 	}
 
-	if (i915->display.vbt.version >= 249 && general->afc_startup_config) {
-		i915->display.vbt.override_afc_startup = true;
-		i915->display.vbt.override_afc_startup_val = general->afc_startup_config == 0x1 ? 0x0 : 0x7;
+	if (display->vbt.version >= 249 && general->afc_startup_config) {
+		display->vbt.override_afc_startup = true;
+		display->vbt.override_afc_startup_val = general->afc_startup_config == 1 ? 0 : 7;
 	}
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d fdi_rx_polarity_inverted %d\n",
-		    i915->display.vbt.int_tv_support,
-		    i915->display.vbt.int_crt_support,
-		    i915->display.vbt.lvds_use_ssc,
-		    i915->display.vbt.lvds_ssc_freq,
-		    i915->display.vbt.display_clock_mode,
-		    i915->display.vbt.fdi_rx_polarity_inverted);
+		    display->vbt.int_tv_support,
+		    display->vbt.int_crt_support,
+		    display->vbt.lvds_use_ssc,
+		    display->vbt.lvds_ssc_freq,
+		    display->vbt.display_clock_mode,
+		    display->vbt.fdi_rx_polarity_inverted);
 }
 
 static const struct child_device_config *
@@ -1211,7 +1214,7 @@ child_device_ptr(const struct bdb_general_definitions *defs, int i)
 }
 
 static void
-parse_sdvo_device_mapping(struct drm_i915_private *i915)
+parse_sdvo_device_mapping(struct intel_display *display)
 {
 	const struct intel_bios_encoder_data *devdata;
 	int count = 0;
@@ -1220,12 +1223,12 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
 	 * Only parse SDVO mappings on gens that could have SDVO. This isn't
 	 * accurate and doesn't have to be, as long as it's not too strict.
 	 */
-	if (!IS_DISPLAY_VER(i915, 3, 7)) {
-		drm_dbg_kms(&i915->drm, "Skipping SDVO device mapping\n");
+	if (!IS_DISPLAY_VER(display, 3, 7)) {
+		drm_dbg_kms(display->drm, "Skipping SDVO device mapping\n");
 		return;
 	}
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		const struct child_device_config *child = &devdata->child;
 		struct sdvo_device_mapping *mapping;
 
@@ -1240,17 +1243,17 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
 		if (child->dvo_port != DEVICE_PORT_DVOB &&
 		    child->dvo_port != DEVICE_PORT_DVOC) {
 			/* skip the incorrect SDVO port */
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "Incorrect SDVO port. Skip it\n");
 			continue;
 		}
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "the SDVO device with target addr %2x is found on"
 			    " %s port\n",
 			    child->target_addr,
 			    (child->dvo_port == DEVICE_PORT_DVOB) ?
 			    "SDVOB" : "SDVOC");
-		mapping = &i915->display.vbt.sdvo_mappings[child->dvo_port - 1];
+		mapping = &display->vbt.sdvo_mappings[child->dvo_port - 1];
 		if (!mapping->initialized) {
 			mapping->dvo_port = child->dvo_port;
 			mapping->target_addr = child->target_addr;
@@ -1258,20 +1261,20 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
 			mapping->ddc_pin = child->ddc_pin;
 			mapping->i2c_pin = child->i2c_pin;
 			mapping->initialized = 1;
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "SDVO device: dvo=%x, addr=%x, wiring=%d, ddc_pin=%d, i2c_pin=%d\n",
 				    mapping->dvo_port, mapping->target_addr,
 				    mapping->dvo_wiring, mapping->ddc_pin,
 				    mapping->i2c_pin);
 		} else {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "Maybe one SDVO port is shared by "
 				    "two SDVO device.\n");
 		}
 		if (child->target2_addr) {
 			/* Maybe this is a SDVO device with multiple inputs */
 			/* And the mapping info is not added */
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "there exists the target2_addr. Maybe this"
 				    " is a SDVO device with multiple inputs.\n");
 		}
@@ -1280,28 +1283,28 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
 
 	if (!count) {
 		/* No SDVO device info is found */
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "No SDVO device info is found in VBT\n");
 	}
 }
 
 static void
-parse_driver_features(struct drm_i915_private *i915)
+parse_driver_features(struct intel_display *display)
 {
 	const struct bdb_driver_features *driver;
 
-	driver = bdb_find_section(i915, BDB_DRIVER_FEATURES);
+	driver = bdb_find_section(display, BDB_DRIVER_FEATURES);
 	if (!driver)
 		return;
 
-	if (DISPLAY_VER(i915) >= 5) {
+	if (DISPLAY_VER(display) >= 5) {
 		/*
 		 * Note that we consider BDB_DRIVER_FEATURE_INT_SDVO_LVDS
 		 * to mean "eDP". The VBT spec doesn't agree with that
 		 * interpretation, but real world VBTs seem to.
 		 */
 		if (driver->lvds_config != BDB_DRIVER_FEATURE_INT_LVDS)
-			i915->display.vbt.int_lvds_support = 0;
+			display->vbt.int_lvds_support = 0;
 	} else {
 		/*
 		 * FIXME it's not clear which BDB version has the LVDS config
@@ -1314,25 +1317,25 @@ parse_driver_features(struct drm_i915_private *i915)
 		 * in the wild with the bits correctly populated. Version
 		 * 108 (on i85x) does not have the bits correctly populated.
 		 */
-		if (i915->display.vbt.version >= 134 &&
+		if (display->vbt.version >= 134 &&
 		    driver->lvds_config != BDB_DRIVER_FEATURE_INT_LVDS &&
 		    driver->lvds_config != BDB_DRIVER_FEATURE_INT_SDVO_LVDS)
-			i915->display.vbt.int_lvds_support = 0;
+			display->vbt.int_lvds_support = 0;
 	}
 }
 
 static void
-parse_panel_driver_features(struct drm_i915_private *i915,
+parse_panel_driver_features(struct intel_display *display,
 			    struct intel_panel *panel)
 {
 	const struct bdb_driver_features *driver;
 
-	driver = bdb_find_section(i915, BDB_DRIVER_FEATURES);
+	driver = bdb_find_section(display, BDB_DRIVER_FEATURES);
 	if (!driver)
 		return;
 
-	if (i915->display.vbt.version < 228) {
-		drm_dbg_kms(&i915->drm, "DRRS State Enabled:%d\n",
+	if (display->vbt.version < 228) {
+		drm_dbg_kms(display->drm, "DRRS State Enabled:%d\n",
 			    driver->drrs_enabled);
 		/*
 		 * If DRRS is not supported, drrs_type has to be set to 0.
@@ -1356,7 +1359,7 @@ parse_panel_driver_features(struct drm_i915_private *i915,
 }
 
 static void
-parse_power_conservation_features(struct drm_i915_private *i915,
+parse_power_conservation_features(struct intel_display *display,
 				  struct intel_panel *panel)
 {
 	const struct bdb_lfp_power *power;
@@ -1364,10 +1367,10 @@ parse_power_conservation_features(struct drm_i915_private *i915,
 
 	panel->vbt.vrr = true; /* matches Windows behaviour */
 
-	if (i915->display.vbt.version < 228)
+	if (display->vbt.version < 228)
 		return;
 
-	power = bdb_find_section(i915, BDB_LFP_POWER);
+	power = bdb_find_section(display, BDB_LFP_POWER);
 	if (!power)
 		return;
 
@@ -1390,16 +1393,16 @@ parse_power_conservation_features(struct drm_i915_private *i915,
 			panel->vbt.drrs_type = DRRS_TYPE_NONE;
 	}
 
-	if (i915->display.vbt.version >= 232)
+	if (display->vbt.version >= 232)
 		panel->vbt.edp.hobl = panel_bool(power->hobl, panel_type);
 
-	if (i915->display.vbt.version >= 233)
+	if (display->vbt.version >= 233)
 		panel->vbt.vrr = panel_bool(power->vrr_feature_enabled,
 					    panel_type);
 }
 
 static void
-parse_edp(struct drm_i915_private *i915,
+parse_edp(struct intel_display *display,
 	  struct intel_panel *panel)
 {
 	const struct bdb_edp *edp;
@@ -1407,7 +1410,7 @@ parse_edp(struct drm_i915_private *i915,
 	const struct edp_fast_link_params *edp_link_params;
 	int panel_type = panel->vbt.panel_type;
 
-	edp = bdb_find_section(i915, BDB_EDP);
+	edp = bdb_find_section(display, BDB_EDP);
 	if (!edp)
 		return;
 
@@ -1429,7 +1432,7 @@ parse_edp(struct drm_i915_private *i915,
 
 	panel->vbt.edp.pps = *edp_pps;
 
-	if (i915->display.vbt.version >= 224) {
+	if (display->vbt.version >= 224) {
 		panel->vbt.edp.rate =
 			edp->edp_fast_link_training_rate[panel_type] * 20;
 	} else {
@@ -1444,7 +1447,7 @@ parse_edp(struct drm_i915_private *i915,
 			panel->vbt.edp.rate = 540000;
 			break;
 		default:
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "VBT has unknown eDP link rate value %u\n",
 				    edp_link_params->rate);
 			break;
@@ -1462,7 +1465,7 @@ parse_edp(struct drm_i915_private *i915,
 		panel->vbt.edp.lanes = 4;
 		break;
 	default:
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "VBT has unknown eDP lane count value %u\n",
 			    edp_link_params->lanes);
 		break;
@@ -1482,7 +1485,7 @@ parse_edp(struct drm_i915_private *i915,
 		panel->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
 		break;
 	default:
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "VBT has unknown eDP pre-emphasis value %u\n",
 			    edp_link_params->preemphasis);
 		break;
@@ -1502,19 +1505,19 @@ parse_edp(struct drm_i915_private *i915,
 		panel->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
 		break;
 	default:
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "VBT has unknown eDP voltage swing value %u\n",
 			    edp_link_params->vswing);
 		break;
 	}
 
-	if (i915->display.vbt.version >= 173) {
+	if (display->vbt.version >= 173) {
 		u8 vswing;
 
 		/* Don't read from VBT if module parameter has valid value*/
-		if (i915->display.params.edp_vswing) {
+		if (display->params.edp_vswing) {
 			panel->vbt.edp.low_vswing =
-				i915->display.params.edp_vswing == 1;
+				display->params.edp_vswing == 1;
 		} else {
 			vswing = (edp->edp_vswing_preemph >> (panel_type * 4)) & 0xF;
 			panel->vbt.edp.low_vswing = vswing == 0;
@@ -1524,26 +1527,27 @@ parse_edp(struct drm_i915_private *i915,
 	panel->vbt.edp.drrs_msa_timing_delay =
 		panel_bits(edp->sdrrs_msa_timing_delay, panel_type, 2);
 
-	if (i915->display.vbt.version >= 244)
+	if (display->vbt.version >= 244)
 		panel->vbt.edp.max_link_rate =
 			edp->edp_max_port_link_rate[panel_type] * 20;
 
-	if (i915->display.vbt.version >= 251)
+	if (display->vbt.version >= 251)
 		panel->vbt.edp.dsc_disable =
 			panel_bool(edp->edp_dsc_disable, panel_type);
 }
 
 static void
-parse_psr(struct drm_i915_private *i915,
+parse_psr(struct intel_display *display,
 	  struct intel_panel *panel)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const struct bdb_psr *psr;
 	const struct psr_table *psr_table;
 	int panel_type = panel->vbt.panel_type;
 
-	psr = bdb_find_section(i915, BDB_PSR);
+	psr = bdb_find_section(display, BDB_PSR);
 	if (!psr) {
-		drm_dbg_kms(&i915->drm, "No PSR BDB found.\n");
+		drm_dbg_kms(display->drm, "No PSR BDB found.\n");
 		return;
 	}
 
@@ -1560,8 +1564,8 @@ parse_psr(struct drm_i915_private *i915,
 	 * New psr options 0=500us, 1=100us, 2=2500us, 3=0us
 	 * Old decimal value is wake up time in multiples of 100 us.
 	 */
-	if (i915->display.vbt.version >= 205 &&
-	    (DISPLAY_VER(i915) >= 9 && !IS_BROXTON(i915))) {
+	if (display->vbt.version >= 205 &&
+	    (DISPLAY_VER(display) >= 9 && !IS_BROXTON(i915))) {
 		switch (psr_table->tp1_wakeup_time) {
 		case 0:
 			panel->vbt.psr.tp1_wakeup_time_us = 500;
@@ -1573,7 +1577,7 @@ parse_psr(struct drm_i915_private *i915,
 			panel->vbt.psr.tp1_wakeup_time_us = 0;
 			break;
 		default:
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "VBT tp1 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
 				    psr_table->tp1_wakeup_time);
 			fallthrough;
@@ -1593,7 +1597,7 @@ parse_psr(struct drm_i915_private *i915,
 			panel->vbt.psr.tp2_tp3_wakeup_time_us = 0;
 			break;
 		default:
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "VBT tp2_tp3 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
 				    psr_table->tp2_tp3_wakeup_time);
 			fallthrough;
@@ -1606,7 +1610,7 @@ parse_psr(struct drm_i915_private *i915,
 		panel->vbt.psr.tp2_tp3_wakeup_time_us = psr_table->tp2_tp3_wakeup_time * 100;
 	}
 
-	if (i915->display.vbt.version >= 226) {
+	if (display->vbt.version >= 226) {
 		u32 wakeup_time = psr->psr2_tp2_tp3_wakeup_time;
 
 		wakeup_time = panel_bits(wakeup_time, panel_type, 2);
@@ -1632,13 +1636,13 @@ parse_psr(struct drm_i915_private *i915,
 	}
 }
 
-static void parse_dsi_backlight_ports(struct drm_i915_private *i915,
+static void parse_dsi_backlight_ports(struct intel_display *display,
 				      struct intel_panel *panel,
 				      enum port port)
 {
-	enum port port_bc = DISPLAY_VER(i915) >= 11 ? PORT_B : PORT_C;
+	enum port port_bc = DISPLAY_VER(display) >= 11 ? PORT_B : PORT_C;
 
-	if (!panel->vbt.dsi.config->dual_link || i915->display.vbt.version < 197) {
+	if (!panel->vbt.dsi.config->dual_link || display->vbt.version < 197) {
 		panel->vbt.dsi.bl_ports = BIT(port);
 		if (panel->vbt.dsi.config->cabc_supported)
 			panel->vbt.dsi.cabc_ports = BIT(port);
@@ -1678,7 +1682,7 @@ static void parse_dsi_backlight_ports(struct drm_i915_private *i915,
 }
 
 static void
-parse_mipi_config(struct drm_i915_private *i915,
+parse_mipi_config(struct intel_display *display,
 		  struct intel_panel *panel)
 {
 	const struct bdb_mipi_config *start;
@@ -1688,19 +1692,19 @@ parse_mipi_config(struct drm_i915_private *i915,
 	enum port port;
 
 	/* parse MIPI blocks only if LFP type is MIPI */
-	if (!intel_bios_is_dsi_present(i915, &port))
+	if (!intel_bios_is_dsi_present(display, &port))
 		return;
 
 	/* Initialize this to undefined indicating no generic MIPI support */
 	panel->vbt.dsi.panel_id = MIPI_DSI_UNDEFINED_PANEL_ID;
 
-	start = bdb_find_section(i915, BDB_MIPI_CONFIG);
+	start = bdb_find_section(display, BDB_MIPI_CONFIG);
 	if (!start) {
-		drm_dbg_kms(&i915->drm, "No MIPI config BDB found");
+		drm_dbg_kms(display->drm, "No MIPI config BDB found");
 		return;
 	}
 
-	drm_dbg(&i915->drm, "Found MIPI Config block, panel index = %d\n",
+	drm_dbg(display->drm, "Found MIPI Config block, panel index = %d\n",
 		panel_type);
 
 	/*
@@ -1721,7 +1725,7 @@ parse_mipi_config(struct drm_i915_private *i915,
 		return;
 	}
 
-	parse_dsi_backlight_ports(i915, panel, port);
+	parse_dsi_backlight_ports(display, panel, port);
 
 	/* FIXME is the 90 vs. 270 correct? */
 	switch (config->rotation) {
@@ -1753,7 +1757,7 @@ parse_mipi_config(struct drm_i915_private *i915,
 
 /* Find the sequence block and size for the given panel. */
 static const u8 *
-find_panel_sequence_block(struct drm_i915_private *i915,
+find_panel_sequence_block(struct intel_display *display,
 			  const struct bdb_mipi_sequence *sequence,
 			  u16 panel_id, u32 *seq_size)
 {
@@ -1771,7 +1775,8 @@ find_panel_sequence_block(struct drm_i915_private *i915,
 
 	for (i = 0; i < MAX_MIPI_CONFIGURATIONS && index < total; i++) {
 		if (index + header_size > total) {
-			drm_err(&i915->drm, "Invalid sequence block (header)\n");
+			drm_err(display->drm,
+				"Invalid sequence block (header)\n");
 			return NULL;
 		}
 
@@ -1784,7 +1789,7 @@ find_panel_sequence_block(struct drm_i915_private *i915,
 		index += header_size;
 
 		if (index + current_size > total) {
-			drm_err(&i915->drm, "Invalid sequence block\n");
+			drm_err(display->drm, "Invalid sequence block\n");
 			return NULL;
 		}
 
@@ -1796,12 +1801,13 @@ find_panel_sequence_block(struct drm_i915_private *i915,
 		index += current_size;
 	}
 
-	drm_err(&i915->drm, "Sequence block detected but no valid configuration\n");
+	drm_err(display->drm,
+		"Sequence block detected but no valid configuration\n");
 
 	return NULL;
 }
 
-static int goto_next_sequence(struct drm_i915_private *i915,
+static int goto_next_sequence(struct intel_display *display,
 			      const u8 *data, int index, int total)
 {
 	u16 len;
@@ -1832,7 +1838,7 @@ static int goto_next_sequence(struct drm_i915_private *i915,
 			len = *(data + index + 6) + 7;
 			break;
 		default:
-			drm_err(&i915->drm, "Unknown operation byte\n");
+			drm_err(display->drm, "Unknown operation byte\n");
 			return 0;
 		}
 	}
@@ -1840,7 +1846,7 @@ static int goto_next_sequence(struct drm_i915_private *i915,
 	return 0;
 }
 
-static int goto_next_sequence_v3(struct drm_i915_private *i915,
+static int goto_next_sequence_v3(struct intel_display *display,
 				 const u8 *data, int index, int total)
 {
 	int seq_end;
@@ -1852,7 +1858,7 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
 	 * checking on the structure.
 	 */
 	if (total < 5) {
-		drm_err(&i915->drm, "Too small sequence size\n");
+		drm_err(display->drm, "Too small sequence size\n");
 		return 0;
 	}
 
@@ -1869,7 +1875,7 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
 
 	seq_end = index + size_of_sequence;
 	if (seq_end > total) {
-		drm_err(&i915->drm, "Invalid sequence size\n");
+		drm_err(display->drm, "Invalid sequence size\n");
 		return 0;
 	}
 
@@ -1879,7 +1885,8 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
 
 		if (operation_byte == MIPI_SEQ_ELEM_END) {
 			if (index != seq_end) {
-				drm_err(&i915->drm, "Invalid element structure\n");
+				drm_err(display->drm,
+					"Invalid element structure\n");
 				return 0;
 			}
 			return index;
@@ -1901,7 +1908,7 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
 		case MIPI_SEQ_ELEM_PMIC:
 			break;
 		default:
-			drm_err(&i915->drm, "Unknown operation byte %u\n",
+			drm_err(display->drm, "Unknown operation byte %u\n",
 				operation_byte);
 			break;
 		}
@@ -1914,13 +1921,13 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
  * Get len of pre-fixed deassert fragment from a v1 init OTP sequence,
  * skip all delay + gpio operands and stop at the first DSI packet op.
  */
-static int get_init_otp_deassert_fragment_len(struct drm_i915_private *i915,
+static int get_init_otp_deassert_fragment_len(struct intel_display *display,
 					      struct intel_panel *panel)
 {
 	const u8 *data = panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP];
 	int index, len;
 
-	if (drm_WARN_ON(&i915->drm,
+	if (drm_WARN_ON(display->drm,
 			!data || panel->vbt.dsi.seq_version != 1))
 		return 0;
 
@@ -1949,7 +1956,7 @@ static int get_init_otp_deassert_fragment_len(struct drm_i915_private *i915,
  * these devices we split the init OTP sequence into a deassert sequence and
  * the actual init OTP part.
  */
-static void vlv_fixup_mipi_sequences(struct drm_i915_private *i915,
+static void vlv_fixup_mipi_sequences(struct intel_display *display,
 				     struct intel_panel *panel)
 {
 	u8 *init_otp;
@@ -1967,11 +1974,11 @@ static void vlv_fixup_mipi_sequences(struct drm_i915_private *i915,
 		return;
 
 	/* The deassert-sequence ends at the first DSI packet */
-	len = get_init_otp_deassert_fragment_len(i915, panel);
+	len = get_init_otp_deassert_fragment_len(display, panel);
 	if (!len)
 		return;
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "Using init OTP fragment to deassert reset\n");
 
 	/* Copy the fragment, update seq byte and terminate it */
@@ -2004,29 +2011,32 @@ static void vlv_fixup_mipi_sequences(struct drm_i915_private *i915,
  *       or examine the contents of the sequences to
  *       avoid false positives?
  */
-static void icl_fixup_mipi_sequences(struct drm_i915_private *i915,
+static void icl_fixup_mipi_sequences(struct intel_display *display,
 				     struct intel_panel *panel)
 {
 	if (!panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP] &&
 	    panel->vbt.dsi.sequence[MIPI_SEQ_DISPLAY_ON]) {
-		drm_dbg_kms(&i915->drm, "Broken VBT: Swapping INIT_OTP and DISPLAY_ON sequences\n");
+		drm_dbg_kms(display->drm,
+			    "Broken VBT: Swapping INIT_OTP and DISPLAY_ON sequences\n");
 
 		swap(panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP],
 		     panel->vbt.dsi.sequence[MIPI_SEQ_DISPLAY_ON]);
 	}
 }
 
-static void fixup_mipi_sequences(struct drm_i915_private *i915,
+static void fixup_mipi_sequences(struct intel_display *display,
 				 struct intel_panel *panel)
 {
-	if (DISPLAY_VER(i915) >= 11)
-		icl_fixup_mipi_sequences(i915, panel);
+	struct drm_i915_private *i915 = to_i915(display->drm);
+
+	if (DISPLAY_VER(display) >= 11)
+		icl_fixup_mipi_sequences(display, panel);
 	else if (IS_VALLEYVIEW(i915))
-		vlv_fixup_mipi_sequences(i915, panel);
+		vlv_fixup_mipi_sequences(display, panel);
 }
 
 static void
-parse_mipi_sequence(struct drm_i915_private *i915,
+parse_mipi_sequence(struct intel_display *display,
 		    struct intel_panel *panel)
 {
 	int panel_type = panel->vbt.panel_type;
@@ -2040,25 +2050,25 @@ parse_mipi_sequence(struct drm_i915_private *i915,
 	if (panel->vbt.dsi.panel_id != MIPI_DSI_GENERIC_PANEL_ID)
 		return;
 
-	sequence = bdb_find_section(i915, BDB_MIPI_SEQUENCE);
+	sequence = bdb_find_section(display, BDB_MIPI_SEQUENCE);
 	if (!sequence) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "No MIPI Sequence found, parsing complete\n");
 		return;
 	}
 
 	/* Fail gracefully for forward incompatible sequence block. */
 	if (sequence->version >= 4) {
-		drm_err(&i915->drm,
+		drm_err(display->drm,
 			"Unable to parse MIPI Sequence Block v%u\n",
 			sequence->version);
 		return;
 	}
 
-	drm_dbg(&i915->drm, "Found MIPI sequence block v%u\n",
+	drm_dbg(display->drm, "Found MIPI sequence block v%u\n",
 		sequence->version);
 
-	seq_data = find_panel_sequence_block(i915, sequence, panel_type, &seq_size);
+	seq_data = find_panel_sequence_block(display, sequence, panel_type, &seq_size);
 	if (!seq_data)
 		return;
 
@@ -2073,24 +2083,24 @@ parse_mipi_sequence(struct drm_i915_private *i915,
 			break;
 
 		if (seq_id >= MIPI_SEQ_MAX) {
-			drm_err(&i915->drm, "Unknown sequence %u\n",
+			drm_err(display->drm, "Unknown sequence %u\n",
 				seq_id);
 			goto err;
 		}
 
 		/* Log about presence of sequences we won't run. */
 		if (seq_id == MIPI_SEQ_TEAR_ON || seq_id == MIPI_SEQ_TEAR_OFF)
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "Unsupported sequence %u\n", seq_id);
 
 		panel->vbt.dsi.sequence[seq_id] = data + index;
 
 		if (sequence->version >= 3)
-			index = goto_next_sequence_v3(i915, data, index, seq_size);
+			index = goto_next_sequence_v3(display, data, index, seq_size);
 		else
-			index = goto_next_sequence(i915, data, index, seq_size);
+			index = goto_next_sequence(display, data, index, seq_size);
 		if (!index) {
-			drm_err(&i915->drm, "Invalid sequence %u\n",
+			drm_err(display->drm, "Invalid sequence %u\n",
 				seq_id);
 			goto err;
 		}
@@ -2100,9 +2110,9 @@ parse_mipi_sequence(struct drm_i915_private *i915,
 	panel->vbt.dsi.size = seq_size;
 	panel->vbt.dsi.seq_version = sequence->version;
 
-	fixup_mipi_sequences(i915, panel);
+	fixup_mipi_sequences(display, panel);
 
-	drm_dbg(&i915->drm, "MIPI related VBT parsing complete\n");
+	drm_dbg(display->drm, "MIPI related VBT parsing complete\n");
 	return;
 
 err:
@@ -2111,47 +2121,47 @@ parse_mipi_sequence(struct drm_i915_private *i915,
 }
 
 static void
-parse_compression_parameters(struct drm_i915_private *i915)
+parse_compression_parameters(struct intel_display *display)
 {
 	const struct bdb_compression_parameters *params;
 	struct intel_bios_encoder_data *devdata;
 	u16 block_size;
 	int index;
 
-	if (i915->display.vbt.version < 198)
+	if (display->vbt.version < 198)
 		return;
 
-	params = bdb_find_section(i915, BDB_COMPRESSION_PARAMETERS);
+	params = bdb_find_section(display, BDB_COMPRESSION_PARAMETERS);
 	if (params) {
 		/* Sanity checks */
 		if (params->entry_size != sizeof(params->data[0])) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "VBT: unsupported compression param entry size\n");
 			return;
 		}
 
 		block_size = get_blocksize(params);
 		if (block_size < sizeof(*params)) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "VBT: expected 16 compression param entries\n");
 			return;
 		}
 	}
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		const struct child_device_config *child = &devdata->child;
 
 		if (!child->compression_enable)
 			continue;
 
 		if (!params) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "VBT: compression params not available\n");
 			continue;
 		}
 
 		if (child->compression_method_cps) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "VBT: CPS compression not supported\n");
 			continue;
 		}
@@ -2163,12 +2173,12 @@ parse_compression_parameters(struct drm_i915_private *i915)
 	}
 }
 
-static u8 translate_iboost(struct drm_i915_private *i915, u8 val)
+static u8 translate_iboost(struct intel_display *display, u8 val)
 {
 	static const u8 mapping[] = { 1, 3, 7 }; /* See VBT spec */
 
 	if (val >= ARRAY_SIZE(mapping)) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Unsupported I_boost value found in VBT (%d), display may not work properly\n", val);
 		return 0;
 	}
@@ -2225,8 +2235,9 @@ static const u8 adlp_ddc_pin_map[] = {
 	[GMBUS_PIN_12_TC4_ICP] = ADLP_DDC_BUS_PORT_TC4,
 };
 
-static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
+static u8 map_ddc_pin(struct intel_display *display, u8 vbt_pin)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const u8 *ddc_pin_map;
 	int i, n_entries;
 
@@ -2241,7 +2252,7 @@ static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
 	} else if (IS_ROCKETLAKE(i915) && INTEL_PCH_TYPE(i915) == PCH_TGP) {
 		ddc_pin_map = rkl_pch_tgp_ddc_pin_map;
 		n_entries = ARRAY_SIZE(rkl_pch_tgp_ddc_pin_map);
-	} else if (HAS_PCH_TGP(i915) && DISPLAY_VER(i915) == 9) {
+	} else if (HAS_PCH_TGP(i915) && DISPLAY_VER(display) == 9) {
 		ddc_pin_map = gen9bc_tgp_ddc_pin_map;
 		n_entries = ARRAY_SIZE(gen9bc_tgp_ddc_pin_map);
 	} else if (INTEL_PCH_TYPE(i915) >= PCH_ICP) {
@@ -2260,7 +2271,7 @@ static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
 			return i;
 	}
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "Ignoring alternate pin: VBT claims DDC pin %d, which is not valid for this platform\n",
 		    vbt_pin);
 	return 0;
@@ -2318,9 +2329,10 @@ static enum port __dvo_port_to_port(int n_ports, int n_dvo,
 	return PORT_NONE;
 }
 
-static enum port dvo_port_to_port(struct drm_i915_private *i915,
+static enum port dvo_port_to_port(struct intel_display *display,
 				  u8 dvo_port)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	/*
 	 * Each DDI port can have more than one value on the "DVO Port" field,
 	 * so look for all the possible values for each port.
@@ -2372,7 +2384,7 @@ static enum port dvo_port_to_port(struct drm_i915_private *i915,
 		[PORT_TC4] = { DVO_PORT_HDMII, DVO_PORT_DPI, -1 },
 	};
 
-	if (DISPLAY_VER(i915) >= 13)
+	if (DISPLAY_VER(display) >= 13)
 		return __dvo_port_to_port(ARRAY_SIZE(xelpd_port_mapping),
 					  ARRAY_SIZE(xelpd_port_mapping[0]),
 					  xelpd_port_mapping,
@@ -2395,13 +2407,13 @@ static enum port dvo_port_to_port(struct drm_i915_private *i915,
 }
 
 static enum port
-dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
+dsi_dvo_port_to_port(struct intel_display *display, u8 dvo_port)
 {
 	switch (dvo_port) {
 	case DVO_PORT_MIPIA:
 		return PORT_A;
 	case DVO_PORT_MIPIC:
-		if (DISPLAY_VER(i915) >= 11)
+		if (DISPLAY_VER(display) >= 11)
 			return PORT_B;
 		else
 			return PORT_C;
@@ -2412,13 +2424,13 @@ dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
 
 enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
 {
-	struct drm_i915_private *i915 = devdata->i915;
+	struct intel_display *display = devdata->display;
 	const struct child_device_config *child = &devdata->child;
 	enum port port;
 
-	port = dvo_port_to_port(i915, child->dvo_port);
-	if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
-		port = dsi_dvo_port_to_port(i915, child->dvo_port);
+	port = dvo_port_to_port(display, child->dvo_port);
+	if (port == PORT_NONE && DISPLAY_VER(display) >= 11)
+		port = dsi_dvo_port_to_port(display, child->dvo_port);
 
 	return port;
 }
@@ -2463,10 +2475,10 @@ static int parse_bdb_216_dp_max_link_rate(const int vbt_max_link_rate)
 
 int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata)
 {
-	if (!devdata || devdata->i915->display.vbt.version < 216)
+	if (!devdata || devdata->display->vbt.version < 216)
 		return 0;
 
-	if (devdata->i915->display.vbt.version >= 230)
+	if (devdata->display->vbt.version >= 230)
 		return parse_bdb_230_dp_max_link_rate(devdata->child.dp_max_link_rate);
 	else
 		return parse_bdb_216_dp_max_link_rate(devdata->child.dp_max_link_rate);
@@ -2474,7 +2486,7 @@ int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata)
 
 int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata)
 {
-	if (!devdata || devdata->i915->display.vbt.version < 244)
+	if (!devdata || devdata->display->vbt.version < 244)
 		return 0;
 
 	return devdata->child.dp_max_lane_count + 1;
@@ -2483,10 +2495,10 @@ int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata)
 static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
 				 enum port port)
 {
-	struct drm_i915_private *i915 = devdata->i915;
+	struct intel_display *display = devdata->display;
 	bool is_hdmi;
 
-	if (port != PORT_A || DISPLAY_VER(i915) >= 12)
+	if (port != PORT_A || DISPLAY_VER(display) >= 12)
 		return;
 
 	if (!intel_bios_encoder_supports_dvi(devdata))
@@ -2494,7 +2506,7 @@ static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
 
 	is_hdmi = intel_bios_encoder_supports_hdmi(devdata);
 
-	drm_dbg_kms(&i915->drm, "VBT claims port A supports DVI%s, ignoring\n",
+	drm_dbg_kms(display->drm, "VBT claims port A supports DVI%s, ignoring\n",
 		    is_hdmi ? "/HDMI" : "");
 
 	devdata->child.device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING;
@@ -2504,7 +2516,8 @@ static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
 static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
 				      enum port port)
 {
-	struct drm_i915_private *i915 = devdata->i915;
+	struct intel_display *display = devdata->display;
+	struct drm_i915_private *i915 = to_i915(display->drm);
 
 	if (!intel_bios_encoder_supports_dvi(devdata))
 		return;
@@ -2515,7 +2528,8 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
 	 * up to 11, whereas the BDW max is 9.
 	 */
 	if (IS_BROADWELL(i915) && devdata->child.hdmi_level_shifter_value > 9) {
-		drm_dbg_kms(&i915->drm, "Bogus port %c VBT HDMI level shift %d, adjusting to %d\n",
+		drm_dbg_kms(display->drm,
+			    "Bogus port %c VBT HDMI level shift %d, adjusting to %d\n",
 			    port_name(port), devdata->child.hdmi_level_shifter_value, 9);
 
 		devdata->child.hdmi_level_shifter_value = 9;
@@ -2563,14 +2577,14 @@ intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata)
 bool
 intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata)
 {
-	return devdata && HAS_LSPCON(devdata->i915) && devdata->child.lspcon;
+	return devdata && HAS_LSPCON(devdata->display) && devdata->child.lspcon;
 }
 
 /* This is an index in the HDMI/DVI DDI buffer translation table, or -1 */
 int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata)
 {
-	if (!devdata || devdata->i915->display.vbt.version < 158 ||
-	    DISPLAY_VER(devdata->i915) >= 14)
+	if (!devdata || devdata->display->vbt.version < 158 ||
+	    DISPLAY_VER(devdata->display) >= 14)
 		return -1;
 
 	return devdata->child.hdmi_level_shifter_value;
@@ -2578,7 +2592,7 @@ int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata)
 
 int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata)
 {
-	if (!devdata || devdata->i915->display.vbt.version < 204)
+	if (!devdata || devdata->display->vbt.version < 204)
 		return 0;
 
 	switch (devdata->child.hdmi_max_data_rate) {
@@ -2600,8 +2614,9 @@ int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata
 	}
 }
 
-static bool is_port_valid(struct drm_i915_private *i915, enum port port)
+static bool is_port_valid(struct intel_display *display, enum port port)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	/*
 	 * On some ICL SKUs port F is not present, but broken VBTs mark
 	 * the port as present. Only try to initialize port F for the
@@ -2615,7 +2630,7 @@ static bool is_port_valid(struct drm_i915_private *i915, enum port port)
 
 static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
 {
-	struct drm_i915_private *i915 = devdata->i915;
+	struct intel_display *display = devdata->display;
 	const struct child_device_config *child = &devdata->child;
 	bool is_dvi, is_hdmi, is_dp, is_edp, is_dsi, is_crt, supports_typec_usb, supports_tbt;
 	int dp_boost_level, dp_max_link_rate, hdmi_boost_level, hdmi_level_shift, max_tmds_clock;
@@ -2635,7 +2650,7 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
 	supports_typec_usb = intel_bios_encoder_supports_typec_usb(devdata);
 	supports_tbt = intel_bios_encoder_supports_tbt(devdata);
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "Port %c VBT info: CRT:%d DVI:%d HDMI:%d DP:%d eDP:%d DSI:%d DP++:%d LSPCON:%d USB-Type-C:%d TBT:%d DSC:%d\n",
 		    port_name(port), is_crt, is_dvi, is_hdmi, is_dp, is_edp, is_dsi,
 		    intel_bios_encoder_supports_dp_dual_mode(devdata),
@@ -2645,33 +2660,33 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
 
 	hdmi_level_shift = intel_bios_hdmi_level_shift(devdata);
 	if (hdmi_level_shift >= 0) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Port %c VBT HDMI level shift: %d\n",
 			    port_name(port), hdmi_level_shift);
 	}
 
 	max_tmds_clock = intel_bios_hdmi_max_tmds_clock(devdata);
 	if (max_tmds_clock)
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Port %c VBT HDMI max TMDS clock: %d kHz\n",
 			    port_name(port), max_tmds_clock);
 
 	/* I_boost config for SKL and above */
 	dp_boost_level = intel_bios_dp_boost_level(devdata);
 	if (dp_boost_level)
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Port %c VBT (e)DP boost level: %d\n",
 			    port_name(port), dp_boost_level);
 
 	hdmi_boost_level = intel_bios_hdmi_boost_level(devdata);
 	if (hdmi_boost_level)
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Port %c VBT HDMI boost level: %d\n",
 			    port_name(port), hdmi_boost_level);
 
 	dp_max_link_rate = intel_bios_dp_max_link_rate(devdata);
 	if (dp_max_link_rate)
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Port %c VBT DP max link rate: %d\n",
 			    port_name(port), dp_max_link_rate);
 
@@ -2679,22 +2694,22 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
 	 * FIXME need to implement support for VBT
 	 * vswing/preemph tables should this ever trigger.
 	 */
-	drm_WARN(&i915->drm, child->use_vbt_vswing,
+	drm_WARN(display->drm, child->use_vbt_vswing,
 		 "Port %c asks to use VBT vswing/preemph tables\n",
 		 port_name(port));
 }
 
 static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
 {
-	struct drm_i915_private *i915 = devdata->i915;
+	struct intel_display *display = devdata->display;
 	enum port port;
 
 	port = intel_bios_encoder_port(devdata);
 	if (port == PORT_NONE)
 		return;
 
-	if (!is_port_valid(i915, port)) {
-		drm_dbg_kms(&i915->drm,
+	if (!is_port_valid(display, port)) {
+		drm_dbg_kms(display->drm,
 			    "VBT reports port %c as supported, but that can't be true: skipping\n",
 			    port_name(port));
 		return;
@@ -2704,22 +2719,24 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
 	sanitize_hdmi_level_shift(devdata, port);
 }
 
-static bool has_ddi_port_info(struct drm_i915_private *i915)
+static bool has_ddi_port_info(struct intel_display *display)
 {
-	return DISPLAY_VER(i915) >= 5 || IS_G4X(i915);
+	struct drm_i915_private *i915 = to_i915(display->drm);
+
+	return DISPLAY_VER(display) >= 5 || IS_G4X(i915);
 }
 
-static void parse_ddi_ports(struct drm_i915_private *i915)
+static void parse_ddi_ports(struct intel_display *display)
 {
 	struct intel_bios_encoder_data *devdata;
 
-	if (!has_ddi_port_info(i915))
+	if (!has_ddi_port_info(display))
 		return;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
+	list_for_each_entry(devdata, &display->vbt.display_devices, node)
 		parse_ddi_port(devdata);
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
+	list_for_each_entry(devdata, &display->vbt.display_devices, node)
 		print_ddi_port(devdata);
 }
 
@@ -2745,27 +2762,27 @@ static int child_device_expected_size(u16 version)
 		return 22;
 }
 
-static bool child_device_size_valid(struct drm_i915_private *i915, int size)
+static bool child_device_size_valid(struct intel_display *display, int size)
 {
 	int expected_size;
 
-	expected_size = child_device_expected_size(i915->display.vbt.version);
+	expected_size = child_device_expected_size(display->vbt.version);
 	if (expected_size < 0) {
 		expected_size = sizeof(struct child_device_config);
-		drm_dbg(&i915->drm,
+		drm_dbg(display->drm,
 			"Expected child device config size for VBT version %u not known; assuming %d\n",
-			i915->display.vbt.version, expected_size);
+			display->vbt.version, expected_size);
 	}
 
 	/* Flag an error for unexpected size, but continue anyway. */
 	if (size != expected_size)
-		drm_err(&i915->drm,
+		drm_err(display->drm,
 			"Unexpected child device config size %d (expected %d for VBT version %u)\n",
-			size, expected_size, i915->display.vbt.version);
+			size, expected_size, display->vbt.version);
 
 	/* The legacy sized child device config is the minimum we need. */
 	if (size < LEGACY_CHILD_DEVICE_CONFIG_SIZE) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Child device config size %d is too small.\n",
 			    size);
 		return false;
@@ -2775,8 +2792,9 @@ static bool child_device_size_valid(struct drm_i915_private *i915, int size)
 }
 
 static void
-parse_general_definitions(struct drm_i915_private *i915)
+parse_general_definitions(struct intel_display *display)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const struct bdb_general_definitions *defs;
 	struct intel_bios_encoder_data *devdata;
 	const struct child_device_config *child;
@@ -2784,27 +2802,27 @@ parse_general_definitions(struct drm_i915_private *i915)
 	u16 block_size;
 	int bus_pin;
 
-	defs = bdb_find_section(i915, BDB_GENERAL_DEFINITIONS);
+	defs = bdb_find_section(display, BDB_GENERAL_DEFINITIONS);
 	if (!defs) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "No general definition block is found, no devices defined.\n");
 		return;
 	}
 
 	block_size = get_blocksize(defs);
 	if (block_size < sizeof(*defs)) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "General definitions block too small (%u)\n",
 			    block_size);
 		return;
 	}
 
 	bus_pin = defs->crt_ddc_gmbus_pin;
-	drm_dbg_kms(&i915->drm, "crt_ddc_bus_pin: %d\n", bus_pin);
+	drm_dbg_kms(display->drm, "crt_ddc_bus_pin: %d\n", bus_pin);
 	if (intel_gmbus_is_valid_pin(i915, bus_pin))
-		i915->display.vbt.crt_ddc_pin = bus_pin;
+		display->vbt.crt_ddc_pin = bus_pin;
 
-	if (!child_device_size_valid(i915, defs->child_dev_size))
+	if (!child_device_size_valid(display, defs->child_dev_size))
 		return;
 
 	/* get the number of child device */
@@ -2815,7 +2833,7 @@ parse_general_definitions(struct drm_i915_private *i915)
 		if (!child->device_type)
 			continue;
 
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Found VBT child device with type 0x%x\n",
 			    child->device_type);
 
@@ -2823,7 +2841,7 @@ parse_general_definitions(struct drm_i915_private *i915)
 		if (!devdata)
 			break;
 
-		devdata->i915 = i915;
+		devdata->display = display;
 
 		/*
 		 * Copy as much as we know (sizeof) and is available
@@ -2833,37 +2851,39 @@ parse_general_definitions(struct drm_i915_private *i915)
 		memcpy(&devdata->child, child,
 		       min_t(size_t, defs->child_dev_size, sizeof(*child)));
 
-		list_add_tail(&devdata->node, &i915->display.vbt.display_devices);
+		list_add_tail(&devdata->node, &display->vbt.display_devices);
 	}
 
-	if (list_empty(&i915->display.vbt.display_devices))
-		drm_dbg_kms(&i915->drm,
+	if (list_empty(&display->vbt.display_devices))
+		drm_dbg_kms(display->drm,
 			    "no child dev is parsed from VBT\n");
 }
 
 /* Common defaults which may be overridden by VBT. */
 static void
-init_vbt_defaults(struct drm_i915_private *i915)
+init_vbt_defaults(struct intel_display *display)
 {
-	i915->display.vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
+	struct drm_i915_private *i915 = to_i915(display->drm);
+
+	display->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
 
 	/* general features */
-	i915->display.vbt.int_tv_support = 1;
-	i915->display.vbt.int_crt_support = 1;
+	display->vbt.int_tv_support = 1;
+	display->vbt.int_crt_support = 1;
 
 	/* driver features */
-	i915->display.vbt.int_lvds_support = 1;
+	display->vbt.int_lvds_support = 1;
 
 	/* Default to using SSC */
-	i915->display.vbt.lvds_use_ssc = 1;
+	display->vbt.lvds_use_ssc = 1;
 	/*
 	 * Core/SandyBridge/IvyBridge use alternative (120MHz) reference
 	 * clock for LVDS.
 	 */
-	i915->display.vbt.lvds_ssc_freq = intel_bios_ssc_frequency(i915,
-								   !HAS_PCH_SPLIT(i915));
-	drm_dbg_kms(&i915->drm, "Set default to SSC at %d kHz\n",
-		    i915->display.vbt.lvds_ssc_freq);
+	display->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(display,
+							      !HAS_PCH_SPLIT(i915));
+	drm_dbg_kms(display->drm, "Set default to SSC at %d kHz\n",
+		    display->vbt.lvds_ssc_freq);
 }
 
 /* Common defaults which may be overridden by VBT. */
@@ -2879,12 +2899,13 @@ init_vbt_panel_defaults(struct intel_panel *panel)
 
 /* Defaults to initialize only if there is no VBT. */
 static void
-init_vbt_missing_defaults(struct drm_i915_private *i915)
+init_vbt_missing_defaults(struct intel_display *display)
 {
-	unsigned int ports = DISPLAY_RUNTIME_INFO(i915)->port_mask;
+	struct drm_i915_private *i915 = to_i915(display->drm);
+	unsigned int ports = DISPLAY_RUNTIME_INFO(display)->port_mask;
 	enum port port;
 
-	if (!HAS_DDI(i915) && !IS_CHERRYVIEW(i915))
+	if (!HAS_DDI(display) && !IS_CHERRYVIEW(i915))
 		return;
 
 	for_each_port_masked(port, ports) {
@@ -2904,7 +2925,7 @@ init_vbt_missing_defaults(struct drm_i915_private *i915)
 		if (!devdata)
 			break;
 
-		devdata->i915 = i915;
+		devdata->display = display;
 		child = &devdata->child;
 
 		if (port == PORT_F)
@@ -2923,15 +2944,15 @@ init_vbt_missing_defaults(struct drm_i915_private *i915)
 		if (port == PORT_A)
 			child->device_type |= DEVICE_TYPE_INTERNAL_CONNECTOR;
 
-		list_add_tail(&devdata->node, &i915->display.vbt.display_devices);
+		list_add_tail(&devdata->node, &display->vbt.display_devices);
 
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Generating default VBT child device with type 0x04%x on port %c\n",
 			    child->device_type, port_name(port));
 	}
 
 	/* Bypass some minimum baseline VBT version checks */
-	i915->display.vbt.version = 155;
+	display->vbt.version = 155;
 }
 
 static const struct bdb_header *get_bdb_header(const struct vbt_header *vbt)
@@ -2943,13 +2964,13 @@ static const struct bdb_header *get_bdb_header(const struct vbt_header *vbt)
 
 /**
  * intel_bios_is_valid_vbt - does the given buffer contain a valid VBT
- * @i915:	the device
+ * @display:	display device
  * @buf:	pointer to a buffer to validate
  * @size:	size of the buffer
  *
  * Returns true on valid VBT.
  */
-bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
+bool intel_bios_is_valid_vbt(struct intel_display *display,
 			     const void *buf, size_t size)
 {
 	const struct vbt_header *vbt = buf;
@@ -2959,17 +2980,18 @@ bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
 		return false;
 
 	if (sizeof(struct vbt_header) > size) {
-		drm_dbg_kms(&i915->drm, "VBT header incomplete\n");
+		drm_dbg_kms(display->drm, "VBT header incomplete\n");
 		return false;
 	}
 
 	if (memcmp(vbt->signature, "$VBT", 4)) {
-		drm_dbg_kms(&i915->drm, "VBT invalid signature\n");
+		drm_dbg_kms(display->drm, "VBT invalid signature\n");
 		return false;
 	}
 
 	if (vbt->vbt_size > size) {
-		drm_dbg_kms(&i915->drm, "VBT incomplete (vbt_size overflows)\n");
+		drm_dbg_kms(display->drm,
+			    "VBT incomplete (vbt_size overflows)\n");
 		return false;
 	}
 
@@ -2979,48 +3001,48 @@ bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
 			      vbt->bdb_offset,
 			      sizeof(struct bdb_header),
 			      size)) {
-		drm_dbg_kms(&i915->drm, "BDB header incomplete\n");
+		drm_dbg_kms(display->drm, "BDB header incomplete\n");
 		return false;
 	}
 
 	bdb = get_bdb_header(vbt);
 	if (range_overflows_t(size_t, vbt->bdb_offset, bdb->bdb_size, size)) {
-		drm_dbg_kms(&i915->drm, "BDB incomplete\n");
+		drm_dbg_kms(display->drm, "BDB incomplete\n");
 		return false;
 	}
 
 	return vbt;
 }
 
-static struct vbt_header *firmware_get_vbt(struct drm_i915_private *i915,
+static struct vbt_header *firmware_get_vbt(struct intel_display *display,
 					   size_t *size)
 {
 	struct vbt_header *vbt = NULL;
 	const struct firmware *fw = NULL;
-	const char *name = i915->display.params.vbt_firmware;
+	const char *name = display->params.vbt_firmware;
 	int ret;
 
 	if (!name || !*name)
 		return NULL;
 
-	ret = request_firmware(&fw, name, i915->drm.dev);
+	ret = request_firmware(&fw, name, display->drm->dev);
 	if (ret) {
-		drm_err(&i915->drm,
+		drm_err(display->drm,
 			"Requesting VBT firmware \"%s\" failed (%d)\n",
 			name, ret);
 		return NULL;
 	}
 
-	if (intel_bios_is_valid_vbt(i915, fw->data, fw->size)) {
+	if (intel_bios_is_valid_vbt(display, fw->data, fw->size)) {
 		vbt = kmemdup(fw->data, fw->size, GFP_KERNEL);
 		if (vbt) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "Found valid VBT firmware \"%s\"\n", name);
 			if (size)
 				*size = fw->size;
 		}
 	} else {
-		drm_dbg_kms(&i915->drm, "Invalid VBT firmware \"%s\"\n",
+		drm_dbg_kms(display->drm, "Invalid VBT firmware \"%s\"\n",
 			    name);
 	}
 
@@ -3036,9 +3058,10 @@ static u32 intel_spi_read(struct intel_uncore *uncore, u32 offset)
 	return intel_uncore_read(uncore, PRIMARY_SPI_TRIGGER);
 }
 
-static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915,
+static struct vbt_header *spi_oprom_get_vbt(struct intel_display *display,
 					    size_t *size)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	u32 count, data, found, store = 0;
 	u32 static_region, oprom_offset;
 	u32 oprom_size = 0x200000;
@@ -3075,10 +3098,10 @@ static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915,
 	for (count = 0; count < vbt_size; count += 4)
 		*(vbt + store++) = intel_spi_read(&i915->uncore, found + count);
 
-	if (!intel_bios_is_valid_vbt(i915, vbt, vbt_size))
+	if (!intel_bios_is_valid_vbt(display, vbt, vbt_size))
 		goto err_free_vbt;
 
-	drm_dbg_kms(&i915->drm, "Found valid VBT in SPI flash\n");
+	drm_dbg_kms(display->drm, "Found valid VBT in SPI flash\n");
 
 	if (size)
 		*size = vbt_size;
@@ -3091,10 +3114,10 @@ static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915,
 	return NULL;
 }
 
-static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
+static struct vbt_header *oprom_get_vbt(struct intel_display *display,
 					size_t *sizep)
 {
-	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
+	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
 	void __iomem *p = NULL, *oprom;
 	struct vbt_header *vbt;
 	u16 vbt_size;
@@ -3118,13 +3141,13 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
 		goto err_unmap_oprom;
 
 	if (sizeof(struct vbt_header) > size) {
-		drm_dbg(&i915->drm, "VBT header incomplete\n");
+		drm_dbg(display->drm, "VBT header incomplete\n");
 		goto err_unmap_oprom;
 	}
 
 	vbt_size = ioread16(p + offsetof(struct vbt_header, vbt_size));
 	if (vbt_size > size) {
-		drm_dbg(&i915->drm,
+		drm_dbg(display->drm,
 			"VBT incomplete (vbt_size overflows)\n");
 		goto err_unmap_oprom;
 	}
@@ -3136,7 +3159,7 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
 
 	memcpy_fromio(vbt, p, vbt_size);
 
-	if (!intel_bios_is_valid_vbt(i915, vbt, vbt_size))
+	if (!intel_bios_is_valid_vbt(display, vbt, vbt_size))
 		goto err_free_vbt;
 
 	pci_unmap_rom(pdev, oprom);
@@ -3144,7 +3167,7 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
 	if (sizep)
 		*sizep = vbt_size;
 
-	drm_dbg_kms(&i915->drm, "Found valid VBT in PCI ROM\n");
+	drm_dbg_kms(display->drm, "Found valid VBT in PCI ROM\n");
 
 	return vbt;
 
@@ -3156,14 +3179,14 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
 	return NULL;
 }
 
-static const struct vbt_header *intel_bios_get_vbt(struct drm_i915_private *i915,
+static const struct vbt_header *intel_bios_get_vbt(struct intel_display *display,
 						   size_t *sizep)
 {
-	struct intel_display *display = &i915->display;
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const struct vbt_header *vbt = NULL;
 	intel_wakeref_t wakeref;
 
-	vbt = firmware_get_vbt(i915, sizep);
+	vbt = firmware_get_vbt(display, sizep);
 
 	if (!vbt)
 		vbt = intel_opregion_get_vbt(display, sizep);
@@ -3174,76 +3197,77 @@ static const struct vbt_header *intel_bios_get_vbt(struct drm_i915_private *i915
 	 */
 	if (!vbt && IS_DGFX(i915))
 		with_intel_runtime_pm(&i915->runtime_pm, wakeref)
-			vbt = spi_oprom_get_vbt(i915, sizep);
+			vbt = spi_oprom_get_vbt(display, sizep);
 
 	if (!vbt)
 		with_intel_runtime_pm(&i915->runtime_pm, wakeref)
-			vbt = oprom_get_vbt(i915, sizep);
+			vbt = oprom_get_vbt(display, sizep);
 
 	return vbt;
 }
 
 /**
  * intel_bios_init - find VBT and initialize settings from the BIOS
- * @i915: i915 device instance
+ * @display: display device instance
  *
  * Parse and initialize settings from the Video BIOS Tables (VBT). If the VBT
  * was not found in ACPI OpRegion, try to find it in PCI ROM first. Also
  * initialize some defaults if the VBT is not present at all.
  */
-void intel_bios_init(struct drm_i915_private *i915)
+void intel_bios_init(struct intel_display *display)
 {
 	const struct vbt_header *vbt;
 	const struct bdb_header *bdb;
 
-	INIT_LIST_HEAD(&i915->display.vbt.display_devices);
-	INIT_LIST_HEAD(&i915->display.vbt.bdb_blocks);
+	INIT_LIST_HEAD(&display->vbt.display_devices);
+	INIT_LIST_HEAD(&display->vbt.bdb_blocks);
 
-	if (!HAS_DISPLAY(i915)) {
-		drm_dbg_kms(&i915->drm,
+	if (!HAS_DISPLAY(display)) {
+		drm_dbg_kms(display->drm,
 			    "Skipping VBT init due to disabled display.\n");
 		return;
 	}
 
-	init_vbt_defaults(i915);
+	init_vbt_defaults(display);
 
-	vbt = intel_bios_get_vbt(i915, NULL);
+	vbt = intel_bios_get_vbt(display, NULL);
 
 	if (!vbt)
 		goto out;
 
 	bdb = get_bdb_header(vbt);
-	i915->display.vbt.version = bdb->version;
+	display->vbt.version = bdb->version;
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "VBT signature \"%.*s\", BDB version %d\n",
-		    (int)sizeof(vbt->signature), vbt->signature, i915->display.vbt.version);
+		    (int)sizeof(vbt->signature), vbt->signature,
+		    display->vbt.version);
 
-	init_bdb_blocks(i915, bdb);
+	init_bdb_blocks(display, bdb);
 
 	/* Grab useful general definitions */
-	parse_general_features(i915);
-	parse_general_definitions(i915);
-	parse_driver_features(i915);
+	parse_general_features(display);
+	parse_general_definitions(display);
+	parse_driver_features(display);
 
 	/* Depends on child device list */
-	parse_compression_parameters(i915);
+	parse_compression_parameters(display);
 
 out:
 	if (!vbt) {
-		drm_info(&i915->drm,
+		drm_info(display->drm,
 			 "Failed to find VBIOS tables (VBT)\n");
-		init_vbt_missing_defaults(i915);
+		init_vbt_missing_defaults(display);
 	}
 
 	/* Further processing on pre-parsed or generated child device data */
-	parse_sdvo_device_mapping(i915);
-	parse_ddi_ports(i915);
+	parse_sdvo_device_mapping(display);
+	parse_ddi_ports(display);
 
 	kfree(vbt);
 }
 
-static void intel_bios_init_panel(struct drm_i915_private *i915,
+static void intel_bios_init_panel(struct intel_display *display,
 				  struct intel_panel *panel,
 				  const struct intel_bios_encoder_data *devdata,
 				  const struct drm_edid *drm_edid,
@@ -3251,63 +3275,64 @@ static void intel_bios_init_panel(struct drm_i915_private *i915,
 {
 	/* already have it? */
 	if (panel->vbt.panel_type >= 0) {
-		drm_WARN_ON(&i915->drm, !use_fallback);
+		drm_WARN_ON(display->drm, !use_fallback);
 		return;
 	}
 
-	panel->vbt.panel_type = get_panel_type(i915, devdata,
+	panel->vbt.panel_type = get_panel_type(display, devdata,
 					       drm_edid, use_fallback);
 	if (panel->vbt.panel_type < 0) {
-		drm_WARN_ON(&i915->drm, use_fallback);
+		drm_WARN_ON(display->drm, use_fallback);
 		return;
 	}
 
 	init_vbt_panel_defaults(panel);
 
-	parse_panel_options(i915, panel);
-	parse_generic_dtd(i915, panel);
-	parse_lfp_data(i915, panel);
-	parse_lfp_backlight(i915, panel);
-	parse_sdvo_lvds_data(i915, panel);
-	parse_panel_driver_features(i915, panel);
-	parse_power_conservation_features(i915, panel);
-	parse_edp(i915, panel);
-	parse_psr(i915, panel);
-	parse_mipi_config(i915, panel);
-	parse_mipi_sequence(i915, panel);
+	parse_panel_options(display, panel);
+	parse_generic_dtd(display, panel);
+	parse_lfp_data(display, panel);
+	parse_lfp_backlight(display, panel);
+	parse_sdvo_lvds_data(display, panel);
+	parse_panel_driver_features(display, panel);
+	parse_power_conservation_features(display, panel);
+	parse_edp(display, panel);
+	parse_psr(display, panel);
+	parse_mipi_config(display, panel);
+	parse_mipi_sequence(display, panel);
 }
 
-void intel_bios_init_panel_early(struct drm_i915_private *i915,
+void intel_bios_init_panel_early(struct intel_display *display,
 				 struct intel_panel *panel,
 				 const struct intel_bios_encoder_data *devdata)
 {
-	intel_bios_init_panel(i915, panel, devdata, NULL, false);
+	intel_bios_init_panel(display, panel, devdata, NULL, false);
 }
 
-void intel_bios_init_panel_late(struct drm_i915_private *i915,
+void intel_bios_init_panel_late(struct intel_display *display,
 				struct intel_panel *panel,
 				const struct intel_bios_encoder_data *devdata,
 				const struct drm_edid *drm_edid)
 {
-	intel_bios_init_panel(i915, panel, devdata, drm_edid, true);
+	intel_bios_init_panel(display, panel, devdata, drm_edid, true);
 }
 
 /**
  * intel_bios_driver_remove - Free any resources allocated by intel_bios_init()
- * @i915: i915 device instance
+ * @display: display device instance
  */
-void intel_bios_driver_remove(struct drm_i915_private *i915)
+void intel_bios_driver_remove(struct intel_display *display)
 {
 	struct intel_bios_encoder_data *devdata, *nd;
 	struct bdb_block_entry *entry, *ne;
 
-	list_for_each_entry_safe(devdata, nd, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry_safe(devdata, nd, &display->vbt.display_devices,
+				 node) {
 		list_del(&devdata->node);
 		kfree(devdata->dsc);
 		kfree(devdata);
 	}
 
-	list_for_each_entry_safe(entry, ne, &i915->display.vbt.bdb_blocks, node) {
+	list_for_each_entry_safe(entry, ne, &display->vbt.bdb_blocks, node) {
 		list_del(&entry->node);
 		kfree(entry);
 	}
@@ -3331,22 +3356,22 @@ void intel_bios_fini_panel(struct intel_panel *panel)
 
 /**
  * intel_bios_is_tv_present - is integrated TV present in VBT
- * @i915: i915 device instance
+ * @display: display device instance
  *
  * Return true if TV is present. If no child devices were parsed from VBT,
  * assume TV is present.
  */
-bool intel_bios_is_tv_present(struct drm_i915_private *i915)
+bool intel_bios_is_tv_present(struct intel_display *display)
 {
 	const struct intel_bios_encoder_data *devdata;
 
-	if (!i915->display.vbt.int_tv_support)
+	if (!display->vbt.int_tv_support)
 		return false;
 
-	if (list_empty(&i915->display.vbt.display_devices))
+	if (list_empty(&display->vbt.display_devices))
 		return true;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		const struct child_device_config *child = &devdata->child;
 
 		/*
@@ -3372,21 +3397,21 @@ bool intel_bios_is_tv_present(struct drm_i915_private *i915)
 
 /**
  * intel_bios_is_lvds_present - is LVDS present in VBT
- * @i915:	i915 device instance
+ * @display: display device instance
  * @i2c_pin:	i2c pin for LVDS if present
  *
  * Return true if LVDS is present. If no child devices were parsed from VBT,
  * assume LVDS is present.
  */
-bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
+bool intel_bios_is_lvds_present(struct intel_display *display, u8 *i2c_pin)
 {
-	struct intel_display *display = &i915->display;
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const struct intel_bios_encoder_data *devdata;
 
-	if (list_empty(&i915->display.vbt.display_devices))
+	if (list_empty(&display->vbt.display_devices))
 		return true;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		const struct child_device_config *child = &devdata->child;
 
 		/* If the device type is not LFP, continue.
@@ -3421,25 +3446,25 @@ bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
 
 /**
  * intel_bios_is_port_present - is the specified digital port present
- * @i915:	i915 device instance
+ * @display: display device instance
  * @port:	port to check
  *
  * Return true if the device in %port is present.
  */
-bool intel_bios_is_port_present(struct drm_i915_private *i915, enum port port)
+bool intel_bios_is_port_present(struct intel_display *display, enum port port)
 {
 	const struct intel_bios_encoder_data *devdata;
 
-	if (WARN_ON(!has_ddi_port_info(i915)))
+	if (WARN_ON(!has_ddi_port_info(display)))
 		return true;
 
-	if (!is_port_valid(i915, port))
+	if (!is_port_valid(display, port))
 		return false;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		const struct child_device_config *child = &devdata->child;
 
-		if (dvo_port_to_port(i915, child->dvo_port) == port)
+		if (dvo_port_to_port(display, child->dvo_port) == port)
 			return true;
 	}
 
@@ -3470,32 +3495,32 @@ bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_da
 
 /**
  * intel_bios_is_dsi_present - is DSI present in VBT
- * @i915:	i915 device instance
+ * @display: display device instance
  * @port:	port for DSI if present
  *
  * Return true if DSI is present, and return the port in %port.
  */
-bool intel_bios_is_dsi_present(struct drm_i915_private *i915,
+bool intel_bios_is_dsi_present(struct intel_display *display,
 			       enum port *port)
 {
 	const struct intel_bios_encoder_data *devdata;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		const struct child_device_config *child = &devdata->child;
 		u8 dvo_port = child->dvo_port;
 
 		if (!(child->device_type & DEVICE_TYPE_MIPI_OUTPUT))
 			continue;
 
-		if (dsi_dvo_port_to_port(i915, dvo_port) == PORT_NONE) {
-			drm_dbg_kms(&i915->drm,
+		if (dsi_dvo_port_to_port(display, dvo_port) == PORT_NONE) {
+			drm_dbg_kms(display->drm,
 				    "VBT has unsupported DSI port %c\n",
 				    port_name(dvo_port - DVO_PORT_MIPIA));
 			continue;
 		}
 
 		if (port)
-			*port = dsi_dvo_port_to_port(i915, dvo_port);
+			*port = dsi_dvo_port_to_port(display, dvo_port);
 		return true;
 	}
 
@@ -3506,7 +3531,7 @@ static void fill_dsc(struct intel_crtc_state *crtc_state,
 		     struct dsc_compression_parameters_entry *dsc,
 		     int dsc_max_bpc)
 {
-	struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
+	struct intel_display *display = to_intel_display(crtc_state);
 	struct drm_dsc_config *vdsc_cfg = &crtc_state->dsc.config;
 	int bpc = 8;
 
@@ -3520,7 +3545,7 @@ static void fill_dsc(struct intel_crtc_state *crtc_state,
 	else if (dsc->support_8bpc && dsc_max_bpc >= 8)
 		bpc = 8;
 	else
-		drm_dbg_kms(&i915->drm, "VBT: Unsupported BPC %d for DCS\n",
+		drm_dbg_kms(display->drm, "VBT: Unsupported BPC %d for DCS\n",
 			    dsc_max_bpc);
 
 	crtc_state->pipe_bpp = bpc * 3;
@@ -3541,14 +3566,16 @@ static void fill_dsc(struct intel_crtc_state *crtc_state,
 	} else {
 		/* FIXME */
 		if (!(dsc->slices_per_line & BIT(0)))
-			drm_dbg_kms(&i915->drm, "VBT: Unsupported DSC slice count for DSI\n");
+			drm_dbg_kms(display->drm,
+				    "VBT: Unsupported DSC slice count for DSI\n");
 
 		crtc_state->dsc.slice_count = 1;
 	}
 
 	if (crtc_state->hw.adjusted_mode.crtc_hdisplay %
 	    crtc_state->dsc.slice_count != 0)
-		drm_dbg_kms(&i915->drm, "VBT: DSC hdisplay %d not divisible by slice count %d\n",
+		drm_dbg_kms(display->drm,
+			    "VBT: DSC hdisplay %d not divisible by slice count %d\n",
 			    crtc_state->hw.adjusted_mode.crtc_hdisplay,
 			    crtc_state->dsc.slice_count);
 
@@ -3572,16 +3599,16 @@ bool intel_bios_get_dsc_params(struct intel_encoder *encoder,
 			       struct intel_crtc_state *crtc_state,
 			       int dsc_max_bpc)
 {
-	struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+	struct intel_display *display = to_intel_display(encoder);
 	const struct intel_bios_encoder_data *devdata;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		const struct child_device_config *child = &devdata->child;
 
 		if (!(child->device_type & DEVICE_TYPE_MIPI_OUTPUT))
 			continue;
 
-		if (dsi_dvo_port_to_port(i915, child->dvo_port) == encoder->port) {
+		if (dsi_dvo_port_to_port(display, child->dvo_port) == encoder->port) {
 			if (!devdata->dsc)
 				return false;
 
@@ -3641,12 +3668,13 @@ static const u8 direct_aux_ch_map[] = {
 	[AUX_CH_I] = DP_AUX_I, /* aka AUX_CH_USBC6 */
 };
 
-static enum aux_ch map_aux_ch(struct drm_i915_private *i915, u8 aux_channel)
+static enum aux_ch map_aux_ch(struct intel_display *display, u8 aux_channel)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const u8 *aux_ch_map;
 	int i, n_entries;
 
-	if (DISPLAY_VER(i915) >= 13) {
+	if (DISPLAY_VER(display) >= 13) {
 		aux_ch_map = adlp_aux_ch_map;
 		n_entries = ARRAY_SIZE(adlp_aux_ch_map);
 	} else if (IS_ALDERLAKE_S(i915)) {
@@ -3665,7 +3693,7 @@ static enum aux_ch map_aux_ch(struct drm_i915_private *i915, u8 aux_channel)
 			return i;
 	}
 
-	drm_dbg_kms(&i915->drm,
+	drm_dbg_kms(display->drm,
 		    "Ignoring alternate AUX CH: VBT claims AUX 0x%x, which is not valid for this platform\n",
 		    aux_channel);
 
@@ -3677,22 +3705,22 @@ enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata)
 	if (!devdata || !devdata->child.aux_channel)
 		return AUX_CH_NONE;
 
-	return map_aux_ch(devdata->i915, devdata->child.aux_channel);
+	return map_aux_ch(devdata->display, devdata->child.aux_channel);
 }
 
 bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devdata)
 {
-	struct drm_i915_private *i915;
+	struct intel_display *display;
 	u8 aux_channel;
 	int count = 0;
 
 	if (!devdata || !devdata->child.aux_channel)
 		return false;
 
-	i915 = devdata->i915;
+	display = devdata->display;
 	aux_channel = devdata->child.aux_channel;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		if (intel_bios_encoder_supports_dp(devdata) &&
 		    aux_channel == devdata->child.aux_channel)
 			count++;
@@ -3703,18 +3731,18 @@ bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devda
 
 int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata)
 {
-	if (!devdata || devdata->i915->display.vbt.version < 196 || !devdata->child.iboost)
+	if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost)
 		return 0;
 
-	return translate_iboost(devdata->i915, devdata->child.dp_iboost_level);
+	return translate_iboost(devdata->display, devdata->child.dp_iboost_level);
 }
 
 int intel_bios_hdmi_boost_level(const struct intel_bios_encoder_data *devdata)
 {
-	if (!devdata || devdata->i915->display.vbt.version < 196 || !devdata->child.iboost)
+	if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost)
 		return 0;
 
-	return translate_iboost(devdata->i915, devdata->child.hdmi_iboost_level);
+	return translate_iboost(devdata->display, devdata->child.hdmi_iboost_level);
 }
 
 int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata)
@@ -3722,17 +3750,17 @@ int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata)
 	if (!devdata || !devdata->child.ddc_pin)
 		return 0;
 
-	return map_ddc_pin(devdata->i915, devdata->child.ddc_pin);
+	return map_ddc_pin(devdata->display, devdata->child.ddc_pin);
 }
 
 bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata)
 {
-	return devdata->i915->display.vbt.version >= 195 && devdata->child.dp_usb_type_c;
+	return devdata->display->vbt.version >= 195 && devdata->child.dp_usb_type_c;
 }
 
 bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata)
 {
-	return devdata->i915->display.vbt.version >= 209 && devdata->child.tbt;
+	return devdata->display->vbt.version >= 209 && devdata->child.tbt;
 }
 
 bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata)
@@ -3746,11 +3774,11 @@ bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata
 }
 
 const struct intel_bios_encoder_data *
-intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port)
+intel_bios_encoder_data_lookup(struct intel_display *display, enum port port)
 {
 	struct intel_bios_encoder_data *devdata;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
+	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
 		if (intel_bios_encoder_port(devdata) == port)
 			return devdata;
 	}
@@ -3758,23 +3786,23 @@ intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port)
 	return NULL;
 }
 
-void intel_bios_for_each_encoder(struct drm_i915_private *i915,
-				 void (*func)(struct drm_i915_private *i915,
+void intel_bios_for_each_encoder(struct intel_display *display,
+				 void (*func)(struct intel_display *display,
 					      const struct intel_bios_encoder_data *devdata))
 {
 	struct intel_bios_encoder_data *devdata;
 
-	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
-		func(i915, devdata);
+	list_for_each_entry(devdata, &display->vbt.display_devices, node)
+		func(display, devdata);
 }
 
 static int intel_bios_vbt_show(struct seq_file *m, void *unused)
 {
-	struct drm_i915_private *i915 = m->private;
+	struct intel_display *display = m->private;
 	const void *vbt;
 	size_t vbt_size;
 
-	vbt = intel_bios_get_vbt(i915, &vbt_size);
+	vbt = intel_bios_get_vbt(display, &vbt_size);
 
 	if (vbt) {
 		seq_write(m, vbt, vbt_size);
@@ -3786,10 +3814,10 @@ static int intel_bios_vbt_show(struct seq_file *m, void *unused)
 
 DEFINE_SHOW_ATTRIBUTE(intel_bios_vbt);
 
-void intel_bios_debugfs_register(struct drm_i915_private *i915)
+void intel_bios_debugfs_register(struct intel_display *display)
 {
-	struct drm_minor *minor = i915->drm.primary;
+	struct drm_minor *minor = display->drm->primary;
 
 	debugfs_create_file("i915_vbt", 0444, minor->debugfs_root,
-			    i915, &intel_bios_vbt_fops);
+			    display, &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 06a51be4afd8..8b703f6cfe17 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.h
+++ b/drivers/gpu/drm/i915/display/intel_bios.h
@@ -33,9 +33,9 @@
 #include <linux/types.h>
 
 struct drm_edid;
-struct drm_i915_private;
 struct intel_bios_encoder_data;
 struct intel_crtc_state;
+struct intel_display;
 struct intel_encoder;
 struct intel_panel;
 enum aux_ch;
@@ -232,28 +232,28 @@ struct mipi_pps_data {
 	u16 panel_power_cycle_delay;
 } __packed;
 
-void intel_bios_init(struct drm_i915_private *dev_priv);
-void intel_bios_init_panel_early(struct drm_i915_private *dev_priv,
+void intel_bios_init(struct intel_display *display);
+void intel_bios_init_panel_early(struct intel_display *display,
 				 struct intel_panel *panel,
 				 const struct intel_bios_encoder_data *devdata);
-void intel_bios_init_panel_late(struct drm_i915_private *dev_priv,
+void intel_bios_init_panel_late(struct intel_display *display,
 				struct intel_panel *panel,
 				const struct intel_bios_encoder_data *devdata,
 				const struct drm_edid *drm_edid);
 void intel_bios_fini_panel(struct intel_panel *panel);
-void intel_bios_driver_remove(struct drm_i915_private *dev_priv);
-bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
+void intel_bios_driver_remove(struct intel_display *display);
+bool intel_bios_is_valid_vbt(struct intel_display *display,
 			     const void *buf, size_t size);
-bool intel_bios_is_tv_present(struct drm_i915_private *dev_priv);
-bool intel_bios_is_lvds_present(struct drm_i915_private *dev_priv, u8 *i2c_pin);
-bool intel_bios_is_port_present(struct drm_i915_private *dev_priv, enum port port);
-bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port *port);
+bool intel_bios_is_tv_present(struct intel_display *display);
+bool intel_bios_is_lvds_present(struct intel_display *display, u8 *i2c_pin);
+bool intel_bios_is_port_present(struct intel_display *display, enum port port);
+bool intel_bios_is_dsi_present(struct intel_display *display, enum port *port);
 bool intel_bios_get_dsc_params(struct intel_encoder *encoder,
 			       struct intel_crtc_state *crtc_state,
 			       int dsc_max_bpc);
 
 const struct intel_bios_encoder_data *
-intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port);
+intel_bios_encoder_data_lookup(struct intel_display *display, enum port port);
 
 bool intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata);
 bool intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata);
@@ -277,10 +277,10 @@ int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata);
 int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata);
 int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata);
 
-void intel_bios_for_each_encoder(struct drm_i915_private *i915,
-				 void (*func)(struct drm_i915_private *i915,
+void intel_bios_for_each_encoder(struct intel_display *display,
+				 void (*func)(struct intel_display *display,
 					      const struct intel_bios_encoder_data *devdata));
 
-void intel_bios_debugfs_register(struct drm_i915_private *i915);
+void intel_bios_debugfs_register(struct intel_display *display);
 
 #endif /* _INTEL_BIOS_H_ */
diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
index 143d66951631..3252dab56430 100644
--- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
@@ -159,9 +159,11 @@ static bool icl_combo_phy_enabled(struct drm_i915_private *dev_priv,
 
 static bool ehl_vbt_ddi_d_present(struct drm_i915_private *i915)
 {
-	bool ddi_a_present = intel_bios_is_port_present(i915, PORT_A);
-	bool ddi_d_present = intel_bios_is_port_present(i915, PORT_D);
-	bool dsi_present = intel_bios_is_dsi_present(i915, NULL);
+	struct intel_display *display = &i915->display;
+
+	bool ddi_a_present = intel_bios_is_port_present(display, PORT_A);
+	bool ddi_d_present = intel_bios_is_port_present(display, PORT_D);
+	bool dsi_present = intel_bios_is_dsi_present(display, NULL);
 
 	/*
 	 * VBT's 'dvo port' field for child devices references the DDI, not
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index a07aca96e551..7414d767b8dc 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4853,9 +4853,10 @@ static bool port_in_use(struct drm_i915_private *i915, enum port port)
 	return false;
 }
 
-void intel_ddi_init(struct drm_i915_private *dev_priv,
+void intel_ddi_init(struct intel_display *display,
 		    const struct intel_bios_encoder_data *devdata)
 {
+	struct drm_i915_private *dev_priv = to_i915(display->drm);
 	struct intel_digital_port *dig_port;
 	struct intel_encoder *encoder;
 	bool init_hdmi, init_dp;
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.h b/drivers/gpu/drm/i915/display/intel_ddi.h
index 434de7196875..6d85422bdefe 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.h
+++ b/drivers/gpu/drm/i915/display/intel_ddi.h
@@ -15,6 +15,7 @@ struct intel_bios_encoder_data;
 struct intel_connector;
 struct intel_crtc;
 struct intel_crtc_state;
+struct intel_display;
 struct intel_dp;
 struct intel_dpll_hw_state;
 struct intel_encoder;
@@ -53,7 +54,7 @@ void hsw_prepare_dp_ddi_buffers(struct intel_encoder *encoder,
 				const struct intel_crtc_state *crtc_state);
 void intel_wait_ddi_buf_idle(struct drm_i915_private *dev_priv,
 			     enum port port);
-void intel_ddi_init(struct drm_i915_private *dev_priv,
+void intel_ddi_init(struct intel_display *display,
 		    const struct intel_bios_encoder_data *devdata);
 bool intel_ddi_get_hw_state(struct intel_encoder *encoder, enum pipe *pipe);
 void intel_ddi_enable_transcoder_func(struct intel_encoder *encoder,
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 01a5faa3fea5..48241075eeba 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7785,6 +7785,7 @@ bool assert_port_valid(struct drm_i915_private *i915, enum port port)
 
 void intel_setup_outputs(struct drm_i915_private *dev_priv)
 {
+	struct intel_display *display = &dev_priv->display;
 	struct intel_encoder *encoder;
 	bool dpd_is_edp = false;
 
@@ -7797,7 +7798,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
 		if (intel_ddi_crt_present(dev_priv))
 			intel_crt_init(dev_priv);
 
-		intel_bios_for_each_encoder(dev_priv, intel_ddi_init);
+		intel_bios_for_each_encoder(display, intel_ddi_init);
 
 		if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
 			vlv_dsi_init(dev_priv);
@@ -7859,14 +7860,14 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
 		 * HDMI ports that the VBT claim are DP or eDP.
 		 */
 		has_edp = intel_dp_is_port_edp(dev_priv, PORT_B);
-		has_port = intel_bios_is_port_present(dev_priv, PORT_B);
+		has_port = intel_bios_is_port_present(display, PORT_B);
 		if (intel_de_read(dev_priv, VLV_DP_B) & DP_DETECTED || has_port)
 			has_edp &= g4x_dp_init(dev_priv, VLV_DP_B, PORT_B);
 		if ((intel_de_read(dev_priv, VLV_HDMIB) & SDVO_DETECTED || has_port) && !has_edp)
 			g4x_hdmi_init(dev_priv, VLV_HDMIB, PORT_B);
 
 		has_edp = intel_dp_is_port_edp(dev_priv, PORT_C);
-		has_port = intel_bios_is_port_present(dev_priv, PORT_C);
+		has_port = intel_bios_is_port_present(display, PORT_C);
 		if (intel_de_read(dev_priv, VLV_DP_C) & DP_DETECTED || has_port)
 			has_edp &= g4x_dp_init(dev_priv, VLV_DP_C, PORT_C);
 		if ((intel_de_read(dev_priv, VLV_HDMIC) & SDVO_DETECTED || has_port) && !has_edp)
@@ -7877,7 +7878,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
 			 * eDP not supported on port D,
 			 * so no need to worry about it
 			 */
-			has_port = intel_bios_is_port_present(dev_priv, PORT_D);
+			has_port = intel_bios_is_port_present(display, PORT_D);
 			if (intel_de_read(dev_priv, CHV_DP_D) & DP_DETECTED || has_port)
 				g4x_dp_init(dev_priv, CHV_DP_D, PORT_D);
 			if (intel_de_read(dev_priv, CHV_HDMID) & SDVO_DETECTED || has_port)
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index ac8ad4a40b96..a55c9fac1ca4 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -1061,7 +1061,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_bios_debugfs_register(display);
 	intel_cdclk_debugfs_register(i915);
 	intel_dmc_debugfs_register(i915);
 	intel_fbc_debugfs_register(display);
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index a2666b69834e..328d8b5a6b66 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -217,7 +217,7 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
 			return ret;
 	}
 
-	intel_bios_init(i915);
+	intel_bios_init(display);
 
 	ret = intel_vga_register(i915);
 	if (ret)
@@ -275,7 +275,7 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
 cleanup_vga:
 	intel_vga_unregister(i915);
 cleanup_bios:
-	intel_bios_driver_remove(i915);
+	intel_bios_driver_remove(display);
 
 	return ret;
 }
@@ -615,13 +615,15 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915)
 /* part #3: call after gem init */
 void intel_display_driver_remove_nogem(struct drm_i915_private *i915)
 {
+	struct intel_display *display = &i915->display;
+
 	intel_dmc_fini(i915);
 
 	intel_power_domains_driver_remove(i915);
 
 	intel_vga_unregister(i915);
 
-	intel_bios_driver_remove(i915);
+	intel_bios_driver_remove(display);
 }
 
 void intel_display_driver_unregister(struct drm_i915_private *i915)
diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
index 6cc1cc5e94d5..3f53db68c44c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_irq.c
+++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
@@ -1690,6 +1690,7 @@ static void icp_irq_postinstall(struct drm_i915_private *i915);
 
 void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
 {
+	struct intel_display *display = &dev_priv->display;
 	struct intel_uncore *uncore = &dev_priv->uncore;
 
 	u32 de_pipe_masked = gen8_de_pipe_fault_mask(dev_priv) |
@@ -1724,7 +1725,7 @@ void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
 	} else if (DISPLAY_VER(dev_priv) >= 11) {
 		enum port port;
 
-		if (intel_bios_is_dsi_present(dev_priv, &port))
+		if (intel_bios_is_dsi_present(display, &port))
 			de_port_masked |= DSI0_TE | DSI1_TE;
 	}
 
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 86412ae7b48f..2e5a4e2218c2 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -6385,8 +6385,9 @@ static bool _intel_dp_is_port_edp(struct drm_i915_private *dev_priv,
 
 bool intel_dp_is_port_edp(struct drm_i915_private *i915, enum port port)
 {
+	struct intel_display *display = &i915->display;
 	const struct intel_bios_encoder_data *devdata =
-		intel_bios_encoder_data_lookup(i915, port);
+		intel_bios_encoder_data_lookup(display, port);
 
 	return _intel_dp_is_port_edp(i915, devdata, port);
 }
@@ -6489,6 +6490,7 @@ static void intel_edp_backlight_setup(struct intel_dp *intel_dp,
 static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 				     struct intel_connector *intel_connector)
 {
+	struct intel_display *display = to_intel_display(intel_dp);
 	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
 	struct drm_connector *connector = &intel_connector->base;
 	struct drm_display_mode *fixed_mode;
@@ -6514,7 +6516,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 		return false;
 	}
 
-	intel_bios_init_panel_early(dev_priv, &intel_connector->panel,
+	intel_bios_init_panel_early(display, &intel_connector->panel,
 				    encoder->devdata);
 
 	if (!intel_pps_init(intel_dp)) {
@@ -6611,7 +6613,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 		drm_edid = ERR_PTR(-ENOENT);
 	}
 
-	intel_bios_init_panel_late(dev_priv, &intel_connector->panel, encoder->devdata,
+	intel_bios_init_panel_late(display, &intel_connector->panel, encoder->devdata,
 				   IS_ERR(drm_edid) ? NULL : drm_edid);
 
 	intel_panel_add_edid_fixed_modes(intel_connector, true);
diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
index 9f018503d4fd..fb4ed9f7855b 100644
--- a/drivers/gpu/drm/i915/display/intel_lvds.c
+++ b/drivers/gpu/drm/i915/display/intel_lvds.c
@@ -838,6 +838,7 @@ static void intel_lvds_add_properties(struct drm_connector *connector)
  */
 void intel_lvds_init(struct drm_i915_private *i915)
 {
+	struct intel_display *display = &i915->display;
 	struct intel_lvds_encoder *lvds_encoder;
 	struct intel_connector *connector;
 	const struct drm_edid *drm_edid;
@@ -872,7 +873,7 @@ void intel_lvds_init(struct drm_i915_private *i915)
 	}
 
 	ddc_pin = GMBUS_PIN_PANEL;
-	if (!intel_bios_is_lvds_present(i915, &ddc_pin)) {
+	if (!intel_bios_is_lvds_present(display, &ddc_pin)) {
 		if ((lvds & LVDS_PORT_EN) == 0) {
 			drm_dbg_kms(&i915->drm,
 				    "LVDS is not present in VBT\n");
@@ -966,7 +967,7 @@ void intel_lvds_init(struct drm_i915_private *i915)
 	} else {
 		drm_edid = ERR_PTR(-ENOENT);
 	}
-	intel_bios_init_panel_late(i915, &connector->panel, NULL,
+	intel_bios_init_panel_late(display, &connector->panel, NULL,
 				   IS_ERR(drm_edid) ? NULL : drm_edid);
 
 	/* Try EDID first */
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 0cf6c0711dae..d3d0b4b2e088 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -870,7 +870,6 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {
 
 int intel_opregion_setup(struct intel_display *display)
 {
-	struct drm_i915_private *i915 = to_i915(display->drm);
 	struct intel_opregion *opregion;
 	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
 	u32 asls, mboxes;
@@ -991,7 +990,7 @@ int intel_opregion_setup(struct intel_display *display)
 
 		vbt = opregion->rvda;
 		vbt_size = opregion->asle->rvds;
-		if (intel_bios_is_valid_vbt(i915, vbt, vbt_size)) {
+		if (intel_bios_is_valid_vbt(display, vbt, vbt_size)) {
 			drm_dbg_kms(display->drm,
 				    "Found valid VBT in ACPI OpRegion (RVDA)\n");
 			opregion->vbt = vbt;
@@ -1016,7 +1015,7 @@ int intel_opregion_setup(struct intel_display *display)
 	vbt_size = (mboxes & MBOX_ASLE_EXT) ?
 		OPREGION_ASLE_EXT_OFFSET : OPREGION_SIZE;
 	vbt_size -= OPREGION_VBT_OFFSET;
-	if (intel_bios_is_valid_vbt(i915, vbt, vbt_size)) {
+	if (intel_bios_is_valid_vbt(display, vbt, vbt_size)) {
 		drm_dbg_kms(display->drm,
 			    "Found valid VBT in ACPI OpRegion (Mailbox #4)\n");
 		opregion->vbt = vbt;
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c b/drivers/gpu/drm/i915/display/intel_sdvo.c
index 4cfa27ca8c22..7cc519b402e9 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -2919,6 +2919,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, u16 type)
 static bool
 intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, u16 type)
 {
+	struct intel_display *display = to_intel_display(&intel_sdvo->base);
 	struct drm_encoder *encoder = &intel_sdvo->base.base;
 	struct drm_i915_private *i915 = to_i915(encoder->dev);
 	struct drm_connector *connector;
@@ -2946,7 +2947,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, u16 type)
 	if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector))
 		goto err;
 
-	intel_bios_init_panel_late(i915, &intel_connector->panel, NULL, NULL);
+	intel_bios_init_panel_late(display, &intel_connector->panel, NULL, NULL);
 
 	/*
 	 * Fetch modes from VBT. For SDVO prefer the VBT mode since some
diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
index 9df0f1263913..bfc43bda8532 100644
--- a/drivers/gpu/drm/i915/display/intel_tv.c
+++ b/drivers/gpu/drm/i915/display/intel_tv.c
@@ -1930,6 +1930,7 @@ static void intel_tv_add_properties(struct drm_connector *connector)
 void
 intel_tv_init(struct drm_i915_private *dev_priv)
 {
+	struct intel_display *display = &dev_priv->display;
 	struct drm_connector *connector;
 	struct intel_tv *intel_tv;
 	struct intel_encoder *intel_encoder;
@@ -1939,7 +1940,7 @@ intel_tv_init(struct drm_i915_private *dev_priv)
 	if ((intel_de_read(dev_priv, TV_CTL) & TV_FUSE_STATE_MASK) == TV_FUSE_STATE_DISABLED)
 		return;
 
-	if (!intel_bios_is_tv_present(dev_priv)) {
+	if (!intel_bios_is_tv_present(display)) {
 		drm_dbg_kms(&dev_priv->drm, "Integrated TV is not present.\n");
 		return;
 	}
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
index eae5b5e09aa8..248bab691181 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
@@ -1880,6 +1880,7 @@ static const struct dmi_system_id vlv_dsi_dmi_quirk_table[] = {
 
 void vlv_dsi_init(struct drm_i915_private *dev_priv)
 {
+	struct intel_display *display = &dev_priv->display;
 	struct intel_dsi *intel_dsi;
 	struct intel_encoder *encoder;
 	struct intel_connector *connector;
@@ -1891,7 +1892,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
 	drm_dbg_kms(&dev_priv->drm, "\n");
 
 	/* There is no detection method for MIPI so rely on VBT */
-	if (!intel_bios_is_dsi_present(dev_priv, &port))
+	if (!intel_bios_is_dsi_present(display, &port))
 		return;
 
 	if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
@@ -1946,7 +1947,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
 
 	intel_dsi->panel_power_off_time = ktime_get_boottime();
 
-	intel_bios_init_panel_late(dev_priv, &connector->panel, NULL, NULL);
+	intel_bios_init_panel_late(display, &connector->panel, NULL, NULL);
 
 	if (connector->panel.vbt.dsi.config->dual_link)
 		intel_dsi->ports = BIT(PORT_A) | BIT(PORT_C);
-- 
2.39.2


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

* ✓ CI.Patch_applied: success for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (3 preceding siblings ...)
  2024-07-31 16:44 ` [PATCH 4/4] drm/i915/bios: " Jani Nikula
@ 2024-07-31 17:38 ` Patchwork
  2024-07-31 17:38 ` ✓ CI.checkpatch: " Patchwork
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 17:38 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 91efc68883cb drm-tip: 2024y-07m-31d-15h-57m-19s UTC integration manifest
=== git am output follows ===
Applying: drm/i915/acpi: convert to struct intel_display
Applying: drm/i915/opregion: unify intel_encoder/intel_connector naming
Applying: drm/i915/opregion: convert to struct intel_display
Applying: drm/i915/bios: convert to struct intel_display



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

* ✓ CI.checkpatch: success for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (4 preceding siblings ...)
  2024-07-31 17:38 ` ✓ CI.Patch_applied: success for drm/i915: struct intel_display conversions Patchwork
@ 2024-07-31 17:38 ` Patchwork
  2024-07-31 17:40 ` ✓ CI.KUnit: " Patchwork
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 17:38 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : success

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
7b537a014c4c1a32250e342541870b03977fa7a4
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 20a7cceb512a6b61a673a29fdc814247926f27ce
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Wed Jul 31 19:44:36 2024 +0300

    drm/i915/bios: convert to struct intel_display
    
    Going forward, struct intel_display shall replace struct
    drm_i915_private as the main display device data pointer type. Convert
    intel_bios.[ch] to struct intel_display.
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+ /mt/dim checkpatch 91efc68883cbff0e7e453d1828c8e84d9959c458 drm-intel
4f9315b4caba drm/i915/acpi: convert to struct intel_display
0d2a4d58dd64 drm/i915/opregion: unify intel_encoder/intel_connector naming
0e795fb6c349 drm/i915/opregion: convert to struct intel_display
20a7cceb512a drm/i915/bios: convert to struct intel_display



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

* ✓ CI.KUnit: success for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (5 preceding siblings ...)
  2024-07-31 17:38 ` ✓ CI.checkpatch: " Patchwork
@ 2024-07-31 17:40 ` Patchwork
  2024-07-31 17:51 ` ✓ CI.Build: " Patchwork
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 17:40 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[17:38:57] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:39:01] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~

[17:39:27] Starting KUnit Kernel (1/1)...
[17:39:27] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:39:27] =================== guc_dbm (7 subtests) ===================
[17:39:27] [PASSED] test_empty
[17:39:27] [PASSED] test_default
[17:39:27] ======================== test_size  ========================
[17:39:27] [PASSED] 4
[17:39:27] [PASSED] 8
[17:39:27] [PASSED] 32
[17:39:27] [PASSED] 256
[17:39:27] ==================== [PASSED] test_size ====================
[17:39:27] ======================= test_reuse  ========================
[17:39:27] [PASSED] 4
[17:39:27] [PASSED] 8
[17:39:27] [PASSED] 32
[17:39:27] [PASSED] 256
[17:39:27] =================== [PASSED] test_reuse ====================
[17:39:27] =================== test_range_overlap  ====================
[17:39:27] [PASSED] 4
[17:39:27] [PASSED] 8
[17:39:27] [PASSED] 32
[17:39:27] [PASSED] 256
[17:39:27] =============== [PASSED] test_range_overlap ================
[17:39:27] =================== test_range_compact  ====================
[17:39:27] [PASSED] 4
[17:39:27] [PASSED] 8
[17:39:27] [PASSED] 32
[17:39:27] [PASSED] 256
[17:39:27] =============== [PASSED] test_range_compact ================
[17:39:27] ==================== test_range_spare  =====================
[17:39:27] [PASSED] 4
[17:39:27] [PASSED] 8
[17:39:27] [PASSED] 32
[17:39:27] [PASSED] 256
[17:39:27] ================ [PASSED] test_range_spare =================
[17:39:27] ===================== [PASSED] guc_dbm =====================
[17:39:27] =================== guc_idm (6 subtests) ===================
[17:39:27] [PASSED] bad_init
[17:39:27] [PASSED] no_init
[17:39:27] [PASSED] init_fini
[17:39:27] [PASSED] check_used
[17:39:27] [PASSED] check_quota
[17:39:27] [PASSED] check_all
[17:39:27] ===================== [PASSED] guc_idm =====================
[17:39:27] ================== no_relay (3 subtests) ===================
[17:39:27] [PASSED] xe_drops_guc2pf_if_not_ready
[17:39:27] [PASSED] xe_drops_guc2vf_if_not_ready
[17:39:27] [PASSED] xe_rejects_send_if_not_ready
[17:39:27] ==================== [PASSED] no_relay =====================
[17:39:27] ================== pf_relay (14 subtests) ==================
[17:39:27] [PASSED] pf_rejects_guc2pf_too_short
[17:39:27] [PASSED] pf_rejects_guc2pf_too_long
[17:39:27] [PASSED] pf_rejects_guc2pf_no_payload
[17:39:27] [PASSED] pf_fails_no_payload
[17:39:27] [PASSED] pf_fails_bad_origin
[17:39:27] [PASSED] pf_fails_bad_type
[17:39:27] [PASSED] pf_txn_reports_error
[17:39:27] [PASSED] pf_txn_sends_pf2guc
[17:39:27] [PASSED] pf_sends_pf2guc
[17:39:27] [SKIPPED] pf_loopback_nop
[17:39:27] [SKIPPED] pf_loopback_echo
[17:39:27] [SKIPPED] pf_loopback_fail
[17:39:27] [SKIPPED] pf_loopback_busy
[17:39:27] [SKIPPED] pf_loopback_retry
[17:39:27] ==================== [PASSED] pf_relay =====================
[17:39:27] ================== vf_relay (3 subtests) ===================
[17:39:27] [PASSED] vf_rejects_guc2vf_too_short
[17:39:27] [PASSED] vf_rejects_guc2vf_too_long
[17:39:27] [PASSED] vf_rejects_guc2vf_no_payload
[17:39:27] ==================== [PASSED] vf_relay =====================
[17:39:27] ================= pf_service (11 subtests) =================
[17:39:27] [PASSED] pf_negotiate_any
[17:39:27] [PASSED] pf_negotiate_base_match
[17:39:27] [PASSED] pf_negotiate_base_newer
[17:39:27] [PASSED] pf_negotiate_base_next
[17:39:27] [SKIPPED] pf_negotiate_base_older
[17:39:27] [PASSED] pf_negotiate_base_prev
[17:39:27] [PASSED] pf_negotiate_latest_match
[17:39:27] [PASSED] pf_negotiate_latest_newer
[17:39:27] [PASSED] pf_negotiate_latest_next
[17:39:27] [SKIPPED] pf_negotiate_latest_older
[17:39:27] [SKIPPED] pf_negotiate_latest_prev
[17:39:27] =================== [PASSED] pf_service ====================
[17:39:27] ===================== lmtt (1 subtest) =====================
[17:39:27] ======================== test_ops  =========================
[17:39:27] [PASSED] 2-level
[17:39:27] [PASSED] multi-level
[17:39:27] ==================== [PASSED] test_ops =====================
[17:39:27] ====================== [PASSED] lmtt =======================
[17:39:27] =================== xe_mocs (2 subtests) ===================
[17:39:27] ================ xe_live_mocs_kernel_kunit  ================
[17:39:27] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[17:39:27] ================ xe_live_mocs_reset_kunit  =================
[17:39:27] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[17:39:27] ==================== [SKIPPED] xe_mocs =====================
[17:39:27] ================= xe_migrate (2 subtests) ==================
[17:39:27] ================= xe_migrate_sanity_kunit  =================
[17:39:27] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[17:39:27] ================== xe_validate_ccs_kunit  ==================
[17:39:27] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[17:39:27] =================== [SKIPPED] xe_migrate ===================
[17:39:27] ================== xe_dma_buf (1 subtest) ==================
[17:39:27] ==================== xe_dma_buf_kunit  =====================
[17:39:27] ================ [SKIPPED] xe_dma_buf_kunit ================
[17:39:27] =================== [SKIPPED] xe_dma_buf ===================
[17:39:27] ==================== xe_bo (2 subtests) ====================
[17:39:27] ================== xe_ccs_migrate_kunit  ===================
[17:39:27] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[17:39:27] ==================== xe_bo_evict_kunit  ====================
[17:39:27] =============== [SKIPPED] xe_bo_evict_kunit ================
[17:39:27] ===================== [SKIPPED] xe_bo ======================
[17:39:27] ==================== args (11 subtests) ====================
[17:39:27] [PASSED] count_args_test
[17:39:27] [PASSED] call_args_example
[17:39:27] [PASSED] call_args_test
[17:39:27] [PASSED] drop_first_arg_example
[17:39:27] [PASSED] drop_first_arg_test
[17:39:27] [PASSED] first_arg_example
[17:39:27] [PASSED] first_arg_test
[17:39:27] [PASSED] last_arg_example
[17:39:27] [PASSED] last_arg_test
[17:39:27] [PASSED] pick_arg_example
[17:39:27] [PASSED] sep_comma_example
[17:39:27] ====================== [PASSED] args =======================
[17:39:27] =================== xe_pci (2 subtests) ====================
stty: 'standard input': Inappropriate ioctl for device
[17:39:27] [PASSED] xe_gmdid_graphics_ip
[17:39:27] [PASSED] xe_gmdid_media_ip
[17:39:27] ===================== [PASSED] xe_pci ======================
[17:39:27] =================== xe_rtp (2 subtests) ====================
[17:39:27] =============== xe_rtp_process_to_sr_tests  ================
[17:39:27] [PASSED] coalesce-same-reg
[17:39:27] [PASSED] no-match-no-add
[17:39:27] [PASSED] match-or
[17:39:27] [PASSED] match-or-xfail
[17:39:27] [PASSED] no-match-no-add-multiple-rules
[17:39:27] [PASSED] two-regs-two-entries
[17:39:27] [PASSED] clr-one-set-other
[17:39:27] [PASSED] set-field
[17:39:27] [PASSED] conflict-duplicate
[17:39:27] [PASSED] conflict-not-disjoint
[17:39:27] [PASSED] conflict-reg-type
[17:39:27] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[17:39:27] ================== xe_rtp_process_tests  ===================
[17:39:27] [PASSED] active1
[17:39:27] [PASSED] active2
[17:39:27] [PASSED] active-inactive
[17:39:27] [PASSED] inactive-active
[17:39:27] [PASSED] inactive-1st_or_active-inactive
[17:39:27] [PASSED] inactive-2nd_or_active-inactive
[17:39:27] [PASSED] inactive-last_or_active-inactive
[17:39:27] [PASSED] inactive-no_or_active-inactive
[17:39:27] ============== [PASSED] xe_rtp_process_tests ===============
[17:39:27] ===================== [PASSED] xe_rtp ======================
[17:39:27] ==================== xe_wa (1 subtest) =====================
[17:39:27] ======================== xe_wa_gt  =========================
[17:39:27] [PASSED] TIGERLAKE (B0)
[17:39:27] [PASSED] DG1 (A0)
[17:39:27] [PASSED] DG1 (B0)
[17:39:27] [PASSED] ALDERLAKE_S (A0)
[17:39:27] [PASSED] ALDERLAKE_S (B0)
[17:39:27] [PASSED] ALDERLAKE_S (C0)
[17:39:27] [PASSED] ALDERLAKE_S (D0)
[17:39:27] [PASSED] ALDERLAKE_P (A0)
[17:39:27] [PASSED] ALDERLAKE_P (B0)
[17:39:27] [PASSED] ALDERLAKE_P (C0)
[17:39:27] [PASSED] ALDERLAKE_S_RPLS (D0)
[17:39:27] [PASSED] ALDERLAKE_P_RPLU (E0)
[17:39:27] [PASSED] DG2_G10 (C0)
[17:39:27] [PASSED] DG2_G11 (B1)
[17:39:27] [PASSED] DG2_G12 (A1)
[17:39:27] [PASSED] METEORLAKE (g:A0, m:A0)
[17:39:27] [PASSED] METEORLAKE (g:A0, m:A0)
[17:39:27] [PASSED] METEORLAKE (g:A0, m:A0)
[17:39:27] [PASSED] LUNARLAKE (g:A0, m:A0)
[17:39:27] [PASSED] LUNARLAKE (g:B0, m:A0)
[17:39:27] [PASSED] BATTLEMAGE (g:A0, m:A1)
[17:39:27] ==================== [PASSED] xe_wa_gt =====================
[17:39:27] ====================== [PASSED] xe_wa ======================
[17:39:27] ============================================================
[17:39:27] Testing complete. Ran 121 tests: passed: 106, skipped: 15
[17:39:27] Elapsed time: 30.331s total, 4.168s configuring, 25.892s building, 0.223s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[17:39:27] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:39:29] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~

[17:39:51] Starting KUnit Kernel (1/1)...
[17:39:51] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:39:51] ============ drm_test_pick_cmdline (2 subtests) ============
[17:39:51] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[17:39:51] =============== drm_test_pick_cmdline_named  ===============
[17:39:51] [PASSED] NTSC
[17:39:51] [PASSED] NTSC-J
[17:39:51] [PASSED] PAL
[17:39:51] [PASSED] PAL-M
[17:39:51] =========== [PASSED] drm_test_pick_cmdline_named ===========
[17:39:51] ============== [PASSED] drm_test_pick_cmdline ==============
[17:39:51] ================== drm_buddy (7 subtests) ==================
[17:39:51] [PASSED] drm_test_buddy_alloc_limit
[17:39:51] [PASSED] drm_test_buddy_alloc_optimistic
[17:39:51] [PASSED] drm_test_buddy_alloc_pessimistic
[17:39:51] [PASSED] drm_test_buddy_alloc_pathological
[17:39:51] [PASSED] drm_test_buddy_alloc_contiguous
[17:39:51] [PASSED] drm_test_buddy_alloc_clear
[17:39:51] [PASSED] drm_test_buddy_alloc_range_bias
[17:39:51] ==================== [PASSED] drm_buddy ====================
[17:39:51] ============= drm_cmdline_parser (40 subtests) =============
[17:39:51] [PASSED] drm_test_cmdline_force_d_only
[17:39:51] [PASSED] drm_test_cmdline_force_D_only_dvi
[17:39:51] [PASSED] drm_test_cmdline_force_D_only_hdmi
[17:39:51] [PASSED] drm_test_cmdline_force_D_only_not_digital
[17:39:51] [PASSED] drm_test_cmdline_force_e_only
[17:39:51] [PASSED] drm_test_cmdline_res
[17:39:51] [PASSED] drm_test_cmdline_res_vesa
[17:39:51] [PASSED] drm_test_cmdline_res_vesa_rblank
[17:39:51] [PASSED] drm_test_cmdline_res_rblank
[17:39:51] [PASSED] drm_test_cmdline_res_bpp
[17:39:51] [PASSED] drm_test_cmdline_res_refresh
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[17:39:51] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[17:39:51] [PASSED] drm_test_cmdline_res_margins_force_on
[17:39:51] [PASSED] drm_test_cmdline_res_vesa_margins
[17:39:51] [PASSED] drm_test_cmdline_name
[17:39:51] [PASSED] drm_test_cmdline_name_bpp
[17:39:51] [PASSED] drm_test_cmdline_name_option
[17:39:51] [PASSED] drm_test_cmdline_name_bpp_option
[17:39:51] [PASSED] drm_test_cmdline_rotate_0
[17:39:51] [PASSED] drm_test_cmdline_rotate_90
[17:39:51] [PASSED] drm_test_cmdline_rotate_180
[17:39:51] [PASSED] drm_test_cmdline_rotate_270
[17:39:51] [PASSED] drm_test_cmdline_hmirror
[17:39:51] [PASSED] drm_test_cmdline_vmirror
[17:39:51] [PASSED] drm_test_cmdline_margin_options
[17:39:51] [PASSED] drm_test_cmdline_multiple_options
[17:39:51] [PASSED] drm_test_cmdline_bpp_extra_and_option
[17:39:51] [PASSED] drm_test_cmdline_extra_and_option
[17:39:51] [PASSED] drm_test_cmdline_freestanding_options
[17:39:51] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[17:39:51] [PASSED] drm_test_cmdline_panel_orientation
[17:39:51] ================ drm_test_cmdline_invalid  =================
[17:39:51] [PASSED] margin_only
[17:39:51] [PASSED] interlace_only
[17:39:51] [PASSED] res_missing_x
[17:39:51] [PASSED] res_missing_y
[17:39:51] [PASSED] res_bad_y
[17:39:51] [PASSED] res_missing_y_bpp
[17:39:51] [PASSED] res_bad_bpp
[17:39:51] [PASSED] res_bad_refresh
[17:39:51] [PASSED] res_bpp_refresh_force_on_off
[17:39:51] [PASSED] res_invalid_mode
[17:39:51] [PASSED] res_bpp_wrong_place_mode
[17:39:51] [PASSED] name_bpp_refresh
[17:39:51] [PASSED] name_refresh
[17:39:51] [PASSED] name_refresh_wrong_mode
[17:39:51] [PASSED] name_refresh_invalid_mode
[17:39:51] [PASSED] rotate_multiple
[17:39:51] [PASSED] rotate_invalid_val
[17:39:51] [PASSED] rotate_truncated
[17:39:51] [PASSED] invalid_option
[17:39:51] [PASSED] invalid_tv_option
[17:39:51] [PASSED] truncated_tv_option
[17:39:51] ============ [PASSED] drm_test_cmdline_invalid =============
[17:39:51] =============== drm_test_cmdline_tv_options  ===============
[17:39:51] [PASSED] NTSC
[17:39:51] [PASSED] NTSC_443
[17:39:51] [PASSED] NTSC_J
[17:39:51] [PASSED] PAL
[17:39:51] [PASSED] PAL_M
[17:39:51] [PASSED] PAL_N
[17:39:51] [PASSED] SECAM
[17:39:51] [PASSED] MONO_525
[17:39:51] [PASSED] MONO_625
[17:39:51] =========== [PASSED] drm_test_cmdline_tv_options ===========
[17:39:51] =============== [PASSED] drm_cmdline_parser ================
[17:39:51] ========== drmm_connector_hdmi_init (19 subtests) ==========
[17:39:51] [PASSED] drm_test_connector_hdmi_init_valid
[17:39:51] [PASSED] drm_test_connector_hdmi_init_bpc_8
[17:39:51] [PASSED] drm_test_connector_hdmi_init_bpc_10
[17:39:51] [PASSED] drm_test_connector_hdmi_init_bpc_12
[17:39:51] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[17:39:51] [PASSED] drm_test_connector_hdmi_init_bpc_null
[17:39:51] [PASSED] drm_test_connector_hdmi_init_formats_empty
[17:39:51] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[17:39:51] [PASSED] drm_test_connector_hdmi_init_null_ddc
[17:39:51] [PASSED] drm_test_connector_hdmi_init_null_product
[17:39:51] [PASSED] drm_test_connector_hdmi_init_null_vendor
[17:39:51] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[17:39:51] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[17:39:51] [PASSED] drm_test_connector_hdmi_init_product_valid
[17:39:51] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[17:39:51] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[17:39:51] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[17:39:51] ========= drm_test_connector_hdmi_init_type_valid  =========
[17:39:51] [PASSED] HDMI-A
[17:39:51] [PASSED] HDMI-B
[17:39:51] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[17:39:51] ======== drm_test_connector_hdmi_init_type_invalid  ========
[17:39:51] [PASSED] Unknown
[17:39:51] [PASSED] VGA
[17:39:51] [PASSED] DVI-I
[17:39:51] [PASSED] DVI-D
[17:39:51] [PASSED] DVI-A
[17:39:51] [PASSED] Composite
[17:39:51] [PASSED] SVIDEO
[17:39:51] [PASSED] LVDS
[17:39:51] [PASSED] Component
[17:39:51] [PASSED] DIN
[17:39:51] [PASSED] DP
[17:39:51] [PASSED] TV
[17:39:51] [PASSED] eDP
[17:39:51] [PASSED] Virtual
[17:39:51] [PASSED] DSI
[17:39:51] [PASSED] DPI
[17:39:51] [PASSED] Writeback
[17:39:51] [PASSED] SPI
[17:39:51] [PASSED] USB
[17:39:51] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[17:39:51] ============ [PASSED] drmm_connector_hdmi_init =============
[17:39:51] ============= drmm_connector_init (3 subtests) =============
[17:39:51] [PASSED] drm_test_drmm_connector_init
[17:39:51] [PASSED] drm_test_drmm_connector_init_null_ddc
[17:39:51] ========= drm_test_drmm_connector_init_type_valid  =========
[17:39:51] [PASSED] Unknown
[17:39:51] [PASSED] VGA
[17:39:51] [PASSED] DVI-I
[17:39:51] [PASSED] DVI-D
[17:39:51] [PASSED] DVI-A
[17:39:51] [PASSED] Composite
[17:39:51] [PASSED] SVIDEO
[17:39:51] [PASSED] LVDS
[17:39:51] [PASSED] Component
[17:39:51] [PASSED] DIN
[17:39:51] [PASSED] DP
[17:39:51] [PASSED] HDMI-A
[17:39:51] [PASSED] HDMI-B
[17:39:51] [PASSED] TV
[17:39:51] [PASSED] eDP
[17:39:51] [PASSED] Virtual
[17:39:51] [PASSED] DSI
[17:39:51] [PASSED] DPI
[17:39:51] [PASSED] Writeback
[17:39:51] [PASSED] SPI
[17:39:51] [PASSED] USB
[17:39:51] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[17:39:51] =============== [PASSED] drmm_connector_init ===============
[17:39:51] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[17:39:51] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[17:39:51] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[17:39:51] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[17:39:51] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[17:39:51] ========== drm_test_get_tv_mode_from_name_valid  ===========
[17:39:51] [PASSED] NTSC
[17:39:51] [PASSED] NTSC-443
[17:39:51] [PASSED] NTSC-J
[17:39:51] [PASSED] PAL
[17:39:51] [PASSED] PAL-M
[17:39:51] [PASSED] PAL-N
[17:39:51] [PASSED] SECAM
[17:39:51] [PASSED] Mono
[17:39:51] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[17:39:51] [PASSED] drm_test_get_tv_mode_from_name_truncated
[17:39:51] ============ [PASSED] drm_get_tv_mode_from_name ============
[17:39:51] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[17:39:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[17:39:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[17:39:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[17:39:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[17:39:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[17:39:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[17:39:51] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[17:39:51] [PASSED] VIC 96
[17:39:51] [PASSED] VIC 97
[17:39:51] [PASSED] VIC 101
[17:39:51] [PASSED] VIC 102
[17:39:51] [PASSED] VIC 106
[17:39:51] [PASSED] VIC 107
[17:39:51] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[17:39:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[17:39:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[17:39:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[17:39:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[17:39:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[17:39:51] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[17:39:51] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[17:39:51] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[17:39:51] [PASSED] Automatic
[17:39:51] [PASSED] Full
[17:39:51] [PASSED] Limited 16:235
[17:39:51] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[17:39:51] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[17:39:51] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[17:39:51] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[17:39:51] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[17:39:51] [PASSED] RGB
[17:39:51] [PASSED] YUV 4:2:0
[17:39:51] [PASSED] YUV 4:2:2
[17:39:51] [PASSED] YUV 4:4:4
[17:39:51] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[17:39:51] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[17:39:51] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[17:39:51] ============= drm_damage_helper (21 subtests) ==============
[17:39:51] [PASSED] drm_test_damage_iter_no_damage
[17:39:51] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[17:39:51] [PASSED] drm_test_damage_iter_no_damage_src_moved
[17:39:51] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[17:39:51] [PASSED] drm_test_damage_iter_no_damage_not_visible
[17:39:51] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[17:39:51] [PASSED] drm_test_damage_iter_no_damage_no_fb
[17:39:51] [PASSED] drm_test_damage_iter_simple_damage
[17:39:51] [PASSED] drm_test_damage_iter_single_damage
[17:39:51] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[17:39:51] [PASSED] drm_test_damage_iter_single_damage_outside_src
[17:39:51] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[17:39:51] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[17:39:51] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[17:39:51] [PASSED] drm_test_damage_iter_single_damage_src_moved
[17:39:51] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[17:39:51] [PASSED] drm_test_damage_iter_damage
[17:39:51] [PASSED] drm_test_damage_iter_damage_one_intersect
[17:39:51] [PASSED] drm_test_damage_iter_damage_one_outside
[17:39:51] [PASSED] drm_test_damage_iter_damage_src_moved
[17:39:51] [PASSED] drm_test_damage_iter_damage_not_visible
[17:39:51] ================ [PASSED] drm_damage_helper ================
[17:39:51] ============== drm_dp_mst_helper (3 subtests) ==============
[17:39:51] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[17:39:51] [PASSED] Clock 154000 BPP 30 DSC disabled
[17:39:51] [PASSED] Clock 234000 BPP 30 DSC disabled
[17:39:51] [PASSED] Clock 297000 BPP 24 DSC disabled
[17:39:51] [PASSED] Clock 332880 BPP 24 DSC enabled
[17:39:51] [PASSED] Clock 324540 BPP 24 DSC enabled
[17:39:51] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[17:39:51] ============== drm_test_dp_mst_calc_pbn_div  ===============
[17:39:51] [PASSED] Link rate 2000000 lane count 4
[17:39:51] [PASSED] Link rate 2000000 lane count 2
[17:39:51] [PASSED] Link rate 2000000 lane count 1
[17:39:51] [PASSED] Link rate 1350000 lane count 4
[17:39:51] [PASSED] Link rate 1350000 lane count 2
[17:39:51] [PASSED] Link rate 1350000 lane count 1
[17:39:51] [PASSED] Link rate 1000000 lane count 4
[17:39:51] [PASSED] Link rate 1000000 lane count 2
[17:39:51] [PASSED] Link rate 1000000 lane count 1
[17:39:51] [PASSED] Link rate 810000 lane count 4
[17:39:51] [PASSED] Link rate 810000 lane count 2
[17:39:51] [PASSED] Link rate 810000 lane count 1
[17:39:51] [PASSED] Link rate 540000 lane count 4
[17:39:51] [PASSED] Link rate 540000 lane count 2
[17:39:51] [PASSED] Link rate 540000 lane count 1
[17:39:51] [PASSED] Link rate 270000 lane count 4
[17:39:51] [PASSED] Link rate 270000 lane count 2
[17:39:51] [PASSED] Link rate 270000 lane count 1
[17:39:51] [PASSED] Link rate 162000 lane count 4
[17:39:51] [PASSED] Link rate 162000 lane count 2
[17:39:51] [PASSED] Link rate 162000 lane count 1
[17:39:51] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[17:39:51] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[17:39:51] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[17:39:51] [PASSED] DP_POWER_UP_PHY with port number
[17:39:51] [PASSED] DP_POWER_DOWN_PHY with port number
[17:39:51] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[17:39:51] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[17:39:51] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[17:39:51] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[17:39:51] [PASSED] DP_QUERY_PAYLOAD with port number
[17:39:51] [PASSED] DP_QUERY_PAYLOAD with VCPI
[17:39:51] [PASSED] DP_REMOTE_DPCD_READ with port number
[17:39:51] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[17:39:51] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[17:39:51] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[17:39:51] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[17:39:51] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[17:39:51] [PASSED] DP_REMOTE_I2C_READ with port number
[17:39:51] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[17:39:51] [PASSED] DP_REMOTE_I2C_READ with transactions array
[17:39:51] [PASSED] DP_REMOTE_I2C_WRITE with port number
[17:39:51] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[17:39:51] [PASSED] DP_REMOTE_I2C_WRITE with data array
[17:39:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[17:39:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[17:39:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[17:39:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[17:39:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[17:39:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[17:39:51] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[17:39:51] ================ [PASSED] drm_dp_mst_helper ================
[17:39:51] ================== drm_exec (7 subtests) ===================
[17:39:51] [PASSED] sanitycheck
[17:39:51] [PASSED] test_lock
[17:39:51] [PASSED] test_lock_unlock
[17:39:51] [PASSED] test_duplicates
[17:39:51] [PASSED] test_prepare
[17:39:51] [PASSED] test_prepare_array
[17:39:51] [PASSED] test_multiple_loops
[17:39:51] ==================== [PASSED] drm_exec =====================
[17:39:51] =========== drm_format_helper_test (17 subtests) ===========
[17:39:51] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[17:39:51] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[17:39:51] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[17:39:51] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[17:39:51] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[17:39:51] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[17:39:51] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[17:39:51] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[17:39:51] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[17:39:51] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[17:39:51] ============== drm_test_fb_xrgb8888_to_mono  ===============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[17:39:51] ==================== drm_test_fb_swab  =====================
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ================ [PASSED] drm_test_fb_swab =================
[17:39:51] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[17:39:51] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[17:39:51] [PASSED] single_pixel_source_buffer
[17:39:51] [PASSED] single_pixel_clip_rectangle
[17:39:51] [PASSED] well_known_colors
[17:39:51] [PASSED] destination_pitch
[17:39:51] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[17:39:51] ================= drm_test_fb_clip_offset  =================
[17:39:51] [PASSED] pass through
[17:39:51] [PASSED] horizontal offset
[17:39:51] [PASSED] vertical offset
[17:39:51] [PASSED] horizontal and vertical offset
[17:39:51] [PASSED] horizontal offset (custom pitch)
[17:39:51] [PASSED] vertical offset (custom pitch)
[17:39:51] [PASSED] horizontal and vertical offset (custom pitch)
[17:39:51] ============= [PASSED] drm_test_fb_clip_offset =============
[17:39:51] ============== drm_test_fb_build_fourcc_list  ==============
[17:39:51] [PASSED] no native formats
[17:39:51] [PASSED] XRGB8888 as native format
[17:39:51] [PASSED] remove duplicates
[17:39:51] [PASSED] convert alpha formats
[17:39:51] [PASSED] random formats
[17:39:51] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[17:39:51] =================== drm_test_fb_memcpy  ====================
[17:39:51] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[17:39:51] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[17:39:51] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[17:39:51] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[17:39:51] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[17:39:51] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[17:39:51] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[17:39:51] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[17:39:51] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[17:39:51] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[17:39:51] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[17:39:51] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[17:39:51] =============== [PASSED] drm_test_fb_memcpy ================
[17:39:51] ============= [PASSED] drm_format_helper_test ==============
[17:39:51] ================= drm_format (18 subtests) =================
[17:39:51] [PASSED] drm_test_format_block_width_invalid
[17:39:51] [PASSED] drm_test_format_block_width_one_plane
[17:39:51] [PASSED] drm_test_format_block_width_two_plane
[17:39:51] [PASSED] drm_test_format_block_width_three_plane
[17:39:51] [PASSED] drm_test_format_block_width_tiled
[17:39:51] [PASSED] drm_test_format_block_height_invalid
[17:39:51] [PASSED] drm_test_format_block_height_one_plane
[17:39:51] [PASSED] drm_test_format_block_height_two_plane
[17:39:51] [PASSED] drm_test_format_block_height_three_plane
[17:39:51] [PASSED] drm_test_format_block_height_tiled
[17:39:51] [PASSED] drm_test_format_min_pitch_invalid
[17:39:51] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[17:39:51] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[17:39:51] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[17:39:51] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[17:39:51] [PASSED] drm_test_format_min_pitch_two_plane
[17:39:51] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[17:39:51] [PASSED] drm_test_format_min_pitch_tiled
[17:39:51] =================== [PASSED] drm_format ====================
[17:39:51] =============== drm_framebuffer (1 subtest) ================
[17:39:51] =============== drm_test_framebuffer_create  ===============
[17:39:51] [PASSED] ABGR8888 normal sizes
[17:39:51] [PASSED] ABGR8888 max sizes
[17:39:51] [PASSED] ABGR8888 pitch greater than min required
[17:39:51] [PASSED] ABGR8888 pitch less than min required
[17:39:51] [PASSED] ABGR8888 Invalid width
[17:39:51] [PASSED] ABGR8888 Invalid buffer handle
[17:39:51] [PASSED] No pixel format
[17:39:51] [PASSED] ABGR8888 Width 0
[17:39:51] [PASSED] ABGR8888 Height 0
[17:39:51] [PASSED] ABGR8888 Out of bound height * pitch combination
[17:39:51] [PASSED] ABGR8888 Large buffer offset
[17:39:51] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[17:39:51] [PASSED] ABGR8888 Valid buffer modifier
[17:39:51] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[17:39:51] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[17:39:51] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[17:39:51] [PASSED] NV12 Normal sizes
[17:39:51] [PASSED] NV12 Max sizes
[17:39:51] [PASSED] NV12 Invalid pitch
[17:39:51] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[17:39:51] [PASSED] NV12 different  modifier per-plane
[17:39:51] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[17:39:51] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[17:39:51] [PASSED] NV12 Modifier for inexistent plane
[17:39:51] [PASSED] NV12 Handle for inexistent plane
[17:39:51] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[17:39:51] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[17:39:51] [PASSED] YVU420 Normal sizes
[17:39:51] [PASSED] YVU420 Max sizes
[17:39:51] [PASSED] YVU420 Invalid pitch
[17:39:51] [PASSED] YVU420 Different pitches
[17:39:51] [PASSED] YVU420 Different buffer offsets/pitches
[17:39:51] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[17:39:51] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[17:39:51] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[17:39:51] [PASSED] YVU420 Valid modifier
[17:39:51] [PASSED] YVU420 Different modifiers per plane
[17:39:51] [PASSED] YVU420 Modifier for inexistent plane
[17:39:51] [PASSED] X0L2 Normal sizes
[17:39:51] [PASSED] X0L2 Max sizes
[17:39:51] [PASSED] X0L2 Invalid pitch
[17:39:51] [PASSED] X0L2 Pitch greater than minimum required
[17:39:51] [PASSED] X0L2 Handle for inexistent plane
[17:39:51] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[17:39:51] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[17:39:51] [PASSED] X0L2 Valid modifier
[17:39:51] [PASSED] X0L2 Modifier for inexistent plane
[17:39:51] =========== [PASSED] drm_test_framebuffer_create ===========
[17:39:51] ================= [PASSED] drm_framebuffer =================
[17:39:51] ================ drm_gem_shmem (8 subtests) ================
[17:39:51] [PASSED] drm_gem_shmem_test_obj_create
[17:39:51] [PASSED] drm_gem_shmem_test_obj_create_private
[17:39:51] [PASSED] drm_gem_shmem_test_pin_pages
[17:39:51] [PASSED] drm_gem_shmem_test_vmap
[17:39:51] [PASSED] drm_gem_shmem_test_get_pages_sgt
[17:39:51] [PASSED] drm_gem_shmem_test_get_sg_table
[17:39:51] [PASSED] drm_gem_shmem_test_madvise
[17:39:51] [PASSED] drm_gem_shmem_test_purge
[17:39:51] ================== [PASSED] drm_gem_shmem ==================
[17:39:51] === drm_atomic_helper_connector_hdmi_check (22 subtests) ===
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[17:39:51] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[17:39:51] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[17:39:51] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[17:39:51] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[17:39:51] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[17:39:51] [PASSED] drm_test_check_output_bpc_dvi
[17:39:51] [PASSED] drm_test_check_output_bpc_format_vic_1
[17:39:51] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[17:39:51] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[17:39:51] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[17:39:51] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[17:39:51] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[17:39:51] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[17:39:51] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[17:39:51] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[17:39:51] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[17:39:51] [PASSED] drm_test_check_broadcast_rgb_value
[17:39:51] [PASSED] drm_test_check_bpc_8_value
[17:39:51] [PASSED] drm_test_check_bpc_10_value
[17:39:51] [PASSED] drm_test_check_bpc_12_value
[17:39:51] [PASSED] drm_test_check_format_value
[17:39:51] [PASSED] drm_test_check_tmds_char_value
[17:39:51] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[17:39:51] ================= drm_managed (2 subtests) =================
[17:39:51] [PASSED] drm_test_managed_release_action
[17:39:51] [PASSED] drm_test_managed_run_action
[17:39:51] =================== [PASSED] drm_managed ===================
[17:39:51] =================== drm_mm (6 subtests) ====================
[17:39:51] [PASSED] drm_test_mm_init
[17:39:51] [PASSED] drm_test_mm_debug
[17:39:51] [PASSED] drm_test_mm_align32
[17:39:51] [PASSED] drm_test_mm_align64
[17:39:51] [PASSED] drm_test_mm_lowest
[17:39:51] [PASSED] drm_test_mm_highest
[17:39:51] ===================== [PASSED] drm_mm ======================
[17:39:51] ============= drm_modes_analog_tv (5 subtests) =============
[17:39:51] [PASSED] drm_test_modes_analog_tv_mono_576i
[17:39:51] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[17:39:51] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[17:39:51] [PASSED] drm_test_modes_analog_tv_pal_576i
[17:39:51] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[17:39:51] =============== [PASSED] drm_modes_analog_tv ===============
[17:39:51] ============== drm_plane_helper (2 subtests) ===============
[17:39:51] =============== drm_test_check_plane_state  ================
[17:39:51] [PASSED] clipping_simple
[17:39:51] [PASSED] clipping_rotate_reflect
[17:39:51] [PASSED] positioning_simple
[17:39:51] [PASSED] upscaling
[17:39:51] [PASSED] downscaling
[17:39:51] [PASSED] rounding1
[17:39:51] [PASSED] rounding2
[17:39:51] [PASSED] rounding3
[17:39:51] [PASSED] rounding4
[17:39:51] =========== [PASSED] drm_test_check_plane_state ============
[17:39:51] =========== drm_test_check_invalid_plane_state  ============
[17:39:51] [PASSED] positioning_invalid
[17:39:51] [PASSED] upscaling_invalid
stty: 'standard input': Inappropriate ioctl for device
[17:39:51] [PASSED] downscaling_invalid
[17:39:51] ======= [PASSED] drm_test_check_invalid_plane_state ========
[17:39:51] ================ [PASSED] drm_plane_helper =================
[17:39:51] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[17:39:51] ====== drm_test_connector_helper_tv_get_modes_check  =======
[17:39:51] [PASSED] None
[17:39:51] [PASSED] PAL
[17:39:51] [PASSED] NTSC
[17:39:51] [PASSED] Both, NTSC Default
[17:39:51] [PASSED] Both, PAL Default
[17:39:51] [PASSED] Both, NTSC Default, with PAL on command-line
[17:39:51] [PASSED] Both, PAL Default, with NTSC on command-line
[17:39:51] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[17:39:51] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[17:39:51] ================== drm_rect (9 subtests) ===================
[17:39:51] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[17:39:51] [PASSED] drm_test_rect_clip_scaled_not_clipped
[17:39:51] [PASSED] drm_test_rect_clip_scaled_clipped
[17:39:51] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[17:39:51] ================= drm_test_rect_intersect  =================
[17:39:51] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[17:39:51] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[17:39:51] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[17:39:51] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[17:39:51] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[17:39:51] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[17:39:51] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[17:39:51] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[17:39:51] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[17:39:51] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[17:39:51] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[17:39:51] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[17:39:51] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[17:39:51] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[17:39:51] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[17:39:51] ============= [PASSED] drm_test_rect_intersect =============
[17:39:51] ================ drm_test_rect_calc_hscale  ================
[17:39:51] [PASSED] normal use
[17:39:51] [PASSED] out of max range
[17:39:51] [PASSED] out of min range
[17:39:51] [PASSED] zero dst
[17:39:51] [PASSED] negative src
[17:39:51] [PASSED] negative dst
[17:39:51] ============ [PASSED] drm_test_rect_calc_hscale ============
[17:39:51] ================ drm_test_rect_calc_vscale  ================
[17:39:51] [PASSED] normal use
[17:39:51] [PASSED] out of max range
[17:39:51] [PASSED] out of min range
[17:39:51] [PASSED] zero dst
[17:39:51] [PASSED] negative src
[17:39:51] [PASSED] negative dst
[17:39:51] ============ [PASSED] drm_test_rect_calc_vscale ============
[17:39:51] ================== drm_test_rect_rotate  ===================
[17:39:51] [PASSED] reflect-x
[17:39:51] [PASSED] reflect-y
[17:39:51] [PASSED] rotate-0
[17:39:51] [PASSED] rotate-90
[17:39:51] [PASSED] rotate-180
[17:39:51] [PASSED] rotate-270
[17:39:51] ============== [PASSED] drm_test_rect_rotate ===============
[17:39:51] ================ drm_test_rect_rotate_inv  =================
[17:39:51] [PASSED] reflect-x
[17:39:51] [PASSED] reflect-y
[17:39:51] [PASSED] rotate-0
[17:39:51] [PASSED] rotate-90
[17:39:51] [PASSED] rotate-180
[17:39:51] [PASSED] rotate-270
[17:39:51] ============ [PASSED] drm_test_rect_rotate_inv =============
[17:39:51] ==================== [PASSED] drm_rect =====================
[17:39:51] ============================================================
[17:39:51] Testing complete. Ran 515 tests: passed: 515
[17:39:51] Elapsed time: 23.307s total, 1.673s configuring, 21.461s building, 0.152s running

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

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



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

* ✓ CI.Build: success for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (6 preceding siblings ...)
  2024-07-31 17:40 ` ✓ CI.KUnit: " Patchwork
@ 2024-07-31 17:51 ` Patchwork
  2024-07-31 17:54 ` ✓ CI.Hooks: " Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 17:51 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : success

== Summary ==

lib/modules/6.11.0-rc1-xe/kernel/sound/core/seq/
lib/modules/6.11.0-rc1-xe/kernel/sound/core/seq/snd-seq.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/core/snd-seq-device.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/core/snd-hwdep.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/core/snd.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/core/snd-pcm.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/core/snd-compress.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/core/snd-timer.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soundcore.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/atom/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/atom/sst/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-core.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/common/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/intel/common/snd-soc-acpi-intel-match.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/amd/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/amd/snd-acp-config.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-tgl.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-mlink.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-cnl.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-lnl.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-generic.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-mtl.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/amd/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/amd/snd-sof-amd-renoir.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/amd/snd-sof-amd-acp.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/snd-sof-utils.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/snd-sof-pci.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/snd-sof.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/snd-sof-probes.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/xtensa/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/sof/xtensa/snd-sof-xtensa-dsp.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/snd-soc-core.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/snd-soc-acpi.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/codecs/
lib/modules/6.11.0-rc1-xe/kernel/sound/soc/codecs/snd-soc-hdac-hda.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/hda/
lib/modules/6.11.0-rc1-xe/kernel/sound/hda/snd-intel-sdw-acpi.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/hda/ext/
lib/modules/6.11.0-rc1-xe/kernel/sound/hda/ext/snd-hda-ext-core.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/hda/snd-intel-dspcfg.ko
lib/modules/6.11.0-rc1-xe/kernel/sound/hda/snd-hda-core.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/kernel/
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/kernel/msr.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/kernel/cpuid.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/sha512-ssse3.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/crct10dif-pclmul.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/sha1-ssse3.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/crc32-pclmul.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/sha256-ssse3.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/aesni-intel.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/crypto/polyval-clmulni.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/events/
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/events/intel/
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/events/intel/intel-cstate.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/events/rapl.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/kvm/
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.11.0-rc1-xe/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/
lib/modules/6.11.0-rc1-xe/kernel/crypto/crypto_simd.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/cmac.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/ccm.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/cryptd.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/polyval-generic.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/async_tx/
lib/modules/6.11.0-rc1-xe/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.11.0-rc1-xe/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.11.0-rc1-xe/build
lib/modules/6.11.0-rc1-xe/modules.alias.bin
lib/modules/6.11.0-rc1-xe/modules.builtin
lib/modules/6.11.0-rc1-xe/modules.softdep
lib/modules/6.11.0-rc1-xe/modules.alias
lib/modules/6.11.0-rc1-xe/modules.order
lib/modules/6.11.0-rc1-xe/modules.symbols
lib/modules/6.11.0-rc1-xe/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
^[[0Ksection_end:1722448296:package_x86_64_nodebug
^[[0K
+ echo -e '\e[0Ksection_end:1722448296:package_x86_64_nodebug\r\e[0K'
+ sync
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✓ CI.Hooks: success for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (7 preceding siblings ...)
  2024-07-31 17:51 ` ✓ CI.Build: " Patchwork
@ 2024-07-31 17:54 ` Patchwork
  2024-07-31 17:55 ` ✗ CI.checksparse: warning " Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 17:54 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  GEN     Makefile
  UPD     include/generated/compile.h
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  UPD     include/config/kernel.release
  UPD     include/generated/utsrelease.h
  CALL    ../scripts/checksyscalls.sh
  HOSTCC  /workspace/kernel/build64-default/tools/objtool/fixdep.o
  HOSTLD  /workspace/kernel/build64-default/tools/objtool/fixdep-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/fixdep
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64-default/tools/objtool/weak.o
  CC      /workspace/kernel/build64-default/tools/objtool/check.o
  CC      /workspace/kernel/build64-default/tools/objtool/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64-default/tools/objtool/elf.o
  CC      /workspace/kernel/build64-default/tools/objtool/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o
  LD      /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-default'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
make[1]: Leaving directory '/workspace/kernel/build64-default'
run-parts: executing /workspace/ci/hooks/11-build-32b
+++ realpath /workspace/ci/hooks/11-build-32b
++ dirname /workspace/ci/hooks/11-build-32b
+ THIS_SCRIPT_DIR=/workspace/ci/hooks
+ SRC_DIR=/workspace/kernel
+ TOOLS_SRC_DIR=/workspace/ci
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ BUILD_DIR=/workspace/kernel/build64-default/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-default/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-default/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-default/build32'
  GEN     Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-default/build32'
+ cd /workspace/kernel/build64-default/build32
+ /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=m

Value of CONFIG_SND_DEBUG is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_DEBUG is not set
New value: CONFIG_SND_DEBUG=y

Value of CONFIG_SND_HDA_INTEL is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: CONFIG_SND_HDA_INTEL=y
New value: CONFIG_SND_HDA_INTEL=m

Value of CONFIG_SND_HDA_CODEC_HDMI is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_HDA_CODEC_HDMI is not set
New value: CONFIG_SND_HDA_CODEC_HDMI=m

  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
#
# configuration written to .config
#
Value requested for CONFIG_HAVE_UID16 not in final .config
Requested value:  CONFIG_HAVE_UID16=y
Actual value:     

Value requested for CONFIG_UID16 not in final .config
Requested value:  CONFIG_UID16=y
Actual value:     

Value requested for CONFIG_X86_32 not in final .config
Requested value:  CONFIG_X86_32=y
Actual value:     

Value requested for CONFIG_OUTPUT_FORMAT not in final .config
Requested value:  CONFIG_OUTPUT_FORMAT="elf32-i386"
Actual value:     CONFIG_OUTPUT_FORMAT="elf64-x86-64"

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MIN not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MIN=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MIN=28

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MAX not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MAX=16
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MAX=32

Value requested for CONFIG_PGTABLE_LEVELS not in final .config
Requested value:  CONFIG_PGTABLE_LEVELS=2
Actual value:     CONFIG_PGTABLE_LEVELS=5

Value requested for CONFIG_X86_BIGSMP not in final .config
Requested value:  # CONFIG_X86_BIGSMP is not set
Actual value:     

Value requested for CONFIG_X86_INTEL_QUARK not in final .config
Requested value:  # CONFIG_X86_INTEL_QUARK is not set
Actual value:     

Value requested for CONFIG_X86_RDC321X not in final .config
Requested value:  # CONFIG_X86_RDC321X is not set
Actual value:     

Value requested for CONFIG_X86_32_NON_STANDARD not in final .config
Requested value:  # CONFIG_X86_32_NON_STANDARD is not set
Actual value:     

Value requested for CONFIG_X86_32_IRIS not in final .config
Requested value:  # CONFIG_X86_32_IRIS is not set
Actual value:     

Value requested for CONFIG_M486SX not in final .config
Requested value:  # CONFIG_M486SX is not set
Actual value:     

Value requested for CONFIG_M486 not in final .config
Requested value:  # CONFIG_M486 is not set
Actual value:     

Value requested for CONFIG_M586 not in final .config
Requested value:  # CONFIG_M586 is not set
Actual value:     

Value requested for CONFIG_M586TSC not in final .config
Requested value:  # CONFIG_M586TSC is not set
Actual value:     

Value requested for CONFIG_M586MMX not in final .config
Requested value:  # CONFIG_M586MMX is not set
Actual value:     

Value requested for CONFIG_M686 not in final .config
Requested value:  CONFIG_M686=y
Actual value:     

Value requested for CONFIG_MPENTIUMII not in final .config
Requested value:  # CONFIG_MPENTIUMII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMIII not in final .config
Requested value:  # CONFIG_MPENTIUMIII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMM not in final .config
Requested value:  # CONFIG_MPENTIUMM is not set
Actual value:     

Value requested for CONFIG_MPENTIUM4 not in final .config
Requested value:  # CONFIG_MPENTIUM4 is not set
Actual value:     

Value requested for CONFIG_MK6 not in final .config
Requested value:  # CONFIG_MK6 is not set
Actual value:     

Value requested for CONFIG_MK7 not in final .config
Requested value:  # CONFIG_MK7 is not set
Actual value:     

Value requested for CONFIG_MCRUSOE not in final .config
Requested value:  # CONFIG_MCRUSOE is not set
Actual value:     

Value requested for CONFIG_MEFFICEON not in final .config
Requested value:  # CONFIG_MEFFICEON is not set
Actual value:     

Value requested for CONFIG_MWINCHIPC6 not in final .config
Requested value:  # CONFIG_MWINCHIPC6 is not set
Actual value:     

Value requested for CONFIG_MWINCHIP3D not in final .config
Requested value:  # CONFIG_MWINCHIP3D is not set
Actual value:     

Value requested for CONFIG_MELAN not in final .config
Requested value:  # CONFIG_MELAN is not set
Actual value:     

Value requested for CONFIG_MGEODEGX1 not in final .config
Requested value:  # CONFIG_MGEODEGX1 is not set
Actual value:     

Value requested for CONFIG_MGEODE_LX not in final .config
Requested value:  # CONFIG_MGEODE_LX is not set
Actual value:     

Value requested for CONFIG_MCYRIXIII not in final .config
Requested value:  # CONFIG_MCYRIXIII is not set
Actual value:     

Value requested for CONFIG_MVIAC3_2 not in final .config
Requested value:  # CONFIG_MVIAC3_2 is not set
Actual value:     

Value requested for CONFIG_MVIAC7 not in final .config
Requested value:  # CONFIG_MVIAC7 is not set
Actual value:     

Value requested for CONFIG_X86_GENERIC not in final .config
Requested value:  # CONFIG_X86_GENERIC is not set
Actual value:     

Value requested for CONFIG_X86_INTERNODE_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_INTERNODE_CACHE_SHIFT=5
Actual value:     CONFIG_X86_INTERNODE_CACHE_SHIFT=6

Value requested for CONFIG_X86_L1_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_L1_CACHE_SHIFT=5
Actual value:     CONFIG_X86_L1_CACHE_SHIFT=6

Value requested for CONFIG_X86_USE_PPRO_CHECKSUM not in final .config
Requested value:  CONFIG_X86_USE_PPRO_CHECKSUM=y
Actual value:     

Value requested for CONFIG_X86_MINIMUM_CPU_FAMILY not in final .config
Requested value:  CONFIG_X86_MINIMUM_CPU_FAMILY=6
Actual value:     CONFIG_X86_MINIMUM_CPU_FAMILY=64

Value requested for CONFIG_CPU_SUP_TRANSMETA_32 not in final .config
Requested value:  CONFIG_CPU_SUP_TRANSMETA_32=y
Actual value:     

Value requested for CONFIG_CPU_SUP_VORTEX_32 not in final .config
Requested value:  CONFIG_CPU_SUP_VORTEX_32=y
Actual value:     

Value requested for CONFIG_HPET_TIMER not in final .config
Requested value:  # CONFIG_HPET_TIMER is not set
Actual value:     CONFIG_HPET_TIMER=y

Value requested for CONFIG_NR_CPUS_RANGE_END not in final .config
Requested value:  CONFIG_NR_CPUS_RANGE_END=8
Actual value:     CONFIG_NR_CPUS_RANGE_END=512

Value requested for CONFIG_NR_CPUS_DEFAULT not in final .config
Requested value:  CONFIG_NR_CPUS_DEFAULT=8
Actual value:     CONFIG_NR_CPUS_DEFAULT=64

Value requested for CONFIG_X86_ANCIENT_MCE not in final .config
Requested value:  # CONFIG_X86_ANCIENT_MCE is not set
Actual value:     

Value requested for CONFIG_X86_LEGACY_VM86 not in final .config
Requested value:  # CONFIG_X86_LEGACY_VM86 is not set
Actual value:     

Value requested for CONFIG_X86_ESPFIX32 not in final .config
Requested value:  CONFIG_X86_ESPFIX32=y
Actual value:     

Value requested for CONFIG_TOSHIBA not in final .config
Requested value:  # CONFIG_TOSHIBA is not set
Actual value:     

Value requested for CONFIG_X86_REBOOTFIXUPS not in final .config
Requested value:  # CONFIG_X86_REBOOTFIXUPS is not set
Actual value:     

Value requested for CONFIG_MICROCODE_INITRD32 not in final .config
Requested value:  CONFIG_MICROCODE_INITRD32=y
Actual value:     

Value requested for CONFIG_NOHIGHMEM not in final .config
Requested value:  # CONFIG_NOHIGHMEM is not set
Actual value:     

Value requested for CONFIG_HIGHMEM4G not in final .config
Requested value:  CONFIG_HIGHMEM4G=y
Actual value:     

Value requested for CONFIG_HIGHMEM64G not in final .config
Requested value:  # CONFIG_HIGHMEM64G is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_3G not in final .config
Requested value:  CONFIG_VMSPLIT_3G=y
Actual value:     

Value requested for CONFIG_VMSPLIT_3G_OPT not in final .config
Requested value:  # CONFIG_VMSPLIT_3G_OPT is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_2G not in final .config
Requested value:  # CONFIG_VMSPLIT_2G is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_2G_OPT not in final .config
Requested value:  # CONFIG_VMSPLIT_2G_OPT is not set
Actual value:     

Value requested for CONFIG_VMSPLIT_1G not in final .config
Requested value:  # CONFIG_VMSPLIT_1G is not set
Actual value:     

Value requested for CONFIG_PAGE_OFFSET not in final .config
Requested value:  CONFIG_PAGE_OFFSET=0xC0000000
Actual value:     

Value requested for CONFIG_HIGHMEM not in final .config
Requested value:  CONFIG_HIGHMEM=y
Actual value:     

Value requested for CONFIG_X86_PAE not in final .config
Requested value:  # CONFIG_X86_PAE is not set
Actual value:     

Value requested for CONFIG_ARCH_FLATMEM_ENABLE not in final .config
Requested value:  CONFIG_ARCH_FLATMEM_ENABLE=y
Actual value:     

Value requested for CONFIG_ARCH_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_ARCH_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_ILLEGAL_POINTER_VALUE not in final .config
Requested value:  CONFIG_ILLEGAL_POINTER_VALUE=0
Actual value:     CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000

Value requested for CONFIG_HIGHPTE not in final .config
Requested value:  # CONFIG_HIGHPTE is not set
Actual value:     

Value requested for CONFIG_COMPAT_VDSO not in final .config
Requested value:  # CONFIG_COMPAT_VDSO is not set
Actual value:     

Value requested for CONFIG_FUNCTION_PADDING_CFI not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_CFI=0
Actual value:     CONFIG_FUNCTION_PADDING_CFI=11

Value requested for CONFIG_FUNCTION_PADDING_BYTES not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_BYTES=4
Actual value:     CONFIG_FUNCTION_PADDING_BYTES=16

Value requested for CONFIG_APM not in final .config
Requested value:  # CONFIG_APM is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K6 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K6 is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K7 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K7 is not set
Actual value:     

Value requested for CONFIG_X86_GX_SUSPMOD not in final .config
Requested value:  # CONFIG_X86_GX_SUSPMOD is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_ICH not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_ICH is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_SMI not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_SMI is not set
Actual value:     

Value requested for CONFIG_X86_CPUFREQ_NFORCE2 not in final .config
Requested value:  # CONFIG_X86_CPUFREQ_NFORCE2 is not set
Actual value:     

Value requested for CONFIG_X86_LONGRUN not in final .config
Requested value:  # CONFIG_X86_LONGRUN is not set
Actual value:     

Value requested for CONFIG_X86_LONGHAUL not in final .config
Requested value:  # CONFIG_X86_LONGHAUL is not set
Actual value:     

Value requested for CONFIG_X86_E_POWERSAVER not in final .config
Requested value:  # CONFIG_X86_E_POWERSAVER is not set
Actual value:     

Value requested for CONFIG_PCI_GOBIOS not in final .config
Requested value:  # CONFIG_PCI_GOBIOS is not set
Actual value:     

Value requested for CONFIG_PCI_GOMMCONFIG not in final .config
Requested value:  # CONFIG_PCI_GOMMCONFIG is not set
Actual value:     

Value requested for CONFIG_PCI_GODIRECT not in final .config
Requested value:  # CONFIG_PCI_GODIRECT is not set
Actual value:     

Value requested for CONFIG_PCI_GOANY not in final .config
Requested value:  CONFIG_PCI_GOANY=y
Actual value:     

Value requested for CONFIG_PCI_BIOS not in final .config
Requested value:  CONFIG_PCI_BIOS=y
Actual value:     

Value requested for CONFIG_ISA not in final .config
Requested value:  # CONFIG_ISA is not set
Actual value:     

Value requested for CONFIG_SCx200 not in final .config
Requested value:  # CONFIG_SCx200 is not set
Actual value:     

Value requested for CONFIG_OLPC not in final .config
Requested value:  # CONFIG_OLPC is not set
Actual value:     

Value requested for CONFIG_ALIX not in final .config
Requested value:  # CONFIG_ALIX is not set
Actual value:     

Value requested for CONFIG_NET5501 not in final .config
Requested value:  # CONFIG_NET5501 is not set
Actual value:     

Value requested for CONFIG_GEOS not in final .config
Requested value:  # CONFIG_GEOS is not set
Actual value:     

Value requested for CONFIG_COMPAT_32 not in final .config
Requested value:  CONFIG_COMPAT_32=y
Actual value:     

Value requested for CONFIG_HAVE_ATOMIC_IOMAP not in final .config
Requested value:  CONFIG_HAVE_ATOMIC_IOMAP=y
Actual value:     

Value requested for CONFIG_ARCH_32BIT_OFF_T not in final .config
Requested value:  CONFIG_ARCH_32BIT_OFF_T=y
Actual value:     

Value requested for CONFIG_ARCH_WANT_IPC_PARSE_VERSION not in final .config
Requested value:  CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
Actual value:     

Value requested for CONFIG_MODULES_USE_ELF_REL not in final .config
Requested value:  CONFIG_MODULES_USE_ELF_REL=y
Actual value:     

Value requested for CONFIG_ARCH_MMAP_RND_BITS not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS=28

Value requested for CONFIG_CLONE_BACKWARDS not in final .config
Requested value:  CONFIG_CLONE_BACKWARDS=y
Actual value:     

Value requested for CONFIG_OLD_SIGSUSPEND3 not in final .config
Requested value:  CONFIG_OLD_SIGSUSPEND3=y
Actual value:     

Value requested for CONFIG_OLD_SIGACTION not in final .config
Requested value:  CONFIG_OLD_SIGACTION=y
Actual value:     

Value requested for CONFIG_ARCH_SPLIT_ARG64 not in final .config
Requested value:  CONFIG_ARCH_SPLIT_ARG64=y
Actual value:     

Value requested for CONFIG_FUNCTION_ALIGNMENT not in final .config
Requested value:  CONFIG_FUNCTION_ALIGNMENT=4
Actual value:     CONFIG_FUNCTION_ALIGNMENT=16

Value requested for CONFIG_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_FLATMEM_MANUAL not in final .config
Requested value:  CONFIG_FLATMEM_MANUAL=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_MANUAL not in final .config
Requested value:  # CONFIG_SPARSEMEM_MANUAL is not set
Actual value:     

Value requested for CONFIG_FLATMEM not in final .config
Requested value:  CONFIG_FLATMEM=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_STATIC not in final .config
Requested value:  CONFIG_SPARSEMEM_STATIC=y
Actual value:     

Value requested for CONFIG_BOUNCE not in final .config
Requested value:  CONFIG_BOUNCE=y
Actual value:     

Value requested for CONFIG_KMAP_LOCAL not in final .config
Requested value:  CONFIG_KMAP_LOCAL=y
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_COMPAQ not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_COMPAQ is not set
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_IBM not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_IBM is not set
Actual value:     

Value requested for CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH not in final .config
Requested value:  CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
Actual value:     

Value requested for CONFIG_PCH_PHUB not in final .config
Requested value:  # CONFIG_PCH_PHUB is not set
Actual value:     

Value requested for CONFIG_SCSI_NSP32 not in final .config
Requested value:  # CONFIG_SCSI_NSP32 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5520 not in final .config
Requested value:  # CONFIG_PATA_CS5520 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5530 not in final .config
Requested value:  # CONFIG_PATA_CS5530 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5535 not in final .config
Requested value:  # CONFIG_PATA_CS5535 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5536 not in final .config
Requested value:  # CONFIG_PATA_CS5536 is not set
Actual value:     

Value requested for CONFIG_PATA_SC1200 not in final .config
Requested value:  # CONFIG_PATA_SC1200 is not set
Actual value:     

Value requested for CONFIG_PCH_GBE not in final .config
Requested value:  # CONFIG_PCH_GBE is not set
Actual value:     

Value requested for CONFIG_INPUT_WISTRON_BTNS not in final .config
Requested value:  # CONFIG_INPUT_WISTRON_BTNS is not set
Actual value:     

Value requested for CONFIG_SERIAL_TIMBERDALE not in final .config
Requested value:  # CONFIG_SERIAL_TIMBERDALE is not set
Actual value:     

Value requested for CONFIG_SERIAL_PCH_UART not in final .config
Requested value:  # CONFIG_SERIAL_PCH_UART is not set
Actual value:     

Value requested for CONFIG_HW_RANDOM_GEODE not in final .config
Requested value:  CONFIG_HW_RANDOM_GEODE=y
Actual value:     

Value requested for CONFIG_SONYPI not in final .config
Requested value:  # CONFIG_SONYPI is not set
Actual value:     

Value requested for CONFIG_PC8736x_GPIO not in final .config
Requested value:  # CONFIG_PC8736x_GPIO is not set
Actual value:     

Value requested for CONFIG_NSC_GPIO not in final .config
Requested value:  # CONFIG_NSC_GPIO is not set
Actual value:     

Value requested for CONFIG_I2C_EG20T not in final .config
Requested value:  # CONFIG_I2C_EG20T is not set
Actual value:     

Value requested for CONFIG_SCx200_ACB not in final .config
Requested value:  # CONFIG_SCx200_ACB is not set
Actual value:     

Value requested for CONFIG_PTP_1588_CLOCK_PCH not in final .config
Requested value:  # CONFIG_PTP_1588_CLOCK_PCH is not set
Actual value:     

Value requested for CONFIG_SBC8360_WDT not in final .config
Requested value:  # CONFIG_SBC8360_WDT is not set
Actual value:     

Value requested for CONFIG_SBC7240_WDT not in final .config
Requested value:  # CONFIG_SBC7240_WDT is not set
Actual value:     

Value requested for CONFIG_MFD_CS5535 not in final .config
Requested value:  # CONFIG_MFD_CS5535 is not set
Actual value:     

Value requested for CONFIG_AGP_ALI not in final .config
Requested value:  # CONFIG_AGP_ALI is not set
Actual value:     

Value requested for CONFIG_AGP_ATI not in final .config
Requested value:  # CONFIG_AGP_ATI is not set
Actual value:     

Value requested for CONFIG_AGP_AMD not in final .config
Requested value:  # CONFIG_AGP_AMD is not set
Actual value:     

Value requested for CONFIG_AGP_NVIDIA not in final .config
Requested value:  # CONFIG_AGP_NVIDIA is not set
Actual value:     

Value requested for CONFIG_AGP_SWORKS not in final .config
Requested value:  # CONFIG_AGP_SWORKS is not set
Actual value:     

Value requested for CONFIG_AGP_EFFICEON not in final .config
Requested value:  # CONFIG_AGP_EFFICEON is not set
Actual value:     

Value requested for CONFIG_SND_PCM not in final .config
Requested value:  CONFIG_SND_PCM=y
Actual value:     CONFIG_SND_PCM=m

Value requested for CONFIG_SND_HWDEP not in final .config
Requested value:  CONFIG_SND_HWDEP=y
Actual value:     CONFIG_SND_HWDEP=m

Value requested for CONFIG_SND_DYNAMIC_MINORS not in final .config
Requested value:  # CONFIG_SND_DYNAMIC_MINORS is not set
Actual value:     CONFIG_SND_DYNAMIC_MINORS=y

Value requested for CONFIG_SND_CS5530 not in final .config
Requested value:  # CONFIG_SND_CS5530 is not set
Actual value:     

Value requested for CONFIG_SND_CS5535AUDIO not in final .config
Requested value:  # CONFIG_SND_CS5535AUDIO is not set
Actual value:     

Value requested for CONFIG_SND_SIS7019 not in final .config
Requested value:  # CONFIG_SND_SIS7019 is not set
Actual value:     

Value requested for CONFIG_SND_HDA not in final .config
Requested value:  CONFIG_SND_HDA=y
Actual value:     CONFIG_SND_HDA=m

Value requested for CONFIG_SND_HDA_CORE not in final .config
Requested value:  CONFIG_SND_HDA_CORE=y
Actual value:     CONFIG_SND_HDA_CORE=m

Value requested for CONFIG_SND_INTEL_DSP_CONFIG not in final .config
Requested value:  CONFIG_SND_INTEL_DSP_CONFIG=y
Actual value:     CONFIG_SND_INTEL_DSP_CONFIG=m

Value requested for CONFIG_SND_INTEL_SOUNDWIRE_ACPI not in final .config
Requested value:  CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
Actual value:     CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m

Value requested for CONFIG_LEDS_OT200 not in final .config
Requested value:  # CONFIG_LEDS_OT200 is not set
Actual value:     

Value requested for CONFIG_PCH_DMA not in final .config
Requested value:  # CONFIG_PCH_DMA is not set
Actual value:     

Value requested for CONFIG_CLKSRC_I8253 not in final .config
Requested value:  CONFIG_CLKSRC_I8253=y
Actual value:     

Value requested for CONFIG_MAILBOX not in final .config
Requested value:  # CONFIG_MAILBOX is not set
Actual value:     CONFIG_MAILBOX=y

Value requested for CONFIG_CRYPTO_SERPENT_SSE2_586 not in final .config
Requested value:  # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_TWOFISH_586 not in final .config
Requested value:  # CONFIG_CRYPTO_TWOFISH_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_GEODE not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_GEODE is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_HIFN_795X not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_HIFN_795X is not set
Actual value:     

Value requested for CONFIG_CRYPTO_LIB_POLY1305_RSIZE not in final .config
Requested value:  CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
Actual value:     CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11

Value requested for CONFIG_AUDIT_GENERIC not in final .config
Requested value:  CONFIG_AUDIT_GENERIC=y
Actual value:     

Value requested for CONFIG_GENERIC_VDSO_32 not in final .config
Requested value:  CONFIG_GENERIC_VDSO_32=y
Actual value:     

Value requested for CONFIG_DEBUG_KMAP_LOCAL not in final .config
Requested value:  # CONFIG_DEBUG_KMAP_LOCAL is not set
Actual value:     

Value requested for CONFIG_DEBUG_HIGHMEM not in final .config
Requested value:  # CONFIG_DEBUG_HIGHMEM is not set
Actual value:     

Value requested for CONFIG_HAVE_DEBUG_STACKOVERFLOW not in final .config
Requested value:  CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
Actual value:     

Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config
Requested value:  # CONFIG_DEBUG_STACKOVERFLOW is not set
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_RETVAL not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
Actual value:     

Value requested for CONFIG_DRM_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_KUNIT_TEST=m
Actual value:     

Value requested for CONFIG_DRM_XE_WERROR not in final .config
Requested value:  CONFIG_DRM_XE_WERROR=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG_MEM=y
Actual value:     

Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_XE_KUNIT_TEST=m
Actual value:     

++ nproc
+ make -j48 ARCH=i386 olddefconfig
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
  GEN     Makefile
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
  UPD     include/generated/uapi/linux/version.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctls.h
  WRAP    arch/x86/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/x86/include/generated/uapi/asm/param.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  WRAP    arch/x86/include/generated/uapi/asm/resource.h
  WRAP    arch/x86/include/generated/uapi/asm/socket.h
  WRAP    arch/x86/include/generated/uapi/asm/sockios.h
  WRAP    arch/x86/include/generated/uapi/asm/termbits.h
  WRAP    arch/x86/include/generated/uapi/asm/termios.h
  WRAP    arch/x86/include/generated/uapi/asm/types.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  UPD     include/generated/compile.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/irq_regs.h
  HOSTCC  arch/x86/tools/relocs_32.o
  WRAP    arch/x86/include/generated/asm/kmap_size.h
  WRAP    arch/x86/include/generated/asm/local64.h
  HOSTCC  arch/x86/tools/relocs_64.o
  WRAP    arch/x86/include/generated/asm/mmiowb.h
  WRAP    arch/x86/include/generated/asm/module.lds.h
  HOSTCC  arch/x86/tools/relocs_common.o
  WRAP    arch/x86/include/generated/asm/rwonce.h
  WRAP    arch/x86/include/generated/asm/unaligned.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTLD  arch/x86/tools/relocs
  UPD     include/config/kernel.release
  UPD     include/generated/utsrelease.h
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-instrumented.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-long.h
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    /workspace/kernel/scripts/checksyscalls.sh
  LDS     scripts/module.lds
  CC      init/main.o
  HOSTCC  usr/gen_init_cpio
  CC      init/do_mounts.o
  CC      ipc/util.o
  CC      block/bdev.o
  CC      block/fops.o
  CC      security/commoncap.o
  CC      ipc/msgutil.o
  CC      init/do_mounts_initrd.o
  CC      security/lsm_syscalls.o
  CC      certs/system_keyring.o
  CC      block/bio.o
  CC      ipc/msg.o
  CC      init/initramfs.o
  UPD     init/utsversion-tmp.h
  CC      arch/x86/power/cpu.o
  CC      arch/x86/video/video-common.o
  AS      arch/x86/lib/atomic64_cx8_32.o
  CC      io_uring/io_uring.o
  GEN     security/selinux/flask.h security/selinux/av_permissions.h
  CC      arch/x86/pci/i386.o
  AR      arch/x86/net/built-in.a
  CC      mm/filemap.o
  AR      arch/x86/crypto/built-in.a
  CC      block/partitions/core.o
  CC      arch/x86/realmode/init.o
  AR      net/802/built-in.a
  CC      net/ethernet/eth.o
  CC      security/keys/gc.o
  AR      virt/lib/built-in.a
  AR      sound/i2c/other/built-in.a
  AR      drivers/cache/built-in.a
  CC      sound/core/seq/seq.o
  AR      arch/x86/virt/svm/built-in.a
  CC      lib/math/div64.o
  AR      sound/drivers/opl3/built-in.a
  CC      net/core/sock.o
  CC      security/integrity/iint.o
  AR      sound/isa/ad1816a/built-in.a
  CC      security/selinux/avc.o
  CC      arch/x86/events/amd/core.o
  AR      sound/pci/ac97/built-in.a
  AR      virt/built-in.a
  AR      arch/x86/platform/atom/built-in.a
  CC      arch/x86/mm/pat/set_memory.o
  CC      fs/nfs_common/nfsacl.o
  AR      sound/i2c/built-in.a
  CC      fs/notify/dnotify/dnotify.o
  CC      fs/quota/dquot.o
  CC      fs/proc/task_mmu.o
  CC      fs/iomap/trace.o
  AR      arch/x86/virt/vmx/built-in.a
  CC      arch/x86/kernel/fpu/init.o
  AR      sound/drivers/opl4/built-in.a
  AS      arch/x86/lib/checksum_32.o
  AR      sound/isa/ad1848/built-in.a
  AR      sound/pci/ali5451/built-in.a
  AR      drivers/irqchip/built-in.a
  AR      arch/x86/virt/built-in.a
  CC      security/min_addr.o
  AR      sound/isa/cs423x/built-in.a
  CC      arch/x86/entry/vdso/vma.o
  AR      sound/drivers/mpu401/built-in.a
  AR      arch/x86/platform/ce4100/built-in.a
  CC      security/keys/key.o
  AR      sound/pci/asihpi/built-in.a
  AR      sound/isa/es1688/built-in.a
  AR      sound/isa/galaxy/built-in.a
  CC      arch/x86/platform/efi/memmap.o
  CC      arch/x86/lib/cmdline.o
  CC      io_uring/opdef.o
  AR      sound/drivers/vx/built-in.a
  AR      drivers/bus/mhi/built-in.a
  AR      sound/pci/au88x0/built-in.a
  CC      kernel/sched/core.o
  AR      sound/isa/gus/built-in.a
  AR      drivers/bus/built-in.a
  CC      crypto/asymmetric_keys/asymmetric_type.o
  AR      sound/drivers/pcsp/built-in.a
  AR      sound/pci/aw2/built-in.a
  AR      sound/drivers/built-in.a
  AR      sound/isa/msnd/built-in.a
  AR      drivers/pwm/built-in.a
  AR      sound/pci/ctxfi/built-in.a
  AR      sound/isa/opti9xx/built-in.a
  CC      security/keys/keyring.o
  AR      sound/pci/ca0106/built-in.a
  CC      lib/math/gcd.o
  AR      sound/isa/sb/built-in.a
  AR      sound/pci/cs46xx/built-in.a
  CC      drivers/pci/msi/pcidev_msi.o
  AR      sound/isa/wavefront/built-in.a
  AR      sound/pci/cs5535audio/built-in.a
  AR      sound/isa/wss/built-in.a
  AR      sound/pci/lola/built-in.a
  AR      sound/isa/built-in.a
  AR      sound/pci/lx6464es/built-in.a
  AS      arch/x86/lib/cmpxchg8b_emu.o
  AR      sound/pci/echoaudio/built-in.a
  CC      lib/math/lcm.o
  CC      drivers/pci/msi/api.o
  AR      sound/pci/emu10k1/built-in.a
  CC      arch/x86/lib/cpu.o
  AR      sound/pci/hda/built-in.a
  CC [M]  sound/pci/hda/hda_bind.o
  CC      lib/math/int_log.o
  CC      arch/x86/kernel/fpu/bugs.o
  GEN     usr/initramfs_data.cpio
  COPY    usr/initramfs_inc_data
  AS      usr/initramfs_data.o
  AR      usr/built-in.a
  HOSTCC  certs/extract-cert
  CC [M]  sound/pci/hda/hda_codec.o
  CC      lib/math/int_pow.o
  CC      arch/x86/kernel/fpu/core.o
  CC      lib/math/int_sqrt.o
  CC      lib/math/reciprocal_div.o
  CC      sound/core/seq/seq_lock.o
  AS      arch/x86/realmode/rm/header.o
  CC      lib/math/rational.o
  AR      arch/x86/video/built-in.a
  CERT    certs/x509_certificate_list
  CERT    certs/signing_key.x509
  CC      sound/core/seq/seq_clientmgr.o
  AS      certs/system_certificates.o
  AS      arch/x86/realmode/rm/trampoline_32.o
  CC      arch/x86/lib/delay.o
  AS      arch/x86/realmode/rm/stack.o
  AR      certs/built-in.a
  CC      sound/core/seq/seq_memory.o
  AS      arch/x86/realmode/rm/reboot.o
  AS      arch/x86/realmode/rm/wakeup_asm.o
  CC      security/integrity/integrity_audit.o
  CC      fs/nfs_common/grace.o
  CC      ipc/sem.o
  CC      net/core/request_sock.o
  CC      arch/x86/realmode/rm/wakemain.o
  CC      arch/x86/pci/init.o
  CC      net/core/skbuff.o
  CC      security/security.o
  CC      arch/x86/pci/pcbios.o
  AR      sound/pci/ice1712/built-in.a
  CC      arch/x86/entry/vdso/extable.o
  CC      crypto/asymmetric_keys/restrict.o
  AR      fs/notify/dnotify/built-in.a
  CC      arch/x86/pci/mmconfig_32.o
  CC      arch/x86/realmode/rm/video-mode.o
  CC      arch/x86/power/hibernate_32.o
  CC      fs/notify/inotify/inotify_fsnotify.o
  CC      block/partitions/msdos.o
  CC      arch/x86/platform/efi/quirks.o
  CC      drivers/pci/msi/msi.o
  CC      block/partitions/efi.o
  AS      arch/x86/realmode/rm/copy.o
  AS      arch/x86/lib/getuser.o
  CC      drivers/pci/msi/irqdomain.o
  AS      arch/x86/realmode/rm/bioscall.o
  AR      lib/math/built-in.a
  CC      arch/x86/realmode/rm/regs.o
  GEN     arch/x86/lib/inat-tables.c
  CC      net/core/datagram.o
  CC      arch/x86/pci/direct.o
  CC      lib/crypto/mpi/generic_mpih-lshift.o
  CC      arch/x86/pci/mmconfig-shared.o
  CC      lib/crypto/mpi/generic_mpih-mul1.o
  CC      sound/core/seq/seq_queue.o
  CC      arch/x86/realmode/rm/video-vga.o
  CC      arch/x86/lib/insn-eval.o
  CC      lib/crypto/memneq.o
  CC      sound/core/seq/seq_fifo.o
  CC      block/elevator.o
  CC      arch/x86/events/amd/lbr.o
  CC      arch/x86/realmode/rm/video-vesa.o
  CC      arch/x86/lib/insn.o
  CC      fs/iomap/iter.o
  CC      crypto/asymmetric_keys/signature.o
  CC      arch/x86/realmode/rm/video-bios.o
  CC      arch/x86/mm/pat/memtype.o
  AR      net/ethernet/built-in.a
  CC      fs/iomap/buffered-io.o
  CC      security/keys/keyctl.o
  CC      security/keys/permission.o
  CC      fs/notify/inotify/inotify_user.o
  PASYMS  arch/x86/realmode/rm/pasyms.h
  LDS     arch/x86/realmode/rm/realmode.lds
  AR      fs/nfs_common/built-in.a
  LD      arch/x86/realmode/rm/realmode.elf
  RELOCS  arch/x86/realmode/rm/realmode.relocs
  CC      fs/kernfs/mount.o
  OBJCOPY arch/x86/realmode/rm/realmode.bin
  AS      arch/x86/realmode/rmpiggy.o
  CC      init/calibrate.o
  AR      security/integrity/built-in.a
  AR      arch/x86/realmode/built-in.a
  CC      init/init_task.o
  CC      fs/kernfs/inode.o
  CC      lib/crypto/utils.o
  CC      fs/kernfs/dir.o
  CC      fs/kernfs/file.o
  CC      lib/crypto/chacha.o
  AR      sound/ppc/built-in.a
  AS      arch/x86/power/hibernate_asm_32.o
  AR      sound/arm/built-in.a
  CC      security/selinux/hooks.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      arch/x86/power/hibernate.o
  CC      security/selinux/selinuxfs.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  CC      lib/crypto/mpi/generic_mpih-mul2.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  AR      sound/sh/built-in.a
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  CC      arch/x86/kernel/fpu/regset.o
  CC      lib/zlib_inflate/inffast.o
  CC      lib/crypto/aes.o
  AR      sound/synth/emux/built-in.a
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  AR      sound/synth/built-in.a
  CC      security/lsm_audit.o
  CC      arch/x86/entry/vdso/vdso32/vgetcpu.o
  CC      lib/zlib_deflate/deflate.o
  CC      fs/proc/inode.o
  CC      block/blk-core.o
  CC      lib/lzo/lzo1x_compress.o
  CC      crypto/asymmetric_keys/public_key.o
  CC      lib/crypto/arc4.o
  CC      arch/x86/mm/pat/memtype_interval.o
  CC      lib/lz4/lz4_decompress.o
  AR      block/partitions/built-in.a
  CC      lib/zlib_inflate/inflate.o
  CC      net/core/stream.o
  CC      block/blk-sysfs.o
  CC      arch/x86/platform/efi/efi.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  CC      sound/core/seq/seq_prioq.o
  AR      drivers/pci/msi/built-in.a
  CC      fs/quota/quota_v2.o
  CC      arch/x86/pci/fixup.o
  CC      drivers/pci/pcie/portdrv.o
  CC      arch/x86/lib/kaslr.o
  CC      arch/x86/events/amd/ibs.o
  CC      arch/x86/events/amd/uncore.o
  CC      arch/x86/pci/acpi.o
  CC      lib/crypto/mpi/generic_mpih-mul3.o
  CC      init/version.o
  CC      lib/crypto/mpi/generic_mpih-rshift.o
  CC      sound/core/seq/seq_timer.o
  CC      arch/x86/lib/memcpy_32.o
  CC      sound/core/seq/seq_system.o
  AS      arch/x86/lib/memmove_32.o
  CC      arch/x86/lib/misc.o
  CC      security/keys/process_keys.o
  CC [M]  sound/pci/hda/hda_jack.o
  AR      fs/notify/inotify/built-in.a
  CC      ipc/shm.o
  AR      arch/x86/power/built-in.a
  AR      fs/notify/fanotify/built-in.a
  CC      arch/x86/lib/pc-conf-reg.o
  CC      fs/notify/fsnotify.o
  CC      lib/zlib_deflate/deftree.o
  AS      arch/x86/lib/putuser.o
  AR      lib/lzo/built-in.a
  CC      security/keys/request_key.o
  HOSTCC  arch/x86/entry/vdso/vdso2c
  CC      arch/x86/entry/vdso/vdso32-setup.o
  CC      drivers/video/console/dummycon.o
  AS      arch/x86/lib/retpoline.o
  AR      init/built-in.a
  CC      drivers/video/console/vgacon.o
  CC      drivers/video/backlight/backlight.o
  AR      arch/x86/mm/pat/built-in.a
  ASN.1   crypto/asymmetric_keys/x509.asn1.[ch]
  CC      arch/x86/mm/init.o
  ASN.1   crypto/asymmetric_keys/x509_akid.asn1.[ch]
  CC      crypto/asymmetric_keys/x509_loader.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      lib/zlib_inflate/infutil.o
  CC      arch/x86/lib/strstr_32.o
  CC      arch/x86/lib/string_32.o
  CC      fs/proc/root.o
  AR      drivers/video/fbdev/core/built-in.a
  CC      fs/notify/notification.o
  AR      drivers/video/fbdev/omap/built-in.a
  CC      sound/core/seq/seq_ports.o
  CC      arch/x86/lib/usercopy.o
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  CC      arch/x86/lib/usercopy_32.o
  AR      sound/pci/korg1212/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  CC      lib/zstd/zstd_decompress_module.o
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  CC      fs/iomap/direct-io.o
  AR      drivers/video/fbdev/omap2/built-in.a
  AR      drivers/video/fbdev/built-in.a
  CC      fs/kernfs/symlink.o
  CC      security/keys/request_key_auth.o
  CC      crypto/asymmetric_keys/x509_public_key.o
  CC      fs/quota/quota_tree.o
  AR      sound/pci/mixart/built-in.a
  CC      lib/crypto/mpi/generic_mpih-sub1.o
  CC      lib/zstd/decompress/huf_decompress.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  CC      drivers/pci/pcie/rcec.o
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  CC      lib/zstd/decompress/zstd_ddict.o
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  CC      arch/x86/entry/vdso/vdso-image-32.o
  CC      lib/zlib_inflate/inftrees.o
  CC      arch/x86/platform/efi/efi_32.o
  CC      lib/zstd/decompress/zstd_decompress.o
  CC      arch/x86/pci/legacy.o
  AR      drivers/idle/built-in.a
  CC      lib/zlib_deflate/deflate_syms.o
  CC      arch/x86/lib/msr-smp.o
  AR      drivers/char/ipmi/built-in.a
  CC      sound/core/seq/seq_info.o
  CC      arch/x86/mm/init_32.o
  CC      arch/x86/mm/fault.o
  CC      mm/mempool.o
  CC [M]  sound/pci/hda/hda_auto_parser.o
  CC      arch/x86/kernel/cpu/mce/core.o
  AR      lib/lz4/built-in.a
  CC      fs/quota/quota.o
  CC      security/keys/user_defined.o
  CC      lib/zlib_inflate/inflate_syms.o
  CC      fs/proc/base.o
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  CC      arch/x86/pci/irq.o
  AR      arch/x86/entry/vdso/built-in.a
  AR      arch/x86/entry/vsyscall/built-in.a
  AS      arch/x86/entry/entry.o
  CC      arch/x86/kernel/cpu/microcode/core.o
  AS      arch/x86/entry/entry_32.o
  CC      arch/x86/lib/cache-smp.o
  CC      arch/x86/lib/msr.o
  CC      arch/x86/entry/syscall_32.o
  AR      arch/x86/events/amd/built-in.a
  CC      fs/notify/group.o
  CC      arch/x86/events/intel/core.o
  AR      lib/zlib_deflate/built-in.a
  ASN.1   crypto/asymmetric_keys/pkcs7.asn1.[ch]
  CC      crypto/asymmetric_keys/pkcs7_trust.o
  CC      arch/x86/kernel/cpu/microcode/intel.o
  CC      security/keys/proc.o
  CC      arch/x86/events/intel/bts.o
  CC      fs/iomap/fiemap.o
  AS      arch/x86/lib/msr-reg.o
  CC      arch/x86/lib/msr-reg-export.o
  CC      lib/crypto/mpi/generic_mpih-add1.o
  CC      arch/x86/kernel/cpu/mce/severity.o
  CC      arch/x86/events/intel/ds.o
  CC      arch/x86/kernel/fpu/xstate.o
  AR      drivers/video/backlight/built-in.a
  CC      arch/x86/entry/common.o
  CC      arch/x86/events/intel/knc.o
  CC      crypto/api.o
  CC      security/selinux/netlink.o
  CC      security/selinux/nlmsgtab.o
  CC      security/selinux/netif.o
  AR      lib/zlib_inflate/built-in.a
  AR      fs/kernfs/built-in.a
  CC      lib/xz/xz_dec_syms.o
  CC      net/core/scm.o
  CC      sound/core/seq/seq_dummy.o
  AR      drivers/video/console/built-in.a
  CC      drivers/video/aperture.o
  CC      drivers/pci/pcie/aspm.o
  CC      net/core/gen_stats.o
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC      ipc/syscall.o
  AS      arch/x86/platform/efi/efi_stub_32.o
  CC      lib/xz/xz_dec_stream.o
  CC      arch/x86/platform/efi/runtime-map.o
  CC      arch/x86/pci/common.o
  CC      crypto/asymmetric_keys/pkcs7_verify.o
  CC      drivers/video/cmdline.o
  CC      io_uring/kbuf.o
  CC      security/selinux/netnode.o
  CC      mm/oom_kill.o
  AR      sound/usb/misc/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/if.o
  AR      sound/usb/usx2y/built-in.a
  CC      block/blk-flush.o
  AR      sound/firewire/built-in.a
  AR      sound/usb/caiaq/built-in.a
  CC      ipc/ipc_sysctl.o
  AR      sound/sparc/built-in.a
  AR      sound/usb/6fire/built-in.a
  CC      arch/x86/kernel/cpu/microcode/amd.o
  AR      sound/usb/hiface/built-in.a
  CC      lib/crypto/mpi/ec.o
  AR      sound/usb/bcd2000/built-in.a
  AR      sound/usb/built-in.a
  CC      fs/notify/mark.o
  CC      ipc/mqueue.o
  CC [M]  sound/pci/hda/hda_sysfs.o
  CC      security/keys/sysctl.o
  CC      fs/iomap/seek.o
  AR      sound/core/seq/built-in.a
  CC      sound/core/sound.o
  CC      ipc/namespace.o
  CC      crypto/asymmetric_keys/x509.asn1.o
  AS      arch/x86/lib/hweight.o
  CC      lib/xz/xz_dec_lzma2.o
  CC      crypto/asymmetric_keys/x509_akid.asn1.o
  CC      arch/x86/lib/iomem.o
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC      crypto/asymmetric_keys/x509_cert_parser.o
  CC      arch/x86/kernel/cpu/mce/intel.o
  CC      arch/x86/mm/ioremap.o
  CC      lib/xz/xz_dec_bcj.o
  CC      fs/quota/kqid.o
  CC      drivers/video/nomodeset.o
  CC      arch/x86/events/intel/lbr.o
  CC      arch/x86/events/intel/p4.o
  CC      crypto/asymmetric_keys/pkcs7.asn1.o
  CC      crypto/asymmetric_keys/pkcs7_parser.o
  AS      arch/x86/entry/thunk.o
  CC      security/selinux/netport.o
  CC      arch/x86/events/intel/p6.o
  CC      crypto/cipher.o
  CC      ipc/mq_sysctl.o
  CC      arch/x86/kernel/cpu/mce/amd.o
  AR      arch/x86/platform/efi/built-in.a
  AR      arch/x86/platform/geode/built-in.a
  AR      arch/x86/platform/iris/built-in.a
  CC      arch/x86/lib/atomic64_32.o
  CC      arch/x86/platform/intel/iosf_mbi.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      arch/x86/pci/early.o
  CC      arch/x86/pci/bus_numa.o
  AR      arch/x86/entry/built-in.a
  CC      fs/notify/fdinfo.o
  CC      arch/x86/mm/extable.o
  AR      arch/x86/kernel/fpu/built-in.a
  CC      arch/x86/kernel/acpi/boot.o
  CC      arch/x86/lib/inat.o
  CC      drivers/video/hdmi.o
  CC      security/keys/keyctl_pkey.o
  CC      net/core/gen_estimator.o
  CC      net/core/net_namespace.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      security/selinux/status.o
  CC      arch/x86/kernel/apic/apic.o
  CC      fs/quota/netlink.o
  CC      sound/core/init.o
  AR      arch/x86/lib/built-in.a
  CC      block/blk-settings.o
  AR      arch/x86/lib/lib.a
  CC [M]  sound/pci/hda/hda_controller.o
  CC      drivers/pci/pcie/pme.o
  CC      fs/iomap/swapfile.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a
  CC      security/selinux/ss/ebitmap.o
  CC      arch/x86/kernel/apic/apic_common.o
  CC      arch/x86/kernel/cpu/cacheinfo.o
  CC      arch/x86/kernel/apic/apic_noop.o
  AR      crypto/asymmetric_keys/built-in.a
  CC      arch/x86/kernel/kprobes/core.o
  CC      arch/x86/kernel/cpu/mce/threshold.o
  CC      crypto/compress.o
  AR      lib/xz/built-in.a
  CC      arch/x86/kernel/kprobes/opt.o
  CC      io_uring/rsrc.o
  CC      kernel/sched/fair.o
  CC      sound/core/memory.o
  CC      arch/x86/mm/mmap.o
  CC      fs/proc/generic.o
  CC      kernel/sched/build_policy.o
  CC      lib/crypto/mpi/mpicoder.o
  CC      block/blk-ioc.o
  CC      arch/x86/events/intel/pt.o
  CC      arch/x86/kernel/apic/ipi.o
  CC      arch/x86/pci/amd_bus.o
  CC      security/selinux/ss/hashtab.o
  AR      arch/x86/platform/intel/built-in.a
  AR      fs/notify/built-in.a
  AR      arch/x86/platform/intel-mid/built-in.a
  AR      arch/x86/platform/intel-quark/built-in.a
  CC      net/sched/sch_generic.o
  CC      net/netlink/af_netlink.o
  CC      lib/dim/dim.o
  CC      lib/fonts/fonts.o
  AR      arch/x86/platform/olpc/built-in.a
  CC      net/netlink/genetlink.o
  AR      arch/x86/platform/scx200/built-in.a
  AR      arch/x86/platform/ts5500/built-in.a
  AR      security/keys/built-in.a
  AR      sound/spi/built-in.a
  CC      lib/dim/net_dim.o
  AR      arch/x86/platform/uv/built-in.a
  CC      lib/dim/rdma_dim.o
  AR      arch/x86/platform/built-in.a
  CC      mm/fadvise.o
  AR      sound/parisc/built-in.a
  CC      kernel/locking/mutex.o
  CC      fs/sysfs/file.o
  AR      drivers/video/built-in.a
  CC      fs/devpts/inode.o
  CC      arch/x86/events/intel/uncore.o
  CC      crypto/algapi.o
  AR      sound/pci/nm256/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  CC      block/blk-map.o
  AR      fs/iomap/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/amd.o
  AR      drivers/pci/pcie/built-in.a
  AR      fs/quota/built-in.a
  AR      drivers/pci/pwrctl/built-in.a
  CC      block/blk-merge.o
  AR      ipc/built-in.a
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  CC      block/blk-timeout.o
  CC      arch/x86/mm/pgtable.o
  CC      kernel/power/qos.o
  CC      crypto/scatterwalk.o
  CC      sound/core/control.o
  CC      lib/fonts/font_8x16.o
  CC      arch/x86/events/intel/uncore_nhmex.o
  CC      crypto/proc.o
  CC      net/sched/sch_mq.o
  AS      arch/x86/kernel/acpi/wakeup_32.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC      kernel/locking/semaphore.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  AR      sound/pci/oxygen/built-in.a
  AR      sound/pci/pcxhr/built-in.a
  AR      arch/x86/kernel/kprobes/built-in.a
  CC      fs/sysfs/dir.o
  CC      kernel/locking/rwsem.o
  LDS     arch/x86/kernel/vmlinux.lds
  CC      net/core/secure_seq.o
  CC      security/selinux/ss/symtab.o
  CC      lib/crypto/mpi/mpi-add.o
  AR      sound/pcmcia/vx/built-in.a
  CC      fs/proc/array.o
  AR      sound/pcmcia/pdaudiocf/built-in.a
  AR      sound/pcmcia/built-in.a
  AR      sound/pci/riptide/built-in.a
  CC      fs/sysfs/symlink.o
  AR      arch/x86/pci/built-in.a
  CC      lib/argv_split.o
  CC      fs/proc/fd.o
  AR      arch/x86/kernel/cpu/mce/built-in.a
  CC      security/selinux/ss/sidtab.o
  CC      fs/proc/proc_tty.o
  AR      lib/fonts/built-in.a
  CC      lib/bug.o
  CC      security/selinux/ss/avtab.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      lib/crypto/mpi/mpi-bit.o
  AR      drivers/pci/controller/dwc/built-in.a
  AR      drivers/pci/controller/mobiveil/built-in.a
  CC [M]  sound/pci/hda/hda_proc.o
  CC      lib/zstd/zstd_common_module.o
  AR      drivers/pci/controller/plda/built-in.a
  AR      drivers/pci/controller/built-in.a
  CC      mm/maccess.o
  CC      mm/page-writeback.o
  CC      security/selinux/ss/policydb.o
  CC      arch/x86/kernel/cpu/mtrr/cyrix.o
  CC      lib/buildid.o
  AR      fs/devpts/built-in.a
  CC      fs/proc/cmdline.o
  CC      io_uring/notif.o
  AR      lib/dim/built-in.a
  CC      fs/netfs/buffered_read.o
  CC      fs/sysfs/mount.o
  CC      crypto/aead.o
  AR      arch/x86/kernel/acpi/built-in.a
  CC      fs/ext4/balloc.o
  CC      crypto/geniv.o
  CC      arch/x86/mm/physaddr.o
  AS      arch/x86/kernel/head_32.o
  CC      arch/x86/events/intel/uncore_snb.o
  CC      fs/ext4/bitmap.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      fs/jbd2/transaction.o
  CC      fs/ramfs/inode.o
  CC      fs/ext4/block_validity.o
  CC      arch/x86/events/intel/uncore_discovery.o
  CC      block/blk-lib.o
  AR      drivers/pci/hotplug/built-in.a
  CC      arch/x86/kernel/apic/vector.o
  AR      drivers/pci/switch/built-in.a
  CC      drivers/pci/access.o
  CC      lib/zstd/common/debug.o
  CC      lib/zstd/common/entropy_common.o
  CC [M]  sound/pci/hda/hda_hwdep.o
  CC      security/selinux/ss/services.o
  CC      fs/jbd2/commit.o
  CC      fs/jbd2/recovery.o
  CC      kernel/locking/percpu-rwsem.o
  CC      net/sched/sch_frag.o
  CC      crypto/lskcipher.o
  CC      kernel/power/main.o
  CC      lib/zstd/common/error_private.o
  CC      lib/crypto/mpi/mpi-cmp.o
  CC      lib/zstd/common/fse_decompress.o
  CC      kernel/printk/printk.o
  CC      arch/x86/kernel/cpu/mtrr/centaur.o
  CC      arch/x86/kernel/cpu/mtrr/legacy.o
  CC      arch/x86/mm/tlb.o
  CC      fs/proc/consoles.o
  CC      kernel/printk/printk_safe.o
  CC      fs/proc/cpuinfo.o
  CC      lib/clz_tab.o
  CC      net/netlink/policy.o
  CC      mm/folio-compat.o
  CC      net/core/flow_dissector.o
  CC      arch/x86/events/intel/cstate.o
  CC      sound/core/misc.o
  CC      fs/sysfs/group.o
  CC      crypto/skcipher.o
  CC      lib/crypto/mpi/mpi-sub-ui.o
  AR      sound/mips/built-in.a
  CC      kernel/locking/spinlock.o
  CC      block/blk-mq.o
  CC      security/selinux/ss/conditional.o
  CC      fs/ramfs/file-mmu.o
  CC      fs/proc/devices.o
  CC [M]  sound/pci/hda/patch_hdmi.o
  CC      kernel/locking/osq_lock.o
  CC      net/sched/sch_api.o
  CC      sound/core/device.o
  CC      crypto/seqiv.o
  CC      lib/crypto/mpi/mpi-div.o
  CC      fs/ext4/dir.o
  CC      lib/zstd/common/zstd_common.o
  CC      arch/x86/kernel/apic/init.o
  CC      lib/crypto/mpi/mpi-inv.o
  CC      io_uring/tctx.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  AR      lib/zstd/built-in.a
  CC      arch/x86/kernel/cpu/topology_common.o
  CC      drivers/pci/bus.o
  CC      lib/crypto/mpi/mpi-mod.o
  CC      lib/cmdline.o
  CC      arch/x86/kernel/cpu/topology_ext.o
  CC      fs/ext4/ext4_jbd2.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      lib/crypto/mpi/mpi-mul.o
  CC      fs/netfs/buffered_write.o
  CC      kernel/locking/qspinlock.o
  AR      sound/pci/rme9652/built-in.a
  CC      sound/core/info.o
  CC      net/sched/sch_blackhole.o
  CC      fs/jbd2/checkpoint.o
  CC      crypto/echainiv.o
  CC      lib/cpumask.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC      kernel/printk/nbcon.o
  AR      fs/sysfs/built-in.a
  CC      block/blk-mq-tag.o
  CC      drivers/acpi/acpica/dsargs.o
  AR      drivers/acpi/pmic/built-in.a
  CC      drivers/acpi/acpica/dscontrol.o
  CC      fs/proc/interrupts.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  AR      net/netlink/built-in.a
  CC      fs/proc/loadavg.o
  AR      fs/ramfs/built-in.a
  CC      arch/x86/mm/cpu_entry_area.o
  CC      kernel/power/console.o
  CC      fs/hugetlbfs/inode.o
  AR      sound/soc/built-in.a
  CC      arch/x86/kernel/cpu/topology_amd.o
  CC      arch/x86/mm/maccess.o
  CC      crypto/ahash.o
  CC      block/blk-stat.o
  CC      kernel/power/process.o
  AR      sound/pci/trident/built-in.a
  CC      arch/x86/kernel/cpu/common.o
  AR      sound/pci/ymfpci/built-in.a
  CC      arch/x86/kernel/cpu/rdrand.o
  CC      block/blk-mq-sysfs.o
  CC      kernel/locking/rtmutex_api.o
  CC      fs/proc/meminfo.o
  CC      mm/readahead.o
  CC      fs/proc/stat.o
  CC      lib/crypto/mpi/mpih-cmp.o
  CC      arch/x86/kernel/head32.o
  CC      fs/jbd2/revoke.o
  CC      drivers/pci/probe.o
  CC      drivers/acpi/acpica/dsdebug.o
  CC      block/blk-mq-cpumap.o
  AR      sound/pci/vx222/built-in.a
  CC      drivers/acpi/acpica/dsfield.o
  CC      block/blk-mq-sched.o
  CC      fs/jbd2/journal.o
  CC      fs/ext4/extents.o
  AR      drivers/acpi/dptf/built-in.a
  CC      kernel/locking/qrwlock.o
  CC      fs/proc/uptime.o
  CC      arch/x86/kernel/cpu/match.o
  CC      arch/x86/kernel/apic/msi.o
  CC      io_uring/filetable.o
  CC      arch/x86/kernel/ebda.o
  CC      arch/x86/mm/pgprot.o
  CC      arch/x86/mm/pgtable_32.o
  CC      sound/core/isadma.o
  CC      arch/x86/mm/iomap_32.o
  CC      sound/core/vmaster.o
  AR      arch/x86/events/intel/built-in.a
  CC      io_uring/rw.o
  CC      kernel/power/suspend.o
  CC [M]  sound/pci/hda/hda_eld.o
  CC      arch/x86/events/zhaoxin/core.o
  CC      drivers/acpi/acpica/dsinit.o
  CC      lib/ctype.o
  CC      block/ioctl.o
  CC      fs/netfs/direct_read.o
  CC      lib/crypto/mpi/mpih-div.o
  CC      block/genhd.o
  CC      kernel/power/hibernate.o
  CC      kernel/power/snapshot.o
  CC [M]  sound/pci/hda/hda_intel.o
  CC      kernel/power/swap.o
  CC      drivers/acpi/acpica/dsmethod.o
  CC      arch/x86/mm/hugetlbpage.o
  CC      arch/x86/mm/dump_pagetables.o
  CC      kernel/printk/printk_ringbuffer.o
  CC      drivers/acpi/acpica/dsmthdat.o
  AR      kernel/locking/built-in.a
  CC      fs/proc/util.o
  CC      drivers/acpi/acpica/dsobject.o
  CC      crypto/shash.o
  CC      kernel/power/user.o
  CC      arch/x86/kernel/cpu/bugs.o
  AR      net/bpf/built-in.a
  CC      sound/core/ctljack.o
  CC      arch/x86/mm/highmem_32.o
  CC      net/core/sysctl_net_core.o
  CC      net/core/dev.o
  CC      mm/swap.o
  AR      sound/atmel/built-in.a
  CC      kernel/power/poweroff.o
  CC      crypto/akcipher.o
  CC      block/ioprio.o
  AR      sound/hda/built-in.a
  CC      sound/core/jack.o
  CC      security/selinux/ss/mls.o
  CC [M]  sound/hda/hda_bus_type.o
  CC      sound/core/timer.o
  LD [M]  sound/pci/hda/snd-hda-codec.o
  CC      arch/x86/kernel/apic/probe_32.o
  CC      drivers/acpi/acpica/dsopcode.o
  CC      net/sched/cls_api.o
  AR      fs/hugetlbfs/built-in.a
  AR      sound/x86/built-in.a
  CC      crypto/sig.o
  AR      sound/xen/built-in.a
  CC      kernel/sched/build_utility.o
  CC      io_uring/net.o
  CC      security/device_cgroup.o
  CC      security/selinux/ss/context.o
  CC      mm/truncate.o
  CC [M]  sound/hda/hdac_bus.o
  CC      kernel/printk/sysctl.o
  CC      mm/vmscan.o
  CC      block/badblocks.o
  CC      fs/netfs/direct_write.o
  CC      fs/proc/version.o
  CC      sound/core/hrtimer.o
  CC      fs/ext4/extents_status.o
  CC [M]  sound/hda/hdac_device.o
  CC      sound/core/seq_device.o
  CC      lib/crypto/mpi/mpih-mul.o
  AR      arch/x86/events/zhaoxin/built-in.a
  CC      arch/x86/events/core.o
  CC      fs/netfs/io.o
  AR      kernel/printk/built-in.a
  CC [M]  sound/core/hwdep.o
  CC      drivers/acpi/acpica/dspkginit.o
  AR      arch/x86/kernel/apic/built-in.a
  CC      drivers/acpi/acpica/dsutils.o
  CC      arch/x86/kernel/platform-quirks.o
  CC      block/blk-rq-qos.o
  AR      arch/x86/mm/built-in.a
  CC      fs/ext4/file.o
  CC      drivers/pnp/pnpacpi/core.o
  CC      drivers/pci/host-bridge.o
  CC      drivers/pnp/pnpacpi/rsparser.o
  CC      drivers/pnp/core.o
  CC      fs/ext4/fsmap.o
  CC      drivers/pci/remove.o
  CC      block/disk-events.o
  CC      crypto/kpp.o
  CC      drivers/pnp/card.o
  CC [M]  sound/hda/hdac_sysfs.o
  CC      drivers/pci/pci.o
  ASN.1   crypto/rsapubkey.asn1.[ch]
  CC      drivers/pci/pci-driver.o
  CC      io_uring/poll.o
  CC      fs/proc/softirqs.o
  CC      fs/ext4/fsync.o
  AR      drivers/amba/built-in.a
  CC      drivers/acpi/acpica/dswexec.o
  CC [M]  sound/hda/hdac_regmap.o
  AR      drivers/clk/actions/built-in.a
  CC [M]  sound/hda/hdac_controller.o
  AR      drivers/clk/analogbits/built-in.a
  AR      drivers/clk/bcm/built-in.a
  CC [M]  sound/hda/hdac_stream.o
  AR      drivers/clk/imgtec/built-in.a
  AR      drivers/clk/imx/built-in.a
  AR      drivers/clk/ingenic/built-in.a
  AR      drivers/clk/mediatek/built-in.a
  CC      drivers/pnp/driver.o
  AR      drivers/clk/microchip/built-in.a
  AR      drivers/clk/mstar/built-in.a
  AR      drivers/clk/mvebu/built-in.a
  CC      drivers/pnp/resource.o
  AR      drivers/clk/ralink/built-in.a
  AR      drivers/clk/renesas/built-in.a
  CC      fs/proc/namespaces.o
  CC      drivers/pci/search.o
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.o
  CC      security/selinux/netlabel.o
  AR      drivers/clk/socfpga/built-in.a
  LD [M]  sound/pci/hda/snd-hda-intel.o
  CC      drivers/pci/rom.o
  AR      sound/pci/built-in.a
  AR      drivers/clk/sophgo/built-in.a
  AR      drivers/clk/sprd/built-in.a
  CC [M]  sound/core/pcm.o
  AR      drivers/clk/starfive/built-in.a
  CC      lib/crypto/mpi/mpi-pow.o
  AR      drivers/clk/sunxi-ng/built-in.a
  AR      drivers/clk/ti/built-in.a
  CC [M]  sound/core/pcm_native.o
  AR      drivers/clk/versatile/built-in.a
  CC      drivers/pnp/manager.o
  CC      drivers/dma/dw/core.o
  AR      drivers/clk/xilinx/built-in.a
  CC      drivers/dma/hsu/hsu.o
  AR      drivers/clk/built-in.a
  AR      kernel/power/built-in.a
  CC [M]  sound/hda/array.o
  CC      lib/crypto/mpi/mpiutil.o
  CC [M]  sound/hda/hdmi_chmap.o
  AR      drivers/soc/apple/built-in.a
  CC      drivers/virtio/virtio.o
  CC      drivers/virtio/virtio_ring.o
  CC      sound/sound_core.o
  AR      drivers/soc/aspeed/built-in.a
  AR      sound/virtio/built-in.a
  CC      drivers/virtio/virtio_anchor.o
  AR      drivers/soc/bcm/built-in.a
  CC      arch/x86/kernel/cpu/aperfmperf.o
  CC      drivers/acpi/acpica/dswload.o
  AR      drivers/soc/fsl/built-in.a
  AR      drivers/soc/fujitsu/built-in.a
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  AR      drivers/soc/hisilicon/built-in.a
  AR      drivers/soc/imx/built-in.a
  AR      drivers/soc/ixp4xx/built-in.a
  CC      drivers/virtio/virtio_pci_modern_dev.o
  AR      drivers/soc/loongson/built-in.a
  AR      drivers/soc/mediatek/built-in.a
  CC      fs/netfs/iterator.o
  AR      drivers/soc/microchip/built-in.a
  AR      drivers/soc/nuvoton/built-in.a
  CC      fs/netfs/locking.o
  AR      drivers/dma/idxd/built-in.a
  AR      drivers/soc/pxa/built-in.a
  AR      drivers/pnp/pnpacpi/built-in.a
  CC      block/blk-ia-ranges.o
  CC      block/early-lookup.o
  AR      drivers/soc/amlogic/built-in.a
  AR      fs/jbd2/built-in.a
  AR      drivers/dma/mediatek/built-in.a
  CC      net/sched/act_api.o
  AR      drivers/soc/qcom/built-in.a
  CC      net/core/dev_addr_lists.o
  AR      drivers/dma/qcom/built-in.a
  AR      drivers/soc/renesas/built-in.a
  ASN.1   crypto/rsaprivkey.asn1.[ch]
  CC      crypto/rsa.o
  AR      drivers/dma/stm32/built-in.a
  AR      drivers/soc/rockchip/built-in.a
  CC      crypto/rsa_helper.o
  AR      drivers/soc/sunxi/built-in.a
  AR      drivers/soc/ti/built-in.a
  CC [M]  sound/hda/trace.o
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  CC      sound/last.o
  CC      crypto/rsa-pkcs1pad.o
  CC      drivers/tty/vt/vt_ioctl.o
  CC      drivers/tty/vt/vc_screen.o
  CC      drivers/tty/hvc/hvc_console.o
  CC      drivers/tty/vt/selection.o
  CC      drivers/acpi/acpica/dswload2.o
  CC [M]  sound/hda/hdac_component.o
  CC      fs/fat/cache.o
  CC      arch/x86/kernel/cpu/umwait.o
  CC      drivers/acpi/acpica/dswscope.o
  CC      fs/fat/dir.o
  CC      fs/proc/self.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      net/ethtool/ioctl.o
  AR      lib/crypto/mpi/built-in.a
  CC      lib/crypto/gf128mul.o
  CC      net/ethtool/common.o
  AR      drivers/dma/hsu/built-in.a
  CC      drivers/pci/setup-res.o
  CC      drivers/pci/irq.o
  CC [M]  sound/core/pcm_lib.o
  CC      net/ethtool/netlink.o
  CC      fs/isofs/namei.o
  CC      fs/isofs/inode.o
  CC      drivers/pnp/support.o
  CC      fs/nfs/client.o
  CC      fs/nfs/dir.o
  CC      drivers/acpi/acpica/dswstate.o
  CC      fs/exportfs/expfs.o
  CC      drivers/dma/dw/dw.o
  CC      fs/proc/thread_self.o
  CC      net/core/dst.o
  CC      block/bounce.o
  CC      arch/x86/events/probe.o
  AR      security/selinux/built-in.a
  AR      security/built-in.a
  CC      net/core/netevent.o
  CC      fs/nfs/file.o
  CC      io_uring/eventfd.o
  CC      fs/netfs/main.o
  CC      io_uring/uring_cmd.o
  CC      block/bsg.o
  CC      fs/netfs/misc.o
  CC      drivers/tty/vt/keyboard.o
  CC      crypto/acompress.o
  CC      lib/crypto/blake2s.o
  CC [M]  sound/hda/hdac_i915.o
  CC      drivers/char/hw_random/core.o
  CC      drivers/char/agp/backend.o
  AR      drivers/tty/hvc/built-in.a
  CC      drivers/acpi/acpica/evevent.o
  CC      drivers/char/hw_random/intel-rng.o
  AR      drivers/iommu/amd/built-in.a
  CC      arch/x86/events/utils.o
  AR      drivers/gpu/host1x/built-in.a
  AR      drivers/iommu/intel/built-in.a
  CC      drivers/tty/vt/vt.o
  AR      drivers/gpu/vga/built-in.a
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  CC      drivers/pnp/interface.o
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/iommu/iommufd/built-in.a
  AR      drivers/iommu/arm/built-in.a
  CC      drivers/iommu/iommu.o
  CC      drivers/char/agp/generic.o
  CC      drivers/char/agp/isoch.o
  CC      drivers/char/agp/amd64-agp.o
  CC      drivers/pci/vpd.o
  CC      crypto/scompress.o
  CC      crypto/algboss.o
  CC      fs/proc/proc_sysctl.o
  AR      fs/exportfs/built-in.a
  CC      net/ethtool/bitset.o
  AR      drivers/gpu/drm/tests/built-in.a
  AR      drivers/gpu/drm/arm/built-in.a
  CC      drivers/gpu/drm/display/drm_display_helper_mod.o
  CC      drivers/dma/dw/idma32.o
  CC      fs/nfs/getroot.o
  CC      mm/shrinker.o
  CC      drivers/acpi/acpica/evgpe.o
  CC      lib/crypto/blake2s-generic.o
  CC      kernel/irq/irqdesc.o
  CC      fs/ext4/hash.o
  CC      fs/fat/fatent.o
  CC      fs/fat/file.o
  CC      fs/ext4/ialloc.o
  CC      drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC      fs/ext4/indirect.o
  CC      net/sched/sch_fifo.o
  CC [M]  sound/hda/intel-dsp-config.o
  CC      drivers/pnp/quirks.o
  CC      fs/isofs/dir.o
  CC      net/sched/cls_cgroup.o
  CC      drivers/char/hw_random/amd-rng.o
  CC      block/blk-cgroup.o
  CC      drivers/char/hw_random/geode-rng.o
  CC      drivers/virtio/virtio_pci_modern.o
  CC      drivers/char/agp/intel-agp.o
  CC      fs/fat/inode.o
  CC      fs/fat/misc.o
  CC      arch/x86/events/rapl.o
  CC      crypto/testmgr.o
  CC      drivers/acpi/acpica/evgpeblk.o
  CC      lib/crypto/sha1.o
  CC      drivers/char/agp/intel-gtt.o
  CC [M]  sound/core/pcm_misc.o
  CC [M]  sound/core/pcm_memory.o
  CC [M]  sound/core/memalloc.o
  CC      drivers/dma/dw/acpi.o
  CC      fs/fat/nfs.o
  CC      drivers/pci/setup-bus.o
  CC      io_uring/openclose.o
  CC      fs/proc/proc_net.o
  CC      net/sched/ematch.o
  AR      kernel/sched/built-in.a
  CC      fs/nfs/inode.o
  CC      kernel/rcu/update.o
  CC      kernel/irq/handle.o
  CC      kernel/rcu/sync.o
  CC      mm/shmem.o
  CC      lib/crypto/sha256.o
  CC      drivers/acpi/acpica/evgpeinit.o
  CC      kernel/rcu/srcutree.o
  CC      fs/ext4/inline.o
  CC      drivers/char/hw_random/via-rng.o
  CC [M]  sound/hda/intel-nhlt.o
  CC      drivers/pci/vc.o
  CC      fs/isofs/util.o
  CC      crypto/cmac.o
  CC      drivers/pci/mmap.o
  CC      drivers/gpu/drm/display/drm_dp_helper.o
  CC      drivers/pnp/system.o
  CC      drivers/pci/devres.o
  CC      fs/netfs/objects.o
  CC      lib/dec_and_lock.o
  CC      fs/netfs/write_collect.o
  CC      drivers/virtio/virtio_pci_common.o
  AR      kernel/livepatch/built-in.a
  CC      net/core/neighbour.o
  CC      net/core/rtnetlink.o
  CC      net/core/utils.o
  AR      drivers/dma/dw/built-in.a
  AR      drivers/dma/ti/built-in.a
  AR      drivers/dma/xilinx/built-in.a
  CC      kernel/rcu/tree.o
  CC      drivers/dma/dmaengine.o
  CC      fs/netfs/write_issue.o
  CC      drivers/acpi/acpica/evgpeutil.o
  CC      net/ethtool/strset.o
  CC      lib/decompress.o
  CC      arch/x86/events/msr.o
  CC      drivers/gpu/drm/display/drm_dp_mst_topology.o
  CC      kernel/irq/manage.o
  CC      drivers/gpu/drm/display/drm_dsc_helper.o
  CC      kernel/rcu/rcu_segcblist.o
  AR      drivers/char/hw_random/built-in.a
  CC      lib/decompress_bunzip2.o
  CC      kernel/dma/mapping.o
  CC      drivers/iommu/iommu-traces.o
  AR      lib/crypto/built-in.a
  AR      drivers/pnp/built-in.a
  CC [M]  sound/core/pcm_timer.o
  LD [M]  sound/core/snd-hwdep.o
  CC      kernel/dma/direct.o
  CC      drivers/connector/cn_queue.o
  CC      drivers/connector/connector.o
  CC      crypto/hmac.o
  AR      drivers/char/agp/built-in.a
  CC      drivers/char/mem.o
  CC      fs/proc/kcore.o
  CC [M]  sound/hda/intel-sdw-acpi.o
  CC      io_uring/sqpoll.o
  CC      fs/isofs/rock.o
  CC      drivers/connector/cn_proc.o
  CC      fs/fat/namei_vfat.o
  AR      net/sched/built-in.a
  CC      drivers/acpi/acpica/evglock.o
  CC      drivers/acpi/acpica/evhandler.o
  CC      drivers/virtio/virtio_pci_legacy.o
  CC      block/blk-ioprio.o
  CC      block/blk-iolatency.o
  COPY    drivers/tty/vt/defkeymap.c
  CC      drivers/tty/vt/consolemap.o
  CC      drivers/tty/serial/8250/8250_core.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      drivers/gpu/drm/display/drm_hdcp_helper.o
  LD [M]  sound/hda/snd-hda-core.o
  CC      drivers/pci/proc.o
  LD [M]  sound/hda/snd-intel-dspcfg.o
  LD [M]  sound/hda/snd-intel-sdw-acpi.o
  CC      block/blk-iocost.o
  CC      drivers/gpu/drm/display/drm_hdmi_helper.o
  AR      sound/core/built-in.a
  CC      drivers/acpi/acpica/evmisc.o
  LD [M]  sound/core/snd-pcm.o
  AR      arch/x86/events/built-in.a
  AR      sound/built-in.a
  CC      drivers/acpi/acpica/evregion.o
  CC      drivers/block/loop.o
  CC      lib/decompress_inflate.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/base/power/generic_ops.o
  CC      crypto/crypto_null.o
  CC      drivers/base/power/common.o
  CC      crypto/md5.o
  CC      drivers/gpu/drm/display/drm_scdc_helper.o
  CC      fs/ext4/inode.o
  CC      kernel/dma/ops_helpers.o
  CC      net/ethtool/linkinfo.o
  CC      drivers/virtio/virtio_pci_admin_legacy_io.o
  CC      drivers/char/random.o
  CC      fs/proc/vmcore.o
  CC      fs/ext4/ioctl.o
  CC      drivers/iommu/iommu-sysfs.o
  CC      fs/lockd/clntlock.o
  CC      drivers/dma/virt-dma.o
  CC      fs/lockd/clntproc.o
  CC      kernel/entry/common.o
  CC      fs/lockd/clntxdr.o
  CC      fs/lockd/host.o
  CC      fs/proc/kmsg.o
  AR      fs/netfs/built-in.a
  CC      net/ethtool/linkmodes.o
  CC      fs/isofs/export.o
  CC      drivers/iommu/dma-iommu.o
  CC      drivers/acpi/acpica/evrgnini.o
  CC      kernel/irq/spurious.o
  CC      lib/decompress_unlz4.o
  CC      fs/nls/nls_base.o
  AR      drivers/connector/built-in.a
  CC      drivers/base/power/qos.o
  CC      fs/nfs/super.o
  CC      kernel/dma/dummy.o
  CC      net/ethtool/rss.o
  CC      crypto/sha256_generic.o
  AR      fs/unicode/built-in.a
  CC      crypto/sha512_generic.o
  CC      kernel/dma/remap.o
  CC      drivers/base/power/runtime.o
  CC      fs/fat/namei_msdos.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC      drivers/tty/serial/8250/8250_platform.o
  CC      drivers/pci/pci-sysfs.o
  CC      drivers/base/power/wakeirq.o
  CC      net/netfilter/core.o
  CC      crypto/sha3_generic.o
  CC      drivers/virtio/virtio_input.o
  CC      drivers/tty/vt/defkeymap.o
  CC      fs/proc/page.o
  CC      mm/util.o
  CC      drivers/acpi/acpica/evsci.o
  CC      net/netfilter/nf_log.o
  CC      fs/nls/nls_cp437.o
  CC      drivers/dma/acpi-dma.o
  CC      io_uring/xattr.o
  CC      lib/decompress_unlzma.o
  CC      kernel/irq/resend.o
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  CC      drivers/tty/vt/consolemap_deftbl.o
  CC      net/netfilter/nf_queue.o
  CC      fs/isofs/joliet.o
  CC      net/core/link_watch.o
  AR      drivers/tty/vt/built-in.a
  CC      net/netfilter/nf_sockopt.o
  CC      fs/nfs/io.o
  CC      kernel/irq/chip.o
  CC      lib/decompress_unlzo.o
  CC      net/netfilter/utils.o
  AR      kernel/dma/built-in.a
  CC      drivers/acpi/acpica/evxface.o
  CC      net/ethtool/linkstate.o
  CC      drivers/tty/tty_io.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      fs/nls/nls_ascii.o
  CC      fs/lockd/svc.o
  CC      drivers/block/virtio_blk.o
  CC      fs/nfs/direct.o
  CC      fs/lockd/svclock.o
  CC      crypto/ecb.o
  CC      fs/nls/nls_iso8859-1.o
  CC      drivers/tty/serial/8250/8250_pnp.o
  CC      net/ethtool/debug.o
  CC      drivers/iommu/iova.o
  CC      drivers/char/misc.o
  CC      net/ethtool/wol.o
  CC      net/ethtool/features.o
  CC      fs/nfs/pagelist.o
  AR      fs/fat/built-in.a
  CC      fs/nls/nls_utf8.o
  CC      kernel/module/main.o
  CC      lib/decompress_unxz.o
  CC      drivers/virtio/virtio_dma_buf.o
  AR      fs/proc/built-in.a
  CC      kernel/module/strict_rwx.o
  AR      drivers/dma/built-in.a
  CC      kernel/module/kmod.o
  CC      kernel/module/tree_lookup.o
  CC      kernel/module/kallsyms.o
  CC      fs/isofs/compress.o
  CC      net/ipv4/netfilter/nf_defrag_ipv4.o
  CC      drivers/base/power/main.o
  CC      drivers/acpi/acpica/evxfevnt.o
  CC      drivers/acpi/acpica/evxfgpe.o
  CC      drivers/base/power/wakeup.o
  AR      drivers/gpu/drm/display/built-in.a
  CC      io_uring/nop.o
  CC      drivers/gpu/drm/ttm/ttm_tt.o
  AR      kernel/entry/built-in.a
  CC      crypto/cbc.o
  CC      drivers/gpu/drm/ttm/ttm_bo.o
  CC      mm/mmzone.o
  CC      drivers/pci/slot.o
  CC      drivers/gpu/drm/ttm/ttm_bo_util.o
  AR      fs/nls/built-in.a
  CC      net/core/filter.o
  CC      net/xfrm/xfrm_policy.o
  CC      fs/autofs/init.o
  CC      kernel/irq/dummychip.o
  CC      drivers/char/virtio_console.o
  CC      net/xfrm/xfrm_state.o
  CC      lib/decompress_unzstd.o
  CC      net/core/sock_diag.o
  CC      drivers/char/hpet.o
  CC      drivers/tty/serial/8250/8250_rsa.o
  CC      lib/dump_stack.o
  AR      drivers/virtio/built-in.a
  CC      drivers/gpu/drm/ttm/ttm_bo_vm.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      net/netfilter/nfnetlink.o
  CC      fs/nfs/read.o
  CC      drivers/acpi/acpica/evxfregn.o
  CC      fs/9p/vfs_super.o
  CC      block/mq-deadline.o
  CC      drivers/tty/n_tty.o
  CC      crypto/ctr.o
  CC      arch/x86/kernel/cpu/topology.o
  AR      drivers/iommu/built-in.a
  CC      block/kyber-iosched.o
  CC      net/netfilter/nfnetlink_log.o
  AR      fs/hostfs/built-in.a
  CC      net/netfilter/nf_conntrack_core.o
  CC      drivers/acpi/x86/apple.o
  CC      drivers/tty/tty_ioctl.o
  CC      fs/9p/vfs_inode.o
  CC      mm/vmstat.o
  AR      drivers/block/built-in.a
  CC      fs/9p/vfs_inode_dotl.o
  CC      crypto/gcm.o
  CC      kernel/irq/devres.o
  AR      fs/isofs/built-in.a
  CC      drivers/gpu/drm/ttm/ttm_module.o
  CC      fs/ext4/mballoc.o
  CC      drivers/tty/tty_ldisc.o
  CC      net/ethtool/privflags.o
  CC      fs/lockd/svcshare.o
  CC      drivers/acpi/acpica/exconcat.o
  CC      io_uring/fs.o
  CC      net/unix/af_unix.o
  CC      fs/autofs/inode.o
  CC      drivers/pci/pci-acpi.o
  CC      net/unix/garbage.o
  CC      crypto/ccm.o
  CC      net/ipv4/netfilter/nf_reject_ipv4.o
  CC      lib/earlycpio.o
  CC      drivers/gpu/drm/ttm/ttm_execbuf_util.o
  CC      drivers/tty/serial/8250/8250_port.o
  CC      fs/lockd/svcproc.o
  CC      drivers/tty/tty_buffer.o
  AR      kernel/rcu/built-in.a
  CC      arch/x86/kernel/cpu/proc.o
  CC      lib/extable.o
  CC      fs/autofs/root.o
  CC      kernel/irq/autoprobe.o
  CC      kernel/irq/irqdomain.o
  CC      drivers/acpi/x86/cmos_rtc.o
  CC      arch/x86/kernel/cpu/feat_ctl.o
  CC      drivers/acpi/acpica/exconfig.o
  CC      drivers/tty/serial/serial_core.o
  CC      net/unix/sysctl_net_unix.o
  CC      drivers/char/nvram.o
  CC      net/core/dev_ioctl.o
  CC      crypto/aes_generic.o
  CC      io_uring/splice.o
  CC      drivers/base/power/wakeup_stats.o
  CC      lib/flex_proportions.o
  CC      io_uring/sync.o
  CC      drivers/acpi/acpica/exconvrt.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC      drivers/base/firmware_loader/main.o
  CC      drivers/gpu/drm/ttm/ttm_range_manager.o
  CC      crypto/crc32c_generic.o
  CC      crypto/authenc.o
  CC      net/core/tso.o
  CC      fs/autofs/symlink.o
  CC      mm/backing-dev.o
  CC      fs/9p/vfs_addr.o
  CC      io_uring/msg_ring.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      fs/lockd/svcsubs.o
  CC      block/blk-mq-pci.o
  CC      drivers/acpi/x86/lpss.o
  CC      drivers/tty/tty_port.o
  CC      net/ethtool/rings.o
  CC      fs/9p/vfs_file.o
  CC      drivers/pci/iomap.o
  CC      fs/autofs/waitq.o
  AR      drivers/base/firmware_loader/builtin/built-in.a
  CC      fs/nfs/symlink.o
  CC      kernel/module/procfs.o
  CC      lib/idr.o
  CC      drivers/gpu/drm/ttm/ttm_resource.o
  CC      drivers/pci/quirks.o
  CC      fs/nfs/unlink.o
  CC      drivers/acpi/acpica/excreate.o
  CC      kernel/irq/proc.o
  AR      drivers/char/built-in.a
  CC      drivers/base/power/trace.o
  CC      net/xfrm/xfrm_hash.o
  AR      drivers/misc/eeprom/built-in.a
  CC      crypto/authencesn.o
  AR      drivers/misc/cb710/built-in.a
  AR      drivers/misc/ti-st/built-in.a
  AR      drivers/misc/lis3lv02d/built-in.a
  CC      crypto/lzo.o
  AR      drivers/misc/cardreader/built-in.a
  AR      drivers/misc/keba/built-in.a
  AR      drivers/misc/built-in.a
  CC      crypto/lzo-rle.o
  CC      fs/lockd/mon.o
  CC      crypto/rng.o
  CC      lib/irq_regs.o
  CC      drivers/tty/tty_mutex.o
  CC      net/ipv4/netfilter/ip_tables.o
  CC      kernel/time/time.o
  CC      fs/autofs/expire.o
  CC      kernel/futex/core.o
  CC      drivers/acpi/acpica/exdebug.o
  CC      kernel/time/timer.o
  CC      kernel/time/hrtimer.o
  CC      lib/is_single_threaded.o
  CC      block/blk-mq-virtio.o
  CC      net/xfrm/xfrm_input.o
  CC      kernel/module/sysfs.o
  CC      fs/lockd/trace.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      kernel/cgroup/cgroup.o
  CC      fs/9p/vfs_dir.o
  CC      drivers/acpi/x86/s2idle.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC      kernel/cgroup/rstat.o
  CC      fs/9p/vfs_dentry.o
  CC      crypto/drbg.o
  CC      kernel/trace/trace_clock.o
  CC      kernel/trace/ring_buffer.o
  CC      io_uring/advise.o
  CC      net/netfilter/nf_conntrack_standalone.o
  CC      kernel/trace/trace.o
  CC      kernel/irq/migration.o
  CC      net/ethtool/channels.o
  CC      fs/9p/v9fs.o
  CC      fs/lockd/xdr.o
  CC      drivers/acpi/acpica/exdump.o
  AR      drivers/base/power/built-in.a
  CC      net/netfilter/nf_conntrack_expect.o
  CC      drivers/base/regmap/regmap.o
  CC      drivers/base/regmap/regcache.o
  CC      arch/x86/kernel/cpu/tsx.o
  CC      drivers/gpu/drm/ttm/ttm_pool.o
  CC      lib/klist.o
  CC      fs/ext4/migrate.o
  CC      mm/mm_init.o
  CC      net/ipv6/netfilter/ip6_tables.o
  AR      drivers/base/test/built-in.a
  CC      fs/ext4/mmp.o
  CC      drivers/base/regmap/regcache-rbtree.o
  CC      net/ipv4/route.o
  CC      drivers/tty/tty_ldsem.o
  CC      mm/percpu.o
  CC      drivers/acpi/acpica/exfield.o
  CC      block/blk-mq-debugfs.o
  CC      crypto/jitterentropy.o
  CC      fs/autofs/dev-ioctl.o
  CC      kernel/irq/cpuhotplug.o
  AR      net/unix/built-in.a
  CC      crypto/jitterentropy-kcapi.o
  CC      kernel/futex/syscalls.o
  CC      lib/kobject.o
  CC      net/packet/af_packet.o
  AR      kernel/module/built-in.a
  CC      kernel/irq/pm.o
  CC      fs/9p/fid.o
  CC      kernel/time/timekeeping.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  CC      fs/9p/xattr.o
  CC      fs/lockd/clnt4xdr.o
  CC      drivers/tty/serial/serial_base_bus.o
  CC      drivers/tty/serial/8250/8250_dwlib.o
  CC      drivers/acpi/x86/utils.o
  CC      io_uring/epoll.o
  CC      block/blk-pm.o
  CC      io_uring/statx.o
  CC      drivers/acpi/acpica/exfldio.o
  CC      fs/lockd/xdr4.o
  CC      crypto/ghash-generic.o
  CC      net/ethtool/coalesce.o
  CC      fs/ext4/move_extent.o
  CC      drivers/gpu/drm/ttm/ttm_device.o
  CC      lib/kobject_uevent.o
  CC      drivers/tty/tty_baudrate.o
  CC      drivers/gpu/drm/ttm/ttm_sys_manager.o
  CC      arch/x86/kernel/cpu/amd.o
  CC      net/ipv4/netfilter/iptable_filter.o
  CC      crypto/hash_info.o
  CC      fs/lockd/svc4proc.o
  CC      lib/logic_pio.o
  CC      mm/slab_common.o
  CC      drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC      net/netfilter/nf_conntrack_helper.o
  CC      fs/lockd/procfs.o
  CC      fs/nfs/write.o
  CC      mm/compaction.o
  CC      drivers/acpi/x86/blacklist.o
  AR      fs/autofs/built-in.a
  CC      net/xfrm/xfrm_output.o
  CC      drivers/base/regmap/regcache-flat.o
  CC      drivers/pci/pci-label.o
  CC      kernel/irq/msi.o
  CC      kernel/irq/affinity.o
  AR      fs/9p/built-in.a
  CC      fs/debugfs/inode.o
  CC      block/holder.o
  CC      fs/debugfs/file.o
  CC      crypto/rsapubkey.asn1.o
  CC      fs/ext4/namei.o
  CC      drivers/tty/serial/8250/8250_pcilib.o
  CC      drivers/tty/serial/serial_ctrl.o
  CC      kernel/futex/pi.o
  CC      drivers/acpi/acpica/exmisc.o
  CC      crypto/rsaprivkey.asn1.o
  CC      kernel/time/ntp.o
  AR      crypto/built-in.a
  CC      kernel/time/clocksource.o
  CC      kernel/bpf/core.o
  CC      kernel/events/core.o
  CC      io_uring/timeout.o
  CC      kernel/events/ring_buffer.o
  AR      drivers/acpi/x86/built-in.a
  CC      drivers/tty/serial/8250/8250_early.o
  CC      drivers/acpi/tables.o
  CC      drivers/tty/serial/8250/8250_exar.o
  CC      drivers/pci/vgaarb.o
  CC      kernel/events/callchain.o
  CC      drivers/gpu/drm/i915/i915_config.o
  AR      drivers/gpu/drm/ttm/built-in.a
  CC      kernel/time/jiffies.o
  CC      drivers/acpi/acpica/exmutex.o
  CC      drivers/acpi/acpica/exnames.o
  CC      drivers/tty/serial/8250/8250_lpss.o
  CC      net/ipv6/netfilter/ip6table_filter.o
  CC      lib/maple_tree.o
  CC      fs/ext4/page-io.o
  AR      block/built-in.a
  CC      io_uring/fdinfo.o
  CC      arch/x86/kernel/cpu/hygon.o
  CC      io_uring/cancel.o
  CC      drivers/gpu/drm/i915/i915_driver.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      net/ethtool/pause.o
  CC      net/ethtool/eee.o
  CC      drivers/tty/serial/serial_port.o
  CC      kernel/futex/requeue.o
  CC      fs/ext4/readpage.o
  CC      net/ipv4/netfilter/iptable_mangle.o
  CC      drivers/tty/tty_jobctrl.o
  AR      fs/lockd/built-in.a
  CC      fs/tracefs/inode.o
  CC      drivers/acpi/acpica/exoparg1.o
  CC      fs/open.o
  CC      fs/read_write.o
  CC [M]  fs/efivarfs/inode.o
  CC [M]  fs/efivarfs/file.o
  CC      kernel/irq/matrix.o
  AR      drivers/gpu/drm/renesas/rcar-du/built-in.a
  CC      net/netfilter/nf_conntrack_proto.o
  AR      drivers/gpu/drm/renesas/rz-du/built-in.a
  AR      drivers/gpu/drm/renesas/built-in.a
  CC      kernel/time/timer_list.o
  AR      fs/debugfs/built-in.a
  CC      net/netfilter/nf_conntrack_proto_generic.o
  CC      net/netfilter/nf_conntrack_proto_tcp.o
  CC      drivers/gpu/drm/i915/i915_drm_client.o
  CC      net/ipv6/netfilter/ip6table_mangle.o
  CC      arch/x86/kernel/cpu/transmeta.o
  AR      drivers/gpu/drm/omapdrm/built-in.a
  CC      drivers/base/component.o
  CC      drivers/tty/serial/earlycon.o
  CC      drivers/base/regmap/regcache-maple.o
  CC      drivers/tty/serial/8250/8250_mid.o
  CC      drivers/acpi/osi.o
  CC      net/ipv4/inetpeer.o
  CC      net/netfilter/nf_conntrack_proto_udp.o
  CC      net/xfrm/xfrm_sysctl.o
  CC      drivers/base/core.o
  CC      net/xfrm/xfrm_replay.o
  CC      drivers/acpi/acpica/exoparg2.o
  AR      drivers/pci/built-in.a
  CC      net/ipv4/netfilter/ipt_REJECT.o
  CC      kernel/time/timeconv.o
  CC      kernel/futex/waitwake.o
  CC [M]  fs/efivarfs/super.o
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC      net/ipv4/protocol.o
  CC      net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
  CC      drivers/tty/n_null.o
  CC      net/ipv4/ip_input.o
  CC      io_uring/waitid.o
  CC      fs/ext4/resize.o
  CC      kernel/time/timecounter.o
  AR      drivers/mfd/built-in.a
  AR      drivers/nfc/built-in.a
  AR      drivers/dax/hmem/built-in.a
  AR      drivers/dax/built-in.a
  CC      net/ethtool/tsinfo.o
  CC      net/ipv6/netfilter/nf_conntrack_reasm.o
  CC      drivers/gpu/drm/i915/i915_getparam.o
  CC      net/ipv6/netfilter/nf_reject_ipv6.o
  CC      net/ipv4/ip_fragment.o
  CC      fs/tracefs/event_inode.o
  CC      drivers/tty/serial/8250/8250_pci.o
  CC      drivers/acpi/acpica/exoparg3.o
  CC      drivers/dma-buf/dma-buf.o
  CC      kernel/time/alarmtimer.o
  CC      drivers/dma-buf/dma-fence.o
  CC      drivers/base/regmap/regmap-debugfs.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      arch/x86/kernel/cpu/vortex.o
  CC      mm/show_mem.o
  CC      kernel/trace/trace_output.o
  CC      net/ipv6/netfilter/ip6t_ipv6header.o
  CC      drivers/tty/pty.o
  AR      kernel/irq/built-in.a
  AR      net/packet/built-in.a
  AR      kernel/futex/built-in.a
  CC      kernel/cgroup/namespace.o
  CC      kernel/fork.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      drivers/acpi/acpica/exoparg6.o
  AR      drivers/cxl/core/built-in.a
  AR      drivers/cxl/built-in.a
  CC      arch/x86/kernel/process_32.o
  CC      drivers/macintosh/mac_hid.o
  CC      mm/shmem_quota.o
  CC      drivers/gpu/drm/i915/i915_ioctl.o
  CC [M]  fs/efivarfs/vars.o
  CC      net/ipv6/netfilter/ip6t_REJECT.o
  CC      io_uring/register.o
  CC      net/netfilter/nf_conntrack_proto_icmp.o
  AR      net/dsa/built-in.a
  CC      net/xfrm/xfrm_device.o
  CC      net/ethtool/cabletest.o
  CC      net/core/sock_reuseport.o
  CC      drivers/gpu/drm/i915/i915_irq.o
  CC      drivers/acpi/acpica/exprep.o
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  CC      lib/memcat_p.o
  CC      fs/nfs/namespace.o
  CC      drivers/acpi/acpica/exregion.o
  CC      drivers/gpu/drm/i915/i915_mitigations.o
  CC      io_uring/truncate.o
  CC      net/core/fib_notifier.o
  CC      drivers/acpi/acpica/exresnte.o
  CC      kernel/exec_domain.o
  AR      drivers/base/regmap/built-in.a
  CC      drivers/acpi/acpica/exresolv.o
  CC      drivers/acpi/acpica/exresop.o
  AR      fs/tracefs/built-in.a
  CC      net/xfrm/xfrm_nat_keepalive.o
  CC      net/xfrm/xfrm_algo.o
  CC      drivers/gpu/drm/i915/i915_module.o
  CC      drivers/acpi/acpica/exserial.o
  AR      kernel/bpf/built-in.a
  CC      lib/nmi_backtrace.o
  CC      lib/objpool.o
  AR      drivers/macintosh/built-in.a
  CC      arch/x86/kernel/cpu/vmware.o
  CC      kernel/events/hw_breakpoint.o
  CC      kernel/cgroup/cgroup-v1.o
  CC      kernel/events/uprobes.o
  CC      drivers/gpu/drm/i915/i915_params.o
  CC      arch/x86/kernel/signal.o
  CC      arch/x86/kernel/signal_32.o
  CC      mm/interval_tree.o
  AR      net/ipv4/netfilter/built-in.a
  CC      drivers/acpi/acpica/exstore.o
  AR      drivers/scsi/pcmcia/built-in.a
  CC      drivers/acpi/acpica/exstoren.o
  CC      io_uring/memmap.o
  CC      drivers/scsi/scsi.o
  CC      kernel/time/posix-timers.o
  CC      drivers/acpi/acpica/exstorob.o
  LD [M]  fs/efivarfs/efivarfs.o
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      drivers/scsi/hosts.o
  CC      net/sunrpc/auth_gss/auth_gss.o
  CC      net/sunrpc/clnt.o
  CC      drivers/tty/serial/8250/8250_pericom.o
  CC      net/sunrpc/xprt.o
  CC      mm/list_lru.o
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC      net/sunrpc/auth_gss/gss_generic_token.o
  CC      net/ipv4/ip_forward.o
  CC      io_uring/io-wq.o
  CC      kernel/panic.o
  CC      mm/workingset.o
  CC      kernel/trace/trace_seq.o
  CC      drivers/acpi/acpica/exsystem.o
  CC      net/sunrpc/socklib.o
  CC      net/ethtool/tunnels.o
  CC      fs/ext4/super.o
  AR      drivers/gpu/drm/tilcdc/built-in.a
  CC      io_uring/futex.o
  CC      drivers/acpi/acpica/extrace.o
  CC      net/netfilter/nf_conntrack_extend.o
  CC      net/sunrpc/auth_gss/gss_mech_switch.o
  CC      kernel/trace/trace_stat.o
  AR      net/ipv6/netfilter/built-in.a
  CC      net/sunrpc/auth_gss/svcauth_gss.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      net/ipv6/af_inet6.o
  CC      kernel/cpu.o
  CC      drivers/base/bus.o
  CC      fs/file_table.o
  CC      fs/nfs/mount_clnt.o
  CC      net/core/xdp.o
  CC      drivers/dma-buf/dma-resv.o
  CC      net/sunrpc/auth_gss/gss_rpc_upcall.o
  CC      net/sunrpc/auth_gss/gss_rpc_xdr.o
  CC      arch/x86/kernel/traps.o
  CC      net/ipv6/anycast.o
  CC      arch/x86/kernel/idt.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      kernel/trace/trace_printk.o
  CC      net/ethtool/fec.o
  CC      drivers/acpi/acpica/exutils.o
  CC      io_uring/napi.o
  AR      drivers/tty/serial/8250/built-in.a
  AR      drivers/tty/serial/built-in.a
  CC      drivers/tty/tty_audit.o
  CC      drivers/scsi/scsi_ioctl.o
  CC      net/xfrm/xfrm_user.o
  CC      net/ipv4/ip_options.o
  CC      arch/x86/kernel/irq.o
  CC      mm/debug.o
  CC      drivers/gpu/drm/i915/i915_pci.o
  CC      fs/super.o
  CC      drivers/acpi/osl.o
  CC      mm/gup.o
  CC      drivers/gpu/drm/virtio/virtgpu_drv.o
  CC      kernel/time/posix-cpu-timers.o
  CC      drivers/acpi/acpica/hwacpi.o
  CC      kernel/cgroup/freezer.o
  CC      drivers/gpu/drm/virtio/virtgpu_kms.o
  CC      drivers/acpi/acpica/hwesleep.o
  CC      drivers/base/dd.o
  CC      drivers/base/syscore.o
  CC      arch/x86/kernel/irq_32.o
  CC      drivers/dma-buf/sync_file.o
  CC      drivers/acpi/utils.o
  CC      drivers/acpi/reboot.o
  CC      net/netfilter/nf_conntrack_acct.o
  CC      drivers/scsi/scsicam.o
  CC      kernel/trace/pid_list.o
  CC      drivers/tty/sysrq.o
  CC      arch/x86/kernel/dumpstack_32.o
  CC      drivers/gpu/drm/i915/i915_scatterlist.o
  CC      arch/x86/kernel/time.o
  CC      kernel/trace/trace_sched_switch.o
  CC      net/sunrpc/xprtsock.o
  CC      drivers/acpi/acpica/hwgpe.o
  CC      fs/nfs/nfstrace.o
  CC      arch/x86/kernel/cpu/debugfs.o
  CC      net/sunrpc/auth_gss/trace.o
  CC      net/ethtool/eeprom.o
  CC      drivers/gpu/drm/i915/i915_suspend.o
  CC      drivers/scsi/scsi_error.o
  CC      net/ethtool/stats.o
  CC      drivers/acpi/acpica/hwregs.o
  CC      net/ipv4/ip_output.o
  CC      kernel/trace/trace_nop.o
  CC      net/sunrpc/sched.o
  CC      drivers/base/driver.o
  CC      arch/x86/kernel/ioport.o
  CC      drivers/gpu/drm/virtio/virtgpu_gem.o
  AR      drivers/gpu/drm/imx/built-in.a
  AR      drivers/dma-buf/built-in.a
  AR      drivers/gpu/drm/i2c/built-in.a
  AR      drivers/gpu/drm/panel/built-in.a
  CC      net/sunrpc/auth_gss/gss_krb5_mech.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  AR      drivers/gpu/drm/hisilicon/built-in.a
  AR      drivers/nvme/common/built-in.a
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  CC      drivers/ata/libata-core.o
  AR      drivers/nvme/host/built-in.a
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  CC      net/ipv4/ip_sockglue.o
  AR      drivers/nvme/target/built-in.a
  CC      net/ipv4/inet_hashtables.o
  CC      kernel/cgroup/legacy_freezer.o
  CC      drivers/ata/libata-scsi.o
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  AR      drivers/nvme/built-in.a
  AR      drivers/gpu/drm/bridge/built-in.a
  CC      net/ipv6/ip6_output.o
  CC      net/core/flow_offload.o
  CC      drivers/ata/libata-eh.o
  CC      fs/nfs/export.o
  CC      kernel/cgroup/pids.o
  CC      drivers/gpu/drm/virtio/virtgpu_vram.o
  CC      kernel/cgroup/rdma.o
  AR      io_uring/built-in.a
  CC      net/ethtool/phc_vclocks.o
  AR      drivers/gpu/drm/mxsfb/built-in.a
  CC      drivers/acpi/acpica/hwsleep.o
  CC      mm/mmap_lock.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      drivers/gpu/drm/i915/i915_switcheroo.o
  CC      kernel/time/posix-clock.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC      net/core/gro.o
  CC      drivers/base/class.o
  CC      drivers/base/platform.o
  CC      mm/highmem.o
  AR      drivers/gpu/drm/tiny/built-in.a
  CC      drivers/base/cpu.o
  AR      drivers/gpu/drm/xlnx/built-in.a
  AR      drivers/gpu/drm/gud/built-in.a
  AR      drivers/gpu/drm/solomon/built-in.a
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  CC      drivers/base/firmware.o
  AR      drivers/tty/built-in.a
  CC      net/netfilter/nf_conntrack_seqadj.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC      lib/plist.o
  CC      lib/radix-tree.o
  CC      kernel/cgroup/cpuset.o
  CC      drivers/acpi/acpica/hwvalid.o
  CC      net/ethtool/mm.o
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC      kernel/time/itimer.o
  CC      arch/x86/kernel/dumpstack.o
  CC      kernel/cgroup/misc.o
  CC      net/sunrpc/auth_gss/gss_krb5_seal.o
  AR      kernel/events/built-in.a
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC      net/ipv4/inet_timewait_sock.o
  CC      kernel/trace/blktrace.o
  CC      kernel/trace/trace_events.o
  AR      net/wireless/tests/built-in.a
  CC      net/sunrpc/auth_gss/gss_krb5_unseal.o
  CC      net/wireless/core.o
  CC      drivers/gpu/drm/virtio/virtgpu_display.o
  CC      net/wireless/sysfs.o
  CC      kernel/trace/trace_export.o
  CC      net/ipv4/inet_connection_sock.o
  CC      drivers/acpi/acpica/hwxface.o
  CC      kernel/time/clockevents.o
  CC      drivers/base/init.o
  CC      drivers/gpu/drm/virtio/virtgpu_vq.o
  CC      drivers/scsi/scsi_lib.o
  CC      drivers/gpu/drm/virtio/virtgpu_fence.o
  CC      arch/x86/kernel/nmi.o
  CC      drivers/ata/libata-transport.o
  AR      net/xfrm/built-in.a
  CC      fs/ext4/symlink.o
  CC      lib/ratelimit.o
  CC      mm/memory.o
  CC      drivers/gpu/drm/i915/i915_sysfs.o
  CC      mm/mincore.o
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC      net/sunrpc/auth.o
  CC      fs/nfs/sysfs.o
  CC      net/ipv6/ip6_input.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC      net/ethtool/module.o
  CC      net/core/netdev-genl.o
  CC      lib/rbtree.o
  CC      net/sunrpc/auth_gss/gss_krb5_wrap.o
  CC      drivers/scsi/constants.o
  CC      fs/ext4/sysfs.o
  CC      fs/nfs/fs_context.o
  CC      kernel/time/tick-common.o
  CC      kernel/time/tick-broadcast.o
  CC      drivers/base/map.o
  CC      drivers/ata/libata-trace.o
  CC      net/netfilter/nf_conntrack_proto_icmpv6.o
  CC      drivers/acpi/acpica/hwpci.o
  CC      lib/seq_buf.o
  CC      mm/mlock.o
  CC      net/ipv4/tcp.o
  CC      fs/nfs/nfsroot.o
  CC      drivers/ata/libata-sata.o
  CC      kernel/trace/trace_event_perf.o
  CC      net/netfilter/nf_conntrack_netlink.o
  AR      net/mac80211/tests/built-in.a
  CC      net/mac80211/main.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC      drivers/gpu/drm/drm_aperture.o
  CC      net/ipv4/tcp_input.o
  CC      mm/mmap.o
  CC      drivers/gpu/drm/virtio/virtgpu_object.o
  CC      kernel/trace/trace_events_filter.o
  CC      arch/x86/kernel/ldt.o
  CC      drivers/base/devres.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC      net/core/netdev-genl-gen.o
  CC      drivers/gpu/drm/i915/i915_utils.o
  CC      drivers/gpu/drm/virtio/virtgpu_debugfs.o
  CC      net/sunrpc/auth_gss/gss_krb5_crypto.o
  CC      net/ethtool/cmis_fw_update.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      lib/siphash.o
  CC      net/ipv6/addrconf.o
  CC      net/ipv4/tcp_output.o
  CC      drivers/base/attribute_container.o
  CC      net/ethtool/cmis_cdb.o
  CC      net/ipv6/addrlabel.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC      kernel/exit.o
  CC      kernel/cgroup/debug.o
  CC      kernel/time/tick-oneshot.o
  CC      kernel/time/tick-sched.o
  CC      net/ipv4/tcp_timer.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC      kernel/trace/trace_events_trigger.o
  CC      net/ethtool/pse-pd.o
  CC      fs/ext4/xattr.o
  CC      kernel/time/timer_migration.o
  CC      kernel/softirq.o
  CC      drivers/scsi/scsi_scan.o
  CC      net/sunrpc/auth_null.o
  CC      net/core/gso.o
  CC      drivers/gpu/drm/virtio/virtgpu_plane.o
  CC      lib/string.o
  CC      lib/timerqueue.o
  CC      arch/x86/kernel/setup.o
  CC      drivers/base/transport_class.o
  CC      arch/x86/kernel/x86_init.o
  CC      net/netfilter/nf_conntrack_ftp.o
  CC      mm/mmu_gather.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC      drivers/acpi/acpica/nsarguments.o
  CC      kernel/trace/trace_eprobe.o
  CC      drivers/gpu/drm/i915/intel_clock_gating.o
  CC      kernel/time/vsyscall.o
  CC      lib/vsprintf.o
  CC      fs/char_dev.o
  CC      drivers/gpu/drm/i915/intel_device_info.o
  CC      net/ethtool/plca.o
  CC      net/sunrpc/auth_gss/gss_krb5_keys.o
  CC      drivers/base/topology.o
  CC      drivers/acpi/acpica/nsconvert.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  CC      drivers/scsi/scsi_devinfo.o
  AR      kernel/cgroup/built-in.a
  CC      kernel/trace/trace_kprobe.o
  CC      kernel/time/timekeeping_debug.o
  CC      lib/win_minmax.o
  CC      lib/xarray.o
  CC      drivers/scsi/scsi_sysctl.o
  CC      drivers/ata/libata-sff.o
  CC      drivers/gpu/drm/virtio/virtgpu_ioctl.o
  CC      arch/x86/kernel/i8259.o
  CC      drivers/scsi/scsi_proc.o
  CC      kernel/time/namespace.o
  CC      drivers/ata/libata-pmp.o
  CC      drivers/gpu/drm/drm_atomic.o
  CC      fs/nfs/sysctl.o
  CC      arch/x86/kernel/irqinit.o
  CC      kernel/trace/error_report-traces.o
  CC      drivers/acpi/acpica/nsdump.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC      net/netfilter/nf_conntrack_irc.o
  CC      fs/stat.o
  CC      lib/lockref.o
  CC      drivers/base/container.o
  CC      net/wireless/radiotap.o
  CC      drivers/scsi/scsi_debugfs.o
  CC      drivers/scsi/scsi_trace.o
  CC      net/wireless/util.o
  CC      kernel/resource.o
  AR      net/sunrpc/auth_gss/built-in.a
  CC      net/core/net-sysfs.o
  CC      net/wireless/reg.o
  CC      kernel/sysctl.o
  CC      fs/ext4/xattr_hurd.o
  CC      drivers/acpi/acpica/nseval.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      lib/bcd.o
  CC      drivers/scsi/scsi_logging.o
  CC      kernel/trace/power-traces.o
  CC      fs/ext4/xattr_trusted.o
  AR      net/ethtool/built-in.a
  CC      drivers/gpu/drm/i915/intel_memory_region.o
  CC      kernel/trace/rpm-traces.o
  CC      drivers/gpu/drm/i915/intel_pcode.o
  CC      drivers/scsi/scsi_pm.o
  CC      net/netlabel/netlabel_user.o
  CC      drivers/gpu/drm/i915/intel_region_ttm.o
  CC      drivers/base/property.o
  CC      fs/exec.o
  AR      kernel/time/built-in.a
  CC      kernel/capability.o
  CC      mm/mprotect.o
  CC      net/netlabel/netlabel_kapi.o
  CC      drivers/gpu/drm/virtio/virtgpu_prime.o
  CC      drivers/acpi/acpica/nsinit.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC      net/netfilter/nf_conntrack_sip.o
  CC      fs/pipe.o
  CC      arch/x86/kernel/jump_label.o
  CC      fs/namei.o
  CC      net/netfilter/nf_nat_core.o
  CC      drivers/scsi/scsi_bsg.o
  CC      fs/nfs/nfs3super.o
  CC      mm/mremap.o
  CC      drivers/scsi/scsi_common.o
  CC      arch/x86/kernel/irq_work.o
  CC      kernel/ptrace.o
  CC      fs/ext4/xattr_user.o
  CC      kernel/trace/trace_dynevent.o
  CC      net/ipv4/tcp_ipv4.o
  CC      net/wireless/scan.o
  CC      drivers/acpi/acpica/nsload.o
  CC      drivers/scsi/scsi_transport_spi.o
  CC      fs/fcntl.o
  CC      drivers/scsi/virtio_scsi.o
  CC      net/mac80211/status.o
  CC      kernel/user.o
  CC      arch/x86/kernel/probe_roms.o
  CC      drivers/gpu/drm/virtio/virtgpu_trace_points.o
  CC      lib/sort.o
  CC      mm/msync.o
  CC      drivers/scsi/sd.o
  CC      kernel/trace/trace_probe.o
  CC      drivers/firewire/init_ohci1394_dma.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  AR      drivers/net/phy/qcom/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC      drivers/cdrom/cdrom.o
  CC      drivers/net/phy/mdio-boardinfo.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC      drivers/gpu/drm/i915/intel_runtime_pm.o
  CC      drivers/gpu/drm/i915/intel_sbi.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      kernel/trace/trace_uprobe.o
  CC      lib/parser.o
  CC      drivers/ata/libata-acpi.o
  CC      drivers/base/cacheinfo.o
  AR      drivers/net/pse-pd/built-in.a
  CC      drivers/scsi/sr.o
  CC      drivers/net/mdio/acpi_mdio.o
  CC      net/mac80211/driver-ops.o
  CC      drivers/net/mdio/fwnode_mdio.o
  CC      kernel/signal.o
  CC      net/netlabel/netlabel_domainhash.o
  CC      fs/nfs/nfs3client.o
  CC      net/netlabel/netlabel_addrlist.o
  CC      kernel/sys.o
  CC      lib/debug_locks.o
  CC      net/core/hotdata.o
  CC      drivers/acpi/acpica/nsobject.o
  CC      net/core/net-procfs.o
  CC      lib/random32.o
  CC      arch/x86/kernel/sys_ia32.o
  CC      drivers/acpi/nvs.o
  AR      drivers/firewire/built-in.a
  CC      kernel/trace/rethook.o
  CC      mm/page_vma_mapped.o
  AR      drivers/auxdisplay/built-in.a
  CC      drivers/pcmcia/cs.o
  CC      net/ipv6/route.o
  CC      fs/nfs/nfs3proc.o
  CC      drivers/usb/common/common.o
  CC      drivers/input/serio/serio.o
  CC      fs/ext4/fast_commit.o
  CC      drivers/gpu/drm/virtio/virtgpu_submit.o
  CC      drivers/net/phy/stubs.o
  CC      drivers/input/keyboard/atkbd.o
  CC      net/mac80211/sta_info.o
  CC      drivers/input/mouse/psmouse-base.o
  CC      net/rfkill/core.o
  CC      drivers/input/mouse/synaptics.o
  CC      lib/bust_spinlocks.o
  CC      drivers/acpi/acpica/nsparse.o
  CC      net/netfilter/nf_nat_proto.o
  CC      drivers/base/swnode.o
  CC      net/sunrpc/auth_tls.o
  CC      drivers/acpi/acpica/nspredef.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC      drivers/acpi/acpica/nsprepkg.o
  AR      drivers/net/mdio/built-in.a
  CC      drivers/gpu/drm/i915/intel_step.o
  AR      drivers/net/pcs/built-in.a
  CC      fs/ioctl.o
  CC      drivers/ata/libata-pata-timings.o
  CC      net/netfilter/nf_nat_helper.o
  AR      drivers/net/ethernet/3com/built-in.a
  CC      drivers/net/ethernet/8390/ne2k-pci.o
  CC      drivers/ata/ahci.o
  CC      net/sunrpc/auth_unix.o
  CC      arch/x86/kernel/ksysfs.o
  CC      mm/pagewalk.o
  CC      drivers/input/serio/i8042.o
  CC      mm/pgtable-generic.o
  CC      net/netfilter/nf_nat_masquerade.o
  CC      drivers/usb/common/debug.o
  CC      fs/nfs/nfs3xdr.o
  CC      net/rfkill/input.o
  CC      drivers/acpi/acpica/nsrepair.o
  CC      lib/kasprintf.o
  CC      drivers/usb/core/usb.o
  CC      net/core/netpoll.o
  CC      drivers/pcmcia/socket_sysfs.o
  AR      drivers/cdrom/built-in.a
  CC      drivers/usb/core/hub.o
  AR      drivers/usb/common/built-in.a
  AR      drivers/gpu/drm/virtio/built-in.a
  CC      drivers/rtc/lib.o
  CC      drivers/usb/core/hcd.o
  AR      drivers/usb/phy/built-in.a
  CC      net/netlabel/netlabel_mgmt.o
  CC      drivers/net/phy/mdio_devres.o
  CC      drivers/usb/mon/mon_main.o
  AR      kernel/trace/built-in.a
  CC      drivers/rtc/class.o
  AR      drivers/input/keyboard/built-in.a
  CC      net/ipv4/tcp_minisocks.o
  CC      drivers/base/auxiliary.o
  CC      drivers/pcmcia/cardbus.o
  CC      lib/bitmap.o
  CC      drivers/acpi/acpica/nsrepair2.o
  CC      drivers/net/ethernet/8390/8390.o
  CC      arch/x86/kernel/bootflag.o
  CC      net/sunrpc/svc.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC      fs/nfs/nfs3acl.o
  CC      drivers/ata/libahci.o
  AR      net/rfkill/built-in.a
  CC      drivers/input/mouse/focaltech.o
  CC      net/9p/mod.o
  CC      drivers/acpi/acpica/nssearch.o
  CC      drivers/scsi/sr_ioctl.o
  CC      drivers/scsi/sr_vendor.o
  CC      drivers/gpu/drm/i915/intel_uncore.o
  CC      kernel/umh.o
  CC      net/9p/client.o
  CC      mm/rmap.o
  CC      drivers/input/mouse/alps.o
  CC      drivers/gpu/drm/i915/intel_wakeref.o
  CC      drivers/rtc/interface.o
  CC      drivers/base/devtmpfs.o
  CC      drivers/usb/mon/mon_stat.o
  CC      drivers/usb/core/urb.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      drivers/gpu/drm/i915/vlv_sideband.o
  CC      drivers/rtc/nvmem.o
  CC      drivers/net/phy/phy.o
  CC      drivers/rtc/dev.o
  CC      drivers/usb/core/message.o
  CC      drivers/pcmcia/ds.o
  CC      net/ipv4/tcp_cong.o
  CC      drivers/acpi/acpica/nswalk.o
  CC      drivers/acpi/acpica/nsxfeval.o
  CC      lib/scatterlist.o
  CC      net/sunrpc/svcsock.o
  CC      drivers/input/serio/serport.o
  CC      drivers/rtc/proc.o
  CC      net/9p/error.o
  CC      arch/x86/kernel/e820.o
  CC      drivers/input/mouse/byd.o
  CC      net/netfilter/nf_nat_ftp.o
  CC      fs/nfs/nfs4proc.o
  CC      net/netfilter/nf_nat_irc.o
  CC      net/netlabel/netlabel_unlabeled.o
  CC      drivers/ata/ata_piix.o
  CC      drivers/usb/mon/mon_text.o
  CC      kernel/workqueue.o
  CC      arch/x86/kernel/pci-dma.o
  CC      fs/nfs/nfs4xdr.o
  CC      drivers/scsi/sg.o
  AR      drivers/net/ethernet/8390/built-in.a
  AR      drivers/net/ethernet/adaptec/built-in.a
  CC      drivers/acpi/acpica/nsxfname.o
  AR      drivers/net/ethernet/agere/built-in.a
  CC      arch/x86/kernel/quirks.o
  CC      net/core/fib_rules.o
  AR      drivers/net/ethernet/alacritech/built-in.a
  AR      drivers/net/ethernet/alteon/built-in.a
  CC      fs/nfs/nfs4state.o
  CC      lib/list_sort.o
  AR      drivers/net/ethernet/amazon/built-in.a
  CC      net/9p/protocol.o
  AR      drivers/net/ethernet/amd/built-in.a
  AR      drivers/net/ethernet/aquantia/built-in.a
  AR      drivers/net/ethernet/arc/built-in.a
  AR      drivers/net/ethernet/asix/built-in.a
  CC      drivers/base/module.o
  CC      net/netlabel/netlabel_cipso_v4.o
  AR      drivers/net/ethernet/atheros/built-in.a
  CC      net/netlabel/netlabel_calipso.o
  AR      drivers/net/ethernet/cadence/built-in.a
  CC      net/9p/trans_common.o
  CC      drivers/net/ethernet/broadcom/bnx2.o
  CC      net/sunrpc/svcauth.o
  CC      drivers/net/ethernet/broadcom/tg3.o
  AR      drivers/net/ethernet/brocade/built-in.a
  CC      drivers/input/serio/libps2.o
  CC      drivers/ata/pata_amd.o
  CC      fs/ext4/orphan.o
  CC      net/wireless/nl80211.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC      drivers/input/mouse/logips2pp.o
  CC      drivers/net/phy/phy-c45.o
  CC      drivers/acpi/acpica/nsxfobj.o
  CC      drivers/pcmcia/pcmcia_resource.o
  CC      drivers/base/auxiliary_sysfs.o
  CC      lib/uuid.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      net/sunrpc/svcauth_unix.o
  CC      net/sunrpc/addr.o
  CC      drivers/rtc/sysfs.o
  CC      drivers/usb/mon/mon_bin.o
  CC      drivers/pcmcia/cistpl.o
  CC      lib/iov_iter.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC      drivers/input/mouse/lifebook.o
  CC      net/wireless/mlme.o
  CC      arch/x86/kernel/alternative.o
  CC      drivers/gpu/drm/i915/vlv_suspend.o
  CC      lib/clz_ctz.o
  CC      net/9p/trans_fd.o
  CC      net/netfilter/nf_nat_sip.o
  CC      mm/vmalloc.o
  CC      drivers/acpi/acpica/psargs.o
  CC      net/core/net-traces.o
  CC      net/9p/trans_virtio.o
  CC      drivers/i2c/algos/i2c-algo-bit.o
  AR      drivers/input/serio/built-in.a
  CC      drivers/acpi/wakeup.o
  CC      net/core/selftests.o
  CC      drivers/base/devcoredump.o
  CC      net/ipv4/tcp_metrics.o
  CC      drivers/usb/core/driver.o
  CC      drivers/base/platform-msi.o
  CC      drivers/i2c/busses/i2c-i801.o
  CC      drivers/ata/pata_oldpiix.o
  CC      fs/ext4/acl.o
  CC      drivers/base/physical_location.o
  CC      net/ipv4/tcp_fastopen.o
  CC      drivers/rtc/rtc-mc146818-lib.o
  CC      drivers/rtc/rtc-cmos.o
  AR      net/netlabel/built-in.a
  CC      drivers/usb/core/config.o
  CC      drivers/acpi/acpica/psloop.o
  CC      drivers/scsi/scsi_sysfs.o
  CC      drivers/input/mouse/trackpoint.o
  CC      net/ipv6/ip6_fib.o
  CC      net/netfilter/x_tables.o
  CC      drivers/acpi/sleep.o
  CC      net/wireless/ibss.o
  AR      drivers/i3c/built-in.a
  CC      net/netfilter/xt_tcpudp.o
  CC      drivers/net/phy/phy-core.o
  AR      drivers/media/i2c/built-in.a
  AR      drivers/media/tuners/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  AR      drivers/pps/clients/built-in.a
  AR      drivers/media/rc/keymaps/built-in.a
  AR      drivers/pps/generators/built-in.a
  AR      drivers/media/rc/built-in.a
  CC      drivers/pps/pps.o
  CC      drivers/pcmcia/pcmcia_cis.o
  AR      drivers/usb/mon/built-in.a
  CC      drivers/pcmcia/rsrc_mgr.o
  CC      drivers/base/trace.o
  CC      drivers/net/phy/phy_device.o
  AR      drivers/media/common/b2c2/built-in.a
  CC      net/mac80211/wep.o
  AR      drivers/media/common/saa7146/built-in.a
  AR      drivers/media/common/siano/built-in.a
  CC      drivers/acpi/acpica/psobject.o
  AR      drivers/media/common/v4l2-tpg/built-in.a
  AR      drivers/media/common/videobuf2/built-in.a
  AR      drivers/media/common/built-in.a
  AR      drivers/media/platform/allegro-dvt/built-in.a
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  AR      drivers/media/platform/amlogic/built-in.a
  AR      drivers/media/platform/amphion/built-in.a
  AR      drivers/media/platform/aspeed/built-in.a
  AR      drivers/media/platform/atmel/built-in.a
  AR      drivers/media/platform/broadcom/built-in.a
  AR      drivers/i2c/algos/built-in.a
  CC      drivers/acpi/acpica/psopcode.o
  AR      drivers/media/platform/cadence/built-in.a
  CC      drivers/ata/pata_sch.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  AR      drivers/media/platform/chips-media/coda/built-in.a
  CC      arch/x86/kernel/i8253.o
  CC      fs/ext4/xattr_security.o
  AR      drivers/media/platform/chips-media/wave5/built-in.a
  AR      drivers/media/platform/imagination/built-in.a
  AR      drivers/media/platform/chips-media/built-in.a
  CC      drivers/ata/pata_mpiix.o
  AR      drivers/media/platform/intel/built-in.a
  AR      drivers/i2c/muxes/built-in.a
  AR      drivers/media/platform/marvell/built-in.a
  CC      drivers/pcmcia/rsrc_nonstatic.o
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  CC      drivers/input/mouse/cypress_ps2.o
  CC      drivers/gpu/drm/i915/soc/intel_dram.o
  CC      drivers/input/mouse/psmouse-smbus.o
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/common/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/encoder/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/decoder/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  CC      drivers/gpu/drm/i915/soc/intel_gmch.o
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  CC      net/core/ptp_classifier.o
  AR      drivers/media/platform/mediatek/built-in.a
  AR      net/9p/built-in.a
  CC      drivers/usb/core/file.o
  AR      drivers/media/platform/microchip/built-in.a
  CC      mm/process_vm_access.o
  AR      drivers/media/platform/nuvoton/built-in.a
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  AR      drivers/media/platform/nvidia/built-in.a
  AR      drivers/rtc/built-in.a
  CC      drivers/pcmcia/yenta_socket.o
  CC      drivers/pps/kapi.o
  CC      drivers/acpi/acpica/psopinfo.o
  CC      drivers/ptp/ptp_clock.o
  AR      drivers/i2c/busses/built-in.a
  AR      drivers/media/platform/nxp/dw100/built-in.a
  CC      net/core/netprio_cgroup.o
  CC      drivers/i2c/i2c-boardinfo.o
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  AR      drivers/media/platform/nxp/imx8-isi/built-in.a
  AR      drivers/media/platform/nxp/built-in.a
  CC      drivers/gpu/drm/i915/soc/intel_pch.o
  CC      drivers/acpi/acpica/psparse.o
  CC      drivers/usb/core/buffer.o
  AR      drivers/media/platform/qcom/camss/built-in.a
  AR      drivers/media/platform/qcom/venus/built-in.a
  AR      drivers/media/platform/qcom/built-in.a
  AR      drivers/base/built-in.a
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      drivers/pps/sysfs.o
  CC      net/wireless/sme.o
  AR      drivers/media/platform/raspberrypi/pisp_be/built-in.a
  AR      drivers/media/platform/raspberrypi/built-in.a
  CC      lib/bsearch.o
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  AR      drivers/scsi/built-in.a
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  CC      drivers/gpu/drm/i915/i915_memcpy.o
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  AR      drivers/media/platform/renesas/built-in.a
  CC      drivers/power/supply/power_supply_core.o
  CC      net/wireless/chan.o
  CC      net/ipv4/tcp_rate.o
  CC      net/sunrpc/rpcb_clnt.o
  AR      drivers/media/platform/rockchip/rga/built-in.a
  AR      drivers/media/platform/rockchip/rkisp1/built-in.a
  AR      drivers/media/platform/rockchip/built-in.a
  AR      drivers/media/platform/samsung/exynos-gsc/built-in.a
  CC      net/wireless/ethtool.o
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  CC      drivers/power/supply/power_supply_sysfs.o
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  CC      net/mac80211/aead_api.o
  CC      drivers/gpu/drm/i915/i915_mm.o
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  AR      drivers/media/platform/samsung/built-in.a
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  CC      drivers/ata/ata_generic.o
  CC      net/mac80211/wpa.o
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  AR      fs/ext4/built-in.a
  AR      drivers/media/platform/st/sti/delta/built-in.a
  AR      drivers/media/platform/st/sti/hva/built-in.a
  CC      drivers/acpi/device_sysfs.o
  CC      net/netfilter/xt_CONNSECMARK.o
  AR      drivers/media/platform/st/stm32/built-in.a
  CC      drivers/acpi/acpica/psscope.o
  CC      net/ipv4/tcp_recovery.o
  AR      drivers/media/platform/st/built-in.a
  CC      drivers/ptp/ptp_chardev.o
  AR      drivers/pps/built-in.a
  AR      drivers/input/mouse/built-in.a
  CC      drivers/ptp/ptp_sysfs.o
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  CC      drivers/usb/core/sysfs.o
  AR      drivers/input/joystick/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gsc_proxy.o
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  AR      drivers/input/tablet/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  CC      drivers/usb/core/endpoint.o
  AR      drivers/input/touchscreen/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  CC      kernel/pid.o
  AR      drivers/input/misc/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  CC      drivers/input/input.o
  AR      drivers/media/platform/sunxi/built-in.a
  AR      drivers/media/platform/ti/am437x/built-in.a
  AR      drivers/media/platform/ti/cal/built-in.a
  CC      drivers/input/input-compat.o
  AR      drivers/media/platform/ti/vpe/built-in.a
  CC      drivers/i2c/i2c-core-base.o
  CC      drivers/i2c/i2c-core-smbus.o
  AR      drivers/media/platform/ti/davinci/built-in.a
  CC      net/sunrpc/timer.o
  AR      drivers/media/platform/ti/j721e-csi2rx/built-in.a
  CC      lib/find_bit.o
  AR      drivers/media/platform/ti/omap/built-in.a
  CC      drivers/acpi/device_pm.o
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  AR      drivers/media/platform/ti/built-in.a
  CC      net/ipv6/ipv6_sockglue.o
  AR      drivers/media/platform/verisilicon/built-in.a
  AR      drivers/net/ethernet/cavium/common/built-in.a
  CC      drivers/usb/host/pci-quirks.o
  AR      drivers/media/platform/via/built-in.a
  CC      drivers/gpu/drm/i915/i915_sw_fence.o
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  AR      drivers/media/platform/xilinx/built-in.a
  CC      drivers/gpu/drm/i915/i915_sw_fence_work.o
  AR      drivers/media/platform/built-in.a
  CC      drivers/acpi/acpica/pstree.o
  AR      drivers/net/ethernet/cavium/liquidio/built-in.a
  CC      net/core/netclassid_cgroup.o
  AR      drivers/net/ethernet/cavium/octeon/built-in.a
  AR      drivers/net/ethernet/cavium/built-in.a
  CC      drivers/usb/host/ehci-hcd.o
  CC      net/ipv4/tcp_ulp.o
  CC      drivers/usb/host/ehci-pci.o
  AR      drivers/media/pci/ttpci/built-in.a
  CC      arch/x86/kernel/tsc.o
  AR      drivers/media/pci/b2c2/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  CC      net/wireless/mesh.o
  CC      drivers/power/supply/power_supply_leds.o
  CC      lib/llist.o
  AR      drivers/media/pci/dm1105/built-in.a
  CC      drivers/acpi/proc.o
  CC      drivers/gpu/drm/i915/i915_syncmap.o
  AR      drivers/media/pci/pt1/built-in.a
  AR      drivers/pcmcia/built-in.a
  AR      drivers/ata/built-in.a
  CC      drivers/net/phy/linkmode.o
  CC      drivers/gpu/drm/i915/i915_user_extensions.o
  AR      drivers/media/pci/pt3/built-in.a
  CC      lib/lwq.o
  CC      net/wireless/ap.o
  CC      drivers/input/input-mt.o
  CC      drivers/net/phy/mdio_bus.o
  AR      drivers/media/pci/mantis/built-in.a
  CC      mm/page_alloc.o
  AR      drivers/media/pci/ngene/built-in.a
  AR      drivers/net/wireless/admtek/built-in.a
  CC      drivers/acpi/acpica/psutils.o
  CC      drivers/gpu/drm/i915/i915_debugfs.o
  AR      drivers/media/pci/ddbridge/built-in.a
  AR      drivers/net/wireless/ath/built-in.a
  AR      drivers/media/pci/saa7146/built-in.a
  AR      drivers/net/wireless/atmel/built-in.a
  AR      drivers/media/pci/smipcie/built-in.a
  AR      drivers/net/usb/built-in.a
  AR      drivers/net/wireless/broadcom/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC      net/ipv4/tcp_offload.o
  CC      drivers/gpu/drm/drm_atomic_uapi.o
  AR      drivers/net/wireless/intel/built-in.a
  CC      drivers/ptp/ptp_vclock.o
  AR      drivers/media/pci/netup_unidvb/built-in.a
  AR      drivers/net/wireless/intersil/built-in.a
  CC      lib/memweight.o
  CC      lib/kfifo.o
  AR      drivers/net/wireless/marvell/built-in.a
  AR      drivers/media/pci/intel/ipu3/built-in.a
  AR      drivers/net/wireless/mediatek/built-in.a
  CC      drivers/power/supply/power_supply_hwmon.o
  CC      drivers/usb/core/devio.o
  AR      drivers/net/wireless/microchip/built-in.a
  CC      net/netfilter/xt_NFLOG.o
  AR      drivers/media/pci/intel/ivsc/built-in.a
  AR      drivers/net/wireless/purelifi/built-in.a
  AR      drivers/media/pci/intel/built-in.a
  AR      drivers/net/wireless/quantenna/built-in.a
  AR      drivers/net/wireless/ralink/built-in.a
  AR      drivers/media/pci/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  AR      drivers/net/wireless/realtek/built-in.a
  CC      drivers/gpu/drm/drm_auth.o
  AR      drivers/net/wireless/rsi/built-in.a
  AR      drivers/net/wireless/silabs/built-in.a
  AR      drivers/media/usb/b2c2/built-in.a
  CC      drivers/usb/host/ohci-hcd.o
  CC      drivers/net/mii.o
  CC      drivers/usb/host/ohci-pci.o
  AR      drivers/media/usb/dvb-usb/built-in.a
  AR      drivers/net/wireless/st/built-in.a
  CC      lib/percpu-refcount.o
  CC      drivers/acpi/acpica/pswalk.o
  AR      drivers/net/wireless/ti/built-in.a
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  AR      drivers/net/wireless/zydas/built-in.a
  CC      drivers/hwmon/hwmon.o
  AR      drivers/media/usb/s2255/built-in.a
  AR      drivers/net/wireless/virtual/built-in.a
  CC      drivers/usb/host/uhci-hcd.o
  CC      drivers/usb/host/xhci.o
  CC      fs/nfs/nfs4renewd.o
  AR      drivers/net/wireless/built-in.a
  AR      drivers/media/usb/siano/built-in.a
  AR      drivers/media/usb/ttusb-budget/built-in.a
  CC      net/mac80211/scan.o
  CC      drivers/acpi/bus.o
  AR      drivers/media/usb/ttusb-dec/built-in.a
  AR      drivers/media/usb/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_ccs_mode.o
  AR      drivers/media/mmc/siano/built-in.a
  AR      drivers/media/mmc/built-in.a
  CC      drivers/i2c/i2c-core-acpi.o
  AR      drivers/net/ethernet/chelsio/built-in.a
  CC      kernel/task_work.o
  AR      drivers/media/firewire/built-in.a
  CC      net/core/dst_cache.o
  AR      drivers/media/spi/built-in.a
  CC      drivers/usb/host/xhci-mem.o
  AR      drivers/net/ethernet/cisco/built-in.a
  CC      net/wireless/trace.o
  AR      drivers/power/supply/built-in.a
  AR      drivers/media/test-drivers/built-in.a
  AR      drivers/net/ethernet/cortina/built-in.a
  AR      drivers/power/built-in.a
  CC      drivers/acpi/acpica/psxface.o
  AR      drivers/media/built-in.a
  CC      drivers/input/input-poller.o
  CC      drivers/input/ff-core.o
  AR      drivers/net/ethernet/dec/tulip/built-in.a
  AR      drivers/thermal/broadcom/built-in.a
  CC      arch/x86/kernel/tsc_msr.o
  AR      drivers/net/ethernet/dec/built-in.a
  CC      arch/x86/kernel/io_delay.o
  CC      net/dns_resolver/dns_key.o
  AR      drivers/thermal/renesas/built-in.a
  AR      drivers/thermal/samsung/built-in.a
  CC      arch/x86/kernel/rtc.o
  CC      drivers/thermal/intel/intel_tcc.o
  CC      drivers/ptp/ptp_kvm_x86.o
  CC      drivers/thermal/intel/therm_throt.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC      net/ipv4/tcp_plb.o
  CC      lib/rhashtable.o
  CC      net/netfilter/xt_SECMARK.o
  CC      drivers/acpi/acpica/rsaddr.o
  CC      drivers/i2c/i2c-smbus.o
  CC      drivers/acpi/acpica/rscalc.o
  CC      arch/x86/kernel/resource.o
  CC      drivers/net/phy/mdio_device.o
  CC      drivers/usb/class/usblp.o
  CC      net/sunrpc/xdr.o
  CC      kernel/extable.o
  CC      net/netfilter/xt_TCPMSS.o
  CC      drivers/acpi/glue.o
  CC      net/ipv6/ndisc.o
  CC      drivers/input/touchscreen.o
  CC      net/handshake/alert.o
  CC      net/handshake/genl.o
  CC      net/handshake/netlink.o
  CC      drivers/gpu/drm/i915/i915_debugfs_params.o
  CC      net/handshake/request.o
  CC      net/dns_resolver/dns_query.o
  AS      arch/x86/kernel/irqflags.o
  CC      arch/x86/kernel/static_call.o
  CC      arch/x86/kernel/process.o
  CC      fs/nfs/nfs4super.o
  AR      drivers/net/ethernet/dlink/built-in.a
  CC      fs/nfs/nfs4file.o
  CC      fs/nfs/delegation.o
  CC      arch/x86/kernel/ptrace.o
  CC      arch/x86/kernel/tls.o
  CC      drivers/usb/host/xhci-ext-caps.o
  CC      drivers/acpi/acpica/rscreate.o
  AR      drivers/hwmon/built-in.a
  CC      drivers/ptp/ptp_kvm_common.o
  CC      net/core/gro_cells.o
  AR      drivers/watchdog/built-in.a
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/md/md.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  AR      drivers/i2c/built-in.a
  CC      drivers/md/md-bitmap.o
  CC      arch/x86/kernel/step.o
  CC      arch/x86/kernel/i8237.o
  CC      drivers/usb/core/notify.o
  CC      drivers/input/ff-memless.o
  AR      drivers/thermal/intel/built-in.a
  CC      net/netfilter/xt_conntrack.o
  AR      drivers/thermal/st/built-in.a
  CC      fs/nfs/nfs4idmap.o
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC      drivers/net/phy/swphy.o
  AR      drivers/thermal/qcom/built-in.a
  CC      drivers/acpi/acpica/rsinfo.o
  AR      drivers/net/ethernet/emulex/built-in.a
  AR      drivers/thermal/tegra/built-in.a
  CC      lib/base64.o
  AR      drivers/thermal/mediatek/built-in.a
  CC      drivers/gpu/drm/drm_blend.o
  CC      drivers/thermal/thermal_core.o
  CC      net/ipv4/datagram.o
  CC      net/netfilter/xt_policy.o
  CC      drivers/cpuidle/governors/menu.o
  AR      net/dns_resolver/built-in.a
  CC      net/ipv4/raw.o
  AR      drivers/usb/class/built-in.a
  CC      drivers/gpu/drm/drm_bridge.o
  CC      lib/once.o
  CC      kernel/params.o
  CC      drivers/cpuidle/governors/haltpoll.o
  CC      drivers/net/phy/fixed_phy.o
  CC      fs/nfs/callback.o
  CC      drivers/gpu/drm/i915/i915_pmu.o
  CC      net/handshake/tlshd.o
  AR      drivers/ptp/built-in.a
  AR      drivers/mmc/built-in.a
  CC      drivers/acpi/acpica/rsio.o
  AR      drivers/ufs/built-in.a
  CC      net/wireless/ocb.o
  CC      drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  CC      net/wireless/pmsr.o
  CC      net/ipv6/udp.o
  CC      drivers/gpu/drm/drm_cache.o
  CC      net/netfilter/xt_state.o
  CC      fs/nfs/callback_xdr.o
  CC      mm/init-mm.o
  CC      arch/x86/kernel/stacktrace.o
  CC      drivers/usb/core/generic.o
  CC      lib/refcount.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_freq.o
  CC      net/ipv4/udp.o
  CC      net/core/failover.o
  CC      drivers/acpi/scan.o
  CC      drivers/usb/host/xhci-ring.o
  CC      drivers/input/sparse-keymap.o
  CC      drivers/acpi/acpica/rsirq.o
  CC      drivers/cpufreq/freq_table.o
  CC      drivers/gpu/drm/drm_client.o
  CC      lib/rcuref.o
  CC      drivers/acpi/acpica/rslist.o
  CC      fs/nfs/callback_proc.o
  CC      lib/usercopy.o
  CC      arch/x86/kernel/reboot.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle.o
  CC      drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  AR      drivers/leds/trigger/built-in.a
  CC      mm/memblock.o
  AR      drivers/leds/blink/built-in.a
  AR      drivers/leds/simple/built-in.a
  AR      drivers/firmware/arm_ffa/built-in.a
  AR      drivers/firmware/arm_scmi/built-in.a
  CC      drivers/leds/led-core.o
  CC      kernel/kthread.o
  CC      lib/errseq.o
  AR      drivers/cpuidle/governors/built-in.a
  AR      drivers/firmware/broadcom/built-in.a
  CC      drivers/cpuidle/cpuidle.o
  CC      lib/bucket_locks.o
  AR      drivers/firmware/cirrus/built-in.a
  CC      drivers/usb/core/quirks.o
  AR      drivers/firmware/meson/built-in.a
  AR      drivers/crypto/stm32/built-in.a
  CC      drivers/clocksource/acpi_pm.o
  AR      drivers/crypto/xilinx/built-in.a
  AR      drivers/firmware/microchip/built-in.a
  CC      drivers/acpi/acpica/rsmemory.o
  CC      drivers/net/phy/realtek.o
  AR      drivers/crypto/hisilicon/built-in.a
  CC      drivers/firmware/efi/efi-bgrt.o
  AR      drivers/crypto/intel/keembay/built-in.a
  CC      lib/generic-radix-tree.o
  AR      drivers/crypto/intel/ixp4xx/built-in.a
  CC      drivers/input/vivaldi-fmap.o
  AR      drivers/crypto/intel/built-in.a
  CC      drivers/hid/usbhid/hid-core.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC      net/mac80211/offchannel.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  AR      drivers/crypto/starfive/built-in.a
  CC      drivers/leds/led-class.o
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  AR      drivers/crypto/built-in.a
  AR      drivers/platform/x86/amd/built-in.a
  CC      net/ipv6/udplite.o
  AR      drivers/platform/x86/intel/built-in.a
  CC      drivers/platform/x86/wmi.o
  CC      net/handshake/trace.o
  CC      drivers/firmware/efi/libstub/gop.o
  CC      drivers/cpufreq/cpufreq_performance.o
  CC      drivers/thermal/thermal_sysfs.o
  CC [M]  net/netfilter/nf_log_syslog.o
  CC      drivers/cpuidle/driver.o
  CC      drivers/acpi/acpica/rsmisc.o
  CC      net/ipv4/udplite.o
  AR      net/core/built-in.a
  CC      net/mac80211/ht.o
  CC      drivers/leds/led-triggers.o
  CC      net/ipv4/udp_offload.o
  CC      drivers/hid/usbhid/hiddev.o
  CC      drivers/input/input-leds.o
  CC      drivers/thermal/thermal_trip.o
  CC      lib/bitmap-str.o
  CC      drivers/cpuidle/governor.o
  CC      drivers/usb/core/devices.o
  CC      arch/x86/kernel/msr.o
  CC      mm/slub.o
  CC      drivers/clocksource/i8253.o
  CC [M]  net/netfilter/xt_mark.o
  CC      fs/nfs/nfs4namespace.o
  CC      drivers/acpi/mipi-disco-img.o
  CC      drivers/cpufreq/cpufreq_userspace.o
  CC      drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  CC      drivers/hid/hid-core.o
  CC      net/ipv6/raw.o
  CC      fs/nfs/nfs4getroot.o
  CC      drivers/acpi/acpica/rsserial.o
  CC      lib/string_helpers.o
  CC      drivers/firmware/efi/libstub/secureboot.o
  CC      drivers/hid/hid-input.o
  CC      drivers/thermal/thermal_helpers.o
  CC      drivers/hid/hid-quirks.o
  CC      net/sunrpc/sunrpc_syms.o
  CC      drivers/firmware/efi/libstub/tpm.o
  CC      drivers/platform/x86/wmi-bmof.o
  AR      drivers/clocksource/built-in.a
  CC      drivers/input/evdev.o
  CC      drivers/mailbox/mailbox.o
  AR      drivers/net/phy/built-in.a
  CC      lib/hexdump.o
  CC      net/sunrpc/cache.o
  CC      drivers/cpufreq/cpufreq_ondemand.o
  CC      fs/nfs/nfs4client.o
  AR      drivers/leds/built-in.a
  CC      net/sunrpc/rpc_pipe.o
  CC      drivers/cpuidle/sysfs.o
  CC      net/ipv4/arp.o
  CC      drivers/hid/hid-debug.o
  CC      drivers/acpi/acpica/rsutils.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC      kernel/sys_ni.o
  CC      lib/kstrtox.o
  CC      drivers/usb/core/phy.o
  CC      arch/x86/kernel/cpuid.o
  GEN     net/wireless/shipped-certs.c
  CC      drivers/net/loopback.o
  CC      drivers/md/md-autodetect.o
  CC      net/mac80211/agg-tx.o
  CC      drivers/thermal/thermal_hwmon.o
  CC      drivers/hid/usbhid/hid-pidff.o
  CC      kernel/nsproxy.o
  CC      arch/x86/kernel/early-quirks.o
  CC      drivers/firmware/efi/libstub/file.o
  CC      drivers/usb/core/port.o
  AR      net/handshake/built-in.a
  CC      drivers/platform/x86/eeepc-laptop.o
  CC      drivers/usb/core/hcd-pci.o
  CC      drivers/mailbox/pcc.o
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC      net/sunrpc/sysfs.o
  CC      drivers/acpi/acpica/rsxface.o
  AR      drivers/net/ethernet/engleder/built-in.a
  CC      net/sunrpc/svc_xprt.o
  AR      drivers/net/ethernet/ezchip/built-in.a
  CC      lib/iomap.o
  CC      drivers/cpuidle/poll_state.o
  AR      drivers/net/ethernet/fujitsu/built-in.a
  AR      drivers/net/ethernet/fungible/built-in.a
  AR      drivers/net/ethernet/google/built-in.a
  CC      net/sunrpc/xprtmultipath.o
  AR      drivers/net/ethernet/huawei/built-in.a
  CC      drivers/net/netconsole.o
  CC      drivers/net/ethernet/intel/e1000/e1000_main.o
  CC [M]  net/netfilter/xt_nat.o
  CC      drivers/net/virtio_net.o
  AR      drivers/firmware/imx/built-in.a
  CC      drivers/cpufreq/cpufreq_governor.o
  CC      drivers/net/net_failover.o
  CC      drivers/net/ethernet/intel/e1000e/82571.o
  CC      drivers/usb/host/xhci-hub.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_throttle.o
  CC      drivers/net/ethernet/intel/e1000e/ich8lan.o
  CC      drivers/thermal/gov_step_wise.o
  AR      drivers/input/built-in.a
  CC      drivers/net/ethernet/intel/e100.o
  CC [M]  net/netfilter/xt_LOG.o
  CC      drivers/cpuidle/cpuidle-haltpoll.o
  CC      drivers/gpu/drm/i915/gt/gen7_renderclear.o
  CC      fs/nfs/nfs4session.o
  CC      drivers/net/ethernet/intel/e1000/e1000_hw.o
  CC      drivers/acpi/acpica/tbdata.o
  CC      drivers/hid/hidraw.o
  CC      drivers/firmware/efi/libstub/mem.o
  AR      drivers/firmware/psci/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  AR      drivers/mailbox/built-in.a
  AR      drivers/perf/built-in.a
  AR      drivers/hwtracing/intel_th/built-in.a
  AR      drivers/android/built-in.a
  CC      net/wireless/shipped-certs.o
  AR      drivers/nvmem/layouts/built-in.a
  CC      drivers/nvmem/core.o
  CC      arch/x86/kernel/smp.o
  CC      drivers/hid/hid-generic.o
  CC      fs/nfs/dns_resolve.o
  CC      drivers/thermal/gov_user_space.o
  CC      net/ipv4/icmp.o
  CC      drivers/hid/hid-a4tech.o
  CC      lib/iomap_copy.o
  AR      drivers/cpuidle/built-in.a
  CC      kernel/notifier.o
  CC      drivers/hid/hid-apple.o
  CC      drivers/usb/core/usb-acpi.o
  AR      drivers/hid/usbhid/built-in.a
  CC      drivers/net/ethernet/intel/e1000e/80003es2lan.o
  AR      drivers/firmware/qcom/built-in.a
  CC      arch/x86/kernel/smpboot.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  CC      lib/devres.o
  CC      drivers/acpi/acpica/tbfadt.o
  CC      net/ipv6/icmp.o
  CC      drivers/cpufreq/acpi-cpufreq.o
  CC      drivers/platform/x86/p2sb.o
  CC      net/mac80211/agg-rx.o
  CC      drivers/net/ethernet/intel/e1000e/mac.o
  CC      drivers/md/dm.o
  CC      drivers/cpufreq/amd-pstate.o
  CC      drivers/firmware/efi/libstub/random.o
  AR      drivers/thermal/built-in.a
  CC      drivers/acpi/resource.o
  CC      net/mac80211/vht.o
  CC      net/sunrpc/stats.o
  CC      net/mac80211/he.o
  CC      drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  AR      drivers/firmware/smccc/built-in.a
  AR      drivers/firmware/tegra/built-in.a
  CC      drivers/md/dm-table.o
  CC      drivers/acpi/acpica/tbfind.o
  CC      drivers/md/dm-target.o
  CC      drivers/net/ethernet/intel/e1000e/manage.o
  CC      drivers/hid/hid-belkin.o
  CC      lib/check_signature.o
  CC      drivers/acpi/acpi_processor.o
  CC      drivers/hid/hid-cherry.o
  CC      drivers/net/ethernet/intel/e1000e/nvm.o
  AR      drivers/usb/core/built-in.a
  CC      drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  CC      drivers/net/ethernet/intel/e1000e/phy.o
  CC      drivers/acpi/processor_core.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      lib/interval_tree.o
  AR      drivers/platform/x86/built-in.a
  AR      drivers/platform/surface/built-in.a
  AR      drivers/platform/built-in.a
  CC      lib/assoc_array.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      fs/nfs/nfs4trace.o
  CC      kernel/ksysfs.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  AR      drivers/nvmem/built-in.a
  CC      arch/x86/kernel/setup_percpu.o
  CC      drivers/net/ethernet/intel/e1000/e1000_param.o
  CC      drivers/md/dm-linear.o
  CC      net/ipv4/devinet.o
  CC      drivers/firmware/efi/libstub/randomalloc.o
  CC [M]  net/netfilter/xt_addrtype.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  CC      drivers/usb/host/xhci-dbg.o
  CC      net/mac80211/s1g.o
  CC      net/sunrpc/sysctl.o
  CC      mm/madvise.o
  CC      drivers/net/ethernet/intel/e1000e/param.o
  CC      drivers/hid/hid-chicony.o
  CC      drivers/hid/hid-cypress.o
  CC      drivers/hid/hid-ezkey.o
  CC      drivers/acpi/acpica/tbprint.o
  CC      drivers/acpi/processor_pdc.o
  AR      drivers/net/ethernet/microsoft/built-in.a
  AR      drivers/net/ethernet/litex/built-in.a
  AR      drivers/net/ethernet/marvell/octeon_ep/built-in.a
  AR      drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
  AR      drivers/net/ethernet/marvell/octeontx2/built-in.a
  AR      drivers/net/ethernet/marvell/prestera/built-in.a
  CC      drivers/net/ethernet/marvell/sky2.o
  CC      drivers/acpi/ec.o
  CC      drivers/acpi/dock.o
  CC      net/mac80211/ibss.o
  CC      drivers/cpufreq/amd-pstate-trace.o
  CC      drivers/cpufreq/intel_pstate.o
  CC      kernel/cred.o
  CC      kernel/reboot.o
  CC      drivers/net/ethernet/intel/e1000e/ethtool.o
  CC      drivers/hid/hid-gyration.o
  CC      drivers/usb/host/xhci-trace.o
  CC      lib/bitrev.o
  CC      arch/x86/kernel/mpparse.o
  CC      net/ipv6/mcast.o
  CC      drivers/net/ethernet/intel/e1000e/netdev.o
  CC      drivers/usb/host/xhci-debugfs.o
  CC      drivers/firmware/efi/libstub/pci.o
  CC      lib/crc-ccitt.o
  CC      lib/crc16.o
  CC      drivers/acpi/acpica/tbutils.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC      drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  CC      drivers/net/ethernet/intel/e1000e/ptp.o
  CC      drivers/hid/hid-ite.o
  CC      net/ipv4/af_inet.o
  AR      net/netfilter/built-in.a
  CC      drivers/hid/hid-kensington.o
  CC      net/ipv6/reassembly.o
  CC      drivers/md/dm-stripe.o
  CC      drivers/usb/host/xhci-pci.o
  CC      drivers/hid/hid-lg.o
  CC      drivers/hid/hid-lgff.o
  CC      drivers/acpi/acpica/tbxface.o
  HOSTCC  lib/gen_crc32table
  CC      kernel/async.o
  CC      drivers/md/dm-ioctl.o
  CC      drivers/gpu/drm/drm_client_modeset.o
  CC      drivers/md/dm-io.o
  AR      drivers/net/ethernet/mellanox/built-in.a
  AR      drivers/net/ethernet/meta/built-in.a
  AR      drivers/firmware/xilinx/built-in.a
  CC      drivers/hid/hid-lg4ff.o
  CC      drivers/firmware/dmi_scan.o
  CC      lib/xxhash.o
  CC      drivers/usb/storage/scsiglue.o
  AR      drivers/usb/misc/built-in.a
  CC      drivers/usb/early/ehci-dbgp.o
  CC      net/devres.o
  CC      net/socket.o
  CC      drivers/usb/storage/protocol.o
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC      drivers/acpi/acpica/tbxfload.o
  CC      kernel/range.o
  AR      drivers/net/ethernet/intel/e1000/built-in.a
  CC      drivers/firmware/efi/efi.o
  CC      drivers/hid/hid-lg-g15.o
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  CC      arch/x86/kernel/trace_clock.o
  CC      net/ipv4/igmp.o
  AR      drivers/net/ethernet/micrel/built-in.a
  CC      drivers/firmware/efi/libstub/alignedmem.o
  CC      mm/page_io.o
  CC      drivers/firmware/efi/libstub/relocate.o
  CC      drivers/hid/hid-microsoft.o
  CC      kernel/smpboot.o
  CC      net/ipv4/fib_frontend.o
  AR      net/sunrpc/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  CC      drivers/acpi/pci_root.o
  CC      drivers/gpu/drm/i915/gt/intel_context.o
  CC      lib/genalloc.o
  CC      arch/x86/kernel/trace.o
  CC      arch/x86/kernel/rethook.o
  CC      lib/percpu_counter.o
  CC      drivers/firmware/efi/vars.o
  CC      drivers/acpi/acpica/tbxfroot.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC      drivers/acpi/acpica/utaddress.o
  CC      drivers/hid/hid-monterey.o
  CC      kernel/ucount.o
  CC      drivers/gpu/drm/i915/gt/intel_context_sseu.o
  CC      drivers/usb/storage/transport.o
  CC      net/mac80211/iface.o
  CC      fs/nfs/nfs4sysctl.o
  CC      drivers/acpi/acpica/utalloc.o
  CC      drivers/firmware/efi/reboot.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_cs.o
  CC      net/ipv4/fib_semantics.o
  AR      drivers/usb/early/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC      drivers/hid/hid-ntrig.o
  CC      fs/readdir.o
  CC      drivers/firmware/efi/libstub/printk.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  CC      drivers/hid/hid-pl.o
  CC      net/mac80211/link.o
  CC      drivers/firmware/dmi-id.o
  CC      net/ipv4/fib_trie.o
  CC      kernel/regset.o
  CC      lib/audit.o
  CC      kernel/ksyms_common.o
  CC      fs/select.o
  CC      drivers/md/dm-kcopyd.o
  CC      arch/x86/kernel/vmcore_info_32.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_pm.o
  CC      drivers/firmware/memmap.o
  CC      drivers/hid/hid-petalynx.o
  AR      drivers/cpufreq/built-in.a
  CC      net/ipv4/fib_notifier.o
  CC      mm/swap_state.o
  CC      drivers/acpi/acpica/utascii.o
  CC      drivers/acpi/acpica/utbuffer.o
  CC      drivers/firmware/efi/memattr.o
  CC      drivers/acpi/pci_link.o
  CC      fs/dcache.o
  CC      drivers/acpi/acpica/utcksum.o
  CC      drivers/hid/hid-redragon.o
  CC      arch/x86/kernel/machine_kexec_32.o
  CC      net/ipv4/inet_fragment.o
  CC      drivers/gpu/drm/drm_color_mgmt.o
  AR      drivers/usb/host/built-in.a
  CC      drivers/gpu/drm/drm_connector.o
  CC      drivers/md/dm-sysfs.o
  CC      drivers/acpi/acpica/utcopy.o
  CC      lib/syscall.o
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC      lib/errname.o
  CC      net/ipv6/tcp_ipv6.o
  CC      drivers/acpi/pci_irq.o
  CC      lib/nlattr.o
  CC      kernel/groups.o
  CC      kernel/kcmp.o
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC      drivers/usb/storage/usb.o
  CC      drivers/usb/storage/initializers.o
  CC      drivers/acpi/acpica/utexcep.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_db_mgr.o
  CC      drivers/acpi/acpica/utdebug.o
  CC      net/ipv6/ping.o
  AR      fs/nfs/built-in.a
  CC      drivers/firmware/efi/libstub/smbios.o
  CC      fs/inode.o
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  CC      lib/cpu_rmap.o
  CC      drivers/hid/hid-samsung.o
  AR      drivers/net/ethernet/marvell/built-in.a
  CC      drivers/firmware/efi/tpm.o
  AR      drivers/net/ethernet/microchip/built-in.a
  CC      drivers/firmware/efi/memmap.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  CC      drivers/hid/hid-sony.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  CC      net/ipv6/exthdrs.o
  CC      net/mac80211/rate.o
  CC      drivers/md/dm-stats.o
  CC      net/ipv4/ping.o
  CC      fs/attr.o
  CC      drivers/acpi/acpica/utdecode.o
  CC      mm/swapfile.o
  CC      net/ipv4/ip_tunnel_core.o
  CC      drivers/firmware/efi/capsule.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_user.o
  CC      drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt.o
  AS      arch/x86/kernel/relocate_kernel_32.o
  CC      net/sysctl_net.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC      arch/x86/kernel/crash_dump_32.o
  CC      drivers/gpu/drm/drm_crtc.o
  CC      net/mac80211/michael.o
  CC      drivers/firmware/efi/esrt.o
  CC      net/mac80211/tkip.o
  AR      net/wireless/built-in.a
  CC      mm/swap_slots.o
  CC      kernel/freezer.o
  CC      net/ipv4/gre_offload.o
  CC      drivers/acpi/acpi_apd.o
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC      drivers/acpi/acpica/utdelete.o
  CC      lib/dynamic_queue_limits.o
  CC      drivers/usb/storage/sierra_ms.o
  CC      mm/dmapool.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  CC      drivers/acpi/acpi_platform.o
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  CC      drivers/acpi/acpica/uterror.o
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  AR      drivers/net/ethernet/mscc/built-in.a
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  AR      drivers/net/ethernet/myricom/built-in.a
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  AR      drivers/net/ethernet/natsemi/built-in.a
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  CC      arch/x86/kernel/crash.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  STUBCPY drivers/firmware/efi/libstub/smbios.stub.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  AR      drivers/net/ethernet/neterion/built-in.a
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  AR      drivers/net/ethernet/netronome/built-in.a
  AR      drivers/firmware/efi/libstub/lib.a
  CC      drivers/hid/hid-sunplus.o
  CC      net/mac80211/aes_cmac.o
  CC      drivers/gpu/drm/drm_displayid.o
  CC      net/mac80211/aes_gmac.o
  CC      net/ipv4/metrics.o
  CC      net/ipv4/netlink.o
  CC      drivers/usb/storage/option_ms.o
  CC      mm/hugetlb.o
  CC      drivers/acpi/acpica/uteval.o
  CC      drivers/acpi/acpi_pnp.o
  AR      drivers/net/ethernet/ni/built-in.a
  CC      fs/bad_inode.o
  CC      drivers/acpi/acpica/utglobal.o
  CC      drivers/net/ethernet/nvidia/forcedeth.o
  CC      fs/file.o
  CC      drivers/hid/hid-topseed.o
  CC      drivers/acpi/acpica/uthex.o
  CC      drivers/gpu/drm/i915/gt/intel_gt.o
  CC      drivers/gpu/drm/drm_drv.o
  CC      net/ipv4/nexthop.o
  AR      drivers/net/ethernet/intel/e1000e/built-in.a
  AR      drivers/net/ethernet/intel/built-in.a
  CC      mm/mmu_notifier.o
  AR      drivers/net/ethernet/oki-semi/built-in.a
  CC      drivers/acpi/power.o
  CC      drivers/acpi/event.o
  CC      drivers/gpu/drm/drm_dumb_buffers.o
  CC      drivers/acpi/evged.o
  CC      mm/migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC      drivers/gpu/drm/drm_edid.o
  CC      kernel/profile.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_id_mgr.o
  CC      drivers/usb/storage/usual-tables.o
  CC      drivers/firmware/efi/capsule-loader.o
  CC      net/ipv6/datagram.o
  CC      drivers/acpi/acpica/utids.o
  CC      lib/glob.o
  CC      drivers/md/dm-rq.o
  CC      drivers/firmware/efi/earlycon.o
  CC      arch/x86/kernel/module.o
  CC      drivers/md/dm-io-rewind.o
  CC      drivers/gpu/drm/drm_eld.o
  CC      net/mac80211/fils_aead.o
  CC      drivers/md/dm-builtin.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
  CC      net/ipv4/udp_tunnel_stub.o
  CC      drivers/gpu/drm/drm_encoder.o
  CC      drivers/gpu/drm/drm_file.o
  CC      net/mac80211/cfg.o
  CC      fs/filesystems.o
  CC      drivers/acpi/sysfs.o
  CC      lib/strncpy_from_user.o
  CC      drivers/acpi/property.o
  CC      drivers/acpi/debugfs.o
  AR      drivers/hid/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
  CC      drivers/acpi/acpica/utinit.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
  AR      drivers/usb/storage/built-in.a
  CC      net/mac80211/ethtool.o
  CC      net/mac80211/rx.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  AR      drivers/usb/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_klv_helpers.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  AR      drivers/net/ethernet/packetengines/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_irq.o
  AR      drivers/net/ethernet/qlogic/built-in.a
  CC      net/mac80211/spectmgmt.o
  CC      lib/strnlen_user.o
  CC      fs/namespace.o
  CC      mm/page_counter.o
  CC      drivers/acpi/acpica/utlock.o
  AR      drivers/net/ethernet/qualcomm/emac/built-in.a
  AR      drivers/net/ethernet/qualcomm/built-in.a
  CC      kernel/stacktrace.o
  CC      drivers/net/ethernet/realtek/8139too.o
  AR      drivers/net/ethernet/renesas/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  CC      arch/x86/kernel/doublefault_32.o
  CC      drivers/net/ethernet/realtek/r8169_main.o
  CC      lib/net_utils.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  AR      drivers/firmware/efi/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  AR      drivers/firmware/built-in.a
  CC      fs/seq_file.o
  CC      kernel/dma.o
  CC      arch/x86/kernel/early_printk.o
  CC      arch/x86/kernel/hpet.o
  CC      arch/x86/kernel/amd_nb.o
  CC      mm/hugetlb_cgroup.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC      mm/early_ioremap.o
  CC      drivers/md/dm-raid1.o
  CC      drivers/acpi/acpica/utmath.o
  CC      lib/sg_pool.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC      drivers/md/dm-log.o
  CC      drivers/gpu/drm/drm_fourcc.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm.o
  CC      drivers/gpu/drm/drm_framebuffer.o
  CC      fs/xattr.o
  CC      drivers/acpi/acpi_lpat.o
  CC      fs/libfs.o
  CC      net/ipv4/ip_tunnel.o
  CC      drivers/acpi/acpi_pcc.o
  AR      drivers/net/ethernet/rdc/built-in.a
  CC      drivers/acpi/ac.o
  CC      drivers/acpi/acpica/utmisc.o
  CC      net/mac80211/tx.o
  AR      drivers/net/ethernet/rocker/built-in.a
  CC      net/ipv6/ip6_flowlabel.o
  CC      kernel/smp.o
  CC      mm/secretmem.o
  CC      net/mac80211/key.o
  CC      arch/x86/kernel/kvm.o
  CC      net/ipv4/sysctl_net_ipv4.o
  CC      fs/fs-writeback.o
  CC      drivers/acpi/acpica/utmutex.o
  CC      kernel/uid16.o
  CC      drivers/acpi/acpica/utnonansi.o
  AR      drivers/net/ethernet/samsung/built-in.a
  AR      drivers/net/ethernet/seeq/built-in.a
  AR      drivers/net/ethernet/silan/built-in.a
  AR      drivers/net/ethernet/sis/built-in.a
  AR      drivers/net/ethernet/sfc/built-in.a
  CC      lib/stackdepot.o
  AR      drivers/net/ethernet/smsc/built-in.a
  CC      net/ipv4/proc.o
  CC      net/mac80211/util.o
  CC      arch/x86/kernel/kvmclock.o
  CC      lib/asn1_decoder.o
  CC      drivers/md/dm-region-hash.o
  CC      drivers/md/dm-zero.o
  CC      arch/x86/kernel/paravirt.o
  CC      drivers/acpi/button.o
  CC      drivers/acpi/fan_core.o
  CC      mm/hmm.o
  CC      fs/pnode.o
  GEN     lib/oid_registry_data.c
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC      lib/ucs2_string.o
  CC      arch/x86/kernel/pvclock.o
  CC      net/mac80211/parse.o
  CC      drivers/acpi/acpica/utobject.o
  CC      lib/sbitmap.o
  CC      fs/splice.o
  CC      fs/sync.o
  CC      drivers/acpi/fan_attr.o
  CC      drivers/acpi/fan_hwmon.o
  CC      lib/group_cpus.o
  AR      drivers/net/ethernet/socionext/built-in.a
  CC      drivers/net/ethernet/realtek/r8169_firmware.o
  AR      drivers/net/ethernet/stmicro/built-in.a
  CC      mm/memfd.o
  CC      mm/ptdump.o
  CC      lib/fw_table.o
  CC      net/mac80211/wme.o
  CC      drivers/gpu/drm/drm_gem.o
  CC      kernel/kallsyms.o
  CC      drivers/acpi/acpica/utosi.o
  AR      lib/lib.a
  AR      drivers/net/ethernet/sun/built-in.a
  CC      arch/x86/kernel/pcspeaker.o
  AR      drivers/net/ethernet/tehuti/built-in.a
  CC      arch/x86/kernel/check.o
  CC      drivers/acpi/acpi_video.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  AR      drivers/net/ethernet/ti/built-in.a
  CC      fs/utimes.o
  CC      kernel/acct.o
  CC      drivers/net/ethernet/realtek/r8169_phy_config.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  CC      kernel/vmcore_info.o
  CC      arch/x86/kernel/uprobes.o
  CC      fs/d_path.o
  AR      drivers/net/ethernet/nvidia/built-in.a
  AR      drivers/md/built-in.a
  CC      drivers/acpi/video_detect.o
  CC      kernel/elfcorehdr.o
  CC      mm/execmem.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC      kernel/crash_reserve.o
  CC      arch/x86/kernel/perf_regs.o
  CC      fs/stack.o
  CC      drivers/acpi/acpica/utownerid.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC      drivers/acpi/acpica/utpredef.o
  CC      net/ipv6/inet6_connection_sock.o
  GEN     lib/crc32table.h
  CC      fs/fs_struct.o
  CC      drivers/gpu/drm/drm_ioctl.o
  CC      drivers/gpu/drm/drm_lease.o
  CC      net/ipv4/fib_rules.o
  CC      fs/statfs.o
  CC      lib/oid_registry.o
  AR      drivers/net/ethernet/vertexcom/built-in.a
  CC      fs/fs_pin.o
  CC      net/ipv6/udp_offload.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC      net/ipv4/ipmr.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_requests.o
  CC      drivers/acpi/acpica/utresdecode.o
  AR      drivers/net/ethernet/via/built-in.a
  AR      drivers/net/ethernet/wangxun/built-in.a
  AR      drivers/net/ethernet/wiznet/built-in.a
  CC      net/ipv4/ipmr_base.o
  AR      drivers/net/ethernet/xilinx/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC      drivers/acpi/processor_driver.o
  CC      drivers/acpi/processor_thermal.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  AR      mm/built-in.a
  CC      net/mac80211/chan.o
  CC      drivers/gpu/drm/drm_managed.o
  CC      fs/nsfs.o
  CC      drivers/gpu/drm/drm_mm.o
  CC      fs/fs_types.o
  CC      lib/crc32.o
  CC      arch/x86/kernel/tracepoint.o
  CC      arch/x86/kernel/itmt.o
  CC      arch/x86/kernel/umip.o
  CC      fs/fs_context.o
  CC      drivers/acpi/acpica/utresrc.o
  CC      fs/fs_parser.o
  CC      fs/fsopen.o
  CC      fs/init.o
  CC      arch/x86/kernel/unwind_frame.o
  CC      kernel/kexec_core.o
  CC      drivers/acpi/processor_idle.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC      drivers/acpi/acpica/utstate.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  AR      drivers/net/ethernet/xircom/built-in.a
  AR      drivers/net/ethernet/realtek/built-in.a
  AR      drivers/net/ethernet/synopsys/built-in.a
  CC      net/mac80211/trace.o
  CC      kernel/crash_core.o
  AR      drivers/net/ethernet/pensando/built-in.a
  AR      drivers/net/ethernet/built-in.a
  CC      drivers/gpu/drm/drm_mode_config.o
  CC      net/mac80211/mlme.o
  CC      fs/kernel_read_file.o
  CC      drivers/acpi/processor_throttling.o
  CC      net/mac80211/tdls.o
  CC      drivers/gpu/drm/drm_mode_object.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  AR      drivers/net/built-in.a
  CC      drivers/acpi/processor_perflib.o
  CC      fs/mnt_idmapping.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC      drivers/acpi/container.o
  CC      kernel/kexec.o
  CC      drivers/acpi/thermal_lib.o
  CC      net/mac80211/ocb.o
  CC      net/ipv4/syncookies.o
  CC      drivers/acpi/acpica/utstring.o
  AR      lib/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC      fs/remap_range.o
  CC      drivers/gpu/drm/drm_modes.o
  CC      fs/pidfs.o
  CC      drivers/gpu/drm/drm_modeset_lock.o
  CC      drivers/gpu/drm/drm_plane.o
  CC      net/ipv6/seg6.o
  CC      drivers/gpu/drm/i915/gt/intel_gtt.o
  CC      net/ipv4/tunnel4.o
  CC      kernel/utsname.o
  CC      drivers/gpu/drm/i915/gt/intel_llc.o
  CC      fs/buffer.o
  AR      arch/x86/kernel/built-in.a
  CC      kernel/pid_namespace.o
  AR      arch/x86/built-in.a
  CC      fs/mpage.o
  CC      drivers/gpu/drm/i915/gt/intel_lrc.o
  CC      drivers/acpi/acpica/utstrsuppt.o
  CC      fs/proc_namespace.o
  CC      drivers/gpu/drm/i915/gt/intel_migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC      drivers/acpi/thermal.o
  CC      drivers/gpu/drm/i915/gt/intel_mocs.o
  CC      net/ipv4/ipconfig.o
  CC      kernel/stop_machine.o
  CC      fs/direct-io.o
  CC [M]  drivers/gpu/drm/xe/xe_oa.o
  CC      kernel/audit.o
  CC      drivers/gpu/drm/drm_prime.o
  CC      drivers/gpu/drm/i915/gt/intel_ppgtt.o
  CC      net/mac80211/airtime.o
  CC      drivers/acpi/nhlt.o
  CC      drivers/acpi/acpi_memhotplug.o
  CC      kernel/auditfilter.o
  CC      kernel/auditsc.o
  CC      drivers/acpi/acpica/utstrtoul64.o
  CC      net/mac80211/eht.o
  CC      drivers/gpu/drm/i915/gt/intel_rc6.o
  CC      drivers/gpu/drm/drm_print.o
  CC      drivers/acpi/ioapic.o
  CC      net/mac80211/led.o
  CC      fs/eventpoll.o
  CC      fs/anon_inodes.o
  CC      kernel/audit_watch.o
  CC      drivers/acpi/battery.o
  CC      drivers/acpi/acpica/utxface.o
  CC      drivers/acpi/acpica/utxfinit.o
  CC      fs/signalfd.o
  CC      drivers/gpu/drm/i915/gt/intel_region_lmem.o
  CC      net/ipv6/fib6_notifier.o
  CC      net/ipv6/rpl.o
  CC      net/mac80211/pm.o
  CC      net/ipv4/netfilter.o
  CC      net/mac80211/rc80211_minstrel_ht.o
  CC      net/ipv4/tcp_cubic.o
  CC      drivers/gpu/drm/drm_property.o
  CC      drivers/acpi/acpica/utxferror.o
  CC      net/ipv4/tcp_sigpool.o
  CC      drivers/gpu/drm/i915/gt/intel_renderstate.o
  CC      drivers/gpu/drm/drm_syncobj.o
  CC      net/ipv6/ioam6.o
  CC      fs/timerfd.o
  CC      drivers/gpu/drm/drm_sysfs.o
  CC      drivers/gpu/drm/drm_trace_points.o
  CC      drivers/acpi/acpica/utxfmutex.o
  CC      net/ipv4/cipso_ipv4.o
  CC      fs/eventfd.o
  CC      drivers/acpi/bgrt.o
  CC      drivers/acpi/spcr.o
  CC      fs/aio.o
  CC [M]  drivers/gpu/drm/xe/xe_observation.o
  CC      fs/locks.o
  CC      net/mac80211/wbrf.o
  CC      drivers/gpu/drm/i915/gt/intel_reset.o
  CC      drivers/gpu/drm/i915/gt/intel_ring.o
  AR      drivers/acpi/acpica/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_ring_submission.o
  CC      drivers/gpu/drm/i915/gt/intel_rps.o
  CC      drivers/gpu/drm/i915/gt/intel_sa_media.o
  CC      net/ipv4/xfrm4_policy.o
  CC      net/ipv4/xfrm4_state.o
  CC      fs/binfmt_misc.o
  CC      kernel/audit_fsnotify.o
  CC      drivers/gpu/drm/i915/gt/intel_sseu.o
  CC      kernel/audit_tree.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC      net/ipv6/xfrm6_policy.o
  CC      net/ipv6/xfrm6_state.o
  CC      drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC      kernel/kprobes.o
  CC      net/ipv4/xfrm4_input.o
  CC      net/ipv6/xfrm6_input.o
  CC      net/ipv4/xfrm4_output.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC      net/ipv4/xfrm4_protocol.o
  AR      drivers/acpi/built-in.a
  CC      net/ipv6/xfrm6_output.o
  CC      net/ipv6/xfrm6_protocol.o
  CC      drivers/gpu/drm/i915/gt/intel_timeline.o
  CC      fs/binfmt_script.o
  CC      drivers/gpu/drm/i915/gt/intel_tlb.o
  CC      drivers/gpu/drm/drm_vblank.o
  CC      kernel/seccomp.o
  CC      kernel/relay.o
  CC      kernel/utsname_sysctl.o
  CC      fs/binfmt_elf.o
  CC      fs/mbcache.o
  CC      drivers/gpu/drm/i915/gt/intel_wopcm.o
  CC      drivers/gpu/drm/i915/gt/intel_workarounds.o
  CC      fs/posix_acl.o
  CC      kernel/delayacct.o
  CC      drivers/gpu/drm/drm_vblank_work.o
  CC      drivers/gpu/drm/i915/gt/shmem_utils.o
  CC      drivers/gpu/drm/i915/gt/sysfs_engines.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  CC      kernel/taskstats.o
  CC      kernel/tsacct.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC      fs/coredump.o
  CC      fs/drop_caches.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC      net/ipv6/netfilter.o
  CC      net/ipv6/proc.o
  CC      net/ipv6/syncookies.o
  CC      kernel/tracepoint.o
  CC      drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC      net/ipv6/calipso.o
  CC      kernel/irq_work.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC      kernel/static_call.o
  CC      fs/sysctls.o
  CC      fs/fhandle.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC      kernel/padata.o
  CC      drivers/gpu/drm/i915/gt/gen7_renderstate.o
  AR      net/ipv4/built-in.a
  CC      drivers/gpu/drm/drm_vma_manager.o
  CC      drivers/gpu/drm/drm_writeback.o
  CC      net/ipv6/ah6.o
  CC      kernel/jump_label.o
  CC      net/ipv6/esp6.o
  CC      kernel/context_tracking.o
  CC      net/ipv6/sit.o
  CC      net/ipv6/addrconf_core.o
  CC      drivers/gpu/drm/i915/gt/gen8_renderstate.o
  CC      drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC      net/ipv6/exthdrs_core.o
  CC      net/ipv6/ip6_checksum.o
  CC      kernel/iomem.o
  CC      net/ipv6/ip6_icmp.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC      kernel/rseq.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_create.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC      drivers/gpu/drm/drm_panel.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_domain.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC      drivers/gpu/drm/drm_pci.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  CC      drivers/gpu/drm/drm_debugfs.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_lmem.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_mman.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC      drivers/gpu/drm/drm_debugfs_crc.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC      drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC      drivers/gpu/drm/drm_buddy.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC      net/ipv6/output_core.o
  CC      net/ipv6/protocol.o
  CC      net/ipv6/ip6_offload.o
  CC [M]  drivers/gpu/drm/xe/xe_trace_bo.o
  CC      net/ipv6/tcpv6_offload.o
  CC [M]  drivers/gpu/drm/xe/xe_trace_guc.o
  CC      net/ipv6/exthdrs_offload.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pages.o
  AR      fs/built-in.a
  CC      drivers/gpu/drm/drm_gem_shmem_helper.o
  CC      drivers/gpu/drm/drm_atomic_helper.o
  CC      net/ipv6/inet6_hashtables.o
  AR      kernel/built-in.a
  CC      net/ipv6/mcast_snoop.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC      drivers/gpu/drm/drm_atomic_state_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC      drivers/gpu/drm/drm_bridge_connector.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_phys.o
  CC      drivers/gpu/drm/drm_crtc_helper.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  CC      drivers/gpu/drm/drm_damage_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC      drivers/gpu/drm/drm_encoder_slave.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_tiling.o
  CC [M]  drivers/gpu/drm/xe/xe_vram.o
  CC [M]  drivers/gpu/drm/xe/xe_vram_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC      drivers/gpu/drm/drm_flip_work.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hmm.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_vf.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.o
  CC      drivers/gpu/drm/drm_format_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_relay.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC [M]  drivers/gpu/drm/xe/xe_memirq.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC      drivers/gpu/drm/drm_gem_atomic_helper.o
  CC      drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC      drivers/gpu/drm/drm_gem_framebuffer_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov.o
  CC      drivers/gpu/drm/i915/i915_active.o
  CC      drivers/gpu/drm/i915/i915_cmd_parser.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC      drivers/gpu/drm/i915/i915_deps.o
  CC      drivers/gpu/drm/drm_kms_helper_common.o
  CC      drivers/gpu/drm/drm_modeset_helper.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC      drivers/gpu/drm/i915/i915_gem.o
  CC      drivers/gpu/drm/drm_plane_helper.o
  CC      drivers/gpu/drm/drm_probe_helper.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC      drivers/gpu/drm/i915/i915_gem_evict.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC      drivers/gpu/drm/i915/i915_gem_gtt.o
  AR      net/ipv6/built-in.a
  CC [M]  drivers/gpu/drm/xe/display/xe_display_wa.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC      drivers/gpu/drm/i915/i915_gem_ww.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC      drivers/gpu/drm/i915/i915_query.o
  CC      drivers/gpu/drm/drm_rect.o
  CC      drivers/gpu/drm/i915/i915_request.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC      drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/xe/display/xe_tdf.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC      drivers/gpu/drm/drm_self_refresh_helper.o
  CC      drivers/gpu/drm/i915/i915_trace_points.o
  CC      drivers/gpu/drm/drm_simple_kms_helper.o
  CC      drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
  CC      drivers/gpu/drm/bridge/panel.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC      drivers/gpu/drm/i915/i915_vma.o
  CC      drivers/gpu/drm/i915/i915_vma_resource.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_alpm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
  CC [M]  drivers/gpu/drm/drm_exec.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/drm_gem_ttm_helper.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_driver.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_irq.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_params.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
  AR      net/mac80211/built-in.a
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.o
  AR      net/built-in.a
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC      drivers/gpu/drm/i915/gt/intel_gsc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC      drivers/gpu/drm/i915/i915_hwmon.o
  CC      drivers/gpu/drm/i915/display/hsw_ips.o
  CC      drivers/gpu/drm/i915/display/i9xx_plane.o
  LD [M]  drivers/gpu/drm/drm_ttm_helper.o
  CC      drivers/gpu/drm/i915/display/i9xx_wm.o
  CC      drivers/gpu/drm/i915/display/intel_alpm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC      drivers/gpu/drm/i915/display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC      drivers/gpu/drm/i915/display/intel_atomic_plane.o
  CC      drivers/gpu/drm/i915/display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC      drivers/gpu/drm/i915/display/intel_bios.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC      drivers/gpu/drm/i915/display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
  CC      drivers/gpu/drm/i915/display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC      drivers/gpu/drm/i915/display/intel_color.o
  CC      drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC      drivers/gpu/drm/i915/display/intel_connector.o
  CC      drivers/gpu/drm/i915/display/intel_crtc.o
  CC      drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
  CC      drivers/gpu/drm/i915/display/intel_cursor.o
  CC      drivers/gpu/drm/i915/display/intel_display.o
  CC      drivers/gpu/drm/i915/display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC      drivers/gpu/drm/i915/display/intel_display_irq.o
  CC      drivers/gpu/drm/i915/display/intel_display_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_display_power.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_encoder.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fb.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC      drivers/gpu/drm/i915/display/intel_display_reset.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC      drivers/gpu/drm/i915/display/intel_display_rps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC      drivers/gpu/drm/i915/display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_dmc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
  CC      drivers/gpu/drm/i915/display/intel_dmc_wl.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC      drivers/gpu/drm/i915/display/intel_dpio_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC      drivers/gpu/drm/i915/display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
  CC      drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC      drivers/gpu/drm/i915/display/intel_dpt.o
  CC      drivers/gpu/drm/i915/display/intel_dpt_common.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
  CC      drivers/gpu/drm/i915/display/intel_drrs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_panel.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC      drivers/gpu/drm/i915/display/intel_dsb.o
  CC      drivers/gpu/drm/i915/display/intel_dsb_buffer.o
  CC      drivers/gpu/drm/i915/display/intel_fb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC      drivers/gpu/drm/i915/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC      drivers/gpu/drm/i915/display/intel_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC      drivers/gpu/drm/i915/display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_tc.o
  CC      drivers/gpu/drm/i915/display/intel_fdi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vblank.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
  CC      drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC      drivers/gpu/drm/i915/display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC      drivers/gpu/drm/i915/display/intel_global_state.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug_irq.o
  CC      drivers/gpu/drm/i915/display/intel_hti.o
  CC      drivers/gpu/drm/i915/display/intel_link_bw.o
  CC      drivers/gpu/drm/i915/display/intel_load_detect.o
  CC      drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_lock.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_setup.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC      drivers/gpu/drm/i915/display/intel_overlay.o
  CC      drivers/gpu/drm/i915/display/intel_pch_display.o
  CC      drivers/gpu/drm/i915/display/intel_pch_refclk.o
  CC      drivers/gpu/drm/i915/display/intel_plane_initial.o
  CC      drivers/gpu/drm/i915/display/intel_pmdemand.o
  CC      drivers/gpu/drm/i915/display/intel_psr.o
  CC      drivers/gpu/drm/i915/display/intel_quirks.o
  CC      drivers/gpu/drm/i915/display/intel_sprite.o
  CC      drivers/gpu/drm/i915/display/intel_sprite_uapi.o
  CC      drivers/gpu/drm/i915/display/intel_tc.o
  CC      drivers/gpu/drm/i915/display/intel_vblank.o
  CC      drivers/gpu/drm/i915/display/intel_vga.o
  CC      drivers/gpu/drm/i915/display/intel_wm.o
  CC      drivers/gpu/drm/i915/display/skl_scaler.o
  CC      drivers/gpu/drm/i915/display/skl_universal_plane.o
  CC      drivers/gpu/drm/i915/display/skl_watermark.o
  CC      drivers/gpu/drm/i915/display/intel_acpi.o
  CC      drivers/gpu/drm/i915/display/intel_opregion.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
  CC      drivers/gpu/drm/i915/display/intel_pipe_crc.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7017.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  CC      drivers/gpu/drm/i915/display/dvo_ivch.o
  CC      drivers/gpu/drm/i915/display/dvo_ns2501.o
  CC      drivers/gpu/drm/i915/display/dvo_sil164.o
  CC      drivers/gpu/drm/i915/display/dvo_tfp410.o
  CC      drivers/gpu/drm/i915/display/g4x_dp.o
  CC      drivers/gpu/drm/i915/display/g4x_hdmi.o
  CC      drivers/gpu/drm/i915/display/icl_dsi.o
  CC      drivers/gpu/drm/i915/display/intel_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_crt.o
  CC      drivers/gpu/drm/i915/display/intel_cx0_phy.o
  CC      drivers/gpu/drm/i915/display/intel_ddi.o
  CC      drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
  CC      drivers/gpu/drm/i915/display/intel_display_device.o
  CC      drivers/gpu/drm/i915/display/intel_display_trace.o
  CC      drivers/gpu/drm/i915/display/intel_dkl_phy.o
  CC      drivers/gpu/drm/i915/display/intel_dp.o
  CC      drivers/gpu/drm/i915/display/intel_dp_aux.o
  CC      drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_dp_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_dp_link_training.o
  CC      drivers/gpu/drm/i915/display/intel_dp_mst.o
  CC      drivers/gpu/drm/i915/display/intel_dsi.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_vbt.o
  CC      drivers/gpu/drm/i915/display/intel_dvo.o
  CC      drivers/gpu/drm/i915/display/intel_encoder.o
  CC      drivers/gpu/drm/i915/display/intel_gmbus.o
  CC      drivers/gpu/drm/i915/display/intel_hdmi.o
  CC      drivers/gpu/drm/i915/display/intel_lspcon.o
  CC      drivers/gpu/drm/i915/display/intel_lvds.o
  CC      drivers/gpu/drm/i915/display/intel_panel.o
  CC      drivers/gpu/drm/i915/display/intel_pps.o
  CC      drivers/gpu/drm/i915/display/intel_qp_tables.o
  CC      drivers/gpu/drm/i915/display/intel_sdvo.o
  CC      drivers/gpu/drm/i915/display/intel_snps_phy.o
  CC      drivers/gpu/drm/i915/display/intel_tv.o
  CC      drivers/gpu/drm/i915/display/intel_vdsc.o
  CC      drivers/gpu/drm/i915/display/intel_vrr.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi_pll.o
  CC      drivers/gpu/drm/i915/i915_perf.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
  CC      drivers/gpu/drm/i915/i915_gpu_error.o
  CC      drivers/gpu/drm/i915/i915_vgpu.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  AR      drivers/gpu/drm/i915/built-in.a
  AR      drivers/gpu/drm/built-in.a
  AR      drivers/gpu/built-in.a
  AR      drivers/built-in.a
  AR      built-in.a
  AR      vmlinux.a
  LD      vmlinux.o
  OBJCOPY modules.builtin.modinfo
  GEN     modules.builtin
  MODPOST Module.symvers
  CC      .vmlinux.export.o
  CC [M]  fs/efivarfs/efivarfs.mod.o
  CC [M]  drivers/gpu/drm/drm_exec.mod.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.mod.o
  CC [M]  drivers/gpu/drm/drm_suballoc_helper.mod.o
  CC [M]  drivers/gpu/drm/drm_ttm_helper.mod.o
  CC [M]  drivers/gpu/drm/scheduler/gpu-sched.mod.o
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
  CC [M]  sound/core/snd-hwdep.mod.o
  CC [M]  sound/core/snd-pcm.mod.o
  CC [M]  sound/pci/hda/snd-hda-codec.mod.o
  CC [M]  sound/pci/hda/snd-hda-codec-hdmi.mod.o
  CC [M]  sound/pci/hda/snd-hda-intel.mod.o
  CC [M]  sound/hda/snd-hda-core.mod.o
  CC [M]  sound/hda/snd-intel-dspcfg.mod.o
  CC [M]  sound/hda/snd-intel-sdw-acpi.mod.o
  CC [M]  net/netfilter/nf_log_syslog.mod.o
  CC [M]  net/netfilter/xt_mark.mod.o
  CC [M]  net/netfilter/xt_nat.mod.o
  CC [M]  net/netfilter/xt_LOG.mod.o
  CC [M]  net/netfilter/xt_MASQUERADE.mod.o
  CC [M]  net/netfilter/xt_addrtype.mod.o
  CC [M]  net/ipv4/netfilter/iptable_nat.mod.o
  LD [M]  drivers/gpu/drm/drm_exec.ko
  LD [M]  fs/efivarfs/efivarfs.ko
  LD [M]  drivers/gpu/drm/drm_gpuvm.ko
  LD [M]  drivers/thermal/intel/x86_pkg_temp_thermal.ko
  LD [M]  drivers/gpu/drm/drm_ttm_helper.ko
  LD [M]  sound/hda/snd-intel-dspcfg.ko
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.ko
  LD [M]  sound/hda/snd-intel-sdw-acpi.ko
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.ko
  LD [M]  sound/pci/hda/snd-hda-codec.ko
  LD [M]  net/netfilter/nf_log_syslog.ko
  LD [M]  sound/core/snd-hwdep.ko
  LD [M]  sound/hda/snd-hda-core.ko
  LD [M]  net/netfilter/xt_nat.ko
  LD [M]  net/netfilter/xt_MASQUERADE.ko
  LD [M]  net/netfilter/xt_LOG.ko
  LD [M]  net/netfilter/xt_addrtype.ko
  LD [M]  net/ipv4/netfilter/iptable_nat.ko
  LD [M]  sound/pci/hda/snd-hda-intel.ko
  LD [M]  net/netfilter/xt_mark.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  sound/core/snd-pcm.ko
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.ko
  UPD     include/generated/utsversion.h
  CC      init/version-timestamp.o
  KSYMS   .tmp_vmlinux0.kallsyms.S
  AS      .tmp_vmlinux0.kallsyms.o
  LD      .tmp_vmlinux1
  NM      .tmp_vmlinux1.syms
  KSYMS   .tmp_vmlinux1.kallsyms.S
  AS      .tmp_vmlinux1.kallsyms.o
  LD      .tmp_vmlinux2
  NM      .tmp_vmlinux2.syms
  KSYMS   .tmp_vmlinux2.kallsyms.S
  AS      .tmp_vmlinux2.kallsyms.o
  LD      vmlinux
  NM      System.map
  SORTTAB vmlinux
  RELOCS  arch/x86/boot/compressed/vmlinux.relocs
  RSTRIP  vmlinux
  CC      arch/x86/boot/a20.o
  AS      arch/x86/boot/bioscall.o
  CC      arch/x86/boot/cmdline.o
  AS      arch/x86/boot/copy.o
  HOSTCC  arch/x86/boot/mkcpustr
  CC      arch/x86/boot/cpuflags.o
  CC      arch/x86/boot/cpucheck.o
  CC      arch/x86/boot/early_serial_console.o
  CC      arch/x86/boot/edd.o
  CC      arch/x86/boot/main.o
  CC      arch/x86/boot/memory.o
  CC      arch/x86/boot/pm.o
  AS      arch/x86/boot/pmjump.o
  CC      arch/x86/boot/printf.o
  CC      arch/x86/boot/regs.o
  CC      arch/x86/boot/string.o
  CC      arch/x86/boot/tty.o
  CC      arch/x86/boot/video.o
  CC      arch/x86/boot/video-mode.o
  CC      arch/x86/boot/version.o
  CC      arch/x86/boot/video-vga.o
  CC      arch/x86/boot/video-vesa.o
  CC      arch/x86/boot/video-bios.o
  HOSTCC  arch/x86/boot/tools/build
  CPUSTR  arch/x86/boot/cpustr.h
  CC      arch/x86/boot/cpu.o
  LDS     arch/x86/boot/compressed/vmlinux.lds
  AS      arch/x86/boot/compressed/kernel_info.o
  AS      arch/x86/boot/compressed/head_32.o
  VOFFSET arch/x86/boot/compressed/../voffset.h
  CC      arch/x86/boot/compressed/string.o
  CC      arch/x86/boot/compressed/cmdline.o
  CC      arch/x86/boot/compressed/error.o
  OBJCOPY arch/x86/boot/compressed/vmlinux.bin
  HOSTCC  arch/x86/boot/compressed/mkpiggy
  CC      arch/x86/boot/compressed/cpuflags.o
  CC      arch/x86/boot/compressed/early_serial_console.o
  CC      arch/x86/boot/compressed/kaslr.o
  CC      arch/x86/boot/compressed/acpi.o
  CC      arch/x86/boot/compressed/efi.o
  GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
  CC      arch/x86/boot/compressed/misc.o
  MKPIGGY arch/x86/boot/compressed/piggy.S
  AS      arch/x86/boot/compressed/piggy.o
  LD      arch/x86/boot/compressed/vmlinux
  ZOFFSET arch/x86/boot/zoffset.h
  OBJCOPY arch/x86/boot/vmlinux.bin
  AS      arch/x86/boot/header.o
  LD      arch/x86/boot/setup.elf
  OBJCOPY arch/x86/boot/setup.bin
  BUILD   arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready  (#1)
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
All hooks done



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

* ✗ CI.checksparse: warning for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (8 preceding siblings ...)
  2024-07-31 17:54 ` ✓ CI.Hooks: " Patchwork
@ 2024-07-31 17:55 ` Patchwork
  2024-07-31 18:14 ` ✓ CI.BAT: success " Patchwork
  2024-07-31 21:43 ` ✗ CI.FULL: failure " Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 17:55 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : warning

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast 91efc68883cbff0e7e453d1828c8e84d9959c458
Sparse version: 0.6.1 (Ubuntu: 0.6.1-2build1)
Fast mode used, each commit won't be checked separately.
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✓ CI.BAT: success for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (9 preceding siblings ...)
  2024-07-31 17:55 ` ✗ CI.checksparse: warning " Patchwork
@ 2024-07-31 18:14 ` Patchwork
  2024-07-31 21:43 ` ✗ CI.FULL: failure " Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 18:14 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : success

== Summary ==

CI Bug Log - changes from xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458_BAT -> xe-pw-136757v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (7 -> 7)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-136757v1_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@xe_gt_freq@freq_basic_api:
    - bat-adlp-7:         [PASS][1] -> [FAIL][2] ([Intel XE#2196])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/bat-adlp-7/igt@xe_gt_freq@freq_basic_api.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/bat-adlp-7/igt@xe_gt_freq@freq_basic_api.html

  
  [Intel XE#2196]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2196


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

  * Linux: xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458 -> xe-pw-136757v1

  IGT_7947: 6b46cef93ce2c2f821bfcaa3c3a111e1cf5c76fc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458: 91efc68883cbff0e7e453d1828c8e84d9959c458
  xe-pw-136757v1: 136757v1

== Logs ==

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

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

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

* ✗ CI.FULL: failure for drm/i915: struct intel_display conversions
  2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
                   ` (10 preceding siblings ...)
  2024-07-31 18:14 ` ✓ CI.BAT: success " Patchwork
@ 2024-07-31 21:43 ` Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-07-31 21:43 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915: struct intel_display conversions
URL   : https://patchwork.freedesktop.org/series/136757/
State : failure

== Summary ==

CI Bug Log - changes from xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458_full -> xe-pw-136757v1_full
====================================================

Summary
-------

  **FAILURE**

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

  

Participating hosts (3 -> 3)
------------------------------

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-136757v1_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_cursor_edge_walk@128x128-left-edge@pipe-c-edp-1:
    - shard-lnl:          [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-3/igt@kms_cursor_edge_walk@128x128-left-edge@pipe-c-edp-1.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_cursor_edge_walk@128x128-left-edge@pipe-c-edp-1.html

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

  Here are the changes found in xe-pw-136757v1_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@hotrebind:
    - shard-dg2-set2:     NOTRUN -> [ABORT][3] ([Intel XE#2421])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@core_hotunplug@hotrebind.html

  * igt@kms_3d:
    - shard-lnl:          NOTRUN -> [SKIP][4] ([Intel XE#1465])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_3d.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-dg2-set2:     NOTRUN -> [SKIP][5] ([Intel XE#1201] / [Intel XE#455])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_big_fb@linear-64bpp-rotate-270:
    - shard-lnl:          NOTRUN -> [SKIP][6] ([Intel XE#1407])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_big_fb@linear-64bpp-rotate-270.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-adlp:         NOTRUN -> [SKIP][7] ([Intel XE#1201] / [Intel XE#316]) +2 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-180:
    - shard-adlp:         NOTRUN -> [FAIL][8] ([Intel XE#1874])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-addfb:
    - shard-lnl:          NOTRUN -> [SKIP][9] ([Intel XE#1467])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_big_fb@y-tiled-addfb.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-adlp:         NOTRUN -> [FAIL][10] ([Intel XE#1231]) +2 other tests fail
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
    - shard-adlp:         NOTRUN -> [SKIP][11] ([Intel XE#1124] / [Intel XE#1201]) +2 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-adlp:         NOTRUN -> [SKIP][12] ([Intel XE#1201] / [Intel XE#619])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][13] ([Intel XE#1124] / [Intel XE#1201])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#1124])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][15] ([Intel XE#2191])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p:
    - shard-adlp:         NOTRUN -> [SKIP][16] ([Intel XE#1201] / [Intel XE#2191])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][17] ([Intel XE#1201] / [Intel XE#2191])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-4-displays-1920x1080p:
    - shard-adlp:         NOTRUN -> [SKIP][18] ([Intel XE#1201] / [Intel XE#367])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_bw@linear-tiling-4-displays-1920x1080p.html

  * igt@kms_bw@linear-tiling-4-displays-3840x2160p:
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#1512])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][20] ([Intel XE#1201] / [Intel XE#787]) +11 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][21] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +7 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][22] ([Intel XE#1399])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-lnl:          NOTRUN -> [SKIP][23] ([Intel XE#306])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_color@gamma:
    - shard-adlp:         NOTRUN -> [SKIP][24] ([Intel XE#1201] / [Intel XE#306]) +2 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_chamelium_color@gamma.html

  * igt@kms_chamelium_edid@dp-edid-read:
    - shard-adlp:         NOTRUN -> [SKIP][25] ([Intel XE#1201] / [Intel XE#373]) +2 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_chamelium_edid@dp-edid-read.html

  * igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k:
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#373]) +2 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html

  * igt@kms_content_protection@legacy:
    - shard-adlp:         NOTRUN -> [SKIP][27] ([Intel XE#1201] / [Intel XE#455]) +4 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@mei-interface:
    - shard-lnl:          NOTRUN -> [SKIP][28] ([Intel XE#1468])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_edge_walk@128x128-left-edge:
    - shard-lnl:          [PASS][29] -> [DMESG-WARN][30] ([Intel XE#2055])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-3/igt@kms_cursor_edge_walk@128x128-left-edge.html
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_cursor_edge_walk@128x128-left-edge.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-adlp:         NOTRUN -> [SKIP][31] ([Intel XE#1201] / [Intel XE#309]) +2 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
    - shard-lnl:          NOTRUN -> [SKIP][32] ([Intel XE#309])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-adlp:         NOTRUN -> [SKIP][33] ([Intel XE#1201] / [Intel XE#323])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_flip@2x-busy-flip:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#1421])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_flip@2x-busy-flip.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-adlp:         NOTRUN -> [SKIP][35] ([Intel XE#1201] / [Intel XE#310])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@bd-hdmi-a6-dp4:
    - shard-dg2-set2:     [PASS][36] -> [INCOMPLETE][37] ([Intel XE#1195])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-434/igt@kms_flip@2x-flip-vs-suspend-interruptible@bd-hdmi-a6-dp4.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_flip@2x-flip-vs-suspend-interruptible@bd-hdmi-a6-dp4.html

  * igt@kms_flip@flip-vs-blocking-wf-vblank:
    - shard-lnl:          [PASS][38] -> [FAIL][39] ([Intel XE#886]) +1 other test fail
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-3/igt@kms_flip@flip-vs-blocking-wf-vblank.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_flip@flip-vs-blocking-wf-vblank.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][40] ([Intel XE#1195] / [Intel XE#2049])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend@a-hdmi-a6:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][41] ([Intel XE#1195])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_flip@flip-vs-suspend@a-hdmi-a6.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][42] ([Intel XE#1401]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-adlp:         NOTRUN -> [DMESG-FAIL][43] ([Intel XE#324]) +1 other test dmesg-fail
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling:
    - shard-lnl:          NOTRUN -> [SKIP][44] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x:
    - shard-adlp:         [PASS][45] -> [FAIL][46] ([Intel XE#1874]) +3 other tests fail
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#651]) +4 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
    - shard-adlp:         NOTRUN -> [FAIL][48] ([Intel XE#1861])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][49] ([Intel XE#656]) +8 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-blt:
    - shard-adlp:         NOTRUN -> [SKIP][50] ([Intel XE#1201] / [Intel XE#651]) +5 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-pri-indfb-multidraw:
    - shard-dg2-set2:     NOTRUN -> [SKIP][51] ([Intel XE#1201] / [Intel XE#651]) +3 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][52] ([Intel XE#1201] / [Intel XE#653]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
    - shard-adlp:         NOTRUN -> [SKIP][53] ([Intel XE#1201] / [Intel XE#653]) +3 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt:
    - shard-adlp:         NOTRUN -> [SKIP][54] ([Intel XE#1201] / [Intel XE#656]) +12 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [FAIL][55] ([Intel XE#616]) +2 other tests fail
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-6.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [PASS][56] -> [DMESG-WARN][57] ([Intel XE#2019])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-466/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-6.html
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-466/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-6.html

  * igt@kms_plane@plane-position-covered:
    - shard-lnl:          NOTRUN -> [DMESG-FAIL][58] ([Intel XE#324]) +1 other test dmesg-fail
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_plane@plane-position-covered.html

  * igt@kms_plane@plane-position-covered@pipe-b-plane-1:
    - shard-lnl:          NOTRUN -> [DMESG-WARN][59] ([Intel XE#324])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_plane@plane-position-covered@pipe-b-plane-1.html

  * igt@kms_plane@plane-position-hole-dpms:
    - shard-lnl:          [PASS][60] -> [DMESG-WARN][61] ([Intel XE#324]) +1 other test dmesg-warn
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-3/igt@kms_plane@plane-position-hole-dpms.html
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-4/igt@kms_plane@plane-position-hole-dpms.html

  * igt@kms_plane_lowres@tiling-4@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][62] ([Intel XE#599]) +4 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_plane_lowres@tiling-4@pipe-b-edp-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][63] ([Intel XE#2318]) +3 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-edp-1.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-lnl:          NOTRUN -> [FAIL][64] ([Intel XE#718])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-8/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [PASS][65] -> [FAIL][66] ([Intel XE#1430])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-3/igt@kms_pm_dc@dc6-dpms.html
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-4/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-adlp:         NOTRUN -> [SKIP][67] ([Intel XE#1201] / [Intel XE#836])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf:
    - shard-adlp:         NOTRUN -> [SKIP][68] ([Intel XE#1201])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-psr-sprite-plane-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][69] ([Intel XE#1201] / [Intel XE#929])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_psr@fbc-psr-sprite-plane-onoff.html

  * igt@kms_psr@psr-basic:
    - shard-adlp:         NOTRUN -> [SKIP][70] ([Intel XE#1201] / [Intel XE#929]) +6 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_psr@psr-basic.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-270:
    - shard-adlp:         NOTRUN -> [SKIP][71] ([Intel XE#1201] / [Intel XE#327]) +1 other test skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html

  * igt@kms_universal_plane@cursor-fb-leak:
    - shard-dg2-set2:     [PASS][72] -> [FAIL][73] ([Intel XE#771] / [Intel XE#899])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_universal_plane@cursor-fb-leak.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_universal_plane@cursor-fb-leak.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [PASS][74] -> [FAIL][75] ([Intel XE#899]) +1 other test fail
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6.html

  * igt@kms_vrr@negative-basic:
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#1499] / [Intel XE#599])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@kms_vrr@negative-basic.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-adlp:         NOTRUN -> [SKIP][77] ([Intel XE#1201] / [Intel XE#756]) +1 other test skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@xe_copy_basic@mem-copy-linear-0x3fff:
    - shard-adlp:         NOTRUN -> [SKIP][78] ([Intel XE#1123] / [Intel XE#1201])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_copy_basic@mem-copy-linear-0x3fff.html

  * igt@xe_copy_basic@mem-set-linear-0xfffe:
    - shard-dg2-set2:     NOTRUN -> [SKIP][79] ([Intel XE#1126] / [Intel XE#1201])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0xfffe.html

  * igt@xe_evict@evict-beng-mixed-threads-large:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][80] ([Intel XE#1195] / [Intel XE#1473] / [Intel XE#392])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_evict@evict-beng-mixed-threads-large.html

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

  * igt@xe_evict@evict-beng-threads-large-multi-vm:
    - shard-adlp:         NOTRUN -> [SKIP][82] ([Intel XE#1201] / [Intel XE#261])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_evict@evict-beng-threads-large-multi-vm.html

  * igt@xe_evict@evict-cm-threads-large:
    - shard-dg2-set2:     [PASS][83] -> [TIMEOUT][84] ([Intel XE#1473] / [Intel XE#392])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-433/igt@xe_evict@evict-cm-threads-large.html
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-463/igt@xe_evict@evict-cm-threads-large.html

  * igt@xe_evict@evict-threads-small:
    - shard-adlp:         NOTRUN -> [SKIP][85] ([Intel XE#1201] / [Intel XE#261] / [Intel XE#688]) +2 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@xe_evict@evict-threads-small.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd:
    - shard-adlp:         NOTRUN -> [SKIP][86] ([Intel XE#1201] / [Intel XE#688])
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap:
    - shard-adlp:         NOTRUN -> [SKIP][87] ([Intel XE#1201] / [Intel XE#1392]) +3 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap.html

  * igt@xe_exec_basic@multigpu-no-exec-bindexecqueue:
    - shard-lnl:          NOTRUN -> [SKIP][88] ([Intel XE#1392])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue.html

  * igt@xe_exec_fault_mode@invalid-va:
    - shard-adlp:         NOTRUN -> [SKIP][89] ([Intel XE#1201] / [Intel XE#288]) +10 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_exec_fault_mode@invalid-va.html

  * igt@xe_exec_fault_mode@once-userptr-invalidate-race-imm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][90] ([Intel XE#1201] / [Intel XE#288])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_exec_fault_mode@once-userptr-invalidate-race-imm.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence:
    - shard-adlp:         NOTRUN -> [SKIP][91] ([Intel XE#1201] / [Intel XE#2360])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence.html

  * igt@xe_exec_threads@threads-bal-mixed-shared-vm-basic:
    - shard-dg2-set2:     [PASS][92] -> [INCOMPLETE][93] ([Intel XE#1169] / [Intel XE#1195] / [Intel XE#1356])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-463/igt@xe_exec_threads@threads-bal-mixed-shared-vm-basic.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@xe_exec_threads@threads-bal-mixed-shared-vm-basic.html

  * igt@xe_mmap@vram:
    - shard-adlp:         NOTRUN -> [SKIP][94] ([Intel XE#1008] / [Intel XE#1201])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@xe_mmap@vram.html

  * igt@xe_oa@invalid-remove-userspace-config:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#2419]) +2 other tests skip
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@xe_oa@invalid-remove-userspace-config.html

  * igt@xe_oa@mi-rpc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][96] ([Intel XE#1201] / [Intel XE#2419])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_oa@mi-rpc.html

  * igt@xe_oa@stress-open-close:
    - shard-adlp:         NOTRUN -> [SKIP][97] ([Intel XE#1201] / [Intel XE#2419]) +1 other test skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_oa@stress-open-close.html

  * igt@xe_pm@d3cold-mmap-system:
    - shard-adlp:         NOTRUN -> [SKIP][98] ([Intel XE#1201] / [Intel XE#2284] / [Intel XE#366])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@xe_pm@d3cold-mmap-system.html

  * igt@xe_pm@s4-mocs:
    - shard-lnl:          [PASS][99] -> [ABORT][100] ([Intel XE#1794])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-5/igt@xe_pm@s4-mocs.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-2/igt@xe_pm@s4-mocs.html

  * igt@xe_query@multigpu-query-invalid-extension:
    - shard-adlp:         NOTRUN -> [SKIP][101] ([Intel XE#1201] / [Intel XE#944])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@xe_query@multigpu-query-invalid-extension.html

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

  * igt@xe_vm@munmap-style-unbind-either-side-full:
    - shard-adlp:         [PASS][103] -> [DMESG-WARN][104] ([Intel XE#2226])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-4/igt@xe_vm@munmap-style-unbind-either-side-full.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@xe_vm@munmap-style-unbind-either-side-full.html

  
#### Possible fixes ####

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-lnl:          [FAIL][105] ([Intel XE#1659]) -> [PASS][106]
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
    - shard-lnl:          [INCOMPLETE][107] -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-6/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-8/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html

  * igt@kms_cursor_legacy@torture-move@pipe-a:
    - shard-adlp:         [DMESG-WARN][109] ([Intel XE#877]) -> [PASS][110] +1 other test pass
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-2/igt@kms_cursor_legacy@torture-move@pipe-a.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-9/igt@kms_cursor_legacy@torture-move@pipe-a.html

  * igt@kms_flip@blocking-wf_vblank:
    - shard-lnl:          [FAIL][111] ([Intel XE#886]) -> [PASS][112] +1 other test pass
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-2/igt@kms_flip@blocking-wf_vblank.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-6/igt@kms_flip@blocking-wf_vblank.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-x:
    - shard-adlp:         [FAIL][113] ([Intel XE#1874]) -> [PASS][114] +3 other tests pass
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-x.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-x.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-dp-4:
    - shard-dg2-set2:     [DMESG-WARN][115] ([Intel XE#2019]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-466/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-dp-4.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-466/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-dp-4.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling:
    - shard-dg2-set2:     [INCOMPLETE][117] -> [PASS][118] +1 other test pass
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling.html

  * igt@kms_properties@get_properties-sanity-atomic:
    - shard-adlp:         [DMESG-WARN][119] ([Intel XE#2226]) -> [PASS][120] +3 other tests pass
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-4/igt@kms_properties@get_properties-sanity-atomic.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-6/igt@kms_properties@get_properties-sanity-atomic.html

  * igt@kms_vblank@query-forked-hang:
    - shard-dg2-set2:     [INCOMPLETE][121] ([Intel XE#1195]) -> [PASS][122] +1 other test pass
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-463/igt@kms_vblank@query-forked-hang.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_vblank@query-forked-hang.html

  * igt@xe_evict@evict-beng-cm-threads-large:
    - shard-dg2-set2:     [TIMEOUT][123] ([Intel XE#1473] / [Intel XE#392]) -> [PASS][124] +1 other test pass
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@xe_evict@evict-beng-cm-threads-large.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_evict@evict-beng-cm-threads-large.html

  * igt@xe_gt_freq@freq_fixed_exec:
    - shard-dg2-set2:     [FAIL][125] ([Intel XE#2262]) -> [PASS][126]
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_gt_freq@freq_fixed_exec.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_gt_freq@freq_fixed_exec.html

  * igt@xe_pm@s2idle-exec-after:
    - shard-lnl:          [FAIL][127] ([Intel XE#1924] / [Intel XE#2028]) -> [PASS][128]
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-1/igt@xe_pm@s2idle-exec-after.html
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-3/igt@xe_pm@s2idle-exec-after.html

  * igt@xe_pm@s4-basic-exec:
    - shard-lnl:          [ABORT][129] ([Intel XE#1358] / [Intel XE#1794]) -> [PASS][130]
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-lnl-2/igt@xe_pm@s4-basic-exec.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-lnl-5/igt@xe_pm@s4-basic-exec.html

  * igt@xe_pm@s4-exec-after:
    - shard-adlp:         [ABORT][131] ([Intel XE#1358]) -> [PASS][132]
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-9/igt@xe_pm@s4-exec-after.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@xe_pm@s4-exec-after.html

  * igt@xe_pm@s4-vm-bind-unbind-all:
    - shard-adlp:         [ABORT][133] ([Intel XE#1794]) -> [PASS][134]
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-9/igt@xe_pm@s4-vm-bind-unbind-all.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@xe_pm@s4-vm-bind-unbind-all.html

  
#### Warnings ####

  * igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing:
    - shard-dg2-set2:     [SKIP][135] ([Intel XE#2423] / [i915#2575]) -> [SKIP][136] ([Intel XE#1201] / [Intel XE#2423] / [i915#2575]) +8 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][137] ([Intel XE#1201] / [Intel XE#316]) -> [SKIP][138] ([Intel XE#316]) +3 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][139] ([Intel XE#316]) -> [SKIP][140] ([Intel XE#1201] / [Intel XE#316]) +2 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         [FAIL][141] ([Intel XE#1204]) -> [DMESG-FAIL][142] ([Intel XE#324])
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-1/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-1/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-adlp:         [FAIL][143] ([Intel XE#1231]) -> [FAIL][144] ([Intel XE#1242])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-adlp-9/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-addfb:
    - shard-dg2-set2:     [SKIP][145] ([Intel XE#619]) -> [SKIP][146] ([Intel XE#1201] / [Intel XE#619])
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_big_fb@y-tiled-addfb.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_big_fb@y-tiled-addfb.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-dg2-set2:     [SKIP][147] ([Intel XE#610]) -> [SKIP][148] ([Intel XE#1201] / [Intel XE#610])
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][149] ([Intel XE#1124] / [Intel XE#1201]) -> [SKIP][150] ([Intel XE#1124]) +8 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_big_fb@yf-tiled-64bpp-rotate-90.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_big_fb@yf-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     [SKIP][151] ([Intel XE#1124]) -> [SKIP][152] ([Intel XE#1124] / [Intel XE#1201]) +2 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg2-set2:     [SKIP][153] -> [SKIP][154] ([Intel XE#1201]) +8 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_joiner@basic:
    - shard-dg2-set2:     [SKIP][155] ([Intel XE#346]) -> [SKIP][156] ([Intel XE#1201] / [Intel XE#346])
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_big_joiner@basic.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_big_joiner@basic.html

  * igt@kms_big_joiner@invalid-modeset:
    - shard-dg2-set2:     [SKIP][157] ([Intel XE#1201] / [Intel XE#346]) -> [SKIP][158] ([Intel XE#346])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_big_joiner@invalid-modeset.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_big_joiner@invalid-modeset.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
    - shard-dg2-set2:     [SKIP][159] ([Intel XE#367]) -> [SKIP][160] ([Intel XE#1201] / [Intel XE#367]) +2 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-4-displays-2160x1440p:
    - shard-dg2-set2:     [SKIP][161] ([Intel XE#1201] / [Intel XE#367]) -> [SKIP][162] ([Intel XE#367]) +2 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs:
    - shard-dg2-set2:     [SKIP][163] ([Intel XE#1252]) -> [SKIP][164] ([Intel XE#1201] / [Intel XE#1252])
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs:
    - shard-dg2-set2:     [SKIP][165] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) -> [SKIP][166] ([Intel XE#455] / [Intel XE#787]) +17 other tests skip
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][167] ([Intel XE#1201] / [Intel XE#787]) -> [SKIP][168] ([Intel XE#787]) +62 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     [SKIP][169] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][170] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +11 other tests skip
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-d-dp-4.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][171] ([Intel XE#787]) -> [SKIP][172] ([Intel XE#1201] / [Intel XE#787]) +41 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-6.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs:
    - shard-dg2-set2:     [SKIP][173] ([Intel XE#1201] / [Intel XE#1252]) -> [SKIP][174] ([Intel XE#1252])
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs.html

  * igt@kms_cdclk@mode-transition@pipe-c-dp-4:
    - shard-dg2-set2:     [SKIP][175] ([Intel XE#1201] / [Intel XE#314]) -> [SKIP][176] ([Intel XE#314]) +3 other tests skip
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_cdclk@mode-transition@pipe-c-dp-4.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_cdclk@mode-transition@pipe-c-dp-4.html

  * igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
    - shard-dg2-set2:     [SKIP][177] ([Intel XE#1152]) -> [SKIP][178] ([Intel XE#1152] / [Intel XE#1201]) +3 other tests skip
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html

  * igt@kms_chamelium_color@ctm-green-to-red:
    - shard-dg2-set2:     [SKIP][179] ([Intel XE#306]) -> [SKIP][180] ([Intel XE#1201] / [Intel XE#306]) +1 other test skip
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_chamelium_color@ctm-green-to-red.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_chamelium_color@ctm-green-to-red.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     [SKIP][181] ([Intel XE#1201] / [Intel XE#373]) -> [SKIP][182] ([Intel XE#373]) +6 other tests skip
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_chamelium_hpd@vga-hpd.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
    - shard-dg2-set2:     [SKIP][183] ([Intel XE#373]) -> [SKIP][184] ([Intel XE#1201] / [Intel XE#373]) +7 other tests skip
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-dg2-set2:     [SKIP][185] ([Intel XE#308]) -> [SKIP][186] ([Intel XE#1201] / [Intel XE#308])
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-dg2-set2:     [SKIP][187] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][188] ([Intel XE#455]) +15 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-max-size:
    - shard-dg2-set2:     [SKIP][189] ([Intel XE#455]) -> [SKIP][190] ([Intel XE#1201] / [Intel XE#455]) +13 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_cursor_crc@cursor-sliding-max-size.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_cursor_crc@cursor-sliding-max-size.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-dg2-set2:     [SKIP][191] ([Intel XE#1201] / [Intel XE#323]) -> [SKIP][192] ([Intel XE#323])
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_display_modes@mst-extended-mode-negative:
    - shard-dg2-set2:     [SKIP][193] ([Intel XE#307]) -> [SKIP][194] ([Intel XE#1201] / [Intel XE#307])
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_display_modes@mst-extended-mode-negative.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_display_modes@mst-extended-mode-negative.html

  * igt@kms_feature_discovery@psr1:
    - shard-dg2-set2:     [SKIP][195] ([Intel XE#1135] / [Intel XE#1201]) -> [SKIP][196] ([Intel XE#1135])
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_feature_discovery@psr1.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-dg2-set2:     [DMESG-WARN][197] ([Intel XE#2019]) -> [INCOMPLETE][198] ([Intel XE#1195] / [Intel XE#2019])
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-434/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@drrs-suspend:
    - shard-dg2-set2:     [SKIP][199] ([Intel XE#1201] / [Intel XE#651]) -> [SKIP][200] ([Intel XE#651]) +20 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-suspend.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_frontbuffer_tracking@drrs-suspend.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt:
    - shard-dg2-set2:     [SKIP][201] ([Intel XE#651]) -> [SKIP][202] ([Intel XE#1201] / [Intel XE#651]) +17 other tests skip
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
    - shard-dg2-set2:     [SKIP][203] ([Intel XE#658]) -> [SKIP][204] ([Intel XE#1201] / [Intel XE#658])
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html

  * igt@kms_frontbuffer_tracking@plane-fbc-rte:
    - shard-dg2-set2:     [SKIP][205] ([Intel XE#1158] / [Intel XE#1201]) -> [SKIP][206] ([Intel XE#1158])
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_frontbuffer_tracking@plane-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-slowdraw:
    - shard-dg2-set2:     [SKIP][207] ([Intel XE#653]) -> [SKIP][208] ([Intel XE#1201] / [Intel XE#653]) +23 other tests skip
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-slowdraw.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-slowdraw.html

  * igt@kms_frontbuffer_tracking@psr-suspend:
    - shard-dg2-set2:     [SKIP][209] ([Intel XE#1201] / [Intel XE#653]) -> [SKIP][210] ([Intel XE#653]) +24 other tests skip
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_frontbuffer_tracking@psr-suspend.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-suspend.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25:
    - shard-dg2-set2:     [SKIP][211] ([Intel XE#2318] / [Intel XE#455]) -> [SKIP][212] ([Intel XE#1201] / [Intel XE#2318] / [Intel XE#455]) +3 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][213] ([Intel XE#2318]) -> [SKIP][214] ([Intel XE#1201] / [Intel XE#2318]) +5 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c-hdmi-a-6.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c-hdmi-a-6.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][215] ([Intel XE#1201] / [Intel XE#2318]) -> [SKIP][216] ([Intel XE#2318]) +2 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-6.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-6.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][217] ([Intel XE#1201] / [Intel XE#2318] / [Intel XE#455]) -> [SKIP][218] ([Intel XE#2318] / [Intel XE#455]) +1 other test skip
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-hdmi-a-6.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d-hdmi-a-6.html

  * igt@kms_pm_backlight@fade:
    - shard-dg2-set2:     [SKIP][219] ([Intel XE#870]) -> [SKIP][220] ([Intel XE#1201] / [Intel XE#870]) +1 other test skip
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_pm_backlight@fade.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-dg2-set2:     [SKIP][221] ([Intel XE#1201] / [Intel XE#908]) -> [SKIP][222] ([Intel XE#908])
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_pm_dc@dc6-dpms.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-dg2-set2:     [SKIP][223] ([Intel XE#1129] / [Intel XE#1201]) -> [SKIP][224] ([Intel XE#1129])
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_pm_dc@dc6-psr.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-set2:     [SKIP][225] ([Intel XE#1201] / [Intel XE#1489]) -> [SKIP][226] ([Intel XE#1489]) +2 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
    - shard-dg2-set2:     [SKIP][227] ([Intel XE#1489]) -> [SKIP][228] ([Intel XE#1201] / [Intel XE#1489]) +2 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr@fbc-psr2-cursor-plane-onoff:
    - shard-dg2-set2:     [SKIP][229] ([Intel XE#929]) -> [SKIP][230] ([Intel XE#1201] / [Intel XE#929]) +11 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html

  * igt@kms_psr@psr-dpms:
    - shard-dg2-set2:     [SKIP][231] ([Intel XE#2351]) -> [SKIP][232] ([Intel XE#1201] / [Intel XE#2351]) +3 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_psr@psr-dpms.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_psr@psr-dpms.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - shard-dg2-set2:     [SKIP][233] ([Intel XE#1201] / [Intel XE#929]) -> [SKIP][234] ([Intel XE#929]) +9 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@kms_psr@psr-sprite-plane-onoff.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-dg2-set2:     [SKIP][235] ([Intel XE#1149] / [Intel XE#1201]) -> [SKIP][236] ([Intel XE#1149]) +1 other test skip
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-dg2-set2:     [SKIP][237] ([Intel XE#1127] / [Intel XE#1201]) -> [SKIP][238] ([Intel XE#1127])
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     [SKIP][239] ([Intel XE#1201] / [Intel XE#327]) -> [SKIP][240] ([Intel XE#327]) +2 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-dg2-set2:     [SKIP][241] ([Intel XE#1127]) -> [SKIP][242] ([Intel XE#1127] / [Intel XE#1201])
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-dg2-set2:     [SKIP][243] ([Intel XE#756]) -> [SKIP][244] ([Intel XE#1201] / [Intel XE#756])
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@kms_writeback@writeback-fb-id.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@kms_writeback@writeback-fb-id.html

  * igt@xe_copy_basic@mem-copy-linear-0xfd:
    - shard-dg2-set2:     [SKIP][245] ([Intel XE#1123] / [Intel XE#1201]) -> [SKIP][246] ([Intel XE#1123])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@xe_copy_basic@mem-copy-linear-0xfd.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_copy_basic@mem-copy-linear-0xfd.html

  * igt@xe_copy_basic@mem-copy-linear-0xfffe:
    - shard-dg2-set2:     [SKIP][247] ([Intel XE#1123]) -> [SKIP][248] ([Intel XE#1123] / [Intel XE#1201])
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_copy_basic@mem-copy-linear-0xfffe.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-436/igt@xe_copy_basic@mem-copy-linear-0xfffe.html

  * igt@xe_copy_basic@mem-set-linear-0xfd:
    - shard-dg2-set2:     [SKIP][249] ([Intel XE#1126] / [Intel XE#1201]) -> [SKIP][250] ([Intel XE#1126]) +1 other test skip
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@xe_copy_basic@mem-set-linear-0xfd.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0xfd.html

  * igt@xe_exec_fault_mode@many-bindexecqueue-rebind:
    - shard-dg2-set2:     [SKIP][251] ([Intel XE#1201] / [Intel XE#288]) -> [SKIP][252] ([Intel XE#288]) +18 other tests skip
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@xe_exec_fault_mode@many-bindexecqueue-rebind.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_exec_fault_mode@many-bindexecqueue-rebind.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
    - shard-dg2-set2:     [SKIP][253] ([Intel XE#288]) -> [SKIP][254] ([Intel XE#1201] / [Intel XE#288]) +17 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html

  * igt@xe_mmap@small-bar:
    - shard-dg2-set2:     [SKIP][255] ([Intel XE#512]) -> [SKIP][256] ([Intel XE#1201] / [Intel XE#512])
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_mmap@small-bar.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_mmap@small-bar.html

  * igt@xe_oa@invalid-remove-userspace-config:
    - shard-dg2-set2:     [SKIP][257] ([Intel XE#2419]) -> [SKIP][258] ([Intel XE#1201] / [Intel XE#2419]) +3 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_oa@invalid-remove-userspace-config.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_oa@invalid-remove-userspace-config.html

  * igt@xe_oa@oa-unit-exclusive-stream-sample-oa:
    - shard-dg2-set2:     [SKIP][259] ([Intel XE#1201] / [Intel XE#2419]) -> [SKIP][260] ([Intel XE#2419]) +3 other tests skip
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-435/igt@xe_oa@oa-unit-exclusive-stream-sample-oa.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_oa@oa-unit-exclusive-stream-sample-oa.html

  * igt@xe_pm@d3cold-basic:
    - shard-dg2-set2:     [SKIP][261] ([Intel XE#1201] / [Intel XE#2284] / [Intel XE#366]) -> [SKIP][262] ([Intel XE#2284] / [Intel XE#366])
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@xe_pm@d3cold-basic.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_pm@d3cold-basic.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-dg2-set2:     [SKIP][263] ([Intel XE#2284] / [Intel XE#366]) -> [SKIP][264] ([Intel XE#1201] / [Intel XE#2284] / [Intel XE#366])
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_pm@s2idle-d3cold-basic-exec.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-dg2-set2:     [SKIP][265] ([Intel XE#1201] / [Intel XE#579]) -> [SKIP][266] ([Intel XE#579])
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@xe_pm@vram-d3cold-threshold.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_query@multigpu-query-invalid-size:
    - shard-dg2-set2:     [SKIP][267] ([Intel XE#1201] / [Intel XE#944]) -> [SKIP][268] ([Intel XE#944])
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-436/igt@xe_query@multigpu-query-invalid-size.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-432/igt@xe_query@multigpu-query-invalid-size.html

  * igt@xe_query@multigpu-query-mem-usage:
    - shard-dg2-set2:     [SKIP][269] ([Intel XE#944]) -> [SKIP][270] ([Intel XE#1201] / [Intel XE#944]) +1 other test skip
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_query@multigpu-query-mem-usage.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-434/igt@xe_query@multigpu-query-mem-usage.html

  * igt@xe_vm@large-binds-8388608:
    - shard-dg2-set2:     [SKIP][271] ([Intel XE#1130]) -> [SKIP][272] ([Intel XE#1130] / [Intel XE#1201]) +20 other tests skip
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458/shard-dg2-432/igt@xe_vm@large-binds-8388608.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-136757v1/shard-dg2-433/igt@xe_vm@large-binds-8388608.html

  
  [Intel XE#1008]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1008
  [Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1130
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1149
  [Intel XE#1152]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1152
  [Intel XE#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158
  [Intel XE#1169]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1169
  [Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
  [Intel XE#1201]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1201
  [Intel XE#1204]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1204
  [Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231
  [Intel XE#1242]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1242
  [Intel XE#1252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1252
  [Intel XE#1356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1356
  [Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1399
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430
  [Intel XE#1465]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1465
  [Intel XE#1467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1467
  [Intel XE#1468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1468
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
  [Intel XE#1659]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1659
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#1861]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1861
  [Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
  [Intel XE#1924]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1924
  [Intel XE#2019]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2019
  [Intel XE#2028]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2028
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2055]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2055
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2226]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2226
  [Intel XE#2262]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2262
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2318]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2318
  [Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2419]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2419
  [Intel XE#2421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2421
  [Intel XE#2423]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2423
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
  [Intel XE#327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/327
  [Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/392
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [Intel XE#771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/771
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
  [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
  [Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
  [Intel XE#908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/908
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575


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

  * Linux: xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458 -> xe-pw-136757v1

  IGT_7947: 6b46cef93ce2c2f821bfcaa3c3a111e1cf5c76fc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-1697-91efc68883cbff0e7e453d1828c8e84d9959c458: 91efc68883cbff0e7e453d1828c8e84d9959c458
  xe-pw-136757v1: 136757v1

== Logs ==

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

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

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

* Re: [PATCH 3/4] drm/i915/opregion: convert to struct intel_display
  2024-07-31 16:44 ` [PATCH 3/4] drm/i915/opregion: convert to struct intel_display Jani Nikula
@ 2024-08-02 10:07   ` kernel test robot
  2024-08-06 14:37   ` Imre Deak
  1 sibling, 0 replies; 18+ messages in thread
From: kernel test robot @ 2024-08-02 10:07 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx, intel-xe; +Cc: oe-kbuild-all, jani.nikula

Hi Jani,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip next-20240802]
[cannot apply to drm-intel/for-linux-next-fixes drm-xe/drm-xe-next linus/master v6.11-rc1]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/drm-i915-acpi-convert-to-struct-intel_display/20240802-080825
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
patch link:    https://lore.kernel.org/r/8a71cea4f260a992200c76480c5358b72a7f9187.1722444150.git.jani.nikula%40intel.com
patch subject: [PATCH 3/4] drm/i915/opregion: convert to struct intel_display
config: i386-buildonly-randconfig-004-20240802 (https://download.01.org/0day-ci/archive/20240802/202408021709.1eljj3eQ-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240802/202408021709.1eljj3eQ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408021709.1eljj3eQ-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/display/intel_bios.c: In function 'opregion_get_panel_type':
>> drivers/gpu/drm/i915/display/intel_bios.c:626:46: error: passing argument 1 of 'intel_opregion_get_panel_type' from incompatible pointer type [-Werror=incompatible-pointer-types]
     626 |         return intel_opregion_get_panel_type(display);
         |                                              ^~~~~~~
         |                                              |
         |                                              struct intel_display *
   In file included from drivers/gpu/drm/i915/display/intel_display_core.h:28,
                    from drivers/gpu/drm/i915/i915_drv.h:40,
                    from drivers/gpu/drm/i915/display/intel_bios.c:34:
   drivers/gpu/drm/i915/display/intel_opregion.h:112:74: note: expected 'struct drm_i915_private *' but argument is of type 'struct intel_display *'
     112 | static inline int intel_opregion_get_panel_type(struct drm_i915_private *dev)
         |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   cc1: some warnings being treated as errors
--
   drivers/gpu/drm/i915/i915_driver.c: In function 'intel_runtime_suspend':
>> drivers/gpu/drm/i915/i915_driver.c:1536:47: error: passing argument 1 of 'intel_opregion_notify_adapter' from incompatible pointer type [-Werror=incompatible-pointer-types]
    1536 |                 intel_opregion_notify_adapter(display, PCI_D3hot);
         |                                               ^~~~~~~
         |                                               |
         |                                               struct intel_display *
   In file included from drivers/gpu/drm/i915/display/intel_display_core.h:28,
                    from drivers/gpu/drm/i915/i915_drv.h:40,
                    from drivers/gpu/drm/i915/gt/intel_context.h:14,
                    from drivers/gpu/drm/i915/gem/i915_gem_context.h:12,
                    from drivers/gpu/drm/i915/i915_driver.c:67:
   drivers/gpu/drm/i915/display/intel_opregion.h:107:56: note: expected 'struct drm_i915_private *' but argument is of type 'struct intel_display *'
     107 | intel_opregion_notify_adapter(struct drm_i915_private *dev, pci_power_t state)
         |                               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   drivers/gpu/drm/i915/i915_driver.c:1545:47: error: passing argument 1 of 'intel_opregion_notify_adapter' from incompatible pointer type [-Werror=incompatible-pointer-types]
    1545 |                 intel_opregion_notify_adapter(display, PCI_D1);
         |                                               ^~~~~~~
         |                                               |
         |                                               struct intel_display *
   drivers/gpu/drm/i915/display/intel_opregion.h:107:56: note: expected 'struct drm_i915_private *' but argument is of type 'struct intel_display *'
     107 | intel_opregion_notify_adapter(struct drm_i915_private *dev, pci_power_t state)
         |                               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   drivers/gpu/drm/i915/i915_driver.c: In function 'intel_runtime_resume':
   drivers/gpu/drm/i915/i915_driver.c:1575:39: error: passing argument 1 of 'intel_opregion_notify_adapter' from incompatible pointer type [-Werror=incompatible-pointer-types]
    1575 |         intel_opregion_notify_adapter(display, PCI_D0);
         |                                       ^~~~~~~
         |                                       |
         |                                       struct intel_display *
   drivers/gpu/drm/i915/display/intel_opregion.h:107:56: note: expected 'struct drm_i915_private *' but argument is of type 'struct intel_display *'
     107 | intel_opregion_notify_adapter(struct drm_i915_private *dev, pci_power_t state)
         |                               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   cc1: some warnings being treated as errors


vim +/intel_opregion_get_panel_type +626 drivers/gpu/drm/i915/display/intel_bios.c

   619	
   620	static int opregion_get_panel_type(struct drm_i915_private *i915,
   621					   const struct intel_bios_encoder_data *devdata,
   622					   const struct drm_edid *drm_edid, bool use_fallback)
   623	{
   624		struct intel_display *display = &i915->display;
   625	
 > 626		return intel_opregion_get_panel_type(display);
   627	}
   628	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH 1/4] drm/i915/acpi: convert to struct intel_display
  2024-07-31 16:44 ` [PATCH 1/4] drm/i915/acpi: convert to struct intel_display Jani Nikula
@ 2024-08-06 13:51   ` Imre Deak
  0 siblings, 0 replies; 18+ messages in thread
From: Imre Deak @ 2024-08-06 13:51 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, intel-xe

On Wed, Jul 31, 2024 at 07:44:33PM +0300, Jani Nikula wrote:
> Going forward, struct intel_display shall replace struct
> drm_i915_private as the main display device data pointer type. Convert
> intel_acpi.[ch] to struct intel_display.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Imre Deak <imre.deak@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_acpi.c      | 17 ++++++++---------
>  drivers/gpu/drm/i915/display/intel_acpi.h      | 18 +++++++++---------
>  .../drm/i915/display/intel_display_driver.c    |  8 +++++---
>  drivers/gpu/drm/i915/display/intel_opregion.c  | 10 ++++++----
>  4 files changed, 28 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c
> index 0aa3999374e2..c3b29a331d72 100644
> --- a/drivers/gpu/drm/i915/display/intel_acpi.c
> +++ b/drivers/gpu/drm/i915/display/intel_acpi.c
> @@ -183,9 +183,9 @@ void intel_unregister_dsm_handler(void)
>  {
>  }
>  
> -void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
> +void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display)
>  {
> -	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> +	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
>  	acpi_handle dhandle;
>  	union acpi_object *obj;
>  
> @@ -263,15 +263,14 @@ static u32 acpi_display_type(struct intel_connector *connector)
>  	return display_type;
>  }
>  
> -void intel_acpi_device_id_update(struct drm_i915_private *dev_priv)
> +void intel_acpi_device_id_update(struct intel_display *display)
>  {
> -	struct drm_device *drm_dev = &dev_priv->drm;
>  	struct intel_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	u8 display_index[16] = {};
>  
>  	/* Populate the ACPI IDs for all connectors for a given drm_device */
> -	drm_connector_list_iter_begin(drm_dev, &conn_iter);
> +	drm_connector_list_iter_begin(display->drm, &conn_iter);
>  	for_each_intel_connector_iter(connector, &conn_iter) {
>  		u32 device_id, type;
>  
> @@ -288,10 +287,10 @@ void intel_acpi_device_id_update(struct drm_i915_private *dev_priv)
>  }
>  
>  /* NOTE: The connector order must be final before this is called. */
> -void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915)
> +void intel_acpi_assign_connector_fwnodes(struct intel_display *display)
>  {
> +	struct drm_device *drm_dev = display->drm;
>  	struct drm_connector_list_iter conn_iter;
> -	struct drm_device *drm_dev = &i915->drm;
>  	struct fwnode_handle *fwnode = NULL;
>  	struct drm_connector *connector;
>  	struct acpi_device *adev;
> @@ -333,7 +332,7 @@ void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915)
>  	fwnode_handle_put(fwnode);
>  }
>  
> -void intel_acpi_video_register(struct drm_i915_private *i915)
> +void intel_acpi_video_register(struct intel_display *display)
>  {
>  	struct drm_connector_list_iter conn_iter;
>  	struct drm_connector *connector;
> @@ -347,7 +346,7 @@ void intel_acpi_video_register(struct drm_i915_private *i915)
>  	 * a native backlight later and acpi_video_register_backlight() should
>  	 * only be called after any native backlights have been registered.
>  	 */
> -	drm_connector_list_iter_begin(&i915->drm, &conn_iter);
> +	drm_connector_list_iter_begin(display->drm, &conn_iter);
>  	drm_for_each_connector_iter(connector, &conn_iter) {
>  		struct intel_panel *panel = &to_intel_connector(connector)->panel;
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_acpi.h b/drivers/gpu/drm/i915/display/intel_acpi.h
> index 6a0007452f95..788a63071661 100644
> --- a/drivers/gpu/drm/i915/display/intel_acpi.h
> +++ b/drivers/gpu/drm/i915/display/intel_acpi.h
> @@ -6,26 +6,26 @@
>  #ifndef __INTEL_ACPI_H__
>  #define __INTEL_ACPI_H__
>  
> -struct drm_i915_private;
> +struct intel_display;
>  
>  #ifdef CONFIG_ACPI
>  void intel_register_dsm_handler(void);
>  void intel_unregister_dsm_handler(void);
> -void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915);
> -void intel_acpi_device_id_update(struct drm_i915_private *i915);
> -void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915);
> -void intel_acpi_video_register(struct drm_i915_private *i915);
> +void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display);
> +void intel_acpi_device_id_update(struct intel_display *display);
> +void intel_acpi_assign_connector_fwnodes(struct intel_display *display);
> +void intel_acpi_video_register(struct intel_display *display);
>  #else
>  static inline void intel_register_dsm_handler(void) { return; }
>  static inline void intel_unregister_dsm_handler(void) { return; }
>  static inline
> -void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915) { return; }
> +void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display) { return; }
>  static inline
> -void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; }
> +void intel_acpi_device_id_update(struct intel_display *display) { return; }
>  static inline
> -void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915) { return; }
> +void intel_acpi_assign_connector_fwnodes(struct intel_display *display) { return; }
>  static inline
> -void intel_acpi_video_register(struct drm_i915_private *i915) { return; }
> +void intel_acpi_video_register(struct intel_display *display) { return; }
>  #endif /* CONFIG_ACPI */
>  
>  #endif /* __INTEL_ACPI_H__ */
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index 13e206ec450f..392c10359a52 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -416,7 +416,8 @@ bool intel_display_driver_check_access(struct drm_i915_private *i915)
>  /* part #2: call after irq install, but before gem init */
>  int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
>  {
> -	struct drm_device *dev = &i915->drm;
> +	struct intel_display *display = &i915->display;
> +	struct drm_device *dev = display->drm;
>  	enum pipe pipe;
>  	int ret;
>  
> @@ -466,7 +467,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
>  
>  	drm_modeset_lock_all(dev);
>  	intel_modeset_setup_hw_state(i915, dev->mode_config.acquire_ctx);
> -	intel_acpi_assign_connector_fwnodes(i915);
> +	intel_acpi_assign_connector_fwnodes(display);
>  	drm_modeset_unlock_all(dev);
>  
>  	intel_initial_plane_config(i915);
> @@ -526,6 +527,7 @@ int intel_display_driver_probe(struct drm_i915_private *i915)
>  
>  void intel_display_driver_register(struct drm_i915_private *i915)
>  {
> +	struct intel_display *display = &i915->display;
>  	struct drm_printer p = drm_dbg_printer(&i915->drm, DRM_UT_KMS,
>  					       "i915 display info:");
>  
> @@ -534,7 +536,7 @@ void intel_display_driver_register(struct drm_i915_private *i915)
>  
>  	/* Must be done after probing outputs */
>  	intel_opregion_register(i915);
> -	intel_acpi_video_register(i915);
> +	intel_acpi_video_register(display);
>  
>  	intel_audio_init(i915);
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 68bd5101ec89..4ff646a7f05d 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -722,7 +722,8 @@ 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_display *display = &dev_priv->display;
> +	struct intel_opregion *opregion = display->opregion;
>  	struct intel_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	int i = 0, max_outputs;
> @@ -737,7 +738,7 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
>  	max_outputs = ARRAY_SIZE(opregion->acpi->didl) +
>  		ARRAY_SIZE(opregion->acpi->did2);
>  
> -	intel_acpi_device_id_update(dev_priv);
> +	intel_acpi_device_id_update(display);
>  
>  	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	for_each_intel_connector_iter(connector, &conn_iter) {
> @@ -1189,7 +1190,8 @@ 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_display *display = &i915->display;
> +	struct intel_opregion *opregion = display->opregion;
>  
>  	if (opregion->acpi) {
>  		intel_didl_outputs(i915);
> @@ -1210,7 +1212,7 @@ static void intel_opregion_resume_display(struct drm_i915_private *i915)
>  	}
>  
>  	/* Some platforms abuse the _DSM to enable MUX */
> -	intel_dsm_get_bios_data_funcs_supported(i915);
> +	intel_dsm_get_bios_data_funcs_supported(display);
>  }
>  
>  void intel_opregion_resume(struct drm_i915_private *i915)
> -- 
> 2.39.2
> 

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

* Re: [PATCH 2/4] drm/i915/opregion: unify intel_encoder/intel_connector naming
  2024-07-31 16:44 ` [PATCH 2/4] drm/i915/opregion: unify intel_encoder/intel_connector naming Jani Nikula
@ 2024-08-06 13:53   ` Imre Deak
  0 siblings, 0 replies; 18+ messages in thread
From: Imre Deak @ 2024-08-06 13:53 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, intel-xe

On Wed, Jul 31, 2024 at 07:44:34PM +0300, Jani Nikula wrote:
> Prefer the short encoder/connector names for struct
> intel_encoder/intel_connector variables and parameters.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Imre Deak <imre.deak@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_opregion.c | 23 +++++++++----------
>  drivers/gpu/drm/i915/display/intel_opregion.h |  4 ++--
>  2 files changed, 13 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 4ff646a7f05d..4c9b9e7ebc91 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -381,10 +381,10 @@ static int swsci(struct drm_i915_private *dev_priv,
>  #define DISPLAY_TYPE_EXTERNAL_FLAT_PANEL	2
>  #define DISPLAY_TYPE_INTERNAL_FLAT_PANEL	3
>  
> -int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
> +int intel_opregion_notify_encoder(struct intel_encoder *encoder,
>  				  bool enable)
>  {
> -	struct drm_i915_private *dev_priv = to_i915(intel_encoder->base.dev);
> +	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>  	u32 parm = 0;
>  	u32 type = 0;
>  	u32 port;
> @@ -399,10 +399,10 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  	if (ret)
>  		return ret;
>  
> -	if (intel_encoder->type == INTEL_OUTPUT_DSI)
> +	if (encoder->type == INTEL_OUTPUT_DSI)
>  		port = 0;
>  	else
> -		port = intel_encoder->port;
> +		port = encoder->port;
>  
>  	if (port == PORT_E)  {
>  		port = 0;
> @@ -421,15 +421,15 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  	if (port > 4) {
>  		drm_dbg_kms(&dev_priv->drm,
>  			    "[ENCODER:%d:%s] port %c (index %u) out of bounds for display power state notification\n",
> -			    intel_encoder->base.base.id, intel_encoder->base.name,
> -			    port_name(intel_encoder->port), port);
> +			    encoder->base.base.id, encoder->base.name,
> +			    port_name(encoder->port), port);
>  		return -EINVAL;
>  	}
>  
>  	if (!enable)
>  		parm |= 4 << 8;
>  
> -	switch (intel_encoder->type) {
> +	switch (encoder->type) {
>  	case INTEL_OUTPUT_ANALOG:
>  		type = DISPLAY_TYPE_CRT;
>  		break;
> @@ -446,7 +446,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  	default:
>  		drm_WARN_ONCE(&dev_priv->drm, 1,
>  			      "unsupported intel_encoder type %d\n",
> -			      intel_encoder->type);
> +			      encoder->type);
>  		return -EINVAL;
>  	}
>  
> @@ -1093,7 +1093,7 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
>  
>  /**
>   * intel_opregion_get_edid - Fetch EDID from ACPI OpRegion mailbox #5
> - * @intel_connector: eDP connector
> + * @connector: eDP connector
>   *
>   * This reads the ACPI Opregion mailbox #5 to extract the EDID that is passed
>   * to it.
> @@ -1102,10 +1102,9 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
>   * The EDID in the OpRegion, or NULL if there is none or it's invalid.
>   *
>   */
> -const struct drm_edid *intel_opregion_get_edid(struct intel_connector *intel_connector)
> +const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector)
>  {
> -	struct drm_connector *connector = &intel_connector->base;
> -	struct drm_i915_private *i915 = to_i915(connector->dev);
> +	struct drm_i915_private *i915 = to_i915(connector->base.dev);
>  	struct intel_opregion *opregion = i915->display.opregion;
>  	const struct drm_edid *drm_edid;
>  	const void *edid;
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h
> index 4b2b8e752632..4dcd13c672e4 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.h
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.h
> @@ -46,7 +46,7 @@ void intel_opregion_suspend(struct drm_i915_private *dev_priv,
>  
>  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,
> +int intel_opregion_notify_encoder(struct intel_encoder *encoder,
>  				  bool enable);
>  int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
>  				  pci_power_t state);
> @@ -98,7 +98,7 @@ static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>  }
>  
>  static inline int
> -intel_opregion_notify_encoder(struct intel_encoder *intel_encoder, bool enable)
> +intel_opregion_notify_encoder(struct intel_encoder *encoder, bool enable)
>  {
>  	return 0;
>  }
> -- 
> 2.39.2
> 

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

* Re: [PATCH 3/4] drm/i915/opregion: convert to struct intel_display
  2024-07-31 16:44 ` [PATCH 3/4] drm/i915/opregion: convert to struct intel_display Jani Nikula
  2024-08-02 10:07   ` kernel test robot
@ 2024-08-06 14:37   ` Imre Deak
  1 sibling, 0 replies; 18+ messages in thread
From: Imre Deak @ 2024-08-06 14:37 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, intel-xe

On Wed, Jul 31, 2024 at 07:44:35PM +0300, Jani Nikula wrote:
> Going forward, struct intel_display shall replace struct
> drm_i915_private as the main display device data pointer type. Convert
> intel_opregion.[ch] to struct intel_display.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_bios.c     |  10 +-
>  .../drm/i915/display/intel_display_debugfs.c  |   5 +-
>  .../drm/i915/display/intel_display_device.c   |   8 +-
>  .../drm/i915/display/intel_display_driver.c   |   6 +-
>  .../gpu/drm/i915/display/intel_display_irq.c  |  24 +-
>  drivers/gpu/drm/i915/display/intel_opregion.c | 296 +++++++++---------
>  drivers/gpu/drm/i915/display/intel_opregion.h |  54 ++--
>  drivers/gpu/drm/i915/i915_driver.c            |  22 +-
>  drivers/gpu/drm/xe/display/xe_display.c       |  19 +-
>  9 files changed, 238 insertions(+), 206 deletions(-)
> 
> [...]
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 4c9b9e7ebc91..0cf6c0711dae 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> [...]
>  
> @@ -384,18 +384,18 @@ static int swsci(struct drm_i915_private *dev_priv,
>  int intel_opregion_notify_encoder(struct intel_encoder *encoder,
>  				  bool enable)
>  {
> -	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> +	struct intel_display *display = to_intel_display(encoder->base.dev);

Nit: AFAICS, this could be just to_intel_display(encoder).

>  	u32 parm = 0;
>  	u32 type = 0;
>  	u32 port;
>  	int ret;
>  
>  	/* don't care about old stuff for now */
> -	if (!HAS_DDI(dev_priv))
> +	if (!HAS_DDI(display))
>  		return 0;
>  
>  	/* Avoid port out of bounds checks if SWSCI isn't there. */
> -	ret = check_swsci_function(dev_priv, SWSCI_SBCB_DISPLAY_POWER_STATE);
> +	ret = check_swsci_function(display, SWSCI_SBCB_DISPLAY_POWER_STATE);
>  	if (ret)
>  		return ret;
>  
> @@ -419,7 +419,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *encoder,
>  	 * number is out of bounds after mapping.
>  	 */
>  	if (port > 4) {
> -		drm_dbg_kms(&dev_priv->drm,
> +		drm_dbg_kms(display->drm,
>  			    "[ENCODER:%d:%s] port %c (index %u) out of bounds for display power state notification\n",
>  			    encoder->base.base.id, encoder->base.name,
>  			    port_name(encoder->port), port);
> @@ -444,7 +444,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *encoder,
>  		type = DISPLAY_TYPE_INTERNAL_FLAT_PANEL;
>  		break;
>  	default:
> -		drm_WARN_ONCE(&dev_priv->drm, 1,
> +		drm_WARN_ONCE(display->drm, 1,
>  			      "unsupported intel_encoder type %d\n",
>  			      encoder->type);
>  		return -EINVAL;
> @@ -452,7 +452,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *encoder,
>  
>  	parm |= type << (16 + port * 3);
>  
> -	return swsci(dev_priv, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
> +	return swsci(display, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
>  }
>  
>  static const struct {
> @@ -466,33 +466,33 @@ static const struct {
>  	{ PCI_D3cold,	0x04 },
>  };
>  
> -int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
> +int intel_opregion_notify_adapter(struct intel_display *display,
>  				  pci_power_t state)

Missing change in the forward declartion for !CONFIG_ACPI, also reported
by lkp.

>  {
>  	int i;
>  
> -	if (!HAS_DDI(dev_priv))
> +	if (!HAS_DDI(display))
>  		return 0;
>  
>  	for (i = 0; i < ARRAY_SIZE(power_state_map); i++) {
>  		if (state == power_state_map[i].pci_power_state)
> -			return swsci(dev_priv, SWSCI_SBCB_ADAPTER_POWER_STATE,
> +			return swsci(display, SWSCI_SBCB_ADAPTER_POWER_STATE,
>  				     power_state_map[i].parm, NULL);
>  	}
>  
>  	return -EINVAL;
>  }
>  
> [...]
>  int
> -intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
> +intel_opregion_get_panel_type(struct intel_display *display)

Same as above.

>  {
>  	u32 panel_details;
>  	int ret;
>  
> -	ret = swsci(dev_priv, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
> +	ret = swsci(display, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
>  	if (ret)
>  		return ret;
>  
>  	ret = (panel_details >> 8) & 0xff;
>  	if (ret > 0x10) {
> -		drm_dbg_kms(&dev_priv->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Invalid OpRegion panel type 0x%x\n", ret);
>  		return -EINVAL;
>  	}
>  
>  	/* fall back to VBT panel type? */
>  	if (ret == 0x0) {
> -		drm_dbg_kms(&dev_priv->drm, "No panel type in OpRegion\n");
> +		drm_dbg_kms(display->drm, "No panel type in OpRegion\n");
>  		return -ENODEV;
>  	}
>  
> @@ -1083,7 +1084,7 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
>  	 * via a quirk list :(
>  	 */
>  	if (!dmi_check_system(intel_use_opregion_panel_type)) {
> -		drm_dbg_kms(&dev_priv->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Ignoring OpRegion panel type (%d)\n", ret - 1);
>  		return -ENODEV;
>  	}
> @@ -1104,8 +1105,8 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
>   */
>  const struct drm_edid *intel_opregion_get_edid(struct intel_connector *connector)
>  {
> -	struct drm_i915_private *i915 = to_i915(connector->base.dev);
> -	struct intel_opregion *opregion = i915->display.opregion;
> +	struct intel_display *display = to_intel_display(connector->base.dev);

Nit: this could be just to_intel_display(connector).

With the forward declarations fixed looks ok:
Reviewed-by: Imre Deak <imre.deak@intel.com>

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

* Re: [PATCH 4/4] drm/i915/bios: convert to struct intel_display
  2024-07-31 16:44 ` [PATCH 4/4] drm/i915/bios: " Jani Nikula
@ 2024-08-06 15:23   ` Imre Deak
  0 siblings, 0 replies; 18+ messages in thread
From: Imre Deak @ 2024-08-06 15:23 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, intel-xe

On Wed, Jul 31, 2024 at 07:44:36PM +0300, Jani Nikula wrote:
> [...]
> diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c
> index a8e746a0f670..c2128b46bdbd 100644
> --- a/drivers/gpu/drm/i915/display/g4x_dp.c
> +++ b/drivers/gpu/drm/i915/display/g4x_dp.c
> @@ -1279,6 +1279,7 @@ static const struct drm_encoder_funcs intel_dp_enc_funcs = {
> [...]
>  
>  static void
> -parse_general_features(struct drm_i915_private *i915)
> +parse_general_features(struct intel_display *display)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct bdb_general_features *general;
>  
> -	general = bdb_find_section(i915, BDB_GENERAL_FEATURES);
> +	general = bdb_find_section(display, BDB_GENERAL_FEATURES);
>  	if (!general)
>  		return;
>  
> -	i915->display.vbt.int_tv_support = general->int_tv_support;
> +	display->vbt.int_tv_support = general->int_tv_support;
>  	/* int_crt_support can't be trusted on earlier platforms */
> -	if (i915->display.vbt.version >= 155 &&
> -	    (HAS_DDI(i915) || IS_VALLEYVIEW(i915)))
> -		i915->display.vbt.int_crt_support = general->int_crt_support;
> -	i915->display.vbt.lvds_use_ssc = general->enable_ssc;
> -	i915->display.vbt.lvds_ssc_freq =
> -		intel_bios_ssc_frequency(i915, general->ssc_freq);
> -	i915->display.vbt.display_clock_mode = general->display_clock_mode;
> -	i915->display.vbt.fdi_rx_polarity_inverted = general->fdi_rx_polarity_inverted;
> -	if (i915->display.vbt.version >= 181) {
> -		i915->display.vbt.orientation = general->rotate_180 ?
> +	if (display->vbt.version >= 155 &&
> +	    (HAS_DDI(display) || IS_VALLEYVIEW(i915)))
> +		display->vbt.int_crt_support = general->int_crt_support;
> +	display->vbt.lvds_use_ssc = general->enable_ssc;
> +	display->vbt.lvds_ssc_freq =
> +		intel_bios_ssc_frequency(display, general->ssc_freq);
> +	display->vbt.display_clock_mode = general->display_clock_mode;
> +	display->vbt.fdi_rx_polarity_inverted = general->fdi_rx_polarity_inverted;
> +	if (display->vbt.version >= 181) {
> +		display->vbt.orientation = general->rotate_180 ?
>  			DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP :
>  			DRM_MODE_PANEL_ORIENTATION_NORMAL;
>  	} else {
> -		i915->display.vbt.orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
> +		display->vbt.orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
>  	}
>  
> -	if (i915->display.vbt.version >= 249 && general->afc_startup_config) {
> -		i915->display.vbt.override_afc_startup = true;
> -		i915->display.vbt.override_afc_startup_val = general->afc_startup_config == 0x1 ? 0x0 : 0x7;
> +	if (display->vbt.version >= 249 && general->afc_startup_config) {
> +		display->vbt.override_afc_startup = true;
> +		display->vbt.override_afc_startup_val = general->afc_startup_config == 1 ? 0 : 7;

The hex->dec change doesn't make a difference, but I suppose still good
to know if it's a silent cocci script change. Patch looks ok:

Reviewed-by: Imre Deak <imre.deak@intel.com>

>  	}
>  
> -	drm_dbg_kms(&i915->drm,
> +	drm_dbg_kms(display->drm,
>  		    "BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d fdi_rx_polarity_inverted %d\n",
> -		    i915->display.vbt.int_tv_support,
> -		    i915->display.vbt.int_crt_support,
> -		    i915->display.vbt.lvds_use_ssc,
> -		    i915->display.vbt.lvds_ssc_freq,
> -		    i915->display.vbt.display_clock_mode,
> -		    i915->display.vbt.fdi_rx_polarity_inverted);
> +		    display->vbt.int_tv_support,
> +		    display->vbt.int_crt_support,
> +		    display->vbt.lvds_use_ssc,
> +		    display->vbt.lvds_ssc_freq,
> +		    display->vbt.display_clock_mode,
> +		    display->vbt.fdi_rx_polarity_inverted);
>  }
>  
>  static const struct child_device_config *
> @@ -1211,7 +1214,7 @@ child_device_ptr(const struct bdb_general_definitions *defs, int i)
>  }
>  
>  static void
> -parse_sdvo_device_mapping(struct drm_i915_private *i915)
> +parse_sdvo_device_mapping(struct intel_display *display)
>  {
>  	const struct intel_bios_encoder_data *devdata;
>  	int count = 0;
> @@ -1220,12 +1223,12 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
>  	 * Only parse SDVO mappings on gens that could have SDVO. This isn't
>  	 * accurate and doesn't have to be, as long as it's not too strict.
>  	 */
> -	if (!IS_DISPLAY_VER(i915, 3, 7)) {
> -		drm_dbg_kms(&i915->drm, "Skipping SDVO device mapping\n");
> +	if (!IS_DISPLAY_VER(display, 3, 7)) {
> +		drm_dbg_kms(display->drm, "Skipping SDVO device mapping\n");
>  		return;
>  	}
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		const struct child_device_config *child = &devdata->child;
>  		struct sdvo_device_mapping *mapping;
>  
> @@ -1240,17 +1243,17 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
>  		if (child->dvo_port != DEVICE_PORT_DVOB &&
>  		    child->dvo_port != DEVICE_PORT_DVOC) {
>  			/* skip the incorrect SDVO port */
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "Incorrect SDVO port. Skip it\n");
>  			continue;
>  		}
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "the SDVO device with target addr %2x is found on"
>  			    " %s port\n",
>  			    child->target_addr,
>  			    (child->dvo_port == DEVICE_PORT_DVOB) ?
>  			    "SDVOB" : "SDVOC");
> -		mapping = &i915->display.vbt.sdvo_mappings[child->dvo_port - 1];
> +		mapping = &display->vbt.sdvo_mappings[child->dvo_port - 1];
>  		if (!mapping->initialized) {
>  			mapping->dvo_port = child->dvo_port;
>  			mapping->target_addr = child->target_addr;
> @@ -1258,20 +1261,20 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
>  			mapping->ddc_pin = child->ddc_pin;
>  			mapping->i2c_pin = child->i2c_pin;
>  			mapping->initialized = 1;
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "SDVO device: dvo=%x, addr=%x, wiring=%d, ddc_pin=%d, i2c_pin=%d\n",
>  				    mapping->dvo_port, mapping->target_addr,
>  				    mapping->dvo_wiring, mapping->ddc_pin,
>  				    mapping->i2c_pin);
>  		} else {
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "Maybe one SDVO port is shared by "
>  				    "two SDVO device.\n");
>  		}
>  		if (child->target2_addr) {
>  			/* Maybe this is a SDVO device with multiple inputs */
>  			/* And the mapping info is not added */
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "there exists the target2_addr. Maybe this"
>  				    " is a SDVO device with multiple inputs.\n");
>  		}
> @@ -1280,28 +1283,28 @@ parse_sdvo_device_mapping(struct drm_i915_private *i915)
>  
>  	if (!count) {
>  		/* No SDVO device info is found */
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "No SDVO device info is found in VBT\n");
>  	}
>  }
>  
>  static void
> -parse_driver_features(struct drm_i915_private *i915)
> +parse_driver_features(struct intel_display *display)
>  {
>  	const struct bdb_driver_features *driver;
>  
> -	driver = bdb_find_section(i915, BDB_DRIVER_FEATURES);
> +	driver = bdb_find_section(display, BDB_DRIVER_FEATURES);
>  	if (!driver)
>  		return;
>  
> -	if (DISPLAY_VER(i915) >= 5) {
> +	if (DISPLAY_VER(display) >= 5) {
>  		/*
>  		 * Note that we consider BDB_DRIVER_FEATURE_INT_SDVO_LVDS
>  		 * to mean "eDP". The VBT spec doesn't agree with that
>  		 * interpretation, but real world VBTs seem to.
>  		 */
>  		if (driver->lvds_config != BDB_DRIVER_FEATURE_INT_LVDS)
> -			i915->display.vbt.int_lvds_support = 0;
> +			display->vbt.int_lvds_support = 0;
>  	} else {
>  		/*
>  		 * FIXME it's not clear which BDB version has the LVDS config
> @@ -1314,25 +1317,25 @@ parse_driver_features(struct drm_i915_private *i915)
>  		 * in the wild with the bits correctly populated. Version
>  		 * 108 (on i85x) does not have the bits correctly populated.
>  		 */
> -		if (i915->display.vbt.version >= 134 &&
> +		if (display->vbt.version >= 134 &&
>  		    driver->lvds_config != BDB_DRIVER_FEATURE_INT_LVDS &&
>  		    driver->lvds_config != BDB_DRIVER_FEATURE_INT_SDVO_LVDS)
> -			i915->display.vbt.int_lvds_support = 0;
> +			display->vbt.int_lvds_support = 0;
>  	}
>  }
>  
>  static void
> -parse_panel_driver_features(struct drm_i915_private *i915,
> +parse_panel_driver_features(struct intel_display *display,
>  			    struct intel_panel *panel)
>  {
>  	const struct bdb_driver_features *driver;
>  
> -	driver = bdb_find_section(i915, BDB_DRIVER_FEATURES);
> +	driver = bdb_find_section(display, BDB_DRIVER_FEATURES);
>  	if (!driver)
>  		return;
>  
> -	if (i915->display.vbt.version < 228) {
> -		drm_dbg_kms(&i915->drm, "DRRS State Enabled:%d\n",
> +	if (display->vbt.version < 228) {
> +		drm_dbg_kms(display->drm, "DRRS State Enabled:%d\n",
>  			    driver->drrs_enabled);
>  		/*
>  		 * If DRRS is not supported, drrs_type has to be set to 0.
> @@ -1356,7 +1359,7 @@ parse_panel_driver_features(struct drm_i915_private *i915,
>  }
>  
>  static void
> -parse_power_conservation_features(struct drm_i915_private *i915,
> +parse_power_conservation_features(struct intel_display *display,
>  				  struct intel_panel *panel)
>  {
>  	const struct bdb_lfp_power *power;
> @@ -1364,10 +1367,10 @@ parse_power_conservation_features(struct drm_i915_private *i915,
>  
>  	panel->vbt.vrr = true; /* matches Windows behaviour */
>  
> -	if (i915->display.vbt.version < 228)
> +	if (display->vbt.version < 228)
>  		return;
>  
> -	power = bdb_find_section(i915, BDB_LFP_POWER);
> +	power = bdb_find_section(display, BDB_LFP_POWER);
>  	if (!power)
>  		return;
>  
> @@ -1390,16 +1393,16 @@ parse_power_conservation_features(struct drm_i915_private *i915,
>  			panel->vbt.drrs_type = DRRS_TYPE_NONE;
>  	}
>  
> -	if (i915->display.vbt.version >= 232)
> +	if (display->vbt.version >= 232)
>  		panel->vbt.edp.hobl = panel_bool(power->hobl, panel_type);
>  
> -	if (i915->display.vbt.version >= 233)
> +	if (display->vbt.version >= 233)
>  		panel->vbt.vrr = panel_bool(power->vrr_feature_enabled,
>  					    panel_type);
>  }
>  
>  static void
> -parse_edp(struct drm_i915_private *i915,
> +parse_edp(struct intel_display *display,
>  	  struct intel_panel *panel)
>  {
>  	const struct bdb_edp *edp;
> @@ -1407,7 +1410,7 @@ parse_edp(struct drm_i915_private *i915,
>  	const struct edp_fast_link_params *edp_link_params;
>  	int panel_type = panel->vbt.panel_type;
>  
> -	edp = bdb_find_section(i915, BDB_EDP);
> +	edp = bdb_find_section(display, BDB_EDP);
>  	if (!edp)
>  		return;
>  
> @@ -1429,7 +1432,7 @@ parse_edp(struct drm_i915_private *i915,
>  
>  	panel->vbt.edp.pps = *edp_pps;
>  
> -	if (i915->display.vbt.version >= 224) {
> +	if (display->vbt.version >= 224) {
>  		panel->vbt.edp.rate =
>  			edp->edp_fast_link_training_rate[panel_type] * 20;
>  	} else {
> @@ -1444,7 +1447,7 @@ parse_edp(struct drm_i915_private *i915,
>  			panel->vbt.edp.rate = 540000;
>  			break;
>  		default:
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "VBT has unknown eDP link rate value %u\n",
>  				    edp_link_params->rate);
>  			break;
> @@ -1462,7 +1465,7 @@ parse_edp(struct drm_i915_private *i915,
>  		panel->vbt.edp.lanes = 4;
>  		break;
>  	default:
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "VBT has unknown eDP lane count value %u\n",
>  			    edp_link_params->lanes);
>  		break;
> @@ -1482,7 +1485,7 @@ parse_edp(struct drm_i915_private *i915,
>  		panel->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
>  		break;
>  	default:
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "VBT has unknown eDP pre-emphasis value %u\n",
>  			    edp_link_params->preemphasis);
>  		break;
> @@ -1502,19 +1505,19 @@ parse_edp(struct drm_i915_private *i915,
>  		panel->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
>  		break;
>  	default:
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "VBT has unknown eDP voltage swing value %u\n",
>  			    edp_link_params->vswing);
>  		break;
>  	}
>  
> -	if (i915->display.vbt.version >= 173) {
> +	if (display->vbt.version >= 173) {
>  		u8 vswing;
>  
>  		/* Don't read from VBT if module parameter has valid value*/
> -		if (i915->display.params.edp_vswing) {
> +		if (display->params.edp_vswing) {
>  			panel->vbt.edp.low_vswing =
> -				i915->display.params.edp_vswing == 1;
> +				display->params.edp_vswing == 1;
>  		} else {
>  			vswing = (edp->edp_vswing_preemph >> (panel_type * 4)) & 0xF;
>  			panel->vbt.edp.low_vswing = vswing == 0;
> @@ -1524,26 +1527,27 @@ parse_edp(struct drm_i915_private *i915,
>  	panel->vbt.edp.drrs_msa_timing_delay =
>  		panel_bits(edp->sdrrs_msa_timing_delay, panel_type, 2);
>  
> -	if (i915->display.vbt.version >= 244)
> +	if (display->vbt.version >= 244)
>  		panel->vbt.edp.max_link_rate =
>  			edp->edp_max_port_link_rate[panel_type] * 20;
>  
> -	if (i915->display.vbt.version >= 251)
> +	if (display->vbt.version >= 251)
>  		panel->vbt.edp.dsc_disable =
>  			panel_bool(edp->edp_dsc_disable, panel_type);
>  }
>  
>  static void
> -parse_psr(struct drm_i915_private *i915,
> +parse_psr(struct intel_display *display,
>  	  struct intel_panel *panel)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct bdb_psr *psr;
>  	const struct psr_table *psr_table;
>  	int panel_type = panel->vbt.panel_type;
>  
> -	psr = bdb_find_section(i915, BDB_PSR);
> +	psr = bdb_find_section(display, BDB_PSR);
>  	if (!psr) {
> -		drm_dbg_kms(&i915->drm, "No PSR BDB found.\n");
> +		drm_dbg_kms(display->drm, "No PSR BDB found.\n");
>  		return;
>  	}
>  
> @@ -1560,8 +1564,8 @@ parse_psr(struct drm_i915_private *i915,
>  	 * New psr options 0=500us, 1=100us, 2=2500us, 3=0us
>  	 * Old decimal value is wake up time in multiples of 100 us.
>  	 */
> -	if (i915->display.vbt.version >= 205 &&
> -	    (DISPLAY_VER(i915) >= 9 && !IS_BROXTON(i915))) {
> +	if (display->vbt.version >= 205 &&
> +	    (DISPLAY_VER(display) >= 9 && !IS_BROXTON(i915))) {
>  		switch (psr_table->tp1_wakeup_time) {
>  		case 0:
>  			panel->vbt.psr.tp1_wakeup_time_us = 500;
> @@ -1573,7 +1577,7 @@ parse_psr(struct drm_i915_private *i915,
>  			panel->vbt.psr.tp1_wakeup_time_us = 0;
>  			break;
>  		default:
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "VBT tp1 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
>  				    psr_table->tp1_wakeup_time);
>  			fallthrough;
> @@ -1593,7 +1597,7 @@ parse_psr(struct drm_i915_private *i915,
>  			panel->vbt.psr.tp2_tp3_wakeup_time_us = 0;
>  			break;
>  		default:
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "VBT tp2_tp3 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
>  				    psr_table->tp2_tp3_wakeup_time);
>  			fallthrough;
> @@ -1606,7 +1610,7 @@ parse_psr(struct drm_i915_private *i915,
>  		panel->vbt.psr.tp2_tp3_wakeup_time_us = psr_table->tp2_tp3_wakeup_time * 100;
>  	}
>  
> -	if (i915->display.vbt.version >= 226) {
> +	if (display->vbt.version >= 226) {
>  		u32 wakeup_time = psr->psr2_tp2_tp3_wakeup_time;
>  
>  		wakeup_time = panel_bits(wakeup_time, panel_type, 2);
> @@ -1632,13 +1636,13 @@ parse_psr(struct drm_i915_private *i915,
>  	}
>  }
>  
> -static void parse_dsi_backlight_ports(struct drm_i915_private *i915,
> +static void parse_dsi_backlight_ports(struct intel_display *display,
>  				      struct intel_panel *panel,
>  				      enum port port)
>  {
> -	enum port port_bc = DISPLAY_VER(i915) >= 11 ? PORT_B : PORT_C;
> +	enum port port_bc = DISPLAY_VER(display) >= 11 ? PORT_B : PORT_C;
>  
> -	if (!panel->vbt.dsi.config->dual_link || i915->display.vbt.version < 197) {
> +	if (!panel->vbt.dsi.config->dual_link || display->vbt.version < 197) {
>  		panel->vbt.dsi.bl_ports = BIT(port);
>  		if (panel->vbt.dsi.config->cabc_supported)
>  			panel->vbt.dsi.cabc_ports = BIT(port);
> @@ -1678,7 +1682,7 @@ static void parse_dsi_backlight_ports(struct drm_i915_private *i915,
>  }
>  
>  static void
> -parse_mipi_config(struct drm_i915_private *i915,
> +parse_mipi_config(struct intel_display *display,
>  		  struct intel_panel *panel)
>  {
>  	const struct bdb_mipi_config *start;
> @@ -1688,19 +1692,19 @@ parse_mipi_config(struct drm_i915_private *i915,
>  	enum port port;
>  
>  	/* parse MIPI blocks only if LFP type is MIPI */
> -	if (!intel_bios_is_dsi_present(i915, &port))
> +	if (!intel_bios_is_dsi_present(display, &port))
>  		return;
>  
>  	/* Initialize this to undefined indicating no generic MIPI support */
>  	panel->vbt.dsi.panel_id = MIPI_DSI_UNDEFINED_PANEL_ID;
>  
> -	start = bdb_find_section(i915, BDB_MIPI_CONFIG);
> +	start = bdb_find_section(display, BDB_MIPI_CONFIG);
>  	if (!start) {
> -		drm_dbg_kms(&i915->drm, "No MIPI config BDB found");
> +		drm_dbg_kms(display->drm, "No MIPI config BDB found");
>  		return;
>  	}
>  
> -	drm_dbg(&i915->drm, "Found MIPI Config block, panel index = %d\n",
> +	drm_dbg(display->drm, "Found MIPI Config block, panel index = %d\n",
>  		panel_type);
>  
>  	/*
> @@ -1721,7 +1725,7 @@ parse_mipi_config(struct drm_i915_private *i915,
>  		return;
>  	}
>  
> -	parse_dsi_backlight_ports(i915, panel, port);
> +	parse_dsi_backlight_ports(display, panel, port);
>  
>  	/* FIXME is the 90 vs. 270 correct? */
>  	switch (config->rotation) {
> @@ -1753,7 +1757,7 @@ parse_mipi_config(struct drm_i915_private *i915,
>  
>  /* Find the sequence block and size for the given panel. */
>  static const u8 *
> -find_panel_sequence_block(struct drm_i915_private *i915,
> +find_panel_sequence_block(struct intel_display *display,
>  			  const struct bdb_mipi_sequence *sequence,
>  			  u16 panel_id, u32 *seq_size)
>  {
> @@ -1771,7 +1775,8 @@ find_panel_sequence_block(struct drm_i915_private *i915,
>  
>  	for (i = 0; i < MAX_MIPI_CONFIGURATIONS && index < total; i++) {
>  		if (index + header_size > total) {
> -			drm_err(&i915->drm, "Invalid sequence block (header)\n");
> +			drm_err(display->drm,
> +				"Invalid sequence block (header)\n");
>  			return NULL;
>  		}
>  
> @@ -1784,7 +1789,7 @@ find_panel_sequence_block(struct drm_i915_private *i915,
>  		index += header_size;
>  
>  		if (index + current_size > total) {
> -			drm_err(&i915->drm, "Invalid sequence block\n");
> +			drm_err(display->drm, "Invalid sequence block\n");
>  			return NULL;
>  		}
>  
> @@ -1796,12 +1801,13 @@ find_panel_sequence_block(struct drm_i915_private *i915,
>  		index += current_size;
>  	}
>  
> -	drm_err(&i915->drm, "Sequence block detected but no valid configuration\n");
> +	drm_err(display->drm,
> +		"Sequence block detected but no valid configuration\n");
>  
>  	return NULL;
>  }
>  
> -static int goto_next_sequence(struct drm_i915_private *i915,
> +static int goto_next_sequence(struct intel_display *display,
>  			      const u8 *data, int index, int total)
>  {
>  	u16 len;
> @@ -1832,7 +1838,7 @@ static int goto_next_sequence(struct drm_i915_private *i915,
>  			len = *(data + index + 6) + 7;
>  			break;
>  		default:
> -			drm_err(&i915->drm, "Unknown operation byte\n");
> +			drm_err(display->drm, "Unknown operation byte\n");
>  			return 0;
>  		}
>  	}
> @@ -1840,7 +1846,7 @@ static int goto_next_sequence(struct drm_i915_private *i915,
>  	return 0;
>  }
>  
> -static int goto_next_sequence_v3(struct drm_i915_private *i915,
> +static int goto_next_sequence_v3(struct intel_display *display,
>  				 const u8 *data, int index, int total)
>  {
>  	int seq_end;
> @@ -1852,7 +1858,7 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
>  	 * checking on the structure.
>  	 */
>  	if (total < 5) {
> -		drm_err(&i915->drm, "Too small sequence size\n");
> +		drm_err(display->drm, "Too small sequence size\n");
>  		return 0;
>  	}
>  
> @@ -1869,7 +1875,7 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
>  
>  	seq_end = index + size_of_sequence;
>  	if (seq_end > total) {
> -		drm_err(&i915->drm, "Invalid sequence size\n");
> +		drm_err(display->drm, "Invalid sequence size\n");
>  		return 0;
>  	}
>  
> @@ -1879,7 +1885,8 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
>  
>  		if (operation_byte == MIPI_SEQ_ELEM_END) {
>  			if (index != seq_end) {
> -				drm_err(&i915->drm, "Invalid element structure\n");
> +				drm_err(display->drm,
> +					"Invalid element structure\n");
>  				return 0;
>  			}
>  			return index;
> @@ -1901,7 +1908,7 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
>  		case MIPI_SEQ_ELEM_PMIC:
>  			break;
>  		default:
> -			drm_err(&i915->drm, "Unknown operation byte %u\n",
> +			drm_err(display->drm, "Unknown operation byte %u\n",
>  				operation_byte);
>  			break;
>  		}
> @@ -1914,13 +1921,13 @@ static int goto_next_sequence_v3(struct drm_i915_private *i915,
>   * Get len of pre-fixed deassert fragment from a v1 init OTP sequence,
>   * skip all delay + gpio operands and stop at the first DSI packet op.
>   */
> -static int get_init_otp_deassert_fragment_len(struct drm_i915_private *i915,
> +static int get_init_otp_deassert_fragment_len(struct intel_display *display,
>  					      struct intel_panel *panel)
>  {
>  	const u8 *data = panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP];
>  	int index, len;
>  
> -	if (drm_WARN_ON(&i915->drm,
> +	if (drm_WARN_ON(display->drm,
>  			!data || panel->vbt.dsi.seq_version != 1))
>  		return 0;
>  
> @@ -1949,7 +1956,7 @@ static int get_init_otp_deassert_fragment_len(struct drm_i915_private *i915,
>   * these devices we split the init OTP sequence into a deassert sequence and
>   * the actual init OTP part.
>   */
> -static void vlv_fixup_mipi_sequences(struct drm_i915_private *i915,
> +static void vlv_fixup_mipi_sequences(struct intel_display *display,
>  				     struct intel_panel *panel)
>  {
>  	u8 *init_otp;
> @@ -1967,11 +1974,11 @@ static void vlv_fixup_mipi_sequences(struct drm_i915_private *i915,
>  		return;
>  
>  	/* The deassert-sequence ends at the first DSI packet */
> -	len = get_init_otp_deassert_fragment_len(i915, panel);
> +	len = get_init_otp_deassert_fragment_len(display, panel);
>  	if (!len)
>  		return;
>  
> -	drm_dbg_kms(&i915->drm,
> +	drm_dbg_kms(display->drm,
>  		    "Using init OTP fragment to deassert reset\n");
>  
>  	/* Copy the fragment, update seq byte and terminate it */
> @@ -2004,29 +2011,32 @@ static void vlv_fixup_mipi_sequences(struct drm_i915_private *i915,
>   *       or examine the contents of the sequences to
>   *       avoid false positives?
>   */
> -static void icl_fixup_mipi_sequences(struct drm_i915_private *i915,
> +static void icl_fixup_mipi_sequences(struct intel_display *display,
>  				     struct intel_panel *panel)
>  {
>  	if (!panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP] &&
>  	    panel->vbt.dsi.sequence[MIPI_SEQ_DISPLAY_ON]) {
> -		drm_dbg_kms(&i915->drm, "Broken VBT: Swapping INIT_OTP and DISPLAY_ON sequences\n");
> +		drm_dbg_kms(display->drm,
> +			    "Broken VBT: Swapping INIT_OTP and DISPLAY_ON sequences\n");
>  
>  		swap(panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP],
>  		     panel->vbt.dsi.sequence[MIPI_SEQ_DISPLAY_ON]);
>  	}
>  }
>  
> -static void fixup_mipi_sequences(struct drm_i915_private *i915,
> +static void fixup_mipi_sequences(struct intel_display *display,
>  				 struct intel_panel *panel)
>  {
> -	if (DISPLAY_VER(i915) >= 11)
> -		icl_fixup_mipi_sequences(i915, panel);
> +	struct drm_i915_private *i915 = to_i915(display->drm);
> +
> +	if (DISPLAY_VER(display) >= 11)
> +		icl_fixup_mipi_sequences(display, panel);
>  	else if (IS_VALLEYVIEW(i915))
> -		vlv_fixup_mipi_sequences(i915, panel);
> +		vlv_fixup_mipi_sequences(display, panel);
>  }
>  
>  static void
> -parse_mipi_sequence(struct drm_i915_private *i915,
> +parse_mipi_sequence(struct intel_display *display,
>  		    struct intel_panel *panel)
>  {
>  	int panel_type = panel->vbt.panel_type;
> @@ -2040,25 +2050,25 @@ parse_mipi_sequence(struct drm_i915_private *i915,
>  	if (panel->vbt.dsi.panel_id != MIPI_DSI_GENERIC_PANEL_ID)
>  		return;
>  
> -	sequence = bdb_find_section(i915, BDB_MIPI_SEQUENCE);
> +	sequence = bdb_find_section(display, BDB_MIPI_SEQUENCE);
>  	if (!sequence) {
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "No MIPI Sequence found, parsing complete\n");
>  		return;
>  	}
>  
>  	/* Fail gracefully for forward incompatible sequence block. */
>  	if (sequence->version >= 4) {
> -		drm_err(&i915->drm,
> +		drm_err(display->drm,
>  			"Unable to parse MIPI Sequence Block v%u\n",
>  			sequence->version);
>  		return;
>  	}
>  
> -	drm_dbg(&i915->drm, "Found MIPI sequence block v%u\n",
> +	drm_dbg(display->drm, "Found MIPI sequence block v%u\n",
>  		sequence->version);
>  
> -	seq_data = find_panel_sequence_block(i915, sequence, panel_type, &seq_size);
> +	seq_data = find_panel_sequence_block(display, sequence, panel_type, &seq_size);
>  	if (!seq_data)
>  		return;
>  
> @@ -2073,24 +2083,24 @@ parse_mipi_sequence(struct drm_i915_private *i915,
>  			break;
>  
>  		if (seq_id >= MIPI_SEQ_MAX) {
> -			drm_err(&i915->drm, "Unknown sequence %u\n",
> +			drm_err(display->drm, "Unknown sequence %u\n",
>  				seq_id);
>  			goto err;
>  		}
>  
>  		/* Log about presence of sequences we won't run. */
>  		if (seq_id == MIPI_SEQ_TEAR_ON || seq_id == MIPI_SEQ_TEAR_OFF)
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "Unsupported sequence %u\n", seq_id);
>  
>  		panel->vbt.dsi.sequence[seq_id] = data + index;
>  
>  		if (sequence->version >= 3)
> -			index = goto_next_sequence_v3(i915, data, index, seq_size);
> +			index = goto_next_sequence_v3(display, data, index, seq_size);
>  		else
> -			index = goto_next_sequence(i915, data, index, seq_size);
> +			index = goto_next_sequence(display, data, index, seq_size);
>  		if (!index) {
> -			drm_err(&i915->drm, "Invalid sequence %u\n",
> +			drm_err(display->drm, "Invalid sequence %u\n",
>  				seq_id);
>  			goto err;
>  		}
> @@ -2100,9 +2110,9 @@ parse_mipi_sequence(struct drm_i915_private *i915,
>  	panel->vbt.dsi.size = seq_size;
>  	panel->vbt.dsi.seq_version = sequence->version;
>  
> -	fixup_mipi_sequences(i915, panel);
> +	fixup_mipi_sequences(display, panel);
>  
> -	drm_dbg(&i915->drm, "MIPI related VBT parsing complete\n");
> +	drm_dbg(display->drm, "MIPI related VBT parsing complete\n");
>  	return;
>  
>  err:
> @@ -2111,47 +2121,47 @@ parse_mipi_sequence(struct drm_i915_private *i915,
>  }
>  
>  static void
> -parse_compression_parameters(struct drm_i915_private *i915)
> +parse_compression_parameters(struct intel_display *display)
>  {
>  	const struct bdb_compression_parameters *params;
>  	struct intel_bios_encoder_data *devdata;
>  	u16 block_size;
>  	int index;
>  
> -	if (i915->display.vbt.version < 198)
> +	if (display->vbt.version < 198)
>  		return;
>  
> -	params = bdb_find_section(i915, BDB_COMPRESSION_PARAMETERS);
> +	params = bdb_find_section(display, BDB_COMPRESSION_PARAMETERS);
>  	if (params) {
>  		/* Sanity checks */
>  		if (params->entry_size != sizeof(params->data[0])) {
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "VBT: unsupported compression param entry size\n");
>  			return;
>  		}
>  
>  		block_size = get_blocksize(params);
>  		if (block_size < sizeof(*params)) {
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "VBT: expected 16 compression param entries\n");
>  			return;
>  		}
>  	}
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		const struct child_device_config *child = &devdata->child;
>  
>  		if (!child->compression_enable)
>  			continue;
>  
>  		if (!params) {
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "VBT: compression params not available\n");
>  			continue;
>  		}
>  
>  		if (child->compression_method_cps) {
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "VBT: CPS compression not supported\n");
>  			continue;
>  		}
> @@ -2163,12 +2173,12 @@ parse_compression_parameters(struct drm_i915_private *i915)
>  	}
>  }
>  
> -static u8 translate_iboost(struct drm_i915_private *i915, u8 val)
> +static u8 translate_iboost(struct intel_display *display, u8 val)
>  {
>  	static const u8 mapping[] = { 1, 3, 7 }; /* See VBT spec */
>  
>  	if (val >= ARRAY_SIZE(mapping)) {
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Unsupported I_boost value found in VBT (%d), display may not work properly\n", val);
>  		return 0;
>  	}
> @@ -2225,8 +2235,9 @@ static const u8 adlp_ddc_pin_map[] = {
>  	[GMBUS_PIN_12_TC4_ICP] = ADLP_DDC_BUS_PORT_TC4,
>  };
>  
> -static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
> +static u8 map_ddc_pin(struct intel_display *display, u8 vbt_pin)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const u8 *ddc_pin_map;
>  	int i, n_entries;
>  
> @@ -2241,7 +2252,7 @@ static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
>  	} else if (IS_ROCKETLAKE(i915) && INTEL_PCH_TYPE(i915) == PCH_TGP) {
>  		ddc_pin_map = rkl_pch_tgp_ddc_pin_map;
>  		n_entries = ARRAY_SIZE(rkl_pch_tgp_ddc_pin_map);
> -	} else if (HAS_PCH_TGP(i915) && DISPLAY_VER(i915) == 9) {
> +	} else if (HAS_PCH_TGP(i915) && DISPLAY_VER(display) == 9) {
>  		ddc_pin_map = gen9bc_tgp_ddc_pin_map;
>  		n_entries = ARRAY_SIZE(gen9bc_tgp_ddc_pin_map);
>  	} else if (INTEL_PCH_TYPE(i915) >= PCH_ICP) {
> @@ -2260,7 +2271,7 @@ static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
>  			return i;
>  	}
>  
> -	drm_dbg_kms(&i915->drm,
> +	drm_dbg_kms(display->drm,
>  		    "Ignoring alternate pin: VBT claims DDC pin %d, which is not valid for this platform\n",
>  		    vbt_pin);
>  	return 0;
> @@ -2318,9 +2329,10 @@ static enum port __dvo_port_to_port(int n_ports, int n_dvo,
>  	return PORT_NONE;
>  }
>  
> -static enum port dvo_port_to_port(struct drm_i915_private *i915,
> +static enum port dvo_port_to_port(struct intel_display *display,
>  				  u8 dvo_port)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	/*
>  	 * Each DDI port can have more than one value on the "DVO Port" field,
>  	 * so look for all the possible values for each port.
> @@ -2372,7 +2384,7 @@ static enum port dvo_port_to_port(struct drm_i915_private *i915,
>  		[PORT_TC4] = { DVO_PORT_HDMII, DVO_PORT_DPI, -1 },
>  	};
>  
> -	if (DISPLAY_VER(i915) >= 13)
> +	if (DISPLAY_VER(display) >= 13)
>  		return __dvo_port_to_port(ARRAY_SIZE(xelpd_port_mapping),
>  					  ARRAY_SIZE(xelpd_port_mapping[0]),
>  					  xelpd_port_mapping,
> @@ -2395,13 +2407,13 @@ static enum port dvo_port_to_port(struct drm_i915_private *i915,
>  }
>  
>  static enum port
> -dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
> +dsi_dvo_port_to_port(struct intel_display *display, u8 dvo_port)
>  {
>  	switch (dvo_port) {
>  	case DVO_PORT_MIPIA:
>  		return PORT_A;
>  	case DVO_PORT_MIPIC:
> -		if (DISPLAY_VER(i915) >= 11)
> +		if (DISPLAY_VER(display) >= 11)
>  			return PORT_B;
>  		else
>  			return PORT_C;
> @@ -2412,13 +2424,13 @@ dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port)
>  
>  enum port intel_bios_encoder_port(const struct intel_bios_encoder_data *devdata)
>  {
> -	struct drm_i915_private *i915 = devdata->i915;
> +	struct intel_display *display = devdata->display;
>  	const struct child_device_config *child = &devdata->child;
>  	enum port port;
>  
> -	port = dvo_port_to_port(i915, child->dvo_port);
> -	if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
> -		port = dsi_dvo_port_to_port(i915, child->dvo_port);
> +	port = dvo_port_to_port(display, child->dvo_port);
> +	if (port == PORT_NONE && DISPLAY_VER(display) >= 11)
> +		port = dsi_dvo_port_to_port(display, child->dvo_port);
>  
>  	return port;
>  }
> @@ -2463,10 +2475,10 @@ static int parse_bdb_216_dp_max_link_rate(const int vbt_max_link_rate)
>  
>  int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata)
>  {
> -	if (!devdata || devdata->i915->display.vbt.version < 216)
> +	if (!devdata || devdata->display->vbt.version < 216)
>  		return 0;
>  
> -	if (devdata->i915->display.vbt.version >= 230)
> +	if (devdata->display->vbt.version >= 230)
>  		return parse_bdb_230_dp_max_link_rate(devdata->child.dp_max_link_rate);
>  	else
>  		return parse_bdb_216_dp_max_link_rate(devdata->child.dp_max_link_rate);
> @@ -2474,7 +2486,7 @@ int intel_bios_dp_max_link_rate(const struct intel_bios_encoder_data *devdata)
>  
>  int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata)
>  {
> -	if (!devdata || devdata->i915->display.vbt.version < 244)
> +	if (!devdata || devdata->display->vbt.version < 244)
>  		return 0;
>  
>  	return devdata->child.dp_max_lane_count + 1;
> @@ -2483,10 +2495,10 @@ int intel_bios_dp_max_lane_count(const struct intel_bios_encoder_data *devdata)
>  static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
>  				 enum port port)
>  {
> -	struct drm_i915_private *i915 = devdata->i915;
> +	struct intel_display *display = devdata->display;
>  	bool is_hdmi;
>  
> -	if (port != PORT_A || DISPLAY_VER(i915) >= 12)
> +	if (port != PORT_A || DISPLAY_VER(display) >= 12)
>  		return;
>  
>  	if (!intel_bios_encoder_supports_dvi(devdata))
> @@ -2494,7 +2506,7 @@ static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
>  
>  	is_hdmi = intel_bios_encoder_supports_hdmi(devdata);
>  
> -	drm_dbg_kms(&i915->drm, "VBT claims port A supports DVI%s, ignoring\n",
> +	drm_dbg_kms(display->drm, "VBT claims port A supports DVI%s, ignoring\n",
>  		    is_hdmi ? "/HDMI" : "");
>  
>  	devdata->child.device_type &= ~DEVICE_TYPE_TMDS_DVI_SIGNALING;
> @@ -2504,7 +2516,8 @@ static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
>  static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
>  				      enum port port)
>  {
> -	struct drm_i915_private *i915 = devdata->i915;
> +	struct intel_display *display = devdata->display;
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  
>  	if (!intel_bios_encoder_supports_dvi(devdata))
>  		return;
> @@ -2515,7 +2528,8 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
>  	 * up to 11, whereas the BDW max is 9.
>  	 */
>  	if (IS_BROADWELL(i915) && devdata->child.hdmi_level_shifter_value > 9) {
> -		drm_dbg_kms(&i915->drm, "Bogus port %c VBT HDMI level shift %d, adjusting to %d\n",
> +		drm_dbg_kms(display->drm,
> +			    "Bogus port %c VBT HDMI level shift %d, adjusting to %d\n",
>  			    port_name(port), devdata->child.hdmi_level_shifter_value, 9);
>  
>  		devdata->child.hdmi_level_shifter_value = 9;
> @@ -2563,14 +2577,14 @@ intel_bios_encoder_supports_dsi(const struct intel_bios_encoder_data *devdata)
>  bool
>  intel_bios_encoder_is_lspcon(const struct intel_bios_encoder_data *devdata)
>  {
> -	return devdata && HAS_LSPCON(devdata->i915) && devdata->child.lspcon;
> +	return devdata && HAS_LSPCON(devdata->display) && devdata->child.lspcon;
>  }
>  
>  /* This is an index in the HDMI/DVI DDI buffer translation table, or -1 */
>  int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata)
>  {
> -	if (!devdata || devdata->i915->display.vbt.version < 158 ||
> -	    DISPLAY_VER(devdata->i915) >= 14)
> +	if (!devdata || devdata->display->vbt.version < 158 ||
> +	    DISPLAY_VER(devdata->display) >= 14)
>  		return -1;
>  
>  	return devdata->child.hdmi_level_shifter_value;
> @@ -2578,7 +2592,7 @@ int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata)
>  
>  int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata)
>  {
> -	if (!devdata || devdata->i915->display.vbt.version < 204)
> +	if (!devdata || devdata->display->vbt.version < 204)
>  		return 0;
>  
>  	switch (devdata->child.hdmi_max_data_rate) {
> @@ -2600,8 +2614,9 @@ int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata
>  	}
>  }
>  
> -static bool is_port_valid(struct drm_i915_private *i915, enum port port)
> +static bool is_port_valid(struct intel_display *display, enum port port)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	/*
>  	 * On some ICL SKUs port F is not present, but broken VBTs mark
>  	 * the port as present. Only try to initialize port F for the
> @@ -2615,7 +2630,7 @@ static bool is_port_valid(struct drm_i915_private *i915, enum port port)
>  
>  static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
>  {
> -	struct drm_i915_private *i915 = devdata->i915;
> +	struct intel_display *display = devdata->display;
>  	const struct child_device_config *child = &devdata->child;
>  	bool is_dvi, is_hdmi, is_dp, is_edp, is_dsi, is_crt, supports_typec_usb, supports_tbt;
>  	int dp_boost_level, dp_max_link_rate, hdmi_boost_level, hdmi_level_shift, max_tmds_clock;
> @@ -2635,7 +2650,7 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
>  	supports_typec_usb = intel_bios_encoder_supports_typec_usb(devdata);
>  	supports_tbt = intel_bios_encoder_supports_tbt(devdata);
>  
> -	drm_dbg_kms(&i915->drm,
> +	drm_dbg_kms(display->drm,
>  		    "Port %c VBT info: CRT:%d DVI:%d HDMI:%d DP:%d eDP:%d DSI:%d DP++:%d LSPCON:%d USB-Type-C:%d TBT:%d DSC:%d\n",
>  		    port_name(port), is_crt, is_dvi, is_hdmi, is_dp, is_edp, is_dsi,
>  		    intel_bios_encoder_supports_dp_dual_mode(devdata),
> @@ -2645,33 +2660,33 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
>  
>  	hdmi_level_shift = intel_bios_hdmi_level_shift(devdata);
>  	if (hdmi_level_shift >= 0) {
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Port %c VBT HDMI level shift: %d\n",
>  			    port_name(port), hdmi_level_shift);
>  	}
>  
>  	max_tmds_clock = intel_bios_hdmi_max_tmds_clock(devdata);
>  	if (max_tmds_clock)
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Port %c VBT HDMI max TMDS clock: %d kHz\n",
>  			    port_name(port), max_tmds_clock);
>  
>  	/* I_boost config for SKL and above */
>  	dp_boost_level = intel_bios_dp_boost_level(devdata);
>  	if (dp_boost_level)
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Port %c VBT (e)DP boost level: %d\n",
>  			    port_name(port), dp_boost_level);
>  
>  	hdmi_boost_level = intel_bios_hdmi_boost_level(devdata);
>  	if (hdmi_boost_level)
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Port %c VBT HDMI boost level: %d\n",
>  			    port_name(port), hdmi_boost_level);
>  
>  	dp_max_link_rate = intel_bios_dp_max_link_rate(devdata);
>  	if (dp_max_link_rate)
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Port %c VBT DP max link rate: %d\n",
>  			    port_name(port), dp_max_link_rate);
>  
> @@ -2679,22 +2694,22 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
>  	 * FIXME need to implement support for VBT
>  	 * vswing/preemph tables should this ever trigger.
>  	 */
> -	drm_WARN(&i915->drm, child->use_vbt_vswing,
> +	drm_WARN(display->drm, child->use_vbt_vswing,
>  		 "Port %c asks to use VBT vswing/preemph tables\n",
>  		 port_name(port));
>  }
>  
>  static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
>  {
> -	struct drm_i915_private *i915 = devdata->i915;
> +	struct intel_display *display = devdata->display;
>  	enum port port;
>  
>  	port = intel_bios_encoder_port(devdata);
>  	if (port == PORT_NONE)
>  		return;
>  
> -	if (!is_port_valid(i915, port)) {
> -		drm_dbg_kms(&i915->drm,
> +	if (!is_port_valid(display, port)) {
> +		drm_dbg_kms(display->drm,
>  			    "VBT reports port %c as supported, but that can't be true: skipping\n",
>  			    port_name(port));
>  		return;
> @@ -2704,22 +2719,24 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
>  	sanitize_hdmi_level_shift(devdata, port);
>  }
>  
> -static bool has_ddi_port_info(struct drm_i915_private *i915)
> +static bool has_ddi_port_info(struct intel_display *display)
>  {
> -	return DISPLAY_VER(i915) >= 5 || IS_G4X(i915);
> +	struct drm_i915_private *i915 = to_i915(display->drm);
> +
> +	return DISPLAY_VER(display) >= 5 || IS_G4X(i915);
>  }
>  
> -static void parse_ddi_ports(struct drm_i915_private *i915)
> +static void parse_ddi_ports(struct intel_display *display)
>  {
>  	struct intel_bios_encoder_data *devdata;
>  
> -	if (!has_ddi_port_info(i915))
> +	if (!has_ddi_port_info(display))
>  		return;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node)
>  		parse_ddi_port(devdata);
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node)
>  		print_ddi_port(devdata);
>  }
>  
> @@ -2745,27 +2762,27 @@ static int child_device_expected_size(u16 version)
>  		return 22;
>  }
>  
> -static bool child_device_size_valid(struct drm_i915_private *i915, int size)
> +static bool child_device_size_valid(struct intel_display *display, int size)
>  {
>  	int expected_size;
>  
> -	expected_size = child_device_expected_size(i915->display.vbt.version);
> +	expected_size = child_device_expected_size(display->vbt.version);
>  	if (expected_size < 0) {
>  		expected_size = sizeof(struct child_device_config);
> -		drm_dbg(&i915->drm,
> +		drm_dbg(display->drm,
>  			"Expected child device config size for VBT version %u not known; assuming %d\n",
> -			i915->display.vbt.version, expected_size);
> +			display->vbt.version, expected_size);
>  	}
>  
>  	/* Flag an error for unexpected size, but continue anyway. */
>  	if (size != expected_size)
> -		drm_err(&i915->drm,
> +		drm_err(display->drm,
>  			"Unexpected child device config size %d (expected %d for VBT version %u)\n",
> -			size, expected_size, i915->display.vbt.version);
> +			size, expected_size, display->vbt.version);
>  
>  	/* The legacy sized child device config is the minimum we need. */
>  	if (size < LEGACY_CHILD_DEVICE_CONFIG_SIZE) {
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Child device config size %d is too small.\n",
>  			    size);
>  		return false;
> @@ -2775,8 +2792,9 @@ static bool child_device_size_valid(struct drm_i915_private *i915, int size)
>  }
>  
>  static void
> -parse_general_definitions(struct drm_i915_private *i915)
> +parse_general_definitions(struct intel_display *display)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct bdb_general_definitions *defs;
>  	struct intel_bios_encoder_data *devdata;
>  	const struct child_device_config *child;
> @@ -2784,27 +2802,27 @@ parse_general_definitions(struct drm_i915_private *i915)
>  	u16 block_size;
>  	int bus_pin;
>  
> -	defs = bdb_find_section(i915, BDB_GENERAL_DEFINITIONS);
> +	defs = bdb_find_section(display, BDB_GENERAL_DEFINITIONS);
>  	if (!defs) {
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "No general definition block is found, no devices defined.\n");
>  		return;
>  	}
>  
>  	block_size = get_blocksize(defs);
>  	if (block_size < sizeof(*defs)) {
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "General definitions block too small (%u)\n",
>  			    block_size);
>  		return;
>  	}
>  
>  	bus_pin = defs->crt_ddc_gmbus_pin;
> -	drm_dbg_kms(&i915->drm, "crt_ddc_bus_pin: %d\n", bus_pin);
> +	drm_dbg_kms(display->drm, "crt_ddc_bus_pin: %d\n", bus_pin);
>  	if (intel_gmbus_is_valid_pin(i915, bus_pin))
> -		i915->display.vbt.crt_ddc_pin = bus_pin;
> +		display->vbt.crt_ddc_pin = bus_pin;
>  
> -	if (!child_device_size_valid(i915, defs->child_dev_size))
> +	if (!child_device_size_valid(display, defs->child_dev_size))
>  		return;
>  
>  	/* get the number of child device */
> @@ -2815,7 +2833,7 @@ parse_general_definitions(struct drm_i915_private *i915)
>  		if (!child->device_type)
>  			continue;
>  
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Found VBT child device with type 0x%x\n",
>  			    child->device_type);
>  
> @@ -2823,7 +2841,7 @@ parse_general_definitions(struct drm_i915_private *i915)
>  		if (!devdata)
>  			break;
>  
> -		devdata->i915 = i915;
> +		devdata->display = display;
>  
>  		/*
>  		 * Copy as much as we know (sizeof) and is available
> @@ -2833,37 +2851,39 @@ parse_general_definitions(struct drm_i915_private *i915)
>  		memcpy(&devdata->child, child,
>  		       min_t(size_t, defs->child_dev_size, sizeof(*child)));
>  
> -		list_add_tail(&devdata->node, &i915->display.vbt.display_devices);
> +		list_add_tail(&devdata->node, &display->vbt.display_devices);
>  	}
>  
> -	if (list_empty(&i915->display.vbt.display_devices))
> -		drm_dbg_kms(&i915->drm,
> +	if (list_empty(&display->vbt.display_devices))
> +		drm_dbg_kms(display->drm,
>  			    "no child dev is parsed from VBT\n");
>  }
>  
>  /* Common defaults which may be overridden by VBT. */
>  static void
> -init_vbt_defaults(struct drm_i915_private *i915)
> +init_vbt_defaults(struct intel_display *display)
>  {
> -	i915->display.vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
> +	struct drm_i915_private *i915 = to_i915(display->drm);
> +
> +	display->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC;
>  
>  	/* general features */
> -	i915->display.vbt.int_tv_support = 1;
> -	i915->display.vbt.int_crt_support = 1;
> +	display->vbt.int_tv_support = 1;
> +	display->vbt.int_crt_support = 1;
>  
>  	/* driver features */
> -	i915->display.vbt.int_lvds_support = 1;
> +	display->vbt.int_lvds_support = 1;
>  
>  	/* Default to using SSC */
> -	i915->display.vbt.lvds_use_ssc = 1;
> +	display->vbt.lvds_use_ssc = 1;
>  	/*
>  	 * Core/SandyBridge/IvyBridge use alternative (120MHz) reference
>  	 * clock for LVDS.
>  	 */
> -	i915->display.vbt.lvds_ssc_freq = intel_bios_ssc_frequency(i915,
> -								   !HAS_PCH_SPLIT(i915));
> -	drm_dbg_kms(&i915->drm, "Set default to SSC at %d kHz\n",
> -		    i915->display.vbt.lvds_ssc_freq);
> +	display->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(display,
> +							      !HAS_PCH_SPLIT(i915));
> +	drm_dbg_kms(display->drm, "Set default to SSC at %d kHz\n",
> +		    display->vbt.lvds_ssc_freq);
>  }
>  
>  /* Common defaults which may be overridden by VBT. */
> @@ -2879,12 +2899,13 @@ init_vbt_panel_defaults(struct intel_panel *panel)
>  
>  /* Defaults to initialize only if there is no VBT. */
>  static void
> -init_vbt_missing_defaults(struct drm_i915_private *i915)
> +init_vbt_missing_defaults(struct intel_display *display)
>  {
> -	unsigned int ports = DISPLAY_RUNTIME_INFO(i915)->port_mask;
> +	struct drm_i915_private *i915 = to_i915(display->drm);
> +	unsigned int ports = DISPLAY_RUNTIME_INFO(display)->port_mask;
>  	enum port port;
>  
> -	if (!HAS_DDI(i915) && !IS_CHERRYVIEW(i915))
> +	if (!HAS_DDI(display) && !IS_CHERRYVIEW(i915))
>  		return;
>  
>  	for_each_port_masked(port, ports) {
> @@ -2904,7 +2925,7 @@ init_vbt_missing_defaults(struct drm_i915_private *i915)
>  		if (!devdata)
>  			break;
>  
> -		devdata->i915 = i915;
> +		devdata->display = display;
>  		child = &devdata->child;
>  
>  		if (port == PORT_F)
> @@ -2923,15 +2944,15 @@ init_vbt_missing_defaults(struct drm_i915_private *i915)
>  		if (port == PORT_A)
>  			child->device_type |= DEVICE_TYPE_INTERNAL_CONNECTOR;
>  
> -		list_add_tail(&devdata->node, &i915->display.vbt.display_devices);
> +		list_add_tail(&devdata->node, &display->vbt.display_devices);
>  
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Generating default VBT child device with type 0x04%x on port %c\n",
>  			    child->device_type, port_name(port));
>  	}
>  
>  	/* Bypass some minimum baseline VBT version checks */
> -	i915->display.vbt.version = 155;
> +	display->vbt.version = 155;
>  }
>  
>  static const struct bdb_header *get_bdb_header(const struct vbt_header *vbt)
> @@ -2943,13 +2964,13 @@ static const struct bdb_header *get_bdb_header(const struct vbt_header *vbt)
>  
>  /**
>   * intel_bios_is_valid_vbt - does the given buffer contain a valid VBT
> - * @i915:	the device
> + * @display:	display device
>   * @buf:	pointer to a buffer to validate
>   * @size:	size of the buffer
>   *
>   * Returns true on valid VBT.
>   */
> -bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
> +bool intel_bios_is_valid_vbt(struct intel_display *display,
>  			     const void *buf, size_t size)
>  {
>  	const struct vbt_header *vbt = buf;
> @@ -2959,17 +2980,18 @@ bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
>  		return false;
>  
>  	if (sizeof(struct vbt_header) > size) {
> -		drm_dbg_kms(&i915->drm, "VBT header incomplete\n");
> +		drm_dbg_kms(display->drm, "VBT header incomplete\n");
>  		return false;
>  	}
>  
>  	if (memcmp(vbt->signature, "$VBT", 4)) {
> -		drm_dbg_kms(&i915->drm, "VBT invalid signature\n");
> +		drm_dbg_kms(display->drm, "VBT invalid signature\n");
>  		return false;
>  	}
>  
>  	if (vbt->vbt_size > size) {
> -		drm_dbg_kms(&i915->drm, "VBT incomplete (vbt_size overflows)\n");
> +		drm_dbg_kms(display->drm,
> +			    "VBT incomplete (vbt_size overflows)\n");
>  		return false;
>  	}
>  
> @@ -2979,48 +3001,48 @@ bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
>  			      vbt->bdb_offset,
>  			      sizeof(struct bdb_header),
>  			      size)) {
> -		drm_dbg_kms(&i915->drm, "BDB header incomplete\n");
> +		drm_dbg_kms(display->drm, "BDB header incomplete\n");
>  		return false;
>  	}
>  
>  	bdb = get_bdb_header(vbt);
>  	if (range_overflows_t(size_t, vbt->bdb_offset, bdb->bdb_size, size)) {
> -		drm_dbg_kms(&i915->drm, "BDB incomplete\n");
> +		drm_dbg_kms(display->drm, "BDB incomplete\n");
>  		return false;
>  	}
>  
>  	return vbt;
>  }
>  
> -static struct vbt_header *firmware_get_vbt(struct drm_i915_private *i915,
> +static struct vbt_header *firmware_get_vbt(struct intel_display *display,
>  					   size_t *size)
>  {
>  	struct vbt_header *vbt = NULL;
>  	const struct firmware *fw = NULL;
> -	const char *name = i915->display.params.vbt_firmware;
> +	const char *name = display->params.vbt_firmware;
>  	int ret;
>  
>  	if (!name || !*name)
>  		return NULL;
>  
> -	ret = request_firmware(&fw, name, i915->drm.dev);
> +	ret = request_firmware(&fw, name, display->drm->dev);
>  	if (ret) {
> -		drm_err(&i915->drm,
> +		drm_err(display->drm,
>  			"Requesting VBT firmware \"%s\" failed (%d)\n",
>  			name, ret);
>  		return NULL;
>  	}
>  
> -	if (intel_bios_is_valid_vbt(i915, fw->data, fw->size)) {
> +	if (intel_bios_is_valid_vbt(display, fw->data, fw->size)) {
>  		vbt = kmemdup(fw->data, fw->size, GFP_KERNEL);
>  		if (vbt) {
> -			drm_dbg_kms(&i915->drm,
> +			drm_dbg_kms(display->drm,
>  				    "Found valid VBT firmware \"%s\"\n", name);
>  			if (size)
>  				*size = fw->size;
>  		}
>  	} else {
> -		drm_dbg_kms(&i915->drm, "Invalid VBT firmware \"%s\"\n",
> +		drm_dbg_kms(display->drm, "Invalid VBT firmware \"%s\"\n",
>  			    name);
>  	}
>  
> @@ -3036,9 +3058,10 @@ static u32 intel_spi_read(struct intel_uncore *uncore, u32 offset)
>  	return intel_uncore_read(uncore, PRIMARY_SPI_TRIGGER);
>  }
>  
> -static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915,
> +static struct vbt_header *spi_oprom_get_vbt(struct intel_display *display,
>  					    size_t *size)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	u32 count, data, found, store = 0;
>  	u32 static_region, oprom_offset;
>  	u32 oprom_size = 0x200000;
> @@ -3075,10 +3098,10 @@ static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915,
>  	for (count = 0; count < vbt_size; count += 4)
>  		*(vbt + store++) = intel_spi_read(&i915->uncore, found + count);
>  
> -	if (!intel_bios_is_valid_vbt(i915, vbt, vbt_size))
> +	if (!intel_bios_is_valid_vbt(display, vbt, vbt_size))
>  		goto err_free_vbt;
>  
> -	drm_dbg_kms(&i915->drm, "Found valid VBT in SPI flash\n");
> +	drm_dbg_kms(display->drm, "Found valid VBT in SPI flash\n");
>  
>  	if (size)
>  		*size = vbt_size;
> @@ -3091,10 +3114,10 @@ static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915,
>  	return NULL;
>  }
>  
> -static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
> +static struct vbt_header *oprom_get_vbt(struct intel_display *display,
>  					size_t *sizep)
>  {
> -	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> +	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
>  	void __iomem *p = NULL, *oprom;
>  	struct vbt_header *vbt;
>  	u16 vbt_size;
> @@ -3118,13 +3141,13 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
>  		goto err_unmap_oprom;
>  
>  	if (sizeof(struct vbt_header) > size) {
> -		drm_dbg(&i915->drm, "VBT header incomplete\n");
> +		drm_dbg(display->drm, "VBT header incomplete\n");
>  		goto err_unmap_oprom;
>  	}
>  
>  	vbt_size = ioread16(p + offsetof(struct vbt_header, vbt_size));
>  	if (vbt_size > size) {
> -		drm_dbg(&i915->drm,
> +		drm_dbg(display->drm,
>  			"VBT incomplete (vbt_size overflows)\n");
>  		goto err_unmap_oprom;
>  	}
> @@ -3136,7 +3159,7 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
>  
>  	memcpy_fromio(vbt, p, vbt_size);
>  
> -	if (!intel_bios_is_valid_vbt(i915, vbt, vbt_size))
> +	if (!intel_bios_is_valid_vbt(display, vbt, vbt_size))
>  		goto err_free_vbt;
>  
>  	pci_unmap_rom(pdev, oprom);
> @@ -3144,7 +3167,7 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
>  	if (sizep)
>  		*sizep = vbt_size;
>  
> -	drm_dbg_kms(&i915->drm, "Found valid VBT in PCI ROM\n");
> +	drm_dbg_kms(display->drm, "Found valid VBT in PCI ROM\n");
>  
>  	return vbt;
>  
> @@ -3156,14 +3179,14 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915,
>  	return NULL;
>  }
>  
> -static const struct vbt_header *intel_bios_get_vbt(struct drm_i915_private *i915,
> +static const struct vbt_header *intel_bios_get_vbt(struct intel_display *display,
>  						   size_t *sizep)
>  {
> -	struct intel_display *display = &i915->display;
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct vbt_header *vbt = NULL;
>  	intel_wakeref_t wakeref;
>  
> -	vbt = firmware_get_vbt(i915, sizep);
> +	vbt = firmware_get_vbt(display, sizep);
>  
>  	if (!vbt)
>  		vbt = intel_opregion_get_vbt(display, sizep);
> @@ -3174,76 +3197,77 @@ static const struct vbt_header *intel_bios_get_vbt(struct drm_i915_private *i915
>  	 */
>  	if (!vbt && IS_DGFX(i915))
>  		with_intel_runtime_pm(&i915->runtime_pm, wakeref)
> -			vbt = spi_oprom_get_vbt(i915, sizep);
> +			vbt = spi_oprom_get_vbt(display, sizep);
>  
>  	if (!vbt)
>  		with_intel_runtime_pm(&i915->runtime_pm, wakeref)
> -			vbt = oprom_get_vbt(i915, sizep);
> +			vbt = oprom_get_vbt(display, sizep);
>  
>  	return vbt;
>  }
>  
>  /**
>   * intel_bios_init - find VBT and initialize settings from the BIOS
> - * @i915: i915 device instance
> + * @display: display device instance
>   *
>   * Parse and initialize settings from the Video BIOS Tables (VBT). If the VBT
>   * was not found in ACPI OpRegion, try to find it in PCI ROM first. Also
>   * initialize some defaults if the VBT is not present at all.
>   */
> -void intel_bios_init(struct drm_i915_private *i915)
> +void intel_bios_init(struct intel_display *display)
>  {
>  	const struct vbt_header *vbt;
>  	const struct bdb_header *bdb;
>  
> -	INIT_LIST_HEAD(&i915->display.vbt.display_devices);
> -	INIT_LIST_HEAD(&i915->display.vbt.bdb_blocks);
> +	INIT_LIST_HEAD(&display->vbt.display_devices);
> +	INIT_LIST_HEAD(&display->vbt.bdb_blocks);
>  
> -	if (!HAS_DISPLAY(i915)) {
> -		drm_dbg_kms(&i915->drm,
> +	if (!HAS_DISPLAY(display)) {
> +		drm_dbg_kms(display->drm,
>  			    "Skipping VBT init due to disabled display.\n");
>  		return;
>  	}
>  
> -	init_vbt_defaults(i915);
> +	init_vbt_defaults(display);
>  
> -	vbt = intel_bios_get_vbt(i915, NULL);
> +	vbt = intel_bios_get_vbt(display, NULL);
>  
>  	if (!vbt)
>  		goto out;
>  
>  	bdb = get_bdb_header(vbt);
> -	i915->display.vbt.version = bdb->version;
> +	display->vbt.version = bdb->version;
>  
> -	drm_dbg_kms(&i915->drm,
> +	drm_dbg_kms(display->drm,
>  		    "VBT signature \"%.*s\", BDB version %d\n",
> -		    (int)sizeof(vbt->signature), vbt->signature, i915->display.vbt.version);
> +		    (int)sizeof(vbt->signature), vbt->signature,
> +		    display->vbt.version);
>  
> -	init_bdb_blocks(i915, bdb);
> +	init_bdb_blocks(display, bdb);
>  
>  	/* Grab useful general definitions */
> -	parse_general_features(i915);
> -	parse_general_definitions(i915);
> -	parse_driver_features(i915);
> +	parse_general_features(display);
> +	parse_general_definitions(display);
> +	parse_driver_features(display);
>  
>  	/* Depends on child device list */
> -	parse_compression_parameters(i915);
> +	parse_compression_parameters(display);
>  
>  out:
>  	if (!vbt) {
> -		drm_info(&i915->drm,
> +		drm_info(display->drm,
>  			 "Failed to find VBIOS tables (VBT)\n");
> -		init_vbt_missing_defaults(i915);
> +		init_vbt_missing_defaults(display);
>  	}
>  
>  	/* Further processing on pre-parsed or generated child device data */
> -	parse_sdvo_device_mapping(i915);
> -	parse_ddi_ports(i915);
> +	parse_sdvo_device_mapping(display);
> +	parse_ddi_ports(display);
>  
>  	kfree(vbt);
>  }
>  
> -static void intel_bios_init_panel(struct drm_i915_private *i915,
> +static void intel_bios_init_panel(struct intel_display *display,
>  				  struct intel_panel *panel,
>  				  const struct intel_bios_encoder_data *devdata,
>  				  const struct drm_edid *drm_edid,
> @@ -3251,63 +3275,64 @@ static void intel_bios_init_panel(struct drm_i915_private *i915,
>  {
>  	/* already have it? */
>  	if (panel->vbt.panel_type >= 0) {
> -		drm_WARN_ON(&i915->drm, !use_fallback);
> +		drm_WARN_ON(display->drm, !use_fallback);
>  		return;
>  	}
>  
> -	panel->vbt.panel_type = get_panel_type(i915, devdata,
> +	panel->vbt.panel_type = get_panel_type(display, devdata,
>  					       drm_edid, use_fallback);
>  	if (panel->vbt.panel_type < 0) {
> -		drm_WARN_ON(&i915->drm, use_fallback);
> +		drm_WARN_ON(display->drm, use_fallback);
>  		return;
>  	}
>  
>  	init_vbt_panel_defaults(panel);
>  
> -	parse_panel_options(i915, panel);
> -	parse_generic_dtd(i915, panel);
> -	parse_lfp_data(i915, panel);
> -	parse_lfp_backlight(i915, panel);
> -	parse_sdvo_lvds_data(i915, panel);
> -	parse_panel_driver_features(i915, panel);
> -	parse_power_conservation_features(i915, panel);
> -	parse_edp(i915, panel);
> -	parse_psr(i915, panel);
> -	parse_mipi_config(i915, panel);
> -	parse_mipi_sequence(i915, panel);
> +	parse_panel_options(display, panel);
> +	parse_generic_dtd(display, panel);
> +	parse_lfp_data(display, panel);
> +	parse_lfp_backlight(display, panel);
> +	parse_sdvo_lvds_data(display, panel);
> +	parse_panel_driver_features(display, panel);
> +	parse_power_conservation_features(display, panel);
> +	parse_edp(display, panel);
> +	parse_psr(display, panel);
> +	parse_mipi_config(display, panel);
> +	parse_mipi_sequence(display, panel);
>  }
>  
> -void intel_bios_init_panel_early(struct drm_i915_private *i915,
> +void intel_bios_init_panel_early(struct intel_display *display,
>  				 struct intel_panel *panel,
>  				 const struct intel_bios_encoder_data *devdata)
>  {
> -	intel_bios_init_panel(i915, panel, devdata, NULL, false);
> +	intel_bios_init_panel(display, panel, devdata, NULL, false);
>  }
>  
> -void intel_bios_init_panel_late(struct drm_i915_private *i915,
> +void intel_bios_init_panel_late(struct intel_display *display,
>  				struct intel_panel *panel,
>  				const struct intel_bios_encoder_data *devdata,
>  				const struct drm_edid *drm_edid)
>  {
> -	intel_bios_init_panel(i915, panel, devdata, drm_edid, true);
> +	intel_bios_init_panel(display, panel, devdata, drm_edid, true);
>  }
>  
>  /**
>   * intel_bios_driver_remove - Free any resources allocated by intel_bios_init()
> - * @i915: i915 device instance
> + * @display: display device instance
>   */
> -void intel_bios_driver_remove(struct drm_i915_private *i915)
> +void intel_bios_driver_remove(struct intel_display *display)
>  {
>  	struct intel_bios_encoder_data *devdata, *nd;
>  	struct bdb_block_entry *entry, *ne;
>  
> -	list_for_each_entry_safe(devdata, nd, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry_safe(devdata, nd, &display->vbt.display_devices,
> +				 node) {
>  		list_del(&devdata->node);
>  		kfree(devdata->dsc);
>  		kfree(devdata);
>  	}
>  
> -	list_for_each_entry_safe(entry, ne, &i915->display.vbt.bdb_blocks, node) {
> +	list_for_each_entry_safe(entry, ne, &display->vbt.bdb_blocks, node) {
>  		list_del(&entry->node);
>  		kfree(entry);
>  	}
> @@ -3331,22 +3356,22 @@ void intel_bios_fini_panel(struct intel_panel *panel)
>  
>  /**
>   * intel_bios_is_tv_present - is integrated TV present in VBT
> - * @i915: i915 device instance
> + * @display: display device instance
>   *
>   * Return true if TV is present. If no child devices were parsed from VBT,
>   * assume TV is present.
>   */
> -bool intel_bios_is_tv_present(struct drm_i915_private *i915)
> +bool intel_bios_is_tv_present(struct intel_display *display)
>  {
>  	const struct intel_bios_encoder_data *devdata;
>  
> -	if (!i915->display.vbt.int_tv_support)
> +	if (!display->vbt.int_tv_support)
>  		return false;
>  
> -	if (list_empty(&i915->display.vbt.display_devices))
> +	if (list_empty(&display->vbt.display_devices))
>  		return true;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		const struct child_device_config *child = &devdata->child;
>  
>  		/*
> @@ -3372,21 +3397,21 @@ bool intel_bios_is_tv_present(struct drm_i915_private *i915)
>  
>  /**
>   * intel_bios_is_lvds_present - is LVDS present in VBT
> - * @i915:	i915 device instance
> + * @display: display device instance
>   * @i2c_pin:	i2c pin for LVDS if present
>   *
>   * Return true if LVDS is present. If no child devices were parsed from VBT,
>   * assume LVDS is present.
>   */
> -bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
> +bool intel_bios_is_lvds_present(struct intel_display *display, u8 *i2c_pin)
>  {
> -	struct intel_display *display = &i915->display;
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct intel_bios_encoder_data *devdata;
>  
> -	if (list_empty(&i915->display.vbt.display_devices))
> +	if (list_empty(&display->vbt.display_devices))
>  		return true;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		const struct child_device_config *child = &devdata->child;
>  
>  		/* If the device type is not LFP, continue.
> @@ -3421,25 +3446,25 @@ bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
>  
>  /**
>   * intel_bios_is_port_present - is the specified digital port present
> - * @i915:	i915 device instance
> + * @display: display device instance
>   * @port:	port to check
>   *
>   * Return true if the device in %port is present.
>   */
> -bool intel_bios_is_port_present(struct drm_i915_private *i915, enum port port)
> +bool intel_bios_is_port_present(struct intel_display *display, enum port port)
>  {
>  	const struct intel_bios_encoder_data *devdata;
>  
> -	if (WARN_ON(!has_ddi_port_info(i915)))
> +	if (WARN_ON(!has_ddi_port_info(display)))
>  		return true;
>  
> -	if (!is_port_valid(i915, port))
> +	if (!is_port_valid(display, port))
>  		return false;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		const struct child_device_config *child = &devdata->child;
>  
> -		if (dvo_port_to_port(i915, child->dvo_port) == port)
> +		if (dvo_port_to_port(display, child->dvo_port) == port)
>  			return true;
>  	}
>  
> @@ -3470,32 +3495,32 @@ bool intel_bios_encoder_supports_dp_dual_mode(const struct intel_bios_encoder_da
>  
>  /**
>   * intel_bios_is_dsi_present - is DSI present in VBT
> - * @i915:	i915 device instance
> + * @display: display device instance
>   * @port:	port for DSI if present
>   *
>   * Return true if DSI is present, and return the port in %port.
>   */
> -bool intel_bios_is_dsi_present(struct drm_i915_private *i915,
> +bool intel_bios_is_dsi_present(struct intel_display *display,
>  			       enum port *port)
>  {
>  	const struct intel_bios_encoder_data *devdata;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		const struct child_device_config *child = &devdata->child;
>  		u8 dvo_port = child->dvo_port;
>  
>  		if (!(child->device_type & DEVICE_TYPE_MIPI_OUTPUT))
>  			continue;
>  
> -		if (dsi_dvo_port_to_port(i915, dvo_port) == PORT_NONE) {
> -			drm_dbg_kms(&i915->drm,
> +		if (dsi_dvo_port_to_port(display, dvo_port) == PORT_NONE) {
> +			drm_dbg_kms(display->drm,
>  				    "VBT has unsupported DSI port %c\n",
>  				    port_name(dvo_port - DVO_PORT_MIPIA));
>  			continue;
>  		}
>  
>  		if (port)
> -			*port = dsi_dvo_port_to_port(i915, dvo_port);
> +			*port = dsi_dvo_port_to_port(display, dvo_port);
>  		return true;
>  	}
>  
> @@ -3506,7 +3531,7 @@ static void fill_dsc(struct intel_crtc_state *crtc_state,
>  		     struct dsc_compression_parameters_entry *dsc,
>  		     int dsc_max_bpc)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
> +	struct intel_display *display = to_intel_display(crtc_state);
>  	struct drm_dsc_config *vdsc_cfg = &crtc_state->dsc.config;
>  	int bpc = 8;
>  
> @@ -3520,7 +3545,7 @@ static void fill_dsc(struct intel_crtc_state *crtc_state,
>  	else if (dsc->support_8bpc && dsc_max_bpc >= 8)
>  		bpc = 8;
>  	else
> -		drm_dbg_kms(&i915->drm, "VBT: Unsupported BPC %d for DCS\n",
> +		drm_dbg_kms(display->drm, "VBT: Unsupported BPC %d for DCS\n",
>  			    dsc_max_bpc);
>  
>  	crtc_state->pipe_bpp = bpc * 3;
> @@ -3541,14 +3566,16 @@ static void fill_dsc(struct intel_crtc_state *crtc_state,
>  	} else {
>  		/* FIXME */
>  		if (!(dsc->slices_per_line & BIT(0)))
> -			drm_dbg_kms(&i915->drm, "VBT: Unsupported DSC slice count for DSI\n");
> +			drm_dbg_kms(display->drm,
> +				    "VBT: Unsupported DSC slice count for DSI\n");
>  
>  		crtc_state->dsc.slice_count = 1;
>  	}
>  
>  	if (crtc_state->hw.adjusted_mode.crtc_hdisplay %
>  	    crtc_state->dsc.slice_count != 0)
> -		drm_dbg_kms(&i915->drm, "VBT: DSC hdisplay %d not divisible by slice count %d\n",
> +		drm_dbg_kms(display->drm,
> +			    "VBT: DSC hdisplay %d not divisible by slice count %d\n",
>  			    crtc_state->hw.adjusted_mode.crtc_hdisplay,
>  			    crtc_state->dsc.slice_count);
>  
> @@ -3572,16 +3599,16 @@ bool intel_bios_get_dsc_params(struct intel_encoder *encoder,
>  			       struct intel_crtc_state *crtc_state,
>  			       int dsc_max_bpc)
>  {
> -	struct drm_i915_private *i915 = to_i915(encoder->base.dev);
> +	struct intel_display *display = to_intel_display(encoder);
>  	const struct intel_bios_encoder_data *devdata;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		const struct child_device_config *child = &devdata->child;
>  
>  		if (!(child->device_type & DEVICE_TYPE_MIPI_OUTPUT))
>  			continue;
>  
> -		if (dsi_dvo_port_to_port(i915, child->dvo_port) == encoder->port) {
> +		if (dsi_dvo_port_to_port(display, child->dvo_port) == encoder->port) {
>  			if (!devdata->dsc)
>  				return false;
>  
> @@ -3641,12 +3668,13 @@ static const u8 direct_aux_ch_map[] = {
>  	[AUX_CH_I] = DP_AUX_I, /* aka AUX_CH_USBC6 */
>  };
>  
> -static enum aux_ch map_aux_ch(struct drm_i915_private *i915, u8 aux_channel)
> +static enum aux_ch map_aux_ch(struct intel_display *display, u8 aux_channel)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const u8 *aux_ch_map;
>  	int i, n_entries;
>  
> -	if (DISPLAY_VER(i915) >= 13) {
> +	if (DISPLAY_VER(display) >= 13) {
>  		aux_ch_map = adlp_aux_ch_map;
>  		n_entries = ARRAY_SIZE(adlp_aux_ch_map);
>  	} else if (IS_ALDERLAKE_S(i915)) {
> @@ -3665,7 +3693,7 @@ static enum aux_ch map_aux_ch(struct drm_i915_private *i915, u8 aux_channel)
>  			return i;
>  	}
>  
> -	drm_dbg_kms(&i915->drm,
> +	drm_dbg_kms(display->drm,
>  		    "Ignoring alternate AUX CH: VBT claims AUX 0x%x, which is not valid for this platform\n",
>  		    aux_channel);
>  
> @@ -3677,22 +3705,22 @@ enum aux_ch intel_bios_dp_aux_ch(const struct intel_bios_encoder_data *devdata)
>  	if (!devdata || !devdata->child.aux_channel)
>  		return AUX_CH_NONE;
>  
> -	return map_aux_ch(devdata->i915, devdata->child.aux_channel);
> +	return map_aux_ch(devdata->display, devdata->child.aux_channel);
>  }
>  
>  bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devdata)
>  {
> -	struct drm_i915_private *i915;
> +	struct intel_display *display;
>  	u8 aux_channel;
>  	int count = 0;
>  
>  	if (!devdata || !devdata->child.aux_channel)
>  		return false;
>  
> -	i915 = devdata->i915;
> +	display = devdata->display;
>  	aux_channel = devdata->child.aux_channel;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		if (intel_bios_encoder_supports_dp(devdata) &&
>  		    aux_channel == devdata->child.aux_channel)
>  			count++;
> @@ -3703,18 +3731,18 @@ bool intel_bios_dp_has_shared_aux_ch(const struct intel_bios_encoder_data *devda
>  
>  int intel_bios_dp_boost_level(const struct intel_bios_encoder_data *devdata)
>  {
> -	if (!devdata || devdata->i915->display.vbt.version < 196 || !devdata->child.iboost)
> +	if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost)
>  		return 0;
>  
> -	return translate_iboost(devdata->i915, devdata->child.dp_iboost_level);
> +	return translate_iboost(devdata->display, devdata->child.dp_iboost_level);
>  }
>  
>  int intel_bios_hdmi_boost_level(const struct intel_bios_encoder_data *devdata)
>  {
> -	if (!devdata || devdata->i915->display.vbt.version < 196 || !devdata->child.iboost)
> +	if (!devdata || devdata->display->vbt.version < 196 || !devdata->child.iboost)
>  		return 0;
>  
> -	return translate_iboost(devdata->i915, devdata->child.hdmi_iboost_level);
> +	return translate_iboost(devdata->display, devdata->child.hdmi_iboost_level);
>  }
>  
>  int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata)
> @@ -3722,17 +3750,17 @@ int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata)
>  	if (!devdata || !devdata->child.ddc_pin)
>  		return 0;
>  
> -	return map_ddc_pin(devdata->i915, devdata->child.ddc_pin);
> +	return map_ddc_pin(devdata->display, devdata->child.ddc_pin);
>  }
>  
>  bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata)
>  {
> -	return devdata->i915->display.vbt.version >= 195 && devdata->child.dp_usb_type_c;
> +	return devdata->display->vbt.version >= 195 && devdata->child.dp_usb_type_c;
>  }
>  
>  bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devdata)
>  {
> -	return devdata->i915->display.vbt.version >= 209 && devdata->child.tbt;
> +	return devdata->display->vbt.version >= 209 && devdata->child.tbt;
>  }
>  
>  bool intel_bios_encoder_lane_reversal(const struct intel_bios_encoder_data *devdata)
> @@ -3746,11 +3774,11 @@ bool intel_bios_encoder_hpd_invert(const struct intel_bios_encoder_data *devdata
>  }
>  
>  const struct intel_bios_encoder_data *
> -intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port)
> +intel_bios_encoder_data_lookup(struct intel_display *display, enum port port)
>  {
>  	struct intel_bios_encoder_data *devdata;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node) {
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node) {
>  		if (intel_bios_encoder_port(devdata) == port)
>  			return devdata;
>  	}
> @@ -3758,23 +3786,23 @@ intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port)
>  	return NULL;
>  }
>  
> -void intel_bios_for_each_encoder(struct drm_i915_private *i915,
> -				 void (*func)(struct drm_i915_private *i915,
> +void intel_bios_for_each_encoder(struct intel_display *display,
> +				 void (*func)(struct intel_display *display,
>  					      const struct intel_bios_encoder_data *devdata))
>  {
>  	struct intel_bios_encoder_data *devdata;
>  
> -	list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
> -		func(i915, devdata);
> +	list_for_each_entry(devdata, &display->vbt.display_devices, node)
> +		func(display, devdata);
>  }
>  
>  static int intel_bios_vbt_show(struct seq_file *m, void *unused)
>  {
> -	struct drm_i915_private *i915 = m->private;
> +	struct intel_display *display = m->private;
>  	const void *vbt;
>  	size_t vbt_size;
>  
> -	vbt = intel_bios_get_vbt(i915, &vbt_size);
> +	vbt = intel_bios_get_vbt(display, &vbt_size);
>  
>  	if (vbt) {
>  		seq_write(m, vbt, vbt_size);
> @@ -3786,10 +3814,10 @@ static int intel_bios_vbt_show(struct seq_file *m, void *unused)
>  
>  DEFINE_SHOW_ATTRIBUTE(intel_bios_vbt);
>  
> -void intel_bios_debugfs_register(struct drm_i915_private *i915)
> +void intel_bios_debugfs_register(struct intel_display *display)
>  {
> -	struct drm_minor *minor = i915->drm.primary;
> +	struct drm_minor *minor = display->drm->primary;
>  
>  	debugfs_create_file("i915_vbt", 0444, minor->debugfs_root,
> -			    i915, &intel_bios_vbt_fops);
> +			    display, &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 06a51be4afd8..8b703f6cfe17 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.h
> +++ b/drivers/gpu/drm/i915/display/intel_bios.h
> @@ -33,9 +33,9 @@
>  #include <linux/types.h>
>  
>  struct drm_edid;
> -struct drm_i915_private;
>  struct intel_bios_encoder_data;
>  struct intel_crtc_state;
> +struct intel_display;
>  struct intel_encoder;
>  struct intel_panel;
>  enum aux_ch;
> @@ -232,28 +232,28 @@ struct mipi_pps_data {
>  	u16 panel_power_cycle_delay;
>  } __packed;
>  
> -void intel_bios_init(struct drm_i915_private *dev_priv);
> -void intel_bios_init_panel_early(struct drm_i915_private *dev_priv,
> +void intel_bios_init(struct intel_display *display);
> +void intel_bios_init_panel_early(struct intel_display *display,
>  				 struct intel_panel *panel,
>  				 const struct intel_bios_encoder_data *devdata);
> -void intel_bios_init_panel_late(struct drm_i915_private *dev_priv,
> +void intel_bios_init_panel_late(struct intel_display *display,
>  				struct intel_panel *panel,
>  				const struct intel_bios_encoder_data *devdata,
>  				const struct drm_edid *drm_edid);
>  void intel_bios_fini_panel(struct intel_panel *panel);
> -void intel_bios_driver_remove(struct drm_i915_private *dev_priv);
> -bool intel_bios_is_valid_vbt(struct drm_i915_private *i915,
> +void intel_bios_driver_remove(struct intel_display *display);
> +bool intel_bios_is_valid_vbt(struct intel_display *display,
>  			     const void *buf, size_t size);
> -bool intel_bios_is_tv_present(struct drm_i915_private *dev_priv);
> -bool intel_bios_is_lvds_present(struct drm_i915_private *dev_priv, u8 *i2c_pin);
> -bool intel_bios_is_port_present(struct drm_i915_private *dev_priv, enum port port);
> -bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port *port);
> +bool intel_bios_is_tv_present(struct intel_display *display);
> +bool intel_bios_is_lvds_present(struct intel_display *display, u8 *i2c_pin);
> +bool intel_bios_is_port_present(struct intel_display *display, enum port port);
> +bool intel_bios_is_dsi_present(struct intel_display *display, enum port *port);
>  bool intel_bios_get_dsc_params(struct intel_encoder *encoder,
>  			       struct intel_crtc_state *crtc_state,
>  			       int dsc_max_bpc);
>  
>  const struct intel_bios_encoder_data *
> -intel_bios_encoder_data_lookup(struct drm_i915_private *i915, enum port port);
> +intel_bios_encoder_data_lookup(struct intel_display *display, enum port port);
>  
>  bool intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata);
>  bool intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata);
> @@ -277,10 +277,10 @@ int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata);
>  int intel_bios_hdmi_level_shift(const struct intel_bios_encoder_data *devdata);
>  int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata);
>  
> -void intel_bios_for_each_encoder(struct drm_i915_private *i915,
> -				 void (*func)(struct drm_i915_private *i915,
> +void intel_bios_for_each_encoder(struct intel_display *display,
> +				 void (*func)(struct intel_display *display,
>  					      const struct intel_bios_encoder_data *devdata));
>  
> -void intel_bios_debugfs_register(struct drm_i915_private *i915);
> +void intel_bios_debugfs_register(struct intel_display *display);
>  
>  #endif /* _INTEL_BIOS_H_ */
> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> index 143d66951631..3252dab56430 100644
> --- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> @@ -159,9 +159,11 @@ static bool icl_combo_phy_enabled(struct drm_i915_private *dev_priv,
>  
>  static bool ehl_vbt_ddi_d_present(struct drm_i915_private *i915)
>  {
> -	bool ddi_a_present = intel_bios_is_port_present(i915, PORT_A);
> -	bool ddi_d_present = intel_bios_is_port_present(i915, PORT_D);
> -	bool dsi_present = intel_bios_is_dsi_present(i915, NULL);
> +	struct intel_display *display = &i915->display;
> +
> +	bool ddi_a_present = intel_bios_is_port_present(display, PORT_A);
> +	bool ddi_d_present = intel_bios_is_port_present(display, PORT_D);
> +	bool dsi_present = intel_bios_is_dsi_present(display, NULL);
>  
>  	/*
>  	 * VBT's 'dvo port' field for child devices references the DDI, not
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index a07aca96e551..7414d767b8dc 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -4853,9 +4853,10 @@ static bool port_in_use(struct drm_i915_private *i915, enum port port)
>  	return false;
>  }
>  
> -void intel_ddi_init(struct drm_i915_private *dev_priv,
> +void intel_ddi_init(struct intel_display *display,
>  		    const struct intel_bios_encoder_data *devdata)
>  {
> +	struct drm_i915_private *dev_priv = to_i915(display->drm);
>  	struct intel_digital_port *dig_port;
>  	struct intel_encoder *encoder;
>  	bool init_hdmi, init_dp;
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.h b/drivers/gpu/drm/i915/display/intel_ddi.h
> index 434de7196875..6d85422bdefe 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.h
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.h
> @@ -15,6 +15,7 @@ struct intel_bios_encoder_data;
>  struct intel_connector;
>  struct intel_crtc;
>  struct intel_crtc_state;
> +struct intel_display;
>  struct intel_dp;
>  struct intel_dpll_hw_state;
>  struct intel_encoder;
> @@ -53,7 +54,7 @@ void hsw_prepare_dp_ddi_buffers(struct intel_encoder *encoder,
>  				const struct intel_crtc_state *crtc_state);
>  void intel_wait_ddi_buf_idle(struct drm_i915_private *dev_priv,
>  			     enum port port);
> -void intel_ddi_init(struct drm_i915_private *dev_priv,
> +void intel_ddi_init(struct intel_display *display,
>  		    const struct intel_bios_encoder_data *devdata);
>  bool intel_ddi_get_hw_state(struct intel_encoder *encoder, enum pipe *pipe);
>  void intel_ddi_enable_transcoder_func(struct intel_encoder *encoder,
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 01a5faa3fea5..48241075eeba 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7785,6 +7785,7 @@ bool assert_port_valid(struct drm_i915_private *i915, enum port port)
>  
>  void intel_setup_outputs(struct drm_i915_private *dev_priv)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	struct intel_encoder *encoder;
>  	bool dpd_is_edp = false;
>  
> @@ -7797,7 +7798,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
>  		if (intel_ddi_crt_present(dev_priv))
>  			intel_crt_init(dev_priv);
>  
> -		intel_bios_for_each_encoder(dev_priv, intel_ddi_init);
> +		intel_bios_for_each_encoder(display, intel_ddi_init);
>  
>  		if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
>  			vlv_dsi_init(dev_priv);
> @@ -7859,14 +7860,14 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
>  		 * HDMI ports that the VBT claim are DP or eDP.
>  		 */
>  		has_edp = intel_dp_is_port_edp(dev_priv, PORT_B);
> -		has_port = intel_bios_is_port_present(dev_priv, PORT_B);
> +		has_port = intel_bios_is_port_present(display, PORT_B);
>  		if (intel_de_read(dev_priv, VLV_DP_B) & DP_DETECTED || has_port)
>  			has_edp &= g4x_dp_init(dev_priv, VLV_DP_B, PORT_B);
>  		if ((intel_de_read(dev_priv, VLV_HDMIB) & SDVO_DETECTED || has_port) && !has_edp)
>  			g4x_hdmi_init(dev_priv, VLV_HDMIB, PORT_B);
>  
>  		has_edp = intel_dp_is_port_edp(dev_priv, PORT_C);
> -		has_port = intel_bios_is_port_present(dev_priv, PORT_C);
> +		has_port = intel_bios_is_port_present(display, PORT_C);
>  		if (intel_de_read(dev_priv, VLV_DP_C) & DP_DETECTED || has_port)
>  			has_edp &= g4x_dp_init(dev_priv, VLV_DP_C, PORT_C);
>  		if ((intel_de_read(dev_priv, VLV_HDMIC) & SDVO_DETECTED || has_port) && !has_edp)
> @@ -7877,7 +7878,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
>  			 * eDP not supported on port D,
>  			 * so no need to worry about it
>  			 */
> -			has_port = intel_bios_is_port_present(dev_priv, PORT_D);
> +			has_port = intel_bios_is_port_present(display, PORT_D);
>  			if (intel_de_read(dev_priv, CHV_DP_D) & DP_DETECTED || has_port)
>  				g4x_dp_init(dev_priv, CHV_DP_D, PORT_D);
>  			if (intel_de_read(dev_priv, CHV_HDMID) & SDVO_DETECTED || has_port)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index ac8ad4a40b96..a55c9fac1ca4 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -1061,7 +1061,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_bios_debugfs_register(display);
>  	intel_cdclk_debugfs_register(i915);
>  	intel_dmc_debugfs_register(i915);
>  	intel_fbc_debugfs_register(display);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index a2666b69834e..328d8b5a6b66 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -217,7 +217,7 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
>  			return ret;
>  	}
>  
> -	intel_bios_init(i915);
> +	intel_bios_init(display);
>  
>  	ret = intel_vga_register(i915);
>  	if (ret)
> @@ -275,7 +275,7 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
>  cleanup_vga:
>  	intel_vga_unregister(i915);
>  cleanup_bios:
> -	intel_bios_driver_remove(i915);
> +	intel_bios_driver_remove(display);
>  
>  	return ret;
>  }
> @@ -615,13 +615,15 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915)
>  /* part #3: call after gem init */
>  void intel_display_driver_remove_nogem(struct drm_i915_private *i915)
>  {
> +	struct intel_display *display = &i915->display;
> +
>  	intel_dmc_fini(i915);
>  
>  	intel_power_domains_driver_remove(i915);
>  
>  	intel_vga_unregister(i915);
>  
> -	intel_bios_driver_remove(i915);
> +	intel_bios_driver_remove(display);
>  }
>  
>  void intel_display_driver_unregister(struct drm_i915_private *i915)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
> index 6cc1cc5e94d5..3f53db68c44c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> @@ -1690,6 +1690,7 @@ static void icp_irq_postinstall(struct drm_i915_private *i915);
>  
>  void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	struct intel_uncore *uncore = &dev_priv->uncore;
>  
>  	u32 de_pipe_masked = gen8_de_pipe_fault_mask(dev_priv) |
> @@ -1724,7 +1725,7 @@ void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
>  	} else if (DISPLAY_VER(dev_priv) >= 11) {
>  		enum port port;
>  
> -		if (intel_bios_is_dsi_present(dev_priv, &port))
> +		if (intel_bios_is_dsi_present(display, &port))
>  			de_port_masked |= DSI0_TE | DSI1_TE;
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 86412ae7b48f..2e5a4e2218c2 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -6385,8 +6385,9 @@ static bool _intel_dp_is_port_edp(struct drm_i915_private *dev_priv,
>  
>  bool intel_dp_is_port_edp(struct drm_i915_private *i915, enum port port)
>  {
> +	struct intel_display *display = &i915->display;
>  	const struct intel_bios_encoder_data *devdata =
> -		intel_bios_encoder_data_lookup(i915, port);
> +		intel_bios_encoder_data_lookup(display, port);
>  
>  	return _intel_dp_is_port_edp(i915, devdata, port);
>  }
> @@ -6489,6 +6490,7 @@ static void intel_edp_backlight_setup(struct intel_dp *intel_dp,
>  static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  				     struct intel_connector *intel_connector)
>  {
> +	struct intel_display *display = to_intel_display(intel_dp);
>  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>  	struct drm_connector *connector = &intel_connector->base;
>  	struct drm_display_mode *fixed_mode;
> @@ -6514,7 +6516,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  		return false;
>  	}
>  
> -	intel_bios_init_panel_early(dev_priv, &intel_connector->panel,
> +	intel_bios_init_panel_early(display, &intel_connector->panel,
>  				    encoder->devdata);
>  
>  	if (!intel_pps_init(intel_dp)) {
> @@ -6611,7 +6613,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  		drm_edid = ERR_PTR(-ENOENT);
>  	}
>  
> -	intel_bios_init_panel_late(dev_priv, &intel_connector->panel, encoder->devdata,
> +	intel_bios_init_panel_late(display, &intel_connector->panel, encoder->devdata,
>  				   IS_ERR(drm_edid) ? NULL : drm_edid);
>  
>  	intel_panel_add_edid_fixed_modes(intel_connector, true);
> diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
> index 9f018503d4fd..fb4ed9f7855b 100644
> --- a/drivers/gpu/drm/i915/display/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/display/intel_lvds.c
> @@ -838,6 +838,7 @@ static void intel_lvds_add_properties(struct drm_connector *connector)
>   */
>  void intel_lvds_init(struct drm_i915_private *i915)
>  {
> +	struct intel_display *display = &i915->display;
>  	struct intel_lvds_encoder *lvds_encoder;
>  	struct intel_connector *connector;
>  	const struct drm_edid *drm_edid;
> @@ -872,7 +873,7 @@ void intel_lvds_init(struct drm_i915_private *i915)
>  	}
>  
>  	ddc_pin = GMBUS_PIN_PANEL;
> -	if (!intel_bios_is_lvds_present(i915, &ddc_pin)) {
> +	if (!intel_bios_is_lvds_present(display, &ddc_pin)) {
>  		if ((lvds & LVDS_PORT_EN) == 0) {
>  			drm_dbg_kms(&i915->drm,
>  				    "LVDS is not present in VBT\n");
> @@ -966,7 +967,7 @@ void intel_lvds_init(struct drm_i915_private *i915)
>  	} else {
>  		drm_edid = ERR_PTR(-ENOENT);
>  	}
> -	intel_bios_init_panel_late(i915, &connector->panel, NULL,
> +	intel_bios_init_panel_late(display, &connector->panel, NULL,
>  				   IS_ERR(drm_edid) ? NULL : drm_edid);
>  
>  	/* Try EDID first */
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index 0cf6c0711dae..d3d0b4b2e088 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -870,7 +870,6 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {
>  
>  int intel_opregion_setup(struct intel_display *display)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  	struct intel_opregion *opregion;
>  	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
>  	u32 asls, mboxes;
> @@ -991,7 +990,7 @@ int intel_opregion_setup(struct intel_display *display)
>  
>  		vbt = opregion->rvda;
>  		vbt_size = opregion->asle->rvds;
> -		if (intel_bios_is_valid_vbt(i915, vbt, vbt_size)) {
> +		if (intel_bios_is_valid_vbt(display, vbt, vbt_size)) {
>  			drm_dbg_kms(display->drm,
>  				    "Found valid VBT in ACPI OpRegion (RVDA)\n");
>  			opregion->vbt = vbt;
> @@ -1016,7 +1015,7 @@ int intel_opregion_setup(struct intel_display *display)
>  	vbt_size = (mboxes & MBOX_ASLE_EXT) ?
>  		OPREGION_ASLE_EXT_OFFSET : OPREGION_SIZE;
>  	vbt_size -= OPREGION_VBT_OFFSET;
> -	if (intel_bios_is_valid_vbt(i915, vbt, vbt_size)) {
> +	if (intel_bios_is_valid_vbt(display, vbt, vbt_size)) {
>  		drm_dbg_kms(display->drm,
>  			    "Found valid VBT in ACPI OpRegion (Mailbox #4)\n");
>  		opregion->vbt = vbt;
> diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c b/drivers/gpu/drm/i915/display/intel_sdvo.c
> index 4cfa27ca8c22..7cc519b402e9 100644
> --- a/drivers/gpu/drm/i915/display/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
> @@ -2919,6 +2919,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, u16 type)
>  static bool
>  intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, u16 type)
>  {
> +	struct intel_display *display = to_intel_display(&intel_sdvo->base);
>  	struct drm_encoder *encoder = &intel_sdvo->base.base;
>  	struct drm_i915_private *i915 = to_i915(encoder->dev);
>  	struct drm_connector *connector;
> @@ -2946,7 +2947,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, u16 type)
>  	if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector))
>  		goto err;
>  
> -	intel_bios_init_panel_late(i915, &intel_connector->panel, NULL, NULL);
> +	intel_bios_init_panel_late(display, &intel_connector->panel, NULL, NULL);
>  
>  	/*
>  	 * Fetch modes from VBT. For SDVO prefer the VBT mode since some
> diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
> index 9df0f1263913..bfc43bda8532 100644
> --- a/drivers/gpu/drm/i915/display/intel_tv.c
> +++ b/drivers/gpu/drm/i915/display/intel_tv.c
> @@ -1930,6 +1930,7 @@ static void intel_tv_add_properties(struct drm_connector *connector)
>  void
>  intel_tv_init(struct drm_i915_private *dev_priv)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	struct drm_connector *connector;
>  	struct intel_tv *intel_tv;
>  	struct intel_encoder *intel_encoder;
> @@ -1939,7 +1940,7 @@ intel_tv_init(struct drm_i915_private *dev_priv)
>  	if ((intel_de_read(dev_priv, TV_CTL) & TV_FUSE_STATE_MASK) == TV_FUSE_STATE_DISABLED)
>  		return;
>  
> -	if (!intel_bios_is_tv_present(dev_priv)) {
> +	if (!intel_bios_is_tv_present(display)) {
>  		drm_dbg_kms(&dev_priv->drm, "Integrated TV is not present.\n");
>  		return;
>  	}
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> index eae5b5e09aa8..248bab691181 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> @@ -1880,6 +1880,7 @@ static const struct dmi_system_id vlv_dsi_dmi_quirk_table[] = {
>  
>  void vlv_dsi_init(struct drm_i915_private *dev_priv)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	struct intel_dsi *intel_dsi;
>  	struct intel_encoder *encoder;
>  	struct intel_connector *connector;
> @@ -1891,7 +1892,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>  	drm_dbg_kms(&dev_priv->drm, "\n");
>  
>  	/* There is no detection method for MIPI so rely on VBT */
> -	if (!intel_bios_is_dsi_present(dev_priv, &port))
> +	if (!intel_bios_is_dsi_present(display, &port))
>  		return;
>  
>  	if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
> @@ -1946,7 +1947,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>  
>  	intel_dsi->panel_power_off_time = ktime_get_boottime();
>  
> -	intel_bios_init_panel_late(dev_priv, &connector->panel, NULL, NULL);
> +	intel_bios_init_panel_late(display, &connector->panel, NULL, NULL);
>  
>  	if (connector->panel.vbt.dsi.config->dual_link)
>  		intel_dsi->ports = BIT(PORT_A) | BIT(PORT_C);
> -- 
> 2.39.2
> 

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

end of thread, other threads:[~2024-08-06 15:23 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31 16:44 [PATCH 0/4] drm/i915: struct intel_display conversions Jani Nikula
2024-07-31 16:44 ` [PATCH 1/4] drm/i915/acpi: convert to struct intel_display Jani Nikula
2024-08-06 13:51   ` Imre Deak
2024-07-31 16:44 ` [PATCH 2/4] drm/i915/opregion: unify intel_encoder/intel_connector naming Jani Nikula
2024-08-06 13:53   ` Imre Deak
2024-07-31 16:44 ` [PATCH 3/4] drm/i915/opregion: convert to struct intel_display Jani Nikula
2024-08-02 10:07   ` kernel test robot
2024-08-06 14:37   ` Imre Deak
2024-07-31 16:44 ` [PATCH 4/4] drm/i915/bios: " Jani Nikula
2024-08-06 15:23   ` Imre Deak
2024-07-31 17:38 ` ✓ CI.Patch_applied: success for drm/i915: struct intel_display conversions Patchwork
2024-07-31 17:38 ` ✓ CI.checkpatch: " Patchwork
2024-07-31 17:40 ` ✓ CI.KUnit: " Patchwork
2024-07-31 17:51 ` ✓ CI.Build: " Patchwork
2024-07-31 17:54 ` ✓ CI.Hooks: " Patchwork
2024-07-31 17:55 ` ✗ CI.checksparse: warning " Patchwork
2024-07-31 18:14 ` ✓ CI.BAT: success " Patchwork
2024-07-31 21:43 ` ✗ CI.FULL: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).