All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing
@ 2023-06-06 23:52 Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 01/10] drm/i915/display: Move display device info to header under display/ Matt Roper
                   ` (17 more replies)
  0 siblings, 18 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, matthew.d.roper

Now that i915 has moved display IP probing into the display/ directory,
we can re-use that directly from Xe and eliminate a big chunk of Xe's
display shim.

This is mostly cherry-picks of the new i915 patches from drm-tip,
followed by an update to the Xe-specific display layer to use the new
interface.

v2:
 - Rebase on latest drm-xe-next, which has now fixed the earlier
   mis-squashing of display code.
 - Include additional cherry-pick of i915's display vs non-display
   intel_device_info_runtime_init separation.

A future step to further eliminate the display shim will be to split
i915's display-specific handling out of intel_device_info_runtime_init() 
into a function under display/ that can be called directly by Xe.

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>

Matt Roper (10):
  drm/i915/display: Move display device info to header under display/
  drm/i915: Convert INTEL_INFO()->display to a pointer
  drm/i915/display: Move display runtime info to display structure
  drm/i915/display: Make display responsible for probing its own IP
  drm/i915/display: Handle GMD_ID identification in display code
  drm/i915/display: Move feature test macros to intel_display_device.h
  drm/i915/display: Include of display limits doesn't need 'display/'
  drm/i915: Fix error handling if driver creation fails during probe
  drm/i915/display: Extract display init from
    intel_device_info_runtime_init
  fixup! drm/xe/display: Implement display support

 drivers/gpu/drm/i915/Makefile                 |   2 +
 drivers/gpu/drm/i915/display/intel_color.c    |  31 +-
 drivers/gpu/drm/i915/display/intel_crtc.c     |   2 +-
 drivers/gpu/drm/i915/display/intel_cursor.c   |   4 +-
 drivers/gpu/drm/i915/display/intel_display.c  |   2 +-
 drivers/gpu/drm/i915/display/intel_display.h  |  10 +-
 .../drm/i915/display/intel_display_device.c   | 902 ++++++++++++++++++
 .../drm/i915/display/intel_display_device.h   | 129 +++
 .../drm/i915/display/intel_display_power.c    |   6 +-
 .../drm/i915/display/intel_display_reg_defs.h |  14 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c   |   2 +-
 drivers/gpu/drm/i915/display/intel_fbc.c      |   6 +-
 drivers/gpu/drm/i915/display/intel_hdcp.c     |   2 +-
 drivers/gpu/drm/i915/display/intel_hti.c      |   2 +-
 .../drm/i915/display/skl_universal_plane.c    |   2 +-
 drivers/gpu/drm/i915/display/skl_watermark.c  |   8 +-
 drivers/gpu/drm/i915/i915_driver.c            |  15 +-
 drivers/gpu/drm/i915/i915_drv.h               |  66 +-
 drivers/gpu/drm/i915/i915_pci.c               | 384 +-------
 drivers/gpu/drm/i915/i915_reg.h               |  33 -
 drivers/gpu/drm/i915/intel_device_info.c      | 192 +---
 drivers/gpu/drm/i915/intel_device_info.h      |  67 +-
 drivers/gpu/drm/i915/intel_step.c             |   8 +-
 drivers/gpu/drm/xe/Makefile                   |   2 +
 .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  40 +-
 .../drm/xe/display/ext/intel_device_info.c    |  94 +-
 drivers/gpu/drm/xe/xe_device_types.h          |  56 +-
 drivers/gpu/drm/xe/xe_display.c               | 166 +---
 28 files changed, 1199 insertions(+), 1048 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_display_device.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_display_device.h

-- 
2.40.1


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

* [Intel-xe] [PATCH v2 01/10] drm/i915/display: Move display device info to header under display/
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 02/10] drm/i915: Convert INTEL_INFO()->display to a pointer Matt Roper
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, matthew.d.roper, Andrzej Hajda

Moving display-specific substructure definitions will help keep display
more self-contained and make it easier to re-use in other drivers (i.e.,
Xe) in the future.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230523195609.73627-2-matthew.d.roper@intel.com
(cherry picked from commit 05aa8e0135094ae3d1e6837b5457a740266d7cfc)
---
 .../drm/i915/display/intel_display_device.h   | 60 +++++++++++++++++++
 drivers/gpu/drm/i915/intel_device_info.h      | 49 +--------------
 2 files changed, 62 insertions(+), 47 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_display_device.h

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
new file mode 100644
index 000000000000..c689d582dbf1
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -0,0 +1,60 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef __INTEL_DISPLAY_DEVICE_H__
+#define __INTEL_DISPLAY_DEVICE_H__
+
+#include <linux/types.h>
+
+#include "display/intel_display_limits.h"
+
+#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
+	/* Keep in alphabetical order */ \
+	func(cursor_needs_physical); \
+	func(has_cdclk_crawl); \
+	func(has_cdclk_squash); \
+	func(has_ddi); \
+	func(has_dp_mst); \
+	func(has_dsb); \
+	func(has_fpga_dbg); \
+	func(has_gmch); \
+	func(has_hotplug); \
+	func(has_hti); \
+	func(has_ipc); \
+	func(has_overlay); \
+	func(has_psr); \
+	func(has_psr_hw_tracking); \
+	func(overlay_needs_physical); \
+	func(supports_tv);
+
+struct intel_display_device_info {
+	u8 abox_mask;
+
+	struct {
+		u16 size; /* in blocks */
+		u8 slice_mask;
+	} dbuf;
+
+#define DEFINE_FLAG(name) u8 name:1
+	DEV_INFO_DISPLAY_FOR_EACH_FLAG(DEFINE_FLAG);
+#undef DEFINE_FLAG
+
+	/* Global register offset for the display engine */
+	u32 mmio_offset;
+
+	/* Register offsets for the various display pipes and transcoders */
+	u32 pipe_offsets[I915_MAX_TRANSCODERS];
+	u32 trans_offsets[I915_MAX_TRANSCODERS];
+	u32 cursor_offsets[I915_MAX_PIPES];
+
+	struct {
+		u32 degamma_lut_size;
+		u32 gamma_lut_size;
+		u32 degamma_lut_tests;
+		u32 gamma_lut_tests;
+	} color;
+};
+
+#endif
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index f032f2500f50..c14bc3f5d0fa 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -29,7 +29,7 @@
 
 #include "intel_step.h"
 
-#include "display/intel_display_limits.h"
+#include "display/intel_display_device.h"
 
 #include "gt/intel_engine_types.h"
 #include "gt/intel_context_types.h"
@@ -180,25 +180,6 @@ enum intel_ppgtt_type {
 	func(unfenced_needs_alignment); \
 	func(hws_needs_physical);
 
-#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
-	/* Keep in alphabetical order */ \
-	func(cursor_needs_physical); \
-	func(has_cdclk_crawl); \
-	func(has_cdclk_squash); \
-	func(has_ddi); \
-	func(has_dp_mst); \
-	func(has_dsb); \
-	func(has_fpga_dbg); \
-	func(has_gmch); \
-	func(has_hotplug); \
-	func(has_hti); \
-	func(has_ipc); \
-	func(has_overlay); \
-	func(has_psr); \
-	func(has_psr_hw_tracking); \
-	func(overlay_needs_physical); \
-	func(supports_tv);
-
 struct intel_ip_version {
 	u8 ver;
 	u8 rel;
@@ -276,33 +257,7 @@ struct intel_device_info {
 	DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
 #undef DEFINE_FLAG
 
-	struct {
-		u8 abox_mask;
-
-		struct {
-			u16 size; /* in blocks */
-			u8 slice_mask;
-		} dbuf;
-
-#define DEFINE_FLAG(name) u8 name:1
-		DEV_INFO_DISPLAY_FOR_EACH_FLAG(DEFINE_FLAG);
-#undef DEFINE_FLAG
-
-		/* Global register offset for the display engine */
-		u32 mmio_offset;
-
-		/* Register offsets for the various display pipes and transcoders */
-		u32 pipe_offsets[I915_MAX_TRANSCODERS];
-		u32 trans_offsets[I915_MAX_TRANSCODERS];
-		u32 cursor_offsets[I915_MAX_PIPES];
-
-		struct {
-			u32 degamma_lut_size;
-			u32 gamma_lut_size;
-			u32 degamma_lut_tests;
-			u32 gamma_lut_tests;
-		} color;
-	} display;
+	struct intel_display_device_info display;
 
 	/*
 	 * Initial runtime info. Do not access outside of i915_driver_create().
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 02/10] drm/i915: Convert INTEL_INFO()->display to a pointer
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 01/10] drm/i915/display: Move display device info to header under display/ Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 03/10] drm/i915/display: Move display runtime info to display structure Matt Roper
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: Jani Nikula, Lucas De Marchi, matthew.d.roper, Andrzej Hajda

Rather than embeddeding the display's device info within the main device
info structure, just provide a pointer to the display-specific
structure.  This is in preparation for moving the display device info
definitions into the display code itself and for eventually allowing the
pointer to be assigned at runtime on platforms that use GMD_ID for
device identification.

In the future, this will also eventually allow the same display device
info structures to be used outside the current i915 code (e.g., from the
Xe driver).

v2:
 - Move introduction of DISPLAY_INFO() to this patch.  (Andrzej)
v3:
 - Also use DISPLAY_INFO() in intel_display_reg_defs.h.  (Andrzej)
 - Use "{}" instead of "{ 0 }" for empty struct init.  (Jani)

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230523195609.73627-3-matthew.d.roper@intel.com
(cherry picked from commit 5af5169d758275490ab00e209a09dc1d6b85e535)
---
 drivers/gpu/drm/i915/display/intel_color.c    |  31 +-
 drivers/gpu/drm/i915/display/intel_cursor.c   |   2 +-
 drivers/gpu/drm/i915/display/intel_display.h  |   2 +-
 .../drm/i915/display/intel_display_power.c    |   6 +-
 .../drm/i915/display/intel_display_reg_defs.h |  14 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c   |   2 +-
 drivers/gpu/drm/i915/display/intel_hti.c      |   2 +-
 drivers/gpu/drm/i915/display/skl_watermark.c  |   8 +-
 drivers/gpu/drm/i915/i915_drv.h               |  29 +-
 drivers/gpu/drm/i915/i915_pci.c               | 575 ++++++++++++------
 drivers/gpu/drm/i915/intel_device_info.c      |   6 +-
 drivers/gpu/drm/i915/intel_device_info.h      |   2 +-
 12 files changed, 450 insertions(+), 229 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
index c33074fee0c8..53d2f7dc7ec4 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -1825,14 +1825,14 @@ static u32 intel_gamma_lut_tests(const struct intel_crtc_state *crtc_state)
 	if (lut_is_legacy(gamma_lut))
 		return 0;
 
-	return INTEL_INFO(i915)->display.color.gamma_lut_tests;
+	return DISPLAY_INFO(i915)->color.gamma_lut_tests;
 }
 
 static u32 intel_degamma_lut_tests(const struct intel_crtc_state *crtc_state)
 {
 	struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
 
-	return INTEL_INFO(i915)->display.color.degamma_lut_tests;
+	return DISPLAY_INFO(i915)->color.degamma_lut_tests;
 }
 
 static int intel_gamma_lut_size(const struct intel_crtc_state *crtc_state)
@@ -1843,14 +1843,14 @@ static int intel_gamma_lut_size(const struct intel_crtc_state *crtc_state)
 	if (lut_is_legacy(gamma_lut))
 		return LEGACY_LUT_LENGTH;
 
-	return INTEL_INFO(i915)->display.color.gamma_lut_size;
+	return DISPLAY_INFO(i915)->color.gamma_lut_size;
 }
 
 static u32 intel_degamma_lut_size(const struct intel_crtc_state *crtc_state)
 {
 	struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
 
-	return INTEL_INFO(i915)->display.color.degamma_lut_size;
+	return DISPLAY_INFO(i915)->color.degamma_lut_size;
 }
 
 static int check_lut_size(const struct drm_property_blob *lut, int expected)
@@ -2322,7 +2322,7 @@ static int glk_assign_luts(struct intel_crtc_state *crtc_state)
 		struct drm_property_blob *gamma_lut;
 
 		gamma_lut = create_resized_lut(i915, crtc_state->hw.gamma_lut,
-					       INTEL_INFO(i915)->display.color.degamma_lut_size,
+					       DISPLAY_INFO(i915)->color.degamma_lut_size,
 					       false);
 		if (IS_ERR(gamma_lut))
 			return PTR_ERR(gamma_lut);
@@ -2856,7 +2856,7 @@ static struct drm_property_blob *i9xx_read_lut_8(struct intel_crtc *crtc)
 static struct drm_property_blob *i9xx_read_lut_10(struct intel_crtc *crtc)
 {
 	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-	u32 lut_size = INTEL_INFO(dev_priv)->display.color.gamma_lut_size;
+	u32 lut_size = DISPLAY_INFO(dev_priv)->color.gamma_lut_size;
 	enum pipe pipe = crtc->pipe;
 	struct drm_property_blob *blob;
 	struct drm_color_lut *lut;
@@ -2905,7 +2905,7 @@ static void i9xx_read_luts(struct intel_crtc_state *crtc_state)
 static struct drm_property_blob *i965_read_lut_10p6(struct intel_crtc *crtc)
 {
 	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-	int i, lut_size = INTEL_INFO(dev_priv)->display.color.gamma_lut_size;
+	int i, lut_size = DISPLAY_INFO(dev_priv)->color.gamma_lut_size;
 	enum pipe pipe = crtc->pipe;
 	struct drm_property_blob *blob;
 	struct drm_color_lut *lut;
@@ -2955,7 +2955,7 @@ static void i965_read_luts(struct intel_crtc_state *crtc_state)
 static struct drm_property_blob *chv_read_cgm_degamma(struct intel_crtc *crtc)
 {
 	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-	int i, lut_size = INTEL_INFO(dev_priv)->display.color.degamma_lut_size;
+	int i, lut_size = DISPLAY_INFO(dev_priv)->color.degamma_lut_size;
 	enum pipe pipe = crtc->pipe;
 	struct drm_property_blob *blob;
 	struct drm_color_lut *lut;
@@ -2981,7 +2981,7 @@ static struct drm_property_blob *chv_read_cgm_degamma(struct intel_crtc *crtc)
 static struct drm_property_blob *chv_read_cgm_gamma(struct intel_crtc *crtc)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	int i, lut_size = INTEL_INFO(i915)->display.color.gamma_lut_size;
+	int i, lut_size = DISPLAY_INFO(i915)->color.gamma_lut_size;
 	enum pipe pipe = crtc->pipe;
 	struct drm_property_blob *blob;
 	struct drm_color_lut *lut;
@@ -3045,7 +3045,7 @@ static struct drm_property_blob *ilk_read_lut_8(struct intel_crtc *crtc)
 static struct drm_property_blob *ilk_read_lut_10(struct intel_crtc *crtc)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	int i, lut_size = INTEL_INFO(i915)->display.color.gamma_lut_size;
+	int i, lut_size = DISPLAY_INFO(i915)->color.gamma_lut_size;
 	enum pipe pipe = crtc->pipe;
 	struct drm_property_blob *blob;
 	struct drm_color_lut *lut;
@@ -3229,7 +3229,7 @@ static void bdw_read_luts(struct intel_crtc_state *crtc_state)
 static struct drm_property_blob *glk_read_degamma_lut(struct intel_crtc *crtc)
 {
 	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-	int i, lut_size = INTEL_INFO(dev_priv)->display.color.degamma_lut_size;
+	int i, lut_size = DISPLAY_INFO(dev_priv)->color.degamma_lut_size;
 	enum pipe pipe = crtc->pipe;
 	struct drm_property_blob *blob;
 	struct drm_color_lut *lut;
@@ -3294,7 +3294,7 @@ static struct drm_property_blob *
 icl_read_lut_multi_segment(struct intel_crtc *crtc)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	int i, lut_size = INTEL_INFO(i915)->display.color.gamma_lut_size;
+	int i, lut_size = DISPLAY_INFO(i915)->color.gamma_lut_size;
 	enum pipe pipe = crtc->pipe;
 	struct drm_property_blob *blob;
 	struct drm_color_lut *lut;
@@ -3472,8 +3472,8 @@ void intel_color_crtc_init(struct intel_crtc *crtc)
 
 	drm_mode_crtc_set_gamma_size(&crtc->base, 256);
 
-	gamma_lut_size = INTEL_INFO(i915)->display.color.gamma_lut_size;
-	degamma_lut_size = INTEL_INFO(i915)->display.color.degamma_lut_size;
+	gamma_lut_size = DISPLAY_INFO(i915)->color.gamma_lut_size;
+	degamma_lut_size = DISPLAY_INFO(i915)->color.degamma_lut_size;
 	has_ctm = degamma_lut_size != 0;
 
 	/*
@@ -3498,7 +3498,8 @@ int intel_color_init(struct drm_i915_private *i915)
 	if (DISPLAY_VER(i915) != 10)
 		return 0;
 
-	blob = create_linear_lut(i915, INTEL_INFO(i915)->display.color.degamma_lut_size);
+	blob = create_linear_lut(i915,
+				 DISPLAY_INFO(i915)->color.degamma_lut_size);
 	if (IS_ERR(blob))
 		return PTR_ERR(blob);
 
diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
index 8dd9dac3389c..e3941ea4cb24 100644
--- a/drivers/gpu/drm/i915/display/intel_cursor.c
+++ b/drivers/gpu/drm/i915/display/intel_cursor.c
@@ -35,7 +35,7 @@ static u32 intel_cursor_base(const struct intel_plane_state *plane_state)
 	u32 base;
 
 #ifdef I915
-	if (INTEL_INFO(dev_priv)->display.cursor_needs_physical)
+	if (DISPLAY_INFO(dev_priv)->cursor_needs_physical)
 		base = sg_dma_address(intel_fb_obj(plane_state->hw.fb)->mm.pages->sgl);
 	else
 #endif
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index 992d7fc9e81e..ce90e6377c13 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -113,7 +113,7 @@ enum i9xx_plane_id {
 
 #define for_each_dbuf_slice(__dev_priv, __slice) \
 	for ((__slice) = DBUF_S1; (__slice) < I915_MAX_DBUF_SLICES; (__slice)++) \
-		for_each_if(INTEL_INFO(__dev_priv)->display.dbuf.slice_mask & BIT(__slice))
+		for_each_if(INTEL_INFO(__dev_priv)->display->dbuf.slice_mask & BIT(__slice))
 
 #define for_each_dbuf_slice_in_mask(__dev_priv, __slice, __mask) \
 	for_each_dbuf_slice((__dev_priv), (__slice)) \
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index 177c85c598a4..1f273c2a518f 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -1052,7 +1052,7 @@ void gen9_dbuf_slices_update(struct drm_i915_private *dev_priv,
 			     u8 req_slices)
 {
 	struct i915_power_domains *power_domains = &dev_priv->display.power.domains;
-	u8 slice_mask = INTEL_INFO(dev_priv)->display.dbuf.slice_mask;
+	u8 slice_mask = DISPLAY_INFO(dev_priv)->dbuf.slice_mask;
 	enum dbuf_slice slice;
 
 	drm_WARN(&dev_priv->drm, req_slices & ~slice_mask,
@@ -1112,7 +1112,7 @@ static void gen12_dbuf_slices_config(struct drm_i915_private *dev_priv)
 
 static void icl_mbus_init(struct drm_i915_private *dev_priv)
 {
-	unsigned long abox_regs = INTEL_INFO(dev_priv)->display.abox_mask;
+	unsigned long abox_regs = DISPLAY_INFO(dev_priv)->abox_mask;
 	u32 mask, val, i;
 
 	if (IS_ALDERLAKE_P(dev_priv) || DISPLAY_VER(dev_priv) >= 14)
@@ -1558,7 +1558,7 @@ static void tgl_bw_buddy_init(struct drm_i915_private *dev_priv)
 	enum intel_dram_type type = dev_priv->dram_info.type;
 	u8 num_channels = dev_priv->dram_info.num_channels;
 	const struct buddy_page_mask *table;
-	unsigned long abox_mask = INTEL_INFO(dev_priv)->display.abox_mask;
+	unsigned long abox_mask = DISPLAY_INFO(dev_priv)->abox_mask;
 	int config, i;
 
 	/* BW_BUDDY registers are not used on dgpu's beyond DG1 */
diff --git a/drivers/gpu/drm/i915/display/intel_display_reg_defs.h b/drivers/gpu/drm/i915/display/intel_display_reg_defs.h
index 755c1ea8225c..2f07b7afa3bf 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reg_defs.h
+++ b/drivers/gpu/drm/i915/display/intel_display_reg_defs.h
@@ -8,7 +8,7 @@
 
 #include "i915_reg_defs.h"
 
-#define DISPLAY_MMIO_BASE(dev_priv)	(INTEL_INFO(dev_priv)->display.mmio_offset)
+#define DISPLAY_MMIO_BASE(dev_priv)	(DISPLAY_INFO(dev_priv)->mmio_offset)
 
 #define VLV_DISPLAY_BASE		0x180000
 
@@ -36,14 +36,14 @@
  * Device info offset array based helpers for groups of registers with unevenly
  * spaced base offsets.
  */
-#define _MMIO_PIPE2(pipe, reg)		_MMIO(INTEL_INFO(dev_priv)->display.pipe_offsets[(pipe)] - \
-					      INTEL_INFO(dev_priv)->display.pipe_offsets[PIPE_A] + \
+#define _MMIO_PIPE2(pipe, reg)		_MMIO(DISPLAY_INFO(dev_priv)->pipe_offsets[(pipe)] - \
+					      DISPLAY_INFO(dev_priv)->pipe_offsets[PIPE_A] + \
 					      DISPLAY_MMIO_BASE(dev_priv) + (reg))
-#define _MMIO_TRANS2(tran, reg)		_MMIO(INTEL_INFO(dev_priv)->display.trans_offsets[(tran)] - \
-					      INTEL_INFO(dev_priv)->display.trans_offsets[TRANSCODER_A] + \
+#define _MMIO_TRANS2(tran, reg)		_MMIO(DISPLAY_INFO(dev_priv)->trans_offsets[(tran)] - \
+					      DISPLAY_INFO(dev_priv)->trans_offsets[TRANSCODER_A] + \
 					      DISPLAY_MMIO_BASE(dev_priv) + (reg))
-#define _MMIO_CURSOR2(pipe, reg)	_MMIO(INTEL_INFO(dev_priv)->display.cursor_offsets[(pipe)] - \
-					      INTEL_INFO(dev_priv)->display.cursor_offsets[PIPE_A] + \
+#define _MMIO_CURSOR2(pipe, reg)	_MMIO(DISPLAY_INFO(dev_priv)->cursor_offsets[(pipe)] - \
+					      DISPLAY_INFO(dev_priv)->cursor_offsets[PIPE_A] + \
 					      DISPLAY_MMIO_BASE(dev_priv) + (reg))
 
 #endif /* __INTEL_DISPLAY_REG_DEFS_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_fb_pin.c b/drivers/gpu/drm/i915/display/intel_fb_pin.c
index 1aca7552a85d..fffd568070d4 100644
--- a/drivers/gpu/drm/i915/display/intel_fb_pin.c
+++ b/drivers/gpu/drm/i915/display/intel_fb_pin.c
@@ -243,7 +243,7 @@ int intel_plane_pin_fb(struct intel_plane_state *plane_state)
 	struct i915_vma *vma;
 	bool phys_cursor =
 		plane->id == PLANE_CURSOR &&
-		INTEL_INFO(dev_priv)->display.cursor_needs_physical;
+		DISPLAY_INFO(dev_priv)->cursor_needs_physical;
 
 	if (!intel_fb_uses_dpt(fb)) {
 		vma = intel_pin_and_fence_fb_obj(fb, phys_cursor,
diff --git a/drivers/gpu/drm/i915/display/intel_hti.c b/drivers/gpu/drm/i915/display/intel_hti.c
index c518efebdf77..a92d008d4e6e 100644
--- a/drivers/gpu/drm/i915/display/intel_hti.c
+++ b/drivers/gpu/drm/i915/display/intel_hti.c
@@ -15,7 +15,7 @@ void intel_hti_init(struct drm_i915_private *i915)
 	 * If the platform has HTI, we need to find out whether it has reserved
 	 * any display resources before we create our display outputs.
 	 */
-	if (INTEL_INFO(i915)->display.has_hti)
+	if (DISPLAY_INFO(i915)->has_hti)
 		i915->display.hti.state = intel_de_read(i915, HDPORT_STATE);
 }
 
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 1c7e6468f3e3..d1245c847f1c 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -507,8 +507,8 @@ static u16 skl_ddb_entry_init(struct skl_ddb_entry *entry,
 
 static int intel_dbuf_slice_size(struct drm_i915_private *i915)
 {
-	return INTEL_INFO(i915)->display.dbuf.size /
-		hweight8(INTEL_INFO(i915)->display.dbuf.slice_mask);
+	return DISPLAY_INFO(i915)->dbuf.size /
+		hweight8(DISPLAY_INFO(i915)->dbuf.slice_mask);
 }
 
 static void
@@ -527,7 +527,7 @@ skl_ddb_entry_for_slices(struct drm_i915_private *i915, u8 slice_mask,
 	ddb->end = fls(slice_mask) * slice_size;
 
 	WARN_ON(ddb->start >= ddb->end);
-	WARN_ON(ddb->end > INTEL_INFO(i915)->display.dbuf.size);
+	WARN_ON(ddb->end > DISPLAY_INFO(i915)->dbuf.size);
 }
 
 static unsigned int mbus_ddb_offset(struct drm_i915_private *i915, u8 slice_mask)
@@ -2625,7 +2625,7 @@ skl_compute_ddb(struct intel_atomic_state *state)
 			    "Enabled dbuf slices 0x%x -> 0x%x (total dbuf slices 0x%x), mbus joined? %s->%s\n",
 			    old_dbuf_state->enabled_slices,
 			    new_dbuf_state->enabled_slices,
-			    INTEL_INFO(i915)->display.dbuf.slice_mask,
+			    DISPLAY_INFO(i915)->dbuf.slice_mask,
 			    str_yes_no(old_dbuf_state->joined_mbus),
 			    str_yes_no(new_dbuf_state->joined_mbus));
 	}
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 14c5338c96a6..9612c2ac4b00 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -408,6 +408,7 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
 	     (engine__) = rb_to_uabi_engine(rb_next(&(engine__)->uabi_node)))
 
 #define INTEL_INFO(i915)	(&(i915)->__info)
+#define DISPLAY_INFO(i915)	(INTEL_INFO(i915)->display)
 #define RUNTIME_INFO(i915)	(&(i915)->__runtime)
 #define DRIVER_CAPS(i915)	(&(i915)->caps)
 
@@ -782,9 +783,9 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 	((sizes) & ~RUNTIME_INFO(i915)->page_sizes) == 0; \
 })
 
-#define HAS_OVERLAY(i915)		 (INTEL_INFO(i915)->display.has_overlay)
+#define HAS_OVERLAY(i915)		 (DISPLAY_INFO(i915)->has_overlay)
 #define OVERLAY_NEEDS_PHYSICAL(i915) \
-		(INTEL_INFO(i915)->display.overlay_needs_physical)
+		(DISPLAY_INFO(i915)->overlay_needs_physical)
 
 /* Early gen2 have a totally busted CS tlb and require pinned batches. */
 #define HAS_BROKEN_CS_TLB(i915)	(IS_I830(i915) || IS_I845G(i915))
@@ -806,8 +807,8 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
  */
 #define HAS_128_BYTE_Y_TILING(i915) (GRAPHICS_VER(i915) != 2 && \
 					 !(IS_I915G(i915) || IS_I915GM(i915)))
-#define SUPPORTS_TV(i915)		(INTEL_INFO(i915)->display.supports_tv)
-#define I915_HAS_HOTPLUG(i915)	(INTEL_INFO(i915)->display.has_hotplug)
+#define SUPPORTS_TV(i915)		(DISPLAY_INFO(i915)->supports_tv)
+#define I915_HAS_HOTPLUG(i915)	(DISPLAY_INFO(i915)->has_hotplug)
 
 #define HAS_FW_BLC(i915)	(DISPLAY_VER(i915) > 2)
 #define HAS_FBC(i915)	(RUNTIME_INFO(i915)->fbc_mask != 0)
@@ -817,18 +818,18 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define HAS_IPS(i915)	(IS_HSW_ULT(i915) || IS_BROADWELL(i915))
 
-#define HAS_DP_MST(i915)	(INTEL_INFO(i915)->display.has_dp_mst)
+#define HAS_DP_MST(i915)	(DISPLAY_INFO(i915)->has_dp_mst)
 #define HAS_DP20(i915)	(IS_DG2(i915) || DISPLAY_VER(i915) >= 14)
 
 #define HAS_DOUBLE_BUFFERED_M_N(i915)	(DISPLAY_VER(i915) >= 9 || IS_BROADWELL(i915))
 
-#define HAS_CDCLK_CRAWL(i915)	 (INTEL_INFO(i915)->display.has_cdclk_crawl)
-#define HAS_CDCLK_SQUASH(i915)	 (INTEL_INFO(i915)->display.has_cdclk_squash)
-#define HAS_DDI(i915)		 (INTEL_INFO(i915)->display.has_ddi)
-#define HAS_FPGA_DBG_UNCLAIMED(i915) (INTEL_INFO(i915)->display.has_fpga_dbg)
-#define HAS_PSR(i915)		 (INTEL_INFO(i915)->display.has_psr)
+#define HAS_CDCLK_CRAWL(i915)	 (DISPLAY_INFO(i915)->has_cdclk_crawl)
+#define HAS_CDCLK_SQUASH(i915)	 (DISPLAY_INFO(i915)->has_cdclk_squash)
+#define HAS_DDI(i915)		 (DISPLAY_INFO(i915)->has_ddi)
+#define HAS_FPGA_DBG_UNCLAIMED(i915) (DISPLAY_INFO(i915)->has_fpga_dbg)
+#define HAS_PSR(i915)		 (DISPLAY_INFO(i915)->has_psr)
 #define HAS_PSR_HW_TRACKING(i915) \
-	(INTEL_INFO(i915)->display.has_psr_hw_tracking)
+	(DISPLAY_INFO(i915)->has_psr_hw_tracking)
 #define HAS_PSR2_SEL_FETCH(i915)	 (DISPLAY_VER(i915) >= 12)
 #define HAS_TRANSCODER(i915, trans)	 ((RUNTIME_INFO(i915)->cpu_transcoder_mask & BIT(trans)) != 0)
 
@@ -839,7 +840,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define HAS_RPS(i915)	(INTEL_INFO(i915)->has_rps)
 
 #define HAS_DMC(i915)	(RUNTIME_INFO(i915)->has_dmc)
-#define HAS_DSB(i915)	(INTEL_INFO(i915)->display.has_dsb)
+#define HAS_DSB(i915)	(DISPLAY_INFO(i915)->has_dsb)
 #define HAS_DSC(__i915)		(RUNTIME_INFO(__i915)->has_dsc)
 #define HAS_HW_SAGV_WM(i915) (DISPLAY_VER(i915) >= 13 && !IS_DGFX(i915))
 
@@ -869,7 +870,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
  */
 #define HAS_64K_PAGES(i915) (INTEL_INFO(i915)->has_64k_pages)
 
-#define HAS_IPC(i915)		(INTEL_INFO(i915)->display.has_ipc)
+#define HAS_IPC(i915)		(DISPLAY_INFO(i915)->has_ipc)
 #define HAS_SAGV(i915)		(DISPLAY_VER(i915) >= 9 && !IS_LP(i915))
 
 #define HAS_REGION(i915, i) (RUNTIME_INFO(i915)->memory_regions & (i))
@@ -889,7 +890,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define HAS_GLOBAL_MOCS_REGISTERS(i915)	(INTEL_INFO(i915)->has_global_mocs)
 
-#define HAS_GMCH(i915) (INTEL_INFO(i915)->display.has_gmch)
+#define HAS_GMCH(i915) (DISPLAY_INFO(i915)->has_gmch)
 
 #define HAS_GMD_ID(i915)	(INTEL_INFO(i915)->has_gmd_id)
 
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 5fcc9cfed671..467327a490b9 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -46,43 +46,43 @@
 #define NO_DISPLAY .__runtime.pipe_mask = 0
 
 #define I845_PIPE_OFFSETS \
-	.display.pipe_offsets = { \
+	.pipe_offsets = { \
 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
 	}, \
-	.display.trans_offsets = { \
+	.trans_offsets = { \
 		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
 	}
 
 #define I9XX_PIPE_OFFSETS \
-	.display.pipe_offsets = { \
+	.pipe_offsets = { \
 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
 		[TRANSCODER_B] = PIPE_B_OFFSET, \
 	}, \
-	.display.trans_offsets = { \
+	.trans_offsets = { \
 		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
 		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
 	}
 
 #define IVB_PIPE_OFFSETS \
-	.display.pipe_offsets = { \
+	.pipe_offsets = { \
 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
 		[TRANSCODER_B] = PIPE_B_OFFSET, \
 		[TRANSCODER_C] = PIPE_C_OFFSET, \
 	}, \
-	.display.trans_offsets = { \
+	.trans_offsets = { \
 		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
 		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
 		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
 	}
 
 #define HSW_PIPE_OFFSETS \
-	.display.pipe_offsets = { \
+	.pipe_offsets = { \
 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
 		[TRANSCODER_B] = PIPE_B_OFFSET, \
 		[TRANSCODER_C] = PIPE_C_OFFSET, \
 		[TRANSCODER_EDP] = PIPE_EDP_OFFSET, \
 	}, \
-	.display.trans_offsets = { \
+	.trans_offsets = { \
 		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
 		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
 		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
@@ -90,44 +90,44 @@
 	}
 
 #define CHV_PIPE_OFFSETS \
-	.display.pipe_offsets = { \
+	.pipe_offsets = { \
 		[TRANSCODER_A] = PIPE_A_OFFSET, \
 		[TRANSCODER_B] = PIPE_B_OFFSET, \
 		[TRANSCODER_C] = CHV_PIPE_C_OFFSET, \
 	}, \
-	.display.trans_offsets = { \
+	.trans_offsets = { \
 		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
 		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
 		[TRANSCODER_C] = CHV_TRANSCODER_C_OFFSET, \
 	}
 
 #define I845_CURSOR_OFFSETS \
-	.display.cursor_offsets = { \
+	.cursor_offsets = { \
 		[PIPE_A] = CURSOR_A_OFFSET, \
 	}
 
 #define I9XX_CURSOR_OFFSETS \
-	.display.cursor_offsets = { \
+	.cursor_offsets = { \
 		[PIPE_A] = CURSOR_A_OFFSET, \
 		[PIPE_B] = CURSOR_B_OFFSET, \
 	}
 
 #define CHV_CURSOR_OFFSETS \
-	.display.cursor_offsets = { \
+	.cursor_offsets = { \
 		[PIPE_A] = CURSOR_A_OFFSET, \
 		[PIPE_B] = CURSOR_B_OFFSET, \
 		[PIPE_C] = CHV_CURSOR_C_OFFSET, \
 	}
 
 #define IVB_CURSOR_OFFSETS \
-	.display.cursor_offsets = { \
+	.cursor_offsets = { \
 		[PIPE_A] = CURSOR_A_OFFSET, \
 		[PIPE_B] = IVB_CURSOR_B_OFFSET, \
 		[PIPE_C] = IVB_CURSOR_C_OFFSET, \
 	}
 
 #define TGL_CURSOR_OFFSETS \
-	.display.cursor_offsets = { \
+	.cursor_offsets = { \
 		[PIPE_A] = CURSOR_A_OFFSET, \
 		[PIPE_B] = IVB_CURSOR_B_OFFSET, \
 		[PIPE_C] = IVB_CURSOR_C_OFFSET, \
@@ -135,29 +135,29 @@
 	}
 
 #define I845_COLORS \
-	.display.color = { .gamma_lut_size = 256 }
+	.color = { .gamma_lut_size = 256 }
 #define I9XX_COLORS \
-	.display.color = { .gamma_lut_size = 129, \
+	.color = { .gamma_lut_size = 129, \
 		   .gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
 	}
 #define ILK_COLORS \
-	.display.color = { .gamma_lut_size = 1024 }
+	.color = { .gamma_lut_size = 1024 }
 #define IVB_COLORS \
-	.display.color = { .degamma_lut_size = 1024, .gamma_lut_size = 1024 }
+	.color = { .degamma_lut_size = 1024, .gamma_lut_size = 1024 }
 #define CHV_COLORS \
-	.display.color = { \
+	.color = { \
 		.degamma_lut_size = 65, .gamma_lut_size = 257, \
 		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
 		.gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
 	}
 #define GLK_COLORS \
-	.display.color = { \
+	.color = { \
 		.degamma_lut_size = 33, .gamma_lut_size = 1024, \
 		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING | \
 				     DRM_COLOR_LUT_EQUAL_CHANNELS, \
 	}
 #define ICL_COLORS \
-	.display.color = { \
+	.color = { \
 		.degamma_lut_size = 33, .gamma_lut_size = 262145, \
 		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING | \
 				     DRM_COLOR_LUT_EQUAL_CHANNELS, \
@@ -172,15 +172,24 @@
 #define GEN_DEFAULT_REGIONS \
 	.__runtime.memory_regions = REGION_SMEM | REGION_STOLEN_SMEM
 
+#define I830_DISPLAY \
+	.has_overlay = 1, \
+	.cursor_needs_physical = 1, \
+	.overlay_needs_physical = 1, \
+	.has_gmch = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	I9XX_COLORS
+
+static const struct intel_display_device_info i830_display = {
+	I830_DISPLAY,
+};
+
 #define I830_FEATURES \
 	GEN(2), \
 	.is_mobile = 1, \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
-	.display.has_overlay = 1, \
-	.display.cursor_needs_physical = 1, \
-	.display.overlay_needs_physical = 1, \
-	.display.has_gmch = 1, \
 	.gpu_reset_clobbers_display = true, \
 	.has_3d_pipeline = 1, \
 	.hws_needs_physical = 1, \
@@ -189,19 +198,25 @@
 	.has_snoop = true, \
 	.has_coherent_ggtt = false, \
 	.dma_mask_size = 32, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS, \
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
+#define I845_DISPLAY \
+	.has_overlay = 1, \
+	.overlay_needs_physical = 1, \
+	.has_gmch = 1, \
+	I845_PIPE_OFFSETS, \
+	I845_CURSOR_OFFSETS, \
+	I845_COLORS
+
+static const struct intel_display_device_info i845_display = {
+	I845_DISPLAY,
+};
+
 #define I845_FEATURES \
 	GEN(2), \
 	.__runtime.pipe_mask = BIT(PIPE_A), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A), \
-	.display.has_overlay = 1, \
-	.display.overlay_needs_physical = 1, \
-	.display.has_gmch = 1, \
 	.has_3d_pipeline = 1, \
 	.gpu_reset_clobbers_display = true, \
 	.hws_needs_physical = 1, \
@@ -210,58 +225,101 @@
 	.has_snoop = true, \
 	.has_coherent_ggtt = false, \
 	.dma_mask_size = 32, \
-	I845_PIPE_OFFSETS, \
-	I845_CURSOR_OFFSETS, \
-	I845_COLORS, \
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
 static const struct intel_device_info i830_info = {
 	I830_FEATURES,
 	PLATFORM(INTEL_I830),
+	.display = &i830_display,
 };
 
 static const struct intel_device_info i845g_info = {
 	I845_FEATURES,
 	PLATFORM(INTEL_I845G),
+	.display = &i845_display,
+};
+
+static const struct intel_display_device_info i85x_display = {
+	I830_DISPLAY,
 };
 
 static const struct intel_device_info i85x_info = {
 	I830_FEATURES,
 	PLATFORM(INTEL_I85X),
+	.display = &i85x_display,
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 };
 
+static const struct intel_display_device_info i865g_display = {
+	I845_DISPLAY,
+};
+
 static const struct intel_device_info i865g_info = {
 	I845_FEATURES,
 	PLATFORM(INTEL_I865G),
+	.display = &i865g_display,
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 };
 
+#define GEN3_DISPLAY \
+	.has_gmch = 1, \
+	.has_overlay = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	I9XX_COLORS
+
+static const struct intel_display_device_info i915g_display = {
+	GEN3_DISPLAY,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+};
+
+static const struct intel_display_device_info i915gm_display = {
+	GEN3_DISPLAY,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+	.supports_tv = 1,
+};
+
+static const struct intel_display_device_info i945g_display = {
+	GEN3_DISPLAY,
+	.has_hotplug = 1,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+};
+
+static const struct intel_display_device_info i945gm_display = {
+	GEN3_DISPLAY,
+	.has_hotplug = 1,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+	.supports_tv = 1,
+};
+
+static const struct intel_display_device_info g33_display = {
+	GEN3_DISPLAY,
+	.has_hotplug = 1,
+};
+
 #define GEN3_FEATURES \
 	GEN(3), \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
-	.display.has_gmch = 1, \
 	.gpu_reset_clobbers_display = true, \
 	.__runtime.platform_engine_mask = BIT(RCS0), \
 	.has_3d_pipeline = 1, \
 	.has_snoop = true, \
 	.has_coherent_ggtt = true, \
 	.dma_mask_size = 32, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS, \
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
 static const struct intel_device_info i915g_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I915G),
+	.display = &i915g_display,
 	.has_coherent_ggtt = false,
-	.display.cursor_needs_physical = 1,
-	.display.has_overlay = 1,
-	.display.overlay_needs_physical = 1,
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
 };
@@ -269,11 +327,8 @@ static const struct intel_device_info i915g_info = {
 static const struct intel_device_info i915gm_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I915GM),
+	.display = &i915gm_display,
 	.is_mobile = 1,
-	.display.cursor_needs_physical = 1,
-	.display.has_overlay = 1,
-	.display.overlay_needs_physical = 1,
-	.display.supports_tv = 1,
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
@@ -282,10 +337,7 @@ static const struct intel_device_info i915gm_info = {
 static const struct intel_device_info i945g_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I945G),
-	.display.has_hotplug = 1,
-	.display.cursor_needs_physical = 1,
-	.display.has_overlay = 1,
-	.display.overlay_needs_physical = 1,
+	.display = &i945g_display,
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
 };
@@ -293,12 +345,8 @@ static const struct intel_device_info i945g_info = {
 static const struct intel_device_info i945gm_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I945GM),
+	.display = &i945gm_display,
 	.is_mobile = 1,
-	.display.has_hotplug = 1,
-	.display.cursor_needs_physical = 1,
-	.display.has_overlay = 1,
-	.display.overlay_needs_physical = 1,
-	.display.supports_tv = 1,
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
@@ -307,16 +355,14 @@ static const struct intel_device_info i945gm_info = {
 static const struct intel_device_info g33_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_G33),
-	.display.has_hotplug = 1,
-	.display.has_overlay = 1,
+	.display = &g33_display,
 	.dma_mask_size = 36,
 };
 
 static const struct intel_device_info pnv_g_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_PINEVIEW),
-	.display.has_hotplug = 1,
-	.display.has_overlay = 1,
+	.display = &g33_display,
 	.dma_mask_size = 36,
 };
 
@@ -324,33 +370,54 @@ static const struct intel_device_info pnv_m_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_PINEVIEW),
 	.is_mobile = 1,
-	.display.has_hotplug = 1,
-	.display.has_overlay = 1,
+	.display = &g33_display,
 	.dma_mask_size = 36,
 };
 
+#define GEN4_DISPLAY \
+	.has_hotplug = 1, \
+	.has_gmch = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	I9XX_COLORS
+
+static const struct intel_display_device_info i965g_display = {
+	GEN4_DISPLAY,
+	.has_overlay = 1,
+};
+
+static const struct intel_display_device_info i965gm_display = {
+	GEN4_DISPLAY,
+	.has_overlay = 1,
+	.supports_tv = 1,
+};
+
+static const struct intel_display_device_info g45_display = {
+	GEN4_DISPLAY,
+};
+
+static const struct intel_display_device_info gm45_display = {
+	GEN4_DISPLAY,
+	.supports_tv = 1,
+};
+
 #define GEN4_FEATURES \
 	GEN(4), \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
-	.display.has_hotplug = 1, \
-	.display.has_gmch = 1, \
 	.gpu_reset_clobbers_display = true, \
 	.__runtime.platform_engine_mask = BIT(RCS0), \
 	.has_3d_pipeline = 1, \
 	.has_snoop = true, \
 	.has_coherent_ggtt = true, \
 	.dma_mask_size = 36, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS, \
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
 static const struct intel_device_info i965g_info = {
 	GEN4_FEATURES,
 	PLATFORM(INTEL_I965G),
-	.display.has_overlay = 1,
+	.display = &i965g_display,
 	.hws_needs_physical = 1,
 	.has_snoop = false,
 };
@@ -358,10 +425,9 @@ static const struct intel_device_info i965g_info = {
 static const struct intel_device_info i965gm_info = {
 	GEN4_FEATURES,
 	PLATFORM(INTEL_I965GM),
+	.display = &i965gm_display,
 	.is_mobile = 1,
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
-	.display.has_overlay = 1,
-	.display.supports_tv = 1,
 	.hws_needs_physical = 1,
 	.has_snoop = false,
 };
@@ -370,6 +436,7 @@ static const struct intel_device_info g45_info = {
 	GEN4_FEATURES,
 	PLATFORM(INTEL_G45),
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
+	.display = &g45_display,
 	.gpu_reset_clobbers_display = false,
 };
 
@@ -378,8 +445,8 @@ static const struct intel_device_info gm45_info = {
 	PLATFORM(INTEL_GM45),
 	.is_mobile = 1,
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
-	.display.supports_tv = 1,
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
+	.display = &gm45_display,
 	.gpu_reset_clobbers_display = false,
 };
 
@@ -387,7 +454,6 @@ static const struct intel_device_info gm45_info = {
 	GEN(5), \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
-	.display.has_hotplug = 1, \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0), \
 	.has_3d_pipeline = 1, \
 	.has_snoop = true, \
@@ -395,20 +461,33 @@ static const struct intel_device_info gm45_info = {
 	/* ilk does support rc6, but we do not implement [power] contexts */ \
 	.has_rc6 = 0, \
 	.dma_mask_size = 36, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	ILK_COLORS, \
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
+#define ILK_DISPLAY \
+	.has_hotplug = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	ILK_COLORS
+
+static const struct intel_display_device_info ilk_d_display = {
+	ILK_DISPLAY,
+};
+
 static const struct intel_device_info ilk_d_info = {
 	GEN5_FEATURES,
 	PLATFORM(INTEL_IRONLAKE),
+	.display = &ilk_d_display,
 };
 
+static const struct intel_display_device_info ilk_m_display = {
+	ILK_DISPLAY,
+ };
+
 static const struct intel_device_info ilk_m_info = {
 	GEN5_FEATURES,
 	PLATFORM(INTEL_IRONLAKE),
+	.display = &ilk_m_display,
 	.is_mobile = 1,
 	.has_rps = true,
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
@@ -418,7 +497,6 @@ static const struct intel_device_info ilk_m_info = {
 	GEN(6), \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
-	.display.has_hotplug = 1, \
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A), \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
 	.has_3d_pipeline = 1, \
@@ -431,23 +509,29 @@ static const struct intel_device_info ilk_m_info = {
 	.dma_mask_size = 40, \
 	.__runtime.ppgtt_type = INTEL_PPGTT_ALIASING, \
 	.__runtime.ppgtt_size = 31, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	ILK_COLORS, \
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
+static const struct intel_display_device_info snb_display = {
+	.has_hotplug = 1,
+	I9XX_PIPE_OFFSETS,
+	I9XX_CURSOR_OFFSETS,
+	ILK_COLORS,
+};
+
 #define SNB_D_PLATFORM \
 	GEN6_FEATURES, \
 	PLATFORM(INTEL_SANDYBRIDGE)
 
 static const struct intel_device_info snb_d_gt1_info = {
 	SNB_D_PLATFORM,
+	.display = &snb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info snb_d_gt2_info = {
 	SNB_D_PLATFORM,
+	.display = &snb_display,
 	.gt = 2,
 };
 
@@ -459,11 +543,13 @@ static const struct intel_device_info snb_d_gt2_info = {
 
 static const struct intel_device_info snb_m_gt1_info = {
 	SNB_M_PLATFORM,
+	.display = &snb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info snb_m_gt2_info = {
 	SNB_M_PLATFORM,
+	.display = &snb_display,
 	.gt = 2,
 };
 
@@ -471,7 +557,6 @@ static const struct intel_device_info snb_m_gt2_info = {
 	GEN(7), \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C), \
-	.display.has_hotplug = 1, \
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A), \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
 	.has_3d_pipeline = 1, \
@@ -484,9 +569,6 @@ static const struct intel_device_info snb_m_gt2_info = {
 	.dma_mask_size = 40, \
 	.__runtime.ppgtt_type = INTEL_PPGTT_ALIASING, \
 	.__runtime.ppgtt_size = 31, \
-	IVB_PIPE_OFFSETS, \
-	IVB_CURSOR_OFFSETS, \
-	IVB_COLORS, \
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
@@ -495,13 +577,22 @@ static const struct intel_device_info snb_m_gt2_info = {
 	PLATFORM(INTEL_IVYBRIDGE), \
 	.has_l3_dpf = 1
 
+static const struct intel_display_device_info ivb_display = {
+	.has_hotplug = 1,
+	IVB_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+};
+
 static const struct intel_device_info ivb_d_gt1_info = {
 	IVB_D_PLATFORM,
+	.display = &ivb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info ivb_d_gt2_info = {
 	IVB_D_PLATFORM,
+	.display = &ivb_display,
 	.gt = 2,
 };
 
@@ -513,11 +604,13 @@ static const struct intel_device_info ivb_d_gt2_info = {
 
 static const struct intel_device_info ivb_m_gt1_info = {
 	IVB_M_PLATFORM,
+	.display = &ivb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info ivb_m_gt2_info = {
 	IVB_M_PLATFORM,
+	.display = &ivb_display,
 	.gt = 2,
 };
 
@@ -529,28 +622,32 @@ static const struct intel_device_info ivb_q_info = {
 	.has_l3_dpf = 1,
 };
 
+static const struct intel_display_device_info vlv_display = {
+	.has_gmch = 1,
+	.has_hotplug = 1,
+	.mmio_offset = VLV_DISPLAY_BASE,
+	I9XX_PIPE_OFFSETS,
+	I9XX_CURSOR_OFFSETS,
+	I9XX_COLORS,
+};
+
 static const struct intel_device_info vlv_info = {
 	PLATFORM(INTEL_VALLEYVIEW),
 	GEN(7),
 	.is_lp = 1,
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
+	.display = &vlv_display,
 	.has_runtime_pm = 1,
 	.has_rc6 = 1,
 	.has_reset_engine = true,
 	.has_rps = true,
-	.display.has_gmch = 1,
-	.display.has_hotplug = 1,
 	.dma_mask_size = 40,
 	.__runtime.ppgtt_type = INTEL_PPGTT_ALIASING,
 	.__runtime.ppgtt_size = 31,
 	.has_snoop = true,
 	.has_coherent_ggtt = false,
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0),
-	.display.mmio_offset = VLV_DISPLAY_BASE,
-	I9XX_PIPE_OFFSETS,
-	I9XX_CURSOR_OFFSETS,
-	I9XX_COLORS,
 	GEN_DEFAULT_PAGE_SIZES,
 	GEN_DEFAULT_REGIONS,
 };
@@ -560,11 +657,7 @@ static const struct intel_device_info vlv_info = {
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
 		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP), \
-	.display.has_ddi = 1, \
-	.display.has_fpga_dbg = 1, \
-	.display.has_dp_mst = 1, \
 	.has_rc6p = 0 /* RC6p removed-by HSW */, \
-	HSW_PIPE_OFFSETS, \
 	.has_runtime_pm = 1
 
 #define HSW_PLATFORM \
@@ -572,18 +665,31 @@ static const struct intel_device_info vlv_info = {
 	PLATFORM(INTEL_HASWELL), \
 	.has_l3_dpf = 1
 
+static const struct intel_display_device_info hsw_display = {
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	HSW_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+};
+
 static const struct intel_device_info hsw_gt1_info = {
 	HSW_PLATFORM,
+	.display = &hsw_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info hsw_gt2_info = {
 	HSW_PLATFORM,
+	.display = &hsw_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info hsw_gt3_info = {
 	HSW_PLATFORM,
+	.display = &hsw_display,
 	.gt = 3,
 };
 
@@ -596,22 +702,35 @@ static const struct intel_device_info hsw_gt3_info = {
 	.__runtime.ppgtt_size = 48, \
 	.has_64bit_reloc = 1
 
+static const struct intel_display_device_info bdw_display = {
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	HSW_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+};
+
 #define BDW_PLATFORM \
 	GEN8_FEATURES, \
 	PLATFORM(INTEL_BROADWELL)
 
 static const struct intel_device_info bdw_gt1_info = {
 	BDW_PLATFORM,
+	.display = &bdw_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info bdw_gt2_info = {
 	BDW_PLATFORM,
+	.display = &bdw_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info bdw_rsvd_info = {
 	BDW_PLATFORM,
+	.display = &bdw_display,
 	.gt = 3,
 	/* According to the device ID those devices are GT3, they were
 	 * previously treated as not GT3, keep it like that.
@@ -620,17 +739,27 @@ static const struct intel_device_info bdw_rsvd_info = {
 
 static const struct intel_device_info bdw_gt3_info = {
 	BDW_PLATFORM,
+	.display = &bdw_display,
 	.gt = 3,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
 };
 
+static const struct intel_display_device_info chv_display = {
+	.has_hotplug = 1,
+	.has_gmch = 1,
+	.mmio_offset = VLV_DISPLAY_BASE,
+	CHV_PIPE_OFFSETS,
+	CHV_CURSOR_OFFSETS,
+	CHV_COLORS,
+};
+
 static const struct intel_device_info chv_info = {
 	PLATFORM(INTEL_CHERRYVIEW),
 	GEN(8),
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
-	.display.has_hotplug = 1,
+	.display = &chv_display,
 	.is_lp = 1,
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0),
 	.has_64bit_reloc = 1,
@@ -638,17 +767,12 @@ static const struct intel_device_info chv_info = {
 	.has_rc6 = 1,
 	.has_rps = true,
 	.has_logical_ring_contexts = 1,
-	.display.has_gmch = 1,
 	.dma_mask_size = 39,
 	.__runtime.ppgtt_type = INTEL_PPGTT_FULL,
 	.__runtime.ppgtt_size = 32,
 	.has_reset_engine = 1,
 	.has_snoop = true,
 	.has_coherent_ggtt = false,
-	.display.mmio_offset = VLV_DISPLAY_BASE,
-	CHV_PIPE_OFFSETS,
-	CHV_CURSOR_OFFSETS,
-	CHV_COLORS,
 	GEN_DEFAULT_PAGE_SIZES,
 	GEN_DEFAULT_REGIONS,
 };
@@ -663,12 +787,22 @@ static const struct intel_device_info chv_info = {
 	GEN9_DEFAULT_PAGE_SIZES, \
 	.__runtime.has_dmc = 1, \
 	.has_gt_uc = 1, \
-	.__runtime.has_hdcp = 1, \
-	.display.has_ipc = 1, \
-	.display.has_psr = 1, \
-	.display.has_psr_hw_tracking = 1, \
-	.display.dbuf.size = 896 - 4, /* 4 blocks for bypass path allocation */ \
-	.display.dbuf.slice_mask = BIT(DBUF_S1)
+	.__runtime.has_hdcp = 1
+
+static const struct intel_display_device_info skl_display = {
+	.dbuf.size = 896 - 4, /* 4 blocks for bypass path allocation */
+	.dbuf.slice_mask = BIT(DBUF_S1),
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	.has_ipc = 1,
+	.has_psr = 1,
+	.has_psr_hw_tracking = 1,
+	HSW_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+};
 
 #define SKL_PLATFORM \
 	GEN9_FEATURES, \
@@ -676,11 +810,13 @@ static const struct intel_device_info chv_info = {
 
 static const struct intel_device_info skl_gt1_info = {
 	SKL_PLATFORM,
+	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info skl_gt2_info = {
 	SKL_PLATFORM,
+	.display = &skl_display,
 	.gt = 2,
 };
 
@@ -692,19 +828,19 @@ static const struct intel_device_info skl_gt2_info = {
 
 static const struct intel_device_info skl_gt3_info = {
 	SKL_GT3_PLUS_PLATFORM,
+	.display = &skl_display,
 	.gt = 3,
 };
 
 static const struct intel_device_info skl_gt4_info = {
 	SKL_GT3_PLUS_PLATFORM,
+	.display = &skl_display,
 	.gt = 4,
 };
 
 #define GEN9_LP_FEATURES \
 	GEN(9), \
 	.is_lp = 1, \
-	.display.dbuf.slice_mask = BIT(DBUF_S1), \
-	.display.has_hotplug = 1, \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
@@ -712,17 +848,12 @@ static const struct intel_device_info skl_gt4_info = {
 		BIT(TRANSCODER_DSI_A) | BIT(TRANSCODER_DSI_C), \
 	.has_3d_pipeline = 1, \
 	.has_64bit_reloc = 1, \
-	.display.has_ddi = 1, \
-	.display.has_fpga_dbg = 1, \
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A), \
 	.__runtime.has_hdcp = 1, \
-	.display.has_psr = 1, \
-	.display.has_psr_hw_tracking = 1, \
 	.has_runtime_pm = 1, \
 	.__runtime.has_dmc = 1, \
 	.has_rc6 = 1, \
 	.has_rps = true, \
-	.display.has_dp_mst = 1, \
 	.has_logical_ring_contexts = 1, \
 	.has_gt_uc = 1, \
 	.dma_mask_size = 39, \
@@ -731,25 +862,44 @@ static const struct intel_device_info skl_gt4_info = {
 	.has_reset_engine = 1, \
 	.has_snoop = true, \
 	.has_coherent_ggtt = false, \
-	.display.has_ipc = 1, \
-	HSW_PIPE_OFFSETS, \
-	IVB_CURSOR_OFFSETS, \
-	IVB_COLORS, \
 	GEN9_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
+#define GEN9_LP_DISPLAY \
+	.dbuf.slice_mask = BIT(DBUF_S1), \
+	.has_dp_mst = 1, \
+	.has_ddi = 1, \
+	.has_fpga_dbg = 1, \
+	.has_hotplug = 1, \
+	.has_ipc = 1, \
+	.has_psr = 1, \
+	.has_psr_hw_tracking = 1, \
+	HSW_PIPE_OFFSETS, \
+	IVB_CURSOR_OFFSETS, \
+	IVB_COLORS
+
+static const struct intel_display_device_info bxt_display = {
+	GEN9_LP_DISPLAY,
+	.dbuf.size = 512 - 4, /* 4 blocks for bypass path allocation */
+};
+
 static const struct intel_device_info bxt_info = {
 	GEN9_LP_FEATURES,
 	PLATFORM(INTEL_BROXTON),
-	.display.dbuf.size = 512 - 4, /* 4 blocks for bypass path allocation */
+	.display = &bxt_display,
+};
+
+static const struct intel_display_device_info glk_display = {
+	GEN9_LP_DISPLAY,
+	.dbuf.size = 1024 - 4, /* 4 blocks for bypass path allocation */
+	GLK_COLORS,
 };
 
 static const struct intel_device_info glk_info = {
 	GEN9_LP_FEATURES,
 	PLATFORM(INTEL_GEMINILAKE),
 	.__runtime.display.ip.ver = 10,
-	.display.dbuf.size = 1024 - 4, /* 4 blocks for bypass path allocation */
-	GLK_COLORS,
+	.display = &glk_display,
 };
 
 #define KBL_PLATFORM \
@@ -758,16 +908,19 @@ static const struct intel_device_info glk_info = {
 
 static const struct intel_device_info kbl_gt1_info = {
 	KBL_PLATFORM,
+	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info kbl_gt2_info = {
 	KBL_PLATFORM,
+	.display = &skl_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info kbl_gt3_info = {
 	KBL_PLATFORM,
+	.display = &skl_display,
 	.gt = 3,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
@@ -779,16 +932,19 @@ static const struct intel_device_info kbl_gt3_info = {
 
 static const struct intel_device_info cfl_gt1_info = {
 	CFL_PLATFORM,
+	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info cfl_gt2_info = {
 	CFL_PLATFORM,
+	.display = &skl_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info cfl_gt3_info = {
 	CFL_PLATFORM,
+	.display = &skl_display,
 	.gt = 3,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
@@ -800,11 +956,13 @@ static const struct intel_device_info cfl_gt3_info = {
 
 static const struct intel_device_info cml_gt1_info = {
 	CML_PLATFORM,
+	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info cml_gt2_info = {
 	CML_PLATFORM,
+	.display = &skl_display,
 	.gt = 2,
 };
 
@@ -816,39 +974,51 @@ static const struct intel_device_info cml_gt2_info = {
 #define GEN11_FEATURES \
 	GEN9_FEATURES, \
 	GEN11_DEFAULT_PAGE_SIZES, \
-	.display.abox_mask = BIT(0), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
 		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
 		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
-	.display.pipe_offsets = { \
-		[TRANSCODER_A] = PIPE_A_OFFSET, \
-		[TRANSCODER_B] = PIPE_B_OFFSET, \
-		[TRANSCODER_C] = PIPE_C_OFFSET, \
-		[TRANSCODER_EDP] = PIPE_EDP_OFFSET, \
-		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET, \
-		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET, \
-	}, \
-	.display.trans_offsets = { \
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
-		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
-		[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET, \
-		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET, \
-		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET, \
-	}, \
 	GEN(11), \
-	ICL_COLORS, \
-	.display.dbuf.size = 2048, \
-	.display.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2), \
 	.__runtime.has_dsc = 1, \
 	.has_coherent_ggtt = false, \
 	.has_logical_ring_elsq = 1
 
+static const struct intel_display_device_info gen11_display = {
+	.abox_mask = BIT(0),
+	.dbuf.size = 2048,
+	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2),
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	.has_ipc = 1,
+	.has_psr = 1,
+	.has_psr_hw_tracking = 1,
+	.pipe_offsets = {
+		[TRANSCODER_A] = PIPE_A_OFFSET,
+		[TRANSCODER_B] = PIPE_B_OFFSET,
+		[TRANSCODER_C] = PIPE_C_OFFSET,
+		[TRANSCODER_EDP] = PIPE_EDP_OFFSET,
+		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,
+		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,
+	},
+	.trans_offsets = {
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET,
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET,
+		[TRANSCODER_C] = TRANSCODER_C_OFFSET,
+		[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET,
+		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,
+		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,
+	},
+	IVB_CURSOR_OFFSETS,
+	ICL_COLORS,
+};
+
 static const struct intel_device_info icl_info = {
 	GEN11_FEATURES,
 	PLATFORM(INTEL_ICELAKE),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
+	.display = &gen11_display,
 };
 
 static const struct intel_device_info ehl_info = {
@@ -856,6 +1026,7 @@ static const struct intel_device_info ehl_info = {
 	PLATFORM(INTEL_ELKHARTLAKE),
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
 	.__runtime.ppgtt_size = 36,
+	.display = &gen11_display,
 };
 
 static const struct intel_device_info jsl_info = {
@@ -863,17 +1034,32 @@ static const struct intel_device_info jsl_info = {
 	PLATFORM(INTEL_JASPERLAKE),
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
 	.__runtime.ppgtt_size = 36,
+	.display = &gen11_display,
 };
 
 #define GEN12_FEATURES \
 	GEN11_FEATURES, \
 	GEN(12), \
-	.display.abox_mask = GENMASK(2, 1), \
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D), \
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
 		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) | \
 		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
-	.display.pipe_offsets = { \
+	.has_global_mocs = 1, \
+	.has_pxp = 1
+
+#define XE_D_DISPLAY \
+	.abox_mask = GENMASK(2, 1), \
+	.dbuf.size = 2048, \
+	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2), \
+	.has_ddi = 1, \
+	.has_dp_mst = 1, \
+	.has_dsb = 1, \
+	.has_fpga_dbg = 1, \
+	.has_hotplug = 1, \
+	.has_ipc = 1, \
+	.has_psr = 1, \
+	.has_psr_hw_tracking = 1, \
+	.pipe_offsets = { \
 		[TRANSCODER_A] = PIPE_A_OFFSET, \
 		[TRANSCODER_B] = PIPE_B_OFFSET, \
 		[TRANSCODER_C] = PIPE_C_OFFSET, \
@@ -881,7 +1067,7 @@ static const struct intel_device_info jsl_info = {
 		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET, \
 		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET, \
 	}, \
-	.display.trans_offsets = { \
+	.trans_offsets = { \
 		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
 		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
 		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
@@ -890,28 +1076,36 @@ static const struct intel_device_info jsl_info = {
 		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET, \
 	}, \
 	TGL_CURSOR_OFFSETS, \
-	.has_global_mocs = 1, \
-	.has_pxp = 1, \
-	.display.has_dsb = 1
+	ICL_COLORS
+
+static const struct intel_display_device_info tgl_display = {
+	XE_D_DISPLAY,
+};
 
 static const struct intel_device_info tgl_info = {
 	GEN12_FEATURES,
 	PLATFORM(INTEL_TIGERLAKE),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
+	.display = &tgl_display,
+};
+
+static const struct intel_display_device_info rkl_display = {
+	XE_D_DISPLAY,
+	.abox_mask = BIT(0),
+	.has_hti = 1,
+	.has_psr_hw_tracking = 0,
 };
 
 static const struct intel_device_info rkl_info = {
 	GEN12_FEATURES,
 	PLATFORM(INTEL_ROCKETLAKE),
-	.display.abox_mask = BIT(0),
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
 		BIT(TRANSCODER_C),
-	.display.has_hti = 1,
-	.display.has_psr_hw_tracking = 0,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0),
+	.display = &rkl_display,
 };
 
 #define DGFX_FEATURES \
@@ -934,43 +1128,43 @@ static const struct intel_device_info dg1_info = {
 		BIT(VCS0) | BIT(VCS2),
 	/* Wa_16011227922 */
 	.__runtime.ppgtt_size = 47,
+	.display = &tgl_display,
+};
+
+static const struct intel_display_device_info adl_s_display = {
+	XE_D_DISPLAY,
+	.has_hti = 1,
+	.has_psr_hw_tracking = 0,
 };
 
 static const struct intel_device_info adl_s_info = {
 	GEN12_FEATURES,
 	PLATFORM(INTEL_ALDERLAKE_S),
 	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D),
-	.display.has_hti = 1,
-	.display.has_psr_hw_tracking = 0,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
 	.dma_mask_size = 39,
+	.display = &adl_s_display,
 };
 
 #define XE_LPD_FEATURES \
-	.display.abox_mask = GENMASK(1, 0),					\
-	.display.color = {							\
+	.abox_mask = GENMASK(1, 0),						\
+	.color = {								\
 		.degamma_lut_size = 129, .gamma_lut_size = 1024,		\
 		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING |		\
-				     DRM_COLOR_LUT_EQUAL_CHANNELS,		\
+		DRM_COLOR_LUT_EQUAL_CHANNELS,					\
 	},									\
-	.display.dbuf.size = 4096,						\
-	.display.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2) | BIT(DBUF_S3) |	\
+	.dbuf.size = 4096,							\
+	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2) | BIT(DBUF_S3) |		\
 		BIT(DBUF_S4),							\
-	.display.has_ddi = 1,							\
-	.__runtime.has_dmc = 1,							\
-	.display.has_dp_mst = 1,						\
-	.display.has_dsb = 1,							\
-	.__runtime.has_dsc = 1,							\
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),					\
-	.display.has_fpga_dbg = 1,						\
-	.__runtime.has_hdcp = 1,						\
-	.display.has_hotplug = 1,						\
-	.display.has_ipc = 1,							\
-	.display.has_psr = 1,							\
-	.__runtime.display.ip.ver = 13,							\
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D),	\
-	.display.pipe_offsets = {						\
+	.has_ddi = 1,								\
+	.has_dp_mst = 1,							\
+	.has_dsb = 1,								\
+	.has_fpga_dbg = 1,							\
+	.has_hotplug = 1,							\
+	.has_ipc = 1,								\
+	.has_psr = 1,								\
+	.pipe_offsets = {							\
 		[TRANSCODER_A] = PIPE_A_OFFSET,					\
 		[TRANSCODER_B] = PIPE_B_OFFSET,					\
 		[TRANSCODER_C] = PIPE_C_OFFSET,					\
@@ -978,7 +1172,7 @@ static const struct intel_device_info adl_s_info = {
 		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,				\
 		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,				\
 	},									\
-	.display.trans_offsets = {						\
+	.trans_offsets = {						\
 		[TRANSCODER_A] = TRANSCODER_A_OFFSET,				\
 		[TRANSCODER_B] = TRANSCODER_B_OFFSET,				\
 		[TRANSCODER_C] = TRANSCODER_C_OFFSET,				\
@@ -988,18 +1182,31 @@ static const struct intel_device_info adl_s_info = {
 	},									\
 	TGL_CURSOR_OFFSETS
 
+#define XE_LPD_RUNTIME \
+	.__runtime.has_dmc = 1,							\
+	.__runtime.has_dsc = 1,							\
+	.__runtime.fbc_mask = BIT(INTEL_FBC_A),					\
+	.__runtime.has_hdcp = 1,						\
+	.__runtime.display.ip.ver = 13,							\
+	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D)
+
+static const struct intel_display_device_info xe_lpd_display = {
+	XE_LPD_FEATURES,
+	.has_cdclk_crawl = 1,
+	.has_psr_hw_tracking = 0,
+};
+
 static const struct intel_device_info adl_p_info = {
 	GEN12_FEATURES,
-	XE_LPD_FEATURES,
+	XE_LPD_RUNTIME,
 	PLATFORM(INTEL_ALDERLAKE_P),
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
 			       BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |
 			       BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
-	.display.has_cdclk_crawl = 1,
-	.display.has_psr_hw_tracking = 0,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
 	.__runtime.ppgtt_size = 48,
+	.display = &xe_lpd_display,
 	.dma_mask_size = 39,
 };
 
@@ -1068,18 +1275,23 @@ static const struct intel_device_info xehpsdv_info = {
 	.has_guc_deprivilege = 1, \
 	.has_heci_pxp = 1, \
 	.has_media_ratio_mode = 1, \
-	.display.has_cdclk_squash = 1, \
 	.__runtime.platform_engine_mask = \
 		BIT(RCS0) | BIT(BCS0) | \
 		BIT(VECS0) | BIT(VECS1) | \
 		BIT(VCS0) | BIT(VCS2) | \
 		BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3)
 
+static const struct intel_display_device_info xe_hpd_display = {
+	XE_LPD_FEATURES,
+	.has_cdclk_squash = 1,
+};
+
 static const struct intel_device_info dg2_info = {
 	DG2_FEATURES,
-	XE_LPD_FEATURES,
+	XE_LPD_RUNTIME,
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
 			       BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
+	.display = &xe_hpd_display,
 };
 
 static const struct intel_device_info ats_m_info = {
@@ -1115,11 +1327,9 @@ static const struct intel_device_info pvc_info = {
 	.require_force_probe = 1,
 };
 
-#define XE_LPDP_FEATURES	\
-	XE_LPD_FEATURES,	\
+#define XE_LPDP_RUNTIME	\
+	XE_LPD_RUNTIME,	\
 	.__runtime.display.ip.ver = 14,	\
-	.display.has_cdclk_crawl = 1, \
-	.display.has_cdclk_squash = 1, \
 	.__runtime.fbc_mask = BIT(INTEL_FBC_A) | BIT(INTEL_FBC_B)
 
 static const struct intel_gt_definition xelpmp_extra_gt[] = {
@@ -1132,9 +1342,15 @@ static const struct intel_gt_definition xelpmp_extra_gt[] = {
 	{}
 };
 
+static const struct intel_display_device_info xe_lpdp_display = {
+	XE_LPD_FEATURES,
+	.has_cdclk_crawl = 1,
+	.has_cdclk_squash = 1,
+};
+
 static const struct intel_device_info mtl_info = {
 	XE_HP_FEATURES,
-	XE_LPDP_FEATURES,
+	XE_LPDP_RUNTIME,
 	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
 			       BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
 	/*
@@ -1145,6 +1361,7 @@ static const struct intel_device_info mtl_info = {
 	.__runtime.graphics.ip.rel = 70,
 	.__runtime.media.ip.ver = 13,
 	PLATFORM(INTEL_METEORLAKE),
+	.display = &xe_lpdp_display,
 	.extra_gt_list = xelpmp_extra_gt,
 	.has_flat_ccs = 0,
 	.has_gmd_id = 1,
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 4e23be2995bf..e8836b990058 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -138,7 +138,7 @@ void intel_device_info_print(const struct intel_device_info *info,
 
 	drm_printf(p, "has_pooled_eu: %s\n", str_yes_no(runtime->has_pooled_eu));
 
-#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->display.name))
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->display->name))
 	DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
 #undef PRINT_FLAG
 
@@ -388,6 +388,8 @@ mkwrite_device_info(struct drm_i915_private *i915)
 	return (struct intel_device_info *)INTEL_INFO(i915);
 }
 
+static const struct intel_display_device_info no_display = {};
+
 /**
  * intel_device_info_runtime_init - initialize runtime info
  * @dev_priv: the i915 device
@@ -538,7 +540,7 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 	if (!HAS_DISPLAY(dev_priv)) {
 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
 						   DRIVER_ATOMIC);
-		memset(&info->display, 0, sizeof(info->display));
+		info->display = &no_display;
 
 		runtime->cpu_transcoder_mask = 0;
 		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index c14bc3f5d0fa..f838ae719164 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -257,7 +257,7 @@ struct intel_device_info {
 	DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
 #undef DEFINE_FLAG
 
-	struct intel_display_device_info display;
+	const struct intel_display_device_info *display;
 
 	/*
 	 * Initial runtime info. Do not access outside of i915_driver_create().
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 03/10] drm/i915/display: Move display runtime info to display structure
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 01/10] drm/i915/display: Move display device info to header under display/ Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 02/10] drm/i915: Convert INTEL_INFO()->display to a pointer Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 04/10] drm/i915/display: Make display responsible for probing its own IP Matt Roper
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: Jani Nikula, matthew.d.roper, Andrzej Hajda

Move the runtime info specific to display into display-specific
structures as has already been done with the constant display info.

v2:
 - Rename __runtime to __runtime_defaults for more clarity on the
   purpose.  (Andrzej)
 - Move introduction of DISPLAY_INFO() to previous patch.  (Andrzej)
 - Drop NO_DISPLAY macro.  (Andrzej)
v3:
 - Use "{}" instead of "{ 0 }" for empty struct init.  (Jani)

Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230523195609.73627-4-matthew.d.roper@intel.com
(cherry picked from commit 18e0deeed8c80d8ec0adfff3312252028739ce52)
---
 drivers/gpu/drm/i915/display/intel_crtc.c     |   2 +-
 drivers/gpu/drm/i915/display/intel_cursor.c   |   2 +-
 drivers/gpu/drm/i915/display/intel_display.c  |   2 +-
 drivers/gpu/drm/i915/display/intel_display.h  |   8 +-
 .../drm/i915/display/intel_display_device.h   |  23 ++
 drivers/gpu/drm/i915/display/intel_fbc.c      |   6 +-
 drivers/gpu/drm/i915/display/intel_hdcp.c     |   2 +-
 .../drm/i915/display/skl_universal_plane.c    |   2 +-
 drivers/gpu/drm/i915/i915_drv.h               |  18 +-
 drivers/gpu/drm/i915/i915_pci.c               | 252 +++++++++++-------
 drivers/gpu/drm/i915/intel_device_info.c      | 101 +++----
 drivers/gpu/drm/i915/intel_device_info.h      |  18 --
 drivers/gpu/drm/i915/intel_step.c             |   8 +-
 13 files changed, 268 insertions(+), 176 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index 988924c86bea..5ddcba909dff 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -302,7 +302,7 @@ int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
 		return PTR_ERR(crtc);
 
 	crtc->pipe = pipe;
-	crtc->num_scalers = RUNTIME_INFO(dev_priv)->num_scalers[pipe];
+	crtc->num_scalers = DISPLAY_RUNTIME_INFO(dev_priv)->num_scalers[pipe];
 
 	if (DISPLAY_VER(dev_priv) >= 9)
 		primary = skl_universal_plane_create(dev_priv, pipe,
diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
index e3941ea4cb24..4962247911d4 100644
--- a/drivers/gpu/drm/i915/display/intel_cursor.c
+++ b/drivers/gpu/drm/i915/display/intel_cursor.c
@@ -814,7 +814,7 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv,
 						   DRM_MODE_ROTATE_0 |
 						   DRM_MODE_ROTATE_180);
 
-	zpos = RUNTIME_INFO(dev_priv)->num_sprites[pipe] + 1;
+	zpos = DISPLAY_RUNTIME_INFO(dev_priv)->num_sprites[pipe] + 1;
 	drm_plane_create_zpos_immutable_property(&cursor->base, zpos);
 
 	if (DISPLAY_VER(dev_priv) >= 12)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 9187d37ffdf4..43bcd3d011bf 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -3352,7 +3352,7 @@ static u8 bigjoiner_pipes(struct drm_i915_private *i915)
 	else
 		pipes = 0;
 
-	return pipes & RUNTIME_INFO(i915)->pipe_mask;
+	return pipes & DISPLAY_RUNTIME_INFO(i915)->pipe_mask;
 }
 
 static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv,
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index ce90e6377c13..ccc43d02568a 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -105,7 +105,7 @@ enum i9xx_plane_id {
 };
 
 #define plane_name(p) ((p) + 'A')
-#define sprite_name(p, s) ((p) * RUNTIME_INFO(dev_priv)->num_sprites[(p)] + (s) + 'A')
+#define sprite_name(p, s) ((p) * DISPLAY_RUNTIME_INFO(dev_priv)->num_sprites[(p)] + (s) + 'A')
 
 #define for_each_plane_id_on_crtc(__crtc, __p) \
 	for ((__p) = PLANE_PRIMARY; (__p) < I915_MAX_PLANES; (__p)++) \
@@ -221,7 +221,7 @@ enum phy_fia {
 
 #define for_each_pipe(__dev_priv, __p) \
 	for ((__p) = 0; (__p) < I915_MAX_PIPES; (__p)++) \
-		for_each_if(RUNTIME_INFO(__dev_priv)->pipe_mask & BIT(__p))
+		for_each_if(DISPLAY_RUNTIME_INFO(__dev_priv)->pipe_mask & BIT(__p))
 
 #define for_each_pipe_masked(__dev_priv, __p, __mask) \
 	for_each_pipe(__dev_priv, __p) \
@@ -229,7 +229,7 @@ enum phy_fia {
 
 #define for_each_cpu_transcoder(__dev_priv, __t) \
 	for ((__t) = 0; (__t) < I915_MAX_TRANSCODERS; (__t)++)	\
-		for_each_if (RUNTIME_INFO(__dev_priv)->cpu_transcoder_mask & BIT(__t))
+		for_each_if (DISPLAY_RUNTIME_INFO(__dev_priv)->cpu_transcoder_mask & BIT(__t))
 
 #define for_each_cpu_transcoder_masked(__dev_priv, __t, __mask) \
 	for_each_cpu_transcoder(__dev_priv, __t) \
@@ -237,7 +237,7 @@ enum phy_fia {
 
 #define for_each_sprite(__dev_priv, __p, __s)				\
 	for ((__s) = 0;							\
-	     (__s) < RUNTIME_INFO(__dev_priv)->num_sprites[(__p)];	\
+	     (__s) < DISPLAY_RUNTIME_INFO(__dev_priv)->num_sprites[(__p)];	\
 	     (__s)++)
 
 #define for_each_port(__port) \
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index c689d582dbf1..613607fad5af 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -29,7 +29,30 @@
 	func(overlay_needs_physical); \
 	func(supports_tv);
 
+struct intel_display_runtime_info {
+	struct {
+		u16 ver;
+		u16 rel;
+		u16 step;
+	} ip;
+
+	u8 pipe_mask;
+	u8 cpu_transcoder_mask;
+
+	u8 num_sprites[I915_MAX_PIPES];
+	u8 num_scalers[I915_MAX_PIPES];
+
+	u8 fbc_mask;
+
+	bool has_hdcp;
+	bool has_dmc;
+	bool has_dsc;
+};
+
 struct intel_display_device_info {
+	/* Initial runtime info. */
+	const struct intel_display_runtime_info __runtime_defaults;
+
 	u8 abox_mask;
 
 	struct {
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 0e8e899f596b..9492b5158ae6 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -119,7 +119,7 @@ static u32 i915_gem_stolen_compressed_offset(struct xe_bo *bo)
 
 #define for_each_fbc_id(__dev_priv, __fbc_id) \
 	for ((__fbc_id) = INTEL_FBC_A; (__fbc_id) < I915_MAX_FBCS; (__fbc_id)++) \
-		for_each_if(RUNTIME_INFO(__dev_priv)->fbc_mask & BIT(__fbc_id))
+		for_each_if(DISPLAY_RUNTIME_INFO(__dev_priv)->fbc_mask & BIT(__fbc_id))
 
 #define for_each_intel_fbc(__dev_priv, __fbc, __fbc_id) \
 	for_each_fbc_id((__dev_priv), (__fbc_id)) \
@@ -1796,11 +1796,11 @@ void intel_fbc_init(struct drm_i915_private *i915)
 
 #ifdef I915
 	if (!i915_gem_stolen_initialized(i915))
-		RUNTIME_INFO(i915)->fbc_mask = 0;
+		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
 #endif
 
 	if (need_fbc_vtd_wa(i915))
-		RUNTIME_INFO(i915)->fbc_mask = 0;
+		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
 
 	i915->params.enable_fbc = intel_sanitize_fbc_option(i915);
 	drm_dbg_kms(&i915->drm, "Sanitized enable_fbc value: %d\n",
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 0c2ddbef5cfe..f3c48dc2cad5 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1146,7 +1146,7 @@ static void intel_hdcp_prop_work(struct work_struct *work)
 
 bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port)
 {
-	return RUNTIME_INFO(dev_priv)->has_hdcp &&
+	return DISPLAY_RUNTIME_INFO(dev_priv)->has_hdcp &&
 		(DISPLAY_VER(dev_priv) >= 12 || port < PORT_E);
 }
 
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 0f1e4e61d32e..1a0fe5aeaf04 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -1950,7 +1950,7 @@ static enum intel_fbc_id skl_fbc_id_for_pipe(enum pipe pipe)
 static bool skl_plane_has_fbc(struct drm_i915_private *dev_priv,
 			      enum intel_fbc_id fbc_id, enum plane_id plane_id)
 {
-	if ((RUNTIME_INFO(dev_priv)->fbc_mask & BIT(fbc_id)) == 0)
+	if ((DISPLAY_RUNTIME_INFO(dev_priv)->fbc_mask & BIT(fbc_id)) == 0)
 		return false;
 
 	return plane_id == PLANE_PRIMARY;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9612c2ac4b00..4d982fa4d6b5 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -205,6 +205,7 @@ struct drm_i915_private {
 
 	const struct intel_device_info __info; /* Use INTEL_INFO() to access. */
 	struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
+	struct intel_display_runtime_info __display_runtime; /* Access with DISPLAY_RUNTIME_INFO() */
 	struct intel_driver_caps caps;
 
 	struct i915_dsm dsm;
@@ -410,6 +411,7 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
 #define INTEL_INFO(i915)	(&(i915)->__info)
 #define DISPLAY_INFO(i915)	(INTEL_INFO(i915)->display)
 #define RUNTIME_INFO(i915)	(&(i915)->__runtime)
+#define DISPLAY_RUNTIME_INFO(i915)	(&(i915)->__display_runtime)
 #define DRIVER_CAPS(i915)	(&(i915)->caps)
 
 #define INTEL_DEVID(i915)	(RUNTIME_INFO(i915)->device_id)
@@ -428,7 +430,7 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
 #define IS_MEDIA_VER(i915, from, until) \
 	(MEDIA_VER(i915) >= (from) && MEDIA_VER(i915) <= (until))
 
-#define DISPLAY_VER(i915)	(RUNTIME_INFO(i915)->display.ip.ver)
+#define DISPLAY_VER(i915)	(DISPLAY_RUNTIME_INFO(i915)->ip.ver)
 #define IS_DISPLAY_VER(i915, from, until) \
 	(DISPLAY_VER(i915) >= (from) && DISPLAY_VER(i915) <= (until))
 
@@ -811,7 +813,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define I915_HAS_HOTPLUG(i915)	(DISPLAY_INFO(i915)->has_hotplug)
 
 #define HAS_FW_BLC(i915)	(DISPLAY_VER(i915) > 2)
-#define HAS_FBC(i915)	(RUNTIME_INFO(i915)->fbc_mask != 0)
+#define HAS_FBC(i915)		(DISPLAY_RUNTIME_INFO(i915)->fbc_mask != 0)
 #define HAS_CUR_FBC(i915)	(!HAS_GMCH(i915) && DISPLAY_VER(i915) >= 7)
 
 #define HAS_DPT(i915)	(DISPLAY_VER(i915) >= 13)
@@ -831,7 +833,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define HAS_PSR_HW_TRACKING(i915) \
 	(DISPLAY_INFO(i915)->has_psr_hw_tracking)
 #define HAS_PSR2_SEL_FETCH(i915)	 (DISPLAY_VER(i915) >= 12)
-#define HAS_TRANSCODER(i915, trans)	 ((RUNTIME_INFO(i915)->cpu_transcoder_mask & BIT(trans)) != 0)
+#define HAS_TRANSCODER(i915, trans)	 ((DISPLAY_RUNTIME_INFO(i915)->cpu_transcoder_mask & BIT(trans)) != 0)
 
 #define HAS_RC6(i915)		 (INTEL_INFO(i915)->has_rc6)
 #define HAS_RC6p(i915)		 (INTEL_INFO(i915)->has_rc6p)
@@ -839,9 +841,9 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define HAS_RPS(i915)	(INTEL_INFO(i915)->has_rps)
 
-#define HAS_DMC(i915)	(RUNTIME_INFO(i915)->has_dmc)
-#define HAS_DSB(i915)	(DISPLAY_INFO(i915)->has_dsb)
-#define HAS_DSC(__i915)		(RUNTIME_INFO(__i915)->has_dsc)
+#define HAS_DMC(i915)		(DISPLAY_RUNTIME_INFO(i915)->has_dmc)
+#define HAS_DSB(i915)		(DISPLAY_INFO(i915)->has_dsb)
+#define HAS_DSC(__i915)		(DISPLAY_RUNTIME_INFO(__i915)->has_dsc)
 #define HAS_HW_SAGV_WM(i915) (DISPLAY_VER(i915) >= 13 && !IS_DGFX(i915))
 
 #define HAS_HECI_PXP(i915) \
@@ -903,9 +905,9 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define NUM_L3_SLICES(i915) (IS_HSW_GT3(i915) ? \
 				 2 : HAS_L3_DPF(i915))
 
-#define INTEL_NUM_PIPES(i915) (hweight8(RUNTIME_INFO(i915)->pipe_mask))
+#define INTEL_NUM_PIPES(i915) (hweight8(DISPLAY_RUNTIME_INFO(i915)->pipe_mask))
 
-#define HAS_DISPLAY(i915) (RUNTIME_INFO(i915)->pipe_mask != 0)
+#define HAS_DISPLAY(i915) (DISPLAY_RUNTIME_INFO(i915)->pipe_mask != 0)
 
 #define HAS_VRR(i915)	(DISPLAY_VER(i915) >= 11)
 
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 467327a490b9..76734c725be5 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -40,10 +40,9 @@
 #define PLATFORM(x) .platform = (x)
 #define GEN(x) \
 	.__runtime.graphics.ip.ver = (x), \
-	.__runtime.media.ip.ver = (x), \
-	.__runtime.display.ip.ver = (x)
+	.__runtime.media.ip.ver = (x)
 
-#define NO_DISPLAY .__runtime.pipe_mask = 0
+static const struct intel_display_device_info no_display = {};
 
 #define I845_PIPE_OFFSETS \
 	.pipe_offsets = { \
@@ -179,7 +178,12 @@
 	.has_gmch = 1, \
 	I9XX_PIPE_OFFSETS, \
 	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS
+	I9XX_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 2, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
 
 static const struct intel_display_device_info i830_display = {
 	I830_DISPLAY,
@@ -188,8 +192,6 @@ static const struct intel_display_device_info i830_display = {
 #define I830_FEATURES \
 	GEN(2), \
 	.is_mobile = 1, \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
 	.gpu_reset_clobbers_display = true, \
 	.has_3d_pipeline = 1, \
 	.hws_needs_physical = 1, \
@@ -207,7 +209,11 @@ static const struct intel_display_device_info i830_display = {
 	.has_gmch = 1, \
 	I845_PIPE_OFFSETS, \
 	I845_CURSOR_OFFSETS, \
-	I845_COLORS
+	I845_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 2, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A), \
+	.__runtime_defaults.cpu_transcoder_mask = BIT(TRANSCODER_A)
 
 static const struct intel_display_device_info i845_display = {
 	I845_DISPLAY,
@@ -215,8 +221,6 @@ static const struct intel_display_device_info i845_display = {
 
 #define I845_FEATURES \
 	GEN(2), \
-	.__runtime.pipe_mask = BIT(PIPE_A), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A), \
 	.has_3d_pipeline = 1, \
 	.gpu_reset_clobbers_display = true, \
 	.hws_needs_physical = 1, \
@@ -242,24 +246,26 @@ static const struct intel_device_info i845g_info = {
 
 static const struct intel_display_device_info i85x_display = {
 	I830_DISPLAY,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_device_info i85x_info = {
 	I830_FEATURES,
 	PLATFORM(INTEL_I85X),
 	.display = &i85x_display,
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_display_device_info i865g_display = {
 	I845_DISPLAY,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_device_info i865g_info = {
 	I845_FEATURES,
 	PLATFORM(INTEL_I865G),
 	.display = &i865g_display,
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 #define GEN3_DISPLAY \
@@ -267,7 +273,12 @@ static const struct intel_device_info i865g_info = {
 	.has_overlay = 1, \
 	I9XX_PIPE_OFFSETS, \
 	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS
+	I9XX_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 3, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
 
 static const struct intel_display_device_info i915g_display = {
 	GEN3_DISPLAY,
@@ -280,6 +291,8 @@ static const struct intel_display_device_info i915gm_display = {
 	.cursor_needs_physical = 1,
 	.overlay_needs_physical = 1,
 	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_display_device_info i945g_display = {
@@ -295,6 +308,8 @@ static const struct intel_display_device_info i945gm_display = {
 	.cursor_needs_physical = 1,
 	.overlay_needs_physical = 1,
 	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_display_device_info g33_display = {
@@ -304,8 +319,6 @@ static const struct intel_display_device_info g33_display = {
 
 #define GEN3_FEATURES \
 	GEN(3), \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
 	.gpu_reset_clobbers_display = true, \
 	.__runtime.platform_engine_mask = BIT(RCS0), \
 	.has_3d_pipeline = 1, \
@@ -329,7 +342,6 @@ static const struct intel_device_info i915gm_info = {
 	PLATFORM(INTEL_I915GM),
 	.display = &i915gm_display,
 	.is_mobile = 1,
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
 };
@@ -347,7 +359,6 @@ static const struct intel_device_info i945gm_info = {
 	PLATFORM(INTEL_I945GM),
 	.display = &i945gm_display,
 	.is_mobile = 1,
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
 };
@@ -379,7 +390,12 @@ static const struct intel_device_info pnv_m_info = {
 	.has_gmch = 1, \
 	I9XX_PIPE_OFFSETS, \
 	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS
+	I9XX_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 4, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
 
 static const struct intel_display_device_info i965g_display = {
 	GEN4_DISPLAY,
@@ -390,6 +406,8 @@ static const struct intel_display_device_info i965gm_display = {
 	GEN4_DISPLAY,
 	.has_overlay = 1,
 	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_display_device_info g45_display = {
@@ -399,12 +417,12 @@ static const struct intel_display_device_info g45_display = {
 static const struct intel_display_device_info gm45_display = {
 	GEN4_DISPLAY,
 	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 #define GEN4_FEATURES \
 	GEN(4), \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
 	.gpu_reset_clobbers_display = true, \
 	.__runtime.platform_engine_mask = BIT(RCS0), \
 	.has_3d_pipeline = 1, \
@@ -427,7 +445,6 @@ static const struct intel_device_info i965gm_info = {
 	PLATFORM(INTEL_I965GM),
 	.display = &i965gm_display,
 	.is_mobile = 1,
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 	.hws_needs_physical = 1,
 	.has_snoop = false,
 };
@@ -444,7 +461,6 @@ static const struct intel_device_info gm45_info = {
 	GEN4_FEATURES,
 	PLATFORM(INTEL_GM45),
 	.is_mobile = 1,
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
 	.display = &gm45_display,
 	.gpu_reset_clobbers_display = false,
@@ -452,8 +468,6 @@ static const struct intel_device_info gm45_info = {
 
 #define GEN5_FEATURES \
 	GEN(5), \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0), \
 	.has_3d_pipeline = 1, \
 	.has_snoop = true, \
@@ -468,7 +482,12 @@ static const struct intel_device_info gm45_info = {
 	.has_hotplug = 1, \
 	I9XX_PIPE_OFFSETS, \
 	I9XX_CURSOR_OFFSETS, \
-	ILK_COLORS
+	ILK_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 5, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
 
 static const struct intel_display_device_info ilk_d_display = {
 	ILK_DISPLAY,
@@ -482,6 +501,8 @@ static const struct intel_device_info ilk_d_info = {
 
 static const struct intel_display_device_info ilk_m_display = {
 	ILK_DISPLAY,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
  };
 
 static const struct intel_device_info ilk_m_info = {
@@ -490,14 +511,10 @@ static const struct intel_device_info ilk_m_info = {
 	.display = &ilk_m_display,
 	.is_mobile = 1,
 	.has_rps = true,
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 #define GEN6_FEATURES \
 	GEN(6), \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A), \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
 	.has_3d_pipeline = 1, \
 	.has_coherent_ggtt = true, \
@@ -517,6 +534,12 @@ static const struct intel_display_device_info snb_display = {
 	I9XX_PIPE_OFFSETS,
 	I9XX_CURSOR_OFFSETS,
 	ILK_COLORS,
+
+	.__runtime_defaults.ip.ver = 6,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 #define SNB_D_PLATFORM \
@@ -555,9 +578,6 @@ static const struct intel_device_info snb_m_gt2_info = {
 
 #define GEN7_FEATURES  \
 	GEN(7), \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C), \
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A), \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
 	.has_3d_pipeline = 1, \
 	.has_coherent_ggtt = true, \
@@ -582,6 +602,12 @@ static const struct intel_display_device_info ivb_display = {
 	IVB_PIPE_OFFSETS,
 	IVB_CURSOR_OFFSETS,
 	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 7,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_device_info ivb_d_gt1_info = {
@@ -617,7 +643,7 @@ static const struct intel_device_info ivb_m_gt2_info = {
 static const struct intel_device_info ivb_q_info = {
 	GEN7_FEATURES,
 	PLATFORM(INTEL_IVYBRIDGE),
-	NO_DISPLAY,
+	.display = &no_display,
 	.gt = 2,
 	.has_l3_dpf = 1,
 };
@@ -629,14 +655,17 @@ static const struct intel_display_device_info vlv_display = {
 	I9XX_PIPE_OFFSETS,
 	I9XX_CURSOR_OFFSETS,
 	I9XX_COLORS,
+
+	.__runtime_defaults.ip.ver = 7,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
 };
 
 static const struct intel_device_info vlv_info = {
 	PLATFORM(INTEL_VALLEYVIEW),
 	GEN(7),
 	.is_lp = 1,
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
 	.display = &vlv_display,
 	.has_runtime_pm = 1,
 	.has_rc6 = 1,
@@ -655,8 +684,6 @@ static const struct intel_device_info vlv_info = {
 #define G75_FEATURES  \
 	GEN7_FEATURES, \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP), \
 	.has_rc6p = 0 /* RC6p removed-by HSW */, \
 	.has_runtime_pm = 1
 
@@ -673,6 +700,13 @@ static const struct intel_display_device_info hsw_display = {
 	HSW_PIPE_OFFSETS,
 	IVB_CURSOR_OFFSETS,
 	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 7,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_device_info hsw_gt1_info = {
@@ -710,6 +744,13 @@ static const struct intel_display_device_info bdw_display = {
 	HSW_PIPE_OFFSETS,
 	IVB_CURSOR_OFFSETS,
 	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 8,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 #define BDW_PLATFORM \
@@ -752,13 +793,16 @@ static const struct intel_display_device_info chv_display = {
 	CHV_PIPE_OFFSETS,
 	CHV_CURSOR_OFFSETS,
 	CHV_COLORS,
+
+	.__runtime_defaults.ip.ver = 8,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
 };
 
 static const struct intel_device_info chv_info = {
 	PLATFORM(INTEL_CHERRYVIEW),
 	GEN(8),
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
 	.display = &chv_display,
 	.is_lp = 1,
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0),
@@ -785,9 +829,7 @@ static const struct intel_device_info chv_info = {
 	GEN8_FEATURES, \
 	GEN(9), \
 	GEN9_DEFAULT_PAGE_SIZES, \
-	.__runtime.has_dmc = 1, \
-	.has_gt_uc = 1, \
-	.__runtime.has_hdcp = 1
+	.has_gt_uc = 1
 
 static const struct intel_display_device_info skl_display = {
 	.dbuf.size = 896 - 4, /* 4 blocks for bypass path allocation */
@@ -802,6 +844,15 @@ static const struct intel_display_device_info skl_display = {
 	HSW_PIPE_OFFSETS,
 	IVB_CURSOR_OFFSETS,
 	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 9,
+	.__runtime_defaults.has_dmc = 1,
+	.__runtime_defaults.has_hdcp = 1,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 #define SKL_PLATFORM \
@@ -842,16 +893,9 @@ static const struct intel_device_info skl_gt4_info = {
 	GEN(9), \
 	.is_lp = 1, \
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
-		BIT(TRANSCODER_DSI_A) | BIT(TRANSCODER_DSI_C), \
 	.has_3d_pipeline = 1, \
 	.has_64bit_reloc = 1, \
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A), \
-	.__runtime.has_hdcp = 1, \
 	.has_runtime_pm = 1, \
-	.__runtime.has_dmc = 1, \
 	.has_rc6 = 1, \
 	.has_rps = true, \
 	.has_logical_ring_contexts = 1, \
@@ -876,11 +920,22 @@ static const struct intel_device_info skl_gt4_info = {
 	.has_psr_hw_tracking = 1, \
 	HSW_PIPE_OFFSETS, \
 	IVB_CURSOR_OFFSETS, \
-	IVB_COLORS
+	IVB_COLORS, \
+	\
+	.__runtime_defaults.has_dmc = 1, \
+	.__runtime_defaults.has_hdcp = 1, \
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A), \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
+		BIT(TRANSCODER_DSI_A) | BIT(TRANSCODER_DSI_C)
 
 static const struct intel_display_device_info bxt_display = {
 	GEN9_LP_DISPLAY,
 	.dbuf.size = 512 - 4, /* 4 blocks for bypass path allocation */
+
+	.__runtime_defaults.ip.ver = 9,
 };
 
 static const struct intel_device_info bxt_info = {
@@ -893,12 +948,13 @@ static const struct intel_display_device_info glk_display = {
 	GEN9_LP_DISPLAY,
 	.dbuf.size = 1024 - 4, /* 4 blocks for bypass path allocation */
 	GLK_COLORS,
+
+	.__runtime_defaults.ip.ver = 10,
 };
 
 static const struct intel_device_info glk_info = {
 	GEN9_LP_FEATURES,
 	PLATFORM(INTEL_GEMINILAKE),
-	.__runtime.display.ip.ver = 10,
 	.display = &glk_display,
 };
 
@@ -974,11 +1030,7 @@ static const struct intel_device_info cml_gt2_info = {
 #define GEN11_FEATURES \
 	GEN9_FEATURES, \
 	GEN11_DEFAULT_PAGE_SIZES, \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
-		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
 	GEN(11), \
-	.__runtime.has_dsc = 1, \
 	.has_coherent_ggtt = false, \
 	.has_logical_ring_elsq = 1
 
@@ -1011,6 +1063,17 @@ static const struct intel_display_device_info gen11_display = {
 	},
 	IVB_CURSOR_OFFSETS,
 	ICL_COLORS,
+
+	.__runtime_defaults.ip.ver = 11,
+	.__runtime_defaults.has_dmc = 1,
+	.__runtime_defaults.has_dsc = 1,
+	.__runtime_defaults.has_hdcp = 1,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) |
+		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_device_info icl_info = {
@@ -1040,10 +1103,6 @@ static const struct intel_device_info jsl_info = {
 #define GEN12_FEATURES \
 	GEN11_FEATURES, \
 	GEN(12), \
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D), \
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) | \
-		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
 	.has_global_mocs = 1, \
 	.has_pxp = 1
 
@@ -1076,7 +1135,19 @@ static const struct intel_device_info jsl_info = {
 		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET, \
 	}, \
 	TGL_CURSOR_OFFSETS, \
-	ICL_COLORS
+	ICL_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 12, \
+	.__runtime_defaults.has_dmc = 1, \
+	.__runtime_defaults.has_dsc = 1, \
+	.__runtime_defaults.has_hdcp = 1, \
+	.__runtime_defaults.pipe_mask = \
+		BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) | \
+		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A)
 
 static const struct intel_display_device_info tgl_display = {
 	XE_D_DISPLAY,
@@ -1095,14 +1166,15 @@ static const struct intel_display_device_info rkl_display = {
 	.abox_mask = BIT(0),
 	.has_hti = 1,
 	.has_psr_hw_tracking = 0,
+
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
 };
 
 static const struct intel_device_info rkl_info = {
 	GEN12_FEATURES,
 	PLATFORM(INTEL_ROCKETLAKE),
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0),
 	.display = &rkl_display,
@@ -1121,7 +1193,6 @@ static const struct intel_device_info dg1_info = {
 	DGFX_FEATURES,
 	.__runtime.graphics.ip.rel = 10,
 	PLATFORM(INTEL_DG1),
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D),
 	.require_force_probe = 1,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) |
@@ -1140,7 +1211,6 @@ static const struct intel_display_device_info adl_s_display = {
 static const struct intel_device_info adl_s_info = {
 	GEN12_FEATURES,
 	PLATFORM(INTEL_ALDERLAKE_S),
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
 	.dma_mask_size = 39,
@@ -1180,29 +1250,30 @@ static const struct intel_device_info adl_s_info = {
 		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,			\
 		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,			\
 	},									\
-	TGL_CURSOR_OFFSETS
-
-#define XE_LPD_RUNTIME \
-	.__runtime.has_dmc = 1,							\
-	.__runtime.has_dsc = 1,							\
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A),					\
-	.__runtime.has_hdcp = 1,						\
-	.__runtime.display.ip.ver = 13,							\
-	.__runtime.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D)
+	TGL_CURSOR_OFFSETS,							\
+										\
+	.__runtime_defaults.ip.ver = 13,					\
+	.__runtime_defaults.has_dmc = 1,					\
+	.__runtime_defaults.has_dsc = 1,					\
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),			\
+	.__runtime_defaults.has_hdcp = 1,					\
+	.__runtime_defaults.pipe_mask =						\
+		BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D)
 
 static const struct intel_display_device_info xe_lpd_display = {
 	XE_LPD_FEATURES,
 	.has_cdclk_crawl = 1,
 	.has_psr_hw_tracking = 0,
+
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |
+		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
 };
 
 static const struct intel_device_info adl_p_info = {
 	GEN12_FEATURES,
-	XE_LPD_RUNTIME,
 	PLATFORM(INTEL_ALDERLAKE_P),
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-			       BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |
-			       BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
 	.__runtime.ppgtt_size = 48,
@@ -1252,7 +1323,7 @@ static const struct intel_device_info xehpsdv_info = {
 	XE_HPM_FEATURES,
 	DGFX_FEATURES,
 	PLATFORM(INTEL_XEHPSDV),
-	NO_DISPLAY,
+	.display = &no_display,
 	.has_64k_pages = 1,
 	.has_media_ratio_mode = 1,
 	.__runtime.platform_engine_mask =
@@ -1284,19 +1355,20 @@ static const struct intel_device_info xehpsdv_info = {
 static const struct intel_display_device_info xe_hpd_display = {
 	XE_LPD_FEATURES,
 	.has_cdclk_squash = 1,
+
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
 };
 
 static const struct intel_device_info dg2_info = {
 	DG2_FEATURES,
-	XE_LPD_RUNTIME,
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-			       BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
 	.display = &xe_hpd_display,
 };
 
 static const struct intel_device_info ats_m_info = {
 	DG2_FEATURES,
-	NO_DISPLAY,
+	.display = &no_display,
 	.require_force_probe = 1,
 	.tuning_thread_rr_after_dep = 1,
 };
@@ -1318,7 +1390,7 @@ static const struct intel_device_info pvc_info = {
 	.__runtime.graphics.ip.rel = 60,
 	.__runtime.media.ip.rel = 60,
 	PLATFORM(INTEL_PONTEVECCHIO),
-	NO_DISPLAY,
+	.display = &no_display,
 	.has_flat_ccs = 0,
 	.__runtime.platform_engine_mask =
 		BIT(BCS0) |
@@ -1327,11 +1399,6 @@ static const struct intel_device_info pvc_info = {
 	.require_force_probe = 1,
 };
 
-#define XE_LPDP_RUNTIME	\
-	XE_LPD_RUNTIME,	\
-	.__runtime.display.ip.ver = 14,	\
-	.__runtime.fbc_mask = BIT(INTEL_FBC_A) | BIT(INTEL_FBC_B)
-
 static const struct intel_gt_definition xelpmp_extra_gt[] = {
 	{
 		.type = GT_MEDIA,
@@ -1346,13 +1413,16 @@ static const struct intel_display_device_info xe_lpdp_display = {
 	XE_LPD_FEATURES,
 	.has_cdclk_crawl = 1,
 	.has_cdclk_squash = 1,
+
+	.__runtime_defaults.ip.ver = 14,
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A) | BIT(INTEL_FBC_B),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
 };
 
 static const struct intel_device_info mtl_info = {
 	XE_HP_FEATURES,
-	XE_LPDP_RUNTIME,
-	.__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-			       BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
 	/*
 	 * Real graphics IP version will be obtained from hardware GMD_ID
 	 * register.  Value provided here is just for sanity checking.
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index e8836b990058..3a0d1cb2eaa9 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -95,6 +95,9 @@ void intel_device_info_print(const struct intel_device_info *info,
 			     const struct intel_runtime_info *runtime,
 			     struct drm_printer *p)
 {
+	const struct intel_display_runtime_info *display_runtime =
+		&info->display->__runtime_defaults;
+
 	if (runtime->graphics.ip.rel)
 		drm_printf(p, "graphics version: %u.%02u\n",
 			   runtime->graphics.ip.ver,
@@ -111,13 +114,13 @@ void intel_device_info_print(const struct intel_device_info *info,
 		drm_printf(p, "media version: %u\n",
 			   runtime->media.ip.ver);
 
-	if (runtime->display.ip.rel)
+	if (display_runtime->ip.rel)
 		drm_printf(p, "display version: %u.%02u\n",
-			   runtime->display.ip.ver,
-			   runtime->display.ip.rel);
+			   display_runtime->ip.ver,
+			   display_runtime->ip.rel);
 	else
 		drm_printf(p, "display version: %u\n",
-			   runtime->display.ip.ver);
+			   display_runtime->ip.ver);
 
 	drm_printf(p, "graphics stepping: %s\n", intel_step_name(runtime->step.graphics_step));
 	drm_printf(p, "media stepping: %s\n", intel_step_name(runtime->step.media_step));
@@ -142,9 +145,9 @@ void intel_device_info_print(const struct intel_device_info *info,
 	DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
 #undef PRINT_FLAG
 
-	drm_printf(p, "has_hdcp: %s\n", str_yes_no(runtime->has_hdcp));
-	drm_printf(p, "has_dmc: %s\n", str_yes_no(runtime->has_dmc));
-	drm_printf(p, "has_dsc: %s\n", str_yes_no(runtime->has_dsc));
+	drm_printf(p, "has_hdcp: %s\n", str_yes_no(display_runtime->has_hdcp));
+	drm_printf(p, "has_dmc: %s\n", str_yes_no(display_runtime->has_dmc));
+	drm_printf(p, "has_dsc: %s\n", str_yes_no(display_runtime->has_dsc));
 
 	drm_printf(p, "rawclk rate: %u kHz\n", runtime->rawclk_freq);
 }
@@ -342,6 +345,7 @@ static void ip_ver_read(struct drm_i915_private *i915, u32 offset, struct intel_
 static void intel_ipver_early_init(struct drm_i915_private *i915)
 {
 	struct intel_runtime_info *runtime = RUNTIME_INFO(i915);
+	struct intel_display_runtime_info *display_runtime = DISPLAY_RUNTIME_INFO(i915);
 
 	if (!HAS_GMD_ID(i915)) {
 		drm_WARN_ON(&i915->drm, RUNTIME_INFO(i915)->graphics.ip.ver > 12);
@@ -363,7 +367,7 @@ static void intel_ipver_early_init(struct drm_i915_private *i915)
 		RUNTIME_INFO(i915)->graphics.ip.rel = 70;
 	}
 	ip_ver_read(i915, i915_mmio_reg_offset(GMD_ID_DISPLAY),
-		    &runtime->display.ip);
+		    (struct intel_ip_version *)&display_runtime->ip);
 	ip_ver_read(i915, i915_mmio_reg_offset(GMD_ID_MEDIA),
 		    &runtime->media.ip);
 }
@@ -410,32 +414,34 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 {
 	struct intel_device_info *info = mkwrite_device_info(dev_priv);
 	struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);
+	struct intel_display_runtime_info *display_runtime =
+		DISPLAY_RUNTIME_INFO(dev_priv);
 	enum pipe pipe;
 
 	/* Wa_14011765242: adl-s A0,A1 */
 	if (IS_ADLS_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A2))
 		for_each_pipe(dev_priv, pipe)
-			runtime->num_scalers[pipe] = 0;
+			display_runtime->num_scalers[pipe] = 0;
 	else if (DISPLAY_VER(dev_priv) >= 11) {
 		for_each_pipe(dev_priv, pipe)
-			runtime->num_scalers[pipe] = 2;
+			display_runtime->num_scalers[pipe] = 2;
 	} else if (DISPLAY_VER(dev_priv) >= 9) {
-		runtime->num_scalers[PIPE_A] = 2;
-		runtime->num_scalers[PIPE_B] = 2;
-		runtime->num_scalers[PIPE_C] = 1;
+		display_runtime->num_scalers[PIPE_A] = 2;
+		display_runtime->num_scalers[PIPE_B] = 2;
+		display_runtime->num_scalers[PIPE_C] = 1;
 	}
 
 	BUILD_BUG_ON(BITS_PER_TYPE(intel_engine_mask_t) < I915_NUM_ENGINES);
 
 	if (DISPLAY_VER(dev_priv) >= 13 || HAS_D12_PLANE_MINIMIZATION(dev_priv))
 		for_each_pipe(dev_priv, pipe)
-			runtime->num_sprites[pipe] = 4;
+			display_runtime->num_sprites[pipe] = 4;
 	else if (DISPLAY_VER(dev_priv) >= 11)
 		for_each_pipe(dev_priv, pipe)
-			runtime->num_sprites[pipe] = 6;
+			display_runtime->num_sprites[pipe] = 6;
 	else if (DISPLAY_VER(dev_priv) == 10)
 		for_each_pipe(dev_priv, pipe)
-			runtime->num_sprites[pipe] = 3;
+			display_runtime->num_sprites[pipe] = 3;
 	else if (IS_BROXTON(dev_priv)) {
 		/*
 		 * Skylake and Broxton currently don't expose the topmost plane as its
@@ -446,15 +452,15 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 		 * down the line.
 		 */
 
-		runtime->num_sprites[PIPE_A] = 2;
-		runtime->num_sprites[PIPE_B] = 2;
-		runtime->num_sprites[PIPE_C] = 1;
+		display_runtime->num_sprites[PIPE_A] = 2;
+		display_runtime->num_sprites[PIPE_B] = 2;
+		display_runtime->num_sprites[PIPE_C] = 1;
 	} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
 		for_each_pipe(dev_priv, pipe)
-			runtime->num_sprites[pipe] = 2;
+			display_runtime->num_sprites[pipe] = 2;
 	} else if (DISPLAY_VER(dev_priv) >= 5 || IS_G4X(dev_priv)) {
 		for_each_pipe(dev_priv, pipe)
-			runtime->num_sprites[pipe] = 1;
+			display_runtime->num_sprites[pipe] = 1;
 	}
 
 	if (HAS_DISPLAY(dev_priv) &&
@@ -462,7 +468,7 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 	    !(intel_de_read(dev_priv, GU_CNTL_PROTECTED) & DEPRESENT)) {
 		drm_info(&dev_priv->drm, "Display not present, disabling\n");
 
-		runtime->pipe_mask = 0;
+		display_runtime->pipe_mask = 0;
 	}
 
 	if (HAS_DISPLAY(dev_priv) && IS_GRAPHICS_VER(dev_priv, 7, 8) &&
@@ -485,47 +491,47 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 		     !(sfuse_strap & SFUSE_STRAP_FUSE_LOCK))) {
 			drm_info(&dev_priv->drm,
 				 "Display fused off, disabling\n");
-			runtime->pipe_mask = 0;
+			display_runtime->pipe_mask = 0;
 		} else if (fuse_strap & IVB_PIPE_C_DISABLE) {
 			drm_info(&dev_priv->drm, "PipeC fused off\n");
-			runtime->pipe_mask &= ~BIT(PIPE_C);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
+			display_runtime->pipe_mask &= ~BIT(PIPE_C);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
 		}
 	} else if (HAS_DISPLAY(dev_priv) && DISPLAY_VER(dev_priv) >= 9) {
 		u32 dfsm = intel_de_read(dev_priv, SKL_DFSM);
 
 		if (dfsm & SKL_DFSM_PIPE_A_DISABLE) {
-			runtime->pipe_mask &= ~BIT(PIPE_A);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_A);
-			runtime->fbc_mask &= ~BIT(INTEL_FBC_A);
+			display_runtime->pipe_mask &= ~BIT(PIPE_A);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_A);
+			display_runtime->fbc_mask &= ~BIT(INTEL_FBC_A);
 		}
 		if (dfsm & SKL_DFSM_PIPE_B_DISABLE) {
-			runtime->pipe_mask &= ~BIT(PIPE_B);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
+			display_runtime->pipe_mask &= ~BIT(PIPE_B);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
 		}
 		if (dfsm & SKL_DFSM_PIPE_C_DISABLE) {
-			runtime->pipe_mask &= ~BIT(PIPE_C);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
+			display_runtime->pipe_mask &= ~BIT(PIPE_C);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
 		}
 
 		if (DISPLAY_VER(dev_priv) >= 12 &&
 		    (dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
-			runtime->pipe_mask &= ~BIT(PIPE_D);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
+			display_runtime->pipe_mask &= ~BIT(PIPE_D);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
 		}
 
 		if (dfsm & SKL_DFSM_DISPLAY_HDCP_DISABLE)
-			runtime->has_hdcp = 0;
+			display_runtime->has_hdcp = 0;
 
 		if (dfsm & SKL_DFSM_DISPLAY_PM_DISABLE)
-			runtime->fbc_mask = 0;
+			display_runtime->fbc_mask = 0;
 
 		if (DISPLAY_VER(dev_priv) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
-			runtime->has_dmc = 0;
+			display_runtime->has_dmc = 0;
 
 		if (IS_DISPLAY_VER(dev_priv, 10, 12) &&
 		    (dfsm & GLK_DFSM_DISPLAY_DSC_DISABLE))
-			runtime->has_dsc = 0;
+			display_runtime->has_dsc = 0;
 	}
 
 	if (GRAPHICS_VER(dev_priv) == 6 && i915_vtd_active(dev_priv)) {
@@ -542,13 +548,13 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 						   DRIVER_ATOMIC);
 		info->display = &no_display;
 
-		runtime->cpu_transcoder_mask = 0;
-		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
-		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
-		runtime->fbc_mask = 0;
-		runtime->has_hdcp = false;
-		runtime->has_dmc = false;
-		runtime->has_dsc = false;
+		display_runtime->cpu_transcoder_mask = 0;
+		memset(display_runtime->num_sprites, 0, sizeof(display_runtime->num_sprites));
+		memset(display_runtime->num_scalers, 0, sizeof(display_runtime->num_scalers));
+		display_runtime->fbc_mask = 0;
+		display_runtime->has_hdcp = false;
+		display_runtime->has_dmc = false;
+		display_runtime->has_dsc = false;
 	}
 
 	/* Disable nuclear pageflip by default on pre-g4x */
@@ -568,6 +574,7 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
 {
 	struct intel_device_info *info;
 	struct intel_runtime_info *runtime;
+	struct intel_display_runtime_info *display_runtime;
 
 	/* Setup the write-once "constant" device info */
 	info = mkwrite_device_info(i915);
@@ -576,6 +583,10 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
 	/* Initialize initial runtime info from static const data and pdev. */
 	runtime = RUNTIME_INFO(i915);
 	memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
+	display_runtime = DISPLAY_RUNTIME_INFO(i915);
+	memcpy(display_runtime, &DISPLAY_INFO(i915)->__runtime_defaults,
+	       sizeof(*display_runtime));
+
 	runtime->device_id = device_id;
 }
 
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index f838ae719164..faf6cccdb343 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -197,9 +197,6 @@ struct intel_runtime_info {
 	struct {
 		struct intel_ip_version ip;
 	} media;
-	struct {
-		struct intel_ip_version ip;
-	} display;
 
 	/*
 	 * Platform mask is used for optimizing or-ed IS_PLATFORM calls into
@@ -227,21 +224,6 @@ struct intel_runtime_info {
 	u32 memory_regions; /* regions supported by the HW */
 
 	bool has_pooled_eu;
-
-	/* display */
-	struct {
-		u8 pipe_mask;
-		u8 cpu_transcoder_mask;
-
-		u8 num_sprites[I915_MAX_PIPES];
-		u8 num_scalers[I915_MAX_PIPES];
-
-		u8 fbc_mask;
-
-		bool has_hdcp;
-		bool has_dmc;
-		bool has_dsc;
-	};
 };
 
 struct intel_device_info {
diff --git a/drivers/gpu/drm/i915/intel_step.c b/drivers/gpu/drm/i915/intel_step.c
index 84a6fe736a3b..8a9ff6227e53 100644
--- a/drivers/gpu/drm/i915/intel_step.c
+++ b/drivers/gpu/drm/i915/intel_step.c
@@ -166,8 +166,12 @@ void intel_step_init(struct drm_i915_private *i915)
 						       &RUNTIME_INFO(i915)->graphics.ip);
 		step.media_step = gmd_to_intel_step(i915,
 						    &RUNTIME_INFO(i915)->media.ip);
-		step.display_step = gmd_to_intel_step(i915,
-						      &RUNTIME_INFO(i915)->display.ip);
+		step.display_step = STEP_A0 + DISPLAY_RUNTIME_INFO(i915)->ip.step;
+		if (step.display_step >= STEP_FUTURE) {
+			drm_dbg(&i915->drm, "Using future display steppings\n");
+			step.display_step = STEP_FUTURE;
+		}
+
 		RUNTIME_INFO(i915)->step = step;
 
 		return;
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 04/10] drm/i915/display: Make display responsible for probing its own IP
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (2 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 03/10] drm/i915/display: Move display runtime info to display structure Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 05/10] drm/i915/display: Handle GMD_ID identification in display code Matt Roper
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: Jani Nikula, matthew.d.roper, Andrzej Hajda

Rather than selecting the display IP and feature flags at the same time
the general PCI probing happens, move this step into the display code
itself so that it can be more easily re-used outside of i915 (i.e., by
the Xe driver).

v2:
 - Make intel_display_device_probe() always return a non-NULL pointer
   and simplify copying of runtime_defaults.  (Andrzej)
v3:
 - Redefine INTEL_VGA_DEVICE/INTEL_QUANTA_DEVICE to eliminate a cast and
   an include of linux/mod_devicetable.h.  (Jani)
 - Keep explicit memcpy for runtime defaults.  (Jani)

Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230523195609.73627-5-matthew.d.roper@intel.com
(cherry picked from commit 69d439818fe501e8c9e50d963a53cb596e36f9f7)
---
 drivers/gpu/drm/i915/Makefile                 |   2 +
 .../drm/i915/display/intel_display_device.c   | 718 ++++++++++++++++++
 .../drm/i915/display/intel_display_device.h   |   3 +
 drivers/gpu/drm/i915/i915_pci.c               | 665 ----------------
 drivers/gpu/drm/i915/i915_reg.h               |  33 -
 drivers/gpu/drm/i915/intel_device_info.c      |  10 +-
 6 files changed, 729 insertions(+), 702 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_display_device.c

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index a7b86523b9c7..3e360ff3f97f 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -25,6 +25,7 @@ subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
 
 # Fine grained warnings disable
 CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
+CFLAGS_display/intel_display_device.o = $(call cc-disable-warning, override-init)
 CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init)
 
 subdir-ccflags-y += -I$(srctree)/$(src)
@@ -305,6 +306,7 @@ i915-y += \
 	display/intel_cx0_phy.o \
 	display/intel_ddi.o \
 	display/intel_ddi_buf_trans.o \
+	display/intel_display_device.o \
 	display/intel_display_trace.o \
 	display/intel_dkl_phy.o \
 	display/intel_dp.o \
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
new file mode 100644
index 000000000000..3e2f4cd0b9f5
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -0,0 +1,718 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include <drm/i915_pciids.h>
+#include <drm/drm_color_mgmt.h>
+
+#include "intel_display_device.h"
+#include "intel_display_power.h"
+#include "intel_display_reg_defs.h"
+#include "intel_fbc.h"
+
+static const struct intel_display_device_info no_display = {};
+
+#define PIPE_A_OFFSET		0x70000
+#define PIPE_B_OFFSET		0x71000
+#define PIPE_C_OFFSET		0x72000
+#define PIPE_D_OFFSET		0x73000
+#define CHV_PIPE_C_OFFSET	0x74000
+/*
+ * There's actually no pipe EDP. Some pipe registers have
+ * simply shifted from the pipe to the transcoder, while
+ * keeping their original offset. Thus we need PIPE_EDP_OFFSET
+ * to access such registers in transcoder EDP.
+ */
+#define PIPE_EDP_OFFSET	0x7f000
+
+/* ICL DSI 0 and 1 */
+#define PIPE_DSI0_OFFSET	0x7b000
+#define PIPE_DSI1_OFFSET	0x7b800
+
+#define TRANSCODER_A_OFFSET 0x60000
+#define TRANSCODER_B_OFFSET 0x61000
+#define TRANSCODER_C_OFFSET 0x62000
+#define CHV_TRANSCODER_C_OFFSET 0x63000
+#define TRANSCODER_D_OFFSET 0x63000
+#define TRANSCODER_EDP_OFFSET 0x6f000
+#define TRANSCODER_DSI0_OFFSET	0x6b000
+#define TRANSCODER_DSI1_OFFSET	0x6b800
+
+#define CURSOR_A_OFFSET 0x70080
+#define CURSOR_B_OFFSET 0x700c0
+#define CHV_CURSOR_C_OFFSET 0x700e0
+#define IVB_CURSOR_B_OFFSET 0x71080
+#define IVB_CURSOR_C_OFFSET 0x72080
+#define TGL_CURSOR_D_OFFSET 0x73080
+
+#define I845_PIPE_OFFSETS \
+	.pipe_offsets = { \
+		[TRANSCODER_A] = PIPE_A_OFFSET,	\
+	}, \
+	.trans_offsets = { \
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
+	}
+
+#define I9XX_PIPE_OFFSETS \
+	.pipe_offsets = { \
+		[TRANSCODER_A] = PIPE_A_OFFSET,	\
+		[TRANSCODER_B] = PIPE_B_OFFSET, \
+	}, \
+	.trans_offsets = { \
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
+	}
+
+#define IVB_PIPE_OFFSETS \
+	.pipe_offsets = { \
+		[TRANSCODER_A] = PIPE_A_OFFSET,	\
+		[TRANSCODER_B] = PIPE_B_OFFSET, \
+		[TRANSCODER_C] = PIPE_C_OFFSET, \
+	}, \
+	.trans_offsets = { \
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
+		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
+	}
+
+#define HSW_PIPE_OFFSETS \
+	.pipe_offsets = { \
+		[TRANSCODER_A] = PIPE_A_OFFSET,	\
+		[TRANSCODER_B] = PIPE_B_OFFSET, \
+		[TRANSCODER_C] = PIPE_C_OFFSET, \
+		[TRANSCODER_EDP] = PIPE_EDP_OFFSET, \
+	}, \
+	.trans_offsets = { \
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
+		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
+		[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET, \
+	}
+
+#define CHV_PIPE_OFFSETS \
+	.pipe_offsets = { \
+		[TRANSCODER_A] = PIPE_A_OFFSET, \
+		[TRANSCODER_B] = PIPE_B_OFFSET, \
+		[TRANSCODER_C] = CHV_PIPE_C_OFFSET, \
+	}, \
+	.trans_offsets = { \
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
+		[TRANSCODER_C] = CHV_TRANSCODER_C_OFFSET, \
+	}
+
+#define I845_CURSOR_OFFSETS \
+	.cursor_offsets = { \
+		[PIPE_A] = CURSOR_A_OFFSET, \
+	}
+
+#define I9XX_CURSOR_OFFSETS \
+	.cursor_offsets = { \
+		[PIPE_A] = CURSOR_A_OFFSET, \
+		[PIPE_B] = CURSOR_B_OFFSET, \
+	}
+
+#define CHV_CURSOR_OFFSETS \
+	.cursor_offsets = { \
+		[PIPE_A] = CURSOR_A_OFFSET, \
+		[PIPE_B] = CURSOR_B_OFFSET, \
+		[PIPE_C] = CHV_CURSOR_C_OFFSET, \
+	}
+
+#define IVB_CURSOR_OFFSETS \
+	.cursor_offsets = { \
+		[PIPE_A] = CURSOR_A_OFFSET, \
+		[PIPE_B] = IVB_CURSOR_B_OFFSET, \
+		[PIPE_C] = IVB_CURSOR_C_OFFSET, \
+	}
+
+#define TGL_CURSOR_OFFSETS \
+	.cursor_offsets = { \
+		[PIPE_A] = CURSOR_A_OFFSET, \
+		[PIPE_B] = IVB_CURSOR_B_OFFSET, \
+		[PIPE_C] = IVB_CURSOR_C_OFFSET, \
+		[PIPE_D] = TGL_CURSOR_D_OFFSET, \
+	}
+
+#define I845_COLORS \
+	.color = { .gamma_lut_size = 256 }
+#define I9XX_COLORS \
+	.color = { .gamma_lut_size = 129, \
+		   .gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
+	}
+#define ILK_COLORS \
+	.color = { .gamma_lut_size = 1024 }
+#define IVB_COLORS \
+	.color = { .degamma_lut_size = 1024, .gamma_lut_size = 1024 }
+#define CHV_COLORS \
+	.color = { \
+		.degamma_lut_size = 65, .gamma_lut_size = 257, \
+		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
+		.gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
+	}
+#define GLK_COLORS \
+	.color = { \
+		.degamma_lut_size = 33, .gamma_lut_size = 1024, \
+		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING | \
+				     DRM_COLOR_LUT_EQUAL_CHANNELS, \
+	}
+#define ICL_COLORS \
+	.color = { \
+		.degamma_lut_size = 33, .gamma_lut_size = 262145, \
+		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING | \
+				     DRM_COLOR_LUT_EQUAL_CHANNELS, \
+		.gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
+	}
+
+#define I830_DISPLAY \
+	.has_overlay = 1, \
+	.cursor_needs_physical = 1, \
+	.overlay_needs_physical = 1, \
+	.has_gmch = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	I9XX_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 2, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
+
+static const struct intel_display_device_info i830_display = {
+	I830_DISPLAY,
+};
+
+#define I845_DISPLAY \
+	.has_overlay = 1, \
+	.overlay_needs_physical = 1, \
+	.has_gmch = 1, \
+	I845_PIPE_OFFSETS, \
+	I845_CURSOR_OFFSETS, \
+	I845_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 2, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A), \
+	.__runtime_defaults.cpu_transcoder_mask = BIT(TRANSCODER_A)
+
+static const struct intel_display_device_info i845_display = {
+	I845_DISPLAY,
+};
+
+static const struct intel_display_device_info i85x_display = {
+	I830_DISPLAY,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info i865g_display = {
+	I845_DISPLAY,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+#define GEN3_DISPLAY \
+	.has_gmch = 1, \
+	.has_overlay = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	I9XX_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 3, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
+
+static const struct intel_display_device_info i915g_display = {
+	GEN3_DISPLAY,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+};
+
+static const struct intel_display_device_info i915gm_display = {
+	GEN3_DISPLAY,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info i945g_display = {
+	GEN3_DISPLAY,
+	.has_hotplug = 1,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+};
+
+static const struct intel_display_device_info i945gm_display = {
+	GEN3_DISPLAY,
+	.has_hotplug = 1,
+	.cursor_needs_physical = 1,
+	.overlay_needs_physical = 1,
+	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info g33_display = {
+	GEN3_DISPLAY,
+	.has_hotplug = 1,
+};
+
+#define GEN4_DISPLAY \
+	.has_hotplug = 1, \
+	.has_gmch = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	I9XX_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 4, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
+
+static const struct intel_display_device_info i965g_display = {
+	GEN4_DISPLAY,
+	.has_overlay = 1,
+};
+
+static const struct intel_display_device_info i965gm_display = {
+	GEN4_DISPLAY,
+	.has_overlay = 1,
+	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info g45_display = {
+	GEN4_DISPLAY,
+};
+
+static const struct intel_display_device_info gm45_display = {
+	GEN4_DISPLAY,
+	.supports_tv = 1,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+#define ILK_DISPLAY \
+	.has_hotplug = 1, \
+	I9XX_PIPE_OFFSETS, \
+	I9XX_CURSOR_OFFSETS, \
+	ILK_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 5, \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
+
+static const struct intel_display_device_info ilk_d_display = {
+	ILK_DISPLAY,
+};
+
+static const struct intel_display_device_info ilk_m_display = {
+	ILK_DISPLAY,
+
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info snb_display = {
+	.has_hotplug = 1,
+	I9XX_PIPE_OFFSETS,
+	I9XX_CURSOR_OFFSETS,
+	ILK_COLORS,
+
+	.__runtime_defaults.ip.ver = 6,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info ivb_display = {
+	.has_hotplug = 1,
+	IVB_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 7,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info vlv_display = {
+	.has_gmch = 1,
+	.has_hotplug = 1,
+	.mmio_offset = VLV_DISPLAY_BASE,
+	I9XX_PIPE_OFFSETS,
+	I9XX_CURSOR_OFFSETS,
+	I9XX_COLORS,
+
+	.__runtime_defaults.ip.ver = 7,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
+};
+
+static const struct intel_display_device_info hsw_display = {
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	HSW_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 7,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info bdw_display = {
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	HSW_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 8,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+static const struct intel_display_device_info chv_display = {
+	.has_hotplug = 1,
+	.has_gmch = 1,
+	.mmio_offset = VLV_DISPLAY_BASE,
+	CHV_PIPE_OFFSETS,
+	CHV_CURSOR_OFFSETS,
+	CHV_COLORS,
+
+	.__runtime_defaults.ip.ver = 8,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
+};
+
+static const struct intel_display_device_info skl_display = {
+	.dbuf.size = 896 - 4, /* 4 blocks for bypass path allocation */
+	.dbuf.slice_mask = BIT(DBUF_S1),
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	.has_ipc = 1,
+	.has_psr = 1,
+	.has_psr_hw_tracking = 1,
+	HSW_PIPE_OFFSETS,
+	IVB_CURSOR_OFFSETS,
+	IVB_COLORS,
+
+	.__runtime_defaults.ip.ver = 9,
+	.__runtime_defaults.has_dmc = 1,
+	.__runtime_defaults.has_hdcp = 1,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+#define GEN9_LP_DISPLAY \
+	.dbuf.slice_mask = BIT(DBUF_S1), \
+	.has_dp_mst = 1, \
+	.has_ddi = 1, \
+	.has_fpga_dbg = 1, \
+	.has_hotplug = 1, \
+	.has_ipc = 1, \
+	.has_psr = 1, \
+	.has_psr_hw_tracking = 1, \
+	HSW_PIPE_OFFSETS, \
+	IVB_CURSOR_OFFSETS, \
+	IVB_COLORS, \
+	\
+	.__runtime_defaults.has_dmc = 1, \
+	.__runtime_defaults.has_hdcp = 1, \
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A), \
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
+		BIT(TRANSCODER_DSI_A) | BIT(TRANSCODER_DSI_C)
+
+static const struct intel_display_device_info bxt_display = {
+	GEN9_LP_DISPLAY,
+	.dbuf.size = 512 - 4, /* 4 blocks for bypass path allocation */
+
+	.__runtime_defaults.ip.ver = 9,
+};
+
+static const struct intel_display_device_info glk_display = {
+	GEN9_LP_DISPLAY,
+	.dbuf.size = 1024 - 4, /* 4 blocks for bypass path allocation */
+	GLK_COLORS,
+
+	.__runtime_defaults.ip.ver = 10,
+};
+
+static const struct intel_display_device_info gen11_display = {
+	.abox_mask = BIT(0),
+	.dbuf.size = 2048,
+	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2),
+	.has_ddi = 1,
+	.has_dp_mst = 1,
+	.has_fpga_dbg = 1,
+	.has_hotplug = 1,
+	.has_ipc = 1,
+	.has_psr = 1,
+	.has_psr_hw_tracking = 1,
+	.pipe_offsets = {
+		[TRANSCODER_A] = PIPE_A_OFFSET,
+		[TRANSCODER_B] = PIPE_B_OFFSET,
+		[TRANSCODER_C] = PIPE_C_OFFSET,
+		[TRANSCODER_EDP] = PIPE_EDP_OFFSET,
+		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,
+		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,
+	},
+	.trans_offsets = {
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET,
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET,
+		[TRANSCODER_C] = TRANSCODER_C_OFFSET,
+		[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET,
+		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,
+		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,
+	},
+	IVB_CURSOR_OFFSETS,
+	ICL_COLORS,
+
+	.__runtime_defaults.ip.ver = 11,
+	.__runtime_defaults.has_dmc = 1,
+	.__runtime_defaults.has_dsc = 1,
+	.__runtime_defaults.has_hdcp = 1,
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) |
+		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
+};
+
+#define XE_D_DISPLAY \
+	.abox_mask = GENMASK(2, 1), \
+	.dbuf.size = 2048, \
+	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2), \
+	.has_ddi = 1, \
+	.has_dp_mst = 1, \
+	.has_dsb = 1, \
+	.has_fpga_dbg = 1, \
+	.has_hotplug = 1, \
+	.has_ipc = 1, \
+	.has_psr = 1, \
+	.has_psr_hw_tracking = 1, \
+	.pipe_offsets = { \
+		[TRANSCODER_A] = PIPE_A_OFFSET, \
+		[TRANSCODER_B] = PIPE_B_OFFSET, \
+		[TRANSCODER_C] = PIPE_C_OFFSET, \
+		[TRANSCODER_D] = PIPE_D_OFFSET, \
+		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET, \
+		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET, \
+	}, \
+	.trans_offsets = { \
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
+		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
+		[TRANSCODER_D] = TRANSCODER_D_OFFSET, \
+		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET, \
+		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET, \
+	}, \
+	TGL_CURSOR_OFFSETS, \
+	ICL_COLORS, \
+	\
+	.__runtime_defaults.ip.ver = 12, \
+	.__runtime_defaults.has_dmc = 1, \
+	.__runtime_defaults.has_dsc = 1, \
+	.__runtime_defaults.has_hdcp = 1, \
+	.__runtime_defaults.pipe_mask = \
+		BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D), \
+	.__runtime_defaults.cpu_transcoder_mask = \
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) | \
+		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A)
+
+static const struct intel_display_device_info tgl_display = {
+	XE_D_DISPLAY,
+};
+
+static const struct intel_display_device_info rkl_display = {
+	XE_D_DISPLAY,
+	.abox_mask = BIT(0),
+	.has_hti = 1,
+	.has_psr_hw_tracking = 0,
+
+	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
+};
+
+static const struct intel_display_device_info adl_s_display = {
+	XE_D_DISPLAY,
+	.has_hti = 1,
+	.has_psr_hw_tracking = 0,
+};
+
+#define XE_LPD_FEATURES \
+	.abox_mask = GENMASK(1, 0),						\
+	.color = {								\
+		.degamma_lut_size = 129, .gamma_lut_size = 1024,		\
+		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING |		\
+		DRM_COLOR_LUT_EQUAL_CHANNELS,					\
+	},									\
+	.dbuf.size = 4096,							\
+	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2) | BIT(DBUF_S3) |		\
+		BIT(DBUF_S4),							\
+	.has_ddi = 1,								\
+	.has_dp_mst = 1,							\
+	.has_dsb = 1,								\
+	.has_fpga_dbg = 1,							\
+	.has_hotplug = 1,							\
+	.has_ipc = 1,								\
+	.has_psr = 1,								\
+	.pipe_offsets = {							\
+		[TRANSCODER_A] = PIPE_A_OFFSET,					\
+		[TRANSCODER_B] = PIPE_B_OFFSET,					\
+		[TRANSCODER_C] = PIPE_C_OFFSET,					\
+		[TRANSCODER_D] = PIPE_D_OFFSET,					\
+		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,				\
+		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,				\
+	},									\
+	.trans_offsets = {							\
+		[TRANSCODER_A] = TRANSCODER_A_OFFSET,				\
+		[TRANSCODER_B] = TRANSCODER_B_OFFSET,				\
+		[TRANSCODER_C] = TRANSCODER_C_OFFSET,				\
+		[TRANSCODER_D] = TRANSCODER_D_OFFSET,				\
+		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,			\
+		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,			\
+	},									\
+	TGL_CURSOR_OFFSETS,							\
+										\
+	.__runtime_defaults.ip.ver = 13,					\
+	.__runtime_defaults.has_dmc = 1,					\
+	.__runtime_defaults.has_dsc = 1,					\
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),			\
+	.__runtime_defaults.has_hdcp = 1,					\
+	.__runtime_defaults.pipe_mask =						\
+		BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D)
+
+static const struct intel_display_device_info xe_lpd_display = {
+	XE_LPD_FEATURES,
+	.has_cdclk_crawl = 1,
+	.has_psr_hw_tracking = 0,
+
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |
+		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
+};
+
+static const struct intel_display_device_info xe_hpd_display = {
+	XE_LPD_FEATURES,
+	.has_cdclk_squash = 1,
+
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
+};
+
+static const struct intel_display_device_info xe_lpdp_display = {
+	XE_LPD_FEATURES,
+	.has_cdclk_crawl = 1,
+	.has_cdclk_squash = 1,
+
+	.__runtime_defaults.ip.ver = 14,
+	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A) | BIT(INTEL_FBC_B),
+	.__runtime_defaults.cpu_transcoder_mask =
+		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
+		BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
+};
+
+#undef INTEL_VGA_DEVICE
+#undef INTEL_QUANTA_VGA_DEVICE
+#define INTEL_VGA_DEVICE(id, info) { id, info }
+#define INTEL_QUANTA_VGA_DEVICE(info) { 0x16a, info }
+
+static const struct {
+	u32 devid;
+	const struct intel_display_device_info *info;
+} intel_display_ids[] = {
+	INTEL_I830_IDS(&i830_display),
+	INTEL_I845G_IDS(&i845_display),
+	INTEL_I85X_IDS(&i85x_display),
+	INTEL_I865G_IDS(&i865g_display),
+	INTEL_I915G_IDS(&i915g_display),
+	INTEL_I915GM_IDS(&i915gm_display),
+	INTEL_I945G_IDS(&i945g_display),
+	INTEL_I945GM_IDS(&i945gm_display),
+	INTEL_I965G_IDS(&i965g_display),
+	INTEL_G33_IDS(&g33_display),
+	INTEL_I965GM_IDS(&i965gm_display),
+	INTEL_GM45_IDS(&gm45_display),
+	INTEL_G45_IDS(&g45_display),
+	INTEL_PINEVIEW_G_IDS(&g33_display),
+	INTEL_PINEVIEW_M_IDS(&g33_display),
+	INTEL_IRONLAKE_D_IDS(&ilk_d_display),
+	INTEL_IRONLAKE_M_IDS(&ilk_m_display),
+	INTEL_SNB_D_IDS(&snb_display),
+	INTEL_SNB_M_IDS(&snb_display),
+	INTEL_IVB_Q_IDS(NULL),		/* must be first IVB in list */
+	INTEL_IVB_M_IDS(&ivb_display),
+	INTEL_IVB_D_IDS(&ivb_display),
+	INTEL_HSW_IDS(&hsw_display),
+	INTEL_VLV_IDS(&vlv_display),
+	INTEL_BDW_IDS(&bdw_display),
+	INTEL_CHV_IDS(&chv_display),
+	INTEL_SKL_IDS(&skl_display),
+	INTEL_BXT_IDS(&bxt_display),
+	INTEL_GLK_IDS(&glk_display),
+	INTEL_KBL_IDS(&skl_display),
+	INTEL_CFL_IDS(&skl_display),
+	INTEL_ICL_11_IDS(&gen11_display),
+	INTEL_EHL_IDS(&gen11_display),
+	INTEL_JSL_IDS(&gen11_display),
+	INTEL_TGL_12_IDS(&tgl_display),
+	INTEL_DG1_IDS(&tgl_display),
+	INTEL_RKL_IDS(&rkl_display),
+	INTEL_ADLS_IDS(&adl_s_display),
+	INTEL_RPLS_IDS(&adl_s_display),
+	INTEL_ADLP_IDS(&xe_lpd_display),
+	INTEL_ADLN_IDS(&xe_lpd_display),
+	INTEL_RPLP_IDS(&xe_lpd_display),
+	INTEL_DG2_IDS(&xe_hpd_display),
+
+	/* FIXME: Replace this with a GMD_ID lookup */
+	INTEL_MTL_IDS(&xe_lpdp_display),
+};
+
+const struct intel_display_device_info *
+intel_display_device_probe(u16 pci_devid)
+{
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(intel_display_ids); i++) {
+		if (intel_display_ids[i].devid == pci_devid)
+			return intel_display_ids[i].info;
+	}
+
+	return &no_display;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 613607fad5af..1f7d08b3ad6b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -80,4 +80,7 @@ struct intel_display_device_info {
 	} color;
 };
 
+const struct intel_display_device_info *
+intel_display_device_probe(u16 pci_devid);
+
 #endif
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 76734c725be5..886aa4e0df11 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -42,127 +42,6 @@
 	.__runtime.graphics.ip.ver = (x), \
 	.__runtime.media.ip.ver = (x)
 
-static const struct intel_display_device_info no_display = {};
-
-#define I845_PIPE_OFFSETS \
-	.pipe_offsets = { \
-		[TRANSCODER_A] = PIPE_A_OFFSET,	\
-	}, \
-	.trans_offsets = { \
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
-	}
-
-#define I9XX_PIPE_OFFSETS \
-	.pipe_offsets = { \
-		[TRANSCODER_A] = PIPE_A_OFFSET,	\
-		[TRANSCODER_B] = PIPE_B_OFFSET, \
-	}, \
-	.trans_offsets = { \
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
-	}
-
-#define IVB_PIPE_OFFSETS \
-	.pipe_offsets = { \
-		[TRANSCODER_A] = PIPE_A_OFFSET,	\
-		[TRANSCODER_B] = PIPE_B_OFFSET, \
-		[TRANSCODER_C] = PIPE_C_OFFSET, \
-	}, \
-	.trans_offsets = { \
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
-		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
-	}
-
-#define HSW_PIPE_OFFSETS \
-	.pipe_offsets = { \
-		[TRANSCODER_A] = PIPE_A_OFFSET,	\
-		[TRANSCODER_B] = PIPE_B_OFFSET, \
-		[TRANSCODER_C] = PIPE_C_OFFSET, \
-		[TRANSCODER_EDP] = PIPE_EDP_OFFSET, \
-	}, \
-	.trans_offsets = { \
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
-		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
-		[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET, \
-	}
-
-#define CHV_PIPE_OFFSETS \
-	.pipe_offsets = { \
-		[TRANSCODER_A] = PIPE_A_OFFSET, \
-		[TRANSCODER_B] = PIPE_B_OFFSET, \
-		[TRANSCODER_C] = CHV_PIPE_C_OFFSET, \
-	}, \
-	.trans_offsets = { \
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
-		[TRANSCODER_C] = CHV_TRANSCODER_C_OFFSET, \
-	}
-
-#define I845_CURSOR_OFFSETS \
-	.cursor_offsets = { \
-		[PIPE_A] = CURSOR_A_OFFSET, \
-	}
-
-#define I9XX_CURSOR_OFFSETS \
-	.cursor_offsets = { \
-		[PIPE_A] = CURSOR_A_OFFSET, \
-		[PIPE_B] = CURSOR_B_OFFSET, \
-	}
-
-#define CHV_CURSOR_OFFSETS \
-	.cursor_offsets = { \
-		[PIPE_A] = CURSOR_A_OFFSET, \
-		[PIPE_B] = CURSOR_B_OFFSET, \
-		[PIPE_C] = CHV_CURSOR_C_OFFSET, \
-	}
-
-#define IVB_CURSOR_OFFSETS \
-	.cursor_offsets = { \
-		[PIPE_A] = CURSOR_A_OFFSET, \
-		[PIPE_B] = IVB_CURSOR_B_OFFSET, \
-		[PIPE_C] = IVB_CURSOR_C_OFFSET, \
-	}
-
-#define TGL_CURSOR_OFFSETS \
-	.cursor_offsets = { \
-		[PIPE_A] = CURSOR_A_OFFSET, \
-		[PIPE_B] = IVB_CURSOR_B_OFFSET, \
-		[PIPE_C] = IVB_CURSOR_C_OFFSET, \
-		[PIPE_D] = TGL_CURSOR_D_OFFSET, \
-	}
-
-#define I845_COLORS \
-	.color = { .gamma_lut_size = 256 }
-#define I9XX_COLORS \
-	.color = { .gamma_lut_size = 129, \
-		   .gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
-	}
-#define ILK_COLORS \
-	.color = { .gamma_lut_size = 1024 }
-#define IVB_COLORS \
-	.color = { .degamma_lut_size = 1024, .gamma_lut_size = 1024 }
-#define CHV_COLORS \
-	.color = { \
-		.degamma_lut_size = 65, .gamma_lut_size = 257, \
-		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
-		.gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
-	}
-#define GLK_COLORS \
-	.color = { \
-		.degamma_lut_size = 33, .gamma_lut_size = 1024, \
-		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING | \
-				     DRM_COLOR_LUT_EQUAL_CHANNELS, \
-	}
-#define ICL_COLORS \
-	.color = { \
-		.degamma_lut_size = 33, .gamma_lut_size = 262145, \
-		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING | \
-				     DRM_COLOR_LUT_EQUAL_CHANNELS, \
-		.gamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
-	}
-
 /* Keep in gen based order, and chronological order within a gen */
 
 #define GEN_DEFAULT_PAGE_SIZES \
@@ -171,24 +50,6 @@ static const struct intel_display_device_info no_display = {};
 #define GEN_DEFAULT_REGIONS \
 	.__runtime.memory_regions = REGION_SMEM | REGION_STOLEN_SMEM
 
-#define I830_DISPLAY \
-	.has_overlay = 1, \
-	.cursor_needs_physical = 1, \
-	.overlay_needs_physical = 1, \
-	.has_gmch = 1, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS, \
-	\
-	.__runtime_defaults.ip.ver = 2, \
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime_defaults.cpu_transcoder_mask = \
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
-
-static const struct intel_display_device_info i830_display = {
-	I830_DISPLAY,
-};
-
 #define I830_FEATURES \
 	GEN(2), \
 	.is_mobile = 1, \
@@ -203,22 +64,6 @@ static const struct intel_display_device_info i830_display = {
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
-#define I845_DISPLAY \
-	.has_overlay = 1, \
-	.overlay_needs_physical = 1, \
-	.has_gmch = 1, \
-	I845_PIPE_OFFSETS, \
-	I845_CURSOR_OFFSETS, \
-	I845_COLORS, \
-	\
-	.__runtime_defaults.ip.ver = 2, \
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A), \
-	.__runtime_defaults.cpu_transcoder_mask = BIT(TRANSCODER_A)
-
-static const struct intel_display_device_info i845_display = {
-	I845_DISPLAY,
-};
-
 #define I845_FEATURES \
 	GEN(2), \
 	.has_3d_pipeline = 1, \
@@ -235,86 +80,21 @@ static const struct intel_display_device_info i845_display = {
 static const struct intel_device_info i830_info = {
 	I830_FEATURES,
 	PLATFORM(INTEL_I830),
-	.display = &i830_display,
 };
 
 static const struct intel_device_info i845g_info = {
 	I845_FEATURES,
 	PLATFORM(INTEL_I845G),
-	.display = &i845_display,
-};
-
-static const struct intel_display_device_info i85x_display = {
-	I830_DISPLAY,
-
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_device_info i85x_info = {
 	I830_FEATURES,
 	PLATFORM(INTEL_I85X),
-	.display = &i85x_display,
-};
-
-static const struct intel_display_device_info i865g_display = {
-	I845_DISPLAY,
-
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
 };
 
 static const struct intel_device_info i865g_info = {
 	I845_FEATURES,
 	PLATFORM(INTEL_I865G),
-	.display = &i865g_display,
-};
-
-#define GEN3_DISPLAY \
-	.has_gmch = 1, \
-	.has_overlay = 1, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS, \
-	\
-	.__runtime_defaults.ip.ver = 3, \
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime_defaults.cpu_transcoder_mask = \
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
-
-static const struct intel_display_device_info i915g_display = {
-	GEN3_DISPLAY,
-	.cursor_needs_physical = 1,
-	.overlay_needs_physical = 1,
-};
-
-static const struct intel_display_device_info i915gm_display = {
-	GEN3_DISPLAY,
-	.cursor_needs_physical = 1,
-	.overlay_needs_physical = 1,
-	.supports_tv = 1,
-
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
-static const struct intel_display_device_info i945g_display = {
-	GEN3_DISPLAY,
-	.has_hotplug = 1,
-	.cursor_needs_physical = 1,
-	.overlay_needs_physical = 1,
-};
-
-static const struct intel_display_device_info i945gm_display = {
-	GEN3_DISPLAY,
-	.has_hotplug = 1,
-	.cursor_needs_physical = 1,
-	.overlay_needs_physical = 1,
-	.supports_tv = 1,
-
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
-static const struct intel_display_device_info g33_display = {
-	GEN3_DISPLAY,
-	.has_hotplug = 1,
 };
 
 #define GEN3_FEATURES \
@@ -331,7 +111,6 @@ static const struct intel_display_device_info g33_display = {
 static const struct intel_device_info i915g_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I915G),
-	.display = &i915g_display,
 	.has_coherent_ggtt = false,
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
@@ -340,7 +119,6 @@ static const struct intel_device_info i915g_info = {
 static const struct intel_device_info i915gm_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I915GM),
-	.display = &i915gm_display,
 	.is_mobile = 1,
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
@@ -349,7 +127,6 @@ static const struct intel_device_info i915gm_info = {
 static const struct intel_device_info i945g_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I945G),
-	.display = &i945g_display,
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
 };
@@ -357,7 +134,6 @@ static const struct intel_device_info i945g_info = {
 static const struct intel_device_info i945gm_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_I945GM),
-	.display = &i945gm_display,
 	.is_mobile = 1,
 	.hws_needs_physical = 1,
 	.unfenced_needs_alignment = 1,
@@ -366,14 +142,12 @@ static const struct intel_device_info i945gm_info = {
 static const struct intel_device_info g33_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_G33),
-	.display = &g33_display,
 	.dma_mask_size = 36,
 };
 
 static const struct intel_device_info pnv_g_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_PINEVIEW),
-	.display = &g33_display,
 	.dma_mask_size = 36,
 };
 
@@ -381,46 +155,9 @@ static const struct intel_device_info pnv_m_info = {
 	GEN3_FEATURES,
 	PLATFORM(INTEL_PINEVIEW),
 	.is_mobile = 1,
-	.display = &g33_display,
 	.dma_mask_size = 36,
 };
 
-#define GEN4_DISPLAY \
-	.has_hotplug = 1, \
-	.has_gmch = 1, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	I9XX_COLORS, \
-	\
-	.__runtime_defaults.ip.ver = 4, \
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime_defaults.cpu_transcoder_mask = \
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
-
-static const struct intel_display_device_info i965g_display = {
-	GEN4_DISPLAY,
-	.has_overlay = 1,
-};
-
-static const struct intel_display_device_info i965gm_display = {
-	GEN4_DISPLAY,
-	.has_overlay = 1,
-	.supports_tv = 1,
-
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
-static const struct intel_display_device_info g45_display = {
-	GEN4_DISPLAY,
-};
-
-static const struct intel_display_device_info gm45_display = {
-	GEN4_DISPLAY,
-	.supports_tv = 1,
-
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
 #define GEN4_FEATURES \
 	GEN(4), \
 	.gpu_reset_clobbers_display = true, \
@@ -435,7 +172,6 @@ static const struct intel_display_device_info gm45_display = {
 static const struct intel_device_info i965g_info = {
 	GEN4_FEATURES,
 	PLATFORM(INTEL_I965G),
-	.display = &i965g_display,
 	.hws_needs_physical = 1,
 	.has_snoop = false,
 };
@@ -443,7 +179,6 @@ static const struct intel_device_info i965g_info = {
 static const struct intel_device_info i965gm_info = {
 	GEN4_FEATURES,
 	PLATFORM(INTEL_I965GM),
-	.display = &i965gm_display,
 	.is_mobile = 1,
 	.hws_needs_physical = 1,
 	.has_snoop = false,
@@ -453,7 +188,6 @@ static const struct intel_device_info g45_info = {
 	GEN4_FEATURES,
 	PLATFORM(INTEL_G45),
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
-	.display = &g45_display,
 	.gpu_reset_clobbers_display = false,
 };
 
@@ -462,7 +196,6 @@ static const struct intel_device_info gm45_info = {
 	PLATFORM(INTEL_GM45),
 	.is_mobile = 1,
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
-	.display = &gm45_display,
 	.gpu_reset_clobbers_display = false,
 };
 
@@ -478,37 +211,14 @@ static const struct intel_device_info gm45_info = {
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
-#define ILK_DISPLAY \
-	.has_hotplug = 1, \
-	I9XX_PIPE_OFFSETS, \
-	I9XX_CURSOR_OFFSETS, \
-	ILK_COLORS, \
-	\
-	.__runtime_defaults.ip.ver = 5, \
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
-	.__runtime_defaults.cpu_transcoder_mask = \
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
-
-static const struct intel_display_device_info ilk_d_display = {
-	ILK_DISPLAY,
-};
-
 static const struct intel_device_info ilk_d_info = {
 	GEN5_FEATURES,
 	PLATFORM(INTEL_IRONLAKE),
-	.display = &ilk_d_display,
 };
 
-static const struct intel_display_device_info ilk_m_display = {
-	ILK_DISPLAY,
-
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
- };
-
 static const struct intel_device_info ilk_m_info = {
 	GEN5_FEATURES,
 	PLATFORM(INTEL_IRONLAKE),
-	.display = &ilk_m_display,
 	.is_mobile = 1,
 	.has_rps = true,
 };
@@ -529,32 +239,17 @@ static const struct intel_device_info ilk_m_info = {
 	GEN_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
-static const struct intel_display_device_info snb_display = {
-	.has_hotplug = 1,
-	I9XX_PIPE_OFFSETS,
-	I9XX_CURSOR_OFFSETS,
-	ILK_COLORS,
-
-	.__runtime_defaults.ip.ver = 6,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
 #define SNB_D_PLATFORM \
 	GEN6_FEATURES, \
 	PLATFORM(INTEL_SANDYBRIDGE)
 
 static const struct intel_device_info snb_d_gt1_info = {
 	SNB_D_PLATFORM,
-	.display = &snb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info snb_d_gt2_info = {
 	SNB_D_PLATFORM,
-	.display = &snb_display,
 	.gt = 2,
 };
 
@@ -566,13 +261,11 @@ static const struct intel_device_info snb_d_gt2_info = {
 
 static const struct intel_device_info snb_m_gt1_info = {
 	SNB_M_PLATFORM,
-	.display = &snb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info snb_m_gt2_info = {
 	SNB_M_PLATFORM,
-	.display = &snb_display,
 	.gt = 2,
 };
 
@@ -597,28 +290,13 @@ static const struct intel_device_info snb_m_gt2_info = {
 	PLATFORM(INTEL_IVYBRIDGE), \
 	.has_l3_dpf = 1
 
-static const struct intel_display_device_info ivb_display = {
-	.has_hotplug = 1,
-	IVB_PIPE_OFFSETS,
-	IVB_CURSOR_OFFSETS,
-	IVB_COLORS,
-
-	.__runtime_defaults.ip.ver = 7,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
 static const struct intel_device_info ivb_d_gt1_info = {
 	IVB_D_PLATFORM,
-	.display = &ivb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info ivb_d_gt2_info = {
 	IVB_D_PLATFORM,
-	.display = &ivb_display,
 	.gt = 2,
 };
 
@@ -630,43 +308,25 @@ static const struct intel_device_info ivb_d_gt2_info = {
 
 static const struct intel_device_info ivb_m_gt1_info = {
 	IVB_M_PLATFORM,
-	.display = &ivb_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info ivb_m_gt2_info = {
 	IVB_M_PLATFORM,
-	.display = &ivb_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info ivb_q_info = {
 	GEN7_FEATURES,
 	PLATFORM(INTEL_IVYBRIDGE),
-	.display = &no_display,
 	.gt = 2,
 	.has_l3_dpf = 1,
 };
 
-static const struct intel_display_device_info vlv_display = {
-	.has_gmch = 1,
-	.has_hotplug = 1,
-	.mmio_offset = VLV_DISPLAY_BASE,
-	I9XX_PIPE_OFFSETS,
-	I9XX_CURSOR_OFFSETS,
-	I9XX_COLORS,
-
-	.__runtime_defaults.ip.ver = 7,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
-};
-
 static const struct intel_device_info vlv_info = {
 	PLATFORM(INTEL_VALLEYVIEW),
 	GEN(7),
 	.is_lp = 1,
-	.display = &vlv_display,
 	.has_runtime_pm = 1,
 	.has_rc6 = 1,
 	.has_reset_engine = true,
@@ -692,38 +352,18 @@ static const struct intel_device_info vlv_info = {
 	PLATFORM(INTEL_HASWELL), \
 	.has_l3_dpf = 1
 
-static const struct intel_display_device_info hsw_display = {
-	.has_ddi = 1,
-	.has_dp_mst = 1,
-	.has_fpga_dbg = 1,
-	.has_hotplug = 1,
-	HSW_PIPE_OFFSETS,
-	IVB_CURSOR_OFFSETS,
-	IVB_COLORS,
-
-	.__runtime_defaults.ip.ver = 7,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
 static const struct intel_device_info hsw_gt1_info = {
 	HSW_PLATFORM,
-	.display = &hsw_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info hsw_gt2_info = {
 	HSW_PLATFORM,
-	.display = &hsw_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info hsw_gt3_info = {
 	HSW_PLATFORM,
-	.display = &hsw_display,
 	.gt = 3,
 };
 
@@ -736,42 +376,22 @@ static const struct intel_device_info hsw_gt3_info = {
 	.__runtime.ppgtt_size = 48, \
 	.has_64bit_reloc = 1
 
-static const struct intel_display_device_info bdw_display = {
-	.has_ddi = 1,
-	.has_dp_mst = 1,
-	.has_fpga_dbg = 1,
-	.has_hotplug = 1,
-	HSW_PIPE_OFFSETS,
-	IVB_CURSOR_OFFSETS,
-	IVB_COLORS,
-
-	.__runtime_defaults.ip.ver = 8,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
 #define BDW_PLATFORM \
 	GEN8_FEATURES, \
 	PLATFORM(INTEL_BROADWELL)
 
 static const struct intel_device_info bdw_gt1_info = {
 	BDW_PLATFORM,
-	.display = &bdw_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info bdw_gt2_info = {
 	BDW_PLATFORM,
-	.display = &bdw_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info bdw_rsvd_info = {
 	BDW_PLATFORM,
-	.display = &bdw_display,
 	.gt = 3,
 	/* According to the device ID those devices are GT3, they were
 	 * previously treated as not GT3, keep it like that.
@@ -780,30 +400,14 @@ static const struct intel_device_info bdw_rsvd_info = {
 
 static const struct intel_device_info bdw_gt3_info = {
 	BDW_PLATFORM,
-	.display = &bdw_display,
 	.gt = 3,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
 };
 
-static const struct intel_display_device_info chv_display = {
-	.has_hotplug = 1,
-	.has_gmch = 1,
-	.mmio_offset = VLV_DISPLAY_BASE,
-	CHV_PIPE_OFFSETS,
-	CHV_CURSOR_OFFSETS,
-	CHV_COLORS,
-
-	.__runtime_defaults.ip.ver = 8,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
-};
-
 static const struct intel_device_info chv_info = {
 	PLATFORM(INTEL_CHERRYVIEW),
 	GEN(8),
-	.display = &chv_display,
 	.is_lp = 1,
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0),
 	.has_64bit_reloc = 1,
@@ -831,43 +435,17 @@ static const struct intel_device_info chv_info = {
 	GEN9_DEFAULT_PAGE_SIZES, \
 	.has_gt_uc = 1
 
-static const struct intel_display_device_info skl_display = {
-	.dbuf.size = 896 - 4, /* 4 blocks for bypass path allocation */
-	.dbuf.slice_mask = BIT(DBUF_S1),
-	.has_ddi = 1,
-	.has_dp_mst = 1,
-	.has_fpga_dbg = 1,
-	.has_hotplug = 1,
-	.has_ipc = 1,
-	.has_psr = 1,
-	.has_psr_hw_tracking = 1,
-	HSW_PIPE_OFFSETS,
-	IVB_CURSOR_OFFSETS,
-	IVB_COLORS,
-
-	.__runtime_defaults.ip.ver = 9,
-	.__runtime_defaults.has_dmc = 1,
-	.__runtime_defaults.has_hdcp = 1,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
 #define SKL_PLATFORM \
 	GEN9_FEATURES, \
 	PLATFORM(INTEL_SKYLAKE)
 
 static const struct intel_device_info skl_gt1_info = {
 	SKL_PLATFORM,
-	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info skl_gt2_info = {
 	SKL_PLATFORM,
-	.display = &skl_display,
 	.gt = 2,
 };
 
@@ -879,13 +457,11 @@ static const struct intel_device_info skl_gt2_info = {
 
 static const struct intel_device_info skl_gt3_info = {
 	SKL_GT3_PLUS_PLATFORM,
-	.display = &skl_display,
 	.gt = 3,
 };
 
 static const struct intel_device_info skl_gt4_info = {
 	SKL_GT3_PLUS_PLATFORM,
-	.display = &skl_display,
 	.gt = 4,
 };
 
@@ -909,53 +485,14 @@ static const struct intel_device_info skl_gt4_info = {
 	GEN9_DEFAULT_PAGE_SIZES, \
 	GEN_DEFAULT_REGIONS
 
-#define GEN9_LP_DISPLAY \
-	.dbuf.slice_mask = BIT(DBUF_S1), \
-	.has_dp_mst = 1, \
-	.has_ddi = 1, \
-	.has_fpga_dbg = 1, \
-	.has_hotplug = 1, \
-	.has_ipc = 1, \
-	.has_psr = 1, \
-	.has_psr_hw_tracking = 1, \
-	HSW_PIPE_OFFSETS, \
-	IVB_CURSOR_OFFSETS, \
-	IVB_COLORS, \
-	\
-	.__runtime_defaults.has_dmc = 1, \
-	.__runtime_defaults.has_hdcp = 1, \
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A), \
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
-	.__runtime_defaults.cpu_transcoder_mask = \
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
-		BIT(TRANSCODER_DSI_A) | BIT(TRANSCODER_DSI_C)
-
-static const struct intel_display_device_info bxt_display = {
-	GEN9_LP_DISPLAY,
-	.dbuf.size = 512 - 4, /* 4 blocks for bypass path allocation */
-
-	.__runtime_defaults.ip.ver = 9,
-};
-
 static const struct intel_device_info bxt_info = {
 	GEN9_LP_FEATURES,
 	PLATFORM(INTEL_BROXTON),
-	.display = &bxt_display,
-};
-
-static const struct intel_display_device_info glk_display = {
-	GEN9_LP_DISPLAY,
-	.dbuf.size = 1024 - 4, /* 4 blocks for bypass path allocation */
-	GLK_COLORS,
-
-	.__runtime_defaults.ip.ver = 10,
 };
 
 static const struct intel_device_info glk_info = {
 	GEN9_LP_FEATURES,
 	PLATFORM(INTEL_GEMINILAKE),
-	.display = &glk_display,
 };
 
 #define KBL_PLATFORM \
@@ -964,19 +501,16 @@ static const struct intel_device_info glk_info = {
 
 static const struct intel_device_info kbl_gt1_info = {
 	KBL_PLATFORM,
-	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info kbl_gt2_info = {
 	KBL_PLATFORM,
-	.display = &skl_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info kbl_gt3_info = {
 	KBL_PLATFORM,
-	.display = &skl_display,
 	.gt = 3,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
@@ -988,19 +522,16 @@ static const struct intel_device_info kbl_gt3_info = {
 
 static const struct intel_device_info cfl_gt1_info = {
 	CFL_PLATFORM,
-	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info cfl_gt2_info = {
 	CFL_PLATFORM,
-	.display = &skl_display,
 	.gt = 2,
 };
 
 static const struct intel_device_info cfl_gt3_info = {
 	CFL_PLATFORM,
-	.display = &skl_display,
 	.gt = 3,
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
@@ -1012,13 +543,11 @@ static const struct intel_device_info cfl_gt3_info = {
 
 static const struct intel_device_info cml_gt1_info = {
 	CML_PLATFORM,
-	.display = &skl_display,
 	.gt = 1,
 };
 
 static const struct intel_device_info cml_gt2_info = {
 	CML_PLATFORM,
-	.display = &skl_display,
 	.gt = 2,
 };
 
@@ -1034,54 +563,11 @@ static const struct intel_device_info cml_gt2_info = {
 	.has_coherent_ggtt = false, \
 	.has_logical_ring_elsq = 1
 
-static const struct intel_display_device_info gen11_display = {
-	.abox_mask = BIT(0),
-	.dbuf.size = 2048,
-	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2),
-	.has_ddi = 1,
-	.has_dp_mst = 1,
-	.has_fpga_dbg = 1,
-	.has_hotplug = 1,
-	.has_ipc = 1,
-	.has_psr = 1,
-	.has_psr_hw_tracking = 1,
-	.pipe_offsets = {
-		[TRANSCODER_A] = PIPE_A_OFFSET,
-		[TRANSCODER_B] = PIPE_B_OFFSET,
-		[TRANSCODER_C] = PIPE_C_OFFSET,
-		[TRANSCODER_EDP] = PIPE_EDP_OFFSET,
-		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,
-		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,
-	},
-	.trans_offsets = {
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET,
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET,
-		[TRANSCODER_C] = TRANSCODER_C_OFFSET,
-		[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET,
-		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,
-		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,
-	},
-	IVB_CURSOR_OFFSETS,
-	ICL_COLORS,
-
-	.__runtime_defaults.ip.ver = 11,
-	.__runtime_defaults.has_dmc = 1,
-	.__runtime_defaults.has_dsc = 1,
-	.__runtime_defaults.has_hdcp = 1,
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) |
-		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
-};
-
 static const struct intel_device_info icl_info = {
 	GEN11_FEATURES,
 	PLATFORM(INTEL_ICELAKE),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
-	.display = &gen11_display,
 };
 
 static const struct intel_device_info ehl_info = {
@@ -1089,7 +575,6 @@ static const struct intel_device_info ehl_info = {
 	PLATFORM(INTEL_ELKHARTLAKE),
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
 	.__runtime.ppgtt_size = 36,
-	.display = &gen11_display,
 };
 
 static const struct intel_device_info jsl_info = {
@@ -1097,7 +582,6 @@ static const struct intel_device_info jsl_info = {
 	PLATFORM(INTEL_JASPERLAKE),
 	.__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
 	.__runtime.ppgtt_size = 36,
-	.display = &gen11_display,
 };
 
 #define GEN12_FEATURES \
@@ -1106,70 +590,11 @@ static const struct intel_device_info jsl_info = {
 	.has_global_mocs = 1, \
 	.has_pxp = 1
 
-#define XE_D_DISPLAY \
-	.abox_mask = GENMASK(2, 1), \
-	.dbuf.size = 2048, \
-	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2), \
-	.has_ddi = 1, \
-	.has_dp_mst = 1, \
-	.has_dsb = 1, \
-	.has_fpga_dbg = 1, \
-	.has_hotplug = 1, \
-	.has_ipc = 1, \
-	.has_psr = 1, \
-	.has_psr_hw_tracking = 1, \
-	.pipe_offsets = { \
-		[TRANSCODER_A] = PIPE_A_OFFSET, \
-		[TRANSCODER_B] = PIPE_B_OFFSET, \
-		[TRANSCODER_C] = PIPE_C_OFFSET, \
-		[TRANSCODER_D] = PIPE_D_OFFSET, \
-		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET, \
-		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET, \
-	}, \
-	.trans_offsets = { \
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
-		[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
-		[TRANSCODER_D] = TRANSCODER_D_OFFSET, \
-		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET, \
-		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET, \
-	}, \
-	TGL_CURSOR_OFFSETS, \
-	ICL_COLORS, \
-	\
-	.__runtime_defaults.ip.ver = 12, \
-	.__runtime_defaults.has_dmc = 1, \
-	.__runtime_defaults.has_dsc = 1, \
-	.__runtime_defaults.has_hdcp = 1, \
-	.__runtime_defaults.pipe_mask = \
-		BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D), \
-	.__runtime_defaults.cpu_transcoder_mask = \
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) | \
-		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A)
-
-static const struct intel_display_device_info tgl_display = {
-	XE_D_DISPLAY,
-};
-
 static const struct intel_device_info tgl_info = {
 	GEN12_FEATURES,
 	PLATFORM(INTEL_TIGERLAKE),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
-	.display = &tgl_display,
-};
-
-static const struct intel_display_device_info rkl_display = {
-	XE_D_DISPLAY,
-	.abox_mask = BIT(0),
-	.has_hti = 1,
-	.has_psr_hw_tracking = 0,
-
-	.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
 };
 
 static const struct intel_device_info rkl_info = {
@@ -1177,7 +602,6 @@ static const struct intel_device_info rkl_info = {
 	PLATFORM(INTEL_ROCKETLAKE),
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0),
-	.display = &rkl_display,
 };
 
 #define DGFX_FEATURES \
@@ -1199,13 +623,6 @@ static const struct intel_device_info dg1_info = {
 		BIT(VCS0) | BIT(VCS2),
 	/* Wa_16011227922 */
 	.__runtime.ppgtt_size = 47,
-	.display = &tgl_display,
-};
-
-static const struct intel_display_device_info adl_s_display = {
-	XE_D_DISPLAY,
-	.has_hti = 1,
-	.has_psr_hw_tracking = 0,
 };
 
 static const struct intel_device_info adl_s_info = {
@@ -1214,61 +631,6 @@ static const struct intel_device_info adl_s_info = {
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
 	.dma_mask_size = 39,
-	.display = &adl_s_display,
-};
-
-#define XE_LPD_FEATURES \
-	.abox_mask = GENMASK(1, 0),						\
-	.color = {								\
-		.degamma_lut_size = 129, .gamma_lut_size = 1024,		\
-		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING |		\
-		DRM_COLOR_LUT_EQUAL_CHANNELS,					\
-	},									\
-	.dbuf.size = 4096,							\
-	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2) | BIT(DBUF_S3) |		\
-		BIT(DBUF_S4),							\
-	.has_ddi = 1,								\
-	.has_dp_mst = 1,							\
-	.has_dsb = 1,								\
-	.has_fpga_dbg = 1,							\
-	.has_hotplug = 1,							\
-	.has_ipc = 1,								\
-	.has_psr = 1,								\
-	.pipe_offsets = {							\
-		[TRANSCODER_A] = PIPE_A_OFFSET,					\
-		[TRANSCODER_B] = PIPE_B_OFFSET,					\
-		[TRANSCODER_C] = PIPE_C_OFFSET,					\
-		[TRANSCODER_D] = PIPE_D_OFFSET,					\
-		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,				\
-		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,				\
-	},									\
-	.trans_offsets = {						\
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET,				\
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET,				\
-		[TRANSCODER_C] = TRANSCODER_C_OFFSET,				\
-		[TRANSCODER_D] = TRANSCODER_D_OFFSET,				\
-		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,			\
-		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,			\
-	},									\
-	TGL_CURSOR_OFFSETS,							\
-										\
-	.__runtime_defaults.ip.ver = 13,					\
-	.__runtime_defaults.has_dmc = 1,					\
-	.__runtime_defaults.has_dsc = 1,					\
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),			\
-	.__runtime_defaults.has_hdcp = 1,					\
-	.__runtime_defaults.pipe_mask =						\
-		BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D)
-
-static const struct intel_display_device_info xe_lpd_display = {
-	XE_LPD_FEATURES,
-	.has_cdclk_crawl = 1,
-	.has_psr_hw_tracking = 0,
-
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |
-		BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
 };
 
 static const struct intel_device_info adl_p_info = {
@@ -1277,7 +639,6 @@ static const struct intel_device_info adl_p_info = {
 	.__runtime.platform_engine_mask =
 		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
 	.__runtime.ppgtt_size = 48,
-	.display = &xe_lpd_display,
 	.dma_mask_size = 39,
 };
 
@@ -1323,7 +684,6 @@ static const struct intel_device_info xehpsdv_info = {
 	XE_HPM_FEATURES,
 	DGFX_FEATURES,
 	PLATFORM(INTEL_XEHPSDV),
-	.display = &no_display,
 	.has_64k_pages = 1,
 	.has_media_ratio_mode = 1,
 	.__runtime.platform_engine_mask =
@@ -1352,23 +712,12 @@ static const struct intel_device_info xehpsdv_info = {
 		BIT(VCS0) | BIT(VCS2) | \
 		BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3)
 
-static const struct intel_display_device_info xe_hpd_display = {
-	XE_LPD_FEATURES,
-	.has_cdclk_squash = 1,
-
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
-};
-
 static const struct intel_device_info dg2_info = {
 	DG2_FEATURES,
-	.display = &xe_hpd_display,
 };
 
 static const struct intel_device_info ats_m_info = {
 	DG2_FEATURES,
-	.display = &no_display,
 	.require_force_probe = 1,
 	.tuning_thread_rr_after_dep = 1,
 };
@@ -1390,7 +739,6 @@ static const struct intel_device_info pvc_info = {
 	.__runtime.graphics.ip.rel = 60,
 	.__runtime.media.ip.rel = 60,
 	PLATFORM(INTEL_PONTEVECCHIO),
-	.display = &no_display,
 	.has_flat_ccs = 0,
 	.__runtime.platform_engine_mask =
 		BIT(BCS0) |
@@ -1409,18 +757,6 @@ static const struct intel_gt_definition xelpmp_extra_gt[] = {
 	{}
 };
 
-static const struct intel_display_device_info xe_lpdp_display = {
-	XE_LPD_FEATURES,
-	.has_cdclk_crawl = 1,
-	.has_cdclk_squash = 1,
-
-	.__runtime_defaults.ip.ver = 14,
-	.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A) | BIT(INTEL_FBC_B),
-	.__runtime_defaults.cpu_transcoder_mask =
-		BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-		BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
-};
-
 static const struct intel_device_info mtl_info = {
 	XE_HP_FEATURES,
 	/*
@@ -1431,7 +767,6 @@ static const struct intel_device_info mtl_info = {
 	.__runtime.graphics.ip.rel = 70,
 	.__runtime.media.ip.ver = 13,
 	PLATFORM(INTEL_METEORLAKE),
-	.display = &xe_lpdp_display,
 	.extra_gt_list = xelpmp_extra_gt,
 	.has_flat_ccs = 0,
 	.has_gmd_id = 1,
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index dde6e91055bd..712a0e2ef08c 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1966,15 +1966,6 @@
 #define _TRANS_VSYNC_DSI1	0x6b814
 #define _TRANS_VSYNCSHIFT_DSI1	0x6b828
 
-#define TRANSCODER_A_OFFSET 0x60000
-#define TRANSCODER_B_OFFSET 0x61000
-#define TRANSCODER_C_OFFSET 0x62000
-#define CHV_TRANSCODER_C_OFFSET 0x63000
-#define TRANSCODER_D_OFFSET 0x63000
-#define TRANSCODER_EDP_OFFSET 0x6f000
-#define TRANSCODER_DSI0_OFFSET	0x6b000
-#define TRANSCODER_DSI1_OFFSET	0x6b800
-
 #define TRANS_HTOTAL(trans)	_MMIO_TRANS2((trans), _TRANS_HTOTAL_A)
 #define TRANS_HBLANK(trans)	_MMIO_TRANS2((trans), _TRANS_HBLANK_A)
 #define TRANS_HSYNC(trans)	_MMIO_TRANS2((trans), _TRANS_HSYNC_A)
@@ -2622,23 +2613,6 @@
 #define PIPESTAT_INT_ENABLE_MASK		0x7fff0000
 #define PIPESTAT_INT_STATUS_MASK		0x0000ffff
 
-#define PIPE_A_OFFSET		0x70000
-#define PIPE_B_OFFSET		0x71000
-#define PIPE_C_OFFSET		0x72000
-#define PIPE_D_OFFSET		0x73000
-#define CHV_PIPE_C_OFFSET	0x74000
-/*
- * There's actually no pipe EDP. Some pipe registers have
- * simply shifted from the pipe to the transcoder, while
- * keeping their original offset. Thus we need PIPE_EDP_OFFSET
- * to access such registers in transcoder EDP.
- */
-#define PIPE_EDP_OFFSET	0x7f000
-
-/* ICL DSI 0 and 1 */
-#define PIPE_DSI0_OFFSET	0x7b000
-#define PIPE_DSI1_OFFSET	0x7b800
-
 #define TRANSCONF(trans)	_MMIO_PIPE2((trans), _TRANSACONF)
 #define PIPEDSL(pipe)		_MMIO_PIPE2(pipe, _PIPEADSL)
 #define PIPEFRAME(pipe)		_MMIO_PIPE2(pipe, _PIPEAFRAMEHIGH)
@@ -3099,13 +3073,6 @@
 #define CUR_CHICKEN(pipe) _MMIO_CURSOR2(pipe, _CUR_CHICKEN_A)
 #define CURSURFLIVE(pipe) _MMIO_CURSOR2(pipe, _CURASURFLIVE)
 
-#define CURSOR_A_OFFSET 0x70080
-#define CURSOR_B_OFFSET 0x700c0
-#define CHV_CURSOR_C_OFFSET 0x700e0
-#define IVB_CURSOR_B_OFFSET 0x71080
-#define IVB_CURSOR_C_OFFSET 0x72080
-#define TGL_CURSOR_D_OFFSET 0x73080
-
 /* Display A control */
 #define _DSPAADDR_VLV				0x7017C /* vlv/chv */
 #define _DSPACNTR				0x70180
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 3a0d1cb2eaa9..79523e55ca9c 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -574,7 +574,6 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
 {
 	struct intel_device_info *info;
 	struct intel_runtime_info *runtime;
-	struct intel_display_runtime_info *display_runtime;
 
 	/* Setup the write-once "constant" device info */
 	info = mkwrite_device_info(i915);
@@ -583,9 +582,12 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
 	/* Initialize initial runtime info from static const data and pdev. */
 	runtime = RUNTIME_INFO(i915);
 	memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
-	display_runtime = DISPLAY_RUNTIME_INFO(i915);
-	memcpy(display_runtime, &DISPLAY_INFO(i915)->__runtime_defaults,
-	       sizeof(*display_runtime));
+
+	/* Probe display support */
+	info->display = intel_display_device_probe(device_id);
+	memcpy(DISPLAY_RUNTIME_INFO(i915),
+	       &DISPLAY_INFO(i915)->__runtime_defaults,
+	       sizeof(*DISPLAY_RUNTIME_INFO(i915)));
 
 	runtime->device_id = device_id;
 }
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 05/10] drm/i915/display: Handle GMD_ID identification in display code
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (3 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 04/10] drm/i915/display: Make display responsible for probing its own IP Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 06/10] drm/i915/display: Move feature test macros to intel_display_device.h Matt Roper
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.d.roper, Andrzej Hajda

For platforms with GMD_ID support (i.e., everything MTL and beyond),
identification of the display IP present should be based on the contents
of the GMD_ID register rather than a PCI devid match.

Note that since GMD_ID readout requires access to the PCI BAR, a slight
change to the driver init sequence is needed --- pci_enable_device() is
now called before i915_driver_create().

v2:
 - Fix use of uninitialized i915 pointer in error path if
   pci_enable_device() fails before the i915 device is created.  (lkp)
 - Use drm_device parameter to intel_display_device_probe.  This goes
   against i915 conventions, but since the primary goal here is to make
   it easy to call this function from other drivers (like Xe) and since
   we don't need anything from the i915 structure, this seems like an
   exception where drm_device is a more natural fit.
v3:
 - Go back do drm_i915_private for intel_display_device_probe.  (Jani)
 - Move forward decl to top of header.  (Jani)

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230523195609.73627-6-matthew.d.roper@intel.com
(cherry picked from commit 12e6f6dc78e4f4a418648fb1a9c0cd2ae9b3430b)
---
 .../drm/i915/display/intel_display_device.c   | 65 +++++++++++++++++--
 .../drm/i915/display/intel_display_device.h   |  5 +-
 drivers/gpu/drm/i915/i915_driver.c            | 17 +++--
 drivers/gpu/drm/i915/intel_device_info.c      | 13 ++--
 4 files changed, 84 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index 3e2f4cd0b9f5..a513ac8f71a3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -5,7 +5,10 @@
 
 #include <drm/i915_pciids.h>
 #include <drm/drm_color_mgmt.h>
+#include <linux/pci.h>
 
+#include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_display_device.h"
 #include "intel_display_power.h"
 #include "intel_display_reg_defs.h"
@@ -700,19 +703,73 @@ static const struct {
 	INTEL_RPLP_IDS(&xe_lpd_display),
 	INTEL_DG2_IDS(&xe_hpd_display),
 
-	/* FIXME: Replace this with a GMD_ID lookup */
-	INTEL_MTL_IDS(&xe_lpdp_display),
+	/*
+	 * Do not add any GMD_ID-based platforms to this list.  They will
+	 * be probed automatically based on the IP version reported by
+	 * the hardware.
+	 */
 };
 
+static const struct {
+	u16 ver;
+	u16 rel;
+	const struct intel_display_device_info *display;
+} gmdid_display_map[] = {
+	{ 14,  0, &xe_lpdp_display },
+};
+
+static const struct intel_display_device_info *
+probe_gmdid_display(struct drm_i915_private *i915, u16 *ver, u16 *rel, u16 *step)
+{
+	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
+	void __iomem *addr;
+	u32 val;
+	int i;
+
+	addr = pci_iomap_range(pdev, 0, i915_mmio_reg_offset(GMD_ID_DISPLAY), sizeof(u32));
+	if (!addr) {
+		drm_err(&i915->drm, "Cannot map MMIO BAR to read display GMD_ID\n");
+		return &no_display;
+	}
+
+	val = ioread32(addr);
+	pci_iounmap(pdev, addr);
+
+	if (val == 0)
+		/* Platform doesn't have display */
+		return &no_display;
+
+	*ver = REG_FIELD_GET(GMD_ID_ARCH_MASK, val);
+	*rel = REG_FIELD_GET(GMD_ID_RELEASE_MASK, val);
+	*step = REG_FIELD_GET(GMD_ID_STEP, val);
+
+	for (i = 0; i < ARRAY_SIZE(gmdid_display_map); i++)
+		if (*ver == gmdid_display_map[i].ver &&
+		    *rel == gmdid_display_map[i].rel)
+			return gmdid_display_map[i].display;
+
+	drm_err(&i915->drm, "Unrecognized display IP version %d.%02d; disabling display.\n",
+		*ver, *rel);
+	return &no_display;
+}
+
 const struct intel_display_device_info *
-intel_display_device_probe(u16 pci_devid)
+intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
+			   u16 *gmdid_ver, u16 *gmdid_rel, u16 *gmdid_step)
 {
+	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
 	int i;
 
+	if (has_gmdid)
+		return probe_gmdid_display(i915, gmdid_ver, gmdid_rel, gmdid_step);
+
 	for (i = 0; i < ARRAY_SIZE(intel_display_ids); i++) {
-		if (intel_display_ids[i].devid == pci_devid)
+		if (intel_display_ids[i].devid == pdev->device)
 			return intel_display_ids[i].info;
 	}
 
+	drm_dbg(&i915->drm, "No display ID found for device ID %04x; disabling display.\n",
+		pdev->device);
+
 	return &no_display;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 1f7d08b3ad6b..d1d11581d85d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -10,6 +10,8 @@
 
 #include "display/intel_display_limits.h"
 
+struct drm_i915_private;
+
 #define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
 	/* Keep in alphabetical order */ \
 	func(cursor_needs_physical); \
@@ -81,6 +83,7 @@ struct intel_display_device_info {
 };
 
 const struct intel_display_device_info *
-intel_display_device_probe(u16 pci_devid);
+intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
+			   u16 *ver, u16 *rel, u16 *step);
 
 #endif
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 903a0a2e3635..27e5de529b06 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -754,13 +754,17 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	struct drm_i915_private *i915;
 	int ret;
 
-	i915 = i915_driver_create(pdev, ent);
-	if (IS_ERR(i915))
-		return PTR_ERR(i915);
-
 	ret = pci_enable_device(pdev);
-	if (ret)
-		goto out_fini;
+	if (ret) {
+		pr_err("Failed to enable graphics device: %pe\n", ERR_PTR(ret));
+		return ret;
+	}
+
+	i915 = i915_driver_create(pdev, ent);
+	if (IS_ERR(i915)) {
+		ret = PTR_ERR(i915);
+		goto out_pci_disable;
+	}
 
 	ret = i915_driver_early_probe(i915);
 	if (ret < 0)
@@ -843,7 +847,6 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	i915_driver_late_release(i915);
 out_pci_disable:
 	pci_disable_device(pdev);
-out_fini:
 	i915_probe_error(i915, "Device initialization failed (%d)\n", ret);
 	return ret;
 }
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 79523e55ca9c..2f79d232b04a 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -345,7 +345,6 @@ static void ip_ver_read(struct drm_i915_private *i915, u32 offset, struct intel_
 static void intel_ipver_early_init(struct drm_i915_private *i915)
 {
 	struct intel_runtime_info *runtime = RUNTIME_INFO(i915);
-	struct intel_display_runtime_info *display_runtime = DISPLAY_RUNTIME_INFO(i915);
 
 	if (!HAS_GMD_ID(i915)) {
 		drm_WARN_ON(&i915->drm, RUNTIME_INFO(i915)->graphics.ip.ver > 12);
@@ -366,8 +365,6 @@ static void intel_ipver_early_init(struct drm_i915_private *i915)
 		RUNTIME_INFO(i915)->graphics.ip.ver = 12;
 		RUNTIME_INFO(i915)->graphics.ip.rel = 70;
 	}
-	ip_ver_read(i915, i915_mmio_reg_offset(GMD_ID_DISPLAY),
-		    (struct intel_ip_version *)&display_runtime->ip);
 	ip_ver_read(i915, i915_mmio_reg_offset(GMD_ID_MEDIA),
 		    &runtime->media.ip);
 }
@@ -574,6 +571,7 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
 {
 	struct intel_device_info *info;
 	struct intel_runtime_info *runtime;
+	u16 ver, rel, step;
 
 	/* Setup the write-once "constant" device info */
 	info = mkwrite_device_info(i915);
@@ -584,11 +582,18 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
 	memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
 
 	/* Probe display support */
-	info->display = intel_display_device_probe(device_id);
+	info->display = intel_display_device_probe(i915, info->has_gmd_id,
+						   &ver, &rel, &step);
 	memcpy(DISPLAY_RUNTIME_INFO(i915),
 	       &DISPLAY_INFO(i915)->__runtime_defaults,
 	       sizeof(*DISPLAY_RUNTIME_INFO(i915)));
 
+	if (info->has_gmd_id) {
+		DISPLAY_RUNTIME_INFO(i915)->ip.ver = ver;
+		DISPLAY_RUNTIME_INFO(i915)->ip.rel = rel;
+		DISPLAY_RUNTIME_INFO(i915)->ip.step = step;
+	}
+
 	runtime->device_id = device_id;
 }
 
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 06/10] drm/i915/display: Move feature test macros to intel_display_device.h
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (4 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 05/10] drm/i915/display: Handle GMD_ID identification in display code Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 07/10] drm/i915/display: Include of display limits doesn't need 'display/' Matt Roper
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.d.roper, Andrzej Hajda

It makes sense to keep the display feature test macros centralized
within the display code.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230523195609.73627-7-matthew.d.roper@intel.com
(cherry picked from commit 95c08508e237ba2444786581bfcc7df1ff54c35b)
---
 .../drm/i915/display/intel_display_device.h   | 39 ++++++++++++
 drivers/gpu/drm/i915/i915_drv.h               | 61 -------------------
 2 files changed, 39 insertions(+), 61 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index d1d11581d85d..2aa82cbdf1c5 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -31,6 +31,45 @@ struct drm_i915_private;
 	func(overlay_needs_physical); \
 	func(supports_tv);
 
+#define HAS_ASYNC_FLIPS(i915)		(DISPLAY_VER(i915) >= 5)
+#define HAS_CDCLK_CRAWL(i915)		(DISPLAY_INFO(i915)->has_cdclk_crawl)
+#define HAS_CDCLK_SQUASH(i915)		(DISPLAY_INFO(i915)->has_cdclk_squash)
+#define HAS_CUR_FBC(i915)		(!HAS_GMCH(i915) && DISPLAY_VER(i915) >= 7)
+#define HAS_D12_PLANE_MINIMIZATION(i915) (IS_ROCKETLAKE(i915) || IS_ALDERLAKE_S(i915))
+#define HAS_DDI(i915)			(DISPLAY_INFO(i915)->has_ddi)
+#define HAS_DISPLAY(i915)		(DISPLAY_RUNTIME_INFO(i915)->pipe_mask != 0)
+#define HAS_DMC(i915)			(DISPLAY_RUNTIME_INFO(i915)->has_dmc)
+#define HAS_DOUBLE_BUFFERED_M_N(i915)	(DISPLAY_VER(i915) >= 9 || IS_BROADWELL(i915))
+#define HAS_DP_MST(i915)		(DISPLAY_INFO(i915)->has_dp_mst)
+#define HAS_DP20(i915)			(IS_DG2(i915) || DISPLAY_VER(i915) >= 14)
+#define HAS_DPT(i915)			(DISPLAY_VER(i915) >= 13)
+#define HAS_DSB(i915)			(DISPLAY_INFO(i915)->has_dsb)
+#define HAS_DSC(__i915)			(DISPLAY_RUNTIME_INFO(__i915)->has_dsc)
+#define HAS_FBC(i915)			(DISPLAY_RUNTIME_INFO(i915)->fbc_mask != 0)
+#define HAS_FPGA_DBG_UNCLAIMED(i915)	(DISPLAY_INFO(i915)->has_fpga_dbg)
+#define HAS_FW_BLC(i915)		(DISPLAY_VER(i915) > 2)
+#define HAS_GMBUS_IRQ(i915)		(DISPLAY_VER(i915) >= 4)
+#define HAS_GMBUS_BURST_READ(i915)	(DISPLAY_VER(i915) >= 10 || IS_KABYLAKE(i915))
+#define HAS_GMCH(i915)			(DISPLAY_INFO(i915)->has_gmch)
+#define HAS_HW_SAGV_WM(i915)		(DISPLAY_VER(i915) >= 13 && !IS_DGFX(i915))
+#define HAS_IPC(i915)			(DISPLAY_INFO(i915)->has_ipc)
+#define HAS_IPS(i915)			(IS_HSW_ULT(i915) || IS_BROADWELL(i915))
+#define HAS_LSPCON(i915)		(IS_DISPLAY_VER(i915, 9, 10))
+#define HAS_MBUS_JOINING(i915)		(IS_ALDERLAKE_P(i915) || DISPLAY_VER(i915) >= 14)
+#define HAS_MSO(i915)			(DISPLAY_VER(i915) >= 12)
+#define HAS_OVERLAY(i915)		(DISPLAY_INFO(i915)->has_overlay)
+#define HAS_PSR(i915)			(DISPLAY_INFO(i915)->has_psr)
+#define HAS_PSR_HW_TRACKING(i915)	(DISPLAY_INFO(i915)->has_psr_hw_tracking)
+#define HAS_PSR2_SEL_FETCH(i915)	(DISPLAY_VER(i915) >= 12)
+#define HAS_SAGV(i915)			(DISPLAY_VER(i915) >= 9 && !IS_LP(i915))
+#define HAS_TRANSCODER(i915, trans)	((DISPLAY_RUNTIME_INFO(i915)->cpu_transcoder_mask & \
+					  BIT(trans)) != 0)
+#define HAS_VRR(i915)			(DISPLAY_VER(i915) >= 11)
+#define INTEL_NUM_PIPES(i915)		(hweight8(DISPLAY_RUNTIME_INFO(i915)->pipe_mask))
+#define I915_HAS_HOTPLUG(i915)		(DISPLAY_INFO(i915)->has_hotplug)
+#define OVERLAY_NEEDS_PHYSICAL(i915)	(DISPLAY_INFO(i915)->overlay_needs_physical)
+#define SUPPORTS_TV(i915)		(DISPLAY_INFO(i915)->supports_tv)
+
 struct intel_display_runtime_info {
 	struct {
 		u16 ver;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 4d982fa4d6b5..f1205ed3ba71 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -785,10 +785,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 	((sizes) & ~RUNTIME_INFO(i915)->page_sizes) == 0; \
 })
 
-#define HAS_OVERLAY(i915)		 (DISPLAY_INFO(i915)->has_overlay)
-#define OVERLAY_NEEDS_PHYSICAL(i915) \
-		(DISPLAY_INFO(i915)->overlay_needs_physical)
-
 /* Early gen2 have a totally busted CS tlb and require pinned batches. */
 #define HAS_BROKEN_CS_TLB(i915)	(IS_I830(i915) || IS_I845G(i915))
 
@@ -799,41 +795,11 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define NEEDS_WaRsDisableCoarsePowerGating(i915)			\
 	(IS_SKL_GT3(i915) || IS_SKL_GT4(i915))
 
-#define HAS_GMBUS_IRQ(i915) (DISPLAY_VER(i915) >= 4)
-#define HAS_GMBUS_BURST_READ(i915) (DISPLAY_VER(i915) >= 11 || \
-					IS_GEMINILAKE(i915) || \
-					IS_KABYLAKE(i915))
-
 /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte
  * rows, which changed the alignment requirements and fence programming.
  */
 #define HAS_128_BYTE_Y_TILING(i915) (GRAPHICS_VER(i915) != 2 && \
 					 !(IS_I915G(i915) || IS_I915GM(i915)))
-#define SUPPORTS_TV(i915)		(DISPLAY_INFO(i915)->supports_tv)
-#define I915_HAS_HOTPLUG(i915)	(DISPLAY_INFO(i915)->has_hotplug)
-
-#define HAS_FW_BLC(i915)	(DISPLAY_VER(i915) > 2)
-#define HAS_FBC(i915)		(DISPLAY_RUNTIME_INFO(i915)->fbc_mask != 0)
-#define HAS_CUR_FBC(i915)	(!HAS_GMCH(i915) && DISPLAY_VER(i915) >= 7)
-
-#define HAS_DPT(i915)	(DISPLAY_VER(i915) >= 13)
-
-#define HAS_IPS(i915)	(IS_HSW_ULT(i915) || IS_BROADWELL(i915))
-
-#define HAS_DP_MST(i915)	(DISPLAY_INFO(i915)->has_dp_mst)
-#define HAS_DP20(i915)	(IS_DG2(i915) || DISPLAY_VER(i915) >= 14)
-
-#define HAS_DOUBLE_BUFFERED_M_N(i915)	(DISPLAY_VER(i915) >= 9 || IS_BROADWELL(i915))
-
-#define HAS_CDCLK_CRAWL(i915)	 (DISPLAY_INFO(i915)->has_cdclk_crawl)
-#define HAS_CDCLK_SQUASH(i915)	 (DISPLAY_INFO(i915)->has_cdclk_squash)
-#define HAS_DDI(i915)		 (DISPLAY_INFO(i915)->has_ddi)
-#define HAS_FPGA_DBG_UNCLAIMED(i915) (DISPLAY_INFO(i915)->has_fpga_dbg)
-#define HAS_PSR(i915)		 (DISPLAY_INFO(i915)->has_psr)
-#define HAS_PSR_HW_TRACKING(i915) \
-	(DISPLAY_INFO(i915)->has_psr_hw_tracking)
-#define HAS_PSR2_SEL_FETCH(i915)	 (DISPLAY_VER(i915) >= 12)
-#define HAS_TRANSCODER(i915, trans)	 ((DISPLAY_RUNTIME_INFO(i915)->cpu_transcoder_mask & BIT(trans)) != 0)
 
 #define HAS_RC6(i915)		 (INTEL_INFO(i915)->has_rc6)
 #define HAS_RC6p(i915)		 (INTEL_INFO(i915)->has_rc6p)
@@ -841,11 +807,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define HAS_RPS(i915)	(INTEL_INFO(i915)->has_rps)
 
-#define HAS_DMC(i915)		(DISPLAY_RUNTIME_INFO(i915)->has_dmc)
-#define HAS_DSB(i915)		(DISPLAY_INFO(i915)->has_dsb)
-#define HAS_DSC(__i915)		(DISPLAY_RUNTIME_INFO(__i915)->has_dsc)
-#define HAS_HW_SAGV_WM(i915) (DISPLAY_VER(i915) >= 13 && !IS_DGFX(i915))
-
 #define HAS_HECI_PXP(i915) \
 	(INTEL_INFO(i915)->has_heci_pxp)
 
@@ -854,8 +815,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define HAS_HECI_GSC(i915) (HAS_HECI_PXP(i915) || HAS_HECI_GSCFI(i915))
 
-#define HAS_MSO(i915)		(DISPLAY_VER(i915) >= 12)
-
 #define HAS_RUNTIME_PM(i915) (INTEL_INFO(i915)->has_runtime_pm)
 #define HAS_64BIT_RELOC(i915) (INTEL_INFO(i915)->has_64bit_reloc)
 
@@ -872,9 +831,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
  */
 #define HAS_64K_PAGES(i915) (INTEL_INFO(i915)->has_64k_pages)
 
-#define HAS_IPC(i915)		(DISPLAY_INFO(i915)->has_ipc)
-#define HAS_SAGV(i915)		(DISPLAY_VER(i915) >= 9 && !IS_LP(i915))
-
 #define HAS_REGION(i915, i) (RUNTIME_INFO(i915)->memory_regions & (i))
 #define HAS_LMEM(i915) HAS_REGION(i915, REGION_LMEM)
 
@@ -892,12 +848,8 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define HAS_GLOBAL_MOCS_REGISTERS(i915)	(INTEL_INFO(i915)->has_global_mocs)
 
-#define HAS_GMCH(i915) (DISPLAY_INFO(i915)->has_gmch)
-
 #define HAS_GMD_ID(i915)	(INTEL_INFO(i915)->has_gmd_id)
 
-#define HAS_LSPCON(i915) (IS_DISPLAY_VER(i915, 9, 10))
-
 #define HAS_L3_CCS_READ(i915) (INTEL_INFO(i915)->has_l3_ccs_read)
 
 /* DPF == dynamic parity feature */
@@ -905,14 +857,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define NUM_L3_SLICES(i915) (IS_HSW_GT3(i915) ? \
 				 2 : HAS_L3_DPF(i915))
 
-#define INTEL_NUM_PIPES(i915) (hweight8(DISPLAY_RUNTIME_INFO(i915)->pipe_mask))
-
-#define HAS_DISPLAY(i915) (DISPLAY_RUNTIME_INFO(i915)->pipe_mask != 0)
-
-#define HAS_VRR(i915)	(DISPLAY_VER(i915) >= 11)
-
-#define HAS_ASYNC_FLIPS(i915)		(DISPLAY_VER(i915) >= 5)
-
 /* Only valid when HAS_DISPLAY() is true */
 #define INTEL_DISPLAY_ENABLED(i915) \
 	(drm_WARN_ON(&(i915)->drm, !HAS_DISPLAY(i915)),		\
@@ -922,11 +866,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define HAS_GUC_DEPRIVILEGE(i915) \
 	(INTEL_INFO(i915)->has_guc_deprivilege)
 
-#define HAS_D12_PLANE_MINIMIZATION(i915) (IS_ROCKETLAKE(i915) || \
-					      IS_ALDERLAKE_S(i915))
-
-#define HAS_MBUS_JOINING(i915) (IS_ALDERLAKE_P(i915) || DISPLAY_VER(i915) >= 14)
-
 #define HAS_3D_PIPELINE(i915)	(INTEL_INFO(i915)->has_3d_pipeline)
 
 #define HAS_ONE_EU_PER_FUSE_BIT(i915)	(INTEL_INFO(i915)->has_one_eu_per_fuse_bit)
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 07/10] drm/i915/display: Include of display limits doesn't need 'display/'
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (5 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 06/10] drm/i915/display: Move feature test macros to intel_display_device.h Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-07  4:33   ` Lucas De Marchi
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 08/10] drm/i915: Fix error handling if driver creation fails during probe Matt Roper
                   ` (10 subsequent siblings)
  17 siblings, 1 reply; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.d.roper

Drop the unnecessary directory prefix.  This also makes
intel_display_device.h easier to use from the Xe driver.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_device.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 2aa82cbdf1c5..327520b0ecb9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "display/intel_display_limits.h"
+#include "intel_display_limits.h"
 
 struct drm_i915_private;
 
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 08/10] drm/i915: Fix error handling if driver creation fails during probe
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (6 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 07/10] drm/i915/display: Include of display limits doesn't need 'display/' Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 09/10] drm/i915/display: Extract display init from intel_device_info_runtime_init Matt Roper
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.d.roper, Dan Carpenter

If i915_driver_create() fails to create a valid 'i915' object, we
should just disable the PCI device and return immediately without trying
to call i915_probe_error() that relies on a valid i915 pointer.

Fixes: 12e6f6dc78e4 ("drm/i915/display: Handle GMD_ID identification in display code")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/55236f93-dcc5-481e-b788-9f7e95b129d8@kili.mountain/
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230601173804.557756-1-matthew.d.roper@intel.com
(cherry picked from commit 718551bbed3ca5308a9f9429305dd074727e8d46)
---
 drivers/gpu/drm/i915/i915_driver.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 27e5de529b06..67e5a05e565c 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -762,8 +762,8 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	i915 = i915_driver_create(pdev, ent);
 	if (IS_ERR(i915)) {
-		ret = PTR_ERR(i915);
-		goto out_pci_disable;
+		pci_disable_device(pdev);
+		return PTR_ERR(i915);
 	}
 
 	ret = i915_driver_early_probe(i915);
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 09/10] drm/i915/display: Extract display init from intel_device_info_runtime_init
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (7 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 08/10] drm/i915: Fix error handling if driver creation fails during probe Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 10/10] fixup! drm/xe/display: Implement display support Matt Roper
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: Jani Nikula, matthew.d.roper

Moving display-specific runtime info initialization into display/ makes
the display code more self-contained and also makes it easier to call
from the Xe driver.

v2:
 - Drop unnecessary display/ prefix from #includes.  (Jani)
 - Clear runtime info if fusing leaves no pipes remaining, the same as
   we do when fusing indicates the entire display controller is
   unavailable.  (Jani)
 - Move adjustment of DRIVER_MODESET / DRIVER_ATOMIC after call to
   intel_display_device_info_runtime_init(); HAS_DISPLAY may have
   changed to false during the runtime init.  (Jani)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230602181450.1151368-1-matthew.d.roper@intel.com
(cherry picked from commit 2d0cdf6020549400d93a3f56f09373ece71c76da)
---
 .../drm/i915/display/intel_display_device.c   | 127 +++++++++++++++
 .../drm/i915/display/intel_display_device.h   |   1 +
 drivers/gpu/drm/i915/intel_device_info.c      | 154 ++----------------
 3 files changed, 144 insertions(+), 138 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index a513ac8f71a3..96cb76a843d9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -9,6 +9,8 @@
 
 #include "i915_drv.h"
 #include "i915_reg.h"
+#include "intel_de.h"
+#include "intel_display.h"
 #include "intel_display_device.h"
 #include "intel_display_power.h"
 #include "intel_display_reg_defs.h"
@@ -773,3 +775,128 @@ intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
 
 	return &no_display;
 }
+
+void intel_display_device_info_runtime_init(struct drm_i915_private *i915)
+{
+	struct intel_display_runtime_info *display_runtime = DISPLAY_RUNTIME_INFO(i915);
+	enum pipe pipe;
+
+	/* Wa_14011765242: adl-s A0,A1 */
+	if (IS_ADLS_DISPLAY_STEP(i915, STEP_A0, STEP_A2))
+		for_each_pipe(i915, pipe)
+			display_runtime->num_scalers[pipe] = 0;
+	else if (DISPLAY_VER(i915) >= 11) {
+		for_each_pipe(i915, pipe)
+			display_runtime->num_scalers[pipe] = 2;
+	} else if (DISPLAY_VER(i915) >= 9) {
+		display_runtime->num_scalers[PIPE_A] = 2;
+		display_runtime->num_scalers[PIPE_B] = 2;
+		display_runtime->num_scalers[PIPE_C] = 1;
+	}
+
+	if (DISPLAY_VER(i915) >= 13 || HAS_D12_PLANE_MINIMIZATION(i915))
+		for_each_pipe(i915, pipe)
+			display_runtime->num_sprites[pipe] = 4;
+	else if (DISPLAY_VER(i915) >= 11)
+		for_each_pipe(i915, pipe)
+			display_runtime->num_sprites[pipe] = 6;
+	else if (DISPLAY_VER(i915) == 10)
+		for_each_pipe(i915, pipe)
+			display_runtime->num_sprites[pipe] = 3;
+	else if (IS_BROXTON(i915)) {
+		/*
+		 * Skylake and Broxton currently don't expose the topmost plane as its
+		 * use is exclusive with the legacy cursor and we only want to expose
+		 * one of those, not both. Until we can safely expose the topmost plane
+		 * as a DRM_PLANE_TYPE_CURSOR with all the features exposed/supported,
+		 * we don't expose the topmost plane at all to prevent ABI breakage
+		 * down the line.
+		 */
+
+		display_runtime->num_sprites[PIPE_A] = 2;
+		display_runtime->num_sprites[PIPE_B] = 2;
+		display_runtime->num_sprites[PIPE_C] = 1;
+	} else if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915)) {
+		for_each_pipe(i915, pipe)
+			display_runtime->num_sprites[pipe] = 2;
+	} else if (DISPLAY_VER(i915) >= 5 || IS_G4X(i915)) {
+		for_each_pipe(i915, pipe)
+			display_runtime->num_sprites[pipe] = 1;
+	}
+
+	if ((IS_DGFX(i915) || DISPLAY_VER(i915) >= 14) &&
+	    !(intel_de_read(i915, GU_CNTL_PROTECTED) & DEPRESENT)) {
+		drm_info(&i915->drm, "Display not present, disabling\n");
+		goto display_fused_off;
+	}
+
+	if (IS_GRAPHICS_VER(i915, 7, 8) && HAS_PCH_SPLIT(i915)) {
+		u32 fuse_strap = intel_de_read(i915, FUSE_STRAP);
+		u32 sfuse_strap = intel_de_read(i915, SFUSE_STRAP);
+
+		/*
+		 * SFUSE_STRAP is supposed to have a bit signalling the display
+		 * is fused off. Unfortunately it seems that, at least in
+		 * certain cases, fused off display means that PCH display
+		 * reads don't land anywhere. In that case, we read 0s.
+		 *
+		 * On CPT/PPT, we can detect this case as SFUSE_STRAP_FUSE_LOCK
+		 * should be set when taking over after the firmware.
+		 */
+		if (fuse_strap & ILK_INTERNAL_DISPLAY_DISABLE ||
+		    sfuse_strap & SFUSE_STRAP_DISPLAY_DISABLED ||
+		    (HAS_PCH_CPT(i915) &&
+		     !(sfuse_strap & SFUSE_STRAP_FUSE_LOCK))) {
+			drm_info(&i915->drm,
+				 "Display fused off, disabling\n");
+			goto display_fused_off;
+		} else if (fuse_strap & IVB_PIPE_C_DISABLE) {
+			drm_info(&i915->drm, "PipeC fused off\n");
+			display_runtime->pipe_mask &= ~BIT(PIPE_C);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
+		}
+	} else if (DISPLAY_VER(i915) >= 9) {
+		u32 dfsm = intel_de_read(i915, SKL_DFSM);
+
+		if (dfsm & SKL_DFSM_PIPE_A_DISABLE) {
+			display_runtime->pipe_mask &= ~BIT(PIPE_A);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_A);
+			display_runtime->fbc_mask &= ~BIT(INTEL_FBC_A);
+		}
+		if (dfsm & SKL_DFSM_PIPE_B_DISABLE) {
+			display_runtime->pipe_mask &= ~BIT(PIPE_B);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
+		}
+		if (dfsm & SKL_DFSM_PIPE_C_DISABLE) {
+			display_runtime->pipe_mask &= ~BIT(PIPE_C);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
+		}
+
+		if (DISPLAY_VER(i915) >= 12 &&
+		    (dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
+			display_runtime->pipe_mask &= ~BIT(PIPE_D);
+			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
+		}
+
+		if (!display_runtime->pipe_mask)
+			goto display_fused_off;
+
+		if (dfsm & SKL_DFSM_DISPLAY_HDCP_DISABLE)
+			display_runtime->has_hdcp = 0;
+
+		if (dfsm & SKL_DFSM_DISPLAY_PM_DISABLE)
+			display_runtime->fbc_mask = 0;
+
+		if (DISPLAY_VER(i915) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
+			display_runtime->has_dmc = 0;
+
+		if (IS_DISPLAY_VER(i915, 10, 12) &&
+		    (dfsm & GLK_DFSM_DISPLAY_DSC_DISABLE))
+			display_runtime->has_dsc = 0;
+	}
+
+	return;
+
+display_fused_off:
+	memset(display_runtime, 0, sizeof(*display_runtime));
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 327520b0ecb9..706ff2aa1f55 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -124,5 +124,6 @@ struct intel_display_device_info {
 const struct intel_display_device_info *
 intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
 			   u16 *ver, u16 *rel, u16 *step);
+void intel_display_device_info_runtime_init(struct drm_i915_private *i915);
 
 #endif
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 2f79d232b04a..6e49caf241a5 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -27,9 +27,7 @@
 #include <drm/drm_print.h>
 #include <drm/i915_pciids.h>
 
-#include "display/intel_cdclk.h"
-#include "display/intel_de.h"
-#include "display/intel_display.h"
+#include "display/intel_display_device.h"
 #include "gt/intel_gt_regs.h"
 #include "i915_drv.h"
 #include "i915_reg.h"
@@ -411,153 +409,33 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 {
 	struct intel_device_info *info = mkwrite_device_info(dev_priv);
 	struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);
-	struct intel_display_runtime_info *display_runtime =
-		DISPLAY_RUNTIME_INFO(dev_priv);
-	enum pipe pipe;
 
-	/* Wa_14011765242: adl-s A0,A1 */
-	if (IS_ADLS_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A2))
-		for_each_pipe(dev_priv, pipe)
-			display_runtime->num_scalers[pipe] = 0;
-	else if (DISPLAY_VER(dev_priv) >= 11) {
-		for_each_pipe(dev_priv, pipe)
-			display_runtime->num_scalers[pipe] = 2;
-	} else if (DISPLAY_VER(dev_priv) >= 9) {
-		display_runtime->num_scalers[PIPE_A] = 2;
-		display_runtime->num_scalers[PIPE_B] = 2;
-		display_runtime->num_scalers[PIPE_C] = 1;
-	}
-
-	BUILD_BUG_ON(BITS_PER_TYPE(intel_engine_mask_t) < I915_NUM_ENGINES);
-
-	if (DISPLAY_VER(dev_priv) >= 13 || HAS_D12_PLANE_MINIMIZATION(dev_priv))
-		for_each_pipe(dev_priv, pipe)
-			display_runtime->num_sprites[pipe] = 4;
-	else if (DISPLAY_VER(dev_priv) >= 11)
-		for_each_pipe(dev_priv, pipe)
-			display_runtime->num_sprites[pipe] = 6;
-	else if (DISPLAY_VER(dev_priv) == 10)
-		for_each_pipe(dev_priv, pipe)
-			display_runtime->num_sprites[pipe] = 3;
-	else if (IS_BROXTON(dev_priv)) {
-		/*
-		 * Skylake and Broxton currently don't expose the topmost plane as its
-		 * use is exclusive with the legacy cursor and we only want to expose
-		 * one of those, not both. Until we can safely expose the topmost plane
-		 * as a DRM_PLANE_TYPE_CURSOR with all the features exposed/supported,
-		 * we don't expose the topmost plane at all to prevent ABI breakage
-		 * down the line.
-		 */
-
-		display_runtime->num_sprites[PIPE_A] = 2;
-		display_runtime->num_sprites[PIPE_B] = 2;
-		display_runtime->num_sprites[PIPE_C] = 1;
-	} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
-		for_each_pipe(dev_priv, pipe)
-			display_runtime->num_sprites[pipe] = 2;
-	} else if (DISPLAY_VER(dev_priv) >= 5 || IS_G4X(dev_priv)) {
-		for_each_pipe(dev_priv, pipe)
-			display_runtime->num_sprites[pipe] = 1;
-	}
-
-	if (HAS_DISPLAY(dev_priv) &&
-	    (IS_DGFX(dev_priv) || DISPLAY_VER(dev_priv) >= 14) &&
-	    !(intel_de_read(dev_priv, GU_CNTL_PROTECTED) & DEPRESENT)) {
-		drm_info(&dev_priv->drm, "Display not present, disabling\n");
-
-		display_runtime->pipe_mask = 0;
-	}
-
-	if (HAS_DISPLAY(dev_priv) && IS_GRAPHICS_VER(dev_priv, 7, 8) &&
-	    HAS_PCH_SPLIT(dev_priv)) {
-		u32 fuse_strap = intel_de_read(dev_priv, FUSE_STRAP);
-		u32 sfuse_strap = intel_de_read(dev_priv, SFUSE_STRAP);
-
-		/*
-		 * SFUSE_STRAP is supposed to have a bit signalling the display
-		 * is fused off. Unfortunately it seems that, at least in
-		 * certain cases, fused off display means that PCH display
-		 * reads don't land anywhere. In that case, we read 0s.
-		 *
-		 * On CPT/PPT, we can detect this case as SFUSE_STRAP_FUSE_LOCK
-		 * should be set when taking over after the firmware.
-		 */
-		if (fuse_strap & ILK_INTERNAL_DISPLAY_DISABLE ||
-		    sfuse_strap & SFUSE_STRAP_DISPLAY_DISABLED ||
-		    (HAS_PCH_CPT(dev_priv) &&
-		     !(sfuse_strap & SFUSE_STRAP_FUSE_LOCK))) {
-			drm_info(&dev_priv->drm,
-				 "Display fused off, disabling\n");
-			display_runtime->pipe_mask = 0;
-		} else if (fuse_strap & IVB_PIPE_C_DISABLE) {
-			drm_info(&dev_priv->drm, "PipeC fused off\n");
-			display_runtime->pipe_mask &= ~BIT(PIPE_C);
-			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
-		}
-	} else if (HAS_DISPLAY(dev_priv) && DISPLAY_VER(dev_priv) >= 9) {
-		u32 dfsm = intel_de_read(dev_priv, SKL_DFSM);
-
-		if (dfsm & SKL_DFSM_PIPE_A_DISABLE) {
-			display_runtime->pipe_mask &= ~BIT(PIPE_A);
-			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_A);
-			display_runtime->fbc_mask &= ~BIT(INTEL_FBC_A);
-		}
-		if (dfsm & SKL_DFSM_PIPE_B_DISABLE) {
-			display_runtime->pipe_mask &= ~BIT(PIPE_B);
-			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
-		}
-		if (dfsm & SKL_DFSM_PIPE_C_DISABLE) {
-			display_runtime->pipe_mask &= ~BIT(PIPE_C);
-			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
-		}
-
-		if (DISPLAY_VER(dev_priv) >= 12 &&
-		    (dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
-			display_runtime->pipe_mask &= ~BIT(PIPE_D);
-			display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
-		}
-
-		if (dfsm & SKL_DFSM_DISPLAY_HDCP_DISABLE)
-			display_runtime->has_hdcp = 0;
-
-		if (dfsm & SKL_DFSM_DISPLAY_PM_DISABLE)
-			display_runtime->fbc_mask = 0;
-
-		if (DISPLAY_VER(dev_priv) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
-			display_runtime->has_dmc = 0;
-
-		if (IS_DISPLAY_VER(dev_priv, 10, 12) &&
-		    (dfsm & GLK_DFSM_DISPLAY_DSC_DISABLE))
-			display_runtime->has_dsc = 0;
-	}
-
-	if (GRAPHICS_VER(dev_priv) == 6 && i915_vtd_active(dev_priv)) {
-		drm_info(&dev_priv->drm,
-			 "Disabling ppGTT for VT-d support\n");
-		runtime->ppgtt_type = INTEL_PPGTT_NONE;
-	}
-
-	runtime->rawclk_freq = intel_read_rawclk(dev_priv);
-	drm_dbg(&dev_priv->drm, "rawclk rate: %d kHz\n", runtime->rawclk_freq);
+	if (HAS_DISPLAY(dev_priv))
+		intel_display_device_info_runtime_init(dev_priv);
 
+	/* Display may have been disabled by runtime init */
 	if (!HAS_DISPLAY(dev_priv)) {
 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
 						   DRIVER_ATOMIC);
 		info->display = &no_display;
-
-		display_runtime->cpu_transcoder_mask = 0;
-		memset(display_runtime->num_sprites, 0, sizeof(display_runtime->num_sprites));
-		memset(display_runtime->num_scalers, 0, sizeof(display_runtime->num_scalers));
-		display_runtime->fbc_mask = 0;
-		display_runtime->has_hdcp = false;
-		display_runtime->has_dmc = false;
-		display_runtime->has_dsc = false;
 	}
 
 	/* Disable nuclear pageflip by default on pre-g4x */
 	if (!dev_priv->params.nuclear_pageflip &&
 	    DISPLAY_VER(dev_priv) < 5 && !IS_G4X(dev_priv))
 		dev_priv->drm.driver_features &= ~DRIVER_ATOMIC;
+
+	BUILD_BUG_ON(BITS_PER_TYPE(intel_engine_mask_t) < I915_NUM_ENGINES);
+
+	if (GRAPHICS_VER(dev_priv) == 6 && i915_vtd_active(dev_priv)) {
+		drm_info(&dev_priv->drm,
+			 "Disabling ppGTT for VT-d support\n");
+		runtime->ppgtt_type = INTEL_PPGTT_NONE;
+	}
+
+	runtime->rawclk_freq = intel_read_rawclk(dev_priv);
+	drm_dbg(&dev_priv->drm, "rawclk rate: %d kHz\n", runtime->rawclk_freq);
+
 }
 
 /*
-- 
2.40.1


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

* [Intel-xe] [PATCH v2 10/10] fixup! drm/xe/display: Implement display support
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (8 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 09/10] drm/i915/display: Extract display init from intel_device_info_runtime_init Matt Roper
@ 2023-06-06 23:52 ` Matt Roper
  2023-06-07  4:41   ` Lucas De Marchi
  2023-06-06 23:55 ` [Intel-xe] ✓ CI.Patch_applied: success for Utilize i915 display probing (rev2) Patchwork
                   ` (7 subsequent siblings)
  17 siblings, 1 reply; 23+ messages in thread
From: Matt Roper @ 2023-06-06 23:52 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.d.roper

---
 drivers/gpu/drm/xe/Makefile                   |   2 +
 .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  40 +----
 .../drm/xe/display/ext/intel_device_info.c    |  94 ++--------
 drivers/gpu/drm/xe/xe_device_types.h          |  56 +-----
 drivers/gpu/drm/xe/xe_display.c               | 166 +++---------------
 5 files changed, 51 insertions(+), 307 deletions(-)

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index f34d4bdd510b..0fbbbc6e247c 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -122,6 +122,7 @@ subdir-ccflags-$(CONFIG_DRM_XE_DISPLAY) += \
 	-Ddrm_i915_private=xe_device
 
 CFLAGS_i915-display/intel_fbdev.o = $(call cc-disable-warning, override-init)
+CFLAGS_i915-display/intel_display_device.o = $(call cc-disable-warning, override-init)
 
 # Rule to build display code shared with i915
 $(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE
@@ -161,6 +162,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
 	i915-display/intel_ddi.o \
 	i915-display/intel_ddi_buf_trans.o \
 	i915-display/intel_display.o \
+	i915-display/intel_display_device.o \
 	i915-display/intel_display_driver.o \
 	i915-display/intel_display_debugfs.o \
 	i915-display/intel_display_power.o \
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
index 8a4ce3420c55..59bf1d4a61d6 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
@@ -84,44 +84,14 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
 #define IS_BDW_ULT(dev_priv) (dev_priv && 0)
 #define IS_BDW_ULX(dev_priv) (dev_priv && 0)
 
-#define INTEL_NUM_PIPES(xe) (hweight8((xe)->info.display.pipe_mask))
-#define HAS_DISPLAY(xe) ((xe)->info.display.pipe_mask != 0)
 #define INTEL_DISPLAY_ENABLED(xe) (HAS_DISPLAY((xe)) && !intel_opregion_headless_sku((xe)))
-#define HAS_CDCLK_CRAWL(xe) ((xe)->info.display.has_cdclk_crawl)
-#define HAS_CDCLK_SQUASH(xe) ((xe)->info.display.has_cdclk_squash)
-#define HAS_PSR(xe) ((xe)->info.display.has_psr)
-#define HAS_PSR2_SEL_FETCH(xe) (xe || 1)
-#define HAS_PSR_HW_TRACKING(xe) ((xe)->info.display.has_psr_hw_tracking)
-#define HAS_IPC(xe) ((xe)->info.display.has_ipc)
-#define HAS_IPS(xe) (xe && false)
-#define HAS_SAGV(xe) (xe || 1)
-#define HAS_DP_MST(xe) ((xe)->info.display.has_dp_mst)
-#define HAS_DMC(xe) ((xe)->info.display.has_dmc)
-#define HAS_DSB(xe) ((xe)->info.display.has_dsb)
-#define HAS_DSC(xe) ((xe)->info.display.has_dsc)
-#define HAS_CUR_FBC(xe) (xe || 1)
-#define HAS_DOUBLE_BUFFERED_M_N(xe) ((xe) || 1)
-#define I915_HAS_HOTPLUG(xe) (true)
-#define HAS_D12_PLANE_MINIMIZATION(dev_priv) (IS_ROCKETLAKE(dev_priv) || \
-					      IS_ALDERLAKE_S(dev_priv))
-#define DISPLAY_VER(xe) ((xe)->info.display.ver)
+#define DISPLAY_VER(xe) ((xe)->info.display_runtime.ip.ver)
 #define IS_DISPLAY_VER(xe, first, last) ((DISPLAY_VER(xe) >= first && DISPLAY_VER(xe) <= last))
 #define IS_GRAPHICS_VER(xe, first, last) \
 	((xe)->info.graphics_verx100 >= first * 100 && \
 	 (xe)->info.graphics_verx100 <= (last*100 + 99))
 #define IS_MOBILE(xe) (xe && 0)
-#define HAS_GMCH(xe) (xe && 0)
-#define HAS_DDI(xe) (xe || 1)
 #define HAS_LLC(xe) (!IS_DGFX((xe)))
-#define HAS_GMBUS_IRQ(xe) (xe || 1)
-#define HAS_GMBUS_BURST_READ(xe) (xe || 1)
-#define HAS_VRR(xe) (xe || 1)
-#define HAS_ASYNC_FLIPS(xe) (xe || 1)
-#define HAS_FBC(xe) ((xe)->info.display.fbc_mask)
-#define SUPPORTS_TV(xe) (xe && 0)
-#define HAS_MBUS_JOINING(xe) (xe && 0)
-#define HAS_HW_SAGV_WM(xe) (DISPLAY_VER(xe) >= 13 && !IS_DGFX(xe))
-#define HAS_DPT(xe) (DISPLAY_VER(xe) >= 13)
 
 /* Workarounds not handled yet */
 #define IS_DISPLAY_STEP(xe, first, last) ({u8 __step = (xe)->info.step.display; first <= __step && __step <= last;})
@@ -162,15 +132,11 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
 #define IS_DG2_G12(xe) ((xe)->info.subplatform == XE_SUBPLATFORM_DG2_G12)
 #define IS_ADLP_RPLU(xe) ((xe)->info.subplatform == XE_SUBPLATFORM_ADLP_RPLU)
 #define IS_ICL_WITH_PORT_F(xe) (xe && 0)
-#define HAS_LSPCON(xe) (xe && 0)
-#define HAS_MSO(xe) (xe || 1)
-#define HAS_DP20(xe) (IS_DG2(xe))
 #define HAS_FLAT_CCS(xe) (xe_device_has_flat_ccs(xe))
 #define HAS_4TILE(xe) ((xe)->info.has_4tile)
 #define to_intel_bo(x) gem_to_xe_bo((x))
 #define mkwrite_device_info(xe) (INTEL_INFO(xe))
 
-#define HAS_TRANSCODER(dev_priv, trans)  ((INTEL_INFO(dev_priv)->display.cpu_transcoder_mask & BIT(trans)) != 0)
 #define HAS_128_BYTE_Y_TILING(xe) (xe || 1)
 
 #define intel_has_gpu_reset(a) (a && 0)
@@ -225,7 +191,9 @@ static inline void intel_runtime_pm_put(struct xe_runtime_pm *pm, bool wakeref)
 
 #define intel_step_name xe_step_name
 #define pdev_to_i915 pdev_to_xe_device
-#define RUNTIME_INFO(xe) (&(xe)->info.display)
+#define DISPLAY_INFO(xe)		((xe)->info.display)
+#define RUNTIME_INFO(xe)		(&(xe)->info.i915_runtime)
+#define DISPLAY_RUNTIME_INFO(xe)	(&(xe)->info.display_runtime)
 
 #define FORCEWAKE_ALL XE_FORCEWAKE_ALL
 #define HPD_STORM_DEFAULT_THRESHOLD 50
diff --git a/drivers/gpu/drm/xe/display/ext/intel_device_info.c b/drivers/gpu/drm/xe/display/ext/intel_device_info.c
index 9a54611037b5..d1bb1e12013f 100644
--- a/drivers/gpu/drm/xe/display/ext/intel_device_info.c
+++ b/drivers/gpu/drm/xe/display/ext/intel_device_info.c
@@ -30,89 +30,6 @@
 #include "i915_reg.h"
 #include <drm/drm_drv.h>
 
-/**
- * intel_device_info_runtime_init - initialize runtime info
- * @dev_priv: the i915 device
- *
- * Determine various intel_device_info fields at runtime.
- *
- * Use it when either:
- *   - it's judged too laborious to fill n static structures with the limit
- *     when a simple if statement does the job,
- *   - run-time checks (eg read fuse/strap registers) are needed.
- *
- * This function needs to be called:
- *   - after the MMIO has been setup as we are reading registers,
- *   - after the PCH has been detected,
- *   - before the first usage of the fields it can tweak.
- */
-void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
-{
-	struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);
-	enum pipe pipe;
-
-	/* Wa_14011765242: adl-s A0,A1 */
-	if (IS_ADLS_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A2)) {
-		for_each_pipe(dev_priv, pipe)
-			runtime->num_scalers[pipe] = 0;
-	} else if (DISPLAY_VER(dev_priv) >= 11) {
-		for_each_pipe(dev_priv, pipe)
-			runtime->num_scalers[pipe] = 2;
-	} else if (DISPLAY_VER(dev_priv) >= 9) {
-		runtime->num_scalers[PIPE_A] = 2;
-		runtime->num_scalers[PIPE_B] = 2;
-		runtime->num_scalers[PIPE_C] = 1;
-	}
-
-	if (DISPLAY_VER(dev_priv) >= 13 || HAS_D12_PLANE_MINIMIZATION(dev_priv)) {
-		for_each_pipe(dev_priv, pipe)
-			runtime->num_sprites[pipe] = 4;
-	} else if (DISPLAY_VER(dev_priv) >= 11) {
-		for_each_pipe(dev_priv, pipe)
-			runtime->num_sprites[pipe] = 6;
-	}
-
-	if (HAS_DISPLAY(dev_priv) && DISPLAY_VER(dev_priv) >= 9) {
-		u32 dfsm = intel_de_read(dev_priv, SKL_DFSM);
-
-		if (dfsm & SKL_DFSM_PIPE_A_DISABLE) {
-			runtime->pipe_mask &= ~BIT(PIPE_A);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_A);
-			runtime->fbc_mask &= ~BIT(INTEL_FBC_A);
-		}
-		if (dfsm & SKL_DFSM_PIPE_B_DISABLE) {
-			runtime->pipe_mask &= ~BIT(PIPE_B);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
-		}
-		if (dfsm & SKL_DFSM_PIPE_C_DISABLE) {
-			runtime->pipe_mask &= ~BIT(PIPE_C);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
-		}
-
-		if (DISPLAY_VER(dev_priv) >= 12 &&
-		    (dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
-			runtime->pipe_mask &= ~BIT(PIPE_D);
-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
-		}
-
-		if (dfsm & SKL_DFSM_DISPLAY_HDCP_DISABLE)
-			runtime->has_hdcp = 0;
-
-		if (dfsm & SKL_DFSM_DISPLAY_PM_DISABLE)
-			runtime->fbc_mask = 0;
-
-		if (DISPLAY_VER(dev_priv) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
-			runtime->has_dmc = 0;
-
-		if (DISPLAY_VER(dev_priv) >= 10 &&
-		    (dfsm & GLK_DFSM_DISPLAY_DSC_DISABLE))
-			runtime->has_dsc = 0;
-	}
-
-	runtime->rawclk_freq = intel_read_rawclk(dev_priv);
-	drm_dbg(&dev_priv->drm, "rawclk rate: %d kHz\n", runtime->rawclk_freq);
-}
-
 bool i915_vtd_active(struct drm_i915_private *i915)
 {
 	if (device_iommu_mapped(i915->drm.dev))
@@ -128,3 +45,14 @@ int __i915_inject_probe_error(struct drm_i915_private *i915, int err,
 {
 	return 0;
 }
+int i8xx_enable_vblank(struct drm_crtc *crtc) { return 0; }
+void intel_dvo_init(struct drm_i915_private *i915) {}
+int i965_enable_vblank(struct drm_crtc *crtc) { return 0; }
+int intel_tv_init(struct drm_i915_private *i915) { return 0; }
+int assert_dsi_pll_enabled(struct drm_i915_private *i915) { return 0; }
+bool intel_sdvo_init(struct drm_i915_private *dev_priv,
+		     i915_reg_t sdvo_reg, enum port port) { return false; }
+void i965_disable_vblank(struct drm_crtc *crtc) {}
+void i8xx_disable_vblank(struct drm_crtc *crtc) {}
+void g4x_hdmi_init(struct drm_i915_private *dev_priv,
+		   i915_reg_t hdmi_reg, enum port port) {}
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 17b6b1cc5adb..0226d44a6af2 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -21,6 +21,7 @@
 #include "ext/intel_device_info.h"
 #include "ext/intel_pch.h"
 #include "intel_display_core.h"
+#include "intel_display_device.h"
 #endif
 
 struct xe_ggtt;
@@ -217,58 +218,11 @@ struct xe_device {
 		u8 enable_display:1;
 
 #if IS_ENABLED(CONFIG_DRM_XE_DISPLAY)
-		struct xe_device_display_info {
-			u8 ver;
-
-			u8 pipe_mask;
-			u8 cpu_transcoder_mask;
-			u8 fbc_mask;
-			u8 abox_mask;
-
-			struct {
-				u16 size; /* in blocks */
-				u8 slice_mask;
-			} dbuf;
-
-#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
-			/* Keep in alphabetical order */ \
-			func(has_cdclk_crawl); \
-			func(has_cdclk_squash); \
-			func(has_dmc); \
-			func(has_dp_mst); \
-			func(has_dsb); \
-			func(has_dsc); \
-			func(has_fpga_dbg); \
-			func(has_hdcp); \
-			func(has_hti); \
-			func(has_ipc); \
-			func(has_psr); \
-			func(has_psr_hw_tracking);
-
-#define DEFINE_FLAG(name) u8 name:1
-			DEV_INFO_DISPLAY_FOR_EACH_FLAG(DEFINE_FLAG);
-#undef DEFINE_FLAG
-
-			/* Register offsets for the various display pipes and transcoders */
-			u32 pipe_offsets[I915_MAX_TRANSCODERS];
-			u32 trans_offsets[I915_MAX_TRANSCODERS];
-			u32 cursor_offsets[I915_MAX_PIPES];
-
-			struct {
-				u32 degamma_lut_size;
-				u32 gamma_lut_size;
-				u32 degamma_lut_tests;
-				u32 gamma_lut_tests;
-			} color;
-
-			/* Populated by intel_device_runtime_init() */
-			u8 num_sprites[I915_MAX_PIPES];
-			u8 num_scalers[I915_MAX_PIPES];
+		const struct intel_display_device_info *display;
+		struct intel_display_runtime_info display_runtime;
+		struct {
 			u32 rawclk_freq;
-
-			/* Unused by xe, but for compat */
-			u32 mmio_offset;
-		} display;
+		} i915_runtime;
 #endif
 	} info;
 
diff --git a/drivers/gpu/drm/xe/xe_display.c b/drivers/gpu/drm/xe/xe_display.c
index 1a9e9c78966d..5745065b70de 100644
--- a/drivers/gpu/drm/xe/xe_display.c
+++ b/drivers/gpu/drm/xe/xe_display.c
@@ -196,7 +196,7 @@ int xe_display_init_noirq(struct xe_device *xe)
 
 	intel_bw_init_hw(xe);
 
-	intel_device_info_runtime_init(xe);
+	intel_display_device_info_runtime_init(xe);
 
 	err = intel_display_driver_probe_noirq(xe);
 	if (err)
@@ -320,7 +320,7 @@ static void intel_suspend_encoders(struct xe_device *xe)
 	struct drm_device *dev = &xe->drm;
 	struct intel_encoder *encoder;
 
-	if (!xe->info.display.pipe_mask)
+	if (xe->info.display_runtime.pipe_mask)
 		return;
 
 	drm_modeset_lock_all(dev);
@@ -340,7 +340,7 @@ void xe_display_pm_suspend(struct xe_device *xe)
 	 * properly.
 	 */
 	intel_power_domains_disable(xe);
-	if (xe->info.display.pipe_mask)
+	if (xe->info.display_runtime.pipe_mask)
 		drm_kms_helper_poll_disable(&xe->drm);
 
 	intel_display_driver_suspend(xe);
@@ -385,7 +385,7 @@ void xe_display_pm_resume(struct xe_device *xe)
 
 	intel_dmc_resume(xe);
 
-	if (xe->info.display.pipe_mask)
+	if (xe->info.display_runtime.pipe_mask)
 		drm_mode_config_reset(&xe->drm);
 
 	intel_display_driver_init_hw(xe);
@@ -397,7 +397,7 @@ void xe_display_pm_resume(struct xe_device *xe)
 	intel_display_driver_resume(xe);
 
 	intel_hpd_poll_disable(xe);
-	if (xe->info.display.pipe_mask)
+	if (xe->info.display_runtime.pipe_mask)
 		drm_kms_helper_poll_enable(&xe->drm);
 
 	intel_opregion_resume(xe);
@@ -411,142 +411,34 @@ void xe_display_pm_resume(struct xe_device *xe)
 __diag_push();
 __diag_ignore_all("-Woverride-init", "Allow field overrides in table");
 
-#define __DISPLAY_DEFAULTS \
-	.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) |			\
-		     BIT(PIPE_C) | BIT(PIPE_D),				\
-	.cpu_transcoder_mask =						\
-	BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |				\
-	BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |				\
-	BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),			\
-	.pipe_offsets = {						\
-		[TRANSCODER_A] = PIPE_A_OFFSET,				\
-		[TRANSCODER_B] = PIPE_B_OFFSET,				\
-		[TRANSCODER_C] = PIPE_C_OFFSET,				\
-		[TRANSCODER_D] = PIPE_D_OFFSET,				\
-		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,			\
-		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,			\
-	},								\
-	.cursor_offsets = { \
-		[PIPE_A] = CURSOR_A_OFFSET, \
-		[PIPE_B] = CURSOR_B_OFFSET, \
-		[PIPE_C] = CURSOR_C_OFFSET, \
-		[PIPE_D] = CURSOR_D_OFFSET, \
-	}, \
-	.trans_offsets = {						\
-		[TRANSCODER_A] = TRANSCODER_A_OFFSET,			\
-		[TRANSCODER_B] = TRANSCODER_B_OFFSET,			\
-		[TRANSCODER_C] = TRANSCODER_C_OFFSET,			\
-		[TRANSCODER_D] = TRANSCODER_D_OFFSET,			\
-		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,		\
-		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,		\
-	}
-
-#define GEN12_DISPLAY \
-	__DISPLAY_DEFAULTS,						\
-	.ver = 12,							\
-	.abox_mask = GENMASK(2, 1),					\
-	.has_dmc = 1,							\
-	.has_dp_mst = 1,						\
-	.has_dsb = 0, /* FIXME: LUT load is broken with huge DSB */	\
-	.dbuf.size = 2048,						\
-	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2),			\
-	.has_dsc = 1,							\
-	.fbc_mask = BIT(INTEL_FBC_A),					\
-	.has_fpga_dbg = 1,						\
-	.has_hdcp = 1,							\
-	.has_ipc = 1,							\
-	.has_psr = 1,							\
-	.has_psr_hw_tracking = 0,					\
-	.color = { .degamma_lut_size = 33, .gamma_lut_size = 262145 }
-
-#define XE_LPD								\
-	__DISPLAY_DEFAULTS,						\
-	.ver = 13,							\
-	.abox_mask = GENMASK(1, 0),					\
-	.color = {							\
-		.degamma_lut_size = 128, .gamma_lut_size = 1024,	\
-		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING |	\
-		DRM_COLOR_LUT_EQUAL_CHANNELS,				\
-	},								\
-	.dbuf.size = 4096,						\
-	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2) | BIT(DBUF_S3) |	\
-	BIT(DBUF_S4),							\
-	.has_dmc = 1,							\
-	.has_dp_mst = 1,						\
-	.has_dsb = 1,							\
-	.has_dsc = 1,							\
-	.fbc_mask = BIT(INTEL_FBC_A),					\
-	.has_fpga_dbg = 1,						\
-	.has_hdcp = 1,							\
-	.has_ipc = 1,							\
-	.has_psr = 1,							\
-	.has_psr_hw_tracking = 0
-
-#define XE_LPDP								\
-	XE_LPD,								\
-	.ver = 14,							\
-	.has_cdclk_crawl = 1,						\
-	.has_cdclk_squash = 1
-
-
 void xe_display_info_init(struct xe_device *xe)
 {
-	if (!xe->info.enable_display) {
-		unset_display_features(xe);
-		return;
-	}
+	u16 gmdid_ver, gmdid_rel, gmdid_step;
+	bool has_gmdid = GRAPHICS_VERx100(xe) >= 1270;
+
+	if (!xe->info.enable_display)
+		goto no_display;
+
+	xe->info.display = intel_display_device_probe(xe, has_gmdid, &gmdid_ver,
+						      &gmdid_rel, &gmdid_step);
+	memcpy(&xe->info.display_runtime,
+	       &xe->info.display->__runtime_defaults,
+	       sizeof(xe->info.display->__runtime_defaults));
 
-	switch (xe->info.platform) {
-	case XE_TIGERLAKE:
-	case XE_DG1:
-		xe->info.display = (struct xe_device_display_info) {
-			GEN12_DISPLAY,
-			.has_psr_hw_tracking = 1,
-		};
-		break;
-	case XE_ROCKETLAKE:
-		xe->info.display = (struct xe_device_display_info) {
-			GEN12_DISPLAY,
-			.abox_mask = BIT(0),
-			.has_hti = 1,
-			.cpu_transcoder_mask =
-				BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-				BIT(TRANSCODER_C),
-			.pipe_mask =
-				BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
-		};
-		break;
-	case XE_ALDERLAKE_S:
-		xe->info.display = (struct xe_device_display_info) {
-			GEN12_DISPLAY,
-			.has_hti = 1,
-		};
-		break;
-	case XE_ALDERLAKE_P:
-	case XE_ALDERLAKE_N:
-		xe->info.display = (struct xe_device_display_info) {
-			XE_LPD,
-			.has_cdclk_crawl = 1,
-		};
-		break;
-	case XE_DG2:
-		xe->info.display = (struct xe_device_display_info) {
-			XE_LPD,
-			.cpu_transcoder_mask =
-				BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
-				BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
-			.has_cdclk_squash = 1,
-		};
-		break;
-	case XE_METEORLAKE:
-		xe->info.display = (struct xe_device_display_info) { XE_LPDP };
-		break;
-	default:
-		drm_warn(&xe->drm, "Unknown display IP\n");
-		xe->info.enable_display = false;
-		unset_display_features(xe);
-		return;
+	if (!xe->info.display_runtime.pipe_mask)
+		goto no_display;
+
+	if (has_gmdid) {
+		xe->info.display_runtime.ip.ver = gmdid_ver;
+		xe->info.display_runtime.ip.rel = gmdid_rel;
+		xe->info.display_runtime.ip.step = gmdid_step;
 	}
+
+	return;
+
+no_display:
+	xe->info.enable_display = false;
+	unset_display_features(xe);
 }
 
 __diag_pop();
-- 
2.40.1


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

* [Intel-xe] ✓ CI.Patch_applied: success for Utilize i915 display probing (rev2)
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (9 preceding siblings ...)
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 10/10] fixup! drm/xe/display: Implement display support Matt Roper
@ 2023-06-06 23:55 ` Patchwork
  2023-06-06 23:56 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-06 23:55 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

== Series Details ==

Series: Utilize i915 display probing (rev2)
URL   : https://patchwork.freedesktop.org/series/118675/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-xe-next' with base: ===
Base commit: a17ea8317 drm/xe: REBAR resize should be best effort
=== git am output follows ===
Applying: drm/i915/display: Move display device info to header under display/
Applying: drm/i915: Convert INTEL_INFO()->display to a pointer
Applying: drm/i915/display: Move display runtime info to display structure
Applying: drm/i915/display: Make display responsible for probing its own IP
Applying: drm/i915/display: Handle GMD_ID identification in display code
Applying: drm/i915/display: Move feature test macros to intel_display_device.h
Applying: drm/i915/display: Include of display limits doesn't need 'display/'
Applying: drm/i915: Fix error handling if driver creation fails during probe
Applying: drm/i915/display: Extract display init from intel_device_info_runtime_init
Applying: fixup! drm/xe/display: Implement display support



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

* [Intel-xe] ✗ CI.checkpatch: warning for Utilize i915 display probing (rev2)
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (10 preceding siblings ...)
  2023-06-06 23:55 ` [Intel-xe] ✓ CI.Patch_applied: success for Utilize i915 display probing (rev2) Patchwork
@ 2023-06-06 23:56 ` Patchwork
  2023-06-06 23:57 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-06 23:56 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

== Series Details ==

Series: Utilize i915 display probing (rev2)
URL   : https://patchwork.freedesktop.org/series/118675/
State : warning

== 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
c7d32770e3cd31d9fc134ce41f329b10aa33ee15
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 4f05c9d9908c5f3f561c3b69039259c2dceec436
Author: Matt Roper <matthew.d.roper@intel.com>
Date:   Tue Jun 6 16:52:42 2023 -0700

    fixup! drm/xe/display: Implement display support
+ /mt/dim checkpatch a17ea8317b0260a1230cedb0469d4ba0cec0f4f2 drm-intel
97bb79751 drm/i915/display: Move display device info to header under display/
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:18: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
new file mode 100644

-:35: ERROR:MULTISTATEMENT_MACRO_USE_DO_WHILE: Macros with multiple statements should be enclosed in a do - while loop
#35: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:13:
+#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
+	/* Keep in alphabetical order */ \
+	func(cursor_needs_physical); \
+	func(has_cdclk_crawl); \
+	func(has_cdclk_squash); \
+	func(has_ddi); \
+	func(has_dp_mst); \
+	func(has_dsb); \
+	func(has_fpga_dbg); \
+	func(has_gmch); \
+	func(has_hotplug); \
+	func(has_hti); \
+	func(has_ipc); \
+	func(has_overlay); \
+	func(has_psr); \
+	func(has_psr_hw_tracking); \
+	func(overlay_needs_physical); \
+	func(supports_tv);

-:35: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'func' - possible side-effects?
#35: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:13:
+#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
+	/* Keep in alphabetical order */ \
+	func(cursor_needs_physical); \
+	func(has_cdclk_crawl); \
+	func(has_cdclk_squash); \
+	func(has_ddi); \
+	func(has_dp_mst); \
+	func(has_dsb); \
+	func(has_fpga_dbg); \
+	func(has_gmch); \
+	func(has_hotplug); \
+	func(has_hti); \
+	func(has_ipc); \
+	func(has_overlay); \
+	func(has_psr); \
+	func(has_psr_hw_tracking); \
+	func(overlay_needs_physical); \
+	func(supports_tv);

-:35: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#35: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:13:
+#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
+	/* Keep in alphabetical order */ \
+	func(cursor_needs_physical); \
+	func(has_cdclk_crawl); \
+	func(has_cdclk_squash); \
+	func(has_ddi); \
+	func(has_dp_mst); \
+	func(has_dsb); \
+	func(has_fpga_dbg); \
+	func(has_gmch); \
+	func(has_hotplug); \
+	func(has_hti); \
+	func(has_ipc); \
+	func(has_overlay); \
+	func(has_psr); \
+	func(has_psr_hw_tracking); \
+	func(overlay_needs_physical); \
+	func(supports_tv);

total: 1 errors, 2 warnings, 1 checks, 127 lines checked
b78cb546c drm/i915: Convert INTEL_INFO()->display to a pointer
-:243: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#243: FILE: drivers/gpu/drm/i915/display/intel_display_reg_defs.h:43:
+					      DISPLAY_INFO(dev_priv)->trans_offsets[TRANSCODER_A] + \

-:904: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#904: FILE: drivers/gpu/drm/i915/i915_pci.c:485:
+ };$

-:1728: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'name' may be better as '(name)' to avoid precedence issues
#1728: FILE: drivers/gpu/drm/i915/intel_device_info.c:141:
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->display->name))

total: 0 errors, 2 warnings, 1 checks, 1601 lines checked
b714e515f drm/i915/display: Move display runtime info to display structure
-:73: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'p' - possible side-effects?
#73: FILE: drivers/gpu/drm/i915/display/intel_display.h:108:
+#define sprite_name(p, s) ((p) * DISPLAY_RUNTIME_INFO(dev_priv)->num_sprites[(p)] + (s) + 'A')

-:91: WARNING:SPACING: space prohibited between function name and open parenthesis '('
#91: FILE: drivers/gpu/drm/i915/display/intel_display.h:232:
+		for_each_if (DISPLAY_RUNTIME_INFO(__dev_priv)->cpu_transcoder_mask & BIT(__t))

-:200: WARNING:LONG_LINE_COMMENT: line length of 101 exceeds 100 columns
#200: FILE: drivers/gpu/drm/i915/i915_drv.h:208:
+	struct intel_display_runtime_info __display_runtime; /* Access with DISPLAY_RUNTIME_INFO() */

-:235: WARNING:LONG_LINE: line length of 110 exceeds 100 columns
#235: FILE: drivers/gpu/drm/i915/i915_drv.h:836:
+#define HAS_TRANSCODER(i915, trans)	 ((DISPLAY_RUNTIME_INFO(i915)->cpu_transcoder_mask & BIT(trans)) != 0)

total: 0 errors, 3 warnings, 1 checks, 1068 lines checked
3581088c0 drm/i915/display: Make display responsible for probing its own IP
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:48: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#48: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 1898 lines checked
e50279650 drm/i915/display: Handle GMD_ID identification in display code
579016f22 drm/i915/display: Move feature test macros to intel_display_device.h
-:26: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#26: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:37:
+#define HAS_CUR_FBC(i915)		(!HAS_GMCH(i915) && DISPLAY_VER(i915) >= 7)

-:27: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#27: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:38:
+#define HAS_D12_PLANE_MINIMIZATION(i915) (IS_ROCKETLAKE(i915) || IS_ALDERLAKE_S(i915))

-:31: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#31: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:42:
+#define HAS_DOUBLE_BUFFERED_M_N(i915)	(DISPLAY_VER(i915) >= 9 || IS_BROADWELL(i915))

-:33: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#33: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:44:
+#define HAS_DP20(i915)			(IS_DG2(i915) || DISPLAY_VER(i915) >= 14)

-:41: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#41: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:52:
+#define HAS_GMBUS_BURST_READ(i915)	(DISPLAY_VER(i915) >= 10 || IS_KABYLAKE(i915))

-:43: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#43: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:54:
+#define HAS_HW_SAGV_WM(i915)		(DISPLAY_VER(i915) >= 13 && !IS_DGFX(i915))

-:45: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#45: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:56:
+#define HAS_IPS(i915)			(IS_HSW_ULT(i915) || IS_BROADWELL(i915))

-:47: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#47: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:58:
+#define HAS_MBUS_JOINING(i915)		(IS_ALDERLAKE_P(i915) || DISPLAY_VER(i915) >= 14)

-:53: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible side-effects?
#53: FILE: drivers/gpu/drm/i915/display/intel_display_device.h:64:
+#define HAS_SAGV(i915)			(DISPLAY_VER(i915) >= 9 && !IS_LP(i915))

total: 0 errors, 0 warnings, 9 checks, 161 lines checked
696a3727a drm/i915/display: Include of display limits doesn't need 'display/'
40d66b008 drm/i915: Fix error handling if driver creation fails during probe
-:11: WARNING:UNKNOWN_COMMIT_ID: Unknown commit id '12e6f6dc78e4', maybe rebased or not pulled?
#11: 
Fixes: 12e6f6dc78e4 ("drm/i915/display: Handle GMD_ID identification in display code")

-:12: WARNING:BAD_REPORTED_BY_LINK: Reported-by: should be immediately followed by Link: with a URL to the report
#12: 
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/55236f93-dcc5-481e-b788-9f7e95b129d8@kili.mountain/

-:13: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#13: 
Closes: https://lore.kernel.org/all/55236f93-dcc5-481e-b788-9f7e95b129d8@kili.mountain/

-:13: WARNING:COMMIT_LOG_USE_LINK: Unknown link reference 'Closes:', use 'Link:' instead
#13: 
Closes: https://lore.kernel.org/all/55236f93-dcc5-481e-b788-9f7e95b129d8@kili.mountain/

total: 0 errors, 4 warnings, 0 checks, 10 lines checked
504f311a4 drm/i915/display: Extract display init from intel_device_info_runtime_init
-:328: CHECK:SPACING: No space is necessary after a cast
#328: FILE: drivers/gpu/drm/i915/intel_device_info.c:428:
+	BUILD_BUG_ON(BITS_PER_TYPE(intel_engine_mask_t) < I915_NUM_ENGINES);

total: 0 errors, 0 warnings, 1 checks, 313 lines checked
4f05c9d99 fixup! drm/xe/display: Implement display support
-:8: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one

-:202: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#202: FILE: drivers/gpu/drm/xe/display/ext/intel_device_info.c:48:
 }
+int i8xx_enable_vblank(struct drm_crtc *crtc) { return 0; }

-:207: ERROR:OPEN_BRACE: open brace '{' following function definitions go on the next line
#207: FILE: drivers/gpu/drm/xe/display/ext/intel_device_info.c:53:
+bool intel_sdvo_init(struct drm_i915_private *dev_priv,
+		     i915_reg_t sdvo_reg, enum port port) { return false; }

-:211: ERROR:OPEN_BRACE: open brace '{' following function definitions go on the next line
#211: FILE: drivers/gpu/drm/xe/display/ext/intel_device_info.c:57:
+void g4x_hdmi_init(struct drm_i915_private *dev_priv,
+		   i915_reg_t hdmi_reg, enum port port) {}

-:502: ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)

total: 3 errors, 1 warnings, 1 checks, 461 lines checked



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

* [Intel-xe] ✓ CI.KUnit: success for Utilize i915 display probing (rev2)
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (11 preceding siblings ...)
  2023-06-06 23:56 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
@ 2023-06-06 23:57 ` Patchwork
  2023-06-07  0:01 ` [Intel-xe] ✓ CI.Build: " Patchwork
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-06 23:57 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

== Series Details ==

Series: Utilize i915 display probing (rev2)
URL   : https://patchwork.freedesktop.org/series/118675/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
stty: 'standard input': Inappropriate ioctl for device
[23:56:17] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:56:21] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[23:56:43] Starting KUnit Kernel (1/1)...
[23:56:43] ============================================================
[23:56:43] ==================== xe_bo (2 subtests) ====================
[23:56:43] [SKIPPED] xe_ccs_migrate_kunit
[23:56:43] [SKIPPED] xe_bo_evict_kunit
[23:56:43] ===================== [SKIPPED] xe_bo ======================
[23:56:43] ================== xe_dma_buf (1 subtest) ==================
[23:56:43] [SKIPPED] xe_dma_buf_kunit
[23:56:43] =================== [SKIPPED] xe_dma_buf ===================
[23:56:43] ================== xe_migrate (1 subtest) ==================
[23:56:43] [SKIPPED] xe_migrate_sanity_kunit
[23:56:43] =================== [SKIPPED] xe_migrate ===================
[23:56:43] =================== xe_pci (2 subtests) ====================
[23:56:43] [PASSED] xe_gmdid_graphics_ip
[23:56:43] [PASSED] xe_gmdid_media_ip
[23:56:43] ===================== [PASSED] xe_pci ======================
[23:56:43] ==================== xe_rtp (1 subtest) ====================
[23:56:43] ================== xe_rtp_process_tests  ===================
[23:56:43] [PASSED] coalesce-same-reg
[23:56:43] [PASSED] no-match-no-add
[23:56:43] [PASSED] no-match-no-add-multiple-rules
[23:56:43] [PASSED] two-regs-two-entries
[23:56:43] [PASSED] clr-one-set-other
[23:56:43] [PASSED] set-field
[23:56:43] [PASSED] conflict-duplicate
[23:56:43] [PASSED] conflict-not-disjoint
[23:56:43] [PASSED] conflict-reg-type
[23:56:43] ============== [PASSED] xe_rtp_process_tests ===============
[23:56:43] ===================== [PASSED] xe_rtp ======================
[23:56:43] ==================== xe_wa (1 subtest) =====================
[23:56:43] ======================== xe_wa_gt  =========================
[23:56:43] [PASSED] TIGERLAKE (B0)
[23:56:43] [PASSED] DG1 (A0)
[23:56:43] [PASSED] DG1 (B0)
[23:56:43] [PASSED] ALDERLAKE_S (A0)
[23:56:43] [PASSED] ALDERLAKE_S (B0)
[23:56:43] [PASSED] ALDERLAKE_S (C0)
[23:56:43] [PASSED] ALDERLAKE_S (D0)
[23:56:43] [PASSED] DG2_G10 (A0)
[23:56:43] [PASSED] DG2_G10 (A1)
[23:56:43] [PASSED] DG2_G10 (B0)
[23:56:43] [PASSED] DG2_G10 (C0)
[23:56:43] [PASSED] DG2_G11 (A0)
[23:56:43] [PASSED] DG2_G11 (B0)
[23:56:43] [PASSED] DG2_G11 (B1)
[23:56:43] [PASSED] DG2_G12 (A0)
[23:56:43] [PASSED] DG2_G12 (A1)
[23:56:43] [PASSED] PVC (B0)
[23:56:43] [PASSED] PVC (B1)
[23:56:43] [PASSED] PVC (C0)
[23:56:43] ==================== [PASSED] xe_wa_gt =====================
[23:56:43] ====================== [PASSED] xe_wa ======================
[23:56:43] ============================================================
[23:56:43] Testing complete. Ran 34 tests: passed: 30, skipped: 4
[23:56:43] Elapsed time: 26.361s total, 4.245s configuring, 21.945s building, 0.138s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[23:56:43] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:56:45] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[23:57:03] Starting KUnit Kernel (1/1)...
[23:57:03] ============================================================
[23:57:04] ============ drm_test_pick_cmdline (2 subtests) ============
[23:57:04] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[23:57:04] =============== drm_test_pick_cmdline_named  ===============
[23:57:04] [PASSED] NTSC
[23:57:04] [PASSED] NTSC-J
[23:57:04] [PASSED] PAL
[23:57:04] [PASSED] PAL-M
[23:57:04] =========== [PASSED] drm_test_pick_cmdline_named ===========
[23:57:04] ============== [PASSED] drm_test_pick_cmdline ==============
[23:57:04] ================== drm_buddy (6 subtests) ==================
[23:57:04] [PASSED] drm_test_buddy_alloc_limit
[23:57:04] [PASSED] drm_test_buddy_alloc_range
[23:57:04] [PASSED] drm_test_buddy_alloc_optimistic
[23:57:04] [PASSED] drm_test_buddy_alloc_pessimistic
[23:57:04] [PASSED] drm_test_buddy_alloc_smoke
[23:57:04] [PASSED] drm_test_buddy_alloc_pathological
[23:57:04] ==================== [PASSED] drm_buddy ====================
[23:57:04] ============= drm_cmdline_parser (40 subtests) =============
[23:57:04] [PASSED] drm_test_cmdline_force_d_only
[23:57:04] [PASSED] drm_test_cmdline_force_D_only_dvi
[23:57:04] [PASSED] drm_test_cmdline_force_D_only_hdmi
[23:57:04] [PASSED] drm_test_cmdline_force_D_only_not_digital
[23:57:04] [PASSED] drm_test_cmdline_force_e_only
[23:57:04] [PASSED] drm_test_cmdline_res
[23:57:04] [PASSED] drm_test_cmdline_res_vesa
[23:57:04] [PASSED] drm_test_cmdline_res_vesa_rblank
[23:57:04] [PASSED] drm_test_cmdline_res_rblank
[23:57:04] [PASSED] drm_test_cmdline_res_bpp
[23:57:04] [PASSED] drm_test_cmdline_res_refresh
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[23:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[23:57:04] [PASSED] drm_test_cmdline_res_margins_force_on
[23:57:04] [PASSED] drm_test_cmdline_res_vesa_margins
[23:57:04] [PASSED] drm_test_cmdline_name
[23:57:04] [PASSED] drm_test_cmdline_name_bpp
[23:57:04] [PASSED] drm_test_cmdline_name_option
[23:57:04] [PASSED] drm_test_cmdline_name_bpp_option
[23:57:04] [PASSED] drm_test_cmdline_rotate_0
[23:57:04] [PASSED] drm_test_cmdline_rotate_90
[23:57:04] [PASSED] drm_test_cmdline_rotate_180
[23:57:04] [PASSED] drm_test_cmdline_rotate_270
[23:57:04] [PASSED] drm_test_cmdline_hmirror
[23:57:04] [PASSED] drm_test_cmdline_vmirror
[23:57:04] [PASSED] drm_test_cmdline_margin_options
[23:57:04] [PASSED] drm_test_cmdline_multiple_options
[23:57:04] [PASSED] drm_test_cmdline_bpp_extra_and_option
[23:57:04] [PASSED] drm_test_cmdline_extra_and_option
[23:57:04] [PASSED] drm_test_cmdline_freestanding_options
[23:57:04] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[23:57:04] [PASSED] drm_test_cmdline_panel_orientation
[23:57:04] ================ drm_test_cmdline_invalid  =================
[23:57:04] [PASSED] margin_only
[23:57:04] [PASSED] interlace_only
[23:57:04] [PASSED] res_missing_x
[23:57:04] [PASSED] res_missing_y
[23:57:04] [PASSED] res_bad_y
[23:57:04] [PASSED] res_missing_y_bpp
[23:57:04] [PASSED] res_bad_bpp
[23:57:04] [PASSED] res_bad_refresh
[23:57:04] [PASSED] res_bpp_refresh_force_on_off
[23:57:04] [PASSED] res_invalid_mode
[23:57:04] [PASSED] res_bpp_wrong_place_mode
[23:57:04] [PASSED] name_bpp_refresh
[23:57:04] [PASSED] name_refresh
[23:57:04] [PASSED] name_refresh_wrong_mode
[23:57:04] [PASSED] name_refresh_invalid_mode
[23:57:04] [PASSED] rotate_multiple
[23:57:04] [PASSED] rotate_invalid_val
[23:57:04] [PASSED] rotate_truncated
[23:57:04] [PASSED] invalid_option
[23:57:04] [PASSED] invalid_tv_option
[23:57:04] [PASSED] truncated_tv_option
[23:57:04] ============ [PASSED] drm_test_cmdline_invalid =============
[23:57:04] =============== drm_test_cmdline_tv_options  ===============
[23:57:04] [PASSED] NTSC
[23:57:04] [PASSED] NTSC_443
[23:57:04] [PASSED] NTSC_J
[23:57:04] [PASSED] PAL
[23:57:04] [PASSED] PAL_M
[23:57:04] [PASSED] PAL_N
[23:57:04] [PASSED] SECAM
[23:57:04] =========== [PASSED] drm_test_cmdline_tv_options ===========
[23:57:04] =============== [PASSED] drm_cmdline_parser ================
[23:57:04] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[23:57:04] ========== drm_test_get_tv_mode_from_name_valid  ===========
[23:57:04] [PASSED] NTSC
[23:57:04] [PASSED] NTSC-443
[23:57:04] [PASSED] NTSC-J
[23:57:04] [PASSED] PAL
[23:57:04] [PASSED] PAL-M
[23:57:04] [PASSED] PAL-N
[23:57:04] [PASSED] SECAM
[23:57:04] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[23:57:04] [PASSED] drm_test_get_tv_mode_from_name_truncated
[23:57:04] ============ [PASSED] drm_get_tv_mode_from_name ============
[23:57:04] ============= drm_damage_helper (21 subtests) ==============
[23:57:04] [PASSED] drm_test_damage_iter_no_damage
[23:57:04] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[23:57:04] [PASSED] drm_test_damage_iter_no_damage_src_moved
[23:57:04] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[23:57:04] [PASSED] drm_test_damage_iter_no_damage_not_visible
[23:57:04] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[23:57:04] [PASSED] drm_test_damage_iter_no_damage_no_fb
[23:57:04] [PASSED] drm_test_damage_iter_simple_damage
[23:57:04] [PASSED] drm_test_damage_iter_single_damage
[23:57:04] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[23:57:04] [PASSED] drm_test_damage_iter_single_damage_outside_src
[23:57:04] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[23:57:04] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[23:57:04] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[23:57:04] [PASSED] drm_test_damage_iter_single_damage_src_moved
[23:57:04] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[23:57:04] [PASSED] drm_test_damage_iter_damage
[23:57:04] [PASSED] drm_test_damage_iter_damage_one_intersect
[23:57:04] [PASSED] drm_test_damage_iter_damage_one_outside
[23:57:04] [PASSED] drm_test_damage_iter_damage_src_moved
[23:57:04] [PASSED] drm_test_damage_iter_damage_not_visible
[23:57:04] ================ [PASSED] drm_damage_helper ================
[23:57:04] ============== drm_dp_mst_helper (2 subtests) ==============
[23:57:04] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[23:57:04] [PASSED] Clock 154000 BPP 30 DSC disabled
[23:57:04] [PASSED] Clock 234000 BPP 30 DSC disabled
[23:57:04] [PASSED] Clock 297000 BPP 24 DSC disabled
[23:57:04] [PASSED] Clock 332880 BPP 24 DSC enabled
[23:57:04] [PASSED] Clock 324540 BPP 24 DSC enabled
[23:57:04] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[23:57:04] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[23:57:04] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[23:57:04] [PASSED] DP_POWER_UP_PHY with port number
[23:57:04] [PASSED] DP_POWER_DOWN_PHY with port number
[23:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[23:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[23:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[23:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[23:57:04] [PASSED] DP_QUERY_PAYLOAD with port number
[23:57:04] [PASSED] DP_QUERY_PAYLOAD with VCPI
[23:57:04] [PASSED] DP_REMOTE_DPCD_READ with port number
[23:57:04] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[23:57:04] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[23:57:04] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[23:57:04] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[23:57:04] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[23:57:04] [PASSED] DP_REMOTE_I2C_READ with port number
[23:57:04] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[23:57:04] [PASSED] DP_REMOTE_I2C_READ with transactions array
[23:57:04] [PASSED] DP_REMOTE_I2C_WRITE with port number
[23:57:04] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[23:57:04] [PASSED] DP_REMOTE_I2C_WRITE with data array
[23:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[23:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[23:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[23:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[23:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[23:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[23:57:04] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[23:57:04] ================ [PASSED] drm_dp_mst_helper ================
[23:57:04] =========== drm_format_helper_test (11 subtests) ===========
[23:57:04] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[23:57:04] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[23:57:04] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[23:57:04] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[23:57:04] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[23:57:04] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[23:57:04] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[23:57:04] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[23:57:04] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[23:57:04] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[23:57:04] ============== drm_test_fb_xrgb8888_to_mono  ===============
[23:57:04] [PASSED] single_pixel_source_buffer
[23:57:04] [PASSED] single_pixel_clip_rectangle
[23:57:04] [PASSED] well_known_colors
[23:57:04] [PASSED] destination_pitch
[23:57:04] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[23:57:04] ============= [PASSED] drm_format_helper_test ==============
[23:57:04] ================= drm_format (18 subtests) =================
[23:57:04] [PASSED] drm_test_format_block_width_invalid
[23:57:04] [PASSED] drm_test_format_block_width_one_plane
[23:57:04] [PASSED] drm_test_format_block_width_two_plane
[23:57:04] [PASSED] drm_test_format_block_width_three_plane
[23:57:04] [PASSED] drm_test_format_block_width_tiled
[23:57:04] [PASSED] drm_test_format_block_height_invalid
[23:57:04] [PASSED] drm_test_format_block_height_one_plane
[23:57:04] [PASSED] drm_test_format_block_height_two_plane
[23:57:04] [PASSED] drm_test_format_block_height_three_plane
[23:57:04] [PASSED] drm_test_format_block_height_tiled
[23:57:04] [PASSED] drm_test_format_min_pitch_invalid
[23:57:04] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[23:57:04] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[23:57:04] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[23:57:04] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[23:57:04] [PASSED] drm_test_format_min_pitch_two_plane
[23:57:04] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[23:57:04] [PASSED] drm_test_format_min_pitch_tiled
[23:57:04] =================== [PASSED] drm_format ====================
[23:57:04] =============== drm_framebuffer (1 subtest) ================
[23:57:04] =============== drm_test_framebuffer_create  ===============
[23:57:04] [PASSED] ABGR8888 normal sizes
[23:57:04] [PASSED] ABGR8888 max sizes
[23:57:04] [PASSED] ABGR8888 pitch greater than min required
[23:57:04] [PASSED] ABGR8888 pitch less than min required
[23:57:04] [PASSED] ABGR8888 Invalid width
[23:57:04] [PASSED] ABGR8888 Invalid buffer handle
[23:57:04] [PASSED] No pixel format
[23:57:04] [PASSED] ABGR8888 Width 0
[23:57:04] [PASSED] ABGR8888 Height 0
[23:57:04] [PASSED] ABGR8888 Out of bound height * pitch combination
[23:57:04] [PASSED] ABGR8888 Large buffer offset
[23:57:04] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[23:57:04] [PASSED] ABGR8888 Valid buffer modifier
[23:57:04] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[23:57:04] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[23:57:04] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[23:57:04] [PASSED] NV12 Normal sizes
[23:57:04] [PASSED] NV12 Max sizes
[23:57:04] [PASSED] NV12 Invalid pitch
[23:57:04] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[23:57:04] [PASSED] NV12 different  modifier per-plane
[23:57:04] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[23:57:04] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[23:57:04] [PASSED] NV12 Modifier for inexistent plane
[23:57:04] [PASSED] NV12 Handle for inexistent plane
[23:57:04] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[23:57:04] [PASSED] YVU420 Normal sizes
[23:57:04] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[23:57:04] [PASSED] YVU420 Max sizes
[23:57:04] [PASSED] YVU420 Invalid pitch
[23:57:04] [PASSED] YVU420 Different pitches
[23:57:04] [PASSED] YVU420 Different buffer offsets/pitches
[23:57:04] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[23:57:04] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[23:57:04] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[23:57:04] [PASSED] YVU420 Valid modifier
[23:57:04] [PASSED] YVU420 Different modifiers per plane
[23:57:04] [PASSED] YVU420 Modifier for inexistent plane
[23:57:04] [PASSED] X0L2 Normal sizes
[23:57:04] [PASSED] X0L2 Max sizes
[23:57:04] [PASSED] X0L2 Invalid pitch
[23:57:04] [PASSED] X0L2 Pitch greater than minimum required
stty: 'standard input': Inappropriate ioctl for device
[23:57:04] [PASSED] X0L2 Handle for inexistent plane
[23:57:04] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[23:57:04] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[23:57:04] [PASSED] X0L2 Valid modifier
[23:57:04] [PASSED] X0L2 Modifier for inexistent plane
[23:57:04] =========== [PASSED] drm_test_framebuffer_create ===========
[23:57:04] ================= [PASSED] drm_framebuffer =================
[23:57:04] =============== drm-test-managed (1 subtest) ===============
[23:57:04] [PASSED] drm_test_managed_run_action
[23:57:04] ================ [PASSED] drm-test-managed =================
[23:57:04] =================== drm_mm (19 subtests) ===================
[23:57:04] [PASSED] drm_test_mm_init
[23:57:04] [PASSED] drm_test_mm_debug
[23:57:14] [PASSED] drm_test_mm_reserve
[23:57:24] [PASSED] drm_test_mm_insert
[23:57:24] [PASSED] drm_test_mm_replace
[23:57:24] [PASSED] drm_test_mm_insert_range
[23:57:24] [PASSED] drm_test_mm_frag
[23:57:24] [PASSED] drm_test_mm_align
[23:57:24] [PASSED] drm_test_mm_align32
[23:57:25] [PASSED] drm_test_mm_align64
[23:57:25] [PASSED] drm_test_mm_evict
[23:57:25] [PASSED] drm_test_mm_evict_range
[23:57:25] [PASSED] drm_test_mm_topdown
[23:57:25] [PASSED] drm_test_mm_bottomup
[23:57:25] [PASSED] drm_test_mm_lowest
[23:57:25] [PASSED] drm_test_mm_highest
[23:57:26] [PASSED] drm_test_mm_color
[23:57:26] [PASSED] drm_test_mm_color_evict
[23:57:26] [PASSED] drm_test_mm_color_evict_range
[23:57:26] ===================== [PASSED] drm_mm ======================
[23:57:26] ============= drm_modes_analog_tv (4 subtests) =============
[23:57:26] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[23:57:26] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[23:57:26] [PASSED] drm_test_modes_analog_tv_pal_576i
[23:57:26] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[23:57:26] =============== [PASSED] drm_modes_analog_tv ===============
[23:57:26] ============== drm_plane_helper (2 subtests) ===============
[23:57:26] =============== drm_test_check_plane_state  ================
[23:57:26] [PASSED] clipping_simple
[23:57:26] [PASSED] clipping_rotate_reflect
[23:57:26] [PASSED] positioning_simple
[23:57:26] [PASSED] upscaling
[23:57:26] [PASSED] downscaling
[23:57:26] [PASSED] rounding1
[23:57:26] [PASSED] rounding2
[23:57:26] [PASSED] rounding3
[23:57:26] [PASSED] rounding4
[23:57:26] =========== [PASSED] drm_test_check_plane_state ============
[23:57:26] =========== drm_test_check_invalid_plane_state  ============
[23:57:26] [PASSED] positioning_invalid
[23:57:26] [PASSED] upscaling_invalid
[23:57:26] [PASSED] downscaling_invalid
[23:57:26] ======= [PASSED] drm_test_check_invalid_plane_state ========
[23:57:26] ================ [PASSED] drm_plane_helper =================
[23:57:26] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[23:57:26] ====== drm_test_connector_helper_tv_get_modes_check  =======
[23:57:26] [PASSED] None
[23:57:26] [PASSED] PAL
[23:57:26] [PASSED] NTSC
[23:57:26] [PASSED] Both, NTSC Default
[23:57:26] [PASSED] Both, PAL Default
[23:57:26] [PASSED] Both, NTSC Default, with PAL on command-line
[23:57:26] [PASSED] Both, PAL Default, with NTSC on command-line
[23:57:26] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[23:57:26] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[23:57:26] ================== drm_rect (9 subtests) ===================
[23:57:26] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[23:57:26] [PASSED] drm_test_rect_clip_scaled_not_clipped
[23:57:26] [PASSED] drm_test_rect_clip_scaled_clipped
[23:57:26] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[23:57:26] ================= drm_test_rect_intersect  =================
[23:57:26] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[23:57:26] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[23:57:26] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[23:57:26] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[23:57:26] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[23:57:26] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[23:57:26] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[23:57:26] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[23:57:26] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[23:57:26] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[23:57:26] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[23:57:26] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[23:57:26] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[23:57:26] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[23:57:26] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[23:57:26] ============= [PASSED] drm_test_rect_intersect =============
[23:57:26] ================ drm_test_rect_calc_hscale  ================
[23:57:26] [PASSED] normal use
[23:57:26] [PASSED] out of max range
[23:57:26] [PASSED] out of min range
[23:57:26] [PASSED] zero dst
[23:57:26] [PASSED] negative src
[23:57:26] [PASSED] negative dst
[23:57:26] ============ [PASSED] drm_test_rect_calc_hscale ============
[23:57:26] ================ drm_test_rect_calc_vscale  ================
[23:57:26] [PASSED] normal use
[23:57:26] [PASSED] out of max range
[23:57:26] [PASSED] out of min range
[23:57:26] [PASSED] zero dst
[23:57:26] [PASSED] negative src
[23:57:27] [PASSED] negative dst
[23:57:27] ============ [PASSED] drm_test_rect_calc_vscale ============
[23:57:27] ================== drm_test_rect_rotate  ===================
[23:57:27] [PASSED] reflect-x
[23:57:27] [PASSED] reflect-y
[23:57:27] [PASSED] rotate-0
[23:57:27] [PASSED] rotate-90
[23:57:27] [PASSED] rotate-180
[23:57:27] [PASSED] rotate-270
[23:57:27] ============== [PASSED] drm_test_rect_rotate ===============
[23:57:27] ================ drm_test_rect_rotate_inv  =================
[23:57:27] [PASSED] reflect-x
[23:57:27] [PASSED] reflect-y
[23:57:27] [PASSED] rotate-0
[23:57:27] [PASSED] rotate-90
[23:57:27] [PASSED] rotate-180
[23:57:27] [PASSED] rotate-270
[23:57:27] ============ [PASSED] drm_test_rect_rotate_inv =============
[23:57:27] ==================== [PASSED] drm_rect =====================
[23:57:27] ============================================================
[23:57:27] Testing complete. Ran 333 tests: passed: 333
[23:57:27] Elapsed time: 43.407s total, 1.705s configuring, 18.671s building, 23.028s running

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



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

* [Intel-xe] ✓ CI.Build: success for Utilize i915 display probing (rev2)
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (12 preceding siblings ...)
  2023-06-06 23:57 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
@ 2023-06-07  0:01 ` Patchwork
  2023-06-07  0:01 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-07  0:01 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

== Series Details ==

Series: Utilize i915 display probing (rev2)
URL   : https://patchwork.freedesktop.org/series/118675/
State : success

== Summary ==

+ trap cleanup EXIT
+ cd /kernel
+ git clone https://gitlab.freedesktop.org/drm/xe/ci.git .ci
Cloning into '.ci'...
++ date +%s
+ echo -e '\e[0Ksection_start:1686095856:build_x86_64[collapsed=true]\r\e[0KBuild x86-64'
+ mkdir -p build64
^[[0Ksection_start:1686095856:build_x86_64[collapsed=true]
^[[0KBuild x86-64
+ cat .ci/kernel/kconfig
+ [[ '' != '' ]]
+ make O=build64 olddefconfig
make[1]: Entering directory '/kernel/build64'
  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/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
make[1]: Leaving directory '/kernel/build64'
++ nproc
+ make O=build64 -j48
make[1]: Entering directory '/kernel/build64'
  GEN     Makefile
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.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
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_64.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
  UPD     include/generated/uapi/linux/version.h
  UPD     include/config/kernel.release
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  HOSTCC  arch/x86/tools/relocs_32.o
  WRAP    arch/x86/include/generated/asm/export.h
  HOSTCC  arch/x86/tools/relocs_64.o
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/irq_regs.h
  WRAP    arch/x86/include/generated/asm/kmap_size.h
  HOSTCC  arch/x86/tools/relocs_common.o
  UPD     include/generated/compile.h
  WRAP    arch/x86/include/generated/asm/local64.h
  WRAP    arch/x86/include/generated/asm/mmiowb.h
  WRAP    arch/x86/include/generated/asm/module.lds.h
  WRAP    arch/x86/include/generated/asm/rwonce.h
  WRAP    arch/x86/include/generated/asm/unaligned.h
  HOSTCC  scripts/unifdef
  UPD     include/generated/utsrelease.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  DESCEND objtool
  HOSTCC  /kernel/build64/tools/objtool/fixdep.o
  HOSTLD  /kernel/build64/tools/objtool/fixdep-in.o
  LINK    /kernel/build64/tools/objtool/fixdep
  INSTALL /kernel/build64/tools/objtool/libsubcmd/include/subcmd/exec-cmd.h
  INSTALL /kernel/build64/tools/objtool/libsubcmd/include/subcmd/help.h
  INSTALL /kernel/build64/tools/objtool/libsubcmd/include/subcmd/pager.h
  INSTALL /kernel/build64/tools/objtool/libsubcmd/include/subcmd/parse-options.h
  INSTALL /kernel/build64/tools/objtool/libsubcmd/include/subcmd/run-command.h
  CC      /kernel/build64/tools/objtool/libsubcmd/exec-cmd.o
  CC      /kernel/build64/tools/objtool/libsubcmd/help.o
  CC      /kernel/build64/tools/objtool/libsubcmd/pager.o
  CC      /kernel/build64/tools/objtool/libsubcmd/parse-options.o
  INSTALL libsubcmd_headers
  CC      /kernel/build64/tools/objtool/libsubcmd/run-command.o
  CC      /kernel/build64/tools/objtool/libsubcmd/sigchain.o
  CC      /kernel/build64/tools/objtool/libsubcmd/subcmd-config.o
  HOSTLD  arch/x86/tools/relocs
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  HDRINST usr/include/video/edid.h
  HDRINST usr/include/video/sisfb.h
  HDRINST usr/include/video/uvesafb.h
  HDRINST usr/include/drm/amdgpu_drm.h
  HDRINST usr/include/drm/i915_drm.h
  HDRINST usr/include/drm/qaic_accel.h
  HDRINST usr/include/drm/vgem_drm.h
  HDRINST usr/include/drm/virtgpu_drm.h
  HDRINST usr/include/drm/xe_drm.h
  HDRINST usr/include/drm/omap_drm.h
  HDRINST usr/include/drm/radeon_drm.h
  HDRINST usr/include/drm/tegra_drm.h
  HDRINST usr/include/drm/drm_mode.h
  HDRINST usr/include/drm/ivpu_accel.h
  HDRINST usr/include/drm/exynos_drm.h
  HDRINST usr/include/drm/drm_sarea.h
  HDRINST usr/include/drm/v3d_drm.h
  HDRINST usr/include/drm/qxl_drm.h
  HDRINST usr/include/drm/nouveau_drm.h
  HDRINST usr/include/drm/drm_fourcc.h
  HDRINST usr/include/drm/habanalabs_accel.h
  HDRINST usr/include/drm/vmwgfx_drm.h
  HDRINST usr/include/drm/msm_drm.h
  HDRINST usr/include/drm/etnaviv_drm.h
  HDRINST usr/include/drm/vc4_drm.h
  HDRINST usr/include/drm/panfrost_drm.h
  HDRINST usr/include/drm/lima_drm.h
  HDRINST usr/include/drm/drm.h
  HDRINST usr/include/drm/armada_drm.h
  HDRINST usr/include/mtd/inftl-user.h
  HDRINST usr/include/mtd/nftl-user.h
  HDRINST usr/include/mtd/mtd-user.h
  HDRINST usr/include/mtd/ubi-user.h
  HDRINST usr/include/mtd/mtd-abi.h
  HDRINST usr/include/xen/gntdev.h
  HDRINST usr/include/xen/gntalloc.h
  HDRINST usr/include/xen/evtchn.h
  HDRINST usr/include/xen/privcmd.h
  HDRINST usr/include/asm-generic/auxvec.h
  HDRINST usr/include/asm-generic/bitsperlong.h
  HDRINST usr/include/asm-generic/posix_types.h
  HDRINST usr/include/asm-generic/ioctls.h
  HDRINST usr/include/asm-generic/mman.h
  HDRINST usr/include/asm-generic/shmbuf.h
  HDRINST usr/include/asm-generic/bpf_perf_event.h
  HDRINST usr/include/asm-generic/types.h
  HDRINST usr/include/asm-generic/poll.h
  HDRINST usr/include/asm-generic/msgbuf.h
  HDRINST usr/include/asm-generic/swab.h
  HDRINST usr/include/asm-generic/statfs.h
  HDRINST usr/include/asm-generic/unistd.h
  HDRINST usr/include/asm-generic/resource.h
  HDRINST usr/include/asm-generic/hugetlb_encode.h
  HDRINST usr/include/asm-generic/param.h
  HDRINST usr/include/asm-generic/termbits-common.h
  HDRINST usr/include/asm-generic/sockios.h
  HDRINST usr/include/asm-generic/kvm_para.h
  HDRINST usr/include/asm-generic/errno.h
  HDRINST usr/include/asm-generic/termios.h
  HDRINST usr/include/asm-generic/mman-common.h
  HDRINST usr/include/asm-generic/ioctl.h
  HDRINST usr/include/asm-generic/socket.h
  HDRINST usr/include/asm-generic/signal-defs.h
  HDRINST usr/include/asm-generic/termbits.h
  HDRINST usr/include/asm-generic/int-ll64.h
  HDRINST usr/include/asm-generic/signal.h
  HDRINST usr/include/asm-generic/siginfo.h
  HDRINST usr/include/asm-generic/stat.h
  HDRINST usr/include/asm-generic/int-l64.h
  HDRINST usr/include/asm-generic/errno-base.h
  HDRINST usr/include/asm-generic/fcntl.h
  HDRINST usr/include/asm-generic/setup.h
  HDRINST usr/include/asm-generic/ipcbuf.h
  HDRINST usr/include/asm-generic/sembuf.h
  HDRINST usr/include/asm-generic/ucontext.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_cmds.h
  HDRINST usr/include/rdma/irdma-abi.h
  HDRINST usr/include/rdma/mana-abi.h
  HDRINST usr/include/rdma/hfi/hfi1_user.h
  HDRINST usr/include/rdma/hfi/hfi1_ioctl.h
  HDRINST usr/include/rdma/rdma_user_rxe.h
  HDRINST usr/include/rdma/rdma_user_ioctl.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_verbs.h
  HDRINST usr/include/rdma/bnxt_re-abi.h
  HDRINST usr/include/rdma/hns-abi.h
  HDRINST usr/include/rdma/qedr-abi.h
  HDRINST usr/include/rdma/ib_user_ioctl_cmds.h
  HDRINST usr/include/rdma/vmw_pvrdma-abi.h
  HDRINST usr/include/rdma/ib_user_sa.h
  HDRINST usr/include/rdma/ib_user_ioctl_verbs.h
  HDRINST usr/include/rdma/rvt-abi.h
  HDRINST usr/include/rdma/mlx5-abi.h
  HDRINST usr/include/rdma/rdma_netlink.h
  HDRINST usr/include/rdma/erdma-abi.h
  HDRINST usr/include/rdma/rdma_user_ioctl_cmds.h
  HDRINST usr/include/rdma/rdma_user_cm.h
  HDRINST usr/include/rdma/ib_user_verbs.h
  UPD     scripts/mod/devicetable-offsets.h
  HDRINST usr/include/rdma/efa-abi.h
  HDRINST usr/include/rdma/siw-abi.h
  HDRINST usr/include/rdma/mlx4-abi.h
  HDRINST usr/include/rdma/mthca-abi.h
  HDRINST usr/include/rdma/ib_user_mad.h
  HDRINST usr/include/rdma/ocrdma-abi.h
  HDRINST usr/include/rdma/cxgb4-abi.h
  HDRINST usr/include/misc/xilinx_sdfec.h
  HDRINST usr/include/misc/uacce/hisi_qm.h
  HDRINST usr/include/misc/uacce/uacce.h
  HDRINST usr/include/misc/cxl.h
  HDRINST usr/include/misc/ocxl.h
  HDRINST usr/include/misc/fastrpc.h
  HDRINST usr/include/misc/pvpanic.h
  HDRINST usr/include/linux/i8k.h
  HDRINST usr/include/linux/acct.h
  HDRINST usr/include/linux/atmmpc.h
  HDRINST usr/include/linux/fs.h
  HDRINST usr/include/linux/cifs/cifs_mount.h
  HDRINST usr/include/linux/cifs/cifs_netlink.h
  HDRINST usr/include/linux/if_packet.h
  HDRINST usr/include/linux/route.h
  HDRINST usr/include/linux/patchkey.h
  HDRINST usr/include/linux/tc_ematch/tc_em_cmp.h
  HDRINST usr/include/linux/tc_ematch/tc_em_ipt.h
  HDRINST usr/include/linux/tc_ematch/tc_em_meta.h
  HDRINST usr/include/linux/tc_ematch/tc_em_nbyte.h
  HDRINST usr/include/linux/tc_ematch/tc_em_text.h
  HDRINST usr/include/linux/virtio_pmem.h
  HDRINST usr/include/linux/rkisp1-config.h
  HDRINST usr/include/linux/vhost.h
  MKELF   scripts/mod/elfconfig.h
  HDRINST usr/include/linux/cec-funcs.h
  HDRINST usr/include/linux/ppdev.h
  HDRINST usr/include/linux/isdn/capicmd.h
  HDRINST usr/include/linux/virtio_fs.h
  HDRINST usr/include/linux/netfilter_ipv6.h
  HDRINST usr/include/linux/lirc.h
  HDRINST usr/include/linux/mroute6.h
  HDRINST usr/include/linux/nl80211-vnd-intel.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HDRINST usr/include/linux/ivtvfb.h
  HDRINST usr/include/linux/auxvec.h
  HDRINST usr/include/linux/dm-log-userspace.h
  HDRINST usr/include/linux/dccp.h
  HDRINST usr/include/linux/virtio_scmi.h
  HDRINST usr/include/linux/atmarp.h
  HDRINST usr/include/linux/arcfb.h
  HDRINST usr/include/linux/nbd-netlink.h
  HDRINST usr/include/linux/sched/types.h
  HDRINST usr/include/linux/tcp.h
  HDRINST usr/include/linux/neighbour.h
  HDRINST usr/include/linux/dlm_device.h
  HDRINST usr/include/linux/wmi.h
  HDRINST usr/include/linux/btrfs_tree.h
  HDRINST usr/include/linux/virtio_crypto.h
  HDRINST usr/include/linux/vbox_err.h
  HDRINST usr/include/linux/edd.h
  HDRINST usr/include/linux/loop.h
  HDRINST usr/include/linux/nvme_ioctl.h
  HDRINST usr/include/linux/mmtimer.h
  HDRINST usr/include/linux/if_pppol2tp.h
  HDRINST usr/include/linux/mtio.h
  HDRINST usr/include/linux/if_arcnet.h
  HDRINST usr/include/linux/romfs_fs.h
  HDRINST usr/include/linux/posix_types.h
  HDRINST usr/include/linux/rtc.h
  HDRINST usr/include/linux/landlock.h
  HDRINST usr/include/linux/gpio.h
  HDRINST usr/include/linux/selinux_netlink.h
  HDRINST usr/include/linux/pps.h
  HDRINST usr/include/linux/ndctl.h
  HDRINST usr/include/linux/virtio_gpu.h
  HDRINST usr/include/linux/android/binderfs.h
  HDRINST usr/include/linux/android/binder.h
  HDRINST usr/include/linux/virtio_vsock.h
  HDRINST usr/include/linux/sound.h
  HDRINST usr/include/linux/vtpm_proxy.h
  HDRINST usr/include/linux/nfs_fs.h
  HDRINST usr/include/linux/elf-fdpic.h
  HDRINST usr/include/linux/adfs_fs.h
  HDRINST usr/include/linux/target_core_user.h
  HDRINST usr/include/linux/netlink_diag.h
  HDRINST usr/include/linux/const.h
  HDRINST usr/include/linux/firewire-cdev.h
  HDRINST usr/include/linux/vdpa.h
  HDRINST usr/include/linux/if_infiniband.h
  HDRINST usr/include/linux/serial.h
  HDRINST usr/include/linux/iio/types.h
  HDRINST usr/include/linux/iio/buffer.h
  HDRINST usr/include/linux/iio/events.h
  HDRINST usr/include/linux/baycom.h
  HDRINST usr/include/linux/major.h
  HDRINST usr/include/linux/atmppp.h
  HDRINST usr/include/linux/ipv6_route.h
  HDRINST usr/include/linux/spi/spidev.h
  HDRINST usr/include/linux/spi/spi.h
  HDRINST usr/include/linux/virtio_ring.h
  HDRINST usr/include/linux/hdlc/ioctl.h
  HDRINST usr/include/linux/remoteproc_cdev.h
  HDRINST usr/include/linux/hyperv.h
  HDRINST usr/include/linux/rpl_iptunnel.h
  HDRINST usr/include/linux/sync_file.h
  HDRINST usr/include/linux/igmp.h
  HDRINST usr/include/linux/v4l2-dv-timings.h
  HDRINST usr/include/linux/virtio_i2c.h
  HDRINST usr/include/linux/xfrm.h
  HDRINST usr/include/linux/capability.h
  HDRINST usr/include/linux/gtp.h
  HDRINST usr/include/linux/xdp_diag.h
  HDRINST usr/include/linux/pkt_cls.h
  HDRINST usr/include/linux/suspend_ioctls.h
  HDRINST usr/include/linux/vt.h
  HDRINST usr/include/linux/loadpin.h
  HDRINST usr/include/linux/dlm_plock.h
  HDRINST usr/include/linux/fb.h
  HDRINST usr/include/linux/max2175.h
  HDRINST usr/include/linux/sunrpc/debug.h
  HDRINST usr/include/linux/gsmmux.h
  HDRINST usr/include/linux/watchdog.h
  HDRINST usr/include/linux/vhost_types.h
  HDRINST usr/include/linux/vduse.h
  HDRINST usr/include/linux/ila.h
  HDRINST usr/include/linux/tdx-guest.h
  HDRINST usr/include/linux/close_range.h
  HDRINST usr/include/linux/ivtv.h
  HDRINST usr/include/linux/cryptouser.h
  HDRINST usr/include/linux/netfilter/xt_string.h
  HDRINST usr/include/linux/netfilter/nfnetlink_compat.h
  HDRINST usr/include/linux/netfilter/nf_nat.h
  HDRINST usr/include/linux/netfilter/xt_recent.h
  HDRINST usr/include/linux/netfilter/xt_addrtype.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tcp.h
  HDRINST usr/include/linux/netfilter/xt_MARK.h
  HDRINST usr/include/linux/netfilter/xt_SYNPROXY.h
  HDRINST usr/include/linux/netfilter/xt_multiport.h
  HDRINST usr/include/linux/netfilter/nfnetlink.h
  HDRINST usr/include/linux/netfilter/xt_cgroup.h
  HDRINST usr/include/linux/netfilter/nf_synproxy.h
  HDRINST usr/include/linux/netfilter/xt_TCPOPTSTRIP.h
  HDRINST usr/include/linux/netfilter/nfnetlink_log.h
  HDRINST usr/include/linux/netfilter/xt_TPROXY.h
  HDRINST usr/include/linux/netfilter/xt_u32.h
  HDRINST usr/include/linux/netfilter/nfnetlink_osf.h
  HDRINST usr/include/linux/netfilter/xt_ecn.h
  HDRINST usr/include/linux/netfilter/xt_esp.h
  HDRINST usr/include/linux/netfilter/nfnetlink_hook.h
  HDRINST usr/include/linux/netfilter/xt_mac.h
  HDRINST usr/include/linux/netfilter/xt_comment.h
  HDRINST usr/include/linux/netfilter/xt_NFQUEUE.h
  HDRINST usr/include/linux/netfilter/xt_osf.h
  HDRINST usr/include/linux/netfilter/xt_hashlimit.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_sctp.h
  HDRINST usr/include/linux/netfilter/xt_socket.h
  HDRINST usr/include/linux/netfilter/xt_connmark.h
  HDRINST usr/include/linux/netfilter/xt_sctp.h
  HDRINST usr/include/linux/netfilter/xt_tcpudp.h
  HDRINST usr/include/linux/netfilter/xt_DSCP.h
  HDRINST usr/include/linux/netfilter/xt_time.h
  HDRINST usr/include/linux/netfilter/xt_IDLETIMER.h
  HDRINST usr/include/linux/netfilter/xt_policy.h
  HDRINST usr/include/linux/netfilter/xt_rpfilter.h
  HDRINST usr/include/linux/netfilter/xt_nfacct.h
  HDRINST usr/include/linux/netfilter/xt_SECMARK.h
  HDRINST usr/include/linux/netfilter/xt_length.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cthelper.h
  HDRINST usr/include/linux/netfilter/xt_quota.h
  HDRINST usr/include/linux/netfilter/xt_CLASSIFY.h
  HDRINST usr/include/linux/netfilter/xt_ipcomp.h
  HDRINST usr/include/linux/netfilter/xt_iprange.h
  HDRINST usr/include/linux/netfilter/xt_bpf.h
  HDRINST usr/include/linux/netfilter/xt_LOG.h
  HDRINST usr/include/linux/netfilter/xt_rateest.h
  HDRINST usr/include/linux/netfilter/xt_CONNSECMARK.h
  HDRINST usr/include/linux/netfilter/xt_HMARK.h
  HDRINST usr/include/linux/netfilter/xt_CONNMARK.h
  HDRINST usr/include/linux/netfilter/xt_pkttype.h
  HDRINST usr/include/linux/netfilter/xt_ipvs.h
  HDRINST usr/include/linux/netfilter/xt_devgroup.h
  HDRINST usr/include/linux/netfilter/xt_AUDIT.h
  HDRINST usr/include/linux/netfilter/xt_realm.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_common.h
  HDRINST usr/include/linux/netfilter/xt_set.h
  HDRINST usr/include/linux/netfilter/xt_LED.h
  HDRINST usr/include/linux/netfilter/xt_connlabel.h
  HDRINST usr/include/linux/netfilter/xt_owner.h
  HDRINST usr/include/linux/netfilter/xt_dccp.h
  HDRINST usr/include/linux/netfilter/xt_limit.h
  HDRINST usr/include/linux/netfilter/xt_conntrack.h
  HDRINST usr/include/linux/netfilter/xt_TEE.h
  HDRINST usr/include/linux/netfilter/xt_RATEEST.h
  HDRINST usr/include/linux/netfilter/xt_connlimit.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_list.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_hash.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_bitmap.h
  HDRINST usr/include/linux/netfilter/x_tables.h
  HDRINST usr/include/linux/netfilter/xt_dscp.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_ftp.h
  HDRINST usr/include/linux/netfilter/xt_cluster.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tuple_common.h
  HDRINST usr/include/linux/netfilter/nf_log.h
  HDRINST usr/include/linux/netfilter/xt_tcpmss.h
  HDRINST usr/include/linux/netfilter/xt_NFLOG.h
  HDRINST usr/include/linux/netfilter/xt_l2tp.h
  HDRINST usr/include/linux/netfilter/xt_helper.h
  HDRINST usr/include/linux/netfilter/xt_statistic.h
  HDRINST usr/include/linux/netfilter/nfnetlink_queue.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cttimeout.h
  HDRINST usr/include/linux/netfilter/xt_CT.h
  HDRINST usr/include/linux/netfilter/xt_CHECKSUM.h
  HDRINST usr/include/linux/netfilter/xt_connbytes.h
  HDRINST usr/include/linux/netfilter/xt_state.h
  HDRINST usr/include/linux/netfilter/nf_tables.h
  HDRINST usr/include/linux/netfilter/xt_mark.h
  HDRINST usr/include/linux/netfilter/nf_tables_compat.h
  HDRINST usr/include/linux/netfilter/xt_cpu.h
  HDRINST usr/include/linux/netfilter/xt_physdev.h
  HDRINST usr/include/linux/netfilter/nfnetlink_conntrack.h
  HDRINST usr/include/linux/netfilter/nfnetlink_acct.h
  HDRINST usr/include/linux/netfilter/xt_TCPMSS.h
  HDRINST usr/include/linux/tty_flags.h
  HDRINST usr/include/linux/if_phonet.h
  HDRINST usr/include/linux/elf-em.h
  HDRINST usr/include/linux/vm_sockets.h
  HDRINST usr/include/linux/dlmconstants.h
  HDRINST usr/include/linux/bsg.h
  HDRINST usr/include/linux/matroxfb.h
  HDRINST usr/include/linux/sysctl.h
  HDRINST usr/include/linux/unix_diag.h
  HDRINST usr/include/linux/pcitest.h
  HDRINST usr/include/linux/mman.h
  HDRINST usr/include/linux/if_plip.h
  HDRINST usr/include/linux/virtio_balloon.h
  HDRINST usr/include/linux/pidfd.h
  HDRINST usr/include/linux/f2fs.h
  HDRINST usr/include/linux/x25.h
  HDRINST usr/include/linux/if_cablemodem.h
  HDRINST usr/include/linux/utsname.h
  HDRINST usr/include/linux/counter.h
  HDRINST usr/include/linux/atm_tcp.h
  HDRINST usr/include/linux/atalk.h
  HDRINST usr/include/linux/virtio_rng.h
  HDRINST usr/include/linux/vboxguest.h
  HDRINST usr/include/linux/bpf_perf_event.h
  HDRINST usr/include/linux/ipmi_ssif_bmc.h
  HDRINST usr/include/linux/nfs_mount.h
  HDRINST usr/include/linux/sonet.h
  HDRINST usr/include/linux/netfilter.h
  HDRINST usr/include/linux/keyctl.h
  HDRINST usr/include/linux/nl80211.h
  HDRINST usr/include/linux/misc/bcm_vk.h
  HDRINST usr/include/linux/audit.h
  HDRINST usr/include/linux/tipc_config.h
  HDRINST usr/include/linux/tipc_sockets_diag.h
  HDRINST usr/include/linux/futex.h
  HDRINST usr/include/linux/sev-guest.h
  HDRINST usr/include/linux/ublk_cmd.h
  HDRINST usr/include/linux/types.h
  HDRINST usr/include/linux/virtio_input.h
  HDRINST usr/include/linux/if_slip.h
  HDRINST usr/include/linux/personality.h
  HDRINST usr/include/linux/poll.h
  HDRINST usr/include/linux/openat2.h
  HDRINST usr/include/linux/posix_acl.h
  HDRINST usr/include/linux/smc_diag.h
  HDRINST usr/include/linux/snmp.h
  HDRINST usr/include/linux/errqueue.h
  HDRINST usr/include/linux/if_tunnel.h
  HDRINST usr/include/linux/fanotify.h
  HDRINST usr/include/linux/kernel.h
  HDRINST usr/include/linux/rtnetlink.h
  HDRINST usr/include/linux/rpl.h
  HDRINST usr/include/linux/memfd.h
  HDRINST usr/include/linux/serial_core.h
  HDRINST usr/include/linux/dns_resolver.h
  HDRINST usr/include/linux/pr.h
  HDRINST usr/include/linux/atm_eni.h
  HDRINST usr/include/linux/lp.h
  HDRINST usr/include/linux/virtio_mem.h
  HDRINST usr/include/linux/ultrasound.h
  HDRINST usr/include/linux/sctp.h
  HDRINST usr/include/linux/uio.h
  HDRINST usr/include/linux/tcp_metrics.h
  HDRINST usr/include/linux/wwan.h
  HDRINST usr/include/linux/atmbr2684.h
  HDRINST usr/include/linux/in_route.h
  HDRINST usr/include/linux/qemu_fw_cfg.h
  HDRINST usr/include/linux/if_macsec.h
  HDRINST usr/include/linux/usb/charger.h
  HDRINST usr/include/linux/usb/g_uvc.h
  HDRINST usr/include/linux/usb/gadgetfs.h
  HDRINST usr/include/linux/usb/raw_gadget.h
  HDRINST usr/include/linux/usb/cdc-wdm.h
  HDRINST usr/include/linux/usb/g_printer.h
  HDRINST usr/include/linux/usb/midi.h
  HDRINST usr/include/linux/usb/tmc.h
  HDRINST usr/include/linux/usb/video.h
  HDRINST usr/include/linux/usb/functionfs.h
  HDRINST usr/include/linux/usb/audio.h
  HDRINST usr/include/linux/usb/ch11.h
  HDRINST usr/include/linux/usb/ch9.h
  HDRINST usr/include/linux/usb/cdc.h
  HDRINST usr/include/linux/jffs2.h
  HDRINST usr/include/linux/ax25.h
  HDRINST usr/include/linux/auto_fs.h
  HDRINST usr/include/linux/tiocl.h
  HDRINST usr/include/linux/scc.h
  HDRINST usr/include/linux/psci.h
  HDRINST usr/include/linux/swab.h
  HDRINST usr/include/linux/cec.h
  HDRINST usr/include/linux/kfd_ioctl.h
  HDRINST usr/include/linux/smc.h
  HDRINST usr/include/linux/qrtr.h
  HDRINST usr/include/linux/screen_info.h
  HDRINST usr/include/linux/nfsacl.h
  HDRINST usr/include/linux/seg6_hmac.h
  HDRINST usr/include/linux/gameport.h
  HDRINST usr/include/linux/wireless.h
  HDRINST usr/include/linux/fdreg.h
  HDRINST usr/include/linux/cciss_defs.h
  HDRINST usr/include/linux/serial_reg.h
  HDRINST usr/include/linux/perf_event.h
  HDRINST usr/include/linux/in6.h
  HDRINST usr/include/linux/hid.h
  HDRINST usr/include/linux/netlink.h
  HDRINST usr/include/linux/fuse.h
  HDRINST usr/include/linux/magic.h
  HDRINST usr/include/linux/ioam6_iptunnel.h
  HDRINST usr/include/linux/stm.h
  HDRINST usr/include/linux/vsockmon.h
  HDRINST usr/include/linux/seg6.h
  HDRINST usr/include/linux/idxd.h
  HDRINST usr/include/linux/nitro_enclaves.h
  HDRINST usr/include/linux/ptrace.h
  HDRINST usr/include/linux/ioam6_genl.h
  HDRINST usr/include/linux/qnx4_fs.h
  HDRINST usr/include/linux/fsl_mc.h
  HDRINST usr/include/linux/net_tstamp.h
  HDRINST usr/include/linux/msg.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_TTL.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ttl.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ah.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ECN.h
  HDRINST usr/include/linux/netfilter_ipv4/ip_tables.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ecn.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_REJECT.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_LOG.h
  HDRINST usr/include/linux/sem.h
  HDRINST usr/include/linux/net_namespace.h
  HDRINST usr/include/linux/radeonfb.h
  HDRINST usr/include/linux/tee.h
  HDRINST usr/include/linux/udp.h
  HDRINST usr/include/linux/virtio_bt.h
  HDRINST usr/include/linux/v4l2-subdev.h
  HDRINST usr/include/linux/posix_acl_xattr.h
  HDRINST usr/include/linux/v4l2-mediabus.h
  HDRINST usr/include/linux/atmapi.h
  HDRINST usr/include/linux/raid/md_p.h
  HDRINST usr/include/linux/raid/md_u.h
  HDRINST usr/include/linux/zorro_ids.h
  HDRINST usr/include/linux/nbd.h
  HDRINST usr/include/linux/isst_if.h
  HDRINST usr/include/linux/rxrpc.h
  HDRINST usr/include/linux/unistd.h
  HDRINST usr/include/linux/if_arp.h
  HDRINST usr/include/linux/atm_zatm.h
  HDRINST usr/include/linux/io_uring.h
  HDRINST usr/include/linux/if_fddi.h
  HDRINST usr/include/linux/bpqether.h
  HDRINST usr/include/linux/sysinfo.h
  HDRINST usr/include/linux/auto_dev-ioctl.h
  HDRINST usr/include/linux/nfs4_mount.h
  HDRINST usr/include/linux/keyboard.h
  HDRINST usr/include/linux/virtio_mmio.h
  HDRINST usr/include/linux/input.h
  HDRINST usr/include/linux/qnxtypes.h
  HDRINST usr/include/linux/mdio.h
  HDRINST usr/include/linux/lwtunnel.h
  HDRINST usr/include/linux/gfs2_ondisk.h
  HDRINST usr/include/linux/nfs4.h
  HDRINST usr/include/linux/ptp_clock.h
  HDRINST usr/include/linux/nubus.h
  HDRINST usr/include/linux/if_bonding.h
  HDRINST usr/include/linux/kcov.h
  HDRINST usr/include/linux/fadvise.h
  HDRINST usr/include/linux/taskstats.h
  HDRINST usr/include/linux/veth.h
  HDRINST usr/include/linux/atm.h
  HDRINST usr/include/linux/ipmi.h
  HDRINST usr/include/linux/kdev_t.h
  HDRINST usr/include/linux/mount.h
  HDRINST usr/include/linux/shm.h
  HDRINST usr/include/linux/resource.h
  HDRINST usr/include/linux/prctl.h
  HDRINST usr/include/linux/watch_queue.h
  HDRINST usr/include/linux/sched.h
  HDRINST usr/include/linux/phonet.h
  HDRINST usr/include/linux/random.h
  HDRINST usr/include/linux/tty.h
  HDRINST usr/include/linux/apm_bios.h
  HDRINST usr/include/linux/fd.h
  HDRINST usr/include/linux/um_timetravel.h
  HDRINST usr/include/linux/tls.h
  HDRINST usr/include/linux/rpmsg_types.h
  HDRINST usr/include/linux/pfrut.h
  HDRINST usr/include/linux/mei.h
  HDRINST usr/include/linux/fsi.h
  HDRINST usr/include/linux/rds.h
  HDRINST usr/include/linux/if_x25.h
  HDRINST usr/include/linux/param.h
  HDRINST usr/include/linux/netdevice.h
  HDRINST usr/include/linux/binfmts.h
  HDRINST usr/include/linux/if_pppox.h
  HDRINST usr/include/linux/sockios.h
  HDRINST usr/include/linux/kcm.h
  HDRINST usr/include/linux/genwqe/genwqe_card.h
  HDRINST usr/include/linux/virtio_9p.h
  HDRINST usr/include/linux/if_tun.h
  HDRINST usr/include/linux/if_ether.h
  HDRINST usr/include/linux/kvm_para.h
  HDRINST usr/include/linux/kernel-page-flags.h
  HDRINST usr/include/linux/cdrom.h
  HDRINST usr/include/linux/un.h
  HDRINST usr/include/linux/module.h
  HDRINST usr/include/linux/mqueue.h
  HDRINST usr/include/linux/a.out.h
  HDRINST usr/include/linux/input-event-codes.h
  HDRINST usr/include/linux/coda.h
  HDRINST usr/include/linux/rio_mport_cdev.h
  HDRINST usr/include/linux/ipsec.h
  HDRINST usr/include/linux/blkpg.h
  HDRINST usr/include/linux/blkzoned.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arpreply.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_redirect.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nflog.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_802_3.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nat.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_m.h
  HDRINST usr/include/linux/netfilter_bridge/ebtables.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_vlan.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_limit.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_log.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_stp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_pkttype.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip6.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_t.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_among.h
  HDRINST usr/include/linux/reiserfs_fs.h
  HDRINST usr/include/linux/cciss_ioctl.h
  HDRINST usr/include/linux/fsmap.h
  HDRINST usr/include/linux/smiapp.h
  HDRINST usr/include/linux/switchtec_ioctl.h
  HDRINST usr/include/linux/atmdev.h
  HDRINST usr/include/linux/hpet.h
  HDRINST usr/include/linux/virtio_config.h
  HDRINST usr/include/linux/string.h
  HDRINST usr/include/linux/kfd_sysfs.h
  HDRINST usr/include/linux/inet_diag.h
  HDRINST usr/include/linux/netdev.h
  HDRINST usr/include/linux/xattr.h
  HDRINST usr/include/linux/iommufd.h
  HDRINST usr/include/linux/errno.h
  HDRINST usr/include/linux/icmp.h
  HDRINST usr/include/linux/i2o-dev.h
  HDRINST usr/include/linux/pg.h
  HDRINST usr/include/linux/if_bridge.h
  HDRINST usr/include/linux/thermal.h
  HDRINST usr/include/linux/uinput.h
  HDRINST usr/include/linux/dqblk_xfs.h
  HDRINST usr/include/linux/v4l2-common.h
  HDRINST usr/include/linux/nvram.h
  HDRINST usr/include/linux/if_vlan.h
  HDRINST usr/include/linux/uhid.h
  HDRINST usr/include/linux/omap3isp.h
  HDRINST usr/include/linux/rose.h
  HDRINST usr/include/linux/phantom.h
  HDRINST usr/include/linux/ipmi_msgdefs.h
  HDRINST usr/include/linux/bcm933xx_hcs.h
  HDRINST usr/include/linux/bpf.h
  HDRINST usr/include/linux/mempolicy.h
  HDRINST usr/include/linux/efs_fs_sb.h
  HDRINST usr/include/linux/nexthop.h
  HDRINST usr/include/linux/net_dropmon.h
  HDRINST usr/include/linux/surface_aggregator/cdev.h
  HDRINST usr/include/linux/surface_aggregator/dtx.h
  LD      /kernel/build64/tools/objtool/libsubcmd/libsubcmd-in.o
  HDRINST usr/include/linux/net.h
  HDRINST usr/include/linux/mii.h
  HDRINST usr/include/linux/cm4000_cs.h
  HDRINST usr/include/linux/virtio_pcidev.h
  HDRINST usr/include/linux/termios.h
  HDRINST usr/include/linux/cgroupstats.h
  HDRINST usr/include/linux/mpls.h
  HDRINST usr/include/linux/iommu.h
  HDRINST usr/include/linux/toshiba.h
  HDRINST usr/include/linux/virtio_scsi.h
  HDRINST usr/include/linux/zorro.h
  HDRINST usr/include/linux/chio.h
  HDRINST usr/include/linux/pkt_sched.h
  HDRINST usr/include/linux/cramfs_fs.h
  HDRINST usr/include/linux/nfs3.h
  HDRINST usr/include/linux/vfio_ccw.h
  HDRINST usr/include/linux/atm_nicstar.h
  HDRINST usr/include/linux/ncsi.h
  HDRINST usr/include/linux/virtio_net.h
  HDRINST usr/include/linux/ioctl.h
  HDRINST usr/include/linux/stddef.h
  HDRINST usr/include/linux/limits.h
  HDRINST usr/include/linux/ipmi_bmc.h
  HDRINST usr/include/linux/netfilter_arp.h
  HDRINST usr/include/linux/if_addr.h
  HDRINST usr/include/linux/rpmsg.h
  HDRINST usr/include/linux/media-bus-format.h
  HDRINST usr/include/linux/kernelcapi.h
  HDRINST usr/include/linux/ppp_defs.h
  HDRINST usr/include/linux/ethtool.h
  HDRINST usr/include/linux/aspeed-video.h
  AR      /kernel/build64/tools/objtool/libsubcmd/libsubcmd.a
  HDRINST usr/include/linux/hdlc.h
  HDRINST usr/include/linux/fscrypt.h
  HDRINST usr/include/linux/batadv_packet.h
  HDRINST usr/include/linux/uuid.h
  HDRINST usr/include/linux/capi.h
  HDRINST usr/include/linux/mptcp.h
  HDRINST usr/include/linux/hidraw.h
  HDRINST usr/include/linux/virtio_console.h
  HDRINST usr/include/linux/irqnr.h
  HDRINST usr/include/linux/coresight-stm.h
  HDRINST usr/include/linux/cxl_mem.h
  HDRINST usr/include/linux/iso_fs.h
  HDRINST usr/include/linux/virtio_blk.h
  HDRINST usr/include/linux/udf_fs_i.h
  HDRINST usr/include/linux/coff.h
  HDRINST usr/include/linux/dma-buf.h
  HDRINST usr/include/linux/ife.h
  HDRINST usr/include/linux/agpgart.h
  HDRINST usr/include/linux/socket.h
  HDRINST usr/include/linux/nilfs2_ondisk.h
  HDRINST usr/include/linux/connector.h
  HDRINST usr/include/linux/auto_fs4.h
  HDRINST usr/include/linux/bt-bmc.h
  HDRINST usr/include/linux/map_to_7segment.h
  HDRINST usr/include/linux/tc_act/tc_skbedit.h
  HDRINST usr/include/linux/tc_act/tc_ctinfo.h
  HDRINST usr/include/linux/tc_act/tc_defact.h
  HDRINST usr/include/linux/tc_act/tc_gact.h
  HDRINST usr/include/linux/tc_act/tc_vlan.h
  HDRINST usr/include/linux/tc_act/tc_skbmod.h
  HDRINST usr/include/linux/tc_act/tc_sample.h
  HDRINST usr/include/linux/tc_act/tc_tunnel_key.h
  HDRINST usr/include/linux/tc_act/tc_gate.h
  HDRINST usr/include/linux/tc_act/tc_mirred.h
  HDRINST usr/include/linux/tc_act/tc_nat.h
  HDRINST usr/include/linux/tc_act/tc_csum.h
  HDRINST usr/include/linux/tc_act/tc_connmark.h
  HDRINST usr/include/linux/tc_act/tc_ife.h
  HDRINST usr/include/linux/tc_act/tc_mpls.h
  HDRINST usr/include/linux/tc_act/tc_ct.h
  HDRINST usr/include/linux/tc_act/tc_pedit.h
  HDRINST usr/include/linux/tc_act/tc_bpf.h
  HDRINST usr/include/linux/tc_act/tc_ipt.h
  HDRINST usr/include/linux/netrom.h
  HDRINST usr/include/linux/joystick.h
  HDRINST usr/include/linux/falloc.h
  HDRINST usr/include/linux/cycx_cfm.h
  HDRINST usr/include/linux/omapfb.h
  HDRINST usr/include/linux/msdos_fs.h
  HDRINST usr/include/linux/virtio_types.h
  HDRINST usr/include/linux/mroute.h
  HDRINST usr/include/linux/psample.h
  HDRINST usr/include/linux/ipv6.h
  HDRINST usr/include/linux/dw100.h
  HDRINST usr/include/linux/psp-sev.h
  HDRINST usr/include/linux/vfio.h
  HDRINST usr/include/linux/if_ppp.h
  HDRINST usr/include/linux/byteorder/big_endian.h
  HDRINST usr/include/linux/byteorder/little_endian.h
  HDRINST usr/include/linux/comedi.h
  HDRINST usr/include/linux/scif_ioctl.h
  HDRINST usr/include/linux/timerfd.h
  HDRINST usr/include/linux/time_types.h
  HDRINST usr/include/linux/firewire-constants.h
  HDRINST usr/include/linux/virtio_snd.h
  HDRINST usr/include/linux/ppp-ioctl.h
  HDRINST usr/include/linux/fib_rules.h
  HDRINST usr/include/linux/gen_stats.h
  CC      /kernel/build64/tools/objtool/weak.o
  HDRINST usr/include/linux/virtio_iommu.h
  HDRINST usr/include/linux/genetlink.h
  CC      /kernel/build64/tools/objtool/check.o
  HDRINST usr/include/linux/uvcvideo.h
  CC      /kernel/build64/tools/objtool/special.o
  HDRINST usr/include/linux/pfkeyv2.h
  HDRINST usr/include/linux/soundcard.h
  CC      /kernel/build64/tools/objtool/builtin-check.o
  HDRINST usr/include/linux/times.h
  MKDIR   /kernel/build64/tools/objtool/arch/x86/
  CC      /kernel/build64/tools/objtool/elf.o
  HDRINST usr/include/linux/nfc.h
  HDRINST usr/include/linux/affs_hardblocks.h
  HDRINST usr/include/linux/nilfs2_api.h
  HDRINST usr/include/linux/rseq.h
  HDRINST usr/include/linux/caif/caif_socket.h
  CC      /kernel/build64/tools/objtool/objtool.o
  HDRINST usr/include/linux/caif/if_caif.h
  MKDIR   /kernel/build64/tools/objtool/arch/x86/lib/
  HDRINST usr/include/linux/i2c-dev.h
  CC      /kernel/build64/tools/objtool/orc_gen.o
  CC      /kernel/build64/tools/objtool/arch/x86/special.o
  HDRINST usr/include/linux/cuda.h
  CC      /kernel/build64/tools/objtool/orc_dump.o
  HDRINST usr/include/linux/cn_proc.h
  HDRINST usr/include/linux/parport.h
  GEN     /kernel/build64/tools/objtool/arch/x86/lib/inat-tables.c
  HDRINST usr/include/linux/v4l2-controls.h
  CC      /kernel/build64/tools/objtool/libstring.o
  HDRINST usr/include/linux/hsi/cs-protocol.h
  CC      /kernel/build64/tools/objtool/libctype.o
  HDRINST usr/include/linux/hsi/hsi_char.h
  CC      /kernel/build64/tools/objtool/str_error_r.o
  HDRINST usr/include/linux/seg6_genl.h
  HDRINST usr/include/linux/am437x-vpfe.h
  HDRINST usr/include/linux/amt.h
  CC      /kernel/build64/tools/objtool/librbtree.o
  HDRINST usr/include/linux/netconf.h
  HDRINST usr/include/linux/erspan.h
  HDRINST usr/include/linux/nsfs.h
  HDRINST usr/include/linux/xilinx-v4l2-controls.h
  HDRINST usr/include/linux/aspeed-p2a-ctrl.h
  HDRINST usr/include/linux/vfio_zdev.h
  HDRINST usr/include/linux/serio.h
  HDRINST usr/include/linux/acrn.h
  HDRINST usr/include/linux/nfs2.h
  HDRINST usr/include/linux/virtio_pci.h
  HDRINST usr/include/linux/ipc.h
  HDRINST usr/include/linux/ethtool_netlink.h
  HDRINST usr/include/linux/kd.h
  HDRINST usr/include/linux/elf.h
  HDRINST usr/include/linux/videodev2.h
  HDRINST usr/include/linux/if_alg.h
  HDRINST usr/include/linux/sonypi.h
  HDRINST usr/include/linux/fsverity.h
  HDRINST usr/include/linux/if.h
  HDRINST usr/include/linux/btrfs.h
  HDRINST usr/include/linux/vm_sockets_diag.h
  HDRINST usr/include/linux/netfilter_bridge.h
  HDRINST usr/include/linux/packet_diag.h
  HDRINST usr/include/linux/netfilter_ipv4.h
  HDRINST usr/include/linux/kvm.h
  HDRINST usr/include/linux/pci.h
  HDRINST usr/include/linux/if_addrlabel.h
  HDRINST usr/include/linux/hdlcdrv.h
  HDRINST usr/include/linux/cfm_bridge.h
  HDRINST usr/include/linux/fiemap.h
  HDRINST usr/include/linux/dm-ioctl.h
  HDRINST usr/include/linux/aspeed-lpc-ctrl.h
  HDRINST usr/include/linux/atmioc.h
  HDRINST usr/include/linux/dlm.h
  HDRINST usr/include/linux/pci_regs.h
  HDRINST usr/include/linux/cachefiles.h
  HDRINST usr/include/linux/membarrier.h
  HDRINST usr/include/linux/nfs_idmap.h
  HDRINST usr/include/linux/ip.h
  HDRINST usr/include/linux/atm_he.h
  HDRINST usr/include/linux/nfsd/export.h
  HDRINST usr/include/linux/nfsd/stats.h
  HDRINST usr/include/linux/nfsd/debug.h
  HDRINST usr/include/linux/nfsd/cld.h
  HDRINST usr/include/linux/ip_vs.h
  HDRINST usr/include/linux/vmcore.h
  HDRINST usr/include/linux/vbox_vmmdev_types.h
  HDRINST usr/include/linux/dvb/osd.h
  HDRINST usr/include/linux/dvb/dmx.h
  HDRINST usr/include/linux/dvb/net.h
  HDRINST usr/include/linux/dvb/frontend.h
  HDRINST usr/include/linux/dvb/ca.h
  HDRINST usr/include/linux/dvb/version.h
  CC      /kernel/build64/tools/objtool/arch/x86/decode.o
  HDRINST usr/include/linux/dvb/video.h
  HDRINST usr/include/linux/dvb/audio.h
  HDRINST usr/include/linux/nfs.h
  HDRINST usr/include/linux/if_link.h
  HDRINST usr/include/linux/wait.h
  HDRINST usr/include/linux/icmpv6.h
  HDRINST usr/include/linux/media.h
  HDRINST usr/include/linux/seg6_local.h
  HDRINST usr/include/linux/openvswitch.h
  HDRINST usr/include/linux/atmsap.h
  HDRINST usr/include/linux/bpfilter.h
  HDRINST usr/include/linux/fpga-dfl.h
  HDRINST usr/include/linux/userio.h
  HDRINST usr/include/linux/signal.h
  HDRINST usr/include/linux/map_to_14segment.h
  HDRINST usr/include/linux/hdreg.h
  HDRINST usr/include/linux/utime.h
  HDRINST usr/include/linux/usbdevice_fs.h
  HDRINST usr/include/linux/timex.h
  HDRINST usr/include/linux/if_fc.h
  HDRINST usr/include/linux/reiserfs_xattr.h
  HDRINST usr/include/linux/hw_breakpoint.h
  HDRINST usr/include/linux/quota.h
  HDRINST usr/include/linux/ioprio.h
  HDRINST usr/include/linux/eventpoll.h
  HDRINST usr/include/linux/atmclip.h
  HDRINST usr/include/linux/can.h
  HDRINST usr/include/linux/if_team.h
  HDRINST usr/include/linux/usbip.h
  HDRINST usr/include/linux/stat.h
  HDRINST usr/include/linux/fou.h
  HDRINST usr/include/linux/hash_info.h
  HDRINST usr/include/linux/ppp-comp.h
  HDRINST usr/include/linux/ip6_tunnel.h
  HDRINST usr/include/linux/tipc_netlink.h
  HDRINST usr/include/linux/in.h
  HDRINST usr/include/linux/wireguard.h
  HDRINST usr/include/linux/btf.h
  HDRINST usr/include/linux/batman_adv.h
  HDRINST usr/include/linux/fcntl.h
  HDRINST usr/include/linux/if_ltalk.h
  HDRINST usr/include/linux/i2c.h
  HDRINST usr/include/linux/atm_idt77105.h
  HDRINST usr/include/linux/kexec.h
  HDRINST usr/include/linux/arm_sdei.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6_tables.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ah.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_NPT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_rt.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_REJECT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_opts.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_srh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_LOG.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_mh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_HL.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_hl.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_frag.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h
  HDRINST usr/include/linux/minix_fs.h
  HDRINST usr/include/linux/aio_abi.h
  HDRINST usr/include/linux/pktcdvd.h
  HDRINST usr/include/linux/libc-compat.h
  HDRINST usr/include/linux/atmlec.h
  HDRINST usr/include/linux/signalfd.h
  HDRINST usr/include/linux/bpf_common.h
  HDRINST usr/include/linux/seg6_iptunnel.h
  HDRINST usr/include/linux/synclink.h
  HDRINST usr/include/linux/mpls_iptunnel.h
  HDRINST usr/include/linux/mctp.h
  HDRINST usr/include/linux/if_xdp.h
  HDRINST usr/include/linux/llc.h
  HDRINST usr/include/linux/atmsvc.h
  HDRINST usr/include/linux/sed-opal.h
  HDRINST usr/include/linux/sock_diag.h
  HDRINST usr/include/linux/time.h
  HDRINST usr/include/linux/securebits.h
  HDRINST usr/include/linux/fsl_hypervisor.h
  HDRINST usr/include/linux/if_hippi.h
  HDRINST usr/include/linux/dlm_netlink.h
  HDRINST usr/include/linux/seccomp.h
  HDRINST usr/include/linux/oom.h
  HDRINST usr/include/linux/filter.h
  HDRINST usr/include/linux/inotify.h
  HDRINST usr/include/linux/rfkill.h
  HDRINST usr/include/linux/reboot.h
  HDRINST usr/include/linux/can/vxcan.h
  HDRINST usr/include/linux/can/j1939.h
  HDRINST usr/include/linux/can/netlink.h
  HDRINST usr/include/linux/can/bcm.h
  HDRINST usr/include/linux/can/raw.h
  HDRINST usr/include/linux/can/gw.h
  HDRINST usr/include/linux/can/error.h
  HDRINST usr/include/linux/can/isotp.h
  HDRINST usr/include/linux/if_eql.h
  HDRINST usr/include/linux/hiddev.h
  HDRINST usr/include/linux/blktrace_api.h
  HDRINST usr/include/linux/ccs.h
  HDRINST usr/include/linux/ioam6.h
  HDRINST usr/include/linux/hsr_netlink.h
  HDRINST usr/include/linux/mmc/ioctl.h
  HDRINST usr/include/linux/bfs_fs.h
  HDRINST usr/include/linux/rio_cm_cdev.h
  HDRINST usr/include/linux/uleds.h
  HDRINST usr/include/linux/mrp_bridge.h
  HDRINST usr/include/linux/adb.h
  HDRINST usr/include/linux/pmu.h
  HDRINST usr/include/linux/udmabuf.h
  HDRINST usr/include/linux/kcmp.h
  HDRINST usr/include/linux/dma-heap.h
  HDRINST usr/include/linux/userfaultfd.h
  HDRINST usr/include/linux/netfilter_arp/arpt_mangle.h
  HDRINST usr/include/linux/netfilter_arp/arp_tables.h
  HDRINST usr/include/linux/tipc.h
  HDRINST usr/include/linux/virtio_ids.h
  HDRINST usr/include/linux/l2tp.h
  HDRINST usr/include/linux/devlink.h
  HDRINST usr/include/linux/virtio_gpio.h
  HDRINST usr/include/linux/dcbnl.h
  HDRINST usr/include/linux/cyclades.h
  HDRINST usr/include/sound/intel/avs/tokens.h
  HDRINST usr/include/sound/sof/fw.h
  HDRINST usr/include/sound/sof/abi.h
  HDRINST usr/include/sound/sof/tokens.h
  HDRINST usr/include/sound/sof/header.h
  HDRINST usr/include/sound/usb_stream.h
  HDRINST usr/include/sound/sfnt_info.h
  HDRINST usr/include/sound/asequencer.h
  HDRINST usr/include/sound/tlv.h
  HDRINST usr/include/sound/asound.h
  HDRINST usr/include/sound/asoc.h
  HDRINST usr/include/sound/sb16_csp.h
  HDRINST usr/include/sound/compress_offload.h
  HDRINST usr/include/sound/hdsp.h
  HDRINST usr/include/sound/emu10k1.h
  HDRINST usr/include/sound/snd_ar_tokens.h
  HDRINST usr/include/sound/snd_sst_tokens.h
  HDRINST usr/include/sound/asound_fm.h
  HDRINST usr/include/sound/hdspm.h
  HDRINST usr/include/sound/compress_params.h
  HDRINST usr/include/sound/firewire.h
  HDRINST usr/include/sound/skl-tplg-interface.h
  HDRINST usr/include/scsi/scsi_bsg_ufs.h
  HDRINST usr/include/scsi/scsi_netlink_fc.h
  HDRINST usr/include/scsi/scsi_bsg_mpi3mr.h
  HDRINST usr/include/scsi/fc/fc_ns.h
  HDRINST usr/include/scsi/fc/fc_fs.h
  HDRINST usr/include/scsi/fc/fc_els.h
  HDRINST usr/include/scsi/fc/fc_gs.h
  HDRINST usr/include/scsi/scsi_bsg_fc.h
  HDRINST usr/include/scsi/cxlflash_ioctl.h
  HDRINST usr/include/scsi/scsi_netlink.h
  HDRINST usr/include/linux/version.h
  HDRINST usr/include/asm/processor-flags.h
  HDRINST usr/include/asm/auxvec.h
  HDRINST usr/include/asm/svm.h
  HDRINST usr/include/asm/bitsperlong.h
  HDRINST usr/include/asm/kvm_perf.h
  HDRINST usr/include/asm/mce.h
  HDRINST usr/include/asm/posix_types.h
  HDRINST usr/include/asm/msr.h
  HDRINST usr/include/asm/sigcontext32.h
  HDRINST usr/include/asm/mman.h
  HDRINST usr/include/asm/shmbuf.h
  HDRINST usr/include/asm/e820.h
  HDRINST usr/include/asm/posix_types_64.h
  HDRINST usr/include/asm/vsyscall.h
  HDRINST usr/include/asm/msgbuf.h
  HDRINST usr/include/asm/swab.h
  HDRINST usr/include/asm/statfs.h
  HDRINST usr/include/asm/posix_types_x32.h
  HDRINST usr/include/asm/unistd.h
  HDRINST usr/include/asm/ptrace.h
  HDRINST usr/include/asm/ist.h
  HDRINST usr/include/asm/prctl.h
  HDRINST usr/include/asm/boot.h
  HDRINST usr/include/asm/sigcontext.h
  HDRINST usr/include/asm/posix_types_32.h
  HDRINST usr/include/asm/kvm_para.h
  HDRINST usr/include/asm/a.out.h
  HDRINST usr/include/asm/mtrr.h
  HDRINST usr/include/asm/amd_hsmp.h
  HDRINST usr/include/asm/hwcap2.h
  HDRINST usr/include/asm/ptrace-abi.h
  HDRINST usr/include/asm/vm86.h
  HDRINST usr/include/asm/vmx.h
  HDRINST usr/include/asm/ldt.h
  HDRINST usr/include/asm/perf_regs.h
  HDRINST usr/include/asm/debugreg.h
  HDRINST usr/include/asm/kvm.h
  HDRINST usr/include/asm/bootparam.h
  HDRINST usr/include/asm/signal.h
  HDRINST usr/include/asm/siginfo.h
  HDRINST usr/include/asm/hw_breakpoint.h
  HDRINST usr/include/asm/stat.h
  HDRINST usr/include/asm/setup.h
  HDRINST usr/include/asm/sembuf.h
  HDRINST usr/include/asm/sgx.h
  HDRINST usr/include/asm/ucontext.h
  HDRINST usr/include/asm/byteorder.h
  HDRINST usr/include/asm/unistd_64.h
  HDRINST usr/include/asm/ioctls.h
  HDRINST usr/include/asm/bpf_perf_event.h
  HDRINST usr/include/asm/types.h
  HDRINST usr/include/asm/poll.h
  HDRINST usr/include/asm/resource.h
  HDRINST usr/include/asm/param.h
  HDRINST usr/include/asm/sockios.h
  HDRINST usr/include/asm/errno.h
  HDRINST usr/include/asm/unistd_x32.h
  HDRINST usr/include/asm/termios.h
  HDRINST usr/include/asm/ioctl.h
  HDRINST usr/include/asm/socket.h
  HDRINST usr/include/asm/unistd_32.h
  HDRINST usr/include/asm/termbits.h
  HDRINST usr/include/asm/fcntl.h
  HDRINST usr/include/asm/ipcbuf.h
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 ../include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 ../include/linux/atomic/atomic-instrumented.h
  CHKSHA1 ../include/linux/atomic/atomic-long.h
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  LD      /kernel/build64/tools/objtool/arch/x86/objtool-in.o
  UPD     include/generated/asm-offsets.h
  CALL    ../scripts/checksyscalls.sh
  LD      /kernel/build64/tools/objtool/objtool-in.o
  LINK    /kernel/build64/tools/objtool/objtool
  LDS     scripts/module.lds
  CC      ipc/compat.o
  CC      ipc/util.o
  CC      ipc/msgutil.o
  CC      ipc/msg.o
  HOSTCC  usr/gen_init_cpio
  CC      ipc/sem.o
  CC      ipc/shm.o
  CC      ipc/syscall.o
  CC      ipc/ipc_sysctl.o
  AR      certs/built-in.a
  CC      ipc/mqueue.o
  AS      arch/x86/lib/clear_page_64.o
  CC      security/commoncap.o
  CC      init/main.o
  CC      arch/x86/lib/cmdline.o
  AR      arch/x86/video/built-in.a
  AS      arch/x86/lib/cmpxchg16b_emu.o
  CC      io_uring/io_uring.o
  CC      ipc/namespace.o
  CC      security/min_addr.o
  CC      arch/x86/power/cpu.o
  CC      arch/x86/pci/i386.o
  CC [M]  arch/x86/video/fbdev.o
  UPD     init/utsversion-tmp.h
  CC      arch/x86/realmode/init.o
  AR      virt/lib/built-in.a
  AR      sound/ppc/built-in.a
  AR      arch/x86/ia32/built-in.a
  CC      net/llc/llc_core.o
  CC      block/partitions/core.o
  AS      arch/x86/crypto/aesni-intel_asm.o
  AR      drivers/irqchip/built-in.a
  CC      security/keys/gc.o
  CC      net/ethernet/eth.o
  AR      sound/drivers/opl3/built-in.a
  CC      net/core/sock.o
  AR      sound/isa/ad1816a/built-in.a
  AR      sound/i2c/other/built-in.a
  CC [M]  virt/lib/irqbypass.o
  CC      sound/core/seq/seq.o
  AR      sound/pci/ac97/built-in.a
  CC      init/do_mounts.o
  CC      arch/x86/crypto/aesni-intel_glue.o
  CC      arch/x86/events/amd/core.o
  CC      arch/x86/mm/pat/set_memory.o
  CC      fs/notify/dnotify/dnotify.o
  AR      sound/i2c/built-in.a
  CC      arch/x86/kernel/fpu/init.o
  AR      sound/isa/ad1848/built-in.a
  CC      sound/core/seq/seq_lock.o
  AR      sound/pci/ali5451/built-in.a
  AR      sound/drivers/opl4/built-in.a
  CC      arch/x86/kernel/cpu/mce/core.o
  AR      drivers/bus/mhi/built-in.a
  CC      arch/x86/lib/copy_mc.o
  AR      sound/isa/cs423x/built-in.a
  CC      arch/x86/kernel/acpi/boot.o
  AR      drivers/bus/built-in.a
  CC      lib/kunit/test.o
  AR      sound/drivers/mpu401/built-in.a
  AR      sound/pci/asihpi/built-in.a
  CC      arch/x86/entry/vdso/vma.o
  AR      sound/isa/es1688/built-in.a
  CC      lib/math/div64.o
  CC      kernel/sched/core.o
  AR      sound/pci/au88x0/built-in.a
  CC      mm/kasan/common.o
  AR      sound/drivers/vx/built-in.a
  AR      sound/isa/galaxy/built-in.a
  AR      drivers/phy/allwinner/built-in.a
  CC      arch/x86/entry/vdso/extable.o
  AR      sound/pci/aw2/built-in.a
  AR      sound/drivers/pcsp/built-in.a
  CC      crypto/api.o
  AR      sound/isa/gus/built-in.a
  AR      sound/drivers/built-in.a
  AR      drivers/phy/amlogic/built-in.a
  AR      sound/pci/ctxfi/built-in.a
  AR      sound/isa/msnd/built-in.a
  CC      lib/math/gcd.o
  AR      sound/pci/ca0106/built-in.a
  CC      mm/kasan/report.o
  AR      drivers/phy/broadcom/built-in.a
  AR      sound/isa/opti9xx/built-in.a
  AS      arch/x86/crypto/aesni-intel_avx-x86_64.o
  AR      sound/pci/cs46xx/built-in.a
  AR      drivers/phy/cadence/built-in.a
  AR      sound/isa/sb/built-in.a
  AR      sound/pci/cs5535audio/built-in.a
  AR      drivers/phy/freescale/built-in.a
  AR      sound/isa/wavefront/built-in.a
  AR      drivers/phy/hisilicon/built-in.a
  AR      sound/pci/lola/built-in.a
  AR      sound/isa/wss/built-in.a
  AR      drivers/phy/ingenic/built-in.a
  AR      sound/pci/lx6464es/built-in.a
  AR      sound/isa/built-in.a
  AR      drivers/phy/intel/built-in.a
  AR      sound/pci/echoaudio/built-in.a
  AR      sound/pci/emu10k1/built-in.a
  CC      init/do_mounts_initrd.o
  AR      drivers/phy/lantiq/built-in.a
  CC      lib/math/lcm.o
  AR      drivers/phy/marvell/built-in.a
  AR      sound/pci/hda/built-in.a
  AR      drivers/phy/mediatek/built-in.a
  CC [M]  sound/pci/hda/hda_bind.o
  AR      drivers/phy/microchip/built-in.a
  AR      drivers/phy/motorola/built-in.a
  CC      lib/math/int_pow.o
  AR      drivers/phy/mscc/built-in.a
  AR      drivers/phy/qualcomm/built-in.a
  AR      drivers/phy/ralink/built-in.a
  GEN     usr/initramfs_data.cpio
  AR      drivers/phy/renesas/built-in.a
  AS      arch/x86/lib/copy_mc_64.o
  CC      lib/math/int_sqrt.o
  COPY    usr/initramfs_inc_data
  AS      usr/initramfs_data.o
  AR      drivers/phy/rockchip/built-in.a
  AS      arch/x86/lib/copy_page_64.o
  AR      drivers/phy/samsung/built-in.a
  AR      usr/built-in.a
  AR      drivers/phy/socionext/built-in.a
  AR      drivers/phy/st/built-in.a
  CC      kernel/sched/fair.o
  AR      drivers/phy/sunplus/built-in.a
  AS      arch/x86/lib/copy_user_64.o
  AR      drivers/phy/tegra/built-in.a
  CC      lib/math/reciprocal_div.o
  AR      drivers/phy/ti/built-in.a
  AR      drivers/phy/xilinx/built-in.a
  CC      arch/x86/lib/cpu.o
  CC      drivers/phy/phy-core.o
  AS      arch/x86/crypto/aes_ctrby8_avx-x86_64.o
  CC      io_uring/xattr.o
  AR      virt/built-in.a
  CC      lib/math/rational.o
  CC      block/partitions/ldm.o
  CC [M]  lib/math/prime_numbers.o
  CC      arch/x86/mm/init.o
  CC      sound/core/seq/seq_clientmgr.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      arch/x86/kernel/cpu/mce/severity.o
  AS      arch/x86/realmode/rm/header.o
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC      arch/x86/kernel/fpu/bugs.o
  AS      arch/x86/realmode/rm/trampoline_64.o
  AS      arch/x86/realmode/rm/stack.o
  AS      arch/x86/realmode/rm/reboot.o
  CC      security/keys/key.o
  CC      arch/x86/kernel/fpu/core.o
  AS      arch/x86/realmode/rm/wakeup_asm.o
  CC      arch/x86/kernel/cpu/mce/intel.o
  AR      fs/notify/dnotify/built-in.a
  CC      fs/notify/inotify/inotify_fsnotify.o
  CC      arch/x86/realmode/rm/wakemain.o
  CC      arch/x86/kernel/fpu/regset.o
  CC      arch/x86/pci/init.o
  AR      sound/pci/ice1712/built-in.a
  CC      net/core/request_sock.o
  CC      fs/notify/inotify/inotify_user.o
  CC      lib/kunit/resource.o
  CC      arch/x86/realmode/rm/video-mode.o
  CC      net/llc/llc_input.o
  CC      crypto/cipher.o
  CC      arch/x86/lib/delay.o
  CC      arch/x86/entry/vdso/vdso32-setup.o
  LDS     arch/x86/entry/vdso/vdso.lds
  CC      arch/x86/kernel/fpu/signal.o
  CC      arch/x86/power/hibernate_64.o
  AS      arch/x86/power/hibernate_asm_64.o
  CC      lib/kunit/static_stub.o
  AS      arch/x86/realmode/rm/copy.o
  AS      arch/x86/entry/entry.o
  AS      arch/x86/realmode/rm/bioscall.o
  CC      arch/x86/entry/vsyscall/vsyscall_64.o
  CC      mm/kasan/init.o
  CC      arch/x86/realmode/rm/regs.o
  AS      arch/x86/entry/vsyscall/vsyscall_emu_64.o
  CC [M]  sound/pci/hda/hda_codec.o
  CC      arch/x86/power/hibernate.o
  CC      arch/x86/realmode/rm/video-vga.o
  AS [M]  arch/x86/crypto/ghash-clmulni-intel_asm.o
  CC [M]  arch/x86/crypto/ghash-clmulni-intel_glue.o
  AS      arch/x86/entry/vdso/vdso-note.o
  CC      arch/x86/events/amd/lbr.o
  CC      arch/x86/realmode/rm/video-vesa.o
  AR      lib/math/built-in.a
  CC      arch/x86/entry/vdso/vclock_gettime.o
  CC      arch/x86/kernel/fpu/xstate.o
  AS      arch/x86/lib/getuser.o
  CC      ipc/mq_sysctl.o
  CC      net/llc/llc_output.o
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  CC      arch/x86/realmode/rm/video-bios.o
  GEN     arch/x86/lib/inat-tables.c
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      init/initramfs.o
  AS      arch/x86/kernel/acpi/wakeup_64.o
  CC      arch/x86/events/intel/core.o
  CC      arch/x86/lib/insn-eval.o
  CC      lib/kunit/string-stream.o
  AR      net/ethernet/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      arch/x86/events/zhaoxin/core.o
  CC      arch/x86/kernel/acpi/apei.o
  PASYMS  arch/x86/realmode/rm/pasyms.h
  LDS     arch/x86/realmode/rm/realmode.lds
  CC      crypto/compress.o
  LD      arch/x86/realmode/rm/realmode.elf
  RELOCS  arch/x86/realmode/rm/realmode.relocs
  OBJCOPY arch/x86/realmode/rm/realmode.bin
  AS      arch/x86/realmode/rmpiggy.o
  CC [M]  sound/pci/hda/hda_jack.o
  CC      sound/core/sound.o
  CC [M]  sound/pci/hda/hda_auto_parser.o
  AR      arch/x86/realmode/built-in.a
  CC      arch/x86/pci/mmconfig_64.o
  CC      arch/x86/mm/init_64.o
  CC      arch/x86/events/intel/bts.o
  AR      drivers/phy/built-in.a
  AR      drivers/pinctrl/actions/built-in.a
  AR      drivers/pinctrl/bcm/built-in.a
  CC      arch/x86/events/intel/ds.o
  AR      drivers/pinctrl/cirrus/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  AR      drivers/pinctrl/freescale/built-in.a
  CC      drivers/pinctrl/intel/pinctrl-baytrail.o
  CC      arch/x86/mm/fault.o
  AR      drivers/pinctrl/mediatek/built-in.a
  CC      drivers/pinctrl/intel/pinctrl-intel.o
  CC      arch/x86/kernel/cpu/cacheinfo.o
  CC      arch/x86/events/intel/knc.o
  AS [M]  arch/x86/crypto/crc32-pclmul_asm.o
  CC      arch/x86/mm/pat/memtype.o
  CC [M]  arch/x86/crypto/crc32-pclmul_glue.o
  CC      security/keys/keyring.o
  CC      arch/x86/entry/vdso/vgetcpu.o
  CC      block/partitions/msdos.o
  AR      arch/x86/power/built-in.a
  CC      lib/crypto/memneq.o
  CC      arch/x86/kernel/acpi/cppc.o
  HOSTCC  arch/x86/entry/vdso/vdso2c
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      crypto/algapi.o
  AR      arch/x86/entry/vsyscall/built-in.a
  CC      arch/x86/kernel/cpu/mce/threshold.o
  CC      lib/crypto/utils.o
  CC      lib/crypto/chacha.o
  CC      lib/kunit/assert.o
  AR      drivers/pinctrl/mvebu/built-in.a
  CC      lib/kunit/try-catch.o
  AR      fs/notify/inotify/built-in.a
  CC      fs/notify/fanotify/fanotify.o
  CC      mm/kasan/generic.o
  CC      lib/kunit/executor.o
  CC      fs/notify/fanotify/fanotify_user.o
  CC      arch/x86/events/amd/ibs.o
  CC      arch/x86/kernel/apic/apic.o
  CC      arch/x86/kernel/apic/apic_common.o
  CC      crypto/scatterwalk.o
  CC      arch/x86/mm/ioremap.o
  AR      net/llc/built-in.a
  CC      crypto/proc.o
  CC      sound/core/seq/seq_memory.o
  CC      arch/x86/kernel/apic/apic_noop.o
  CC      arch/x86/pci/direct.o
  AR      arch/x86/events/zhaoxin/built-in.a
  CC      mm/kasan/report_generic.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  AS [M]  arch/x86/crypto/crct10dif-pcl-asm_64.o
  CC      lib/zlib_inflate/inffast.o
  CC      init/calibrate.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  CC [M]  arch/x86/crypto/crct10dif-pclmul_glue.o
  CC      init/init_task.o
  CC      arch/x86/lib/insn.o
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  AR      ipc/built-in.a
  CC      mm/kasan/shadow.o
  CC      lib/crypto/aes.o
  CC      mm/kasan/quarantine.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC      lib/crypto/gf128mul.o
  CC      arch/x86/pci/mmconfig-shared.o
  CC      arch/x86/events/core.o
  CC      lib/kunit/hooks.o
  CC      security/keys/keyctl.o
  CC      lib/zlib_inflate/inflate.o
  CC [M]  drivers/pinctrl/intel/pinctrl-cherryview.o
  CC      block/partitions/efi.o
  AR      arch/x86/kernel/fpu/built-in.a
  CC      crypto/aead.o
  CC [M]  sound/pci/hda/hda_sysfs.o
  CC      arch/x86/pci/fixup.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  CC      arch/x86/kernel/apic/ipi.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      arch/x86/mm/pat/memtype_interval.o
  CC      arch/x86/kernel/cpu/mce/apei.o
  AS      arch/x86/lib/memcpy_64.o
  AR      lib/kunit/built-in.a
  CC      crypto/geniv.o
  CC [M]  drivers/pinctrl/intel/pinctrl-broxton.o
  CC      arch/x86/pci/acpi.o
  AS      arch/x86/lib/memmove_64.o
  LD [M]  arch/x86/crypto/ghash-clmulni-intel.o
  AS      arch/x86/lib/memset_64.o
  LD [M]  arch/x86/crypto/crc32-pclmul.o
  CC      arch/x86/events/probe.o
  LD [M]  arch/x86/crypto/crct10dif-pclmul.o
  CC      arch/x86/lib/misc.o
  AR      arch/x86/crypto/built-in.a
  CC      sound/core/init.o
  CC      fs/nfs_common/grace.o
  CC      arch/x86/lib/pc-conf-reg.o
  CC      arch/x86/pci/legacy.o
  CC      sound/core/seq/seq_queue.o
  CC      crypto/skcipher.o
  CC      arch/x86/entry/vdso/vdso32/vgetcpu.o
  CC      init/version.o
  CC      fs/iomap/trace.o
  CC [M]  drivers/pinctrl/intel/pinctrl-geminilake.o
  CC      fs/iomap/iter.o
  CC      security/keys/permission.o
  CC      arch/x86/events/utils.o
  AR      arch/x86/platform/atom/built-in.a
  CC      net/802/p8022.o
  CC      arch/x86/events/rapl.o
  AR      arch/x86/platform/ce4100/built-in.a
  AR      arch/x86/kernel/acpi/built-in.a
  CC      arch/x86/events/msr.o
  CC      arch/x86/platform/efi/memmap.o
  AS      arch/x86/lib/putuser.o
  CC      block/bdev.o
  VDSO    arch/x86/entry/vdso/vdso64.so.dbg
  CC      lib/crypto/blake2s.o
  CC      net/core/skbuff.o
  AS      arch/x86/lib/retpoline.o
  CC      net/core/datagram.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  OBJCOPY arch/x86/entry/vdso/vdso64.so
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  CC      arch/x86/events/amd/uncore.o
  VDSO2C  arch/x86/entry/vdso/vdso-image-64.c
  AR      mm/kasan/built-in.a
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  CC      mm/filemap.o
  CC      arch/x86/entry/vdso/vdso-image-64.o
  CC      arch/x86/lib/usercopy.o
  CC      mm/mempool.o
  CC      arch/x86/kernel/cpu/common.o
  AR      init/built-in.a
  CC      net/802/psnap.o
  CC      lib/zlib_inflate/infutil.o
  CC      sound/core/memory.o
  CC      arch/x86/kernel/cpu/rdrand.o
  AR      arch/x86/kernel/cpu/mce/built-in.a
  AR      arch/x86/mm/pat/built-in.a
  CC      fs/iomap/buffered-io.o
  CC      arch/x86/mm/extable.o
  CC [M]  sound/pci/hda/hda_controller.o
  CC      arch/x86/events/intel/lbr.o
  CC      arch/x86/entry/vdso/vdso-image-32.o
  CC      net/sched/sch_generic.o
  CC      net/netlink/af_netlink.o
  CC      net/sched/sch_mq.o
  AR      fs/notify/fanotify/built-in.a
  AR      net/bpf/built-in.a
  CC      lib/crypto/blake2s-generic.o
  CC      fs/notify/fsnotify.o
  CC      crypto/seqiv.o
  AR      arch/x86/net/built-in.a
  AR      block/partitions/built-in.a
  AS      arch/x86/entry/entry_64.o
  AR      arch/x86/platform/geode/built-in.a
  CC      arch/x86/pci/irq.o
  CC      net/ethtool/ioctl.o
  CC      crypto/echainiv.o
  CC [M]  drivers/pinctrl/intel/pinctrl-sunrisepoint.o
  CC      net/ethtool/common.o
  AR      fs/nfs_common/built-in.a
  CC      net/ethtool/netlink.o
  AR      fs/quota/built-in.a
  CC      lib/zlib_inflate/inftrees.o
  CC [M]  net/netfilter/ipvs/ip_vs_conn.o
  AR      arch/x86/entry/vdso/built-in.a
  CC      arch/x86/entry/syscall_64.o
  CC      arch/x86/lib/usercopy_64.o
  CC [M]  net/netfilter/ipvs/ip_vs_core.o
  CC [M]  net/netfilter/ipvs/ip_vs_ctl.o
  CC      net/core/stream.o
  CC      fs/iomap/direct-io.o
  CC      security/keys/process_keys.o
  CC      kernel/sched/build_policy.o
  CC      arch/x86/platform/efi/quirks.o
  CC      sound/core/seq/seq_fifo.o
  CC      kernel/sched/build_utility.o
  CC      lib/zlib_inflate/inflate_syms.o
  CC      arch/x86/mm/mmap.o
  CC      net/netlink/genetlink.o
  CC      crypto/ahash.o
  CC      mm/oom_kill.o
  CC      arch/x86/kernel/apic/vector.o
  CC      net/core/scm.o
  AR      drivers/pinctrl/intel/built-in.a
  CC      net/802/stp.o
  AR      drivers/pinctrl/nomadik/built-in.a
  AR      drivers/pinctrl/nuvoton/built-in.a
  AR      arch/x86/events/amd/built-in.a
  AR      drivers/pinctrl/sprd/built-in.a
  AR      drivers/pinctrl/sunplus/built-in.a
  CC      arch/x86/mm/pgtable.o
  CC      sound/core/seq/seq_prioq.o
  CC      drivers/pinctrl/core.o
  AR      drivers/pinctrl/ti/built-in.a
  CC      security/inode.o
  CC      block/fops.o
  AR      lib/zlib_inflate/built-in.a
  AR      net/ipv4/netfilter/built-in.a
  CC      net/xfrm/xfrm_policy.o
  CC      net/unix/af_unix.o
  CC [M]  net/ipv4/netfilter/nf_defrag_ipv4.o
  CC      arch/x86/lib/msr-smp.o
  CC      lib/crypto/blake2s-selftest.o
  CC      arch/x86/entry/common.o
  CC      arch/x86/events/intel/p4.o
  CC      fs/notify/notification.o
  CC      sound/core/seq/seq_timer.o
  CC      sound/core/seq/seq_system.o
  CC      fs/iomap/fiemap.o
  CC      block/bio.o
  CC      drivers/pinctrl/pinctrl-utils.o
  CC      lib/crypto/des.o
  CC      net/core/gen_stats.o
  CC      arch/x86/lib/cache-smp.o
  CC      arch/x86/events/intel/p6.o
  CC      arch/x86/platform/efi/efi.o
  CC      arch/x86/kernel/cpu/match.o
  CC      arch/x86/pci/common.o
  CC      arch/x86/lib/msr.o
  CC      net/netlink/policy.o
  CC      arch/x86/platform/efi/efi_64.o
  CC      security/keys/request_key.o
  CC      net/netlink/diag.o
  CC      net/core/gen_estimator.o
  CC      crypto/shash.o
  CC      sound/core/control.o
  CC [M]  sound/pci/hda/hda_proc.o
  AR      net/802/built-in.a
  CC      fs/iomap/seek.o
  AS      arch/x86/entry/thunk_64.o
  CC      io_uring/nop.o
  CC      drivers/pinctrl/pinmux.o
  CC      fs/notify/group.o
  CC      fs/notify/mark.o
  AS      arch/x86/entry/entry_64_compat.o
  CC      arch/x86/mm/physaddr.o
  CC      arch/x86/entry/syscall_32.o
  CC      crypto/akcipher.o
  CC      arch/x86/kernel/cpu/bugs.o
  CC      sound/core/seq/seq_ports.o
  CC      net/core/net_namespace.o
  AR      arch/x86/platform/iris/built-in.a
  CC      security/keys/request_key_auth.o
  CC [M]  net/ipv4/netfilter/nf_reject_ipv4.o
  CC      kernel/locking/mutex.o
  CC      security/keys/user_defined.o
  CC      arch/x86/events/intel/pt.o
  CC      drivers/pinctrl/pinconf.o
  CC      arch/x86/events/intel/uncore.o
  CC      net/sched/sch_frag.o
  CC      arch/x86/pci/early.o
  CC      fs/iomap/swapfile.o
  CC      net/core/secure_seq.o
  CC      arch/x86/platform/intel/iosf_mbi.o
  AR      arch/x86/platform/intel-mid/built-in.a
  CC      arch/x86/kernel/apic/hw_nmi.o
  AS      arch/x86/lib/msr-reg.o
  CC [M]  sound/pci/hda/hda_hwdep.o
  CC      lib/crypto/sha1.o
  CC      net/xfrm/xfrm_state.o
  CC      arch/x86/lib/msr-reg-export.o
  CC      arch/x86/mm/tlb.o
  AS      arch/x86/platform/efi/efi_stub_64.o
  AR      arch/x86/platform/efi/built-in.a
  CC      net/core/flow_dissector.o
  CC      io_uring/fs.o
  AR      arch/x86/entry/built-in.a
  CC      io_uring/splice.o
  CC      drivers/pinctrl/pinconf-generic.o
  AS      arch/x86/lib/hweight.o
  CC [M]  net/netfilter/ipvs/ip_vs_sched.o
  CC      arch/x86/lib/iomem.o
  CC      net/unix/garbage.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/kvm_main.o
  CC [M]  sound/pci/hda/hda_generic.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/eventfd.o
  CC      crypto/kpp.o
  CC      net/netfilter/core.o
  CC      net/core/sysctl_net_core.o
  CC      crypto/acompress.o
  CC      security/keys/compat.o
  CC      net/unix/sysctl_net_unix.o
  CC      sound/core/seq/seq_info.o
  CC      net/ethtool/bitset.o
  CC      fs/notify/fdinfo.o
  CC      lib/crypto/sha256.o
  CC [M]  net/netfilter/ipvs/ip_vs_xmit.o
  CC      sound/core/misc.o
  CC      arch/x86/pci/bus_numa.o
  AS      arch/x86/lib/iomap_copy_64.o
  CC      arch/x86/lib/inat.o
  CC      arch/x86/kernel/apic/io_apic.o
  AR      fs/iomap/built-in.a
  CC      block/elevator.o
  CC [M]  sound/pci/hda/patch_realtek.o
  AR      arch/x86/platform/intel/built-in.a
  CC      fs/proc/task_mmu.o
  AR      arch/x86/lib/built-in.a
  AR      arch/x86/platform/intel-quark/built-in.a
  AR      arch/x86/lib/lib.a
  AR      drivers/pinctrl/built-in.a
  AR      arch/x86/platform/olpc/built-in.a
  CC      drivers/gpio/gpiolib.o
  CC      arch/x86/pci/amd_bus.o
  AR      arch/x86/platform/scx200/built-in.a
  AR      arch/x86/platform/ts5500/built-in.a
  AR      net/netlink/built-in.a
  AR      arch/x86/platform/uv/built-in.a
  CC      fs/proc/inode.o
  AR      arch/x86/platform/built-in.a
  CC      net/sched/sch_api.o
  CC      io_uring/sync.o
  AR      net/ipv6/netfilter/built-in.a
  CC [M]  net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
  CC      io_uring/advise.o
  CC [M]  net/ipv4/netfilter/ip_tables.o
  AR      sound/core/seq/built-in.a
  CC [M]  net/ipv6/netfilter/nf_conntrack_reasm.o
  CC      crypto/scompress.o
  CC      arch/x86/kernel/cpu/aperfmperf.o
  CC      security/keys/proc.o
  CC [M]  lib/crypto/arc4.o
  AR      fs/notify/built-in.a
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  CC      fs/kernfs/mount.o
  CC [M]  net/ipv4/netfilter/iptable_filter.o
  CC      kernel/power/qos.o
  CC      net/core/dev.o
  CC      arch/x86/events/intel/uncore_nhmex.o
  CC      arch/x86/mm/cpu_entry_area.o
  CC      mm/fadvise.o
  AR      drivers/pwm/built-in.a
  CC      mm/maccess.o
  CC      security/keys/sysctl.o
  CC      sound/core/device.o
  CC      net/sched/sch_blackhole.o
  CC      fs/kernfs/inode.o
  CC      io_uring/filetable.o
  CC      arch/x86/mm/maccess.o
  CC      net/unix/diag.o
  AR      lib/crypto/built-in.a
  LD [M]  lib/crypto/libarc4.o
  CC      arch/x86/kernel/cpu/umwait.o
  CC      lib/zlib_deflate/deflate.o
  CC      arch/x86/kernel/cpu/proc.o
  AR      arch/x86/pci/built-in.a
  CC      lib/zlib_deflate/deftree.o
  CC      net/core/dev_addr_lists.o
  CC      lib/zlib_deflate/deflate_syms.o
  CC      net/unix/scm.o
  CC      fs/kernfs/dir.o
  CC      net/ethtool/strset.o
  CC [M]  net/netfilter/ipvs/ip_vs_app.o
  CC      kernel/power/main.o
  CC      security/device_cgroup.o
  AR      security/keys/built-in.a
  CC      kernel/locking/semaphore.o
  CC      kernel/locking/rwsem.o
  CC      net/core/dst.o
  CC      kernel/locking/percpu-rwsem.o
  CC      arch/x86/mm/pgprot.o
  CC      net/core/netevent.o
  CC      block/blk-core.o
  CC      sound/core/info.o
  CC      drivers/pci/msi/pcidev_msi.o
  CC      crypto/algboss.o
  CC      mm/page-writeback.o
  CC      drivers/pci/msi/api.o
  CC      net/sched/sch_fifo.o
  CC      fs/kernfs/file.o
  CC      fs/proc/root.o
  CC      kernel/power/console.o
  CC      kernel/locking/irqflag-debug.o
  CC      kernel/power/process.o
  CC      block/blk-sysfs.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      net/core/neighbour.o
  CC      arch/x86/events/intel/uncore_snb.o
  CC      arch/x86/mm/hugetlbpage.o
  CC      drivers/video/console/dummycon.o
  CC      fs/kernfs/symlink.o
  CC      net/ipv4/route.o
  CC      io_uring/openclose.o
  CC      net/ipv4/inetpeer.o
  CC      drivers/video/logo/logo.o
  CC      arch/x86/kernel/apic/msi.o
  HOSTCC  drivers/video/logo/pnmtologo
  AR      lib/zlib_deflate/built-in.a
  CC      lib/lzo/lzo1x_compress.o
  CC      net/core/rtnetlink.o
  CC      crypto/testmgr.o
  AR      net/unix/built-in.a
  CC      drivers/idle/intel_idle.o
  CC      drivers/pci/msi/msi.o
  LD [M]  net/ipv6/netfilter/nf_defrag_ipv6.o
  CC      block/blk-flush.o
  CC      net/ipv6/af_inet6.o
  CC      sound/core/isadma.o
  CC      block/blk-settings.o
  CC      drivers/pci/msi/irqdomain.o
  CC      net/core/utils.o
  CC      fs/proc/base.o
  CC      net/packet/af_packet.o
  CC      net/ethtool/linkinfo.o
  LOGO    drivers/video/logo/logo_linux_clut224.c
  CC      net/ethtool/linkmodes.o
  CC      drivers/video/logo/logo_linux_clut224.o
  CC [M]  net/ipv4/netfilter/iptable_mangle.o
  AR      drivers/video/logo/built-in.a
  CC      drivers/video/console/vgacon.o
  CC      net/ethtool/rss.o
  CC      net/netfilter/nf_log.o
  AR      drivers/char/ipmi/built-in.a
  CC [M]  sound/pci/hda/patch_analog.o
  CC      drivers/pci/pcie/portdrv.o
  AR      security/built-in.a
  CC      drivers/pci/pcie/rcec.o
  CC      net/key/af_key.o
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  AR      fs/kernfs/built-in.a
  CC      fs/sysfs/file.o
  CC      arch/x86/mm/kasan_init_64.o
  CC [M]  net/netfilter/ipvs/ip_vs_sync.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  AR      net/sched/built-in.a
  CC      arch/x86/mm/pkeys.o
  CC      sound/core/vmaster.o
  CC      kernel/locking/mutex-debug.o
  CC      kernel/power/suspend.o
  CC      arch/x86/kernel/apic/x2apic_phys.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      lib/lz4/lz4_compress.o
  CC      lib/lz4/lz4hc_compress.o
  CC [M]  net/netfilter/ipvs/ip_vs_est.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto.o
  CC      io_uring/uring_cmd.o
  CC [M]  net/netfilter/ipvs/ip_vs_pe.o
  CC      net/xfrm/xfrm_hash.o
  CC      kernel/power/hibernate.o
  AR      lib/lzo/built-in.a
  CC      drivers/gpio/gpiolib-devres.o
  CC      net/netfilter/nf_queue.o
  AR      kernel/sched/built-in.a
  CC      net/netfilter/nf_sockopt.o
  AR      drivers/pci/msi/built-in.a
  CC      drivers/acpi/acpica/dsargs.o
  CC      drivers/acpi/apei/apei-base.o
  CC      drivers/acpi/acpica/dscontrol.o
  CC      net/ipv6/anycast.o
  CC      drivers/acpi/apei/hest.o
  CC      drivers/pci/pcie/aspm.o
  CC      arch/x86/mm/pti.o
  CC      crypto/cmac.o
  CC      kernel/locking/lockdep.o
  AR      drivers/idle/built-in.a
  CC      fs/sysfs/dir.o
  CC      sound/core/ctljack.o
  AR      sound/arm/built-in.a
  CC      sound/core/jack.o
  CC      kernel/locking/lockdep_proc.o
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  CC      net/ethtool/linkstate.o
  CC      arch/x86/kernel/apic/x2apic_cluster.o
  AR      drivers/video/console/built-in.a
  CC      drivers/video/backlight/backlight.o
  CC      io_uring/epoll.o
  CC [M]  net/ipv4/netfilter/ipt_REJECT.o
  CC      net/xfrm/xfrm_input.o
  CC      drivers/acpi/acpica/dsdebug.o
  CC      net/ethtool/debug.o
  CC      drivers/gpio/gpiolib-legacy.o
  CC [M]  sound/pci/hda/patch_hdmi.o
  CC      block/blk-ioc.o
  CC      mm/folio-compat.o
  CC [M]  sound/pci/hda/hda_eld.o
  CC      crypto/hmac.o
  CC      fs/sysfs/symlink.o
  CC      crypto/vmac.o
  CC      net/ipv6/ip6_output.o
  CC      fs/sysfs/mount.o
  CC      lib/lz4/lz4_decompress.o
  CC      drivers/acpi/acpica/dsfield.o
  CC      arch/x86/kernel/apic/apic_flat_64.o
  CC      sound/core/timer.o
  CC      sound/core/hrtimer.o
  AR      arch/x86/mm/built-in.a
  CC      arch/x86/kernel/apic/probe_64.o
  CC      crypto/xcbc.o
  CC      drivers/acpi/apei/erst.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto_tcp.o
  CC      fs/sysfs/group.o
  CC      drivers/gpio/gpiolib-cdev.o
  CC      drivers/gpio/gpiolib-sysfs.o
  CC      drivers/pci/hotplug/pciehp_core.o
  CC      kernel/power/snapshot.o
  CC      net/ipv4/protocol.o
  CC      io_uring/statx.o
  CC      net/ipv4/ip_input.o
  CC      sound/core/seq_device.o
  CC      net/netfilter/utils.o
  AR      drivers/video/backlight/built-in.a
  CC      drivers/acpi/acpica/dsinit.o
  CC      drivers/video/fbdev/core/fb_notify.o
  CC      drivers/pci/pcie/aer.o
  CC      drivers/acpi/acpica/dsmethod.o
  AR      drivers/video/fbdev/omap/built-in.a
  CC      mm/readahead.o
  CC      crypto/crypto_null.o
  CC      drivers/gpio/gpiolib-acpi.o
  CC      drivers/gpio/gpiolib-swnode.o
  CC [M]  net/netfilter/nfnetlink.o
  CC      net/ethtool/wol.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/binary_stats.o
  CC      block/blk-map.o
  CC      net/ethtool/features.o
  CC      fs/proc/generic.o
  CC      net/xfrm/xfrm_output.o
  CC [M]  drivers/video/fbdev/uvesafb.o
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  CC      drivers/pnp/core.o
  CC      drivers/pnp/pnpacpi/core.o
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  AR      arch/x86/kernel/apic/built-in.a
  CC      drivers/pnp/pnpacpi/rsparser.o
  AR      drivers/video/fbdev/omap2/built-in.a
  CC      drivers/pnp/card.o
  CC      net/packet/diag.o
  CC      drivers/pnp/driver.o
  AR      fs/sysfs/built-in.a
  CC      mm/swap.o
  CC      drivers/acpi/acpica/dsmthdat.o
  CC      net/xfrm/xfrm_sysctl.o
  CC [M]  sound/core/control_led.o
  CC      drivers/pci/hotplug/pciehp_ctrl.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC [M]  drivers/video/fbdev/core/fbmem.o
  CC      arch/x86/events/intel/uncore_discovery.o
  CC      net/xfrm/xfrm_replay.o
  CC      io_uring/net.o
  CC      crypto/md5.o
  AR      net/key/built-in.a
  CC      kernel/power/swap.o
  CC      arch/x86/kernel/cpu/feat_ctl.o
  CC      drivers/acpi/apei/bert.o
  AR      drivers/acpi/pmic/built-in.a
  AR      lib/lz4/built-in.a
  CC      arch/x86/kernel/cpu/intel.o
  CC      lib/zstd/zstd_compress_module.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  CC      arch/x86/events/intel/cstate.o
  CC      arch/x86/kernel/kprobes/core.o
  CC      net/ipv6/ip6_input.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/vfio.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/coalesced_mmio.o
  CC      drivers/acpi/tables.o
  CC      crypto/sha1_generic.o
  CC      drivers/acpi/acpica/dsobject.o
  CC      fs/configfs/inode.o
  CC      fs/proc/array.o
  CC      fs/configfs/file.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto_udp.o
  CC      kernel/locking/spinlock.o
  CC      fs/devpts/inode.o
  CC      net/ethtool/privflags.o
  CC      block/blk-merge.o
  CC      fs/proc/fd.o
  AR      drivers/pnp/pnpacpi/built-in.a
  CC      lib/zstd/compress/fse_compress.o
  CC      drivers/pnp/resource.o
  AR      drivers/amba/built-in.a
  CC      drivers/acpi/acpica/dsopcode.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/async_pf.o
  CC      arch/x86/kernel/cpu/intel_pconfig.o
  CC      block/blk-timeout.o
  AR      drivers/acpi/dptf/built-in.a
  CC      drivers/pnp/manager.o
  CC      drivers/pci/pcie/err.o
  CC      kernel/locking/osq_lock.o
  CC      drivers/acpi/apei/ghes.o
  CC      drivers/pci/hotplug/pciehp_pci.o
  CC [M]  sound/core/hwdep.o
  CC      arch/x86/kernel/cpu/tsx.o
  AR      drivers/gpio/built-in.a
  CC      drivers/pnp/support.o
  CC      drivers/pnp/interface.o
  CC [M]  sound/pci/hda/hda_intel.o
  AR      drivers/clk/actions/built-in.a
  AR      drivers/clk/analogbits/built-in.a
  AR      net/packet/built-in.a
  CC      net/xfrm/xfrm_device.o
  AR      drivers/clk/bcm/built-in.a
  CC      crypto/sha256_generic.o
  CC      net/ipv4/ip_fragment.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/dma/dw/core.o
  CC      drivers/dma/dw/dw.o
  AR      drivers/clk/microchip/built-in.a
  CC      drivers/dma/dw/idma32.o
  AR      drivers/clk/mstar/built-in.a
  AR      drivers/clk/mvebu/built-in.a
  AR      drivers/clk/ralink/built-in.a
  AR      arch/x86/events/intel/built-in.a
  AR      drivers/clk/renesas/built-in.a
  AR      arch/x86/events/built-in.a
  CC      lib/zstd/compress/hist.o
  CC      drivers/dma/hsu/hsu.o
  AR      drivers/clk/socfpga/built-in.a
  CC      drivers/dma/dw/acpi.o
  AR      drivers/clk/sprd/built-in.a
  AR      drivers/clk/sunxi-ng/built-in.a
  AR      drivers/clk/ti/built-in.a
  AR      drivers/clk/versatile/built-in.a
  CC      drivers/dma/dw/pci.o
  CC      drivers/clk/x86/clk-lpss-atom.o
  CC      kernel/locking/qspinlock.o
  CC      drivers/acpi/acpica/dspkginit.o
  CC      fs/configfs/dir.o
  CC      drivers/acpi/acpica/dsutils.o
  CC      lib/zstd/compress/huf_compress.o
  CC      arch/x86/kernel/kprobes/opt.o
  AR      drivers/clk/xilinx/built-in.a
  CC      kernel/locking/rtmutex_api.o
  CC      net/ethtool/rings.o
  CC      kernel/locking/spinlock_debug.o
  CC      lib/zstd/compress/zstd_compress.o
  CC      drivers/acpi/blacklist.o
  CC      drivers/acpi/osi.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  AR      fs/devpts/built-in.a
  LDS     arch/x86/kernel/vmlinux.lds
  CC [M]  net/netfilter/ipvs/ip_vs_nfct.o
  AS      arch/x86/kernel/head_64.o
  CC [M]  net/netfilter/nf_conntrack_core.o
  CC      drivers/pci/hotplug/pciehp_hpc.o
  CC [M]  net/netfilter/nf_conntrack_standalone.o
  CC      drivers/pci/pcie/aer_inject.o
  CC      fs/proc/proc_tty.o
  CC      kernel/power/user.o
  CC [M]  net/netfilter/ipvs/ip_vs_rr.o
  CC      crypto/sha512_generic.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/irqchip.o
  CC      net/core/link_watch.o
  CC [M]  sound/core/pcm.o
  CC      drivers/clk/x86/clk-pmc-atom.o
  CC [M]  drivers/video/fbdev/core/fbmon.o
  CC [M]  net/netfilter/nf_conntrack_expect.o
  CC      fs/proc/cmdline.o
  CC      net/ethtool/channels.o
  CC      drivers/acpi/acpica/dswexec.o
  CC      kernel/locking/qrwlock.o
  CC      drivers/pnp/quirks.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/dirty_ring.o
  CC      drivers/pci/hotplug/acpiphp_core.o
  CC      drivers/pnp/system.o
  CC      mm/truncate.o
  CC      drivers/pci/pcie/pme.o
  CC      drivers/pci/hotplug/acpiphp_glue.o
  CC      drivers/acpi/acpica/dswload.o
  CC      arch/x86/kernel/cpu/amd.o
  CC      fs/configfs/symlink.o
  CC      io_uring/msg_ring.o
  CC      drivers/clk/clk-devres.o
  AR      drivers/dma/hsu/built-in.a
  CC      arch/x86/kernel/kprobes/ftrace.o
  AR      drivers/acpi/apei/built-in.a
  CC      arch/x86/kernel/head64.o
  CC      net/xfrm/xfrm_algo.o
  CC      lib/zstd/compress/zstd_compress_literals.o
  CC      block/blk-lib.o
  CC      fs/proc/consoles.o
  CC      fs/proc/cpuinfo.o
  AR      drivers/clk/x86/built-in.a
  AR      drivers/dma/idxd/built-in.a
  CC      mm/vmscan.o
  CC      mm/shmem.o
  AR      drivers/dma/mediatek/built-in.a
  CC      mm/util.o
  CC      drivers/acpi/acpica/dswload2.o
  CC      drivers/acpi/acpica/dswscope.o
  CC      net/ipv6/addrconf.o
  CC      net/ipv4/ip_forward.o
  CC      net/ipv6/addrlabel.o
  CC      kernel/power/poweroff.o
  CC      drivers/pci/pcie/dpc.o
  CC      crypto/blake2b_generic.o
  AR      drivers/dma/dw/built-in.a
  CC      crypto/ecb.o
  AR      drivers/dma/qcom/built-in.a
  AR      sound/sh/built-in.a
  CC      crypto/cbc.o
  AR      drivers/dma/ti/built-in.a
  AR      drivers/dma/xilinx/built-in.a
  CC      arch/x86/kernel/ebda.o
  CC [M]  drivers/dma/ioat/init.o
  AR      kernel/locking/built-in.a
  CC      net/ipv6/route.o
  CC      drivers/clk/clk-bulk.o
  CC      arch/x86/kernel/platform-quirks.o
  CC      fs/configfs/mount.o
  CC [M]  sound/core/pcm_native.o
  AR      drivers/pnp/built-in.a
  CC      arch/x86/kernel/process_64.o
  CC [M]  sound/core/pcm_lib.o
  CC      fs/ext4/balloc.o
  AR      kernel/power/built-in.a
  CC [M]  drivers/dma/ioat/dma.o
  CC      fs/ext4/bitmap.o
  CC [M]  drivers/dma/ioat/prep.o
  CC      kernel/printk/printk.o
  LD [M]  net/netfilter/ipvs/ip_vs.o
  LD [M]  sound/pci/hda/snd-hda-codec.o
  CC [M]  sound/core/pcm_misc.o
  AR      arch/x86/kernel/kprobes/built-in.a
  CC      kernel/printk/printk_safe.o
  CC      net/core/filter.o
  CC      net/ethtool/coalesce.o
  CC      crypto/pcbc.o
  LD [M]  sound/pci/hda/snd-hda-codec-generic.o
  CC      drivers/video/aperture.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/pfncache.o
  CC      drivers/acpi/acpica/dswstate.o
  LD [M]  sound/pci/hda/snd-hda-codec-realtek.o
  LD [M]  sound/pci/hda/snd-hda-codec-analog.o
  CC      fs/proc/devices.o
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.o
  CC      drivers/acpi/acpica/evevent.o
  CC      arch/x86/kernel/cpu/hygon.o
  CC      arch/x86/kernel/signal.o
  LD [M]  sound/pci/hda/snd-hda-intel.o
  CC [M]  sound/core/pcm_memory.o
  AR      sound/pci/korg1212/built-in.a
  CC [M]  sound/core/memalloc.o
  AR      sound/pci/mixart/built-in.a
  CC      kernel/irq/irqdesc.o
  AR      sound/pci/nm256/built-in.a
  AR      sound/pci/oxygen/built-in.a
  AR      sound/pci/pcxhr/built-in.a
  CC      kernel/irq/handle.o
  CC      drivers/acpi/acpica/evgpe.o
  AR      sound/pci/riptide/built-in.a
  AR      sound/pci/rme9652/built-in.a
  AR      sound/pci/trident/built-in.a
  CC [M]  drivers/video/fbdev/core/fbcmap.o
  AR      sound/pci/ymfpci/built-in.a
  CC [M]  net/netfilter/nf_conntrack_helper.o
  AR      sound/pci/vx222/built-in.a
  AR      sound/pci/built-in.a
  CC      block/blk-mq.o
  AR      drivers/pci/hotplug/built-in.a
  CC      arch/x86/kernel/signal_64.o
  CC [M]  net/netfilter/nf_conntrack_proto.o
  CC      drivers/clk/clkdev.o
  CC      io_uring/timeout.o
  CC      fs/configfs/item.o
  AR      drivers/pci/pcie/built-in.a
  CC      net/core/sock_diag.o
  CC      net/xfrm/xfrm_user.o
  AR      drivers/pci/controller/dwc/built-in.a
  AR      drivers/pci/controller/mobiveil/built-in.a
  CC      drivers/pci/controller/vmd.o
  CC [M]  net/netfilter/nf_conntrack_proto_generic.o
  CC [M]  net/netfilter/nf_conntrack_proto_tcp.o
  CC      crypto/cts.o
  CC      kernel/printk/printk_ringbuffer.o
  CC      drivers/acpi/acpica/evgpeblk.o
  CC      mm/mmzone.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      mm/vmstat.o
  CC [M]  net/netfilter/nf_conntrack_proto_udp.o
  CC [M]  sound/core/pcm_timer.o
  CC      fs/proc/interrupts.o
  CC      kernel/rcu/update.o
  AR      sound/synth/emux/built-in.a
  AR      sound/synth/built-in.a
  CC      kernel/printk/sysctl.o
  LD [M]  sound/core/snd-ctl-led.o
  AR      drivers/pci/switch/built-in.a
  AR      sound/usb/misc/built-in.a
  CC      drivers/video/cmdline.o
  AR      sound/usb/usx2y/built-in.a
  CC [M]  net/netfilter/nf_conntrack_proto_icmp.o
  AR      sound/usb/caiaq/built-in.a
  CC [M]  net/netfilter/nf_conntrack_extend.o
  AR      sound/usb/6fire/built-in.a
  CC      drivers/clk/clk.o
  AR      sound/usb/hiface/built-in.a
  CC      net/ipv6/ip6_fib.o
  AR      sound/usb/bcd2000/built-in.a
  AR      sound/usb/built-in.a
  CC      net/ipv4/ip_options.o
  CC      kernel/irq/manage.o
  AR      fs/configfs/built-in.a
  CC      drivers/acpi/acpica/evgpeinit.o
  CC      mm/backing-dev.o
  CC [M]  arch/x86/kvm/x86.o
  CC      drivers/video/nomodeset.o
  CC      fs/jbd2/transaction.o
  CC      fs/jbd2/commit.o
  CC [M]  drivers/dma/ioat/dca.o
  CC      net/ethtool/pause.o
  CC      net/ethtool/eee.o
  CC      fs/jbd2/recovery.o
  CC [M]  drivers/video/fbdev/core/fbsysfs.o
  LD [M]  sound/core/snd-hwdep.o
  CC      drivers/acpi/acpica/evgpeutil.o
  CC      net/ethtool/tsinfo.o
  CC      fs/proc/loadavg.o
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC      net/ipv4/ip_output.o
  CC      crypto/lrw.o
  CC      lib/xz/xz_dec_syms.o
  CC      drivers/video/hdmi.o
  CC [M]  arch/x86/kvm/emulate.o
  CC      fs/proc/meminfo.o
  CC      io_uring/sqpoll.o
  CC [M]  net/netfilter/nf_conntrack_acct.o
  AR      drivers/pci/controller/built-in.a
  CC      drivers/pci/access.o
  CC      fs/ext4/block_validity.o
  CC      fs/ext4/dir.o
  CC      drivers/acpi/acpica/evglock.o
  CC      io_uring/fdinfo.o
  CC      drivers/pci/bus.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      drivers/dma/dmaengine.o
  CC      lib/xz/xz_dec_stream.o
  CC [M]  arch/x86/kvm/i8259.o
  CC [M]  net/netfilter/nf_conntrack_seqadj.o
  CC [M]  drivers/dma/ioat/sysfs.o
  CC [M]  arch/x86/kvm/irq.o
  CC      lib/zstd/compress/zstd_compress_sequences.o
  CC      drivers/acpi/osl.o
  AR      kernel/printk/built-in.a
  CC      net/ethtool/cabletest.o
  CC [M]  drivers/video/fbdev/core/modedb.o
  CC [M]  drivers/video/fbdev/core/fbcvt.o
  CC      drivers/acpi/utils.o
  CC      crypto/xts.o
  CC      io_uring/tctx.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC [M]  arch/x86/kvm/lapic.o
  CC      drivers/acpi/acpica/evhandler.o
  AR      kernel/livepatch/built-in.a
  CC      drivers/pci/probe.o
  CC      fs/proc/stat.o
  CC      kernel/rcu/sync.o
  CC      lib/xz/xz_dec_lzma2.o
  CC [M]  net/netfilter/nf_conntrack_proto_icmpv6.o
  CC      net/ipv4/ip_sockglue.o
  CC      lib/xz/xz_dec_bcj.o
  CC      drivers/acpi/acpica/evmisc.o
  CC      lib/zstd/compress/zstd_compress_superblock.o
  CC      mm/mm_init.o
  CC      kernel/irq/spurious.o
  CC      drivers/pci/host-bridge.o
  CC      net/ipv4/inet_hashtables.o
  CC      mm/percpu.o
  CC      drivers/pci/remove.o
  LD [M]  drivers/dma/ioat/ioatdma.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      kernel/irq/resend.o
  CC      kernel/rcu/srcutree.o
  CC      kernel/rcu/tree.o
  CC [M]  net/netfilter/nf_conntrack_proto_dccp.o
  CC      net/ipv4/inet_timewait_sock.o
  CC      lib/zstd/compress/zstd_double_fast.o
  CC      fs/ext4/ext4_jbd2.o
  CC      net/ipv4/inet_connection_sock.o
  CC      lib/zstd/compress/zstd_fast.o
  CC      drivers/acpi/acpica/evregion.o
  CC      io_uring/poll.o
  CC      fs/jbd2/checkpoint.o
  CC      fs/proc/uptime.o
  CC      crypto/ctr.o
  AR      sound/core/built-in.a
  LD [M]  sound/core/snd-pcm.o
  CC      fs/proc/util.o
  CC      io_uring/cancel.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      fs/ext4/extents.o
  AR      sound/firewire/built-in.a
  AR      sound/sparc/built-in.a
  AR      sound/spi/built-in.a
  CC [M]  arch/x86/kvm/i8254.o
  AR      sound/parisc/built-in.a
  CC      fs/ext4/extents_status.o
  AR      sound/pcmcia/vx/built-in.a
  AR      sound/pcmcia/pdaudiocf/built-in.a
  AR      sound/pcmcia/built-in.a
  AR      sound/mips/built-in.a
  AR      sound/soc/built-in.a
  CC      drivers/dma/virt-dma.o
  AR      sound/atmel/built-in.a
  AR      sound/hda/built-in.a
  CC [M]  sound/hda/hda_bus_type.o
  CC      drivers/dma/acpi-dma.o
  CC [M]  net/netfilter/nf_conntrack_proto_sctp.o
  CC [M]  drivers/video/fbdev/core/fb_cmdline.o
  AR      lib/xz/built-in.a
  CC      net/ipv6/ipv6_sockglue.o
  CC      kernel/irq/chip.o
  CC [M]  sound/hda/hdac_bus.o
  CC      drivers/acpi/acpica/evrgnini.o
  CC      io_uring/kbuf.o
  CC [M]  sound/hda/hdac_device.o
  CC      net/ethtool/tunnels.o
  CC      net/ethtool/fec.o
  AR      net/xfrm/built-in.a
  AR      net/bridge/netfilter/built-in.a
  CC      net/bridge/br.o
  CC      drivers/acpi/acpica/evsci.o
  CC [M]  net/sunrpc/auth_gss/auth_gss.o
  CC      fs/proc/version.o
  CC      crypto/gcm.o
  CC      net/sunrpc/clnt.o
  CC      drivers/acpi/acpica/evxface.o
  CC      net/sunrpc/xprt.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      net/sunrpc/socklib.o
  CC      drivers/pci/pci.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC [M]  net/netfilter/nf_conntrack_netlink.o
  CC      net/8021q/vlan_core.o
  CC      arch/x86/kernel/traps.o
  CC      arch/x86/kernel/idt.o
  CC [M]  drivers/video/fbdev/core/fb_defio.o
  CC      arch/x86/kernel/irq.o
  AR      drivers/dma/built-in.a
  CC [M]  net/8021q/vlan.o
  CC      fs/proc/softirqs.o
  CC      fs/jbd2/revoke.o
  CC      arch/x86/kernel/irq_64.o
  CC      net/ipv4/tcp.o
  CC      net/sunrpc/xprtsock.o
  CC      drivers/clk/clk-divider.o
  CC      kernel/rcu/rcu_segcblist.o
  CC      crypto/pcrypt.o
  CC      io_uring/rsrc.o
  CC [M]  sound/hda/hdac_sysfs.o
  CC      block/blk-mq-tag.o
  CC      kernel/irq/dummychip.o
  CC      drivers/acpi/acpica/evxfevnt.o
  CC      io_uring/rw.o
  CC      arch/x86/kernel/dumpstack_64.o
  CC [M]  net/8021q/vlan_dev.o
  CC      net/ipv4/tcp_input.o
  CC [M]  net/8021q/vlan_netlink.o
  CC      net/ethtool/eeprom.o
  CC      fs/proc/namespaces.o
  CC      net/ipv6/ndisc.o
  CC [M]  sound/hda/hdac_regmap.o
  CC      fs/ext4/file.o
  CC      fs/ext4/fsmap.o
  CC      net/bridge/br_device.o
  CC      crypto/cryptd.o
  CC      crypto/des_generic.o
  CC      net/ipv4/tcp_output.o
  CC      net/ipv4/tcp_timer.o
  CC      drivers/clk/clk-fixed-factor.o
  CC      drivers/acpi/acpica/evxfgpe.o
  CC      kernel/irq/devres.o
  CC [M]  drivers/video/fbdev/core/fbcon.o
  CC      fs/jbd2/journal.o
  CC [M]  drivers/video/fbdev/simplefb.o
  CC      fs/ext4/fsync.o
  CC      net/bridge/br_fdb.o
  CC [M]  sound/hda/hdac_controller.o
  CC      arch/x86/kernel/time.o
  CC      net/sunrpc/sched.o
  CC [M]  net/8021q/vlanproc.o
  CC      kernel/irq/autoprobe.o
  CC      mm/slab_common.o
  CC      fs/proc/self.o
  CC      drivers/pci/pci-driver.o
  CC [M]  arch/x86/kvm/ioapic.o
  CC      block/blk-stat.o
  CC      drivers/clk/clk-fixed-rate.o
  CC      kernel/dma/mapping.o
  CC [M]  sound/hda/hdac_stream.o
  CC      drivers/acpi/acpica/evxfregn.o
  CC [M]  sound/hda/array.o
  CC      net/ipv6/udp.o
  AR      net/8021q/built-in.a
  CC      net/ethtool/stats.o
  CC [M]  sound/hda/hdmi_chmap.o
  CC      drivers/clk/clk-gate.o
  CC      drivers/clk/clk-multiplier.o
  CC      fs/ext4/hash.o
  CC      kernel/irq/irqdomain.o
  CC      arch/x86/kernel/ioport.o
  CC      fs/ext4/ialloc.o
  CC      fs/proc/thread_self.o
  CC      crypto/aes_generic.o
  CC [M]  arch/x86/kvm/irq_comm.o
  CC [M]  net/sunrpc/auth_gss/gss_generic_token.o
  CC      drivers/acpi/acpica/exconcat.o
  CC      drivers/pci/search.o
  CC [M]  sound/hda/trace.o
  CC      drivers/clk/clk-mux.o
  LD [M]  net/8021q/8021q.o
  CC      fs/proc/proc_sysctl.o
  CC      net/dcb/dcbnl.o
  CC      io_uring/opdef.o
  CC      fs/ext4/indirect.o
  CC      block/blk-mq-sysfs.o
  CC      net/dcb/dcbevent.o
  CC      lib/raid6/algos.o
  CC      lib/fonts/fonts.o
  CC      lib/fonts/font_8x8.o
  CC      block/blk-mq-cpumap.o
  CC [M]  net/sunrpc/auth_gss/gss_mech_switch.o
  CC      drivers/acpi/acpica/exconfig.o
  CC      mm/compaction.o
  CC      arch/x86/kernel/dumpstack.o
  CC      net/ethtool/phc_vclocks.o
  CC      net/sunrpc/auth.o
  CC [M]  net/netfilter/nf_nat_core.o
  CC      kernel/dma/direct.o
  CC      crypto/deflate.o
  CC      block/blk-mq-sched.o
  CC      drivers/pci/pci-sysfs.o
  CC      lib/raid6/recov.o
  CC      io_uring/notif.o
  CC      fs/proc/proc_net.o
  CC      lib/fonts/font_8x16.o
  CC      drivers/clk/clk-composite.o
  CC [M]  arch/x86/kvm/cpuid.o
  CC [M]  drivers/video/fbdev/core/bitblit.o
  CC [M]  arch/x86/kvm/pmu.o
  CC      drivers/pci/rom.o
  CC [M]  arch/x86/kvm/mtrr.o
  CC      crypto/crc32c_generic.o
  CC      drivers/acpi/acpica/exconvrt.o
  CC [M]  sound/hda/hdac_component.o
  CC [M]  net/netfilter/nf_nat_proto.o
  CC      kernel/irq/proc.o
  CC      net/ethtool/mm.o
  CC      net/ethtool/module.o
  CC      crypto/crct10dif_common.o
  CC      lib/zstd/compress/zstd_lazy.o
  CC      net/ipv6/udplite.o
  HOSTCC  lib/raid6/mktables
  CC      crypto/crct10dif_generic.o
  AR      lib/fonts/built-in.a
  CC [M]  net/sunrpc/auth_gss/svcauth_gss.o
  CC      drivers/clk/clk-fractional-divider.o
  CC      lib/zstd/compress/zstd_ldm.o
  CC      lib/argv_split.o
  CC      arch/x86/kernel/nmi.o
  CC      net/ipv6/raw.o
  UNROLL  lib/raid6/int1.c
  UNROLL  lib/raid6/int2.c
  UNROLL  lib/raid6/int4.c
  UNROLL  lib/raid6/int8.c
  UNROLL  lib/raid6/int16.c
  UNROLL  lib/raid6/int32.c
  CC      lib/raid6/recov_ssse3.o
  CC      net/ethtool/pse-pd.o
  CC      drivers/clk/clk-gpio.o
  CC      net/bridge/br_forward.o
  CC      kernel/dma/ops_helpers.o
  CC      arch/x86/kernel/ldt.o
  CC      net/bridge/br_if.o
  AR      kernel/rcu/built-in.a
  CC      drivers/acpi/acpica/excreate.o
  CC [M]  net/netfilter/nf_nat_helper.o
  CC      crypto/authenc.o
  CC      drivers/acpi/reboot.o
  CC      fs/proc/kcore.o
  CC      lib/raid6/recov_avx2.o
  CC      kernel/irq/migration.o
  CC      block/ioctl.o
  CC      io_uring/io-wq.o
  CC [M]  sound/hda/hdac_i915.o
  CC      lib/zstd/compress/zstd_opt.o
  CC      lib/bug.o
  AR      fs/jbd2/built-in.a
  CC      drivers/acpi/nvs.o
  CC [M]  net/sunrpc/auth_gss/gss_rpc_upcall.o
  CC      arch/x86/kernel/setup.o
  CC [M]  drivers/video/fbdev/core/softcursor.o
  CC      fs/proc/kmsg.o
  CC      drivers/pci/setup-res.o
  AR      drivers/clk/built-in.a
  CC      drivers/pci/irq.o
  CC [M]  arch/x86/kvm/hyperv.o
  CC [M]  drivers/video/fbdev/core/tileblit.o
  CC      drivers/acpi/acpica/exdebug.o
  CC      arch/x86/kernel/x86_init.o
  CC      net/ipv4/tcp_ipv4.o
  CC      net/core/dev_ioctl.o
  CC [M]  arch/x86/kvm/debugfs.o
  CC      lib/zstd/zstd_decompress_module.o
  CC      kernel/dma/dummy.o
  CC [M]  net/sunrpc/auth_gss/gss_rpc_xdr.o
  CC      fs/ext4/inline.o
  AR      net/dcb/built-in.a
  CC      drivers/acpi/wakeup.o
  CC      kernel/irq/cpuhotplug.o
  CC      lib/buildid.o
  CC      block/genhd.o
  CC      arch/x86/kernel/i8259.o
  CC      crypto/authencesn.o
  CC      lib/raid6/mmx.o
  CC      lib/raid6/sse1.o
  CC      crypto/lzo.o
  CC      lib/raid6/sse2.o
  CC [M]  sound/hda/intel-dsp-config.o
  CC      net/ethtool/plca.o
  CC      net/core/tso.o
  CC      drivers/acpi/acpica/exdump.o
  CC [M]  net/sunrpc/auth_gss/trace.o
  CC      arch/x86/kernel/irqinit.o
  CC [M]  sound/hda/intel-nhlt.o
  CC      drivers/acpi/sleep.o
  CC      lib/cmdline.o
  CC      fs/proc/page.o
  CC      crypto/lzo-rle.o
  CC      kernel/irq/pm.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_mech.o
  CC      kernel/dma/contiguous.o
  CC      lib/cpumask.o
  CC      arch/x86/kernel/jump_label.o
  AR      sound/x86/built-in.a
  CC [M]  drivers/video/fbdev/core/cfbfillrect.o
  CC      net/sunrpc/auth_null.o
  CC      drivers/pci/vpd.o
  CC [M]  net/netfilter/nf_nat_redirect.o
  CC      drivers/acpi/device_sysfs.o
  CC      block/ioprio.o
  CC      net/bridge/br_input.o
  CC      kernel/irq/msi.o
  CC      kernel/dma/swiotlb.o
  CC      kernel/dma/remap.o
  CC      drivers/acpi/acpica/exfield.o
  CC      drivers/acpi/device_pm.o
  CC      drivers/pci/setup-bus.o
  CC      crypto/lz4.o
  CC      drivers/pci/vc.o
  CC      net/sunrpc/auth_unix.o
  CC      block/badblocks.o
  CC [M]  sound/hda/intel-sdw-acpi.o
  CC      lib/raid6/avx2.o
  CC      lib/raid6/avx512.o
  CC [M]  arch/x86/kvm/mmu/mmu.o
  CC      net/core/sock_reuseport.o
  CC      arch/x86/kernel/irq_work.o
  CC      net/core/fib_notifier.o
  CC      block/blk-rq-qos.o
  CC      lib/ctype.o
  CC      drivers/pci/mmap.o
  CC      fs/ramfs/inode.o
  CC      net/ipv6/icmp.o
  CC      fs/hugetlbfs/inode.o
  AR      io_uring/built-in.a
  CC      net/ipv6/mcast.o
  CC      drivers/acpi/acpica/exfldio.o
  AR      net/ethtool/built-in.a
  CC      net/core/xdp.o
  CC      net/l3mdev/l3mdev.o
  CC      net/core/flow_offload.o
  CC      crypto/lz4hc.o
  CC      drivers/pci/setup-irq.o
  CC      kernel/entry/common.o
  CC      kernel/module/main.o
  AR      fs/proc/built-in.a
  CC      kernel/module/strict_rwx.o
  CC      lib/zstd/decompress/huf_decompress.o
  CC      mm/interval_tree.o
  CC      drivers/acpi/proc.o
  CC      fs/fat/cache.o
  CC [M]  drivers/video/fbdev/core/cfbcopyarea.o
  CC      fs/fat/dir.o
  LD [M]  sound/hda/snd-hda-core.o
  CC      net/sunrpc/svc.o
  CC      net/sunrpc/svcsock.o
  CC      kernel/module/tree_lookup.o
  LD [M]  sound/hda/snd-intel-dspcfg.o
  LD [M]  sound/hda/snd-intel-sdw-acpi.o
  CC      fs/fat/fatent.o
  CC      net/ipv4/tcp_minisocks.o
  AR      sound/xen/built-in.a
  AR      sound/virtio/built-in.a
  CC      sound/sound_core.o
  CC      lib/zstd/decompress/zstd_ddict.o
  CC      lib/raid6/recov_avx512.o
  CC [M]  net/netfilter/nf_nat_masquerade.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      crypto/xxhash_generic.o
  CC      drivers/acpi/acpica/exmisc.o
  CC      net/sunrpc/svcauth.o
  CC      net/ipv4/tcp_cong.o
  CC      block/disk-events.o
  CC      fs/ramfs/file-mmu.o
  CC      lib/zstd/decompress/zstd_decompress.o
  CC      arch/x86/kernel/probe_roms.o
  AR      kernel/dma/built-in.a
  TABLE   lib/raid6/tables.c
  CC      kernel/irq/affinity.o
  CC      fs/ext4/inode.o
  CC      net/ipv4/tcp_metrics.o
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC      drivers/pci/proc.o
  CC      net/core/gro.o
  CC      sound/last.o
  CC      net/ipv4/tcp_fastopen.o
  AR      net/l3mdev/built-in.a
  CC      net/sunrpc/svcauth_unix.o
  CC      net/bridge/br_ioctl.o
  CC      net/bridge/br_stp.o
  CC      fs/fat/file.o
  CC      drivers/acpi/bus.o
  CC      crypto/rng.o
  CC      drivers/acpi/acpica/exmutex.o
  CC      mm/list_lru.o
  CC      kernel/entry/kvm.o
  CC      lib/raid6/int1.o
  CC [M]  drivers/video/fbdev/core/cfbimgblt.o
  CC [M]  drivers/video/fbdev/core/sysfillrect.o
  AR      fs/ramfs/built-in.a
  CC      kernel/irq/matrix.o
  CC      arch/x86/kernel/sys_ia32.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_seal.o
  CC      drivers/acpi/acpica/exnames.o
  AR      sound/built-in.a
  CC      drivers/pci/slot.o
  CC      drivers/acpi/acpica/exoparg1.o
  CC      mm/workingset.o
  AR      fs/hugetlbfs/built-in.a
  CC      block/blk-ia-ranges.o
  CC      lib/raid6/int2.o
  CC      fs/fat/inode.o
  CC      fs/fat/misc.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_unseal.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_seqnum.o
  CC      net/ipv4/tcp_rate.o
  CC      fs/nfs/client.o
  CC      arch/x86/kernel/signal_32.o
  CC      fs/nfs/dir.o
  CC      fs/nfs/file.o
  CC      crypto/drbg.o
  CC      net/core/netdev-genl.o
  CC [M]  net/netfilter/x_tables.o
  CC      fs/fat/nfs.o
  CC      drivers/acpi/acpica/exoparg2.o
  CC      net/bridge/br_stp_bpdu.o
  CC      net/ipv4/tcp_recovery.o
  CC      net/bridge/br_stp_if.o
  CC      net/bridge/br_stp_timer.o
  AR      kernel/entry/built-in.a
  CC [M]  net/netfilter/xt_tcpudp.o
  CC      mm/debug.o
  CC      lib/raid6/int4.o
  CC [M]  drivers/video/fbdev/core/syscopyarea.o
  CC      lib/raid6/int8.o
  CC      kernel/module/debug_kmemleak.o
  CC      drivers/pci/pci-acpi.o
  CC      drivers/pci/quirks.o
  CC [M]  arch/x86/kvm/mmu/page_track.o
  CC      block/bsg.o
  CC      block/bsg-lib.o
  CC      lib/dec_and_lock.o
  CC      net/sunrpc/addr.o
  CC      fs/ext4/ioctl.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_wrap.o
  CC [M]  drivers/video/fbdev/core/sysimgblt.o
  CC      crypto/jitterentropy.o
  CC      fs/fat/namei_vfat.o
  CC [M]  net/netfilter/xt_mark.o
  CC      drivers/acpi/acpica/exoparg3.o
  CC [M]  arch/x86/kvm/mmu/spte.o
  CC      fs/ext4/mballoc.o
  CC      fs/ext4/migrate.o
  CC [M]  arch/x86/kvm/mmu/tdp_iter.o
  AR      kernel/irq/built-in.a
  CC      drivers/acpi/glue.o
  CC      kernel/time/time.o
  CC      arch/x86/kernel/sys_x86_64.o
  CC      kernel/time/timer.o
  CC      arch/x86/kernel/espfix_64.o
  CC      arch/x86/kernel/ksysfs.o
  CC      kernel/module/kallsyms.o
  CC      net/sunrpc/rpcb_clnt.o
  CC      net/ipv4/tcp_ulp.o
  CC      fs/ext4/mmp.o
  CC      net/core/netdev-genl-gen.o
  CC      lib/raid6/int16.o
  CC      mm/gup.o
  CC      drivers/acpi/acpica/exoparg6.o
  CC      lib/decompress.o
  CC      crypto/jitterentropy-kcapi.o
  CC      block/blk-cgroup.o
  CC      fs/fat/namei_msdos.o
  CC      net/bridge/br_netlink.o
  CC      net/bridge/br_netlink_tunnel.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_crypto.o
  CC      kernel/futex/core.o
  CC      drivers/acpi/acpica/exprep.o
  CC [M]  drivers/video/fbdev/core/fb_sys_fops.o
  CC      crypto/ghash-generic.o
  CC      drivers/acpi/acpica/exregion.o
  CC      crypto/af_alg.o
  CC      kernel/cgroup/cgroup.o
  CC      kernel/cgroup/rstat.o
  CC      drivers/pci/ats.o
  CC      crypto/algif_hash.o
  CC      kernel/cgroup/namespace.o
  CC [M]  net/netfilter/xt_nat.o
  CC [M]  net/netfilter/xt_REDIRECT.o
  CC [M]  arch/x86/kvm/mmu/tdp_mmu.o
  CC      arch/x86/kernel/bootflag.o
  CC      net/ipv4/tcp_offload.o
  CC      net/ipv4/tcp_plb.o
  CC      block/blk-cgroup-rwstat.o
  CC      net/ipv4/datagram.o
  CC      lib/raid6/int32.o
  CC      kernel/cgroup/cgroup-v1.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      net/core/net-sysfs.o
  CC      kernel/module/procfs.o
  CC      net/core/net-procfs.o
  CC      mm/mmap_lock.o
  CC      block/blk-throttle.o
  CC      net/ipv6/reassembly.o
  CC      fs/ext4/move_extent.o
  CC      drivers/acpi/scan.o
  CC      drivers/acpi/acpica/exresnte.o
  CC      net/sunrpc/timer.o
  CC      block/mq-deadline.o
  AR      fs/fat/built-in.a
  CC      fs/exportfs/expfs.o
  CC      fs/lockd/clntlock.o
  CC      arch/x86/kernel/e820.o
  LD [M]  drivers/video/fbdev/core/fb.o
  CC      fs/lockd/clntproc.o
  CC      kernel/cgroup/freezer.o
  AR      drivers/video/fbdev/core/built-in.a
  CC      fs/nls/nls_base.o
  AR      drivers/video/fbdev/built-in.a
  AR      drivers/video/built-in.a
  CC      lib/raid6/tables.o
  CC [M]  net/netfilter/xt_addrtype.o
  CC      crypto/algif_skcipher.o
  CC      drivers/acpi/acpica/exresolv.o
  CC      kernel/futex/syscalls.o
  CC      kernel/trace/trace_clock.o
  CC      kernel/module/sysfs.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_keys.o
  CC      kernel/events/core.o
  CC      block/kyber-iosched.o
  CC      kernel/bpf/core.o
  CC      kernel/events/ring_buffer.o
  CC [M]  net/netfilter/xt_conntrack.o
  CC      drivers/pci/iov.o
  CC      net/core/netpoll.o
  CC      net/ipv4/raw.o
  CC      fs/nls/nls_cp437.o
  CC      net/ipv4/udp.o
  CC      block/bfq-iosched.o
  CC      net/sunrpc/xdr.o
  CC      kernel/trace/ftrace.o
  AR      fs/exportfs/built-in.a
  CC      fs/nls/nls_ascii.o
  CC      drivers/acpi/acpica/exresop.o
  CC      kernel/cgroup/legacy_freezer.o
  AR      fs/unicode/built-in.a
  CC      block/bfq-wf2q.o
  CC      mm/highmem.o
  CC      kernel/time/hrtimer.o
  CC      kernel/trace/ring_buffer.o
  CC      kernel/time/timekeeping.o
  AR      lib/raid6/built-in.a
  CC      net/bridge/br_arp_nd_proxy.o
  CC      net/bridge/br_sysfs_if.o
  CC [M]  net/netfilter/xt_ipvs.o
  CC      crypto/xor.o
  CC      fs/nfs/getroot.o
  CC      fs/nfs/inode.o
  CC      kernel/cgroup/pids.o
  AR      kernel/module/built-in.a
  CC      net/bridge/br_sysfs_br.o
  CC      kernel/time/ntp.o
  CC      fs/nls/nls_iso8859-1.o
  CC      net/bridge/br_nf_core.o
  CC      kernel/futex/pi.o
  CC      net/ipv6/tcp_ipv6.o
  CC      kernel/futex/requeue.o
  LD [M]  net/sunrpc/auth_gss/auth_rpcgss.o
  CC      drivers/acpi/acpica/exserial.o
  CC      kernel/futex/waitwake.o
  CC      arch/x86/kernel/pci-dma.o
  LD [M]  net/sunrpc/auth_gss/rpcsec_gss_krb5.o
  CC      block/bfq-cgroup.o
  CC      net/sunrpc/sunrpc_syms.o
  CC [M]  arch/x86/kvm/smm.o
  CC      drivers/acpi/resource.o
  CC      fs/lockd/clntxdr.o
  CC      lib/zstd/zstd_common_module.o
  CC      mm/memory.o
  CC      net/bridge/br_multicast.o
  CC      fs/nls/nls_utf8.o
  CC      kernel/cgroup/cpuset.o
  CC      crypto/hash_info.o
  CC      crypto/simd.o
  CC      drivers/pci/pci-label.o
  CC      arch/x86/kernel/quirks.o
  CC      net/core/fib_rules.o
  CC      fs/lockd/host.o
  CC      net/core/net-traces.o
  CC      drivers/acpi/acpica/exstore.o
  CC      net/ipv6/ping.o
  CC      lib/zstd/common/debug.o
  CC      drivers/acpi/acpica/exstoren.o
  CC      drivers/acpi/acpi_processor.o
  CC      net/core/selftests.o
  CC      net/bridge/br_mdb.o
  CC      net/bridge/br_multicast_eht.o
  AR      kernel/futex/built-in.a
  CC      kernel/time/clocksource.o
  AR      fs/nls/built-in.a
  CC      net/core/ptp_classifier.o
  CC      fs/ntfs/aops.o
  CC      arch/x86/kernel/topology.o
  CC [M]  crypto/md4.o
  CC [M]  net/bluetooth/af_bluetooth.o
  LD [M]  net/netfilter/nf_conntrack.o
  CC [M]  net/bluetooth/hci_core.o
  CC [M]  net/dns_resolver/dns_key.o
  CC      net/devres.o
  LD [M]  net/netfilter/nf_nat.o
  CC [M]  net/dns_resolver/dns_query.o
  AR      net/netfilter/built-in.a
  CC      arch/x86/kernel/kdebugfs.o
  CC [M]  crypto/ccm.o
  CC      drivers/acpi/acpica/exstorob.o
  CC      drivers/acpi/processor_core.o
  CC      net/bridge/br_vlan.o
  CC      net/bridge/br_vlan_tunnel.o
  CC      drivers/acpi/processor_pdc.o
  CC      fs/autofs/init.o
  CC      drivers/pci/pci-stub.o
  CC      fs/debugfs/inode.o
  CC      drivers/pci/vgaarb.o
  CC      fs/autofs/inode.o
  CC      net/bridge/br_vlan_options.o
  CC      fs/lockd/svc.o
  CC [M]  arch/x86/kvm/vmx/vmx.o
  CC [M]  crypto/arc4.o
  CC      kernel/fork.o
  CC      drivers/acpi/acpica/exsystem.o
  CC [M]  arch/x86/kvm/kvm-asm-offsets.s
  CC      arch/x86/kernel/alternative.o
  CC      block/blk-mq-pci.o
  CC      net/ipv6/exthdrs.o
  CC      kernel/time/jiffies.o
  CC      fs/lockd/svclock.o
  CC      kernel/time/timer_list.o
  CC      drivers/acpi/acpica/extrace.o
  LD [M]  net/dns_resolver/dns_resolver.o
  CC      net/bridge/br_mst.o
  CC [M]  net/bluetooth/hci_conn.o
  CC      fs/debugfs/file.o
  CC      fs/ntfs/attrib.o
  CC      block/blk-mq-virtio.o
  CC      fs/ext4/namei.o
  CC      drivers/acpi/ec.o
  AR      kernel/bpf/built-in.a
  CC      kernel/time/timeconv.o
  CC      net/sunrpc/cache.o
  CC      net/core/netprio_cgroup.o
  CC      fs/ntfs/collate.o
  CC      fs/autofs/root.o
  CC      drivers/acpi/acpica/exutils.o
  CC [M]  net/bridge/br_netfilter_hooks.o
  CC [M]  crypto/ecc.o
  CC      fs/ntfs/compress.o
  CC      net/core/dst_cache.o
  CC      lib/decompress_bunzip2.o
  CC [M]  net/bluetooth/hci_event.o
  CC      net/ipv6/datagram.o
  CC [M]  arch/x86/kvm/vmx/pmu_intel.o
  CC      kernel/trace/trace.o
  CC [M]  net/bridge/br_netfilter_ipv6.o
  CC      kernel/time/timecounter.o
  AR      drivers/pci/built-in.a
  AR      drivers/soc/apple/built-in.a
  CC      fs/nfs/super.o
  CC      drivers/acpi/acpica/hwacpi.o
  AR      drivers/soc/aspeed/built-in.a
  CC      kernel/time/alarmtimer.o
  AR      drivers/soc/bcm/bcm63xx/built-in.a
  CC      kernel/time/posix-timers.o
  AR      drivers/soc/bcm/built-in.a
  AR      drivers/soc/fsl/built-in.a
  AR      drivers/soc/fujitsu/built-in.a
  CC      drivers/acpi/acpica/hwesleep.o
  AR      drivers/soc/imx/built-in.a
  AR      drivers/soc/ixp4xx/built-in.a
  CC      fs/lockd/svcshare.o
  AR      drivers/soc/loongson/built-in.a
  CC      drivers/acpi/acpica/hwgpe.o
  CC      block/blk-mq-debugfs.o
  AR      drivers/soc/mediatek/built-in.a
  AR      drivers/soc/microchip/built-in.a
  AR      drivers/soc/nuvoton/built-in.a
  AR      drivers/soc/pxa/built-in.a
  AR      drivers/soc/amlogic/built-in.a
  AR      drivers/soc/qcom/built-in.a
  AR      drivers/soc/renesas/built-in.a
  CC      block/blk-pm.o
  AR      drivers/soc/rockchip/built-in.a
  AR      drivers/soc/sifive/built-in.a
  AR      drivers/soc/sunxi/built-in.a
  CC      drivers/virtio/virtio.o
  AR      drivers/soc/ti/built-in.a
  CC      fs/nfs/io.o
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  CC      block/holder.o
  CC      drivers/virtio/virtio_ring.o
  AR      fs/debugfs/built-in.a
  CC      kernel/time/posix-cpu-timers.o
  CC      fs/autofs/symlink.o
  CC      kernel/time/posix-clock.o
  CC      net/ipv4/udplite.o
  CC      kernel/time/itimer.o
  CC      fs/autofs/waitq.o
  CC      net/core/gro_cells.o
  CC      fs/tracefs/inode.o
  CC [M]  crypto/essiv.o
  CC      drivers/tty/vt/vt_ioctl.o
  CC      arch/x86/kernel/i8253.o
  CC      fs/autofs/expire.o
  AR      kernel/cgroup/built-in.a
  CC      drivers/acpi/acpica/hwregs.o
  CC      net/sunrpc/rpc_pipe.o
  CC      fs/autofs/dev-ioctl.o
  CC      kernel/trace/trace_output.o
  CC      fs/ntfs/debug.o
  CC      fs/pstore/inode.o
  CC      fs/ntfs/dir.o
  CC      drivers/tty/vt/vc_screen.o
  CC      fs/btrfs/super.o
  CC      drivers/acpi/acpica/hwsleep.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      fs/lockd/svcproc.o
  AR      block/built-in.a
  CC [M]  arch/x86/kvm/vmx/vmcs12.o
  CC      drivers/tty/hvc/hvc_console.o
  CC      kernel/time/clockevents.o
  CC [M]  arch/x86/kvm/vmx/hyperv.o
  CC      drivers/char/hw_random/core.o
  CC      drivers/char/agp/backend.o
  CC      arch/x86/kernel/tsc.o
  CC      drivers/char/tpm/tpm-chip.o
  CC      drivers/char/mem.o
  AR      fs/tracefs/built-in.a
  CC      net/core/failover.o
  CC      drivers/char/hw_random/intel-rng.o
  CC      arch/x86/kernel/tsc_msr.o
  CC      arch/x86/kernel/io_delay.o
  CC      fs/nfs/direct.o
  CC      drivers/acpi/acpica/hwvalid.o
  CC [M]  arch/x86/kvm/vmx/nested.o
  CC      net/ipv4/udp_offload.o
  AR      fs/autofs/built-in.a
  CC      drivers/char/agp/generic.o
  CC      net/ipv4/arp.o
  CC      net/ipv4/icmp.o
  CC [M]  crypto/ecdh.o
  CC      net/ipv6/ip6_flowlabel.o
  CC [M]  crypto/ecdh_helper.o
  CC [M]  arch/x86/kvm/vmx/posted_intr.o
  CC      drivers/char/random.o
  CC      fs/pstore/platform.o
  CC      drivers/tty/vt/selection.o
  CC      lib/decompress_inflate.o
  CC      lib/decompress_unlz4.o
  LD [M]  arch/x86/kvm/kvm.o
  CC      fs/ext4/page-io.o
  CC      fs/ext4/readpage.o
  CC      fs/btrfs/ctree.o
  CC      kernel/time/tick-common.o
  CC      drivers/virtio/virtio_anchor.o
  LD [M]  net/bridge/br_netfilter.o
  CC      drivers/acpi/acpica/hwxface.o
  CC      drivers/char/misc.o
  CC      kernel/exec_domain.o
  CC      drivers/virtio/virtio_pci_modern_dev.o
  CC      fs/ntfs/file.o
  UPD     arch/x86/kvm/kvm-asm-offsets.h
  CC [M]  net/bluetooth/mgmt.o
  CC      fs/pstore/pmsg.o
  AR      drivers/char/hw_random/built-in.a
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  CC      drivers/char/tpm/tpm-dev-common.o
  AR      drivers/tty/hvc/built-in.a
  CC      drivers/virtio/virtio_mmio.o
  CC      fs/btrfs/extent-tree.o
  LD [M]  crypto/ecdh_generic.o
  CC [M]  net/bluetooth/hci_sock.o
  AR      crypto/built-in.a
  CC      net/ipv6/inet6_connection_sock.o
  CC      net/ipv4/devinet.o
  CC      fs/lockd/svcsubs.o
  CC      net/ipv4/af_inet.o
  AS [M]  arch/x86/kvm/vmx/vmenter.o
  AR      net/core/built-in.a
  AR      net/bridge/built-in.a
  CC      net/socket.o
  CC      fs/btrfs/print-tree.o
  CC      drivers/tty/vt/keyboard.o
  CC      net/ipv6/udp_offload.o
  CC      drivers/char/virtio_console.o
  CC      arch/x86/kernel/rtc.o
  CC      fs/lockd/mon.o
  CC      net/compat.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC      drivers/acpi/acpica/hwpci.o
  CC      net/sunrpc/sysfs.o
  CC      net/ipv4/igmp.o
  AR      fs/pstore/built-in.a
  CC      drivers/char/hpet.o
  CC      kernel/trace/trace_seq.o
  CC      lib/decompress_unlzma.o
  CC      drivers/char/agp/isoch.o
  CC      mm/mincore.o
  CC      fs/ntfs/index.o
  CC      fs/ntfs/inode.o
  CC      net/ipv6/seg6.o
  CC      drivers/virtio/virtio_pci_modern.o
  CC      fs/efivarfs/inode.o
  CC      drivers/char/tpm/tpm-dev.o
  CC      fs/efivarfs/file.o
  CC      kernel/time/tick-broadcast.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC      net/ipv4/fib_frontend.o
  CC      fs/ext4/resize.o
  CC      arch/x86/kernel/resource.o
  CC      drivers/virtio/virtio_pci_common.o
  CC      kernel/time/tick-oneshot.o
  CC      drivers/char/nvram.o
  CC      kernel/trace/trace_stat.o
  AS      arch/x86/kernel/irqflags.o
  CC      arch/x86/kernel/static_call.o
  CC      kernel/trace/trace_printk.o
  CC      fs/nfs/pagelist.o
  CC      kernel/time/tick-sched.o
  CC [M]  fs/netfs/buffered_read.o
  CC      kernel/time/vsyscall.o
  CC      fs/nfs/read.o
  CC      drivers/char/agp/intel-agp.o
  CC [M]  fs/netfs/io.o
  CC      fs/nfs/symlink.o
  CC      lib/decompress_unlzo.o
  CC      fs/efivarfs/super.o
  CC      fs/lockd/xdr.o
  CC      drivers/char/tpm/tpm-interface.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC      lib/decompress_unxz.o
  CC [M]  fs/netfs/iterator.o
  CC      net/sysctl_net.o
  CC      arch/x86/kernel/process.o
  CC      mm/mlock.o
  CC      drivers/acpi/dock.o
  CC      fs/ntfs/mft.o
  CC      fs/ntfs/mst.o
  CC      fs/efivarfs/vars.o
  CC      net/sunrpc/svc_xprt.o
  CC      net/ipv6/fib6_notifier.o
  CC      net/ipv6/rpl.o
  CC      fs/btrfs/root-tree.o
  CC      fs/lockd/clnt4xdr.o
  CC      drivers/virtio/virtio_pci_legacy.o
  CC      drivers/tty/vt/consolemap.o
  CC      fs/nfs/unlink.o
  CC      drivers/acpi/acpica/nsarguments.o
  CC [M]  net/bluetooth/hci_sysfs.o
  CC      drivers/acpi/acpica/nsconvert.o
  CC      drivers/acpi/acpica/nsdump.o
  CC      kernel/trace/pid_list.o
  CC      fs/btrfs/dir-item.o
  CC      kernel/events/callchain.o
  CC      fs/ntfs/namei.o
  CC      drivers/char/agp/intel-gtt.o
  CC      fs/ntfs/runlist.o
  CC      net/sunrpc/xprtmultipath.o
  CC [M]  net/bluetooth/l2cap_core.o
  CC      drivers/char/tpm/tpm1-cmd.o
  CC      drivers/acpi/pci_root.o
  CC      fs/btrfs/file-item.o
  CC      fs/btrfs/inode-item.o
  CC      kernel/time/timekeeping_debug.o
  CC      fs/btrfs/disk-io.o
  CC      fs/nfs/write.o
  CC      net/ipv4/fib_semantics.o
  CC      drivers/acpi/pci_link.o
  CC      lib/zstd/common/entropy_common.o
  CC      drivers/acpi/acpica/nseval.o
  AR      fs/efivarfs/built-in.a
  CC      fs/lockd/xdr4.o
  CC      fs/ntfs/super.o
  CC      mm/mmap.o
  CC      fs/ntfs/sysctl.o
  CC [M]  drivers/virtio/virtio_mem.o
  CC [M]  fs/netfs/main.o
  CC      fs/nfs/namespace.o
  CC      net/ipv4/fib_trie.o
  CC      lib/zstd/common/error_private.o
  CC      lib/zstd/common/fse_decompress.o
  CC      lib/zstd/common/zstd_common.o
  CC      fs/ntfs/unistr.o
  CC      net/ipv6/ioam6.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC      kernel/events/hw_breakpoint.o
  CC      kernel/trace/trace_sched_switch.o
  CC      fs/ntfs/upcase.o
  CC      drivers/acpi/pci_irq.o
  CC      arch/x86/kernel/ptrace.o
  CC      mm/mmu_gather.o
  CC      drivers/acpi/acpica/nsinit.o
  CC      net/ipv4/fib_notifier.o
  CC      kernel/trace/trace_functions.o
  CC      drivers/tty/vt/vt.o
  CC      fs/ext4/super.o
  CC      kernel/time/namespace.o
  CC      mm/mprotect.o
  CC      mm/mremap.o
  CC      mm/msync.o
  CC      arch/x86/kernel/tls.o
  CC [M]  net/bluetooth/l2cap_sock.o
  AR      drivers/char/agp/built-in.a
  CC      kernel/trace/trace_preemptirq.o
  CC      drivers/char/tpm/tpm2-cmd.o
  CC      net/ipv4/inet_fragment.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC      drivers/acpi/acpi_lpss.o
  CC      mm/page_vma_mapped.o
  CC      drivers/acpi/acpica/nsload.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      drivers/acpi/acpica/nsobject.o
  CC [M]  net/bluetooth/smp.o
  CC      arch/x86/kernel/step.o
  CC      fs/btrfs/transaction.o
  CC      net/sunrpc/stats.o
  CC [M]  fs/netfs/objects.o
  AR      lib/zstd/built-in.a
  CC      fs/lockd/svc4proc.o
  CC      lib/decompress_unzstd.o
  CC      fs/nfs/mount_clnt.o
  CC      drivers/tty/serial/8250/8250_core.o
  CC      kernel/trace/trace_nop.o
  CC      net/ipv6/xfrm6_policy.o
  AR      kernel/time/built-in.a
  CC      kernel/panic.o
  AR      fs/ntfs/built-in.a
  CC      lib/dump_stack.o
  COPY    drivers/tty/vt/defkeymap.c
  CC      drivers/tty/serial/serial_core.o
  CC      drivers/acpi/acpica/nsparse.o
  CC      fs/btrfs/inode.o
  CC      drivers/char/tpm/tpmrm-dev.o
  AR      drivers/iommu/amd/built-in.a
  CC      drivers/acpi/acpica/nspredef.o
  AR      drivers/gpu/host1x/built-in.a
  CC      drivers/iommu/intel/dmar.o
  CC      drivers/acpi/acpica/nsprepkg.o
  AR      drivers/gpu/drm/tests/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_kunit_helpers.o
  AR      drivers/gpu/drm/arm/built-in.a
  CC      drivers/acpi/acpica/nsrepair.o
  AR      drivers/gpu/drm/display/built-in.a
  CC [M]  drivers/gpu/drm/display/drm_display_helper_mod.o
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/iommu/arm/built-in.a
  CC      mm/pagewalk.o
  CC      arch/x86/kernel/i8237.o
  CC      kernel/events/uprobes.o
  CC [M]  fs/fscache/cache.o
  CC      fs/nfs/nfstrace.o
  CC      drivers/char/tpm/tpm2-space.o
  CC      fs/lockd/procfs.o
  CC [M]  net/bluetooth/lib.o
  CC      drivers/acpi/acpi_apd.o
  CC      net/sunrpc/sysctl.o
  LD [M]  fs/netfs/netfs.o
  CC      kernel/trace/trace_functions_graph.o
  AR      drivers/virtio/built-in.a
  CC [M]  drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC      drivers/iommu/intel/iommu.o
  CC [M]  drivers/gpu/drm/display/drm_dp_helper.o
  CC [M]  net/bluetooth/ecdh_helper.o
  CC [M]  drivers/gpu/drm/tests/drm_buddy_test.o
  AR      drivers/iommu/iommufd/built-in.a
  CC      drivers/acpi/acpi_platform.o
  CC      fs/ext4/symlink.o
  CC      lib/earlycpio.o
  CC [M]  net/bluetooth/hci_request.o
  CC      drivers/acpi/acpica/nsrepair2.o
  CC [M]  net/bluetooth/mgmt_util.o
  CC      arch/x86/kernel/stacktrace.o
  CC      drivers/iommu/intel/pasid.o
  CC      mm/pgtable-generic.o
  CC      lib/extable.o
  CC      mm/rmap.o
  CC      fs/nfs/export.o
  CC      drivers/acpi/acpica/nssearch.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      drivers/iommu/intel/trace.o
  AR      drivers/gpu/drm/rcar-du/built-in.a
  CC      drivers/tty/serial/8250/8250_pnp.o
  AR      drivers/gpu/drm/omapdrm/built-in.a
  AR      drivers/gpu/drm/tilcdc/built-in.a
  AR      drivers/gpu/drm/imx/built-in.a
  CC      net/ipv4/ping.o
  AR      drivers/gpu/drm/i2c/built-in.a
  CC      net/ipv4/ip_tunnel_core.o
  AR      drivers/gpu/drm/panel/built-in.a
  CC      mm/vmalloc.o
  CC      net/ipv6/xfrm6_state.o
  LD [M]  arch/x86/kvm/kvm-intel.o
  AR      fs/lockd/built-in.a
  CC      net/ipv4/gre_offload.o
  CC      lib/flex_proportions.o
  CC      net/ipv6/xfrm6_input.o
  CC      fs/nfs/sysfs.o
  CC [M]  net/bluetooth/mgmt_config.o
  CC      mm/page_alloc.o
  CC      drivers/char/tpm/tpm-sysfs.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  AR      drivers/gpu/drm/hisilicon/built-in.a
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  AR      net/sunrpc/built-in.a
  CC [M]  fs/fscache/cookie.o
  CC      drivers/char/tpm/eventlog/common.o
  CC      lib/idr.o
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  AR      drivers/gpu/drm/mxsfb/built-in.a
  AR      drivers/gpu/drm/bridge/built-in.a
  CC      net/ipv6/xfrm6_output.o
  CC      arch/x86/kernel/reboot.o
  CC      arch/x86/kernel/msr.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      drivers/acpi/acpi_pnp.o
  CC      drivers/acpi/acpica/nswalk.o
  CC      drivers/char/tpm/eventlog/tpm1.o
  CC      fs/ext4/sysfs.o
  CC      fs/btrfs/file.o
  CC      arch/x86/kernel/cpuid.o
  CC [M]  net/bluetooth/hci_codec.o
  CC      lib/irq_regs.o
  CC      drivers/tty/serial/8250/8250_port.o
  CC [M]  drivers/gpu/drm/tests/drm_cmdline_parser_test.o
  CC      kernel/trace/fgraph.o
  CC      lib/is_single_threaded.o
  CC      fs/nfs/fs_context.o
  CC      fs/ext4/xattr.o
  CC      fs/btrfs/defrag.o
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  CC      drivers/tty/vt/defkeymap.o
  CC      drivers/acpi/power.o
  CC      drivers/iommu/intel/cap_audit.o
  CC      drivers/acpi/acpica/nsxfeval.o
  CC      kernel/trace/blktrace.o
  CC      drivers/iommu/intel/irq_remapping.o
  CC      fs/ext4/xattr_hurd.o
  CC [M]  net/bluetooth/eir.o
  CC      fs/btrfs/extent_map.o
  CC      drivers/acpi/event.o
  CC      drivers/tty/vt/consolemap_deftbl.o
  CC      drivers/acpi/evged.o
  AR      drivers/gpu/vga/built-in.a
  CC      net/ipv6/xfrm6_protocol.o
  CC      lib/klist.o
  AR      drivers/tty/vt/built-in.a
  CC      drivers/char/tpm/eventlog/tpm2.o
  CC      lib/kobject.o
  CC      fs/nfs/sysctl.o
  CC      fs/ext4/xattr_trusted.o
  CC      drivers/tty/serial/earlycon.o
  AR      kernel/events/built-in.a
  CC      drivers/tty/tty_io.o
  CC      fs/nfs/nfs2super.o
  CC      drivers/iommu/intel/perfmon.o
  CC      drivers/acpi/sysfs.o
  CC      lib/kobject_uevent.o
  CC      kernel/cpu.o
  CC      fs/nfs/proc.o
  CC      arch/x86/kernel/early-quirks.o
  CC [M]  drivers/gpu/drm/tests/drm_connector_test.o
  CC [M]  drivers/gpu/drm/tests/drm_damage_helper_test.o
  CC      drivers/tty/n_tty.o
  CC [M]  drivers/gpu/drm/display/drm_dp_mst_topology.o
  CC      drivers/acpi/acpica/nsxfname.o
  CC [M]  drivers/gpu/drm/display/drm_dsc_helper.o
  CC      drivers/acpi/acpica/nsxfobj.o
  CC      drivers/tty/serial/serial_mctrl_gpio.o
  CC      drivers/acpi/property.o
  CC      net/ipv4/metrics.o
  CC [M]  drivers/gpu/drm/tests/drm_dp_mst_helper_test.o
  CC [M]  drivers/gpu/drm/display/drm_hdcp_helper.o
  CC [M]  fs/fscache/io.o
  CC      kernel/trace/trace_events.o
  CC      fs/ext4/xattr_user.o
  CC      drivers/char/tpm/tpm_ppi.o
  CC      fs/ext4/fast_commit.o
  CC      kernel/exit.o
  CC      drivers/acpi/acpi_cmos_rtc.o
  CC      mm/init-mm.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC      drivers/tty/serial/8250/8250_dwlib.o
  CC [M]  drivers/gpu/drm/tests/drm_format_helper_test.o
  CC      drivers/acpi/acpica/psargs.o
  CC [M]  net/bluetooth/hci_sync.o
  CC      kernel/trace/trace_export.o
  CC [M]  fs/fscache/main.o
  CC      net/ipv4/netlink.o
  CC      arch/x86/kernel/smp.o
  CC      net/ipv4/nexthop.o
  CC      net/ipv6/netfilter.o
  CC      net/ipv6/fib6_rules.o
  CC [M]  fs/fscache/volume.o
  CC [M]  drivers/gpu/drm/tests/drm_format_test.o
  CC      lib/logic_pio.o
  CC      drivers/char/tpm/eventlog/acpi.o
  CC      drivers/acpi/x86/apple.o
  CC      mm/memblock.o
  CC      drivers/acpi/x86/utils.o
  CC      net/ipv6/proc.o
  CC      mm/memory_hotplug.o
  CC      mm/madvise.o
  CC [M]  fs/fscache/proc.o
  CC      fs/nfs/nfs2xdr.o
  CC [M]  drivers/gpu/drm/tests/drm_framebuffer_test.o
  CC      drivers/char/tpm/eventlog/efi.o
  CC      fs/ext4/orphan.o
  CC      drivers/acpi/acpica/psloop.o
  CC      drivers/acpi/acpica/psobject.o
  CC      arch/x86/kernel/smpboot.o
  AR      drivers/iommu/intel/built-in.a
  CC      fs/btrfs/sysfs.o
  CC      drivers/iommu/iommu.o
  CC      drivers/connector/cn_queue.o
  CC      drivers/acpi/x86/s2idle.o
  CC      kernel/trace/trace_event_perf.o
  CC      drivers/acpi/debugfs.o
  CC      drivers/tty/serial/8250/8250_pcilib.o
  CC      net/ipv6/syncookies.o
  CC [M]  drivers/gpu/drm/tests/drm_managed_test.o
  CC [M]  drivers/gpu/drm/tests/drm_mm_test.o
  CC      drivers/acpi/acpi_lpat.o
  CC      net/ipv4/udp_tunnel_stub.o
  CC [M]  drivers/gpu/drm/tests/drm_modes_test.o
  CC      net/ipv4/sysctl_net_ipv4.o
  CC      lib/maple_tree.o
  CC      drivers/acpi/acpica/psopcode.o
  CC      drivers/connector/connector.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/base/power/generic_ops.o
  CC      drivers/block/loop.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC      drivers/base/power/common.o
  CC      drivers/char/tpm/tpm_crb.o
  CC      drivers/block/virtio_blk.o
  CC      drivers/acpi/acpi_lpit.o
  CC      lib/memcat_p.o
  CC      net/ipv4/proc.o
  LD [M]  fs/fscache/fscache.o
  CC      kernel/softirq.o
  CC      drivers/acpi/acpica/psopinfo.o
  CC      drivers/tty/serial/8250/8250_pci.o
  CC      fs/nfs/nfs3super.o
  CC [M]  fs/smbfs_common/cifs_arc4.o
  CC [M]  fs/smbfs_common/cifs_md4.o
  AR      drivers/base/firmware_loader/builtin/built-in.a
  CC      drivers/tty/serial/8250/8250_exar.o
  CC      drivers/base/firmware_loader/main.o
  CC      drivers/acpi/prmt.o
  CC      drivers/connector/cn_proc.o
  CC      kernel/trace/trace_events_filter.o
  CC      lib/nmi_backtrace.o
  CC      drivers/acpi/acpica/psparse.o
  CC      fs/nfs/nfs3client.o
  CC      net/ipv4/syncookies.o
  CC      drivers/acpi/acpi_pcc.o
  CC      drivers/tty/serial/8250/8250_early.o
  CC      fs/nfs/nfs3proc.o
  CC      drivers/acpi/acpica/psscope.o
  CC      drivers/base/power/qos.o
  CC [M]  drivers/gpu/drm/tests/drm_plane_helper_test.o
  CC      drivers/acpi/acpica/pstree.o
  CC      drivers/tty/serial/8250/8250_dw.o
  AR      drivers/gpu/drm/tiny/built-in.a
  CC      kernel/trace/trace_events_trigger.o
  CC      lib/plist.o
  CC [M]  fs/cifs/trace.o
  CC [M]  fs/fuse/dev.o
  CC      arch/x86/kernel/tsc_sync.o
  CC [M]  fs/overlayfs/super.o
  CC      net/ipv6/mip6.o
  CC [M]  fs/overlayfs/namei.o
  CC [M]  fs/fuse/dir.o
  CC      kernel/resource.o
  CC      kernel/trace/trace_eprobe.o
  AR      drivers/char/tpm/built-in.a
  AR      drivers/char/built-in.a
  CC      net/ipv6/addrconf_core.o
  CC      arch/x86/kernel/setup_percpu.o
  CC      drivers/acpi/acpica/psutils.o
  CC      fs/nfs/nfs3xdr.o
  CC      drivers/acpi/acpica/pswalk.o
  CC      drivers/acpi/acpica/psxface.o
  CC      drivers/acpi/ac.o
  CC      mm/page_io.o
  CC      fs/open.o
  CC      drivers/iommu/iommu-traces.o
  CC      kernel/sysctl.o
  AR      drivers/gpu/drm/xlnx/built-in.a
  CC      drivers/tty/serial/8250/8250_lpss.o
  CC      drivers/acpi/acpica/rsaddr.o
  CC      mm/swap_state.o
  CC      drivers/base/regmap/regmap.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      mm/swapfile.o
  AR      drivers/gpu/drm/gud/built-in.a
  CC      drivers/acpi/acpica/rscalc.o
  CC      drivers/acpi/acpica/rscreate.o
  CC [M]  fs/fuse/file.o
  CC [M]  drivers/gpu/drm/tests/drm_probe_helper_test.o
  AR      drivers/misc/eeprom/built-in.a
  CC      kernel/capability.o
  AR      drivers/misc/cb710/built-in.a
  AR      drivers/misc/ti-st/built-in.a
  AR      drivers/misc/lis3lv02d/built-in.a
  AR      drivers/misc/cardreader/built-in.a
  AR      drivers/nfc/built-in.a
  CC      drivers/mfd/mfd-core.o
  CC      drivers/mfd/intel-lpss.o
  CC [M]  drivers/gpu/drm/display/drm_hdmi_helper.o
  CC [M]  drivers/misc/mei/hdcp/mei_hdcp.o
  CC [M]  drivers/gpu/drm/display/drm_scdc_helper.o
  CC [M]  drivers/gpu/drm/display/drm_dp_aux_dev.o
  CC      drivers/mfd/intel-lpss-pci.o
  AR      drivers/gpu/drm/solomon/built-in.a
  CC      arch/x86/kernel/ftrace.o
  CC [M]  drivers/misc/mei/pxp/mei_pxp.o
  AR      drivers/connector/built-in.a
  CC      drivers/acpi/button.o
  CC      drivers/mfd/intel-lpss-acpi.o
  CC      drivers/base/power/runtime.o
  CC [M]  drivers/gpu/drm/ttm/ttm_tt.o
  CC [M]  drivers/block/nbd.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo.o
  CC      kernel/ptrace.o
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC      drivers/base/regmap/regcache.o
  CC [M]  fs/overlayfs/util.o
  CC [M]  fs/overlayfs/inode.o
  CC [M]  fs/overlayfs/file.o
  CC      drivers/tty/serial/8250/8250_mid.o
  CC      net/ipv4/esp4.o
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  CC      net/ipv6/exthdrs_core.o
  CC      drivers/iommu/iommu-sysfs.o
  AR      drivers/block/built-in.a
  CC      net/ipv4/esp4_offload.o
  CC      drivers/acpi/acpica/rsinfo.o
  CC [M]  drivers/gpu/drm/tests/drm_rect_test.o
  CC      drivers/mfd/intel_soc_pmic_crc.o
  CC      drivers/tty/serial/8250/8250_pericom.o
  CC [M]  drivers/misc/mei/init.o
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC      drivers/iommu/dma-iommu.o
  CC      fs/btrfs/accessors.o
  CC      fs/btrfs/xattr.o
  CC      fs/btrfs/ordered-data.o
  CC      fs/btrfs/extent_io.o
  CC      net/ipv4/netfilter.o
  CC [M]  fs/overlayfs/dir.o
  CC      kernel/user.o
  CC      kernel/trace/trace_kprobe.o
  CC      kernel/signal.o
  CC      drivers/base/regmap/regcache-rbtree.o
  AS      arch/x86/kernel/ftrace_64.o
  CC      arch/x86/kernel/trace_clock.o
  CC      arch/x86/kernel/trace.o
  AR      drivers/dax/hmem/built-in.a
  CC      drivers/dax/super.o
  CC      arch/x86/kernel/rethook.o
  LD [M]  drivers/gpu/drm/display/drm_display_helper.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_util.o
  CC      drivers/tty/tty_ioctl.o
  CC      drivers/acpi/acpica/rsio.o
  CC      drivers/base/regmap/regcache-flat.o
  CC [M]  net/bluetooth/sco.o
  CC      drivers/iommu/ioasid.o
  CC [M]  drivers/misc/mei/hbm.o
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC [M]  fs/fuse/inode.o
  CC      arch/x86/kernel/crash_core_64.o
  CC      drivers/dma-buf/dma-buf.o
  AR      drivers/cxl/core/built-in.a
  AR      drivers/cxl/built-in.a
  CC      drivers/base/power/wakeirq.o
  CC [M]  drivers/misc/mei/interrupt.o
  AR      drivers/tty/serial/8250/built-in.a
  AR      drivers/tty/serial/built-in.a
  CC      drivers/base/power/main.o
  CC [M]  drivers/misc/mei/client.o
  CC      drivers/tty/tty_ldisc.o
  CC [M]  drivers/mfd/lpc_sch.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_vm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.o
  AR      fs/nfs/built-in.a
  CC [M]  fs/overlayfs/readdir.o
  CC [M]  drivers/gpu/drm/ttm/ttm_module.o
  CC [M]  drivers/gpu/drm/i915/i915_driver.o
  CC      drivers/acpi/acpica/rsirq.o
  CC      net/ipv6/ip6_checksum.o
  CC [M]  drivers/gpu/drm/i915/i915_drm_client.o
  CC      drivers/tty/tty_buffer.o
  CC [M]  drivers/mfd/lpc_ich.o
  CC      net/ipv6/ip6_icmp.o
  CC      drivers/base/power/wakeup.o
  AR      drivers/macintosh/built-in.a
  CC      drivers/scsi/scsi.o
  CC      drivers/dax/bus.o
  CC      arch/x86/kernel/module.o
  CC      drivers/scsi/hosts.o
  CC [M]  net/bluetooth/iso.o
  CC      drivers/scsi/scsi_ioctl.o
  CC      drivers/scsi/scsicam.o
  CC      drivers/acpi/acpica/rslist.o
  CC      kernel/sys.o
  AR      drivers/mfd/built-in.a
  CC      drivers/base/power/wakeup_stats.o
  CC      drivers/base/regmap/regmap-debugfs.o
  CC      drivers/base/power/domain.o
  CC      drivers/scsi/scsi_error.o
  CC      drivers/acpi/acpica/rsmemory.o
  CC      net/ipv4/inet_diag.o
  CC      drivers/iommu/iova.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC [M]  fs/cifs/cifsfs.o
  CC      drivers/acpi/fan_core.o
  CC      drivers/base/power/domain_governor.o
  CC      net/ipv6/output_core.o
  CC [M]  drivers/gpu/drm/ttm/ttm_execbuf_util.o
  CC      net/ipv4/tcp_diag.o
  CC      arch/x86/kernel/early_printk.o
  AR      drivers/misc/built-in.a
  CC      drivers/acpi/acpica/rsmisc.o
  CC      drivers/tty/tty_port.o
  CC      drivers/acpi/fan_attr.o
  CC      drivers/nvme/host/core.o
  AR      drivers/nvme/target/built-in.a
  CC      fs/read_write.o
  CC      drivers/dma-buf/dma-fence.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      lib/radix-tree.o
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      drivers/nvme/host/ioctl.o
  CC      mm/swap_slots.o
  CC      net/ipv6/protocol.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  CC [M]  fs/overlayfs/copy_up.o
  CC      fs/btrfs/volumes.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  CC      mm/dmapool.o
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC [M]  fs/cifs/cifs_debug.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_device.o
  CC      arch/x86/kernel/hpet.o
  CC [M]  fs/fuse/control.o
  CC [M]  drivers/gpu/drm/vgem/vgem_drv.o
  CC      drivers/base/regmap/regmap-i2c.o
  CC      drivers/base/regmap/regmap-irq.o
  CC [M]  drivers/misc/mei/main.o
  CC      kernel/trace/error_report-traces.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/object.o
  AR      drivers/base/test/built-in.a
  CC      kernel/trace/power-traces.o
  CC      drivers/acpi/acpica/rsserial.o
  CC [M]  drivers/gpu/drm/ttm/ttm_range_manager.o
  CC      drivers/acpi/processor_driver.o
  CC      drivers/iommu/irq_remapping.o
  AR      fs/ext4/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/client.o
  AR      drivers/dax/built-in.a
  CC      drivers/base/component.o
  CC      drivers/tty/tty_mutex.o
  CC [M]  drivers/gpu/drm/vgem/vgem_fence.o
  CC      kernel/trace/rpm-traces.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  CC      drivers/dma-buf/dma-resv.o
  CC [M]  drivers/gpu/drm/i915/i915_config.o
  CC      drivers/dma-buf/sync_file.o
  CC      drivers/scsi/scsi_lib.o
  CC      net/ipv6/ip6_offload.o
  CC      net/ipv4/udp_diag.o
  CC [M]  drivers/gpu/drm/i915/i915_getparam.o
  CC      fs/file_table.o
  CC      fs/super.o
  CC      drivers/acpi/acpica/rsutils.o
  CC      mm/hugetlb.o
  CC      net/ipv6/tcpv6_offload.o
  CC      arch/x86/kernel/amd_nb.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  CC [M]  fs/fuse/xattr.o
  CC      drivers/dma-buf/sw_sync.o
  CC      kernel/trace/trace_dynevent.o
  CC      arch/x86/kernel/kvm.o
  CC [M]  drivers/gpu/drm/i915/i915_ioctl.o
  CC [M]  drivers/gpu/drm/ttm/ttm_resource.o
  CC      drivers/tty/tty_ldsem.o
  CC [M]  drivers/gpu/drm/ttm/ttm_pool.o
  AR      drivers/iommu/built-in.a
  CC [M]  net/bluetooth/a2mp.o
  CC      drivers/dma-buf/sync_debug.o
  CC [M]  fs/cifs/connect.o
  CC [M]  drivers/gpu/drm/ttm/ttm_device.o
  CC      drivers/base/power/clock_ops.o
  CC [M]  fs/overlayfs/export.o
  CC [M]  drivers/gpu/drm/ttm/ttm_sys_manager.o
  LD [M]  drivers/gpu/drm/vgem/vgem.o
  CC      drivers/ata/libata-core.o
  CC [M]  drivers/gpu/drm/ast/ast_drv.o
  CC      arch/x86/kernel/kvmclock.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/conn.o
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC      drivers/base/core.o
  CC      net/ipv6/exthdrs_offload.o
  CC      mm/hugetlb_vmemmap.o
  CC      drivers/acpi/acpica/rsxface.o
  CC [M]  drivers/misc/mei/dma-ring.o
  AR      drivers/base/regmap/built-in.a
  CC      lib/ratelimit.o
  CC      drivers/base/bus.o
  CC [M]  drivers/dma-buf/selftest.o
  CC      fs/btrfs/async-thread.o
  CC      fs/char_dev.o
  CC [M]  drivers/gpu/drm/i915/i915_irq.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  CC      lib/rbtree.o
  CC [M]  drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC [M]  fs/fuse/acl.o
  CC [M]  fs/fuse/readdir.o
  CC      arch/x86/kernel/paravirt.o
  CC [M]  drivers/misc/mei/bus.o
  CC      net/ipv4/tcp_cubic.o
  CC      drivers/tty/tty_baudrate.o
  CC      mm/sparse.o
  CC      fs/btrfs/ioctl.o
  AR      drivers/base/power/built-in.a
  CC      drivers/tty/tty_jobctrl.o
  CC      drivers/acpi/acpica/tbdata.o
  CC [M]  fs/fuse/ioctl.o
  CC [M]  fs/cifs/dir.o
  LD [M]  fs/overlayfs/overlay.o
  CC [M]  drivers/gpu/drm/i915/i915_mitigations.o
  CC      net/ipv6/inet6_hashtables.o
  CC      drivers/base/dd.o
  CC      net/ipv6/mcast_snoop.o
  CC      arch/x86/kernel/pvclock.o
  CC      drivers/acpi/acpica/tbfadt.o
  CC      drivers/nvme/host/trace.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/device.o
  CC [M]  drivers/misc/mei/bus-fixup.o
  CC [M]  drivers/gpu/drm/ast/ast_i2c.o
  CC      kernel/trace/trace_probe.o
  CC [M]  drivers/dma-buf/st-dma-fence.o
  CC      kernel/trace/trace_uprobe.o
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC [M]  drivers/gpu/drm/ast/ast_main.o
  CC      drivers/acpi/acpica/tbfind.o
  CC      lib/seq_buf.o
  CC [M]  net/ipv6/ip6_udp_tunnel.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/disp.o
  LD [M]  drivers/gpu/drm/ttm/ttm.o
  CC      drivers/ata/libata-scsi.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC [M]  drivers/gpu/drm/drm_aperture.o
  CC      drivers/base/syscore.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      drivers/tty/n_null.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC      drivers/tty/pty.o
  CC [M]  drivers/dma-buf/st-dma-fence-chain.o
  CC [M]  net/bluetooth/amp.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC      drivers/scsi/scsi_scan.o
  CC      arch/x86/kernel/pcspeaker.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/driver.o
  CC      arch/x86/kernel/check.o
  LD [M]  fs/fuse/fuse.o
  CC      lib/show_mem.o
  CC      fs/stat.o
  CC [M]  drivers/misc/mei/debugfs.o
  CC [M]  drivers/gpu/drm/ast/ast_mm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.o
  CC      drivers/base/driver.o
  CC      arch/x86/kernel/uprobes.o
  CC [M]  drivers/misc/mei/mei-trace.o
  CC      fs/btrfs/locking.o
  CC [M]  drivers/gpu/drm/ast/ast_mode.o
  CC      arch/x86/kernel/perf_regs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.o
  CC      arch/x86/kernel/tracepoint.o
  CC [M]  drivers/dma-buf/st-dma-fence-unwrap.o
  CC      drivers/tty/sysrq.o
  CC      drivers/acpi/acpica/tbprint.o
  CC      mm/sparse-vmemmap.o
  CC      net/ipv4/xfrm4_policy.o
  CC      drivers/acpi/processor_thermal.o
  CC [M]  drivers/gpu/drm/ast/ast_post.o
  CC      kernel/trace/rethook.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/event.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      lib/siphash.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  CC      lib/string.o
  CC [M]  drivers/gpu/drm/i915/i915_module.o
  CC      arch/x86/kernel/itmt.o
  CC      drivers/scsi/scsi_devinfo.o
  AR      net/ipv6/built-in.a
  CC      drivers/scsi/scsi_sysctl.o
  CC [M]  drivers/gpu/drm/ast/ast_dp501.o
  CC [M]  drivers/gpu/drm/i915/i915_params.o
  CC [M]  drivers/gpu/drm/ast/ast_dp.o
  CC      arch/x86/kernel/umip.o
  CC [M]  drivers/gpu/drm/xe/xe_engine.o
  CC [M]  drivers/misc/mei/pci-me.o
  CC      drivers/acpi/acpica/tbutils.o
  CC      net/ipv4/xfrm4_state.o
  CC      drivers/nvme/host/pci.o
  CC [M]  drivers/dma-buf/st-dma-resv.o
  CC      fs/btrfs/orphan.o
  CC      arch/x86/kernel/unwind_orc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_crtc.o
  CC      arch/x86/kernel/callthunks.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atom.o
  CC      fs/exec.o
  CC      drivers/spi/spi.o
  CC      lib/timerqueue.o
  CC [M]  net/bluetooth/hci_debugfs.o
  CC      lib/vsprintf.o
  CC      mm/mmu_notifier.o
  CC      fs/pipe.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/fifo.o
  CC      drivers/net/phy/mdio-boardinfo.o
  AR      drivers/net/pse-pd/built-in.a
  CC      drivers/acpi/acpica/tbxface.o
  CC      drivers/acpi/acpica/tbxfload.o
  CC      drivers/net/phy/mdio_devres.o
  AR      kernel/trace/built-in.a
  CC      kernel/umh.o
  AR      drivers/tty/built-in.a
  CC      drivers/base/class.o
  CC      arch/x86/kernel/mmconf-fam10h_64.o
  CC      drivers/acpi/acpica/tbxfroot.o
  AR      drivers/dma-buf/built-in.a
  LD [M]  drivers/dma-buf/dmabuf_selftests.o
  CC      mm/ksm.o
  CC      drivers/scsi/scsi_debugfs.o
  CC      lib/win_minmax.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/head.o
  CC      drivers/net/mdio/acpi_mdio.o
  CC      net/ipv4/xfrm4_input.o
  CC      fs/btrfs/export.o
  AR      drivers/net/pcs/built-in.a
  CC      net/ipv4/xfrm4_output.o
  CC [M]  drivers/misc/mei/hw-me.o
  CC      net/ipv4/xfrm4_protocol.o
  CC [M]  net/ipv4/ip_tunnel.o
  CC [M]  drivers/gpu/drm/i915/i915_pci.o
  CC      mm/slub.o
  CC      lib/xarray.o
  CC      drivers/base/platform.o
  LD [M]  drivers/gpu/drm/ast/ast.o
  CC      drivers/net/mdio/fwnode_mdio.o
  CC [M]  fs/cifs/file.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.o
  CC      drivers/acpi/processor_idle.o
  CC      arch/x86/kernel/vsmp_64.o
  CC      drivers/acpi/acpica/utaddress.o
  CC [M]  drivers/gpu/drm/i915/i915_scatterlist.o
  CC [M]  drivers/gpu/drm/drm_atomic.o
  CC      drivers/ata/libata-eh.o
  CC [M]  fs/cifs/inode.o
  CC      drivers/acpi/acpica/utalloc.o
  CC      drivers/net/phy/phy.o
  CC      drivers/net/phy/phy-c45.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_object.o
  CC      drivers/scsi/scsi_trace.o
  CC      drivers/base/cpu.o
  CC [M]  drivers/gpu/drm/i915/i915_suspend.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC      kernel/workqueue.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gart.o
  CC      lib/lockref.o
  CC [M]  fs/cifs/link.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mem.o
  CC      drivers/base/firmware.o
  AR      arch/x86/kernel/built-in.a
  AR      arch/x86/built-in.a
  CC      drivers/base/init.o
  CC      mm/migrate.o
  CC      drivers/acpi/acpica/utascii.o
  CC      lib/bcd.o
  CC      drivers/scsi/scsi_logging.o
  CC      drivers/net/phy/phy-core.o
  AR      drivers/net/mdio/built-in.a
  CC      drivers/net/phy/phy_device.o
  CC      fs/namei.o
  CC      fs/fcntl.o
  CC      drivers/net/phy/linkmode.o
  CC      drivers/base/map.o
  CC      fs/btrfs/tree-log.o
  CC      drivers/scsi/scsi_pm.o
  CC      drivers/acpi/acpica/utbuffer.o
  CC      drivers/base/devres.o
  CC [M]  drivers/gpu/drm/drm_atomic_uapi.o
  LD [M]  net/bluetooth/bluetooth.o
  CC      drivers/base/attribute_container.o
  CC      drivers/net/phy/mdio_bus.o
  CC      mm/migrate_device.o
  CC [M]  fs/cifs/misc.o
  CC      fs/ioctl.o
  CC [M]  drivers/gpu/drm/i915/i915_switcheroo.o
  CC      drivers/base/transport_class.o
  CC      drivers/base/topology.o
  CC      drivers/base/container.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mmu.o
  CC      fs/btrfs/free-space-cache.o
  AR      drivers/net/ethernet/adi/built-in.a
  AR      drivers/net/usb/built-in.a
  CC [M]  drivers/net/usb/pegasus.o
  AR      drivers/net/ethernet/alacritech/built-in.a
  AR      drivers/net/ethernet/amazon/built-in.a
  CC      drivers/acpi/acpica/utcksum.o
  AR      drivers/net/ethernet/aquantia/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  AR      drivers/net/ethernet/asix/built-in.a
  AR      drivers/net/ethernet/cadence/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.o
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC [M]  drivers/net/ethernet/broadcom/b44.o
  CC [M]  drivers/net/ethernet/broadcom/bnx2.o
  CC [M]  drivers/gpu/drm/i915/i915_sysfs.o
  CC      drivers/acpi/processor_throttling.o
  CC      drivers/base/property.o
  AR      drivers/nvme/host/built-in.a
  CC [M]  drivers/misc/mei/gsc-me.o
  AR      drivers/nvme/built-in.a
  CC      drivers/net/phy/mdio_device.o
  LD [M]  drivers/misc/mei/mei.o
  CC      drivers/net/phy/swphy.o
  LD [M]  drivers/misc/mei/mei-me.o
  CC [M]  drivers/gpu/drm/drm_auth.o
  CC [M]  drivers/net/usb/rtl8150.o
  CC      drivers/acpi/processor_perflib.o
  AR      drivers/net/ethernet/cavium/common/built-in.a
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  CC      drivers/scsi/scsi_bsg.o
  AR      drivers/net/ethernet/cavium/liquidio/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/outp.o
  CC      drivers/net/phy/fixed_phy.o
  AR      drivers/net/ethernet/cavium/octeon/built-in.a
  AR      drivers/net/ethernet/cavium/built-in.a
  CC [M]  drivers/net/ethernet/broadcom/cnic.o
  AR      drivers/firewire/built-in.a
  CC      lib/sort.o
  CC [M]  drivers/gpu/drm/drm_blend.o
  CC      lib/parser.o
  CC      drivers/base/cacheinfo.o
  CC      drivers/acpi/acpica/utcopy.o
  CC      kernel/pid.o
  CC      kernel/task_work.o
  CC      drivers/base/swnode.o
  CC      drivers/acpi/container.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC [M]  fs/cifs/netmisc.o
  CC [M]  net/ipv4/udp_tunnel_core.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/timer.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/vmm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_display.o
  CC      drivers/acpi/thermal.o
  CC      drivers/base/auxiliary.o
  LD [M]  drivers/misc/mei/mei-gsc.o
  CC      mm/huge_memory.o
  AR      drivers/cdrom/built-in.a
  CC      lib/debug_locks.o
  AR      drivers/auxdisplay/built-in.a
  CC      mm/khugepaged.o
  CC      drivers/scsi/scsi_common.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC      fs/readdir.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.o
  CC      drivers/scsi/sd.o
  CC      lib/random32.o
  CC      drivers/acpi/acpica/utexcep.o
  CC      lib/bust_spinlocks.o
  CC      mm/page_counter.o
  CC [M]  drivers/gpu/drm/i915/i915_utils.o
  CC      mm/memcontrol.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC [M]  drivers/net/phy/phylink.o
  CC [M]  drivers/net/usb/r8152.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/user.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/userc361.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/client.o
  CC      drivers/scsi/sg.o
  CC [M]  drivers/gpu/drm/i915/intel_clock_gating.o
  AR      drivers/spi/built-in.a
  CC [M]  drivers/net/phy/aquantia_main.o
  CC      drivers/usb/common/common.o
  CC [M]  drivers/net/phy/aquantia_hwmon.o
  CC      drivers/usb/common/debug.o
  CC      mm/vmpressure.o
  CC      drivers/base/devtmpfs.o
  CC [M]  drivers/net/phy/ax88796b.o
  CC      drivers/input/serio/serio.o
  CC      drivers/usb/core/usb.o
  CC      drivers/acpi/acpica/utdebug.o
  CC      drivers/acpi/acpica/utdecode.o
  AR      drivers/usb/phy/built-in.a
  CC      drivers/usb/host/pci-quirks.o
  CC      drivers/usb/core/hub.o
  CC [M]  fs/cifs/smbencrypt.o
  CC      drivers/usb/storage/scsiglue.o
  CC      drivers/usb/host/ehci-hcd.o
  CC      drivers/ata/libata-transport.o
  CC      lib/kasprintf.o
  CC      drivers/acpi/acpi_memhotplug.o
  CC [M]  drivers/net/usb/asix_devices.o
  CC [M]  net/ipv4/udp_tunnel_nic.o
  CC      drivers/input/serio/i8042.o
  CC      kernel/extable.o
  CC [M]  fs/cifs/transport.o
  CC      lib/bitmap.o
  CC      drivers/acpi/acpica/utdelete.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC      drivers/ata/libata-trace.o
  CC      drivers/usb/storage/protocol.o
  CC      drivers/usb/storage/transport.o
  CC [M]  drivers/net/phy/bcm7xxx.o
  AR      drivers/usb/common/built-in.a
  CC      lib/scatterlist.o
  CC [M]  fs/cifs/cached_dir.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/engine.o
  CC [M]  drivers/net/phy/bcm87xx.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/enum.o
  CC [M]  drivers/net/ipvlan/ipvlan_core.o
  CC      drivers/usb/serial/usb-serial.o
  AR      drivers/usb/misc/built-in.a
  CC [M]  drivers/usb/misc/ftdi-elan.o
  CC      drivers/usb/serial/generic.o
  CC      lib/list_sort.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.o
  CC      drivers/base/memory.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/event.o
  CC      kernel/params.o
  CC      lib/uuid.o
  CC      drivers/acpi/ioapic.o
  CC      drivers/acpi/acpica/uterror.o
  CC [M]  fs/cifs/cifs_unicode.o
  CC      drivers/usb/serial/bus.o
  CC      fs/select.o
  CC [M]  drivers/net/phy/bcm-phy-lib.o
  CC      drivers/usb/storage/usb.o
  CC      drivers/usb/storage/initializers.o
  CC      kernel/kthread.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC      drivers/usb/host/ehci-pci.o
  CC      kernel/sys_ni.o
  CC [M]  drivers/net/phy/broadcom.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC      lib/iov_iter.o
  CC      drivers/ata/libata-sata.o
  CC [M]  drivers/gpu/drm/i915/intel_device_info.o
  CC      drivers/usb/gadget/udc/core.o
  CC      drivers/acpi/acpica/uteval.o
  AR      drivers/usb/gadget/function/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/firmware.o
  CC      fs/dcache.o
  CC [M]  drivers/net/usb/asix_common.o
  CC      fs/btrfs/zlib.o
  CC [M]  drivers/gpu/drm/i915/intel_memory_region.o
  CC      drivers/base/module.o
  CC [M]  drivers/usb/class/usbtmc.o
  CC [M]  drivers/net/phy/lxt.o
  CC      drivers/input/serio/libps2.o
  CC      drivers/usb/storage/sierra_ms.o
  CC      drivers/usb/storage/option_ms.o
  CC      drivers/acpi/battery.o
  CC      kernel/nsproxy.o
  CC      drivers/usb/storage/usual-tables.o
  CC      lib/clz_ctz.o
  CC      drivers/scsi/scsi_sysfs.o
  AR      net/ipv4/built-in.a
  LD [M]  net/ipv4/udp_tunnel.o
  AR      net/built-in.a
  CC      drivers/acpi/acpica/utglobal.o
  CC      kernel/notifier.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC      drivers/acpi/acpica/uthex.o
  CC      drivers/usb/host/ohci-hcd.o
  CC      drivers/usb/serial/console.o
  CC [M]  drivers/net/phy/realtek.o
  CC [M]  drivers/net/ipvlan/ipvlan_main.o
  CC [M]  drivers/net/phy/smsc.o
  CC      drivers/base/pinctrl.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring.o
  CC      fs/inode.o
  CC [M]  drivers/net/usb/ax88172a.o
  CC      kernel/ksysfs.o
  AR      drivers/usb/gadget/legacy/built-in.a
  CC      drivers/base/devcoredump.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/gpuobj.o
  CC      drivers/acpi/acpica/utids.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC      fs/btrfs/lzo.o
  AR      drivers/input/serio/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.o
  CC      drivers/usb/serial/ftdi_sio.o
  AR      drivers/usb/storage/built-in.a
  CC      drivers/input/keyboard/atkbd.o
  AR      drivers/input/mouse/built-in.a
  CC      drivers/usb/core/hcd.o
  CC      drivers/usb/core/urb.o
  CC      drivers/acpi/acpica/utinit.o
  CC      drivers/acpi/acpica/utlock.o
  CC      drivers/input/input.o
  CC      drivers/ata/libata-sff.o
  CC [M]  fs/cifs/nterr.o
  CC      mm/swap_cgroup.o
  CC      drivers/rtc/lib.o
  CC      mm/hugetlb_cgroup.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bios.o
  CC      drivers/usb/gadget/udc/trace.o
  CC [M]  drivers/net/usb/ax88179_178a.o
  CC      drivers/acpi/hed.o
  CC      drivers/ata/libata-pmp.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/net/vxlan/vxlan_core.o
  CC      drivers/base/platform-msi.o
  CC [M]  drivers/net/vxlan/vxlan_multicast.o
  CC      drivers/base/physical_location.o
  CC      kernel/cred.o
  CC [M]  drivers/net/vxlan/vxlan_vnifilter.o
  CC [M]  drivers/gpu/drm/i915/intel_pcode.o
  CC      drivers/acpi/acpica/utmath.o
  AR      drivers/i2c/algos/built-in.a
  CC [M]  drivers/i2c/algos/i2c-algo-bit.o
  LD [M]  drivers/net/phy/aquantia.o
  AR      drivers/net/phy/built-in.a
  CC      drivers/net/loopback.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC      drivers/i2c/busses/i2c-designware-common.o
  CC [M]  fs/cifs/cifsencrypt.o
  CC      drivers/rtc/class.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/intr.o
  CC      kernel/reboot.o
  CC      drivers/i2c/busses/i2c-designware-master.o
  AR      drivers/scsi/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/net/ethernet/broadcom/tg3.o
  CC      drivers/net/netconsole.o
  CC      drivers/usb/serial/pl2303.o
  CC      drivers/base/trace.o
  CC      drivers/acpi/bgrt.o
  CC      drivers/usb/core/message.o
  CC      drivers/acpi/acpica/utmisc.o
  AR      drivers/i2c/muxes/built-in.a
  CC      drivers/usb/core/driver.o
  CC [M]  drivers/i2c/muxes/i2c-mux-gpio.o
  CC      drivers/usb/core/config.o
  CC [M]  drivers/net/ipvlan/ipvlan_l3s.o
  AR      drivers/input/keyboard/built-in.a
  CC      fs/btrfs/zstd.o
  CC      drivers/input/input-compat.o
  CC      drivers/rtc/interface.o
  CC      drivers/i2c/busses/i2c-designware-platdrv.o
  CC      drivers/i2c/busses/i2c-designware-baytrail.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.o
  AR      drivers/usb/gadget/udc/built-in.a
  CC      drivers/usb/gadget/usbstring.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_dp.o
  CC      drivers/usb/gadget/config.o
  CC      drivers/acpi/acpica/utmutex.o
  CC      drivers/rtc/nvmem.o
  CC      fs/attr.o
  CC      drivers/usb/gadget/epautoconf.o
  CC      lib/bsearch.o
  CC      drivers/acpi/acpica/utnonansi.o
  CC      drivers/acpi/cppc_acpi.o
  CC      kernel/async.o
  CC [M]  drivers/gpu/drm/i915/intel_region_ttm.o
  CC      drivers/input/input-mt.o
  CC      drivers/i2c/i2c-boardinfo.o
  CC      mm/kmemleak.o
  CC      drivers/net/virtio_net.o
  AR      drivers/base/built-in.a
  CC [M]  drivers/i2c/busses/i2c-scmi.o
  CC      fs/bad_inode.o
  CC      drivers/net/net_failover.o
  CC      drivers/i2c/i2c-core-base.o
  CC      drivers/i2c/i2c-core-smbus.o
  CC      drivers/usb/core/file.o
  CC      drivers/input/input-poller.o
  CC      fs/file.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ioctl.o
  CC      drivers/i2c/i2c-core-acpi.o
  CC      drivers/acpi/acpica/utobject.o
  CC [M]  drivers/i2c/busses/i2c-ccgx-ucsi.o
  AR      drivers/usb/serial/built-in.a
  CC      drivers/usb/host/ohci-pci.o
  CC      drivers/usb/core/buffer.o
  CC      drivers/i2c/i2c-core-slave.o
  CC [M]  drivers/net/dummy.o
  CC      drivers/usb/gadget/composite.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/memory.o
  CC      drivers/usb/gadget/functions.o
  CC      mm/page_isolation.o
  CC      lib/find_bit.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC      drivers/usb/gadget/configfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/mm.o
  CC      kernel/range.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/object.o
  AR      drivers/net/ethernet/cortina/built-in.a
  AR      drivers/net/ethernet/engleder/built-in.a
  CC      fs/filesystems.o
  CC [M]  drivers/net/usb/cdc_ether.o
  LD [M]  drivers/net/ipvlan/ipvlan.o
  CC      fs/btrfs/compression.o
  CC      kernel/smpboot.o
  CC      kernel/ucount.o
  CC      kernel/regset.o
  CC      fs/namespace.o
  CC      drivers/ata/libata-acpi.o
  CC [M]  fs/cifs/readdir.o
  CC      kernel/kmod.o
  CC      drivers/i2c/i2c-dev.o
  CC      lib/llist.o
  CC      lib/memweight.o
  CC      drivers/acpi/acpica/utosi.o
  CC      drivers/usb/gadget/u_f.o
  CC      drivers/input/ff-core.o
  CC [M]  drivers/gpu/drm/drm_bridge.o
  CC [M]  drivers/gpu/drm/i915/intel_runtime_pm.o
  CC      lib/kfifo.o
  CC [M]  drivers/i2c/i2c-smbus.o
  CC [M]  drivers/i2c/i2c-mux.o
  CC      kernel/groups.o
  CC      drivers/acpi/acpica/utownerid.o
  CC      drivers/ata/libata-pata-timings.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.o
  CC      drivers/usb/core/sysfs.o
  CC      fs/btrfs/delayed-ref.o
  CC      drivers/usb/host/uhci-hcd.o
  CC [M]  drivers/i2c/busses/i2c-i801.o
  CC      drivers/input/touchscreen.o
  CC      drivers/acpi/spcr.o
  CC      drivers/rtc/dev.o
  CC [M]  drivers/net/usb/cdc_eem.o
  CC [M]  drivers/net/usb/smsc75xx.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.o
  CC [M]  drivers/net/usb/smsc95xx.o
  CC      drivers/usb/host/xhci.o
  CC      drivers/acpi/acpi_pad.o
  CC [M]  drivers/i2c/busses/i2c-isch.o
  CC      drivers/rtc/proc.o
  CC [M]  drivers/gpu/drm/i915/intel_sbi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/oproxy.o
  CC [M]  drivers/acpi/acpi_video.o
  CC      drivers/acpi/acpica/utpredef.o
  CC [M]  drivers/acpi/video_detect.o
  AR      drivers/i3c/built-in.a
  CC [M]  drivers/i2c/busses/i2c-ismt.o
  CC      mm/early_ioremap.o
  CC      mm/cma.o
  CC      drivers/rtc/sysfs.o
  CC      drivers/input/ff-memless.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC [M]  drivers/net/usb/mcs7830.o
  CC      drivers/acpi/acpica/utresdecode.o
  CC      drivers/usb/host/xhci-mem.o
  CC      kernel/kcmp.o
  CC      lib/percpu-refcount.o
  CC      fs/seq_file.o
  AR      drivers/media/i2c/built-in.a
  CC      drivers/ata/ahci.o
  AR      drivers/media/tuners/built-in.a
  CC      mm/secretmem.o
  AR      drivers/media/rc/keymaps/built-in.a
  AR      drivers/media/common/b2c2/built-in.a
  AR      drivers/media/rc/built-in.a
  CC      mm/userfaultfd.o
  CC      mm/memremap.o
  AR      drivers/media/common/saa7146/built-in.a
  AR      drivers/media/common/siano/built-in.a
  AR      drivers/media/common/v4l2-tpg/built-in.a
  CC      drivers/acpi/acpica/utresrc.o
  AR      drivers/media/common/videobuf2/built-in.a
  CC      drivers/ata/libahci.o
  AR      drivers/media/common/built-in.a
  CC      drivers/ata/ata_piix.o
  AR      drivers/media/platform/allegro-dvt/built-in.a
  AR      drivers/ptp/built-in.a
  CC [M]  drivers/ptp/ptp_clock.o
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  AR      drivers/media/platform/amlogic/built-in.a
  AR      drivers/power/reset/built-in.a
  CC      drivers/acpi/acpica/utstate.o
  CC      drivers/rtc/rtc-mc146818-lib.o
  AR      drivers/media/platform/amphion/built-in.a
  CC      drivers/power/supply/power_supply_core.o
  AR      drivers/media/platform/aspeed/built-in.a
  AR      drivers/media/platform/atmel/built-in.a
  AR      drivers/media/platform/cadence/built-in.a
  AR      drivers/media/platform/chips-media/built-in.a
  AR      drivers/media/platform/intel/built-in.a
  CC      drivers/usb/core/endpoint.o
  AR      drivers/media/platform/marvell/built-in.a
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  CC      fs/xattr.o
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  CC [M]  drivers/gpu/drm/i915/intel_step.o
  AR      drivers/media/platform/mediatek/built-in.a
  AR      drivers/media/platform/microchip/built-in.a
  CC      drivers/hwmon/hwmon.o
  CC      drivers/usb/core/devio.o
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  AR      drivers/media/platform/nvidia/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/option.o
  AR      drivers/media/platform/nxp/dw100/built-in.a
  CC [M]  drivers/hwmon/acpi_power_meter.o
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  AR      drivers/media/platform/nxp/built-in.a
  AR      drivers/media/platform/qcom/camss/built-in.a
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  AR      drivers/media/platform/qcom/venus/built-in.a
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ramht.o
  AR      drivers/media/platform/qcom/built-in.a
  CC      mm/hmm.o
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  CC [M]  drivers/hwmon/coretemp.o
  AR      drivers/media/platform/renesas/built-in.a
  CC [M]  drivers/gpu/drm/i915/intel_uncore.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 [M]  drivers/gpu/drm/i915/intel_wakeref.o
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  CC [M]  drivers/gpu/drm/drm_cache.o
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  CC      drivers/input/vivaldi-fmap.o
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  CC [M]  drivers/gpu/drm/drm_client.o
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  AR      drivers/media/platform/samsung/built-in.a
  AR      drivers/usb/gadget/built-in.a
  CC      lib/rhashtable.o
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  CC [M]  drivers/gpu/drm/drm_client_modeset.o
  AR      drivers/media/platform/st/sti/delta/built-in.a
  CC      drivers/acpi/acpica/utstring.o
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  AR      drivers/media/platform/st/sti/hva/built-in.a
  CC      kernel/freezer.o
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  AR      drivers/media/platform/st/stm32/built-in.a
  CC [M]  drivers/i2c/busses/i2c-piix4.o
  AR      drivers/media/platform/st/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  CC      kernel/stacktrace.o
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  AR      drivers/media/platform/sunxi/built-in.a
  CC [M]  fs/cifs/ioctl.o
  AR      drivers/media/platform/ti/am437x/built-in.a
  AR      drivers/media/platform/ti/cal/built-in.a
  AR      drivers/media/platform/ti/vpe/built-in.a
  CC [M]  fs/cifs/sess.o
  CC      drivers/rtc/rtc-cmos.o
  AR      drivers/media/platform/ti/davinci/built-in.a
  CC      fs/btrfs/relocation.o
  AR      drivers/media/platform/ti/omap/built-in.a
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  AR      drivers/media/platform/ti/built-in.a
  CC      mm/memfd.o
  AR      drivers/media/platform/verisilicon/built-in.a
  CC      fs/btrfs/delayed-inode.o
  AR      drivers/media/platform/via/built-in.a
  CC      fs/btrfs/scrub.o
  AR      drivers/media/platform/xilinx/built-in.a
  AR      drivers/media/platform/built-in.a
  CC      drivers/input/input-leds.o
  AR      drivers/media/pci/ttpci/built-in.a
  AR      drivers/media/pci/b2c2/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  CC      fs/libfs.o
  AR      drivers/media/pci/dm1105/built-in.a
  AR      drivers/media/pci/pt1/built-in.a
  AR      drivers/media/pci/pt3/built-in.a
  AR      drivers/media/pci/mantis/built-in.a
  CC [M]  drivers/ptp/ptp_chardev.o
  AR      drivers/media/pci/ngene/built-in.a
  CC      fs/fs-writeback.o
  AR      drivers/media/pci/ddbridge/built-in.a
  CC      drivers/power/supply/power_supply_sysfs.o
  AR      drivers/media/pci/saa7146/built-in.a
  CC      fs/pnode.o
  AR      drivers/media/pci/smipcie/built-in.a
  AR      drivers/media/pci/netup_unidvb/built-in.a
  AR      drivers/media/pci/intel/ipu3/built-in.a
  AR      drivers/media/pci/intel/built-in.a
  AR      drivers/media/pci/built-in.a
  CC      drivers/acpi/acpica/utstrsuppt.o
  CC      drivers/acpi/acpica/utstrtoul64.o
  CC      drivers/acpi/acpica/utxface.o
  CC [M]  drivers/i2c/busses/i2c-designware-pcidrv.o
  AR      drivers/media/usb/b2c2/built-in.a
  CC      fs/splice.o
  AR      drivers/media/usb/dvb-usb/built-in.a
  CC      fs/sync.o
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  AR      drivers/media/usb/s2255/built-in.a
  CC [M]  drivers/gpu/drm/i915/vlv_sideband.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/subdev.o
  AR      drivers/media/usb/siano/built-in.a
  CC [M]  drivers/net/usb/usbnet.o
  AR      drivers/media/usb/ttusb-budget/built-in.a
  CC [M]  drivers/gpu/drm/drm_color_mgmt.o
  AR      drivers/media/usb/ttusb-dec/built-in.a
  AR      drivers/media/usb/built-in.a
  AR      drivers/media/mmc/siano/built-in.a
  AR      drivers/media/mmc/built-in.a
  LD [M]  drivers/net/vxlan/vxlan.o
  AR      drivers/thermal/broadcom/built-in.a
  AR      drivers/media/firewire/built-in.a
  AR      drivers/thermal/samsung/built-in.a
  AR      drivers/media/spi/built-in.a
  CC      drivers/thermal/intel/intel_tcc.o
  CC      drivers/thermal/intel/therm_throt.o
  AR      drivers/thermal/st/built-in.a
  CC      drivers/usb/host/xhci-ext-caps.o
  AR      drivers/media/test-drivers/built-in.a
  CC      drivers/usb/host/xhci-ring.o
  AR      drivers/media/built-in.a
  CC [M]  drivers/gpu/drm/drm_connector.o
  CC      drivers/watchdog/watchdog_core.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  CC      drivers/watchdog/watchdog_dev.o
  AR      drivers/hwmon/built-in.a
  CC [M]  drivers/thermal/intel/intel_menlow.o
  CC      kernel/dma.o
  CC [M]  drivers/gpu/drm/i915/vlv_suspend.o
  CC [M]  drivers/md/persistent-data/dm-array.o
  CC      drivers/input/mousedev.o
  CC [M]  drivers/md/persistent-data/dm-bitset.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_encoders.o
  CC      kernel/smp.o
  CC      drivers/power/supply/power_supply_leds.o
  CC      fs/utimes.o
  CC      drivers/acpi/acpica/utxfinit.o
  CC      mm/bootmem_info.o
  AR      drivers/rtc/built-in.a
  CC      fs/d_path.o
  CC      fs/stack.o
  CC [M]  drivers/md/persistent-data/dm-block-manager.o
  CC [M]  drivers/ptp/ptp_sysfs.o
  CC      drivers/usb/host/xhci-hub.o
  AR      drivers/ata/built-in.a
  CC      drivers/opp/core.o
  LD [M]  drivers/i2c/busses/i2c-designware-pci.o
  CC [M]  drivers/gpu/drm/drm_crtc.o
  CC      kernel/uid16.o
  AR      drivers/i2c/busses/built-in.a
  AR      drivers/i2c/built-in.a
  CC      lib/base64.o
  CC      fs/fs_struct.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC      fs/statfs.o
  CC [M]  drivers/md/persistent-data/dm-space-map-common.o
  CC      drivers/power/supply/power_supply_hwmon.o
  CC [M]  drivers/net/macvlan.o
  CC      drivers/acpi/acpica/utxferror.o
  CC      lib/once.o
  CC      drivers/acpi/acpica/utxfmutex.o
  CC      kernel/kallsyms.o
  CC      kernel/acct.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/uevent.o
  CC      drivers/input/evdev.o
  CC      drivers/usb/core/notify.o
  CC      drivers/md/md.o
  CC      drivers/usb/core/generic.o
  CC [M]  drivers/ptp/ptp_vclock.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_dram.o
  CC      kernel/crash_core.o
  AR      drivers/thermal/intel/built-in.a
  AR      drivers/thermal/qcom/built-in.a
  AR      drivers/thermal/tegra/built-in.a
  AR      mm/built-in.a
  AR      drivers/thermal/mediatek/built-in.a
  CC      drivers/md/md-bitmap.o
  CC [M]  drivers/net/usb/cdc_ncm.o
  CC      drivers/watchdog/softdog.o
  CC      drivers/thermal/thermal_core.o
  CC [M]  drivers/gpu/drm/drm_displayid.o
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/cpufreq/freq_table.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/fw.o
  CC      drivers/cpufreq/cpufreq_performance.o
  CC      drivers/cpuidle/governors/menu.o
  CC      lib/refcount.o
  CC      drivers/cpuidle/governors/haltpoll.o
  AR      drivers/acpi/acpica/built-in.a
  LD [M]  drivers/acpi/video.o
  AR      drivers/power/supply/built-in.a
  AR      drivers/power/built-in.a
  AR      drivers/acpi/built-in.a
  CC      drivers/cpuidle/cpuidle.o
  CC [M]  drivers/net/usb/r8153_ecm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/hs.o
  CC [M]  drivers/ptp/ptp_kvm_x86.o
  CC      drivers/usb/core/quirks.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/ls.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/acr.o
  CC      fs/fs_pin.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/flcn.o
  CC      lib/usercopy.o
  AR      drivers/watchdog/built-in.a
  CC      drivers/cpufreq/cpufreq_ondemand.o
  CC      drivers/mmc/core/core.o
  CC      drivers/cpufreq/cpufreq_governor.o
  CC      drivers/mmc/host/sdhci.o
  CC      drivers/usb/core/devices.o
  CC      drivers/cpuidle/driver.o
  CC      drivers/cpuidle/governor.o
  CC [M]  fs/cifs/export.o
  CC      drivers/mmc/host/sdhci-pci-core.o
  CC      fs/btrfs/backref.o
  CC      fs/btrfs/ulist.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_gmch.o
  CC      drivers/mmc/host/sdhci-pci-o2micro.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC      kernel/compat.o
  CC [M]  drivers/md/persistent-data/dm-space-map-disk.o
  CC      drivers/thermal/thermal_sysfs.o
  CC      lib/errseq.o
  CC      kernel/utsname.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sa.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/base.o
  CC      lib/bucket_locks.o
  AR      drivers/input/built-in.a
  CC      fs/nsfs.o
  CC [M]  drivers/ptp/ptp_kvm_common.o
  AR      drivers/cpuidle/governors/built-in.a
  LD [M]  drivers/ptp/ptp.o
  CC      drivers/mmc/core/bus.o
  CC      drivers/mmc/core/host.o
  CC      fs/fs_types.o
  CC      fs/fs_context.o
  CC [M]  drivers/md/persistent-data/dm-space-map-metadata.o
  CC      drivers/opp/cpu.o
  CC [M]  drivers/md/persistent-data/dm-transaction-manager.o
  CC      fs/btrfs/qgroup.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_pch.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/cmdq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_i2c.o
  CC      kernel/user_namespace.o
  CC      drivers/usb/core/phy.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/fw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/msgq.o
  AR      drivers/net/ethernet/ezchip/built-in.a
  CC      fs/btrfs/send.o
  CC      fs/fs_parser.o
  AR      drivers/net/ethernet/fungible/built-in.a
  CC      drivers/usb/host/xhci-dbg.o
  CC      lib/generic-radix-tree.o
  CC [M]  drivers/gpu/drm/i915/i915_memcpy.o
  CC      drivers/cpuidle/sysfs.o
  CC [M]  fs/cifs/unc.o
  CC      kernel/pid_namespace.o
  CC [M]  drivers/gpu/drm/drm_drv.o
  UPD     kernel/config_data
  CC [M]  drivers/gpu/drm/drm_dumb_buffers.o
  CC      drivers/thermal/thermal_trip.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.o
  CC      drivers/opp/debugfs.o
  CC      kernel/stop_machine.o
  CC      drivers/mmc/host/sdhci-pci-arasan.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC      drivers/cpuidle/poll_state.o
  CC      drivers/cpuidle/cpuidle-haltpoll.o
  LD [M]  drivers/ptp/ptp_kvm.o
  AR      drivers/net/ethernet/huawei/built-in.a
  CC      kernel/kprobes.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/qmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.o
  CC      drivers/usb/core/port.o
  CC [M]  drivers/gpu/drm/i915/i915_mm.o
  LD [M]  drivers/net/usb/asix.o
  CC      drivers/thermal/thermal_helpers.o
  CC      drivers/thermal/thermal_hwmon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.o
  CC      fs/btrfs/dev-replace.o
  CC [M]  drivers/md/persistent-data/dm-btree.o
  CC      lib/string_helpers.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ib.o
  CC      fs/fsopen.o
  CC      drivers/cpufreq/acpi-cpufreq.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/v1.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_main.o
  CC [M]  drivers/net/ethernet/intel/e1000e/82571.o
  CC      fs/init.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ich8lan.o
  CC [M]  drivers/net/ethernet/intel/e1000e/80003es2lan.o
  CC      drivers/mmc/core/mmc.o
  CC      drivers/mmc/host/sdhci-pci-dwc-mshc.o
  CC      drivers/thermal/gov_fair_share.o
  AR      drivers/cpuidle/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pll.o
  CC      lib/hexdump.o
  CC      fs/btrfs/raid56.o
  CC      drivers/usb/host/xhci-trace.o
  AR      drivers/opp/built-in.a
  CC      drivers/thermal/gov_step_wise.o
  CC [M]  fs/cifs/winucase.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gm200.o
  CC      drivers/mmc/core/mmc_ops.o
  CC      drivers/mmc/core/sd.o
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence.o
  CC      kernel/hung_task.o
  CC      drivers/md/md-autodetect.o
  CC      drivers/usb/host/xhci-debugfs.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_hw.o
  CC [M]  fs/cifs/smb2ops.o
  CC      drivers/mmc/core/sd_ops.o
  AR      drivers/net/ethernet/microsoft/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gp102.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC      drivers/thermal/gov_user_space.o
  CC      kernel/watchdog.o
  CC [M]  drivers/net/ethernet/intel/e1000e/mac.o
  CC      fs/kernel_read_file.o
  CC      fs/mnt_idmapping.o
  CC      drivers/usb/core/hcd-pci.o
  CC      lib/kstrtox.o
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence_work.o
  CC      fs/btrfs/uuid-tree.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC      drivers/mmc/core/sdio.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC [M]  drivers/gpu/drm/drm_edid.o
  CC      fs/remap_range.o
  CC      fs/btrfs/props.o
  AR      drivers/thermal/built-in.a
  CC      drivers/cpufreq/intel_pstate.o
  AR      drivers/ufs/built-in.a
  AR      drivers/leds/trigger/built-in.a
  CC [M]  drivers/leds/trigger/ledtrig-audio.o
  CC [M]  drivers/md/persistent-data/dm-btree-remove.o
  CC      drivers/md/dm-uevent.o
  CC      lib/debug_info.o
  CC      drivers/mmc/core/sdio_ops.o
  CC      drivers/mmc/host/sdhci-pci-gli.o
  CC [M]  fs/cifs/smb2maperror.o
  CC [M]  drivers/net/mii.o
  CC [M]  drivers/gpu/drm/drm_encoder.o
  CC      lib/iomap.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC      fs/btrfs/free-space-tree.o
  CC      fs/btrfs/tree-checker.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.o
  CC [M]  drivers/md/persistent-data/dm-btree-spine.o
  CC      fs/btrfs/space-info.o
  AR      drivers/leds/blink/built-in.a
  CC [M]  drivers/gpu/drm/drm_file.o
  CC [M]  drivers/gpu/drm/i915/i915_syncmap.o
  CC [M]  drivers/gpu/drm/drm_fourcc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga100.o
  AR      drivers/leds/simple/built-in.a
  CC      drivers/leds/led-core.o
  CC      fs/buffer.o
  CC      fs/mpage.o
  CC      kernel/watchdog_hld.o
  CC      drivers/usb/core/usb-acpi.o
  CC      fs/btrfs/block-rsv.o
  CC      drivers/mmc/core/sdio_bus.o
  CC      drivers/mmc/core/sdio_cis.o
  CC      drivers/mmc/core/sdio_io.o
  CC      drivers/mmc/core/sdio_irq.o
  CC [M]  drivers/gpu/drm/i915/i915_user_extensions.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC [M]  drivers/gpu/drm/i915/i915_ioc32.o
  AR      drivers/net/ethernet/litex/built-in.a
  CC      fs/proc_namespace.o
  CC      drivers/usb/host/xhci-pci.o
  CC      fs/direct-io.o
  CC      drivers/mmc/host/sdhci-acpi.o
  CC [M]  drivers/gpu/drm/drm_framebuffer.o
  CC      fs/btrfs/delalloc-space.o
  CC      fs/btrfs/block-group.o
  LD [M]  drivers/md/persistent-data/dm-persistent-data.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.o
  CC      fs/eventpoll.o
  CC      drivers/leds/led-class.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.o
  CC [M]  drivers/net/ethernet/intel/e1000e/manage.o
  CC      kernel/seccomp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sync.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.o
  AR      drivers/usb/core/built-in.a
  CC      kernel/relay.o
  CC      fs/btrfs/discard.o
  CC      lib/pci_iomap.o
  CC [M]  fs/cifs/smb2transport.o
  CC      fs/btrfs/reflink.o
  CC      drivers/leds/led-triggers.o
  CC [M]  fs/cifs/smb2misc.o
  AR      drivers/net/ethernet/microchip/built-in.a
  AR      drivers/net/ethernet/mscc/built-in.a
  AR      drivers/net/ethernet/neterion/built-in.a
  CC      fs/btrfs/subpage.o
  AR      drivers/net/ethernet/netronome/built-in.a
  CC      drivers/mmc/core/slot-gpio.o
  CC      drivers/mmc/core/regulator.o
  CC [M]  drivers/gpu/drm/drm_gem.o
  CC      drivers/mmc/core/debugfs.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  CC [M]  drivers/gpu/drm/i915/i915_debugfs.o
  CC [M]  drivers/gpu/drm/drm_ioctl.o
  CC      drivers/mmc/core/block.o
  CC      fs/btrfs/tree-mod-log.o
  CC [M]  drivers/gpu/drm/drm_lease.o
  AR      drivers/net/ethernet/ni/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC [M]  fs/cifs/smb2pdu.o
  CC      drivers/mmc/host/cqhci-core.o
  CC      fs/btrfs/extent-io-tree.o
  CC      fs/anon_inodes.o
  CC      lib/iomap_copy.o
  AR      drivers/usb/host/built-in.a
  AR      drivers/usb/built-in.a
  AR      drivers/cpufreq/built-in.a
  AR      drivers/firmware/arm_ffa/built-in.a
  AR      drivers/firmware/arm_scmi/built-in.a
  CC      fs/btrfs/fs.o
  CC      fs/signalfd.o
  AR      drivers/firmware/broadcom/built-in.a
  CC      fs/timerfd.o
  AR      drivers/firmware/cirrus/built-in.a
  AR      drivers/firmware/meson/built-in.a
  CC      fs/eventfd.o
  CC      fs/btrfs/messages.o
  CC      fs/btrfs/bio.o
  AR      drivers/leds/built-in.a
  CC      lib/devres.o
  CC      drivers/firmware/efi/efi-bgrt.o
  CC      fs/btrfs/lru_cache.o
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  CC      fs/btrfs/acl.o
  CC [M]  drivers/net/ethernet/intel/e1000e/nvm.o
  CC      kernel/utsname_sysctl.o
  CC      drivers/mmc/core/queue.o
  CC      drivers/firmware/efi/libstub/gop.o
  AR      drivers/crypto/stm32/built-in.a
  AR      drivers/crypto/xilinx/built-in.a
  AR      drivers/crypto/hisilicon/built-in.a
  AR      drivers/crypto/keembay/built-in.a
  AR      drivers/crypto/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.o
  CC [M]  drivers/net/mdio.o
  CC      drivers/clocksource/acpi_pm.o
  CC [M]  drivers/net/tun.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.o
  CC      drivers/clocksource/i8253.o
  CC [M]  drivers/mmc/host/sdhci-pltfm.o
  CC      fs/userfaultfd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.o
  CC      drivers/hid/usbhid/hid-core.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC      drivers/hid/usbhid/hiddev.o
  CC      drivers/hid/hid-core.o
  CC      kernel/delayacct.o
  CC      kernel/taskstats.o
  AR      drivers/staging/media/built-in.a
  CC      drivers/firmware/efi/efi.o
  AR      drivers/staging/built-in.a
  CC      drivers/firmware/efi/libstub/secureboot.o
  CC      drivers/firmware/efi/vars.o
  CC      lib/check_signature.o
  CC      drivers/hid/hid-input.o
  CC      kernel/tsacct.o
  AR      drivers/platform/x86/amd/built-in.a
  CC      drivers/mailbox/mailbox.o
  CC      drivers/platform/x86/intel/pmc/core.o
  CC      drivers/mailbox/pcc.o
  CC      drivers/platform/x86/intel/pmc/spt.o
  CC [M]  fs/cifs/smb2inode.o
  CC      drivers/platform/x86/intel/pmc/cnp.o
  CC      drivers/platform/x86/intel/pmc/icl.o
  CC [M]  drivers/gpu/drm/i915/i915_debugfs_params.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC      drivers/devfreq/devfreq.o
  AR      drivers/clocksource/built-in.a
  CC      lib/interval_tree.o
  CC      drivers/powercap/powercap_sys.o
  AR      drivers/perf/built-in.a
  AR      drivers/platform/surface/built-in.a
  CC      drivers/firmware/efi/libstub/tpm.o
  CC      drivers/powercap/intel_rapl_common.o
  CC      drivers/firmware/efi/libstub/file.o
  CC [M]  fs/cifs/smb2file.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC      kernel/tracepoint.o
  AR      drivers/mmc/host/built-in.a
  CC      lib/assoc_array.o
  CC      kernel/latencytop.o
  CC      kernel/irq_work.o
  CC [M]  drivers/net/veth.o
  CC      drivers/powercap/intel_rapl_msr.o
  CC      drivers/platform/x86/intel/pmc/tgl.o
  CC      drivers/platform/x86/intel/pmc/adl.o
  CC      lib/list_debug.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_param.o
  CC      drivers/platform/x86/intel/pmc/mtl.o
  CC [M]  drivers/net/ethernet/intel/e1000e/phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm20b.o
  AR      drivers/net/ethernet/packetengines/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pipe_crc.o
  CC      fs/aio.o
  CC      drivers/ras/ras.o
  CC      drivers/ras/debugfs.o
  CC      drivers/platform/x86/intel/pmc/pltdrv.o
  CC      lib/debugobjects.o
  AR      drivers/mmc/core/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000e/param.o
  AR      drivers/mmc/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC      drivers/md/dm.o
  AR      drivers/mailbox/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000e/ethtool.o
  AR      drivers/hwtracing/intel_th/built-in.a
  CC      drivers/android/binderfs.o
  CC      drivers/nvmem/core.o
  CC      drivers/android/binder.o
  CC      drivers/android/binder_alloc.o
  CC      fs/locks.o
  CC      drivers/firmware/efi/libstub/mem.o
  CC [M]  drivers/gpu/drm/i915/i915_pmu.o
  CC      drivers/firmware/efi/libstub/random.o
  CC [M]  drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  AR      drivers/net/ethernet/realtek/built-in.a
  CC [M]  drivers/net/ethernet/realtek/8139cp.o
  AR      drivers/net/ethernet/renesas/built-in.a
  AR      drivers/net/ethernet/sfc/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  AR      drivers/net/ethernet/smsc/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/net/ethernet/smsc/smsc9420.o
  CC      kernel/static_call.o
  CC      kernel/static_call_inline.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  CC      fs/binfmt_script.o
  CC [M]  drivers/platform/x86/intel/pmt/class.o
  CC      fs/binfmt_elf.o
  AR      drivers/hid/usbhid/built-in.a
  AR      fs/btrfs/built-in.a
  CC [M]  drivers/net/ethernet/realtek/8139too.o
  CC      drivers/platform/x86/intel/turbo_max_3.o
  CC      fs/compat_binfmt_elf.o
  AR      drivers/platform/x86/intel/pmc/built-in.a
  CC [M]  drivers/platform/x86/intel/vsec.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.o
  AR      drivers/powercap/built-in.a
  CC [M]  fs/cifs/cifsacl.o
  CC      kernel/user-return-notifier.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp108.o
  CC [M]  drivers/net/ethernet/intel/e1000e/netdev.o
  CC [M]  drivers/net/ethernet/realtek/r8169_main.o
  AR      drivers/ras/built-in.a
  CC      lib/bitrev.o
  CC      drivers/hid/hid-quirks.o
  CC      drivers/firmware/efi/libstub/randomalloc.o
  CC      drivers/hid/hid-debug.o
  LD [M]  drivers/net/ethernet/intel/e1000/e1000.o
  CC      drivers/platform/x86/p2sb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gv100.o
  CC      kernel/padata.o
  CC      drivers/firmware/efi/reboot.o
  CC [M]  drivers/devfreq/governor_simpleondemand.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_main.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_main.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_ethtool.o
  CC      kernel/jump_label.o
  CC      fs/mbcache.o
  CC [M]  drivers/platform/x86/intel/pmt/telemetry.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.o
  AR      drivers/nvmem/built-in.a
  CC      fs/posix_acl.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ptp.o
  CC      lib/crc16.o
  CC      drivers/firmware/efi/memattr.o
  CC [M]  drivers/platform/x86/intel/rst.o
  CC [M]  drivers/devfreq/governor_performance.o
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderclear.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  LD [M]  drivers/platform/x86/intel/intel_vsec.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_context.o
  CC [M]  drivers/mtd/chips/chipreg.o
  CC      drivers/firmware/efi/libstub/pci.o
  CC [M]  drivers/net/ethernet/intel/igbvf/vf.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_main.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/vf.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/mbx.o
  CC      lib/crc-t10dif.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp10b.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ethtool.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/tu102.o
  CC [M]  drivers/platform/x86/intel/pmt/crashlog.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.o
  CC      drivers/hid/hidraw.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_common.o
  AR      drivers/devfreq/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_context_sseu.o
  CC      kernel/context_tracking.o
  AR      drivers/firmware/imx/built-in.a
  AR      drivers/firmware/psci/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_82575.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_cs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  AR      drivers/firmware/smccc/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ipsec.o
  CC      fs/coredump.o
  AR      drivers/platform/x86/intel/built-in.a
  CC      fs/drop_caches.o
  CC      drivers/md/dm-table.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_mac.o
  AR      drivers/net/ethernet/socionext/built-in.a
  CC [M]  fs/cifs/fs_context.o
  CC [M]  drivers/net/ethernet/realtek/r8169_firmware.o
  CC [M]  drivers/mtd/mtdcore.o
  HOSTCC  lib/gen_crc32table
  CC      fs/fhandle.o
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mac.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_nvm.o
  CC      lib/libcrc32c.o
  AR      drivers/firmware/tegra/built-in.a
  AR      drivers/firmware/xilinx/built-in.a
  CC      drivers/firmware/dmi_scan.o
  AR      drivers/net/ethernet/vertexcom/built-in.a
  AR      drivers/net/ethernet/wangxun/built-in.a
  AR      drivers/net/ethernet/xilinx/built-in.a
  AR      drivers/net/ethernet/synopsys/built-in.a
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  AR      drivers/net/ethernet/pensando/built-in.a
  CC      drivers/firmware/efi/libstub/alignedmem.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_class.o
  CC      drivers/firmware/dmi-sysfs.o
  CC [M]  drivers/net/ethernet/intel/igbvf/mbx.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_telemetry.o
  CC [M]  drivers/mtd/mtdsuper.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_crashlog.o
  LD [M]  drivers/platform/x86/intel/intel-rst.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.o
  CC      drivers/platform/x86/pmc_atom.o
  CC      kernel/iomem.o
  CC [M]  drivers/net/ethernet/realtek/r8169_phy_config.o
  CC [M]  drivers/platform/x86/wmi.o
  CC [M]  drivers/mtd/mtdconcat.o
  CC      drivers/hid/hid-generic.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/ga100.o
  CC [M]  fs/cifs/dns_resolve.o
  CC      lib/xxhash.o
  ASN.1   fs/cifs/cifs_spnego_negtokeninit.asn1.[ch]
  CC [M]  fs/cifs/smb1ops.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_pm.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_main.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_user.o
  CC [M]  drivers/mtd/mtdpart.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82599.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC      kernel/rseq.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt.o
  CC      drivers/firmware/efi/libstub/relocate.o
  GZIP    kernel/config_data.gz
  CC      kernel/configs.o
  CC [M]  drivers/gpu/drm/drm_managed.o
  CC      lib/genalloc.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/net/ethernet/intel/igbvf/ethtool.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/ga102.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_hw.o
  CC      drivers/hid/hid-a4tech.o
  CC      drivers/hid/hid-apple.o
  CC [M]  fs/cifs/cifssmb.o
  CC      drivers/firmware/efi/libstub/printk.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC      drivers/md/dm-target.o
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC [M]  drivers/uio/uio.o
  AR      fs/built-in.a
  CC      drivers/md/dm-linear.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_phy.o
  CC      drivers/md/dm-stripe.o
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC      drivers/hid/hid-belkin.o
  CC      drivers/firmware/dmi-id.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.o
  CC [M]  fs/cifs/cifs_spnego_negtokeninit.asn1.o
  CC [M]  drivers/platform/x86/wmi-bmof.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC      drivers/firmware/memmap.o
  LD [M]  drivers/net/ethernet/realtek/r8169.o
  CC [M]  fs/cifs/asn1.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt.o
  CC [M]  drivers/platform/x86/mxm-wmi.o
  CC [M]  drivers/mtd/mtdchar.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_ee.o
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  CC      drivers/md/dm-ioctl.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC      drivers/hid/hid-cherry.o
  CC      lib/percpu_counter.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC      lib/fault-inject.o
  AR      kernel/built-in.a
  CC [M]  drivers/net/ethernet/intel/igbvf/netdev.o
  CC      lib/syscall.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sched.o
  CC      drivers/firmware/efi/tpm.o
  CC      drivers/firmware/efi/memmap.o
  CC [M]  drivers/platform/x86/intel_ips.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.o
  CC      drivers/firmware/efi/esrt.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC      drivers/firmware/efi/efi-pstore.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.o
  CC      drivers/md/dm-io.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gk20a.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  AR      drivers/platform/x86/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82598.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x540.o
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
  CC      lib/dynamic_debug.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  AR      drivers/firmware/efi/libstub/lib.a
  CC      drivers/hid/hid-chicony.o
  CC      drivers/md/dm-kcopyd.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_ethtool.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_i225.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_param.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x550.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ids.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC      drivers/firmware/efi/cper.o
  CC      drivers/firmware/efi/cper_cxl.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  CC      drivers/md/dm-sysfs.o
  AR      drivers/android/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mbx.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_base.o
  CC      drivers/firmware/efi/dev-path-parser.o
  LD [M]  drivers/mtd/mtd.o
  AR      drivers/net/ethernet/intel/built-in.a
  CC [M]  drivers/net/ethernet/intel/e100.o
  CC [M]  drivers/gpu/drm/drm_mm.o
  CC      drivers/md/dm-stats.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_i210.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_ptp.o
  CC      drivers/md/dm-rq.o
  LD [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm107.o
  CC      drivers/firmware/efi/apple-properties.o
  AR      drivers/platform/built-in.a
  CC      drivers/hid/hid-cypress.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_lib.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_nvm.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_phy.o
  CC      drivers/md/dm-io-rewind.o
  CC [M]  drivers/gpu/drm/drm_mode_config.o
../drivers/gpu/drm/i915/gt/intel_engine_cs.c:1525: warning: expecting prototype for intel_engines_cleanup_common(). Prototype was for intel_engine_cleanup_common() instead
  CC      drivers/firmware/efi/earlycon.o
  CC      drivers/hid/hid-ezkey.o
  CC      drivers/firmware/efi/cper-x86.o
  LD [M]  drivers/net/ethernet/intel/e1000e/e1000e.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_hwmon.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_irq.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_diag.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm20b.o
  CC [M]  drivers/gpu/drm/drm_mode_object.o
  CC [M]  drivers/gpu/drm/drm_modes.o
  CC      drivers/md/dm-builtin.o
  CC [M]  drivers/md/dm-bufio.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.o
  CC      lib/errname.o
  CC [M]  drivers/md/dm-bio-prison-v1.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  CC [M]  drivers/vfio/pci/vfio_pci_core.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm.o
  CC [M]  drivers/vfio/vfio_main.o
  CC [M]  drivers/vfio/pci/vfio_pci_intrs.o
  CC [M]  drivers/vfio/pci/vfio_pci_rdwr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  LD [M]  drivers/net/ethernet/intel/ixgb/ixgb.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/md/dm-bio-prison-v2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/tu102.o
  CC [M]  drivers/vfio/pci/vfio_pci_config.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/bit.o
  CC      drivers/hid/hid-kensington.o
  CC      drivers/hid/hid-lg.o
  AR      drivers/firmware/efi/built-in.a
  AR      drivers/firmware/built-in.a
  CC [M]  drivers/gpu/drm/drm_modeset_lock.o
  CC [M]  drivers/md/dm-crypt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/boost.o
  CC [M]  drivers/pps/pps.o
  CC      lib/nlattr.o
  LD [M]  drivers/net/ethernet/intel/igbvf/igbvf.o
  CC [M]  drivers/pps/kapi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/conn.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_ethtool.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/cstep.o
  CC      drivers/hid/hid-lg-g15.o
  CC [M]  drivers/bluetooth/btusb.o
  CC [M]  drivers/pps/sysfs.o
  CC      drivers/hid/hid-microsoft.o
  CC [M]  drivers/bluetooth/btintel.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.o
  CC      drivers/hid/hid-monterey.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  LD [M]  drivers/net/ethernet/intel/igb/igb.o
  CC [M]  drivers/md/dm-thin.o
  CC [M]  drivers/vfio/pci/vfio_pci.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_requests.o
  CC [M]  drivers/dca/dca-core.o
  CC      lib/checksum.o
  CC [M]  drivers/dca/dca-sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/vfio/group.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/disp.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.o
  LD [M]  drivers/pps/pps_core.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_csa.o
  CC [M]  drivers/gpu/drm/drm_plane.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.o
  CC [M]  drivers/ssb/main.o
  CC [M]  drivers/vhost/net.o
  CC [M]  drivers/ssb/scan.o
  CC [M]  drivers/vfio/iova_bitmap.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.o
  CC      lib/cpu_rmap.o
  CC [M]  drivers/vhost/vhost.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/extdev.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/vfio/container.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.o
  LD [M]  fs/cifs/cifs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gtt.o
  CC      lib/dynamic_queue_limits.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_llc.o
  LD [M]  drivers/vfio/pci/vfio-pci.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/md/dm-thin-metadata.o
  LD [M]  drivers/vfio/pci/vfio-pci-core.o
  CC      lib/glob.o
  AR      drivers/hid/built-in.a
  LD [M]  drivers/md/dm-bio-prison.o
  CC [M]  drivers/gpu/drm/xe/xe_vm_madvise.o
  CC [M]  drivers/bluetooth/btbcm.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/bluetooth/btrtl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/gpio.o
  CC [M]  drivers/vhost/iotlb.o
  LD [M]  drivers/dca/dca.o
  CC      lib/strncpy_from_user.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_lrc.o
  CC [M]  drivers/ssb/sprom.o
  CC      lib/strnlen_user.o
  CC      lib/net_utils.o
  CC [M]  drivers/vfio/virqfd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_migrate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_umc.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_ptp.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_mocs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ppgtt.o
  GEN     xe_wa_oob.c xe_wa_oob.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/drm_prime.o
  CC [M]  drivers/ssb/pci.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/iccsense.o
  CC [M]  drivers/gpu/drm/xe/xe_display.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.o
  CC [M]  drivers/vfio/vfio_iommu_type1.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_rc6.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_dump.o
  CC [M]  drivers/ssb/pcihost_wrapper.o
  LD [M]  drivers/vhost/vhost_iotlb.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.o
  CC [M]  drivers/ssb/driver_chipcommon.o
  AR      drivers/md/built-in.a
  CC [M]  drivers/ssb/driver_chipcommon_pmu.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.o
  CC [M]  drivers/gpu/drm/drm_print.o
  CC      lib/sg_pool.o
  LD [M]  drivers/vfio/vfio.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_region_lmem.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_renderstate.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_reset.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ring.o
  CC [M]  drivers/gpu/drm/drm_property.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_rap.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_tsn.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/npde.o
  CC [M]  drivers/ssb/driver_pcicore.o
  CC [M]  drivers/gpu/drm/drm_syncobj.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pcir.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fw_attestation.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_xdp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.o
  CC      lib/stackdepot.o
  CC [M]  drivers/gpu/drm/drm_sysfs.o
  LD [M]  drivers/vhost/vhost_net.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_eeprom.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_clock_gating.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mca.o
  CC [M]  drivers/gpu/drm/drm_trace_points.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ring_submission.o
  LD [M]  drivers/md/dm-thin-pool.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_rps.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.o
  CC [M]  drivers/gpu/drm/drm_vblank.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sa_media.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sseu.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_lsdma.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_timeline.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring_mux.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_device_info.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_wopcm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_workarounds.o
  CC [M]  drivers/gpu/drm/i915/gt/shmem_utils.o
  CC [M]  drivers/gpu/drm/i915/gt/sysfs_engines.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  LD [M]  drivers/ssb/ssb.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC      lib/ucs2_string.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/power_budget.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_dram.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_pch.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.o
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderstate.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_renderstate.o
  CC [M]  drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.o
  CC [M]  drivers/gpu/drm/drm_vblank_work.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik.o
  CC      lib/sbitmap.o
  LD [M]  drivers/net/ethernet/intel/igc/igc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik_ih.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v8_0.o
  LD [M]  drivers/net/ethernet/intel/ixgbe/ixgbe.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v7_0.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_create.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik_sdma.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_domain.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  CC [M]  drivers/gpu/drm/drm_vma_manager.o
  AR      drivers/net/ethernet/built-in.a
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  AR      drivers/net/built-in.a
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_lmem.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_mman.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pages.o
  CC [M]  drivers/gpu/drm/drm_writeback.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_phys.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v4_2.o
  CC      lib/group_cpus.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/lib/drm_random.o
  CC [M]  drivers/gpu/drm/drm_ioc32.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC [M]  drivers/gpu/drm/drm_panel.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.o
  CC [M]  drivers/gpu/drm/drm_pci.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC [M]  lib/asn1_decoder.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v2_0.o
  CC [M]  drivers/gpu/drm/drm_debugfs.o
  CC [M]  drivers/gpu/drm/drm_debugfs_crc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  GEN     lib/oid_registry_data.c
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_tiling.o
  CC [M]  lib/oid_registry.o
  CC [M]  drivers/gpu/drm/drm_edid_load.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowramin.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowrom.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC [M]  drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC [M]  drivers/gpu/drm/drm_buddy.o
  AR      lib/lib.a
  GEN     lib/crc32table.h
  CC [M]  drivers/gpu/drm/drm_gem_shmem_helper.o
  CC      lib/crc32.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/timing.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC [M]  drivers/gpu/drm/i915/i915_active.o
  CC [M]  drivers/gpu/drm/i915/i915_cmd_parser.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v6_0.o
  CC [M]  drivers/gpu/drm/i915/i915_deps.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 [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_evict.o
  CC [M]  drivers/gpu/drm/drm_atomic_helper.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC [M]  drivers/gpu/drm/drm_atomic_state_helper.o
  AR      lib/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/volt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vpstate.o
  CC [M]  drivers/gpu/drm/drm_bridge_connector.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v6_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_gtt.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_ww.o
  CC [M]  drivers/gpu/drm/i915/i915_gem.o
  CC [M]  drivers/gpu/drm/i915/i915_query.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/drm_crtc_helper.o
  CC [M]  drivers/gpu/drm/drm_damage_helper.o
  CC [M]  drivers/gpu/drm/i915/i915_request.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si_ih.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/i915/i915_trace_points.o
  CC [M]  drivers/gpu/drm/drm_encoder_slave.o
  CC [M]  drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
  CC [M]  drivers/gpu/drm/i915/i915_vma.o
  CC [M]  drivers/gpu/drm/i915/i915_vma_resource.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si_dma.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/xpio.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc.o
  CC [M]  drivers/gpu/drm/drm_flip_work.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0203.o
  CC [M]  drivers/gpu/drm/drm_format_helper.o
  CC [M]  drivers/gpu/drm/drm_gem_atomic_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v6_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v3_1.o
  CC [M]  drivers/gpu/drm/drm_gem_framebuffer_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vi.o
  CC [M]  drivers/gpu/drm/drm_kms_helper_common.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
  CC [M]  drivers/gpu/drm/drm_modeset_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
  CC [M]  drivers/gpu/drm/drm_plane_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0205.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
  CC [M]  drivers/gpu/drm/drm_probe_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC [M]  drivers/gpu/drm/drm_rect.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_vi.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gsc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v6_1.o
  CC [M]  drivers/gpu/drm/drm_self_refresh_helper.o
  CC [M]  drivers/gpu/drm/i915/i915_hwmon.o
  CC [M]  drivers/gpu/drm/i915/display/hsw_ips.o
  CC [M]  drivers/gpu/drm/drm_simple_kms_helper.o
  CC [M]  drivers/gpu/drm/bridge/panel.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc15.o
  CC [M]  drivers/gpu/drm/drm_fbdev_generic.o
  CC [M]  drivers/gpu/drm/i915/display/intel_atomic.o
  CC [M]  drivers/gpu/drm/i915/display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/emu_soc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_audio.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bios.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0209.o
  CC [M]  drivers/gpu/drm/drm_fb_helper.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bw.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_ai.o
  CC [M]  drivers/gpu/drm/i915/display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/i915/display/intel_connector.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_0.o
  LD [M]  drivers/gpu/drm/drm.o
  LD [M]  drivers/gpu/drm/drm_shmem_helper.o
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cursor.o
  LD [M]  drivers/gpu/drm/drm_ttm_helper.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  AR      drivers/gpu/drm/built-in.a
  CC [M]  drivers/gpu/drm/i915/display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_reg_init.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_reg_init.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_4.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v2_3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_reset.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_rps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/P0260.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nv.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/arct_reg_init.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dmc.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/i915/display/intel_dpio_phy.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_nv.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v4_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_drrs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/base.o
  LD [M]  drivers/gpu/drm/drm_kms_helper.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsb.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fb.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fb_pin.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fdi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v5_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/i915/display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/i915/display/intel_global_state.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aldebaran_reg_init.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aldebaran.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc21.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hti.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sienna_cichlid.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 [M]  drivers/gpu/drm/i915/display/intel_load_detect.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v4_3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v6_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_overlay.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_7.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_display.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_refclk.o
  CC [M]  drivers/gpu/drm/i915/display/intel_plane_initial.o
  CC [M]  drivers/gpu/drm/i915/display/intel_psr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v5_2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/lsdma_v6_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_quirks.o
  CC [M]  drivers/gpu/drm/i915/display/intel_sprite.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_sprite_uapi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/i915/display/intel_tc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v1_7.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vblank.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vga.o
  CC [M]  drivers/gpu/drm/i915/display/intel_wm.o
  CC [M]  drivers/gpu/drm/i915/display/i9xx_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v3_6.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv31.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v4_3.o
  CC [M]  drivers/gpu/drm/i915/display/i9xx_wm.o
  CC [M]  drivers/gpu/drm/i915/display/skl_scaler.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/i915/display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v7_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v8_0.o
  CC [M]  drivers/gpu/drm/i915/display/skl_watermark.o
  CC [M]  drivers/gpu/drm/i915/display/intel_acpi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_opregion.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/g94.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v9_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv40.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7017.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ivch.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ns2501.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_sil164.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_tfp410.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_1.o
  CC [M]  drivers/gpu/drm/i915/display/g4x_dp.o
  CC [M]  drivers/gpu/drm/i915/display/g4x_hdmi.o
  CC [M]  drivers/gpu/drm/i915/display/icl_dsi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/i915/display/intel_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crt.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/i915/display/intel_ddi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_device.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_panel.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v10_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gm20b.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllnv04.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dvo.o
  CC [M]  drivers/gpu/drm/i915/display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_7.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllgt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lvds.o
  CC [M]  drivers/gpu/drm/i915/display/intel_panel.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pps.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.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 [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv05.o
  CC [M]  drivers/gpu/drm/i915/display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.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/i915/display/intel_sdvo.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv1a.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC [M]  drivers/gpu/drm/i915/display/intel_tv.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vrr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC [M]  drivers/gpu/drm/i915/display/vlv_dsi.o
  CC [M]  drivers/gpu/drm/i915/display/vlv_dsi_pll.o
  CC [M]  drivers/gpu/drm/i915/i915_perf.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_cmd.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_irq.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v11_0.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_session.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.o
  CC [M]  drivers/gpu/drm/i915/i915_gpu_error.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC [M]  drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.o
  CC [M]  drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.o
  CC [M]  drivers/gpu/drm/i915/selftests/i915_random.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.o
  CC [M]  drivers/gpu/drm/i915/selftests/i915_selftest.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_atomic.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm200.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_flush_test.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_live_test.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_mmap.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_reset.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_spinner.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  CC [M]  drivers/gpu/drm/i915/selftests/librapl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gv100.o
  CC [M]  drivers/gpu/drm/i915/i915_vgpu.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_crtc_state_dump.h
  HDRTEST drivers/gpu/drm/i915/display/hsw_ips.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu102.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/ga100.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.o
  HDRTEST drivers/gpu/drm/i915/display/g4x_hdmi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_overlay.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display.h
  HDRTEST drivers/gpu/drm/i915/display/skl_watermark_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dmc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_vga.h
  HDRTEST drivers/gpu/drm/i915/display/intel_audio.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/user.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_lvds.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_8.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_modeset_setup.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp10b.o
  HDRTEST drivers/gpu/drm/i915/display/intel_cdclk.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_limits.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hotplug.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dkl_phy.h
  HDRTEST drivers/gpu/drm/i915/display/intel_atomic.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_driver.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dpll.h
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_pll_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_1.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_mst.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fdi_regs.h
  HDRTEST drivers/gpu/drm/i915/display/g4x_dp.h
  HDRTEST drivers/gpu/drm/i915/display/intel_tc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_frontbuffer.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi_vbt.h
  HDRTEST drivers/gpu/drm/i915/display/intel_psr.h
  HDRTEST drivers/gpu/drm/i915/display/intel_crt.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_7.o
  HDRTEST drivers/gpu/drm/i915/display/intel_opregion.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
  HDRTEST drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
  HDRTEST drivers/gpu/drm/i915/display/i9xx_wm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/tu102.o
  HDRTEST drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_global_state.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_7.o
  HDRTEST drivers/gpu/drm/i915/display/intel_lpe_audio.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_10.o
  HDRTEST drivers/gpu/drm/i915/display/intel_drrs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_rps.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv10.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ih.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv1a.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/iceland_ih.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/tonga_ih.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv30.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fbdev.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.o
  HDRTEST drivers/gpu/drm/i915/display/intel_pps_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hdmi.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fdi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fb.h
  HDRTEST drivers/gpu/drm/i915/display/intel_qp_tables.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dsb_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.o
  HDRTEST drivers/gpu/drm/i915/display/intel_vdsc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_snps_phy.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv47.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cz_ih.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_core.h
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_pll.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo_dev.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_ih.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp.h
  HDRTEST drivers/gpu/drm/i915/display/intel_sdvo_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pch_refclk.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv49.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_ih.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_trace.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv4e.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_aux_regs.h
  HDRTEST drivers/gpu/drm/i915/display/i9xx_plane.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pm_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_aux_backlight.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dpll_mgr.h
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
  HDRTEST drivers/gpu/drm/i915/display/intel_plane_initial.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.o
  HDRTEST drivers/gpu/drm/xe/display/ext/i915_irq.h
  HDRTEST drivers/gpu/drm/xe/display/ext/intel_pch.h
  HDRTEST drivers/gpu/drm/xe/display/ext/intel_dram.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/navi10_ih.o
  HDRTEST drivers/gpu/drm/xe/display/ext/intel_device_info.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_guc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gt_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/ih_v6_0.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gpu_commands.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_device.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gt215.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp77.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp89.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v3_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v10_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v11_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fifo_underrun.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf108.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_pci_test.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cursor.h
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cx0_phy.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_migrate_test.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v11_0_8.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v12_0.o
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  HDRTEST drivers/gpu/drm/i915/display/skl_scaler.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hti.h
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v13_0.o
  HDRTEST drivers/gpu/drm/i915/display/icl_dsi_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v13_0_4.o
  HDRTEST drivers/gpu/drm/i915/display/intel_atomic_plane.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
../drivers/gpu/drm/i915/i915_gpu_error.c:2174: warning: Function parameter or member 'dump_flags' not described in 'i915_capture_error_state'
  HDRTEST drivers/gpu/drm/i915/display/skl_watermark.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fbc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v10_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_reg_defs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_acpi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v11_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_connector.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dpt.h
  HDRTEST drivers/gpu/drm/i915/display/intel_quirks.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.o
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.o
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_link_training.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.o
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.o
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_color.h
  HDRTEST drivers/gpu/drm/i915/display/intel_crtc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.o
  HDRTEST drivers/gpu/drm/xe/xe_display.h
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  HDRTEST drivers/gpu/drm/i915/display/intel_modeset_verify.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power_well.h
  HDRTEST drivers/gpu/drm/xe/xe_drv.h
  HDRTEST drivers/gpu/drm/i915/display/intel_psr_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_wm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm20b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_4.o
  HDRTEST drivers/gpu/drm/i915/display/intel_pipe_crc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_audio_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.o
../drivers/gpu/drm/i915/i915_perf.c:5307: warning: Function parameter or member 'i915' not described in 'i915_perf_ioctl_version'
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.o
  HDRTEST drivers/gpu/drm/i915/display/intel_panel.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.o
  HDRTEST drivers/gpu/drm/xe/xe_engine.h
  HDRTEST drivers/gpu/drm/i915/display/intel_sprite.h
  HDRTEST drivers/gpu/drm/xe/xe_engine_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_wm_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_tv.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hti_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/tu102.o
  HDRTEST drivers/gpu/drm/i915/display/intel_vrr.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_load_detect.h
  HDRTEST drivers/gpu/drm/i915/display/intel_mg_phy_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  HDRTEST drivers/gpu/drm/i915/display/skl_universal_plane.h
  HDRTEST drivers/gpu/drm/i915/display/intel_bw.h
  HDRTEST drivers/gpu/drm/i915/display/intel_de.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga102.o
  HDRTEST drivers/gpu/drm/i915/display/intel_lvds_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.o
  HDRTEST drivers/gpu/drm/i915/display/intel_gmbus_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_clock.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v10_0.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_mcr.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/imu_v11_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_sdvo.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_pagefault.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v11_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_printk.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv04.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_aux.h
  HDRTEST drivers/gpu/drm/i915/display/intel_vdsc_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv10.o
  HDRTEST drivers/gpu/drm/i915/display/intel_combo_phy.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_gmbus.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp_gsc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dmc_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_ddi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hotplug_irq.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/imu_v11_0_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v2_4.o
  HDRTEST drivers/gpu/drm/i915/display/intel_tv_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v3_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsb.h
  HDRTEST drivers/gpu/drm/i915/display/intel_bios.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pch_display.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv20.o
  HDRTEST drivers/gpu/drm/i915/display/intel_backlight.h
  HDRTEST drivers/gpu/drm/i915/display/intel_vblank.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv41.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_4.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.o
  HDRTEST drivers/gpu/drm/i915/display/intel_backlight_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v5_0.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_topology.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv44.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_guc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_reset.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power_map.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v5_2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv49.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv4e.o
  HDRTEST drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
  HDRTEST drivers/gpu/drm/i915/display/icl_dsi.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_lspcon.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dpio_phy.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_hdcp.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v6_0.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fb_pin.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pps.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_engine_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_sprite_uapi.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_region.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_context_types.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_lmem.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgt215.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_mman.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log.h
../drivers/gpu/drm/i915/gem/i915_gem_region.h:25: warning: Incorrect use of kernel-doc format:          * process_obj - Process the current object
../drivers/gpu/drm/i915/gem/i915_gem_region.h:35: warning: Function parameter or member 'process_obj' not described in 'i915_gem_apply_to_region_ops'
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/rammcp77.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_object_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mes.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_context.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf108.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_clflush.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_tiling.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_stolen.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm107.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_create.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm200.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mes_v10_1.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ioctls.h
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_domain.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_internal.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mes_v11_0.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_dmabuf.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v5_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v6_0.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_context.h
  HDRTEST drivers/gpu/drm/i915/gem/selftests/huge_gem_object.h
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_gem_object.h
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.o
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  HDRTEST drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v7_0.o
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_userptr.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_pm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr5.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_shrinker.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gemfs.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vce.o
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v3_0.o
../drivers/gpu/drm/i915/gem/i915_gem_ttm.h:50: warning: Function parameter or member 'bo' not described in 'i915_ttm_to_gem'
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_object.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v4_0.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_timeline_types.h
  HDRTEST drivers/gpu/drm/i915/gt/selftest_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_breadcrumbs.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/nv50.o
  HDRTEST drivers/gpu/drm/xe/xe_lrc_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gf100.o
  HDRTEST drivers/gpu/drm/xe/xe_macros.h
  HDRTEST drivers/gpu/drm/xe/xe_map.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gm107.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_context_types.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_execlists_submission.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_sw_ring.o
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v1_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v2_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v2_5.o
  HDRTEST drivers/gpu/drm/i915/gt/selftest_rc6.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_llc_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv50.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_region_lmem.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_requests.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/g94.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h
  HDRTEST drivers/gpu/drm/xe/xe_pat.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  HDRTEST drivers/gpu/drm/xe/xe_pci_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_print.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/i915/gt/gen8_ppgtt.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v4_0.o
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_mcr.h
../drivers/gpu/drm/i915/gem/i915_gem_object.h:94: warning: Function parameter or member 'file' not described in 'i915_gem_object_lookup_rcu'
../drivers/gpu/drm/i915/gem/i915_gem_object.h:94: warning: Excess function parameter 'filp' description in 'i915_gem_object_lookup_rcu'
  HDRTEST drivers/gpu/drm/i915/gt/intel_timeline.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  HDRTEST drivers/gpu/drm/i915/gt/gen6_engine_cs.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_workarounds_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/gf119.o
  HDRTEST drivers/gpu/drm/i915/gt/selftest_rps.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/ga102.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_sa_media.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_walk.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/base.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_rps_types.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  HDRTEST drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.o
  HDRTEST drivers/gpu/drm/i915/gt/sysfs_engines.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/i915/gt/gen7_renderclear.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_context.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v1_0.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_wopcm.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v2_0.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_mocs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v2_1.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_pm.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v3_0.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_rc6.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v9_0.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ring_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_workarounds.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_regs.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sa.h
  HDRTEST drivers/gpu/drm/i915/gt/shmem_utils.h
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_reset_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v11_0.o
  HDRTEST drivers/gpu/drm/xe/xe_step.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_step_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sync.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_reset.h
  HDRTEST drivers/gpu/drm/xe/xe_sync_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv04.o
  HDRTEST drivers/gpu/drm/xe/xe_tile.h
  HDRTEST drivers/gpu/drm/xe/xe_trace.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v11_0_6.o
  HDRTEST drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tuning.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h
  HDRTEST drivers/gpu/drm/xe/xe_uc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v13_0.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_debugfs.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v13_0_6.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_reset.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv4e.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mca_v3_0.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv50.o
  HDRTEST drivers/gpu/drm/xe/xe_vm.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_print.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.o
  HDRTEST drivers/gpu/drm/xe/xe_vm_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_madvise.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf117.o
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_fw.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf119.o
../drivers/gpu/drm/i915/gt/intel_context.h:108: warning: Function parameter or member 'ce' not described in 'intel_context_lock_pinned'
../drivers/gpu/drm/i915/gt/intel_context.h:123: warning: Function parameter or member 'ce' not described in 'intel_context_is_pinned'
../drivers/gpu/drm/i915/gt/intel_context.h:142: warning: Function parameter or member 'ce' not described in 'intel_context_unlock_pinned'
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  LD [M]  drivers/gpu/drm/xe/xe.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk104.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_module.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_huc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_topology.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk110.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_pasid.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_doorbell.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_flat_memory.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:27: warning: Function parameter or member 'size' not described in '__guc_capture_bufstate'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:27: warning: Function parameter or member 'data' not described in '__guc_capture_bufstate'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:27: warning: Function parameter or member 'rd' not described in '__guc_capture_bufstate'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:27: warning: Function parameter or member 'wr' not described in '__guc_capture_bufstate'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:59: warning: Function parameter or member 'link' not described in '__guc_capture_parsed_output'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:59: warning: Function parameter or member 'is_partial' not described in '__guc_capture_parsed_output'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:59: warning: Function parameter or member 'eng_class' not described in '__guc_capture_parsed_output'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:59: warning: Function parameter or member 'eng_inst' not described in '__guc_capture_parsed_output'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:59: warning: Function parameter or member 'guc_id' not described in '__guc_capture_parsed_output'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:59: warning: Function parameter or member 'lrca' not described in '__guc_capture_parsed_output'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:59: warning: Function parameter or member 'reginfo' not described in '__guc_capture_parsed_output'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:62: warning: wrong kernel-doc identifier on line:
 * struct guc_debug_capture_list_header / struct guc_debug_capture_list
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:80: warning: wrong kernel-doc identifier on line:
 * struct __guc_mmio_reg_descr / struct __guc_mmio_reg_descr_group
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:105: warning: wrong kernel-doc identifier on line:
 * struct guc_state_capture_header_t / struct guc_state_capture_t /
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:163: warning: Function parameter or member 'is_valid' not described in '__guc_capture_ads_cache'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:163: warning: Function parameter or member 'ptr' not described in '__guc_capture_ads_cache'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:163: warning: Function parameter or member 'size' not described in '__guc_capture_ads_cache'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:163: warning: Function parameter or member 'status' not described in '__guc_capture_ads_cache'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:216: warning: Function parameter or member 'ads_null_cache' not described in 'intel_guc_state_capture'
../drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h:216: warning: Function parameter or member 'max_mmio_per_node' not described in 'intel_guc_state_capture'
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_queue.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv04.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_cik.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_vi.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv4e.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv50.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v11.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_kernel_queue.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_hwconfig.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_llc.h
drivers/gpu/drm/xe/xe.o: warning: objtool: intel_set_cpu_fifo_underrun_reporting+0x385: unreachable instruction
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.o
  HDRTEST drivers/gpu/drm/i915/gt/gen8_engine_cs.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_sseu_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.o
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'marker' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'read_ptr' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'write_ptr' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'size' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'sampled_write_ptr' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'wrap_offset' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'flush_to_file' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'buffer_full_cnt' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'reserved' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'flags' not described in 'guc_log_buffer_state'
../drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h:491: warning: Function parameter or member 'version' not described in 'guc_log_buffer_state'
  HDRTEST drivers/gpu/drm/i915/gt/intel_rc6_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_context_param.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gpu_commands.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_user.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_irq.h
../drivers/gpu/drm/i915/gt/uc/intel_guc.h:274: warning: Function parameter or member 'dbgfs_node' not described in 'intel_guc'
  HDRTEST drivers/gpu/drm/i915/gt/intel_gsc.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_rps.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager_vi.o
  HDRTEST drivers/gpu/drm/i915/gt/selftest_llc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.o
  HDRTEST drivers/gpu/drm/i915/gt/gen6_ppgtt.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_migrate_types.h
  HDRTEST drivers/gpu/drm/i915/gt/selftests/mock_timeline.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_lrc.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_lrc_reg.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_migrate.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager_v9.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv4e.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.h
  HDRTEST drivers/gpu/drm/i915/gt/mock_engine.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_stats.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process_queue_manager.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gtt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_cik.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bit.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_vi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v9.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_buffer_pool_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v11.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ring.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_interrupt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_events.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/cik_event_interrupt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v11.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_renderstate.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_smi_events.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_sseu.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_crat.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debugfs.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.o
  HDRTEST drivers/gpu/drm/i915/gt/gen2_engine_cs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.o
../drivers/gpu/drm/i915/gt/intel_gtt.h:515: warning: Function parameter or member 'vm' not described in 'i915_vm_resv_put'
../drivers/gpu/drm/i915/gt/intel_gtt.h:515: warning: Excess function parameter 'resv' description in 'i915_vm_resv_put'
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.o
  HDRTEST drivers/gpu/drm/i915/gvt/gvt.h
  HDRTEST drivers/gpu/drm/i915/gvt/trace.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.o
  HDRTEST drivers/gpu/drm/i915/gvt/debug.h
  HDRTEST drivers/gpu/drm/i915/gvt/edid.h
  HDRTEST drivers/gpu/drm/i915/gvt/page_track.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.o
  HDRTEST drivers/gpu/drm/i915/gvt/mmio.h
  HDRTEST drivers/gpu/drm/i915/gvt/sched_policy.h
  HDRTEST drivers/gpu/drm/i915/gvt/fb_decoder.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.o
  HDRTEST drivers/gpu/drm/i915/gvt/cmd_parser.h
  HDRTEST drivers/gpu/drm/i915/gvt/dmabuf.h
  HDRTEST drivers/gpu/drm/i915/gvt/mmio_context.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.o
  HDRTEST drivers/gpu/drm/i915/gvt/display.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10_3.o
  HDRTEST drivers/gpu/drm/i915/gvt/gtt.h
  HDRTEST drivers/gpu/drm/i915/gvt/scheduler.h
  HDRTEST drivers/gpu/drm/i915/gvt/reg.h
  HDRTEST drivers/gpu/drm/i915/gvt/execlist.h
  HDRTEST drivers/gpu/drm/i915/gvt/interrupt.h
  HDRTEST drivers/gpu/drm/i915/i915_active.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v11.o
  HDRTEST drivers/gpu/drm/i915/i915_active_types.h
  HDRTEST drivers/gpu/drm/i915/i915_cmd_parser.h
  HDRTEST drivers/gpu/drm/i915/i915_config.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.o
  HDRTEST drivers/gpu/drm/i915/i915_debugfs.h
  HDRTEST drivers/gpu/drm/i915/i915_debugfs_params.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.o
  HDRTEST drivers/gpu/drm/i915/i915_deps.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.o
  HDRTEST drivers/gpu/drm/i915/i915_driver.h
  HDRTEST drivers/gpu/drm/i915/i915_drm_client.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_job.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_acp.o
  HDRTEST drivers/gpu/drm/i915/i915_drv.h
../drivers/gpu/drm/i915/gt/intel_engine_types.h:293: warning: Function parameter or member 'preempt_hang' not described in 'intel_engine_execlists'
  CC [M]  drivers/gpu/drm/amd/amdgpu/../acp/acp_hw.o
  HDRTEST drivers/gpu/drm/i915/i915_file_private.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ioc32.o
  HDRTEST drivers/gpu/drm/i915/i915_fixed.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.o
  HDRTEST drivers/gpu/drm/i915/i915_gem.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gk104.o
  HDRTEST drivers/gpu/drm/i915/i915_gem_evict.h
  HDRTEST drivers/gpu/drm/i915/i915_gem_gtt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.o
  HDRTEST drivers/gpu/drm/i915/i915_gem_ww.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/arcturus_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/sienna_cichlid_ppt.o
  HDRTEST drivers/gpu/drm/i915/i915_getparam.h
  HDRTEST drivers/gpu/drm/i915/i915_gpu_error.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm200.o
  HDRTEST drivers/gpu/drm/i915/i915_hwmon.h
  HDRTEST drivers/gpu/drm/i915/i915_ioc32.h
  HDRTEST drivers/gpu/drm/i915/i915_ioctl.h
  HDRTEST drivers/gpu/drm/i915/i915_iosf_mbi.h
  HDRTEST drivers/gpu/drm/i915/i915_irq.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp100.o
  HDRTEST drivers/gpu/drm/i915/i915_memcpy.h
  HDRTEST drivers/gpu/drm/i915/i915_mitigations.h
  HDRTEST drivers/gpu/drm/i915/i915_mm.h
  HDRTEST drivers/gpu/drm/i915/i915_params.h
../drivers/gpu/drm/i915/i915_active.h:66: warning: Function parameter or member 'active' not described in '__i915_active_fence_init'
../drivers/gpu/drm/i915/i915_active.h:66: warning: Function parameter or member 'fence' not described in '__i915_active_fence_init'
../drivers/gpu/drm/i915/i915_active.h:66: warning: Function parameter or member 'fn' not described in '__i915_active_fence_init'
../drivers/gpu/drm/i915/i915_active.h:89: warning: Function parameter or member 'active' not described in 'i915_active_fence_set'
../drivers/gpu/drm/i915/i915_active.h:89: warning: Function parameter or member 'rq' not described in 'i915_active_fence_set'
../drivers/gpu/drm/i915/i915_active.h:102: warning: Function parameter or member 'active' not described in 'i915_active_fence_get'
../drivers/gpu/drm/i915/i915_active.h:122: warning: Function parameter or member 'active' not described in 'i915_active_fence_isset'
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/vangogh_ppt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/cyan_skillfish_ppt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu12/renoir_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu12/smu_v12_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/ga102.o
  HDRTEST drivers/gpu/drm/i915/i915_pci.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.o
  HDRTEST drivers/gpu/drm/i915/i915_perf.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.o
  HDRTEST drivers/gpu/drm/i915/i915_perf_oa_regs.h
  HDRTEST drivers/gpu/drm/i915/i915_perf_types.h
  HDRTEST drivers/gpu/drm/i915/i915_pmu.h
  HDRTEST drivers/gpu/drm/i915/i915_priolist_types.h
  HDRTEST drivers/gpu/drm/i915/i915_pvinfo.h
  HDRTEST drivers/gpu/drm/i915/i915_query.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv11.o
  HDRTEST drivers/gpu/drm/i915/i915_reg.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/aldebaran_ppt.o
  HDRTEST drivers/gpu/drm/i915/i915_reg_defs.h
  HDRTEST drivers/gpu/drm/i915/i915_request.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv17.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv44.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv50.o
  HDRTEST drivers/gpu/drm/i915/i915_scatterlist.h
  HDRTEST drivers/gpu/drm/i915/i915_scheduler.h
  HDRTEST drivers/gpu/drm/i915/i915_scheduler_types.h
  HDRTEST drivers/gpu/drm/i915/i915_selftest.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/g98.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gt215.o
  HDRTEST drivers/gpu/drm/i915/i915_suspend.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/yellow_carp_ppt.o
  HDRTEST drivers/gpu/drm/i915/i915_sw_fence.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk104.o
  HDRTEST drivers/gpu/drm/i915/i915_sw_fence_work.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_4_ppt.o
  HDRTEST drivers/gpu/drm/i915/i915_switcheroo.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_5_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_7_ppt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.o
  HDRTEST drivers/gpu/drm/i915/i915_syncmap.h
  HDRTEST drivers/gpu/drm/i915/i915_sysfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_6_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/amdgpu_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu_cmn.o
  HDRTEST drivers/gpu/drm/i915/i915_tasklet.h
  HDRTEST drivers/gpu/drm/i915/i915_trace.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp10b.o
  HDRTEST drivers/gpu/drm/i915/i915_ttm_buddy_manager.h
../drivers/gpu/drm/i915/i915_pmu.h:21: warning: cannot understand function prototype: 'enum i915_pmu_tracked_events '
../drivers/gpu/drm/i915/i915_pmu.h:32: warning: cannot understand function prototype: 'enum '
../drivers/gpu/drm/i915/i915_pmu.h:41: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * How many different events we track in the global PMU mask.
  HDRTEST drivers/gpu/drm/i915/i915_user_extensions.h
  HDRTEST drivers/gpu/drm/i915/i915_utils.h
  HDRTEST drivers/gpu/drm/i915/i915_vgpu.h
  HDRTEST drivers/gpu/drm/i915/i915_vma.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/ga100.o
  HDRTEST drivers/gpu/drm/i915/i915_vma_resource.h
  HDRTEST drivers/gpu/drm/i915/i915_vma_types.h
  HDRTEST drivers/gpu/drm/i915/intel_clock_gating.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.o
  HDRTEST drivers/gpu/drm/i915/intel_device_info.h
  HDRTEST drivers/gpu/drm/i915/intel_gvt.h
  HDRTEST drivers/gpu/drm/i915/intel_mchbar_regs.h
../drivers/gpu/drm/i915/i915_scatterlist.h:160: warning: Incorrect use of kernel-doc format:          * release() - Free the memory of the struct i915_refct_sgt
../drivers/gpu/drm/i915/i915_scatterlist.h:164: warning: Function parameter or member 'release' not described in 'i915_refct_sgt_ops'
../drivers/gpu/drm/i915/i915_scatterlist.h:187: warning: Function parameter or member 'rsgt' not described in 'i915_refct_sgt_put'
../drivers/gpu/drm/i915/i915_scatterlist.h:198: warning: Function parameter or member 'rsgt' not described in 'i915_refct_sgt_get'
../drivers/gpu/drm/i915/i915_scatterlist.h:214: warning: Function parameter or member 'rsgt' not described in '__i915_refct_sgt_init'
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.o
../drivers/gpu/drm/i915/i915_request.h:176: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Request queue structure.
../drivers/gpu/drm/i915/i915_request.h:477: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Returns true if seq1 is later than seq2.
  HDRTEST drivers/gpu/drm/i915/intel_memory_region.h
  HDRTEST drivers/gpu/drm/i915/intel_pci_config.h
  HDRTEST drivers/gpu/drm/i915/intel_pcode.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smumgr.o
  HDRTEST drivers/gpu/drm/i915/intel_region_ttm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv41.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv44.o
  HDRTEST drivers/gpu/drm/i915/intel_runtime_pm.h
  HDRTEST drivers/gpu/drm/i915/intel_sbi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu8_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.o
  HDRTEST drivers/gpu/drm/i915/intel_step.h
../drivers/gpu/drm/i915/i915_utils.h:284: warning: Function parameter or member 'OP' not described in '__wait_for'
../drivers/gpu/drm/i915/i915_utils.h:284: warning: Function parameter or member 'COND' not described in '__wait_for'
../drivers/gpu/drm/i915/i915_utils.h:284: warning: Function parameter or member 'US' not described in '__wait_for'
../drivers/gpu/drm/i915/i915_utils.h:284: warning: Function parameter or member 'Wmin' not described in '__wait_for'
../drivers/gpu/drm/i915/i915_utils.h:284: warning: Function parameter or member 'Wmax' not described in '__wait_for'
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.o
  HDRTEST drivers/gpu/drm/i915/intel_wakeref.h
  HDRTEST drivers/gpu/drm/i915/intel_uncore.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_tee.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/tonga_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/mcp77.o
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_irq.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_session.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.o
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_types.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/fiji_smumgr.o
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_huc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.o
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_pm.h
  HDRTEST drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_42.h
  HDRTEST drivers/gpu/drm/i915/selftests/igt_live_test.h
  HDRTEST drivers/gpu/drm/i915/selftests/igt_atomic.h
  HDRTEST drivers/gpu/drm/i915/selftests/mock_gem_device.h
  HDRTEST drivers/gpu/drm/i915/selftests/mock_drm.h
  HDRTEST drivers/gpu/drm/i915/selftests/igt_reset.h
  HDRTEST drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.h
  HDRTEST drivers/gpu/drm/i915/selftests/lib_sw_fence.h
../drivers/gpu/drm/i915/i915_vma_resource.h:91: warning: Incorrect use of kernel-doc format:          * struct i915_vma_bindinfo - Information needed for async bind
../drivers/gpu/drm/i915/i915_vma_resource.h:129: warning: Function parameter or member 'wakeref' not described in 'i915_vma_resource'
../drivers/gpu/drm/i915/i915_vma_resource.h:129: warning: Function parameter or member 'bi' not described in 'i915_vma_resource'
  HDRTEST drivers/gpu/drm/i915/selftests/i915_perf_selftests.h
  HDRTEST drivers/gpu/drm/i915/selftests/mock_uncore.h
  HDRTEST drivers/gpu/drm/i915/selftests/mock_gtt.h
../drivers/gpu/drm/i915/pxp/intel_pxp_types.h:96: warning: Function parameter or member 'dev_link' not described in 'intel_pxp'
  HDRTEST drivers/gpu/drm/i915/selftests/i915_mock_selftests.h
  HDRTEST drivers/gpu/drm/i915/selftests/mock_request.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.o
  HDRTEST drivers/gpu/drm/i915/selftests/i915_random.h
  HDRTEST drivers/gpu/drm/i915/selftests/igt_spinner.h
  HDRTEST drivers/gpu/drm/i915/selftests/librapl.h
../drivers/gpu/drm/i915/i915_vma.h:145: warning: expecting prototype for i915_vma_offset(). Prototype was for i915_vma_size() instead
  HDRTEST drivers/gpu/drm/i915/selftests/mock_region.h
  HDRTEST drivers/gpu/drm/i915/selftests/i915_live_selftests.h
  HDRTEST drivers/gpu/drm/i915/selftests/igt_mmap.h
  HDRTEST drivers/gpu/drm/i915/selftests/igt_flush_test.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp10b.o
  HDRTEST drivers/gpu/drm/i915/soc/intel_pch.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/mem.o
  HDRTEST drivers/gpu/drm/i915/soc/intel_dram.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.o
  HDRTEST drivers/gpu/drm/i915/soc/intel_gmch.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.o
  HDRTEST drivers/gpu/drm/i915/vlv_sideband.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega10_smumgr.o
  HDRTEST drivers/gpu/drm/i915/vlv_sideband_reg.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memnv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu10_smumgr.o
  HDRTEST drivers/gpu/drm/i915/vlv_suspend.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memnv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/ci_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memgf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega12_smumgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vegam_smumgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu9_smumgr.o
  LD [M]  drivers/gpu/drm/i915/i915.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega20_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv41.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/hwmgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv44.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/processpptables.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmmcp77.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/hardwaremanager.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu8_hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pppcielanes.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomfwctrl.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_powertune.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_thermal.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_clockpowergating.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_powertune.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm20b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp10b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/umem.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu10_hwmgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/pcie.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pp_psm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_processpptables.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pp_overdriver.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv46.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv4c.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_processpptables.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_powertune.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_thermal.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/common_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g92.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g94.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu9_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gf106.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/tonga_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/polaris_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/fiji_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ci_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/amd_powerplay.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/legacy_dpm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/kv_dpm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/kv_smc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/si_dpm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/si_smc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk208.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm_internal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_crtc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_mst_types.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_color.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_services.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_helpers.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_pp_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_psr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_hdcp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_crc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fan.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fannil.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fantog.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/conversion.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/fixpt31_32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/vector.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/dc_common.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_interface.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_common.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table_helper2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce60/command_table_helper_dce60.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce80/command_table_helper_dce80.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce110/command_table_helper_dce110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce112/command_table_helper_dce112.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv41.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce112/command_table_helper2_dce112.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dce_calcs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/custom_float.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/bw_fixed.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_lib.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_rq_dlg_helpers.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn10/dcn10_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/top/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/dcn20_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/top/ga100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_vba.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/uvfn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/ga100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gpio.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_rq_dlg_calc_21.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/dcn30_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gm20b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_mode_vba_30.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/falcon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_rq_dlg_calc_30.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/xtensa.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/display_mode_vba_31.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/display_rq_dlg_calc_31.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/display_mode_vba_314.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/display_rq_dlg_calc_314.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_32.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_util_32.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gp102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/dcn31_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/dcn32_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn321/dcn321_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn301/dcn301_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/ga100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn302/dcn302_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/ga102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/cipher/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/pci.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/user.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/chan.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn303/dcn303_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/dcn314_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calcs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/head.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_math.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce60/dce60_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/vga.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce100/dce_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce110/dce110_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce112/dce112_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce120/dce120_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn10/rv1_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp77.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn10/rv2_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn20/dcn20_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn21/rn_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp89.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn301/vg_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn301/dcn301_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn31/dcn31_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gp102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn314/dcn314_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/udisp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn314/dcn314_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uconn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uhead.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/nv50.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/user.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_audio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/d



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

* [Intel-xe] ✓ CI.Hooks: success for Utilize i915 display probing (rev2)
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (13 preceding siblings ...)
  2023-06-07  0:01 ` [Intel-xe] ✓ CI.Build: " Patchwork
@ 2023-06-07  0:01 ` Patchwork
  2023-06-07  0:02 ` [Intel-xe] ✗ CI.checksparse: warning " Patchwork
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-07  0:01 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

== Series Details ==

Series: Utilize i915 display probing (rev2)
URL   : https://patchwork.freedesktop.org/series/118675/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ pwd
+ ls -la
/workspace
total 704
drwxrwxr-x 10 1003 1003   4096 Jun  7 00:01 .
drwxr-xr-x  1 root root   4096 Jun  7 00:01 ..
-rw-rw-r--  1 1003 1003 397078 Jun  7 00:01 build.log
-rw-rw-r--  1 1003 1003   9739 Jun  6 23:56 checkpatch.log
drwxrwxr-x  5 1003 1003   4096 Jun  6 23:54 ci
drwxrwxr-x 10 1003 1003   4096 Jun  6 23:54 docker
drwxrwxr-x  8 1003 1003   4096 Jun  6 23:54 .git
-rw-rw-r--  1 1003 1003    906 Jun  6 23:55 git_apply.log
drwxrwxr-x  3 1003 1003   4096 Jun  6 23:54 .github
-rw-rw-r--  1 1003 1003    233 Jun  6 23:54 .groovylintrc.json
-rw-rw-r--  1 1003 1003     78 Jun  7 00:01 hooks.log
drwxrwxr-x 31 1003 1003   4096 Jun  7 00:00 kernel
-rw-rw-r--  1 1003 1003 221935 Jun  6 23:55 kernel.mbox
-rw-rw-r--  1 1003 1003  25980 Jun  6 23:57 kunit.log
drwxrwxr-x 39 1003 1003   4096 Jun  6 23:54 pipelines
-rw-rw-r--  1 1003 1003    793 Jun  6 23:54 README.adoc
drwxrwxr-x  3 1003 1003   4096 Jun  6 23:54 scripts
drwxrwxr-x  2 1003 1003   4096 Jun  6 23:54 .vscode
+ uname -a
Linux e4a659e5040b 5.4.0-149-generic #166-Ubuntu SMP Tue Apr 18 16:51:45 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64"
declare -x CI_KERNEL_IMAGES_DIR="/workspace/kernel/archive/boot"
declare -x CI_KERNEL_MODULES_DIR="/workspace/kernel/archive"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
+ '[' -n /workspace ']'
+ git_args='-C /workspace/kernel'
+ git_log_args=
+ git --no-pager -C /workspace/kernel log --format=oneline --abbrev-commit
4f05c9d99 fixup! drm/xe/display: Implement display support
504f311a4 drm/i915/display: Extract display init from intel_device_info_runtime_init
40d66b008 drm/i915: Fix error handling if driver creation fails during probe
696a3727a drm/i915/display: Include of display limits doesn't need 'display/'
579016f22 drm/i915/display: Move feature test macros to intel_display_device.h
e50279650 drm/i915/display: Handle GMD_ID identification in display code
3581088c0 drm/i915/display: Make display responsible for probing its own IP
b714e515f drm/i915/display: Move display runtime info to display structure
b78cb546c drm/i915: Convert INTEL_INFO()->display to a pointer
97bb79751 drm/i915/display: Move display device info to header under display/
a17ea8317 drm/xe: REBAR resize should be best effort
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64 ']'
+ BUILD_DIR=/workspace/kernel/build64
+ cd /workspace/kernel
+ grep -q -e '^CONFIG_DRM_XE_DISPLAY=[yY]' /workspace/kernel/build64/.config
+ RESTORE_DISPLAY_CONFIG=1
+ trap cleanup EXIT
+ ./scripts/config --file /workspace/kernel/build64/.config --disable CONFIG_DRM_XE_DISPLAY
++ nproc
+ make -j48 O=/workspace/kernel/build64 modules_prepare
make[1]: Entering directory '/workspace/kernel/build64'
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile
  GEN     Makefile
  UPD     include/generated/compile.h
  UPD     include/config/kernel.release
  UPD     include/generated/utsrelease.h
  DESCEND objtool
  CALL    ../scripts/checksyscalls.sh
  HOSTCC  /workspace/kernel/build64/tools/objtool/fixdep.o
  HOSTLD  /workspace/kernel/build64/tools/objtool/fixdep-in.o
  LINK    /workspace/kernel/build64/tools/objtool/fixdep
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64/tools/objtool/weak.o
  CC      /workspace/kernel/build64/tools/objtool/check.o
  CC      /workspace/kernel/build64/tools/objtool/special.o
  CC      /workspace/kernel/build64/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64/tools/objtool/elf.o
  CC      /workspace/kernel/build64/tools/objtool/objtool.o
  CC      /workspace/kernel/build64/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64/tools/objtool/libstring.o
  CC      /workspace/kernel/build64/tools/objtool/libctype.o
  CC      /workspace/kernel/build64/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64/tools/objtool/arch/x86/decode.o
  LD      /workspace/kernel/build64/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64'
++ nproc
+ make -j48 O=/workspace/kernel/build64 M=drivers/gpu/drm/xe W=1
make[1]: Entering directory '/workspace/kernel/build64'
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC [M]  drivers/gpu/drm/xe/xe_engine.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.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_reg_sr.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.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 [M]  drivers/gpu/drm/xe/xe_sync.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_vm_madvise.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_guc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gt_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gpu_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_pci_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_migrate_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump_types.h
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  HDRTEST drivers/gpu/drm/xe/xe_drv.h
  HDRTEST drivers/gpu/drm/xe/xe_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_clock.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_mcr.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_pagefault.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_printk.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_topology.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_macros.h
  HDRTEST drivers/gpu/drm/xe/xe_map.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/xe/xe_pat.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  HDRTEST drivers/gpu/drm/xe/xe_pci_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_walk.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sa.h
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  HDRTEST drivers/gpu/drm/xe/xe_step.h
  HDRTEST drivers/gpu/drm/xe/xe_step_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sync.h
  HDRTEST drivers/gpu/drm/xe/xe_sync_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tile.h
  HDRTEST drivers/gpu/drm/xe/xe_trace.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tuning.h
  HDRTEST drivers/gpu/drm/xe/xe_uc.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_types.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_vm.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_madvise.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_types.h
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  MODPOST drivers/gpu/drm/xe/Module.symvers
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.mod.o
  LD [M]  drivers/gpu/drm/xe/tests/xe_bo_test.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_wa_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_pci_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.ko
make[1]: Leaving directory '/workspace/kernel/build64'
+ cleanup
+ '[' 1 -eq 1 ']'
+ ./scripts/config --file /workspace/kernel/build64/.config --enable CONFIG_DRM_XE_DISPLAY
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
All hooks done



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

* [Intel-xe] ✗ CI.checksparse: warning for Utilize i915 display probing (rev2)
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (14 preceding siblings ...)
  2023-06-07  0:01 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
@ 2023-06-07  0:02 ` Patchwork
  2023-06-07  0:29 ` [Intel-xe] ○ CI.BAT: info " Patchwork
  2023-06-07  4:42 ` [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Lucas De Marchi
  17 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-07  0:02 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

== Series Details ==

Series: Utilize i915 display probing (rev2)
URL   : https://patchwork.freedesktop.org/series/118675/
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 a17ea8317b0260a1230cedb0469d4ba0cec0f4f2
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] 23+ messages in thread

* [Intel-xe] ○ CI.BAT: info for Utilize i915 display probing (rev2)
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (15 preceding siblings ...)
  2023-06-07  0:02 ` [Intel-xe] ✗ CI.checksparse: warning " Patchwork
@ 2023-06-07  0:29 ` Patchwork
  2023-06-07  4:42 ` [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Lucas De Marchi
  17 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-07  0:29 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

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

== Series Details ==

Series: Utilize i915 display probing (rev2)
URL   : https://patchwork.freedesktop.org/series/118675/
State : info

== Summary ==

Participating hosts:
bat-atsm-2
bat-dg2-oem2
bat-adlp-7
Missing hosts results[0]:
Results: [xe-pw-118675v2](https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-118675v2/index.html)



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

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

* Re: [Intel-xe] [PATCH v2 07/10] drm/i915/display: Include of display limits doesn't need 'display/'
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 07/10] drm/i915/display: Include of display limits doesn't need 'display/' Matt Roper
@ 2023-06-07  4:33   ` Lucas De Marchi
  2023-06-07 23:39     ` Matt Roper
  0 siblings, 1 reply; 23+ messages in thread
From: Lucas De Marchi @ 2023-06-07  4:33 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

On Tue, Jun 06, 2023 at 04:52:39PM -0700, Matt Roper wrote:
>Drop the unnecessary directory prefix.  This also makes
>intel_display_device.h easier to use from the Xe driver.
>
>Signed-off-by: Matt Roper <matthew.d.roper@intel.com>

is this supposed to be a cherry-pick?

Lucas De Marchi

>---
> drivers/gpu/drm/i915/display/intel_display_device.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
>index 2aa82cbdf1c5..327520b0ecb9 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_device.h
>+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
>@@ -8,7 +8,7 @@
>
> #include <linux/types.h>
>
>-#include "display/intel_display_limits.h"
>+#include "intel_display_limits.h"
>
> struct drm_i915_private;
>
>-- 
>2.40.1
>

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

* Re: [Intel-xe] [PATCH v2 10/10] fixup! drm/xe/display: Implement display support
  2023-06-06 23:52 ` [Intel-xe] [PATCH v2 10/10] fixup! drm/xe/display: Implement display support Matt Roper
@ 2023-06-07  4:41   ` Lucas De Marchi
  2023-06-07 23:38     ` Matt Roper
  0 siblings, 1 reply; 23+ messages in thread
From: Lucas De Marchi @ 2023-06-07  4:41 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

On Tue, Jun 06, 2023 at 04:52:42PM -0700, Matt Roper wrote:
>---
> drivers/gpu/drm/xe/Makefile                   |   2 +
> .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  40 +----
> .../drm/xe/display/ext/intel_device_info.c    |  94 ++--------
> drivers/gpu/drm/xe/xe_device_types.h          |  56 +-----
> drivers/gpu/drm/xe/xe_display.c               | 166 +++---------------
> 5 files changed, 51 insertions(+), 307 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
>index f34d4bdd510b..0fbbbc6e247c 100644
>--- a/drivers/gpu/drm/xe/Makefile
>+++ b/drivers/gpu/drm/xe/Makefile
>@@ -122,6 +122,7 @@ subdir-ccflags-$(CONFIG_DRM_XE_DISPLAY) += \
> 	-Ddrm_i915_private=xe_device
>
> CFLAGS_i915-display/intel_fbdev.o = $(call cc-disable-warning, override-init)
>+CFLAGS_i915-display/intel_display_device.o = $(call cc-disable-warning, override-init)
>
> # Rule to build display code shared with i915
> $(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE
>@@ -161,6 +162,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
> 	i915-display/intel_ddi.o \
> 	i915-display/intel_ddi_buf_trans.o \
> 	i915-display/intel_display.o \
>+	i915-display/intel_display_device.o \
> 	i915-display/intel_display_driver.o \
> 	i915-display/intel_display_debugfs.o \
> 	i915-display/intel_display_power.o \
>diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>index 8a4ce3420c55..59bf1d4a61d6 100644
>--- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>+++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>@@ -84,44 +84,14 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
> #define IS_BDW_ULT(dev_priv) (dev_priv && 0)
> #define IS_BDW_ULX(dev_priv) (dev_priv && 0)
>
>-#define INTEL_NUM_PIPES(xe) (hweight8((xe)->info.display.pipe_mask))
>-#define HAS_DISPLAY(xe) ((xe)->info.display.pipe_mask != 0)
> #define INTEL_DISPLAY_ENABLED(xe) (HAS_DISPLAY((xe)) && !intel_opregion_headless_sku((xe)))
>-#define HAS_CDCLK_CRAWL(xe) ((xe)->info.display.has_cdclk_crawl)
>-#define HAS_CDCLK_SQUASH(xe) ((xe)->info.display.has_cdclk_squash)
>-#define HAS_PSR(xe) ((xe)->info.display.has_psr)
>-#define HAS_PSR2_SEL_FETCH(xe) (xe || 1)
>-#define HAS_PSR_HW_TRACKING(xe) ((xe)->info.display.has_psr_hw_tracking)
>-#define HAS_IPC(xe) ((xe)->info.display.has_ipc)
>-#define HAS_IPS(xe) (xe && false)
>-#define HAS_SAGV(xe) (xe || 1)
>-#define HAS_DP_MST(xe) ((xe)->info.display.has_dp_mst)
>-#define HAS_DMC(xe) ((xe)->info.display.has_dmc)
>-#define HAS_DSB(xe) ((xe)->info.display.has_dsb)
>-#define HAS_DSC(xe) ((xe)->info.display.has_dsc)
>-#define HAS_CUR_FBC(xe) (xe || 1)
>-#define HAS_DOUBLE_BUFFERED_M_N(xe) ((xe) || 1)
>-#define I915_HAS_HOTPLUG(xe) (true)
>-#define HAS_D12_PLANE_MINIMIZATION(dev_priv) (IS_ROCKETLAKE(dev_priv) || \
>-					      IS_ALDERLAKE_S(dev_priv))
>-#define DISPLAY_VER(xe) ((xe)->info.display.ver)
>+#define DISPLAY_VER(xe) ((xe)->info.display_runtime.ip.ver)
> #define IS_DISPLAY_VER(xe, first, last) ((DISPLAY_VER(xe) >= first && DISPLAY_VER(xe) <= last))
> #define IS_GRAPHICS_VER(xe, first, last) \
> 	((xe)->info.graphics_verx100 >= first * 100 && \
> 	 (xe)->info.graphics_verx100 <= (last*100 + 99))
> #define IS_MOBILE(xe) (xe && 0)
>-#define HAS_GMCH(xe) (xe && 0)
>-#define HAS_DDI(xe) (xe || 1)
> #define HAS_LLC(xe) (!IS_DGFX((xe)))
>-#define HAS_GMBUS_IRQ(xe) (xe || 1)
>-#define HAS_GMBUS_BURST_READ(xe) (xe || 1)
>-#define HAS_VRR(xe) (xe || 1)
>-#define HAS_ASYNC_FLIPS(xe) (xe || 1)
>-#define HAS_FBC(xe) ((xe)->info.display.fbc_mask)
>-#define SUPPORTS_TV(xe) (xe && 0)
>-#define HAS_MBUS_JOINING(xe) (xe && 0)
>-#define HAS_HW_SAGV_WM(xe) (DISPLAY_VER(xe) >= 13 && !IS_DGFX(xe))
>-#define HAS_DPT(xe) (DISPLAY_VER(xe) >= 13)
>
> /* Workarounds not handled yet */
> #define IS_DISPLAY_STEP(xe, first, last) ({u8 __step = (xe)->info.step.display; first <= __step && __step <= last;})
>@@ -162,15 +132,11 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
> #define IS_DG2_G12(xe) ((xe)->info.subplatform == XE_SUBPLATFORM_DG2_G12)
> #define IS_ADLP_RPLU(xe) ((xe)->info.subplatform == XE_SUBPLATFORM_ADLP_RPLU)
> #define IS_ICL_WITH_PORT_F(xe) (xe && 0)
>-#define HAS_LSPCON(xe) (xe && 0)
>-#define HAS_MSO(xe) (xe || 1)
>-#define HAS_DP20(xe) (IS_DG2(xe))
> #define HAS_FLAT_CCS(xe) (xe_device_has_flat_ccs(xe))
> #define HAS_4TILE(xe) ((xe)->info.has_4tile)
> #define to_intel_bo(x) gem_to_xe_bo((x))
> #define mkwrite_device_info(xe) (INTEL_INFO(xe))
>
>-#define HAS_TRANSCODER(dev_priv, trans)  ((INTEL_INFO(dev_priv)->display.cpu_transcoder_mask & BIT(trans)) != 0)
> #define HAS_128_BYTE_Y_TILING(xe) (xe || 1)
>
> #define intel_has_gpu_reset(a) (a && 0)
>@@ -225,7 +191,9 @@ static inline void intel_runtime_pm_put(struct xe_runtime_pm *pm, bool wakeref)
>
> #define intel_step_name xe_step_name
> #define pdev_to_i915 pdev_to_xe_device
>-#define RUNTIME_INFO(xe) (&(xe)->info.display)
>+#define DISPLAY_INFO(xe)		((xe)->info.display)
>+#define RUNTIME_INFO(xe)		(&(xe)->info.i915_runtime)
>+#define DISPLAY_RUNTIME_INFO(xe)	(&(xe)->info.display_runtime)
>
> #define FORCEWAKE_ALL XE_FORCEWAKE_ALL
> #define HPD_STORM_DEFAULT_THRESHOLD 50
>diff --git a/drivers/gpu/drm/xe/display/ext/intel_device_info.c b/drivers/gpu/drm/xe/display/ext/intel_device_info.c
>index 9a54611037b5..d1bb1e12013f 100644
>--- a/drivers/gpu/drm/xe/display/ext/intel_device_info.c
>+++ b/drivers/gpu/drm/xe/display/ext/intel_device_info.c
>@@ -30,89 +30,6 @@
> #include "i915_reg.h"
> #include <drm/drm_drv.h>
>
>-/**
>- * intel_device_info_runtime_init - initialize runtime info
>- * @dev_priv: the i915 device
>- *
>- * Determine various intel_device_info fields at runtime.
>- *
>- * Use it when either:
>- *   - it's judged too laborious to fill n static structures with the limit
>- *     when a simple if statement does the job,
>- *   - run-time checks (eg read fuse/strap registers) are needed.
>- *
>- * This function needs to be called:
>- *   - after the MMIO has been setup as we are reading registers,
>- *   - after the PCH has been detected,
>- *   - before the first usage of the fields it can tweak.
>- */
>-void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
>-{
>-	struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);
>-	enum pipe pipe;
>-
>-	/* Wa_14011765242: adl-s A0,A1 */
>-	if (IS_ADLS_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A2)) {
>-		for_each_pipe(dev_priv, pipe)
>-			runtime->num_scalers[pipe] = 0;
>-	} else if (DISPLAY_VER(dev_priv) >= 11) {
>-		for_each_pipe(dev_priv, pipe)
>-			runtime->num_scalers[pipe] = 2;
>-	} else if (DISPLAY_VER(dev_priv) >= 9) {
>-		runtime->num_scalers[PIPE_A] = 2;
>-		runtime->num_scalers[PIPE_B] = 2;
>-		runtime->num_scalers[PIPE_C] = 1;
>-	}
>-
>-	if (DISPLAY_VER(dev_priv) >= 13 || HAS_D12_PLANE_MINIMIZATION(dev_priv)) {
>-		for_each_pipe(dev_priv, pipe)
>-			runtime->num_sprites[pipe] = 4;
>-	} else if (DISPLAY_VER(dev_priv) >= 11) {
>-		for_each_pipe(dev_priv, pipe)
>-			runtime->num_sprites[pipe] = 6;
>-	}
>-
>-	if (HAS_DISPLAY(dev_priv) && DISPLAY_VER(dev_priv) >= 9) {
>-		u32 dfsm = intel_de_read(dev_priv, SKL_DFSM);
>-
>-		if (dfsm & SKL_DFSM_PIPE_A_DISABLE) {
>-			runtime->pipe_mask &= ~BIT(PIPE_A);
>-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_A);
>-			runtime->fbc_mask &= ~BIT(INTEL_FBC_A);
>-		}
>-		if (dfsm & SKL_DFSM_PIPE_B_DISABLE) {
>-			runtime->pipe_mask &= ~BIT(PIPE_B);
>-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
>-		}
>-		if (dfsm & SKL_DFSM_PIPE_C_DISABLE) {
>-			runtime->pipe_mask &= ~BIT(PIPE_C);
>-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
>-		}
>-
>-		if (DISPLAY_VER(dev_priv) >= 12 &&
>-		    (dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
>-			runtime->pipe_mask &= ~BIT(PIPE_D);
>-			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
>-		}
>-
>-		if (dfsm & SKL_DFSM_DISPLAY_HDCP_DISABLE)
>-			runtime->has_hdcp = 0;
>-
>-		if (dfsm & SKL_DFSM_DISPLAY_PM_DISABLE)
>-			runtime->fbc_mask = 0;
>-
>-		if (DISPLAY_VER(dev_priv) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
>-			runtime->has_dmc = 0;
>-
>-		if (DISPLAY_VER(dev_priv) >= 10 &&
>-		    (dfsm & GLK_DFSM_DISPLAY_DSC_DISABLE))
>-			runtime->has_dsc = 0;
>-	}
>-
>-	runtime->rawclk_freq = intel_read_rawclk(dev_priv);
>-	drm_dbg(&dev_priv->drm, "rawclk rate: %d kHz\n", runtime->rawclk_freq);
>-}
>-
> bool i915_vtd_active(struct drm_i915_private *i915)
> {
> 	if (device_iommu_mapped(i915->drm.dev))
>@@ -128,3 +45,14 @@ int __i915_inject_probe_error(struct drm_i915_private *i915, int err,
> {
> 	return 0;
> }
>+int i8xx_enable_vblank(struct drm_crtc *crtc) { return 0; }
>+void intel_dvo_init(struct drm_i915_private *i915) {}
>+int i965_enable_vblank(struct drm_crtc *crtc) { return 0; }
>+int intel_tv_init(struct drm_i915_private *i915) { return 0; }
>+int assert_dsi_pll_enabled(struct drm_i915_private *i915) { return 0; }
>+bool intel_sdvo_init(struct drm_i915_private *dev_priv,
>+		     i915_reg_t sdvo_reg, enum port port) { return false; }
>+void i965_disable_vblank(struct drm_crtc *crtc) {}
>+void i8xx_disable_vblank(struct drm_crtc *crtc) {}
>+void g4x_hdmi_init(struct drm_i915_private *dev_priv,
>+		   i915_reg_t hdmi_reg, enum port port) {}
>diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>index 17b6b1cc5adb..0226d44a6af2 100644
>--- a/drivers/gpu/drm/xe/xe_device_types.h
>+++ b/drivers/gpu/drm/xe/xe_device_types.h
>@@ -21,6 +21,7 @@
> #include "ext/intel_device_info.h"
> #include "ext/intel_pch.h"
> #include "intel_display_core.h"

can we now remove this?

>+#include "intel_display_device.h"
> #endif
>
> struct xe_ggtt;
>@@ -217,58 +218,11 @@ struct xe_device {
> 		u8 enable_display:1;
>
> #if IS_ENABLED(CONFIG_DRM_XE_DISPLAY)
>-		struct xe_device_display_info {
>-			u8 ver;
>-
>-			u8 pipe_mask;
>-			u8 cpu_transcoder_mask;
>-			u8 fbc_mask;
>-			u8 abox_mask;
>-
>-			struct {
>-				u16 size; /* in blocks */
>-				u8 slice_mask;
>-			} dbuf;
>-
>-#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
>-			/* Keep in alphabetical order */ \
>-			func(has_cdclk_crawl); \
>-			func(has_cdclk_squash); \
>-			func(has_dmc); \
>-			func(has_dp_mst); \
>-			func(has_dsb); \
>-			func(has_dsc); \
>-			func(has_fpga_dbg); \
>-			func(has_hdcp); \
>-			func(has_hti); \
>-			func(has_ipc); \
>-			func(has_psr); \
>-			func(has_psr_hw_tracking);
>-
>-#define DEFINE_FLAG(name) u8 name:1
>-			DEV_INFO_DISPLAY_FOR_EACH_FLAG(DEFINE_FLAG);
>-#undef DEFINE_FLAG
>-
>-			/* Register offsets for the various display pipes and transcoders */
>-			u32 pipe_offsets[I915_MAX_TRANSCODERS];
>-			u32 trans_offsets[I915_MAX_TRANSCODERS];
>-			u32 cursor_offsets[I915_MAX_PIPES];
>-
>-			struct {
>-				u32 degamma_lut_size;
>-				u32 gamma_lut_size;
>-				u32 degamma_lut_tests;
>-				u32 gamma_lut_tests;
>-			} color;
>-
>-			/* Populated by intel_device_runtime_init() */
>-			u8 num_sprites[I915_MAX_PIPES];
>-			u8 num_scalers[I915_MAX_PIPES];
>+		const struct intel_display_device_info *display;
>+		struct intel_display_runtime_info display_runtime;
>+		struct {
> 			u32 rawclk_freq;
>-
>-			/* Unused by xe, but for compat */
>-			u32 mmio_offset;
>-		} display;
>+		} i915_runtime;
> #endif
> 	} info;
>
>diff --git a/drivers/gpu/drm/xe/xe_display.c b/drivers/gpu/drm/xe/xe_display.c
>index 1a9e9c78966d..5745065b70de 100644
>--- a/drivers/gpu/drm/xe/xe_display.c
>+++ b/drivers/gpu/drm/xe/xe_display.c
>@@ -196,7 +196,7 @@ int xe_display_init_noirq(struct xe_device *xe)
>
> 	intel_bw_init_hw(xe);
>
>-	intel_device_info_runtime_init(xe);
>+	intel_display_device_info_runtime_init(xe);
>
> 	err = intel_display_driver_probe_noirq(xe);
> 	if (err)
>@@ -320,7 +320,7 @@ static void intel_suspend_encoders(struct xe_device *xe)
> 	struct drm_device *dev = &xe->drm;
> 	struct intel_encoder *encoder;
>
>-	if (!xe->info.display.pipe_mask)
>+	if (xe->info.display_runtime.pipe_mask)
> 		return;
>
> 	drm_modeset_lock_all(dev);
>@@ -340,7 +340,7 @@ void xe_display_pm_suspend(struct xe_device *xe)
> 	 * properly.
> 	 */
> 	intel_power_domains_disable(xe);
>-	if (xe->info.display.pipe_mask)
>+	if (xe->info.display_runtime.pipe_mask)
> 		drm_kms_helper_poll_disable(&xe->drm);
>
> 	intel_display_driver_suspend(xe);
>@@ -385,7 +385,7 @@ void xe_display_pm_resume(struct xe_device *xe)
>
> 	intel_dmc_resume(xe);
>
>-	if (xe->info.display.pipe_mask)
>+	if (xe->info.display_runtime.pipe_mask)
> 		drm_mode_config_reset(&xe->drm);
>
> 	intel_display_driver_init_hw(xe);
>@@ -397,7 +397,7 @@ void xe_display_pm_resume(struct xe_device *xe)
> 	intel_display_driver_resume(xe);
>
> 	intel_hpd_poll_disable(xe);
>-	if (xe->info.display.pipe_mask)
>+	if (xe->info.display_runtime.pipe_mask)
> 		drm_kms_helper_poll_enable(&xe->drm);
>
> 	intel_opregion_resume(xe);
>@@ -411,142 +411,34 @@ void xe_display_pm_resume(struct xe_device *xe)
> __diag_push();
> __diag_ignore_all("-Woverride-init", "Allow field overrides in table");
>
>-#define __DISPLAY_DEFAULTS \
>-	.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) |			\
>-		     BIT(PIPE_C) | BIT(PIPE_D),				\
>-	.cpu_transcoder_mask =						\
>-	BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |				\
>-	BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |				\
>-	BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),			\
>-	.pipe_offsets = {						\
>-		[TRANSCODER_A] = PIPE_A_OFFSET,				\
>-		[TRANSCODER_B] = PIPE_B_OFFSET,				\
>-		[TRANSCODER_C] = PIPE_C_OFFSET,				\
>-		[TRANSCODER_D] = PIPE_D_OFFSET,				\
>-		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,			\
>-		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,			\
>-	},								\
>-	.cursor_offsets = { \
>-		[PIPE_A] = CURSOR_A_OFFSET, \
>-		[PIPE_B] = CURSOR_B_OFFSET, \
>-		[PIPE_C] = CURSOR_C_OFFSET, \
>-		[PIPE_D] = CURSOR_D_OFFSET, \
>-	}, \
>-	.trans_offsets = {						\
>-		[TRANSCODER_A] = TRANSCODER_A_OFFSET,			\
>-		[TRANSCODER_B] = TRANSCODER_B_OFFSET,			\
>-		[TRANSCODER_C] = TRANSCODER_C_OFFSET,			\
>-		[TRANSCODER_D] = TRANSCODER_D_OFFSET,			\
>-		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,		\
>-		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,		\
>-	}
>-
>-#define GEN12_DISPLAY \
>-	__DISPLAY_DEFAULTS,						\
>-	.ver = 12,							\
>-	.abox_mask = GENMASK(2, 1),					\
>-	.has_dmc = 1,							\
>-	.has_dp_mst = 1,						\
>-	.has_dsb = 0, /* FIXME: LUT load is broken with huge DSB */	\
>-	.dbuf.size = 2048,						\
>-	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2),			\
>-	.has_dsc = 1,							\
>-	.fbc_mask = BIT(INTEL_FBC_A),					\
>-	.has_fpga_dbg = 1,						\
>-	.has_hdcp = 1,							\
>-	.has_ipc = 1,							\
>-	.has_psr = 1,							\
>-	.has_psr_hw_tracking = 0,					\
>-	.color = { .degamma_lut_size = 33, .gamma_lut_size = 262145 }
>-
>-#define XE_LPD								\
>-	__DISPLAY_DEFAULTS,						\
>-	.ver = 13,							\
>-	.abox_mask = GENMASK(1, 0),					\
>-	.color = {							\
>-		.degamma_lut_size = 128, .gamma_lut_size = 1024,	\
>-		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING |	\
>-		DRM_COLOR_LUT_EQUAL_CHANNELS,				\
>-	},								\
>-	.dbuf.size = 4096,						\
>-	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2) | BIT(DBUF_S3) |	\
>-	BIT(DBUF_S4),							\
>-	.has_dmc = 1,							\
>-	.has_dp_mst = 1,						\
>-	.has_dsb = 1,							\
>-	.has_dsc = 1,							\
>-	.fbc_mask = BIT(INTEL_FBC_A),					\
>-	.has_fpga_dbg = 1,						\
>-	.has_hdcp = 1,							\
>-	.has_ipc = 1,							\
>-	.has_psr = 1,							\
>-	.has_psr_hw_tracking = 0
>-
>-#define XE_LPDP								\
>-	XE_LPD,								\
>-	.ver = 14,							\
>-	.has_cdclk_crawl = 1,						\
>-	.has_cdclk_squash = 1
>-
>-
> void xe_display_info_init(struct xe_device *xe)
> {
>-	if (!xe->info.enable_display) {
>-		unset_display_features(xe);
>-		return;
>-	}
>+	u16 gmdid_ver, gmdid_rel, gmdid_step;
>+	bool has_gmdid = GRAPHICS_VERx100(xe) >= 1270;
>+
>+	if (!xe->info.enable_display)
>+		goto no_display;
>+
>+	xe->info.display = intel_display_device_probe(xe, has_gmdid, &gmdid_ver,
>+						      &gmdid_rel, &gmdid_step);
>+	memcpy(&xe->info.display_runtime,
>+	       &xe->info.display->__runtime_defaults,
>+	       sizeof(xe->info.display->__runtime_defaults));
>
>-	switch (xe->info.platform) {
>-	case XE_TIGERLAKE:
>-	case XE_DG1:
>-		xe->info.display = (struct xe_device_display_info) {
>-			GEN12_DISPLAY,
>-			.has_psr_hw_tracking = 1,
>-		};
>-		break;
>-	case XE_ROCKETLAKE:
>-		xe->info.display = (struct xe_device_display_info) {
>-			GEN12_DISPLAY,
>-			.abox_mask = BIT(0),
>-			.has_hti = 1,
>-			.cpu_transcoder_mask =
>-				BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
>-				BIT(TRANSCODER_C),
>-			.pipe_mask =
>-				BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
>-		};
>-		break;
>-	case XE_ALDERLAKE_S:
>-		xe->info.display = (struct xe_device_display_info) {
>-			GEN12_DISPLAY,
>-			.has_hti = 1,
>-		};
>-		break;
>-	case XE_ALDERLAKE_P:
>-	case XE_ALDERLAKE_N:
>-		xe->info.display = (struct xe_device_display_info) {
>-			XE_LPD,
>-			.has_cdclk_crawl = 1,
>-		};
>-		break;
>-	case XE_DG2:
>-		xe->info.display = (struct xe_device_display_info) {
>-			XE_LPD,
>-			.cpu_transcoder_mask =
>-				BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
>-				BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
>-			.has_cdclk_squash = 1,
>-		};
>-		break;
>-	case XE_METEORLAKE:
>-		xe->info.display = (struct xe_device_display_info) { XE_LPDP };
>-		break;
>-	default:
>-		drm_warn(&xe->drm, "Unknown display IP\n");
>-		xe->info.enable_display = false;
>-		unset_display_features(xe);
>-		return;
>+	if (!xe->info.display_runtime.pipe_mask)
>+		goto no_display;
>+
>+	if (has_gmdid) {
>+		xe->info.display_runtime.ip.ver = gmdid_ver;
>+		xe->info.display_runtime.ip.rel = gmdid_rel;
>+		xe->info.display_runtime.ip.step = gmdid_step;
> 	}
>+
>+	return;
>+
>+no_display:
>+	xe->info.enable_display = false;
>+	unset_display_features(xe);


cool. I think it will be a little bit hard amend this since we have
other commits on top of the initial display support touching  it, but I
think it will be worthy.

thanks

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

> }
>
> __diag_pop();
>-- 
>2.40.1
>

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

* Re: [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing
  2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
                   ` (16 preceding siblings ...)
  2023-06-07  0:29 ` [Intel-xe] ○ CI.BAT: info " Patchwork
@ 2023-06-07  4:42 ` Lucas De Marchi
  17 siblings, 0 replies; 23+ messages in thread
From: Lucas De Marchi @ 2023-06-07  4:42 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-xe

On Tue, Jun 06, 2023 at 04:52:32PM -0700, Matt Roper wrote:
>Now that i915 has moved display IP probing into the display/ directory,
>we can re-use that directly from Xe and eliminate a big chunk of Xe's
>display shim.
>
>This is mostly cherry-picks of the new i915 patches from drm-tip,
>followed by an update to the Xe-specific display layer to use the new
>interface.
>
>v2:
> - Rebase on latest drm-xe-next, which has now fixed the earlier
>   mis-squashing of display code.
> - Include additional cherry-pick of i915's display vs non-display
>   intel_device_info_runtime_init separation.
>
>A future step to further eliminate the display shim will be to split
>i915's display-specific handling out of intel_device_info_runtime_init()
>into a function under display/ that can be called directly by Xe.
>
>Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>

Aside from missing "cherry picked from" and comment on the last patch,
everything looks good to me.

thanks
Lucas De Marhci

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

* Re: [Intel-xe] [PATCH v2 10/10] fixup! drm/xe/display: Implement display support
  2023-06-07  4:41   ` Lucas De Marchi
@ 2023-06-07 23:38     ` Matt Roper
  0 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-07 23:38 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

On Tue, Jun 06, 2023 at 09:41:36PM -0700, Lucas De Marchi wrote:
> On Tue, Jun 06, 2023 at 04:52:42PM -0700, Matt Roper wrote:
> > ---
> > drivers/gpu/drm/xe/Makefile                   |   2 +
> > .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  40 +----
> > .../drm/xe/display/ext/intel_device_info.c    |  94 ++--------
> > drivers/gpu/drm/xe/xe_device_types.h          |  56 +-----
> > drivers/gpu/drm/xe/xe_display.c               | 166 +++---------------
> > 5 files changed, 51 insertions(+), 307 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> > index f34d4bdd510b..0fbbbc6e247c 100644
> > --- a/drivers/gpu/drm/xe/Makefile
> > +++ b/drivers/gpu/drm/xe/Makefile
> > @@ -122,6 +122,7 @@ subdir-ccflags-$(CONFIG_DRM_XE_DISPLAY) += \
> > 	-Ddrm_i915_private=xe_device
> > 
> > CFLAGS_i915-display/intel_fbdev.o = $(call cc-disable-warning, override-init)
> > +CFLAGS_i915-display/intel_display_device.o = $(call cc-disable-warning, override-init)
> > 
> > # Rule to build display code shared with i915
> > $(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE
> > @@ -161,6 +162,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
> > 	i915-display/intel_ddi.o \
> > 	i915-display/intel_ddi_buf_trans.o \
> > 	i915-display/intel_display.o \
> > +	i915-display/intel_display_device.o \
> > 	i915-display/intel_display_driver.o \
> > 	i915-display/intel_display_debugfs.o \
> > 	i915-display/intel_display_power.o \
> > diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> > index 8a4ce3420c55..59bf1d4a61d6 100644
> > --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> > +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> > @@ -84,44 +84,14 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
> > #define IS_BDW_ULT(dev_priv) (dev_priv && 0)
> > #define IS_BDW_ULX(dev_priv) (dev_priv && 0)
> > 
> > -#define INTEL_NUM_PIPES(xe) (hweight8((xe)->info.display.pipe_mask))
> > -#define HAS_DISPLAY(xe) ((xe)->info.display.pipe_mask != 0)
> > #define INTEL_DISPLAY_ENABLED(xe) (HAS_DISPLAY((xe)) && !intel_opregion_headless_sku((xe)))
> > -#define HAS_CDCLK_CRAWL(xe) ((xe)->info.display.has_cdclk_crawl)
> > -#define HAS_CDCLK_SQUASH(xe) ((xe)->info.display.has_cdclk_squash)
> > -#define HAS_PSR(xe) ((xe)->info.display.has_psr)
> > -#define HAS_PSR2_SEL_FETCH(xe) (xe || 1)
> > -#define HAS_PSR_HW_TRACKING(xe) ((xe)->info.display.has_psr_hw_tracking)
> > -#define HAS_IPC(xe) ((xe)->info.display.has_ipc)
> > -#define HAS_IPS(xe) (xe && false)
> > -#define HAS_SAGV(xe) (xe || 1)
> > -#define HAS_DP_MST(xe) ((xe)->info.display.has_dp_mst)
> > -#define HAS_DMC(xe) ((xe)->info.display.has_dmc)
> > -#define HAS_DSB(xe) ((xe)->info.display.has_dsb)
> > -#define HAS_DSC(xe) ((xe)->info.display.has_dsc)
> > -#define HAS_CUR_FBC(xe) (xe || 1)
> > -#define HAS_DOUBLE_BUFFERED_M_N(xe) ((xe) || 1)
> > -#define I915_HAS_HOTPLUG(xe) (true)
> > -#define HAS_D12_PLANE_MINIMIZATION(dev_priv) (IS_ROCKETLAKE(dev_priv) || \
> > -					      IS_ALDERLAKE_S(dev_priv))
> > -#define DISPLAY_VER(xe) ((xe)->info.display.ver)
> > +#define DISPLAY_VER(xe) ((xe)->info.display_runtime.ip.ver)
> > #define IS_DISPLAY_VER(xe, first, last) ((DISPLAY_VER(xe) >= first && DISPLAY_VER(xe) <= last))
> > #define IS_GRAPHICS_VER(xe, first, last) \
> > 	((xe)->info.graphics_verx100 >= first * 100 && \
> > 	 (xe)->info.graphics_verx100 <= (last*100 + 99))
> > #define IS_MOBILE(xe) (xe && 0)
> > -#define HAS_GMCH(xe) (xe && 0)
> > -#define HAS_DDI(xe) (xe || 1)
> > #define HAS_LLC(xe) (!IS_DGFX((xe)))
> > -#define HAS_GMBUS_IRQ(xe) (xe || 1)
> > -#define HAS_GMBUS_BURST_READ(xe) (xe || 1)
> > -#define HAS_VRR(xe) (xe || 1)
> > -#define HAS_ASYNC_FLIPS(xe) (xe || 1)
> > -#define HAS_FBC(xe) ((xe)->info.display.fbc_mask)
> > -#define SUPPORTS_TV(xe) (xe && 0)
> > -#define HAS_MBUS_JOINING(xe) (xe && 0)
> > -#define HAS_HW_SAGV_WM(xe) (DISPLAY_VER(xe) >= 13 && !IS_DGFX(xe))
> > -#define HAS_DPT(xe) (DISPLAY_VER(xe) >= 13)
> > 
> > /* Workarounds not handled yet */
> > #define IS_DISPLAY_STEP(xe, first, last) ({u8 __step = (xe)->info.step.display; first <= __step && __step <= last;})
> > @@ -162,15 +132,11 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
> > #define IS_DG2_G12(xe) ((xe)->info.subplatform == XE_SUBPLATFORM_DG2_G12)
> > #define IS_ADLP_RPLU(xe) ((xe)->info.subplatform == XE_SUBPLATFORM_ADLP_RPLU)
> > #define IS_ICL_WITH_PORT_F(xe) (xe && 0)
> > -#define HAS_LSPCON(xe) (xe && 0)
> > -#define HAS_MSO(xe) (xe || 1)
> > -#define HAS_DP20(xe) (IS_DG2(xe))
> > #define HAS_FLAT_CCS(xe) (xe_device_has_flat_ccs(xe))
> > #define HAS_4TILE(xe) ((xe)->info.has_4tile)
> > #define to_intel_bo(x) gem_to_xe_bo((x))
> > #define mkwrite_device_info(xe) (INTEL_INFO(xe))
> > 
> > -#define HAS_TRANSCODER(dev_priv, trans)  ((INTEL_INFO(dev_priv)->display.cpu_transcoder_mask & BIT(trans)) != 0)
> > #define HAS_128_BYTE_Y_TILING(xe) (xe || 1)
> > 
> > #define intel_has_gpu_reset(a) (a && 0)
> > @@ -225,7 +191,9 @@ static inline void intel_runtime_pm_put(struct xe_runtime_pm *pm, bool wakeref)
> > 
> > #define intel_step_name xe_step_name
> > #define pdev_to_i915 pdev_to_xe_device
> > -#define RUNTIME_INFO(xe) (&(xe)->info.display)
> > +#define DISPLAY_INFO(xe)		((xe)->info.display)
> > +#define RUNTIME_INFO(xe)		(&(xe)->info.i915_runtime)
> > +#define DISPLAY_RUNTIME_INFO(xe)	(&(xe)->info.display_runtime)
> > 
> > #define FORCEWAKE_ALL XE_FORCEWAKE_ALL
> > #define HPD_STORM_DEFAULT_THRESHOLD 50
> > diff --git a/drivers/gpu/drm/xe/display/ext/intel_device_info.c b/drivers/gpu/drm/xe/display/ext/intel_device_info.c
> > index 9a54611037b5..d1bb1e12013f 100644
> > --- a/drivers/gpu/drm/xe/display/ext/intel_device_info.c
> > +++ b/drivers/gpu/drm/xe/display/ext/intel_device_info.c
> > @@ -30,89 +30,6 @@
> > #include "i915_reg.h"
> > #include <drm/drm_drv.h>
> > 
> > -/**
> > - * intel_device_info_runtime_init - initialize runtime info
> > - * @dev_priv: the i915 device
> > - *
> > - * Determine various intel_device_info fields at runtime.
> > - *
> > - * Use it when either:
> > - *   - it's judged too laborious to fill n static structures with the limit
> > - *     when a simple if statement does the job,
> > - *   - run-time checks (eg read fuse/strap registers) are needed.
> > - *
> > - * This function needs to be called:
> > - *   - after the MMIO has been setup as we are reading registers,
> > - *   - after the PCH has been detected,
> > - *   - before the first usage of the fields it can tweak.
> > - */
> > -void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
> > -{
> > -	struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);
> > -	enum pipe pipe;
> > -
> > -	/* Wa_14011765242: adl-s A0,A1 */
> > -	if (IS_ADLS_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A2)) {
> > -		for_each_pipe(dev_priv, pipe)
> > -			runtime->num_scalers[pipe] = 0;
> > -	} else if (DISPLAY_VER(dev_priv) >= 11) {
> > -		for_each_pipe(dev_priv, pipe)
> > -			runtime->num_scalers[pipe] = 2;
> > -	} else if (DISPLAY_VER(dev_priv) >= 9) {
> > -		runtime->num_scalers[PIPE_A] = 2;
> > -		runtime->num_scalers[PIPE_B] = 2;
> > -		runtime->num_scalers[PIPE_C] = 1;
> > -	}
> > -
> > -	if (DISPLAY_VER(dev_priv) >= 13 || HAS_D12_PLANE_MINIMIZATION(dev_priv)) {
> > -		for_each_pipe(dev_priv, pipe)
> > -			runtime->num_sprites[pipe] = 4;
> > -	} else if (DISPLAY_VER(dev_priv) >= 11) {
> > -		for_each_pipe(dev_priv, pipe)
> > -			runtime->num_sprites[pipe] = 6;
> > -	}
> > -
> > -	if (HAS_DISPLAY(dev_priv) && DISPLAY_VER(dev_priv) >= 9) {
> > -		u32 dfsm = intel_de_read(dev_priv, SKL_DFSM);
> > -
> > -		if (dfsm & SKL_DFSM_PIPE_A_DISABLE) {
> > -			runtime->pipe_mask &= ~BIT(PIPE_A);
> > -			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_A);
> > -			runtime->fbc_mask &= ~BIT(INTEL_FBC_A);
> > -		}
> > -		if (dfsm & SKL_DFSM_PIPE_B_DISABLE) {
> > -			runtime->pipe_mask &= ~BIT(PIPE_B);
> > -			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
> > -		}
> > -		if (dfsm & SKL_DFSM_PIPE_C_DISABLE) {
> > -			runtime->pipe_mask &= ~BIT(PIPE_C);
> > -			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
> > -		}
> > -
> > -		if (DISPLAY_VER(dev_priv) >= 12 &&
> > -		    (dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
> > -			runtime->pipe_mask &= ~BIT(PIPE_D);
> > -			runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
> > -		}
> > -
> > -		if (dfsm & SKL_DFSM_DISPLAY_HDCP_DISABLE)
> > -			runtime->has_hdcp = 0;
> > -
> > -		if (dfsm & SKL_DFSM_DISPLAY_PM_DISABLE)
> > -			runtime->fbc_mask = 0;
> > -
> > -		if (DISPLAY_VER(dev_priv) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
> > -			runtime->has_dmc = 0;
> > -
> > -		if (DISPLAY_VER(dev_priv) >= 10 &&
> > -		    (dfsm & GLK_DFSM_DISPLAY_DSC_DISABLE))
> > -			runtime->has_dsc = 0;
> > -	}
> > -
> > -	runtime->rawclk_freq = intel_read_rawclk(dev_priv);
> > -	drm_dbg(&dev_priv->drm, "rawclk rate: %d kHz\n", runtime->rawclk_freq);
> > -}
> > -
> > bool i915_vtd_active(struct drm_i915_private *i915)
> > {
> > 	if (device_iommu_mapped(i915->drm.dev))
> > @@ -128,3 +45,14 @@ int __i915_inject_probe_error(struct drm_i915_private *i915, int err,
> > {
> > 	return 0;
> > }
> > +int i8xx_enable_vblank(struct drm_crtc *crtc) { return 0; }
> > +void intel_dvo_init(struct drm_i915_private *i915) {}
> > +int i965_enable_vblank(struct drm_crtc *crtc) { return 0; }
> > +int intel_tv_init(struct drm_i915_private *i915) { return 0; }
> > +int assert_dsi_pll_enabled(struct drm_i915_private *i915) { return 0; }
> > +bool intel_sdvo_init(struct drm_i915_private *dev_priv,
> > +		     i915_reg_t sdvo_reg, enum port port) { return false; }
> > +void i965_disable_vblank(struct drm_crtc *crtc) {}
> > +void i8xx_disable_vblank(struct drm_crtc *crtc) {}
> > +void g4x_hdmi_init(struct drm_i915_private *dev_priv,
> > +		   i915_reg_t hdmi_reg, enum port port) {}
> > diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> > index 17b6b1cc5adb..0226d44a6af2 100644
> > --- a/drivers/gpu/drm/xe/xe_device_types.h
> > +++ b/drivers/gpu/drm/xe/xe_device_types.h
> > @@ -21,6 +21,7 @@
> > #include "ext/intel_device_info.h"
> > #include "ext/intel_pch.h"
> > #include "intel_display_core.h"
> 
> can we now remove this?

No, we still need this one for the definition of 'struct intel_display'
that is used inside 'struct xe_device.'  We might be able to convert
that to a pointer at some point in the future, eliminating the need for
the header, but we aren't there yet.

> 
> > +#include "intel_display_device.h"
> > #endif
> > 
> > struct xe_ggtt;
> > @@ -217,58 +218,11 @@ struct xe_device {
> > 		u8 enable_display:1;
> > 
> > #if IS_ENABLED(CONFIG_DRM_XE_DISPLAY)
> > -		struct xe_device_display_info {
> > -			u8 ver;
> > -
> > -			u8 pipe_mask;
> > -			u8 cpu_transcoder_mask;
> > -			u8 fbc_mask;
> > -			u8 abox_mask;
> > -
> > -			struct {
> > -				u16 size; /* in blocks */
> > -				u8 slice_mask;
> > -			} dbuf;
> > -
> > -#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
> > -			/* Keep in alphabetical order */ \
> > -			func(has_cdclk_crawl); \
> > -			func(has_cdclk_squash); \
> > -			func(has_dmc); \
> > -			func(has_dp_mst); \
> > -			func(has_dsb); \
> > -			func(has_dsc); \
> > -			func(has_fpga_dbg); \
> > -			func(has_hdcp); \
> > -			func(has_hti); \
> > -			func(has_ipc); \
> > -			func(has_psr); \
> > -			func(has_psr_hw_tracking);
> > -
> > -#define DEFINE_FLAG(name) u8 name:1
> > -			DEV_INFO_DISPLAY_FOR_EACH_FLAG(DEFINE_FLAG);
> > -#undef DEFINE_FLAG
> > -
> > -			/* Register offsets for the various display pipes and transcoders */
> > -			u32 pipe_offsets[I915_MAX_TRANSCODERS];
> > -			u32 trans_offsets[I915_MAX_TRANSCODERS];
> > -			u32 cursor_offsets[I915_MAX_PIPES];
> > -
> > -			struct {
> > -				u32 degamma_lut_size;
> > -				u32 gamma_lut_size;
> > -				u32 degamma_lut_tests;
> > -				u32 gamma_lut_tests;
> > -			} color;
> > -
> > -			/* Populated by intel_device_runtime_init() */
> > -			u8 num_sprites[I915_MAX_PIPES];
> > -			u8 num_scalers[I915_MAX_PIPES];
> > +		const struct intel_display_device_info *display;
> > +		struct intel_display_runtime_info display_runtime;
> > +		struct {
> > 			u32 rawclk_freq;
> > -
> > -			/* Unused by xe, but for compat */
> > -			u32 mmio_offset;
> > -		} display;
> > +		} i915_runtime;
> > #endif
> > 	} info;
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_display.c b/drivers/gpu/drm/xe/xe_display.c
> > index 1a9e9c78966d..5745065b70de 100644
> > --- a/drivers/gpu/drm/xe/xe_display.c
> > +++ b/drivers/gpu/drm/xe/xe_display.c
> > @@ -196,7 +196,7 @@ int xe_display_init_noirq(struct xe_device *xe)
> > 
> > 	intel_bw_init_hw(xe);
> > 
> > -	intel_device_info_runtime_init(xe);
> > +	intel_display_device_info_runtime_init(xe);
> > 
> > 	err = intel_display_driver_probe_noirq(xe);
> > 	if (err)
> > @@ -320,7 +320,7 @@ static void intel_suspend_encoders(struct xe_device *xe)
> > 	struct drm_device *dev = &xe->drm;
> > 	struct intel_encoder *encoder;
> > 
> > -	if (!xe->info.display.pipe_mask)
> > +	if (xe->info.display_runtime.pipe_mask)
> > 		return;
> > 
> > 	drm_modeset_lock_all(dev);
> > @@ -340,7 +340,7 @@ void xe_display_pm_suspend(struct xe_device *xe)
> > 	 * properly.
> > 	 */
> > 	intel_power_domains_disable(xe);
> > -	if (xe->info.display.pipe_mask)
> > +	if (xe->info.display_runtime.pipe_mask)
> > 		drm_kms_helper_poll_disable(&xe->drm);
> > 
> > 	intel_display_driver_suspend(xe);
> > @@ -385,7 +385,7 @@ void xe_display_pm_resume(struct xe_device *xe)
> > 
> > 	intel_dmc_resume(xe);
> > 
> > -	if (xe->info.display.pipe_mask)
> > +	if (xe->info.display_runtime.pipe_mask)
> > 		drm_mode_config_reset(&xe->drm);
> > 
> > 	intel_display_driver_init_hw(xe);
> > @@ -397,7 +397,7 @@ void xe_display_pm_resume(struct xe_device *xe)
> > 	intel_display_driver_resume(xe);
> > 
> > 	intel_hpd_poll_disable(xe);
> > -	if (xe->info.display.pipe_mask)
> > +	if (xe->info.display_runtime.pipe_mask)
> > 		drm_kms_helper_poll_enable(&xe->drm);
> > 
> > 	intel_opregion_resume(xe);
> > @@ -411,142 +411,34 @@ void xe_display_pm_resume(struct xe_device *xe)
> > __diag_push();
> > __diag_ignore_all("-Woverride-init", "Allow field overrides in table");
> > 
> > -#define __DISPLAY_DEFAULTS \
> > -	.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) |			\
> > -		     BIT(PIPE_C) | BIT(PIPE_D),				\
> > -	.cpu_transcoder_mask =						\
> > -	BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |				\
> > -	BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |				\
> > -	BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),			\
> > -	.pipe_offsets = {						\
> > -		[TRANSCODER_A] = PIPE_A_OFFSET,				\
> > -		[TRANSCODER_B] = PIPE_B_OFFSET,				\
> > -		[TRANSCODER_C] = PIPE_C_OFFSET,				\
> > -		[TRANSCODER_D] = PIPE_D_OFFSET,				\
> > -		[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,			\
> > -		[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,			\
> > -	},								\
> > -	.cursor_offsets = { \
> > -		[PIPE_A] = CURSOR_A_OFFSET, \
> > -		[PIPE_B] = CURSOR_B_OFFSET, \
> > -		[PIPE_C] = CURSOR_C_OFFSET, \
> > -		[PIPE_D] = CURSOR_D_OFFSET, \
> > -	}, \
> > -	.trans_offsets = {						\
> > -		[TRANSCODER_A] = TRANSCODER_A_OFFSET,			\
> > -		[TRANSCODER_B] = TRANSCODER_B_OFFSET,			\
> > -		[TRANSCODER_C] = TRANSCODER_C_OFFSET,			\
> > -		[TRANSCODER_D] = TRANSCODER_D_OFFSET,			\
> > -		[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,		\
> > -		[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,		\
> > -	}
> > -
> > -#define GEN12_DISPLAY \
> > -	__DISPLAY_DEFAULTS,						\
> > -	.ver = 12,							\
> > -	.abox_mask = GENMASK(2, 1),					\
> > -	.has_dmc = 1,							\
> > -	.has_dp_mst = 1,						\
> > -	.has_dsb = 0, /* FIXME: LUT load is broken with huge DSB */	\
> > -	.dbuf.size = 2048,						\
> > -	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2),			\
> > -	.has_dsc = 1,							\
> > -	.fbc_mask = BIT(INTEL_FBC_A),					\
> > -	.has_fpga_dbg = 1,						\
> > -	.has_hdcp = 1,							\
> > -	.has_ipc = 1,							\
> > -	.has_psr = 1,							\
> > -	.has_psr_hw_tracking = 0,					\
> > -	.color = { .degamma_lut_size = 33, .gamma_lut_size = 262145 }
> > -
> > -#define XE_LPD								\
> > -	__DISPLAY_DEFAULTS,						\
> > -	.ver = 13,							\
> > -	.abox_mask = GENMASK(1, 0),					\
> > -	.color = {							\
> > -		.degamma_lut_size = 128, .gamma_lut_size = 1024,	\
> > -		.degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING |	\
> > -		DRM_COLOR_LUT_EQUAL_CHANNELS,				\
> > -	},								\
> > -	.dbuf.size = 4096,						\
> > -	.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2) | BIT(DBUF_S3) |	\
> > -	BIT(DBUF_S4),							\
> > -	.has_dmc = 1,							\
> > -	.has_dp_mst = 1,						\
> > -	.has_dsb = 1,							\
> > -	.has_dsc = 1,							\
> > -	.fbc_mask = BIT(INTEL_FBC_A),					\
> > -	.has_fpga_dbg = 1,						\
> > -	.has_hdcp = 1,							\
> > -	.has_ipc = 1,							\
> > -	.has_psr = 1,							\
> > -	.has_psr_hw_tracking = 0
> > -
> > -#define XE_LPDP								\
> > -	XE_LPD,								\
> > -	.ver = 14,							\
> > -	.has_cdclk_crawl = 1,						\
> > -	.has_cdclk_squash = 1
> > -
> > -
> > void xe_display_info_init(struct xe_device *xe)
> > {
> > -	if (!xe->info.enable_display) {
> > -		unset_display_features(xe);
> > -		return;
> > -	}
> > +	u16 gmdid_ver, gmdid_rel, gmdid_step;
> > +	bool has_gmdid = GRAPHICS_VERx100(xe) >= 1270;
> > +
> > +	if (!xe->info.enable_display)
> > +		goto no_display;
> > +
> > +	xe->info.display = intel_display_device_probe(xe, has_gmdid, &gmdid_ver,
> > +						      &gmdid_rel, &gmdid_step);
> > +	memcpy(&xe->info.display_runtime,
> > +	       &xe->info.display->__runtime_defaults,
> > +	       sizeof(xe->info.display->__runtime_defaults));
> > 
> > -	switch (xe->info.platform) {
> > -	case XE_TIGERLAKE:
> > -	case XE_DG1:
> > -		xe->info.display = (struct xe_device_display_info) {
> > -			GEN12_DISPLAY,
> > -			.has_psr_hw_tracking = 1,
> > -		};
> > -		break;
> > -	case XE_ROCKETLAKE:
> > -		xe->info.display = (struct xe_device_display_info) {
> > -			GEN12_DISPLAY,
> > -			.abox_mask = BIT(0),
> > -			.has_hti = 1,
> > -			.cpu_transcoder_mask =
> > -				BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
> > -				BIT(TRANSCODER_C),
> > -			.pipe_mask =
> > -				BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
> > -		};
> > -		break;
> > -	case XE_ALDERLAKE_S:
> > -		xe->info.display = (struct xe_device_display_info) {
> > -			GEN12_DISPLAY,
> > -			.has_hti = 1,
> > -		};
> > -		break;
> > -	case XE_ALDERLAKE_P:
> > -	case XE_ALDERLAKE_N:
> > -		xe->info.display = (struct xe_device_display_info) {
> > -			XE_LPD,
> > -			.has_cdclk_crawl = 1,
> > -		};
> > -		break;
> > -	case XE_DG2:
> > -		xe->info.display = (struct xe_device_display_info) {
> > -			XE_LPD,
> > -			.cpu_transcoder_mask =
> > -				BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
> > -				BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
> > -			.has_cdclk_squash = 1,
> > -		};
> > -		break;
> > -	case XE_METEORLAKE:
> > -		xe->info.display = (struct xe_device_display_info) { XE_LPDP };
> > -		break;
> > -	default:
> > -		drm_warn(&xe->drm, "Unknown display IP\n");
> > -		xe->info.enable_display = false;
> > -		unset_display_features(xe);
> > -		return;
> > +	if (!xe->info.display_runtime.pipe_mask)
> > +		goto no_display;
> > +
> > +	if (has_gmdid) {
> > +		xe->info.display_runtime.ip.ver = gmdid_ver;
> > +		xe->info.display_runtime.ip.rel = gmdid_rel;
> > +		xe->info.display_runtime.ip.step = gmdid_step;
> > 	}
> > +
> > +	return;
> > +
> > +no_display:
> > +	xe->info.enable_display = false;
> > +	unset_display_features(xe);
> 
> 
> cool. I think it will be a little bit hard amend this since we have
> other commits on top of the initial display support touching  it, but I
> think it will be worthy.
> 
> thanks
> 
> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Thanks.  Series applied to drm-xe-next.


Matt

> 
> Lucas De Marchi
> 
> > }
> > 
> > __diag_pop();
> > -- 
> > 2.40.1
> > 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation

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

* Re: [Intel-xe] [PATCH v2 07/10] drm/i915/display: Include of display limits doesn't need 'display/'
  2023-06-07  4:33   ` Lucas De Marchi
@ 2023-06-07 23:39     ` Matt Roper
  0 siblings, 0 replies; 23+ messages in thread
From: Matt Roper @ 2023-06-07 23:39 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

On Tue, Jun 06, 2023 at 09:33:29PM -0700, Lucas De Marchi wrote:
> On Tue, Jun 06, 2023 at 04:52:39PM -0700, Matt Roper wrote:
> > Drop the unnecessary directory prefix.  This also makes
> > intel_display_device.h easier to use from the Xe driver.
> > 
> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
> 
> is this supposed to be a cherry-pick?

It hadn't landed in drm-intel yet when I sent this series to the mailing
list, but it has now, so I replaced this with the cherry-pick while
applying.

Thanks.


Matt

> 
> Lucas De Marchi
> 
> > ---
> > drivers/gpu/drm/i915/display/intel_display_device.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> > index 2aa82cbdf1c5..327520b0ecb9 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> > @@ -8,7 +8,7 @@
> > 
> > #include <linux/types.h>
> > 
> > -#include "display/intel_display_limits.h"
> > +#include "intel_display_limits.h"
> > 
> > struct drm_i915_private;
> > 
> > -- 
> > 2.40.1
> > 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation

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

end of thread, other threads:[~2023-06-07 23:39 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-06 23:52 [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 01/10] drm/i915/display: Move display device info to header under display/ Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 02/10] drm/i915: Convert INTEL_INFO()->display to a pointer Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 03/10] drm/i915/display: Move display runtime info to display structure Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 04/10] drm/i915/display: Make display responsible for probing its own IP Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 05/10] drm/i915/display: Handle GMD_ID identification in display code Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 06/10] drm/i915/display: Move feature test macros to intel_display_device.h Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 07/10] drm/i915/display: Include of display limits doesn't need 'display/' Matt Roper
2023-06-07  4:33   ` Lucas De Marchi
2023-06-07 23:39     ` Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 08/10] drm/i915: Fix error handling if driver creation fails during probe Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 09/10] drm/i915/display: Extract display init from intel_device_info_runtime_init Matt Roper
2023-06-06 23:52 ` [Intel-xe] [PATCH v2 10/10] fixup! drm/xe/display: Implement display support Matt Roper
2023-06-07  4:41   ` Lucas De Marchi
2023-06-07 23:38     ` Matt Roper
2023-06-06 23:55 ` [Intel-xe] ✓ CI.Patch_applied: success for Utilize i915 display probing (rev2) Patchwork
2023-06-06 23:56 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-06-06 23:57 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-06-07  0:01 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-06-07  0:01 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
2023-06-07  0:02 ` [Intel-xe] ✗ CI.checksparse: warning " Patchwork
2023-06-07  0:29 ` [Intel-xe] ○ CI.BAT: info " Patchwork
2023-06-07  4:42 ` [Intel-xe] [PATCH v2 00/10] Utilize i915 display probing Lucas De Marchi

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