All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters
@ 2025-03-10 18:57 Gustavo Sousa
  2025-03-10 18:57 ` [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display Gustavo Sousa
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Gustavo Sousa @ 2025-03-10 18:57 UTC (permalink / raw)
  To: intel-gfx, intel-xe
  Cc: Matt Roper, Ville Syrjälä, Jani Nikula, Gustavo Sousa

Bandwidth parameters for Xe3_LPD have been updated with respect to
previous display releases. Encode them into xe3lpd_sa_info and use that
new struct.

Since we are touching intel_bw.c, also take the opportunity convert it
to intel_display.

Changes in v2:
  - Fix typo in patch #2.

Changes in v3:
- Squash patches #1 and #2 into a single one and modify it to convert
  intel_bw.c internally to intel_display (new patch subject is
  "drm/i915/display: Convert intel_bw.c internally to intel_display").
- Add a new patch #2 to convert intel_bw.c externally to intel_display.
- Link to v2: https://lore.kernel.org/r/20250217153550.43909-1-gustavo.sousa@intel.com

Changes in v4:
- Prefer intel_uncore_read() for MCHBAR registers. (Ville)
- Link to v3: https://lore.kernel.org/r/20250307-xe3lpd-bandwidth-update-v3-0-58bbe81f65bf@intel.com

---
Gustavo Sousa (3):
      drm/i915/display: Convert intel_bw.c internally to intel_display
      drm/i915/display: Convert intel_bw.c externally to intel_display
      drm/i915/xe3lpd: Update bandwidth parameters

 drivers/gpu/drm/i915/display/intel_bw.c            | 441 +++++++++++----------
 drivers/gpu/drm/i915/display/intel_bw.h            |   9 +-
 drivers/gpu/drm/i915/display/intel_cdclk.c         |   3 +-
 .../gpu/drm/i915/display/intel_display_driver.c    |   2 +-
 drivers/gpu/drm/i915/display/skl_watermark.c       |  10 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   2 +-
 drivers/gpu/drm/xe/display/xe_display.c            |   2 +-
 7 files changed, 246 insertions(+), 223 deletions(-)
---
base-commit: 335577160971c946611913d1a8e88ee7b00ae804
change-id: 20250228-xe3lpd-bandwidth-update-f011599c0c3e

Best regards,
-- 
Gustavo Sousa <gustavo.sousa@intel.com>


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

* [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
@ 2025-03-10 18:57 ` Gustavo Sousa
  2025-03-11 16:46   ` Ville Syrjälä
  2025-03-10 18:57 ` [PATCH v4 2/3] drm/i915/display: Convert intel_bw.c externally " Gustavo Sousa
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 15+ messages in thread
From: Gustavo Sousa @ 2025-03-10 18:57 UTC (permalink / raw)
  To: intel-gfx, intel-xe
  Cc: Matt Roper, Ville Syrjälä, Jani Nikula, Gustavo Sousa

Update intel_bw.c internally use intel_display. Conversion of the public
interface will come as a follow-up.

v2:
  - Prefer intel_uncore_read() for MCHBAR registers. (Ville)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bw.c | 417 +++++++++++++++++---------------
 1 file changed, 218 insertions(+), 199 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 048be287224774110d94fe2944daa580d8dc20a6..633b3ad4b6b50b6ff56483eb836ee31d5dfdecbf 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -11,6 +11,7 @@
 #include "intel_atomic.h"
 #include "intel_bw.h"
 #include "intel_cdclk.h"
+#include "intel_de.h"
 #include "intel_display_core.h"
 #include "intel_display_types.h"
 #include "skl_watermark.h"
@@ -39,14 +40,15 @@ struct intel_qgv_info {
 	u8 deinterleave;
 };
 
-static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
+static int dg1_mchbar_read_qgv_point_info(struct intel_display *display,
 					  struct intel_qgv_point *sp,
 					  int point)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	u32 dclk_ratio, dclk_reference;
 	u32 val;
 
-	val = intel_uncore_read(&dev_priv->uncore, SA_PERF_STATUS_0_0_0_MCHBAR_PC);
+	val = intel_uncore_read(&i915->uncore, SA_PERF_STATUS_0_0_0_MCHBAR_PC);
 	dclk_ratio = REG_FIELD_GET(DG1_QCLK_RATIO_MASK, val);
 	if (val & DG1_QCLK_REFERENCE)
 		dclk_reference = 6; /* 6 * 16.666 MHz = 100 MHz */
@@ -54,18 +56,18 @@ static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
 		dclk_reference = 8; /* 8 * 16.666 MHz = 133 MHz */
 	sp->dclk = DIV_ROUND_UP((16667 * dclk_ratio * dclk_reference) + 500, 1000);
 
-	val = intel_uncore_read(&dev_priv->uncore, SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU);
+	val = intel_uncore_read(&i915->uncore, SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU);
 	if (val & DG1_GEAR_TYPE)
 		sp->dclk *= 2;
 
 	if (sp->dclk == 0)
 		return -EINVAL;
 
-	val = intel_uncore_read(&dev_priv->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR);
+	val = intel_uncore_read(&i915->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR);
 	sp->t_rp = REG_FIELD_GET(DG1_DRAM_T_RP_MASK, val);
 	sp->t_rdpre = REG_FIELD_GET(DG1_DRAM_T_RDPRE_MASK, val);
 
-	val = intel_uncore_read(&dev_priv->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR_HIGH);
+	val = intel_uncore_read(&i915->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR_HIGH);
 	sp->t_rcd = REG_FIELD_GET(DG1_DRAM_T_RCD_MASK, val);
 	sp->t_ras = REG_FIELD_GET(DG1_DRAM_T_RAS_MASK, val);
 
@@ -74,22 +76,23 @@ static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
 	return 0;
 }
 
-static int icl_pcode_read_qgv_point_info(struct drm_i915_private *dev_priv,
+static int icl_pcode_read_qgv_point_info(struct intel_display *display,
 					 struct intel_qgv_point *sp,
 					 int point)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	u32 val = 0, val2 = 0;
 	u16 dclk;
 	int ret;
 
-	ret = snb_pcode_read(&dev_priv->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
+	ret = snb_pcode_read(&i915->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
 			     ICL_PCODE_MEM_SS_READ_QGV_POINT_INFO(point),
 			     &val, &val2);
 	if (ret)
 		return ret;
 
 	dclk = val & 0xffff;
-	sp->dclk = DIV_ROUND_UP((16667 * dclk) + (DISPLAY_VER(dev_priv) >= 12 ? 500 : 0),
+	sp->dclk = DIV_ROUND_UP((16667 * dclk) + (DISPLAY_VER(display) >= 12 ? 500 : 0),
 				1000);
 	sp->t_rp = (val & 0xff0000) >> 16;
 	sp->t_rcd = (val & 0xff000000) >> 24;
@@ -102,14 +105,15 @@ static int icl_pcode_read_qgv_point_info(struct drm_i915_private *dev_priv,
 	return 0;
 }
 
-static int adls_pcode_read_psf_gv_point_info(struct drm_i915_private *dev_priv,
-					    struct intel_psf_gv_point *points)
+static int adls_pcode_read_psf_gv_point_info(struct intel_display *display,
+					     struct intel_psf_gv_point *points)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	u32 val = 0;
 	int ret;
 	int i;
 
-	ret = snb_pcode_read(&dev_priv->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
+	ret = snb_pcode_read(&i915->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
 			     ADL_PCODE_MEM_SS_READ_PSF_GV_INFO, &val, NULL);
 	if (ret)
 		return ret;
@@ -122,10 +126,10 @@ static int adls_pcode_read_psf_gv_point_info(struct drm_i915_private *dev_priv,
 	return 0;
 }
 
-static u16 icl_qgv_points_mask(struct drm_i915_private *i915)
+static u16 icl_qgv_points_mask(struct intel_display *display)
 {
-	unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
-	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
+	unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
+	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
 	u16 qgv_points = 0, psf_points = 0;
 
 	/*
@@ -142,18 +146,19 @@ static u16 icl_qgv_points_mask(struct drm_i915_private *i915)
 	return ICL_PCODE_REQ_QGV_PT(qgv_points) | ADLS_PCODE_REQ_PSF_PT(psf_points);
 }
 
-static bool is_sagv_enabled(struct drm_i915_private *i915, u16 points_mask)
+static bool is_sagv_enabled(struct intel_display *display, u16 points_mask)
 {
-	return !is_power_of_2(~points_mask & icl_qgv_points_mask(i915) &
+	return !is_power_of_2(~points_mask & icl_qgv_points_mask(display) &
 			      ICL_PCODE_REQ_QGV_PT_MASK);
 }
 
 int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
 				  u32 points_mask)
 {
+	struct intel_display *display = &dev_priv->display;
 	int ret;
 
-	if (DISPLAY_VER(dev_priv) >= 14)
+	if (DISPLAY_VER(display) >= 14)
 		return 0;
 
 	/* bspec says to keep retrying for at least 1 ms */
@@ -164,27 +169,28 @@ int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
 				1);
 
 	if (ret < 0) {
-		drm_err(&dev_priv->drm,
+		drm_err(display->drm,
 			"Failed to disable qgv points (0x%x) points: 0x%x\n",
 			ret, points_mask);
 		return ret;
 	}
 
-	dev_priv->display.sagv.status = is_sagv_enabled(dev_priv, points_mask) ?
+	display->sagv.status = is_sagv_enabled(display, points_mask) ?
 		I915_SAGV_ENABLED : I915_SAGV_DISABLED;
 
 	return 0;
 }
 
-static int mtl_read_qgv_point_info(struct drm_i915_private *dev_priv,
+static int mtl_read_qgv_point_info(struct intel_display *display,
 				   struct intel_qgv_point *sp, int point)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	u32 val, val2;
 	u16 dclk;
 
-	val = intel_uncore_read(&dev_priv->uncore,
+	val = intel_uncore_read(&i915->uncore,
 				MTL_MEM_SS_INFO_QGV_POINT_LOW(point));
-	val2 = intel_uncore_read(&dev_priv->uncore,
+	val2 = intel_uncore_read(&i915->uncore,
 				 MTL_MEM_SS_INFO_QGV_POINT_HIGH(point));
 	dclk = REG_FIELD_GET(MTL_DCLK_MASK, val);
 	sp->dclk = DIV_ROUND_CLOSEST(16667 * dclk, 1000);
@@ -200,29 +206,30 @@ static int mtl_read_qgv_point_info(struct drm_i915_private *dev_priv,
 }
 
 static int
-intel_read_qgv_point_info(struct drm_i915_private *dev_priv,
+intel_read_qgv_point_info(struct intel_display *display,
 			  struct intel_qgv_point *sp,
 			  int point)
 {
-	if (DISPLAY_VER(dev_priv) >= 14)
-		return mtl_read_qgv_point_info(dev_priv, sp, point);
-	else if (IS_DG1(dev_priv))
-		return dg1_mchbar_read_qgv_point_info(dev_priv, sp, point);
+	if (DISPLAY_VER(display) >= 14)
+		return mtl_read_qgv_point_info(display, sp, point);
+	else if (display->platform.dg1)
+		return dg1_mchbar_read_qgv_point_info(display, sp, point);
 	else
-		return icl_pcode_read_qgv_point_info(dev_priv, sp, point);
+		return icl_pcode_read_qgv_point_info(display, sp, point);
 }
 
-static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
+static int icl_get_qgv_points(struct intel_display *display,
 			      struct intel_qgv_info *qi,
 			      bool is_y_tile)
 {
-	const struct dram_info *dram_info = &dev_priv->dram_info;
+	struct drm_i915_private *i915 = to_i915(display->drm);
+	const struct dram_info *dram_info = &i915->dram_info;
 	int i, ret;
 
 	qi->num_points = dram_info->num_qgv_points;
 	qi->num_psf_points = dram_info->num_psf_gv_points;
 
-	if (DISPLAY_VER(dev_priv) >= 14) {
+	if (DISPLAY_VER(display) >= 14) {
 		switch (dram_info->type) {
 		case INTEL_DRAM_DDR4:
 			qi->t_bl = 4;
@@ -250,7 +257,7 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
 			MISSING_CASE(dram_info->type);
 			return -EINVAL;
 		}
-	} else if (DISPLAY_VER(dev_priv) >= 12) {
+	} else if (DISPLAY_VER(display) >= 12) {
 		switch (dram_info->type) {
 		case INTEL_DRAM_DDR4:
 			qi->t_bl = is_y_tile ? 8 : 4;
@@ -265,7 +272,7 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
 			qi->deinterleave = is_y_tile ? 1 : 2;
 			break;
 		case INTEL_DRAM_LPDDR4:
-			if (IS_ROCKETLAKE(dev_priv)) {
+			if (display->platform.rocketlake) {
 				qi->t_bl = 8;
 				qi->max_numchannels = 4;
 				qi->channel_width = 32;
@@ -284,39 +291,39 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
 			qi->max_numchannels = 1;
 			break;
 		}
-	} else if (DISPLAY_VER(dev_priv) == 11) {
-		qi->t_bl = dev_priv->dram_info.type == INTEL_DRAM_DDR4 ? 4 : 8;
+	} else if (DISPLAY_VER(display) == 11) {
+		qi->t_bl = dram_info->type == INTEL_DRAM_DDR4 ? 4 : 8;
 		qi->max_numchannels = 1;
 	}
 
-	if (drm_WARN_ON(&dev_priv->drm,
+	if (drm_WARN_ON(display->drm,
 			qi->num_points > ARRAY_SIZE(qi->points)))
 		qi->num_points = ARRAY_SIZE(qi->points);
 
 	for (i = 0; i < qi->num_points; i++) {
 		struct intel_qgv_point *sp = &qi->points[i];
 
-		ret = intel_read_qgv_point_info(dev_priv, sp, i);
+		ret = intel_read_qgv_point_info(display, sp, i);
 		if (ret) {
-			drm_dbg_kms(&dev_priv->drm, "Could not read QGV %d info\n", i);
+			drm_dbg_kms(display->drm, "Could not read QGV %d info\n", i);
 			return ret;
 		}
 
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "QGV %d: DCLK=%d tRP=%d tRDPRE=%d tRAS=%d tRCD=%d tRC=%d\n",
 			    i, sp->dclk, sp->t_rp, sp->t_rdpre, sp->t_ras,
 			    sp->t_rcd, sp->t_rc);
 	}
 
 	if (qi->num_psf_points > 0) {
-		ret = adls_pcode_read_psf_gv_point_info(dev_priv, qi->psf_points);
+		ret = adls_pcode_read_psf_gv_point_info(display, qi->psf_points);
 		if (ret) {
-			drm_err(&dev_priv->drm, "Failed to read PSF point data; PSF points will not be considered in bandwidth calculations.\n");
+			drm_err(display->drm, "Failed to read PSF point data; PSF points will not be considered in bandwidth calculations.\n");
 			qi->num_psf_points = 0;
 		}
 
 		for (i = 0; i < qi->num_psf_points; i++)
-			drm_dbg_kms(&dev_priv->drm,
+			drm_dbg_kms(display->drm,
 				    "PSF GV %d: CLK=%d \n",
 				    i, qi->psf_points[i].clk);
 	}
@@ -398,20 +405,21 @@ static const struct intel_sa_info xe2_hpd_sa_info = {
 	/* Other values not used by simplified algorithm */
 };
 
-static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel_sa_info *sa)
+static int icl_get_bw_info(struct intel_display *display, const struct intel_sa_info *sa)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	struct intel_qgv_info qi = {};
 	bool is_y_tile = true; /* assume y tile may be used */
-	int num_channels = max_t(u8, 1, dev_priv->dram_info.num_channels);
+	int num_channels = max_t(u8, 1, i915->dram_info.num_channels);
 	int ipqdepth, ipqdepthpch = 16;
 	int dclk_max;
 	int maxdebw;
-	int num_groups = ARRAY_SIZE(dev_priv->display.bw.max);
+	int num_groups = ARRAY_SIZE(display->bw.max);
 	int i, ret;
 
-	ret = icl_get_qgv_points(dev_priv, &qi, is_y_tile);
+	ret = icl_get_qgv_points(display, &qi, is_y_tile);
 	if (ret) {
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "Failed to get memory subsystem information, ignoring bandwidth limits");
 		return ret;
 	}
@@ -422,7 +430,7 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 	qi.deinterleave = DIV_ROUND_UP(num_channels, is_y_tile ? 4 : 2);
 
 	for (i = 0; i < num_groups; i++) {
-		struct intel_bw_info *bi = &dev_priv->display.bw.max[i];
+		struct intel_bw_info *bi = &display->bw.max[i];
 		int clpchgroup;
 		int j;
 
@@ -449,7 +457,7 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 			bi->deratedbw[j] = min(maxdebw,
 					       bw * (100 - sa->derating) / 100);
 
-			drm_dbg_kms(&dev_priv->drm,
+			drm_dbg_kms(display->drm,
 				    "BW%d / QGV %d: num_planes=%d deratedbw=%u\n",
 				    i, j, bi->num_planes, bi->deratedbw[j]);
 		}
@@ -460,44 +468,45 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 	 * as it will fail and pointless anyway.
 	 */
 	if (qi.num_points == 1)
-		dev_priv->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
+		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
 	else
-		dev_priv->display.sagv.status = I915_SAGV_ENABLED;
+		display->sagv.status = I915_SAGV_ENABLED;
 
 	return 0;
 }
 
-static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel_sa_info *sa)
+static int tgl_get_bw_info(struct intel_display *display, const struct intel_sa_info *sa)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	struct intel_qgv_info qi = {};
-	const struct dram_info *dram_info = &dev_priv->dram_info;
+	const struct dram_info *dram_info = &i915->dram_info;
 	bool is_y_tile = true; /* assume y tile may be used */
-	int num_channels = max_t(u8, 1, dev_priv->dram_info.num_channels);
+	int num_channels = max_t(u8, 1, dram_info->num_channels);
 	int ipqdepth, ipqdepthpch = 16;
 	int dclk_max;
 	int maxdebw, peakbw;
 	int clperchgroup;
-	int num_groups = ARRAY_SIZE(dev_priv->display.bw.max);
+	int num_groups = ARRAY_SIZE(display->bw.max);
 	int i, ret;
 
-	ret = icl_get_qgv_points(dev_priv, &qi, is_y_tile);
+	ret = icl_get_qgv_points(display, &qi, is_y_tile);
 	if (ret) {
-		drm_dbg_kms(&dev_priv->drm,
+		drm_dbg_kms(display->drm,
 			    "Failed to get memory subsystem information, ignoring bandwidth limits");
 		return ret;
 	}
 
-	if (DISPLAY_VER(dev_priv) < 14 &&
+	if (DISPLAY_VER(display) < 14 &&
 	    (dram_info->type == INTEL_DRAM_LPDDR4 || dram_info->type == INTEL_DRAM_LPDDR5))
 		num_channels *= 2;
 
 	qi.deinterleave = qi.deinterleave ? : DIV_ROUND_UP(num_channels, is_y_tile ? 4 : 2);
 
-	if (num_channels < qi.max_numchannels && DISPLAY_VER(dev_priv) >= 12)
+	if (num_channels < qi.max_numchannels && DISPLAY_VER(display) >= 12)
 		qi.deinterleave = max(DIV_ROUND_UP(qi.deinterleave, 2), 1);
 
-	if (DISPLAY_VER(dev_priv) >= 12 && num_channels > qi.max_numchannels)
-		drm_warn(&dev_priv->drm, "Number of channels exceeds max number of channels.");
+	if (DISPLAY_VER(display) >= 12 && num_channels > qi.max_numchannels)
+		drm_warn(display->drm, "Number of channels exceeds max number of channels.");
 	if (qi.max_numchannels != 0)
 		num_channels = min_t(u8, num_channels, qi.max_numchannels);
 
@@ -514,7 +523,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 	clperchgroup = 4 * DIV_ROUND_UP(8, num_channels) * qi.deinterleave;
 
 	for (i = 0; i < num_groups; i++) {
-		struct intel_bw_info *bi = &dev_priv->display.bw.max[i];
+		struct intel_bw_info *bi = &display->bw.max[i];
 		struct intel_bw_info *bi_next;
 		int clpchgroup;
 		int j;
@@ -522,7 +531,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 		clpchgroup = (sa->deburst * qi.deinterleave / num_channels) << i;
 
 		if (i < num_groups - 1) {
-			bi_next = &dev_priv->display.bw.max[i + 1];
+			bi_next = &display->bw.max[i + 1];
 
 			if (clpchgroup < clperchgroup)
 				bi_next->num_planes = (ipqdepth - clpchgroup) /
@@ -554,7 +563,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 							  num_channels *
 							  qi.channel_width, 8);
 
-			drm_dbg_kms(&dev_priv->drm,
+			drm_dbg_kms(display->drm,
 				    "BW%d / QGV %d: num_planes=%d deratedbw=%u peakbw: %u\n",
 				    i, j, bi->num_planes, bi->deratedbw[j],
 				    bi->peakbw[j]);
@@ -565,7 +574,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 
 			bi->psf_bw[j] = adl_calc_psf_bw(sp->clk);
 
-			drm_dbg_kms(&dev_priv->drm,
+			drm_dbg_kms(display->drm,
 				    "BW%d / PSF GV %d: num_planes=%d bw=%u\n",
 				    i, j, bi->num_planes, bi->psf_bw[j]);
 		}
@@ -577,17 +586,17 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
 	 * as it will fail and pointless anyway.
 	 */
 	if (qi.num_points == 1)
-		dev_priv->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
+		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
 	else
-		dev_priv->display.sagv.status = I915_SAGV_ENABLED;
+		display->sagv.status = I915_SAGV_ENABLED;
 
 	return 0;
 }
 
-static void dg2_get_bw_info(struct drm_i915_private *i915)
+static void dg2_get_bw_info(struct intel_display *display)
 {
-	unsigned int deratedbw = IS_DG2_G11(i915) ? 38000 : 50000;
-	int num_groups = ARRAY_SIZE(i915->display.bw.max);
+	unsigned int deratedbw = display->platform.dg2_g11 ? 38000 : 50000;
+	int num_groups = ARRAY_SIZE(display->bw.max);
 	int i;
 
 	/*
@@ -598,7 +607,7 @@ static void dg2_get_bw_info(struct drm_i915_private *i915)
 	 * whereas DG2-G11 platforms have 38 GB/s.
 	 */
 	for (i = 0; i < num_groups; i++) {
-		struct intel_bw_info *bi = &i915->display.bw.max[i];
+		struct intel_bw_info *bi = &display->bw.max[i];
 
 		bi->num_planes = 1;
 		/* Need only one dummy QGV point per group */
@@ -606,20 +615,21 @@ static void dg2_get_bw_info(struct drm_i915_private *i915)
 		bi->deratedbw[0] = deratedbw;
 	}
 
-	i915->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
+	display->sagv.status = I915_SAGV_NOT_CONTROLLED;
 }
 
-static int xe2_hpd_get_bw_info(struct drm_i915_private *i915,
+static int xe2_hpd_get_bw_info(struct intel_display *display,
 			       const struct intel_sa_info *sa)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	struct intel_qgv_info qi = {};
 	int num_channels = i915->dram_info.num_channels;
 	int peakbw, maxdebw;
 	int ret, i;
 
-	ret = icl_get_qgv_points(i915, &qi, true);
+	ret = icl_get_qgv_points(display, &qi, true);
 	if (ret) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Failed to get memory subsystem information, ignoring bandwidth limits");
 		return ret;
 	}
@@ -631,33 +641,33 @@ static int xe2_hpd_get_bw_info(struct drm_i915_private *i915,
 		const struct intel_qgv_point *point = &qi.points[i];
 		int bw = num_channels * (qi.channel_width / 8) * point->dclk;
 
-		i915->display.bw.max[0].deratedbw[i] =
+		display->bw.max[0].deratedbw[i] =
 			min(maxdebw, (100 - sa->derating) * bw / 100);
-		i915->display.bw.max[0].peakbw[i] = bw;
+		display->bw.max[0].peakbw[i] = bw;
 
-		drm_dbg_kms(&i915->drm, "QGV %d: deratedbw=%u peakbw: %u\n",
-			    i, i915->display.bw.max[0].deratedbw[i],
-			    i915->display.bw.max[0].peakbw[i]);
+		drm_dbg_kms(display->drm, "QGV %d: deratedbw=%u peakbw: %u\n",
+			    i, display->bw.max[0].deratedbw[i],
+			    display->bw.max[0].peakbw[i]);
 	}
 
 	/* Bandwidth does not depend on # of planes; set all groups the same */
-	i915->display.bw.max[0].num_planes = 1;
-	i915->display.bw.max[0].num_qgv_points = qi.num_points;
-	for (i = 1; i < ARRAY_SIZE(i915->display.bw.max); i++)
-		memcpy(&i915->display.bw.max[i], &i915->display.bw.max[0],
-		       sizeof(i915->display.bw.max[0]));
+	display->bw.max[0].num_planes = 1;
+	display->bw.max[0].num_qgv_points = qi.num_points;
+	for (i = 1; i < ARRAY_SIZE(display->bw.max); i++)
+		memcpy(&display->bw.max[i], &display->bw.max[0],
+		       sizeof(display->bw.max[0]));
 
 	/*
 	 * Xe2_HPD should always have exactly two QGV points representing
 	 * battery and plugged-in operation.
 	 */
-	drm_WARN_ON(&i915->drm, qi.num_points != 2);
-	i915->display.sagv.status = I915_SAGV_ENABLED;
+	drm_WARN_ON(display->drm, qi.num_points != 2);
+	display->sagv.status = I915_SAGV_ENABLED;
 
 	return 0;
 }
 
-static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
+static unsigned int icl_max_bw_index(struct intel_display *display,
 				     int num_planes, int qgv_point)
 {
 	int i;
@@ -667,9 +677,9 @@ static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
 	 */
 	num_planes = max(1, num_planes);
 
-	for (i = 0; i < ARRAY_SIZE(dev_priv->display.bw.max); i++) {
+	for (i = 0; i < ARRAY_SIZE(display->bw.max); i++) {
 		const struct intel_bw_info *bi =
-			&dev_priv->display.bw.max[i];
+			&display->bw.max[i];
 
 		/*
 		 * Pcode will not expose all QGV points when
@@ -685,7 +695,7 @@ static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
 	return UINT_MAX;
 }
 
-static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
+static unsigned int tgl_max_bw_index(struct intel_display *display,
 				     int num_planes, int qgv_point)
 {
 	int i;
@@ -695,9 +705,9 @@ static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
 	 */
 	num_planes = max(1, num_planes);
 
-	for (i = ARRAY_SIZE(dev_priv->display.bw.max) - 1; i >= 0; i--) {
+	for (i = ARRAY_SIZE(display->bw.max) - 1; i >= 0; i--) {
 		const struct intel_bw_info *bi =
-			&dev_priv->display.bw.max[i];
+			&display->bw.max[i];
 
 		/*
 		 * Pcode will not expose all QGV points when
@@ -713,52 +723,54 @@ static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
 	return 0;
 }
 
-static unsigned int adl_psf_bw(struct drm_i915_private *dev_priv,
+static unsigned int adl_psf_bw(struct intel_display *display,
 			       int psf_gv_point)
 {
 	const struct intel_bw_info *bi =
-			&dev_priv->display.bw.max[0];
+			&display->bw.max[0];
 
 	return bi->psf_bw[psf_gv_point];
 }
 
-static unsigned int icl_qgv_bw(struct drm_i915_private *i915,
+static unsigned int icl_qgv_bw(struct intel_display *display,
 			       int num_active_planes, int qgv_point)
 {
 	unsigned int idx;
 
-	if (DISPLAY_VER(i915) >= 12)
-		idx = tgl_max_bw_index(i915, num_active_planes, qgv_point);
+	if (DISPLAY_VER(display) >= 12)
+		idx = tgl_max_bw_index(display, num_active_planes, qgv_point);
 	else
-		idx = icl_max_bw_index(i915, num_active_planes, qgv_point);
+		idx = icl_max_bw_index(display, num_active_planes, qgv_point);
 
-	if (idx >= ARRAY_SIZE(i915->display.bw.max))
+	if (idx >= ARRAY_SIZE(display->bw.max))
 		return 0;
 
-	return i915->display.bw.max[idx].deratedbw[qgv_point];
+	return display->bw.max[idx].deratedbw[qgv_point];
 }
 
 void intel_bw_init_hw(struct drm_i915_private *dev_priv)
 {
-	if (!HAS_DISPLAY(dev_priv))
+	struct intel_display *display = &dev_priv->display;
+
+	if (!HAS_DISPLAY(display))
 		return;
 
-	if (DISPLAY_VERx100(dev_priv) >= 1401 && IS_DGFX(dev_priv))
-		xe2_hpd_get_bw_info(dev_priv, &xe2_hpd_sa_info);
-	else if (DISPLAY_VER(dev_priv) >= 14)
-		tgl_get_bw_info(dev_priv, &mtl_sa_info);
-	else if (IS_DG2(dev_priv))
-		dg2_get_bw_info(dev_priv);
-	else if (IS_ALDERLAKE_P(dev_priv))
-		tgl_get_bw_info(dev_priv, &adlp_sa_info);
-	else if (IS_ALDERLAKE_S(dev_priv))
-		tgl_get_bw_info(dev_priv, &adls_sa_info);
-	else if (IS_ROCKETLAKE(dev_priv))
-		tgl_get_bw_info(dev_priv, &rkl_sa_info);
-	else if (DISPLAY_VER(dev_priv) == 12)
-		tgl_get_bw_info(dev_priv, &tgl_sa_info);
-	else if (DISPLAY_VER(dev_priv) == 11)
-		icl_get_bw_info(dev_priv, &icl_sa_info);
+	if (DISPLAY_VERx100(display) >= 1401 && display->platform.dgfx)
+		xe2_hpd_get_bw_info(display, &xe2_hpd_sa_info);
+	else if (DISPLAY_VER(display) >= 14)
+		tgl_get_bw_info(display, &mtl_sa_info);
+	else if (display->platform.dg2)
+		dg2_get_bw_info(display);
+	else if (display->platform.alderlake_p)
+		tgl_get_bw_info(display, &adlp_sa_info);
+	else if (display->platform.alderlake_s)
+		tgl_get_bw_info(display, &adls_sa_info);
+	else if (display->platform.rocketlake)
+		tgl_get_bw_info(display, &rkl_sa_info);
+	else if (DISPLAY_VER(display) == 12)
+		tgl_get_bw_info(display, &tgl_sa_info);
+	else if (DISPLAY_VER(display) == 11)
+		icl_get_bw_info(display, &icl_sa_info);
 }
 
 static unsigned int intel_bw_crtc_num_active_planes(const struct intel_crtc_state *crtc_state)
@@ -772,8 +784,8 @@ static unsigned int intel_bw_crtc_num_active_planes(const struct intel_crtc_stat
 
 static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_state)
 {
+	struct intel_display *display = to_intel_display(crtc_state);
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	unsigned int data_rate = 0;
 	enum plane_id plane_id;
 
@@ -787,7 +799,7 @@ static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_
 
 		data_rate += crtc_state->data_rate[plane_id];
 
-		if (DISPLAY_VER(i915) < 11)
+		if (DISPLAY_VER(display) < 11)
 			data_rate += crtc_state->data_rate_y[plane_id];
 	}
 
@@ -797,37 +809,37 @@ static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_
 /* "Maximum Pipe Read Bandwidth" */
 static int intel_bw_crtc_min_cdclk(const struct intel_crtc_state *crtc_state)
 {
-	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+	struct intel_display *display = to_intel_display(crtc_state);
 
-	if (DISPLAY_VER(i915) < 12)
+	if (DISPLAY_VER(display) < 12)
 		return 0;
 
 	return DIV_ROUND_UP_ULL(mul_u32_u32(intel_bw_crtc_data_rate(crtc_state), 10), 512);
 }
 
-static unsigned int intel_bw_num_active_planes(struct drm_i915_private *dev_priv,
+static unsigned int intel_bw_num_active_planes(struct intel_display *display,
 					       const struct intel_bw_state *bw_state)
 {
 	unsigned int num_active_planes = 0;
 	enum pipe pipe;
 
-	for_each_pipe(dev_priv, pipe)
+	for_each_pipe(display, pipe)
 		num_active_planes += bw_state->num_active_planes[pipe];
 
 	return num_active_planes;
 }
 
-static unsigned int intel_bw_data_rate(struct drm_i915_private *dev_priv,
+static unsigned int intel_bw_data_rate(struct intel_display *display,
 				       const struct intel_bw_state *bw_state)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	unsigned int data_rate = 0;
 	enum pipe pipe;
 
-	for_each_pipe(dev_priv, pipe)
+	for_each_pipe(display, pipe)
 		data_rate += bw_state->data_rate[pipe];
 
-	if (DISPLAY_VER(dev_priv) >= 13 && i915_vtd_active(dev_priv))
+	if (DISPLAY_VER(display) >= 13 && i915_vtd_active(i915))
 		data_rate = DIV_ROUND_UP(data_rate * 105, 100);
 
 	return data_rate;
@@ -836,10 +848,10 @@ static unsigned int intel_bw_data_rate(struct drm_i915_private *dev_priv,
 struct intel_bw_state *
 intel_atomic_get_old_bw_state(struct intel_atomic_state *state)
 {
-	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
+	struct intel_display *display = to_intel_display(state);
 	struct intel_global_state *bw_state;
 
-	bw_state = intel_atomic_get_old_global_obj_state(state, &dev_priv->display.bw.obj);
+	bw_state = intel_atomic_get_old_global_obj_state(state, &display->bw.obj);
 
 	return to_intel_bw_state(bw_state);
 }
@@ -847,10 +859,10 @@ intel_atomic_get_old_bw_state(struct intel_atomic_state *state)
 struct intel_bw_state *
 intel_atomic_get_new_bw_state(struct intel_atomic_state *state)
 {
-	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
+	struct intel_display *display = to_intel_display(state);
 	struct intel_global_state *bw_state;
 
-	bw_state = intel_atomic_get_new_global_obj_state(state, &dev_priv->display.bw.obj);
+	bw_state = intel_atomic_get_new_global_obj_state(state, &display->bw.obj);
 
 	return to_intel_bw_state(bw_state);
 }
@@ -858,27 +870,27 @@ intel_atomic_get_new_bw_state(struct intel_atomic_state *state)
 struct intel_bw_state *
 intel_atomic_get_bw_state(struct intel_atomic_state *state)
 {
-	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
+	struct intel_display *display = to_intel_display(state);
 	struct intel_global_state *bw_state;
 
-	bw_state = intel_atomic_get_global_obj_state(state, &dev_priv->display.bw.obj);
+	bw_state = intel_atomic_get_global_obj_state(state, &display->bw.obj);
 	if (IS_ERR(bw_state))
 		return ERR_CAST(bw_state);
 
 	return to_intel_bw_state(bw_state);
 }
 
-static unsigned int icl_max_bw_qgv_point_mask(struct drm_i915_private *i915,
+static unsigned int icl_max_bw_qgv_point_mask(struct intel_display *display,
 					      int num_active_planes)
 {
-	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
+	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
 	unsigned int max_bw_point = 0;
 	unsigned int max_bw = 0;
 	int i;
 
 	for (i = 0; i < num_qgv_points; i++) {
 		unsigned int max_data_rate =
-			icl_qgv_bw(i915, num_active_planes, i);
+			icl_qgv_bw(display, num_active_planes, i);
 
 		/*
 		 * We need to know which qgv point gives us
@@ -897,23 +909,23 @@ static unsigned int icl_max_bw_qgv_point_mask(struct drm_i915_private *i915,
 	return max_bw_point;
 }
 
-static u16 icl_prepare_qgv_points_mask(struct drm_i915_private *i915,
+static u16 icl_prepare_qgv_points_mask(struct intel_display *display,
 				       unsigned int qgv_points,
 				       unsigned int psf_points)
 {
 	return ~(ICL_PCODE_REQ_QGV_PT(qgv_points) |
-		 ADLS_PCODE_REQ_PSF_PT(psf_points)) & icl_qgv_points_mask(i915);
+		 ADLS_PCODE_REQ_PSF_PT(psf_points)) & icl_qgv_points_mask(display);
 }
 
-static unsigned int icl_max_bw_psf_gv_point_mask(struct drm_i915_private *i915)
+static unsigned int icl_max_bw_psf_gv_point_mask(struct intel_display *display)
 {
-	unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
+	unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
 	unsigned int max_bw_point_mask = 0;
 	unsigned int max_bw = 0;
 	int i;
 
 	for (i = 0; i < num_psf_gv_points; i++) {
-		unsigned int max_data_rate = adl_psf_bw(i915, i);
+		unsigned int max_data_rate = adl_psf_bw(display, i);
 
 		if (max_data_rate > max_bw) {
 			max_bw_point_mask = BIT(i);
@@ -926,29 +938,31 @@ static unsigned int icl_max_bw_psf_gv_point_mask(struct drm_i915_private *i915)
 	return max_bw_point_mask;
 }
 
-static void icl_force_disable_sagv(struct drm_i915_private *i915,
+static void icl_force_disable_sagv(struct intel_display *display,
 				   struct intel_bw_state *bw_state)
 {
-	unsigned int qgv_points = icl_max_bw_qgv_point_mask(i915, 0);
-	unsigned int psf_points = icl_max_bw_psf_gv_point_mask(i915);
+	struct drm_i915_private *i915 = to_i915(display->drm);
+	unsigned int qgv_points = icl_max_bw_qgv_point_mask(display, 0);
+	unsigned int psf_points = icl_max_bw_psf_gv_point_mask(display);
 
-	bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(i915,
+	bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(display,
 								qgv_points,
 								psf_points);
 
-	drm_dbg_kms(&i915->drm, "Forcing SAGV disable: mask 0x%x\n",
+	drm_dbg_kms(display->drm, "Forcing SAGV disable: mask 0x%x\n",
 		    bw_state->qgv_points_mask);
 
 	icl_pcode_restrict_qgv_points(i915, bw_state->qgv_points_mask);
 }
 
-static int mtl_find_qgv_points(struct drm_i915_private *i915,
+static int mtl_find_qgv_points(struct intel_display *display,
 			       unsigned int data_rate,
 			       unsigned int num_active_planes,
 			       struct intel_bw_state *new_bw_state)
 {
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	unsigned int best_rate = UINT_MAX;
-	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
+	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
 	unsigned int qgv_peak_bw  = 0;
 	int i;
 	int ret;
@@ -964,7 +978,7 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
 	 */
 	if (!intel_can_enable_sagv(i915, new_bw_state)) {
 		new_bw_state->qgv_point_peakbw = U16_MAX;
-		drm_dbg_kms(&i915->drm, "No SAGV, use UINT_MAX as peak bw.");
+		drm_dbg_kms(display->drm, "No SAGV, use UINT_MAX as peak bw.");
 		return 0;
 	}
 
@@ -974,27 +988,27 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
 	 */
 	for (i = 0; i < num_qgv_points; i++) {
 		unsigned int bw_index =
-			tgl_max_bw_index(i915, num_active_planes, i);
+			tgl_max_bw_index(display, num_active_planes, i);
 		unsigned int max_data_rate;
 
-		if (bw_index >= ARRAY_SIZE(i915->display.bw.max))
+		if (bw_index >= ARRAY_SIZE(display->bw.max))
 			continue;
 
-		max_data_rate = i915->display.bw.max[bw_index].deratedbw[i];
+		max_data_rate = display->bw.max[bw_index].deratedbw[i];
 
 		if (max_data_rate < data_rate)
 			continue;
 
 		if (max_data_rate - data_rate < best_rate) {
 			best_rate = max_data_rate - data_rate;
-			qgv_peak_bw = i915->display.bw.max[bw_index].peakbw[i];
+			qgv_peak_bw = display->bw.max[bw_index].peakbw[i];
 		}
 
-		drm_dbg_kms(&i915->drm, "QGV point %d: max bw %d required %d qgv_peak_bw: %d\n",
+		drm_dbg_kms(display->drm, "QGV point %d: max bw %d required %d qgv_peak_bw: %d\n",
 			    i, max_data_rate, data_rate, qgv_peak_bw);
 	}
 
-	drm_dbg_kms(&i915->drm, "Matching peaks QGV bw: %d for required data rate: %d\n",
+	drm_dbg_kms(display->drm, "Matching peaks QGV bw: %d for required data rate: %d\n",
 		    qgv_peak_bw, data_rate);
 
 	/*
@@ -1002,7 +1016,7 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
 	 * satisfying the required data rate is found
 	 */
 	if (qgv_peak_bw == 0) {
-		drm_dbg_kms(&i915->drm, "No QGV points for bw %d for display configuration(%d active planes).\n",
+		drm_dbg_kms(display->drm, "No QGV points for bw %d for display configuration(%d active planes).\n",
 			    data_rate, num_active_planes);
 		return -EINVAL;
 	}
@@ -1013,14 +1027,15 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
 	return 0;
 }
 
-static int icl_find_qgv_points(struct drm_i915_private *i915,
+static int icl_find_qgv_points(struct intel_display *display,
 			       unsigned int data_rate,
 			       unsigned int num_active_planes,
 			       const struct intel_bw_state *old_bw_state,
 			       struct intel_bw_state *new_bw_state)
 {
-	unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
-	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
+	struct drm_i915_private *i915 = to_i915(display->drm);
+	unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
+	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
 	u16 psf_points = 0;
 	u16 qgv_points = 0;
 	int i;
@@ -1031,22 +1046,22 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
 		return ret;
 
 	for (i = 0; i < num_qgv_points; i++) {
-		unsigned int max_data_rate = icl_qgv_bw(i915,
+		unsigned int max_data_rate = icl_qgv_bw(display,
 							num_active_planes, i);
 		if (max_data_rate >= data_rate)
 			qgv_points |= BIT(i);
 
-		drm_dbg_kms(&i915->drm, "QGV point %d: max bw %d required %d\n",
+		drm_dbg_kms(display->drm, "QGV point %d: max bw %d required %d\n",
 			    i, max_data_rate, data_rate);
 	}
 
 	for (i = 0; i < num_psf_gv_points; i++) {
-		unsigned int max_data_rate = adl_psf_bw(i915, i);
+		unsigned int max_data_rate = adl_psf_bw(display, i);
 
 		if (max_data_rate >= data_rate)
 			psf_points |= BIT(i);
 
-		drm_dbg_kms(&i915->drm, "PSF GV point %d: max bw %d"
+		drm_dbg_kms(display->drm, "PSF GV point %d: max bw %d"
 			    " required %d\n",
 			    i, max_data_rate, data_rate);
 	}
@@ -1057,14 +1072,14 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
 	 * reasons.
 	 */
 	if (qgv_points == 0) {
-		drm_dbg_kms(&i915->drm, "No QGV points provide sufficient memory"
+		drm_dbg_kms(display->drm, "No QGV points provide sufficient memory"
 			    " bandwidth %d for display configuration(%d active planes).\n",
 			    data_rate, num_active_planes);
 		return -EINVAL;
 	}
 
 	if (num_psf_gv_points > 0 && psf_points == 0) {
-		drm_dbg_kms(&i915->drm, "No PSF GV points provide sufficient memory"
+		drm_dbg_kms(display->drm, "No PSF GV points provide sufficient memory"
 			    " bandwidth %d for display configuration(%d active planes).\n",
 			    data_rate, num_active_planes);
 		return -EINVAL;
@@ -1076,8 +1091,8 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
 	 * cause.
 	 */
 	if (!intel_can_enable_sagv(i915, new_bw_state)) {
-		qgv_points = icl_max_bw_qgv_point_mask(i915, num_active_planes);
-		drm_dbg_kms(&i915->drm, "No SAGV, using single QGV point mask 0x%x\n",
+		qgv_points = icl_max_bw_qgv_point_mask(display, num_active_planes);
+		drm_dbg_kms(display->drm, "No SAGV, using single QGV point mask 0x%x\n",
 			    qgv_points);
 	}
 
@@ -1085,7 +1100,7 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
 	 * We store the ones which need to be masked as that is what PCode
 	 * actually accepts as a parameter.
 	 */
-	new_bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(i915,
+	new_bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(display,
 								    qgv_points,
 								    psf_points);
 	/*
@@ -1101,38 +1116,38 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
 	return 0;
 }
 
-static int intel_bw_check_qgv_points(struct drm_i915_private *i915,
+static int intel_bw_check_qgv_points(struct intel_display *display,
 				     const struct intel_bw_state *old_bw_state,
 				     struct intel_bw_state *new_bw_state)
 {
-	unsigned int data_rate = intel_bw_data_rate(i915, new_bw_state);
+	unsigned int data_rate = intel_bw_data_rate(display, new_bw_state);
 	unsigned int num_active_planes =
-			intel_bw_num_active_planes(i915, new_bw_state);
+			intel_bw_num_active_planes(display, new_bw_state);
 
 	data_rate = DIV_ROUND_UP(data_rate, 1000);
 
-	if (DISPLAY_VER(i915) >= 14)
-		return mtl_find_qgv_points(i915, data_rate, num_active_planes,
+	if (DISPLAY_VER(display) >= 14)
+		return mtl_find_qgv_points(display, data_rate, num_active_planes,
 					   new_bw_state);
 	else
-		return icl_find_qgv_points(i915, data_rate, num_active_planes,
+		return icl_find_qgv_points(display, data_rate, num_active_planes,
 					   old_bw_state, new_bw_state);
 }
 
-static bool intel_bw_state_changed(struct drm_i915_private *i915,
+static bool intel_bw_state_changed(struct intel_display *display,
 				   const struct intel_bw_state *old_bw_state,
 				   const struct intel_bw_state *new_bw_state)
 {
 	enum pipe pipe;
 
-	for_each_pipe(i915, pipe) {
+	for_each_pipe(display, pipe) {
 		const struct intel_dbuf_bw *old_crtc_bw =
 			&old_bw_state->dbuf_bw[pipe];
 		const struct intel_dbuf_bw *new_crtc_bw =
 			&new_bw_state->dbuf_bw[pipe];
 		enum dbuf_slice slice;
 
-		for_each_dbuf_slice(i915, slice) {
+		for_each_dbuf_slice(display, slice) {
 			if (old_crtc_bw->max_bw[slice] != new_crtc_bw->max_bw[slice] ||
 			    old_crtc_bw->active_planes[slice] != new_crtc_bw->active_planes[slice])
 				return true;
@@ -1151,7 +1166,8 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
 				   const struct skl_ddb_entry *ddb,
 				   unsigned int data_rate)
 {
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+	struct intel_display *display = to_intel_display(crtc);
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[crtc->pipe];
 	unsigned int dbuf_mask = skl_ddb_dbuf_slice_mask(i915, ddb);
 	enum dbuf_slice slice;
@@ -1160,7 +1176,7 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
 	 * The arbiter can only really guarantee an
 	 * equal share of the total bw to each plane.
 	 */
-	for_each_dbuf_slice_in_mask(i915, slice, dbuf_mask) {
+	for_each_dbuf_slice_in_mask(display, slice, dbuf_mask) {
 		crtc_bw->max_bw[slice] = max(crtc_bw->max_bw[slice], data_rate);
 		crtc_bw->active_planes[slice] |= BIT(plane_id);
 	}
@@ -1169,8 +1185,8 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
 static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
 				  const struct intel_crtc_state *crtc_state)
 {
+	struct intel_display *display = to_intel_display(crtc_state);
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[crtc->pipe];
 	enum plane_id plane_id;
 
@@ -1191,7 +1207,7 @@ static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
 				       &crtc_state->wm.skl.plane_ddb[plane_id],
 				       crtc_state->data_rate[plane_id]);
 
-		if (DISPLAY_VER(i915) < 11)
+		if (DISPLAY_VER(display) < 11)
 			skl_plane_calc_dbuf_bw(bw_state, crtc, plane_id,
 					       &crtc_state->wm.skl.plane_ddb_y[plane_id],
 					       crtc_state->data_rate[plane_id]);
@@ -1200,13 +1216,13 @@ static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
 
 /* "Maximum Data Buffer Bandwidth" */
 static int
-intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
+intel_bw_dbuf_min_cdclk(struct intel_display *display,
 			const struct intel_bw_state *bw_state)
 {
 	unsigned int total_max_bw = 0;
 	enum dbuf_slice slice;
 
-	for_each_dbuf_slice(i915, slice) {
+	for_each_dbuf_slice(display, slice) {
 		int num_active_planes = 0;
 		unsigned int max_bw = 0;
 		enum pipe pipe;
@@ -1215,7 +1231,7 @@ intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
 		 * The arbiter can only really guarantee an
 		 * equal share of the total bw to each plane.
 		 */
-		for_each_pipe(i915, pipe) {
+		for_each_pipe(display, pipe) {
 			const struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[pipe];
 
 			max_bw = max(crtc_bw->max_bw[slice], max_bw);
@@ -1232,12 +1248,13 @@ intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
 int intel_bw_min_cdclk(struct drm_i915_private *i915,
 		       const struct intel_bw_state *bw_state)
 {
+	struct intel_display *display = &i915->display;
 	enum pipe pipe;
 	int min_cdclk;
 
-	min_cdclk = intel_bw_dbuf_min_cdclk(i915, bw_state);
+	min_cdclk = intel_bw_dbuf_min_cdclk(display, bw_state);
 
-	for_each_pipe(i915, pipe)
+	for_each_pipe(display, pipe)
 		min_cdclk = max(min_cdclk, bw_state->min_cdclk[pipe]);
 
 	return min_cdclk;
@@ -1246,6 +1263,7 @@ int intel_bw_min_cdclk(struct drm_i915_private *i915,
 int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 			    bool *need_cdclk_calc)
 {
+	struct intel_display *display = to_intel_display(state);
 	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
 	struct intel_bw_state *new_bw_state = NULL;
 	const struct intel_bw_state *old_bw_state = NULL;
@@ -1255,7 +1273,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 	struct intel_crtc *crtc;
 	int i;
 
-	if (DISPLAY_VER(dev_priv) < 9)
+	if (DISPLAY_VER(display) < 9)
 		return 0;
 
 	for_each_new_intel_crtc_in_state(state, crtc, crtc_state, i) {
@@ -1274,7 +1292,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 	if (!old_bw_state)
 		return 0;
 
-	if (intel_bw_state_changed(dev_priv, old_bw_state, new_bw_state)) {
+	if (intel_bw_state_changed(display, old_bw_state, new_bw_state)) {
 		int ret = intel_atomic_lock_global_state(&new_bw_state->base);
 		if (ret)
 			return ret;
@@ -1309,7 +1327,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 	if (new_min_cdclk <= cdclk_state->bw_min_cdclk)
 		return 0;
 
-	drm_dbg_kms(&dev_priv->drm,
+	drm_dbg_kms(display->drm,
 		    "new bandwidth min cdclk (%d kHz) > old min cdclk (%d kHz)\n",
 		    new_min_cdclk, cdclk_state->bw_min_cdclk);
 	*need_cdclk_calc = true;
@@ -1319,7 +1337,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 
 static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *changed)
 {
-	struct drm_i915_private *i915 = to_i915(state->base.dev);
+	struct intel_display *display = to_intel_display(state);
 	const struct intel_crtc_state *new_crtc_state, *old_crtc_state;
 	struct intel_crtc *crtc;
 	int i;
@@ -1353,7 +1371,7 @@ static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *chan
 
 		*changed = true;
 
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "[CRTC:%d:%s] data rate %u num active planes %u\n",
 			    crtc->base.base.id, crtc->base.name,
 			    new_bw_state->data_rate[crtc->pipe],
@@ -1365,14 +1383,15 @@ static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *chan
 
 int intel_bw_atomic_check(struct intel_atomic_state *state)
 {
+	struct intel_display *display = to_intel_display(state);
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	bool changed = false;
-	struct drm_i915_private *i915 = to_i915(state->base.dev);
 	struct intel_bw_state *new_bw_state;
 	const struct intel_bw_state *old_bw_state;
 	int ret;
 
 	/* FIXME earlier gens need some checks too */
-	if (DISPLAY_VER(i915) < 11)
+	if (DISPLAY_VER(display) < 11)
 		return 0;
 
 	ret = intel_bw_check_data_rate(state, &changed);
@@ -1395,7 +1414,7 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
 	if (!changed)
 		return 0;
 
-	ret = intel_bw_check_qgv_points(i915, old_bw_state, new_bw_state);
+	ret = intel_bw_check_qgv_points(display, old_bw_state, new_bw_state);
 	if (ret)
 		return ret;
 
@@ -1407,8 +1426,8 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
 static void intel_bw_crtc_update(struct intel_bw_state *bw_state,
 				 const struct intel_crtc_state *crtc_state)
 {
+	struct intel_display *display = to_intel_display(crtc_state);
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 
 	bw_state->data_rate[crtc->pipe] =
 		intel_bw_crtc_data_rate(crtc_state);
@@ -1416,7 +1435,7 @@ static void intel_bw_crtc_update(struct intel_bw_state *bw_state,
 		intel_bw_crtc_num_active_planes(crtc_state);
 	bw_state->force_check_qgv = true;
 
-	drm_dbg_kms(&i915->drm, "pipe %c data rate %u num active planes %u\n",
+	drm_dbg_kms(display->drm, "pipe %c data rate %u num active planes %u\n",
 		    pipe_name(crtc->pipe),
 		    bw_state->data_rate[crtc->pipe],
 		    bw_state->num_active_planes[crtc->pipe]);
@@ -1499,8 +1518,8 @@ int intel_bw_init(struct drm_i915_private *i915)
 	 * Limit this only if we have SAGV. And for Display version 14 onwards
 	 * sagv is handled though pmdemand requests
 	 */
-	if (intel_has_sagv(i915) && IS_DISPLAY_VER(i915, 11, 13))
-		icl_force_disable_sagv(i915, state);
+	if (intel_has_sagv(i915) && IS_DISPLAY_VER(display, 11, 13))
+		icl_force_disable_sagv(display, state);
 
 	return 0;
 }

-- 
2.48.1


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

* [PATCH v4 2/3] drm/i915/display: Convert intel_bw.c externally to intel_display
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
  2025-03-10 18:57 ` [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display Gustavo Sousa
@ 2025-03-10 18:57 ` Gustavo Sousa
  2025-03-10 18:58 ` [PATCH v4 3/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Gustavo Sousa @ 2025-03-10 18:57 UTC (permalink / raw)
  To: intel-gfx, intel-xe
  Cc: Matt Roper, Ville Syrjälä, Jani Nikula, Gustavo Sousa

We already have internal interface for intel_bw.c converted to use
intel_display. Now convert the external interface as well.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bw.c            | 25 +++++++++-------------
 drivers/gpu/drm/i915/display/intel_bw.h            |  9 ++++----
 drivers/gpu/drm/i915/display/intel_cdclk.c         |  3 +--
 .../gpu/drm/i915/display/intel_display_driver.c    |  2 +-
 drivers/gpu/drm/i915/display/skl_watermark.c       | 10 +++++----
 drivers/gpu/drm/i915/i915_driver.c                 |  2 +-
 drivers/gpu/drm/xe/display/xe_display.c            |  2 +-
 7 files changed, 24 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 633b3ad4b6b50b6ff56483eb836ee31d5dfdecbf..629b335a00e376cba619f84344459834b70316e4 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -152,17 +152,17 @@ static bool is_sagv_enabled(struct intel_display *display, u16 points_mask)
 			      ICL_PCODE_REQ_QGV_PT_MASK);
 }
 
-int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
+int icl_pcode_restrict_qgv_points(struct intel_display *display,
 				  u32 points_mask)
 {
-	struct intel_display *display = &dev_priv->display;
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	int ret;
 
 	if (DISPLAY_VER(display) >= 14)
 		return 0;
 
 	/* bspec says to keep retrying for at least 1 ms */
-	ret = skl_pcode_request(&dev_priv->uncore, ICL_PCODE_SAGV_DE_MEM_SS_CONFIG,
+	ret = skl_pcode_request(&i915->uncore, ICL_PCODE_SAGV_DE_MEM_SS_CONFIG,
 				points_mask,
 				ICL_PCODE_REP_QGV_MASK | ADLS_PCODE_REP_PSF_MASK,
 				ICL_PCODE_REP_QGV_SAFE | ADLS_PCODE_REP_PSF_SAFE,
@@ -748,10 +748,8 @@ static unsigned int icl_qgv_bw(struct intel_display *display,
 	return display->bw.max[idx].deratedbw[qgv_point];
 }
 
-void intel_bw_init_hw(struct drm_i915_private *dev_priv)
+void intel_bw_init_hw(struct intel_display *display)
 {
-	struct intel_display *display = &dev_priv->display;
-
 	if (!HAS_DISPLAY(display))
 		return;
 
@@ -941,7 +939,6 @@ static unsigned int icl_max_bw_psf_gv_point_mask(struct intel_display *display)
 static void icl_force_disable_sagv(struct intel_display *display,
 				   struct intel_bw_state *bw_state)
 {
-	struct drm_i915_private *i915 = to_i915(display->drm);
 	unsigned int qgv_points = icl_max_bw_qgv_point_mask(display, 0);
 	unsigned int psf_points = icl_max_bw_psf_gv_point_mask(display);
 
@@ -952,7 +949,7 @@ static void icl_force_disable_sagv(struct intel_display *display,
 	drm_dbg_kms(display->drm, "Forcing SAGV disable: mask 0x%x\n",
 		    bw_state->qgv_points_mask);
 
-	icl_pcode_restrict_qgv_points(i915, bw_state->qgv_points_mask);
+	icl_pcode_restrict_qgv_points(display, bw_state->qgv_points_mask);
 }
 
 static int mtl_find_qgv_points(struct intel_display *display,
@@ -1245,10 +1242,9 @@ intel_bw_dbuf_min_cdclk(struct intel_display *display,
 	return DIV_ROUND_UP(total_max_bw, 64);
 }
 
-int intel_bw_min_cdclk(struct drm_i915_private *i915,
+int intel_bw_min_cdclk(struct intel_display *display,
 		       const struct intel_bw_state *bw_state)
 {
-	struct intel_display *display = &i915->display;
 	enum pipe pipe;
 	int min_cdclk;
 
@@ -1264,7 +1260,6 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 			    bool *need_cdclk_calc)
 {
 	struct intel_display *display = to_intel_display(state);
-	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
 	struct intel_bw_state *new_bw_state = NULL;
 	const struct intel_bw_state *old_bw_state = NULL;
 	const struct intel_cdclk_state *cdclk_state;
@@ -1298,8 +1293,8 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 			return ret;
 	}
 
-	old_min_cdclk = intel_bw_min_cdclk(dev_priv, old_bw_state);
-	new_min_cdclk = intel_bw_min_cdclk(dev_priv, new_bw_state);
+	old_min_cdclk = intel_bw_min_cdclk(display, old_bw_state);
+	new_min_cdclk = intel_bw_min_cdclk(display, new_bw_state);
 
 	/*
 	 * No need to check against the cdclk state if
@@ -1502,9 +1497,9 @@ static const struct intel_global_state_funcs intel_bw_funcs = {
 	.atomic_destroy_state = intel_bw_destroy_state,
 };
 
-int intel_bw_init(struct drm_i915_private *i915)
+int intel_bw_init(struct intel_display *display)
 {
-	struct intel_display *display = &i915->display;
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	struct intel_bw_state *state;
 
 	state = kzalloc(sizeof(*state), GFP_KERNEL);
diff --git a/drivers/gpu/drm/i915/display/intel_bw.h b/drivers/gpu/drm/i915/display/intel_bw.h
index 3313e4eac4f00dc5be0a290219c488216a2ae1f8..c18126c83d2e458daaaef0cda82be46974c5d500 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.h
+++ b/drivers/gpu/drm/i915/display/intel_bw.h
@@ -12,7 +12,6 @@
 #include "intel_display_power.h"
 #include "intel_global_state.h"
 
-struct drm_i915_private;
 struct intel_atomic_state;
 struct intel_crtc;
 struct intel_crtc_state;
@@ -72,14 +71,14 @@ intel_atomic_get_new_bw_state(struct intel_atomic_state *state);
 struct intel_bw_state *
 intel_atomic_get_bw_state(struct intel_atomic_state *state);
 
-void intel_bw_init_hw(struct drm_i915_private *dev_priv);
-int intel_bw_init(struct drm_i915_private *dev_priv);
+void intel_bw_init_hw(struct intel_display *display);
+int intel_bw_init(struct intel_display *display);
 int intel_bw_atomic_check(struct intel_atomic_state *state);
-int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
+int icl_pcode_restrict_qgv_points(struct intel_display *display,
 				  u32 points_mask);
 int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 			    bool *need_cdclk_calc);
-int intel_bw_min_cdclk(struct drm_i915_private *i915,
+int intel_bw_min_cdclk(struct intel_display *display,
 		       const struct intel_bw_state *bw_state);
 void intel_bw_update_hw_state(struct intel_display *display);
 void intel_bw_crtc_disable_noatomic(struct intel_crtc *crtc);
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 2a8749a0213e74dbd5cf5f8c94ff5e32226c45fe..984fd9f98c9f77777f903456f5838179a774af5e 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2808,7 +2808,6 @@ static int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_stat
 static int intel_compute_min_cdclk(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
-	struct drm_i915_private *dev_priv = to_i915(display->drm);
 	struct intel_cdclk_state *cdclk_state =
 		intel_atomic_get_new_cdclk_state(state);
 	const struct intel_bw_state *bw_state;
@@ -2836,7 +2835,7 @@ static int intel_compute_min_cdclk(struct intel_atomic_state *state)
 
 	bw_state = intel_atomic_get_new_bw_state(state);
 	if (bw_state) {
-		min_cdclk = intel_bw_min_cdclk(dev_priv, bw_state);
+		min_cdclk = intel_bw_min_cdclk(display, bw_state);
 
 		if (cdclk_state->bw_min_cdclk != min_cdclk) {
 			int ret;
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 31740a677dd807a5cffaad3696268e22b829b70a..5ad2f4090a2db41f984ab3dc0f64e608f0b61fb4 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -259,7 +259,7 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
 	if (ret)
 		goto cleanup_vga_client_pw_domain_dmc;
 
-	ret = intel_bw_init(i915);
+	ret = intel_bw_init(display);
 	if (ret)
 		goto cleanup_vga_client_pw_domain_dmc;
 
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 2d0de1c63308fc293e7f0f13ed6489b18928bf58..008919d4d3792ba1ff38c70418c48241aafe1796 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -249,7 +249,8 @@ static void skl_sagv_post_plane_update(struct intel_atomic_state *state)
 
 static void icl_sagv_pre_plane_update(struct intel_atomic_state *state)
 {
-	struct drm_i915_private *i915 = to_i915(state->base.dev);
+	struct intel_display *display = to_intel_display(state);
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const struct intel_bw_state *old_bw_state =
 		intel_atomic_get_old_bw_state(state);
 	const struct intel_bw_state *new_bw_state =
@@ -276,12 +277,13 @@ static void icl_sagv_pre_plane_update(struct intel_atomic_state *state)
 	 * time. Also masking should be done before updating the configuration
 	 * and unmasking afterwards.
 	 */
-	icl_pcode_restrict_qgv_points(i915, new_mask);
+	icl_pcode_restrict_qgv_points(display, new_mask);
 }
 
 static void icl_sagv_post_plane_update(struct intel_atomic_state *state)
 {
-	struct drm_i915_private *i915 = to_i915(state->base.dev);
+	struct intel_display *display = to_intel_display(state);
+	struct drm_i915_private *i915 = to_i915(display->drm);
 	const struct intel_bw_state *old_bw_state =
 		intel_atomic_get_old_bw_state(state);
 	const struct intel_bw_state *new_bw_state =
@@ -308,7 +310,7 @@ static void icl_sagv_post_plane_update(struct intel_atomic_state *state)
 	 * time. Also masking should be done before updating the configuration
 	 * and unmasking afterwards.
 	 */
-	icl_pcode_restrict_qgv_points(i915, new_mask);
+	icl_pcode_restrict_qgv_points(display, new_mask);
 }
 
 void intel_sagv_pre_plane_update(struct intel_atomic_state *state)
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index ce3cc93ea211bb8c7805d56ae5e67b371fb5fba9..6507dcfe4bf534db83c501606efaf39079fb6b68 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -578,7 +578,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
 	 */
 	intel_dram_detect(dev_priv);
 
-	intel_bw_init_hw(dev_priv);
+	intel_bw_init_hw(display);
 
 	return 0;
 
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 0b0aca7a25afd09a9dab089249f89d33dc1c06a9..7fb6028ae73c4ecb283406e953063c62e346812a 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -147,7 +147,7 @@ int xe_display_init_early(struct xe_device *xe)
 	 */
 	intel_dram_detect(xe);
 
-	intel_bw_init_hw(xe);
+	intel_bw_init_hw(display);
 
 	intel_display_device_info_runtime_init(display);
 

-- 
2.48.1


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

* [PATCH v4 3/3] drm/i915/xe3lpd: Update bandwidth parameters
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
  2025-03-10 18:57 ` [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display Gustavo Sousa
  2025-03-10 18:57 ` [PATCH v4 2/3] drm/i915/display: Convert intel_bw.c externally " Gustavo Sousa
@ 2025-03-10 18:58 ` Gustavo Sousa
  2025-03-10 20:03 ` ✓ CI.Patch_applied: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4) Patchwork
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Gustavo Sousa @ 2025-03-10 18:58 UTC (permalink / raw)
  To: intel-gfx, intel-xe
  Cc: Matt Roper, Ville Syrjälä, Jani Nikula, Gustavo Sousa

Bandwidth parameters for Xe3_LPD have been updated with respect to
previous display releases. Encode them into xe3lpd_sa_info and use that
new struct.

Bspec: 68859
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bw.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 629b335a00e376cba619f84344459834b70316e4..b673911d2fe31c0ccb0f27767f174bcb715edf7e 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -405,6 +405,13 @@ static const struct intel_sa_info xe2_hpd_sa_info = {
 	/* Other values not used by simplified algorithm */
 };
 
+static const struct intel_sa_info xe3lpd_sa_info = {
+	.deburst = 32,
+	.deprogbwlimit = 65, /* GB/s */
+	.displayrtids = 256,
+	.derating = 10,
+};
+
 static int icl_get_bw_info(struct intel_display *display, const struct intel_sa_info *sa)
 {
 	struct drm_i915_private *i915 = to_i915(display->drm);
@@ -753,7 +760,9 @@ void intel_bw_init_hw(struct intel_display *display)
 	if (!HAS_DISPLAY(display))
 		return;
 
-	if (DISPLAY_VERx100(display) >= 1401 && display->platform.dgfx)
+	if (DISPLAY_VER(display) >= 30)
+		tgl_get_bw_info(display, &xe3lpd_sa_info);
+	else if (DISPLAY_VERx100(display) >= 1401 && display->platform.dgfx)
 		xe2_hpd_get_bw_info(display, &xe2_hpd_sa_info);
 	else if (DISPLAY_VER(display) >= 14)
 		tgl_get_bw_info(display, &mtl_sa_info);

-- 
2.48.1


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

* ✓ CI.Patch_applied: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (2 preceding siblings ...)
  2025-03-10 18:58 ` [PATCH v4 3/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
@ 2025-03-10 20:03 ` Patchwork
  2025-03-10 20:03 ` ✓ CI.checkpatch: " Patchwork
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 20:03 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-xe

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144440/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: fd356d116b87 drm-tip: 2025y-03m-10d-19h-55m-02s UTC integration manifest
=== git am output follows ===
Applying: drm/i915/display: Convert intel_bw.c internally to intel_display
Applying: drm/i915/display: Convert intel_bw.c externally to intel_display
Applying: drm/i915/xe3lpd: Update bandwidth parameters



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

* ✓ CI.checkpatch: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (3 preceding siblings ...)
  2025-03-10 20:03 ` ✓ CI.Patch_applied: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4) Patchwork
@ 2025-03-10 20:03 ` Patchwork
  2025-03-10 20:04 ` ✓ CI.KUnit: " Patchwork
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 20:03 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-xe

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144440/
State : success

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
cbb4e4a079d89106c2736adc3c7de6f9dc56da07
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit e38d20f1fea0d1f0d84370c98ecaca8039eef77b
Author: Gustavo Sousa <gustavo.sousa@intel.com>
Date:   Mon Mar 10 15:58:00 2025 -0300

    drm/i915/xe3lpd: Update bandwidth parameters
    
    Bandwidth parameters for Xe3_LPD have been updated with respect to
    previous display releases. Encode them into xe3lpd_sa_info and use that
    new struct.
    
    Bspec: 68859
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
+ /mt/dim checkpatch fd356d116b876e8778d2a52820c832f95dcdd3d5 drm-intel
5ddc1feaac1b drm/i915/display: Convert intel_bw.c internally to intel_display
77e5a8fd79ab drm/i915/display: Convert intel_bw.c externally to intel_display
e38d20f1fea0 drm/i915/xe3lpd: Update bandwidth parameters



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

* ✓ CI.KUnit: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (4 preceding siblings ...)
  2025-03-10 20:03 ` ✓ CI.checkpatch: " Patchwork
@ 2025-03-10 20:04 ` Patchwork
  2025-03-10 20:21 ` ✓ CI.Build: " Patchwork
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 20:04 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-xe

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144440/
State : success

== Summary ==

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

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

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

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

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

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



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

* ✓ CI.Build: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (5 preceding siblings ...)
  2025-03-10 20:04 ` ✓ CI.KUnit: " Patchwork
@ 2025-03-10 20:21 ` Patchwork
  2025-03-10 20:23 ` ✓ CI.Hooks: " Patchwork
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 20:21 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-xe

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144440/
State : success

== Summary ==

lib/modules/6.14.0-rc6-xe+/kernel/arch/x86/events/amd/
lib/modules/6.14.0-rc6-xe+/kernel/arch/x86/events/amd/amd-uncore.ko
lib/modules/6.14.0-rc6-xe+/kernel/arch/x86/events/rapl.ko
lib/modules/6.14.0-rc6-xe+/kernel/arch/x86/kvm/
lib/modules/6.14.0-rc6-xe+/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.14.0-rc6-xe+/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.14.0-rc6-xe+/kernel/arch/x86/kvm/kvm-amd.ko
lib/modules/6.14.0-rc6-xe+/kernel/kernel/
lib/modules/6.14.0-rc6-xe+/kernel/kernel/kheaders.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/
lib/modules/6.14.0-rc6-xe+/kernel/crypto/ecrdsa_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/xcbc.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/serpent_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/aria_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/crypto_simd.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/adiantum.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/tcrypt.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/crypto_engine.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/zstd.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/asymmetric_keys/
lib/modules/6.14.0-rc6-xe+/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/des_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/xctr.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/authenc.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/sm4_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/camellia_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/sm3.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/pcrypt.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/aegis128.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/af_alg.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/algif_aead.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/cmac.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/sm3_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/aes_ti.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/chacha_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/poly1305_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/nhpoly1305.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/crc32_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/essiv.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/ccm.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/wp512.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/streebog_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/authencesn.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/echainiv.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/lrw.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/cryptd.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/crypto_user.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/algif_hash.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/polyval-generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/hctr2.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/842.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/pcbc.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/ansi_cprng.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/cast6_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/twofish_common.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/twofish_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/lz4hc.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/blowfish_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/md4.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/chacha20poly1305.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/curve25519-generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/lz4.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/rmd160.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/algif_skcipher.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/cast5_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/fcrypt.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/ecdsa_generic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/sm4.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/cast_common.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/blowfish_common.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/michael_mic.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/async_tx/
lib/modules/6.14.0-rc6-xe+/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.14.0-rc6-xe+/kernel/crypto/algif_rng.ko
lib/modules/6.14.0-rc6-xe+/kernel/block/
lib/modules/6.14.0-rc6-xe+/kernel/block/bfq.ko
lib/modules/6.14.0-rc6-xe+/kernel/block/kyber-iosched.ko
lib/modules/6.14.0-rc6-xe+/build
lib/modules/6.14.0-rc6-xe+/modules.alias.bin
lib/modules/6.14.0-rc6-xe+/modules.builtin
lib/modules/6.14.0-rc6-xe+/modules.softdep
lib/modules/6.14.0-rc6-xe+/modules.alias
lib/modules/6.14.0-rc6-xe+/modules.order
lib/modules/6.14.0-rc6-xe+/modules.symbols
lib/modules/6.14.0-rc6-xe+/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
+ echo -e '\e[0Ksection_end:1741638064:package_x86_64_nodebug\r\e[0K'
^[[0Ksection_end:1741638064:package_x86_64_nodebug
^[[0K
+ sync
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✓ CI.Hooks: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (6 preceding siblings ...)
  2025-03-10 20:21 ` ✓ CI.Build: " Patchwork
@ 2025-03-10 20:23 ` Patchwork
  2025-03-10 20:25 ` ✗ CI.checksparse: warning " Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 20:23 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-xe

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144440/
State : success

== Summary ==

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

  GEN     Makefile

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

* ✗ CI.checksparse: warning for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (7 preceding siblings ...)
  2025-03-10 20:23 ` ✓ CI.Hooks: " Patchwork
@ 2025-03-10 20:25 ` Patchwork
  2025-03-10 21:13 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 20:25 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-xe

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144440/
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 fd356d116b876e8778d2a52820c832f95dcdd3d5
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/i915/display/intel_cdclk.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:1978:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1978:24: warning: unreplaced symbol '<noident>'

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



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

* ✗ Fi.CI.SPARSE: warning for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (8 preceding siblings ...)
  2025-03-10 20:25 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-03-10 21:13 ` Patchwork
  2025-03-10 21:38 ` ✓ i915.CI.BAT: success " Patchwork
  2025-03-11  6:02 ` ✓ Xe.CI.BAT: " Patchwork
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 21:13 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144441/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:243:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:245:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:137:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:139:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'break'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'continue'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:23: warning: unreplaced symbol '___p1'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:140:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:151:1: warning: too many warnings
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:154:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'

/home/kbuild/linux/maintainer-tools/dim: line 2110: echo: write error: Broken pipe



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

* ✓ i915.CI.BAT: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (9 preceding siblings ...)
  2025-03-10 21:13 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2025-03-10 21:38 ` Patchwork
  2025-03-11  6:02 ` ✓ Xe.CI.BAT: " Patchwork
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-10 21:38 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144441/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_16259 -> Patchwork_144441v4
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (44 -> 43)
------------------------------

  Missing    (1): fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@dmabuf@all-tests@dma_fence_chain:
    - fi-bsw-n3050:       [PASS][1] -> [INCOMPLETE][2] ([i915#12904]) +1 other test incomplete
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16259/fi-bsw-n3050/igt@dmabuf@all-tests@dma_fence_chain.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144441v4/fi-bsw-n3050/igt@dmabuf@all-tests@dma_fence_chain.html

  * igt@fbdev@info:
    - fi-kbl-8809g:       NOTRUN -> [SKIP][3] ([i915#1849])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144441v4/fi-kbl-8809g/igt@fbdev@info.html

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-8809g:       NOTRUN -> [SKIP][4] ([i915#2190])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144441v4/fi-kbl-8809g/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - fi-kbl-8809g:       NOTRUN -> [SKIP][5] ([i915#4613]) +3 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144441v4/fi-kbl-8809g/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@kms_dsc@dsc-basic:
    - fi-kbl-8809g:       NOTRUN -> [SKIP][6] +34 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144441v4/fi-kbl-8809g/igt@kms_dsc@dsc-basic.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         [PASS][7] -> [SKIP][8] ([i915#9197]) +3 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16259/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144441v4/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  
  [i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
  [i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197


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

  * Linux: CI_DRM_16259 -> Patchwork_144441v4

  CI-20190529: 20190529
  CI_DRM_16259: fd356d116b876e8778d2a52820c832f95dcdd3d5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8269: 8269
  Patchwork_144441v4: fd356d116b876e8778d2a52820c832f95dcdd3d5 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

* ✓ Xe.CI.BAT: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4)
  2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
                   ` (10 preceding siblings ...)
  2025-03-10 21:38 ` ✓ i915.CI.BAT: success " Patchwork
@ 2025-03-11  6:02 ` Patchwork
  11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-03-11  6:02 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/xe3lpd: Update bandwidth parameters (rev4)
URL   : https://patchwork.freedesktop.org/series/144440/
State : success

== Summary ==

CI Bug Log - changes from xe-2789-714f93e4c086c6e07187597bd446752f5f65b544_BAT -> xe-pw-144440v4_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (10 -> 9)
------------------------------

  Missing    (1): bat-adlp-vm 

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

  Here are the changes found in xe-pw-144440v4_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@xe_exec_basic@twice-rebind:
    - bat-adlp-vf:        [PASS][1] -> [ABORT][2] ([Intel XE#4491])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2789-714f93e4c086c6e07187597bd446752f5f65b544/bat-adlp-vf/igt@xe_exec_basic@twice-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-144440v4/bat-adlp-vf/igt@xe_exec_basic@twice-rebind.html

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


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

  * Linux: xe-2789-714f93e4c086c6e07187597bd446752f5f65b544 -> xe-pw-144440v4

  IGT_8269: 8269
  xe-2789-714f93e4c086c6e07187597bd446752f5f65b544: 714f93e4c086c6e07187597bd446752f5f65b544
  xe-pw-144440v4: 144440v4

== Logs ==

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

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

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

* Re: [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display
  2025-03-10 18:57 ` [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display Gustavo Sousa
@ 2025-03-11 16:46   ` Ville Syrjälä
  2025-03-11 16:50     ` Gustavo Sousa
  0 siblings, 1 reply; 15+ messages in thread
From: Ville Syrjälä @ 2025-03-11 16:46 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx, intel-xe, Matt Roper, Jani Nikula

On Mon, Mar 10, 2025 at 03:57:58PM -0300, Gustavo Sousa wrote:
> Update intel_bw.c internally use intel_display. Conversion of the public
> interface will come as a follow-up.
> 
> v2:
>   - Prefer intel_uncore_read() for MCHBAR registers. (Ville)
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_bw.c | 417 +++++++++++++++++---------------
>  1 file changed, 218 insertions(+), 199 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
> index 048be287224774110d94fe2944daa580d8dc20a6..633b3ad4b6b50b6ff56483eb836ee31d5dfdecbf 100644
> --- a/drivers/gpu/drm/i915/display/intel_bw.c
> +++ b/drivers/gpu/drm/i915/display/intel_bw.c
> @@ -11,6 +11,7 @@
>  #include "intel_atomic.h"
>  #include "intel_bw.h"
>  #include "intel_cdclk.h"
> +#include "intel_de.h"

Should't be necessary now?

With that sorted
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

>  #include "intel_display_core.h"
>  #include "intel_display_types.h"
>  #include "skl_watermark.h"
> @@ -39,14 +40,15 @@ struct intel_qgv_info {
>  	u8 deinterleave;
>  };
>  
> -static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
> +static int dg1_mchbar_read_qgv_point_info(struct intel_display *display,
>  					  struct intel_qgv_point *sp,
>  					  int point)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	u32 dclk_ratio, dclk_reference;
>  	u32 val;
>  
> -	val = intel_uncore_read(&dev_priv->uncore, SA_PERF_STATUS_0_0_0_MCHBAR_PC);
> +	val = intel_uncore_read(&i915->uncore, SA_PERF_STATUS_0_0_0_MCHBAR_PC);
>  	dclk_ratio = REG_FIELD_GET(DG1_QCLK_RATIO_MASK, val);
>  	if (val & DG1_QCLK_REFERENCE)
>  		dclk_reference = 6; /* 6 * 16.666 MHz = 100 MHz */
> @@ -54,18 +56,18 @@ static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
>  		dclk_reference = 8; /* 8 * 16.666 MHz = 133 MHz */
>  	sp->dclk = DIV_ROUND_UP((16667 * dclk_ratio * dclk_reference) + 500, 1000);
>  
> -	val = intel_uncore_read(&dev_priv->uncore, SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU);
> +	val = intel_uncore_read(&i915->uncore, SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU);
>  	if (val & DG1_GEAR_TYPE)
>  		sp->dclk *= 2;
>  
>  	if (sp->dclk == 0)
>  		return -EINVAL;
>  
> -	val = intel_uncore_read(&dev_priv->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR);
> +	val = intel_uncore_read(&i915->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR);
>  	sp->t_rp = REG_FIELD_GET(DG1_DRAM_T_RP_MASK, val);
>  	sp->t_rdpre = REG_FIELD_GET(DG1_DRAM_T_RDPRE_MASK, val);
>  
> -	val = intel_uncore_read(&dev_priv->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR_HIGH);
> +	val = intel_uncore_read(&i915->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR_HIGH);
>  	sp->t_rcd = REG_FIELD_GET(DG1_DRAM_T_RCD_MASK, val);
>  	sp->t_ras = REG_FIELD_GET(DG1_DRAM_T_RAS_MASK, val);
>  
> @@ -74,22 +76,23 @@ static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
>  	return 0;
>  }
>  
> -static int icl_pcode_read_qgv_point_info(struct drm_i915_private *dev_priv,
> +static int icl_pcode_read_qgv_point_info(struct intel_display *display,
>  					 struct intel_qgv_point *sp,
>  					 int point)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	u32 val = 0, val2 = 0;
>  	u16 dclk;
>  	int ret;
>  
> -	ret = snb_pcode_read(&dev_priv->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
> +	ret = snb_pcode_read(&i915->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
>  			     ICL_PCODE_MEM_SS_READ_QGV_POINT_INFO(point),
>  			     &val, &val2);
>  	if (ret)
>  		return ret;
>  
>  	dclk = val & 0xffff;
> -	sp->dclk = DIV_ROUND_UP((16667 * dclk) + (DISPLAY_VER(dev_priv) >= 12 ? 500 : 0),
> +	sp->dclk = DIV_ROUND_UP((16667 * dclk) + (DISPLAY_VER(display) >= 12 ? 500 : 0),
>  				1000);
>  	sp->t_rp = (val & 0xff0000) >> 16;
>  	sp->t_rcd = (val & 0xff000000) >> 24;
> @@ -102,14 +105,15 @@ static int icl_pcode_read_qgv_point_info(struct drm_i915_private *dev_priv,
>  	return 0;
>  }
>  
> -static int adls_pcode_read_psf_gv_point_info(struct drm_i915_private *dev_priv,
> -					    struct intel_psf_gv_point *points)
> +static int adls_pcode_read_psf_gv_point_info(struct intel_display *display,
> +					     struct intel_psf_gv_point *points)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	u32 val = 0;
>  	int ret;
>  	int i;
>  
> -	ret = snb_pcode_read(&dev_priv->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
> +	ret = snb_pcode_read(&i915->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
>  			     ADL_PCODE_MEM_SS_READ_PSF_GV_INFO, &val, NULL);
>  	if (ret)
>  		return ret;
> @@ -122,10 +126,10 @@ static int adls_pcode_read_psf_gv_point_info(struct drm_i915_private *dev_priv,
>  	return 0;
>  }
>  
> -static u16 icl_qgv_points_mask(struct drm_i915_private *i915)
> +static u16 icl_qgv_points_mask(struct intel_display *display)
>  {
> -	unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
> -	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
> +	unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
> +	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>  	u16 qgv_points = 0, psf_points = 0;
>  
>  	/*
> @@ -142,18 +146,19 @@ static u16 icl_qgv_points_mask(struct drm_i915_private *i915)
>  	return ICL_PCODE_REQ_QGV_PT(qgv_points) | ADLS_PCODE_REQ_PSF_PT(psf_points);
>  }
>  
> -static bool is_sagv_enabled(struct drm_i915_private *i915, u16 points_mask)
> +static bool is_sagv_enabled(struct intel_display *display, u16 points_mask)
>  {
> -	return !is_power_of_2(~points_mask & icl_qgv_points_mask(i915) &
> +	return !is_power_of_2(~points_mask & icl_qgv_points_mask(display) &
>  			      ICL_PCODE_REQ_QGV_PT_MASK);
>  }
>  
>  int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
>  				  u32 points_mask)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	int ret;
>  
> -	if (DISPLAY_VER(dev_priv) >= 14)
> +	if (DISPLAY_VER(display) >= 14)
>  		return 0;
>  
>  	/* bspec says to keep retrying for at least 1 ms */
> @@ -164,27 +169,28 @@ int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
>  				1);
>  
>  	if (ret < 0) {
> -		drm_err(&dev_priv->drm,
> +		drm_err(display->drm,
>  			"Failed to disable qgv points (0x%x) points: 0x%x\n",
>  			ret, points_mask);
>  		return ret;
>  	}
>  
> -	dev_priv->display.sagv.status = is_sagv_enabled(dev_priv, points_mask) ?
> +	display->sagv.status = is_sagv_enabled(display, points_mask) ?
>  		I915_SAGV_ENABLED : I915_SAGV_DISABLED;
>  
>  	return 0;
>  }
>  
> -static int mtl_read_qgv_point_info(struct drm_i915_private *dev_priv,
> +static int mtl_read_qgv_point_info(struct intel_display *display,
>  				   struct intel_qgv_point *sp, int point)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	u32 val, val2;
>  	u16 dclk;
>  
> -	val = intel_uncore_read(&dev_priv->uncore,
> +	val = intel_uncore_read(&i915->uncore,
>  				MTL_MEM_SS_INFO_QGV_POINT_LOW(point));
> -	val2 = intel_uncore_read(&dev_priv->uncore,
> +	val2 = intel_uncore_read(&i915->uncore,
>  				 MTL_MEM_SS_INFO_QGV_POINT_HIGH(point));
>  	dclk = REG_FIELD_GET(MTL_DCLK_MASK, val);
>  	sp->dclk = DIV_ROUND_CLOSEST(16667 * dclk, 1000);
> @@ -200,29 +206,30 @@ static int mtl_read_qgv_point_info(struct drm_i915_private *dev_priv,
>  }
>  
>  static int
> -intel_read_qgv_point_info(struct drm_i915_private *dev_priv,
> +intel_read_qgv_point_info(struct intel_display *display,
>  			  struct intel_qgv_point *sp,
>  			  int point)
>  {
> -	if (DISPLAY_VER(dev_priv) >= 14)
> -		return mtl_read_qgv_point_info(dev_priv, sp, point);
> -	else if (IS_DG1(dev_priv))
> -		return dg1_mchbar_read_qgv_point_info(dev_priv, sp, point);
> +	if (DISPLAY_VER(display) >= 14)
> +		return mtl_read_qgv_point_info(display, sp, point);
> +	else if (display->platform.dg1)
> +		return dg1_mchbar_read_qgv_point_info(display, sp, point);
>  	else
> -		return icl_pcode_read_qgv_point_info(dev_priv, sp, point);
> +		return icl_pcode_read_qgv_point_info(display, sp, point);
>  }
>  
> -static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
> +static int icl_get_qgv_points(struct intel_display *display,
>  			      struct intel_qgv_info *qi,
>  			      bool is_y_tile)
>  {
> -	const struct dram_info *dram_info = &dev_priv->dram_info;
> +	struct drm_i915_private *i915 = to_i915(display->drm);
> +	const struct dram_info *dram_info = &i915->dram_info;
>  	int i, ret;
>  
>  	qi->num_points = dram_info->num_qgv_points;
>  	qi->num_psf_points = dram_info->num_psf_gv_points;
>  
> -	if (DISPLAY_VER(dev_priv) >= 14) {
> +	if (DISPLAY_VER(display) >= 14) {
>  		switch (dram_info->type) {
>  		case INTEL_DRAM_DDR4:
>  			qi->t_bl = 4;
> @@ -250,7 +257,7 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
>  			MISSING_CASE(dram_info->type);
>  			return -EINVAL;
>  		}
> -	} else if (DISPLAY_VER(dev_priv) >= 12) {
> +	} else if (DISPLAY_VER(display) >= 12) {
>  		switch (dram_info->type) {
>  		case INTEL_DRAM_DDR4:
>  			qi->t_bl = is_y_tile ? 8 : 4;
> @@ -265,7 +272,7 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
>  			qi->deinterleave = is_y_tile ? 1 : 2;
>  			break;
>  		case INTEL_DRAM_LPDDR4:
> -			if (IS_ROCKETLAKE(dev_priv)) {
> +			if (display->platform.rocketlake) {
>  				qi->t_bl = 8;
>  				qi->max_numchannels = 4;
>  				qi->channel_width = 32;
> @@ -284,39 +291,39 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
>  			qi->max_numchannels = 1;
>  			break;
>  		}
> -	} else if (DISPLAY_VER(dev_priv) == 11) {
> -		qi->t_bl = dev_priv->dram_info.type == INTEL_DRAM_DDR4 ? 4 : 8;
> +	} else if (DISPLAY_VER(display) == 11) {
> +		qi->t_bl = dram_info->type == INTEL_DRAM_DDR4 ? 4 : 8;
>  		qi->max_numchannels = 1;
>  	}
>  
> -	if (drm_WARN_ON(&dev_priv->drm,
> +	if (drm_WARN_ON(display->drm,
>  			qi->num_points > ARRAY_SIZE(qi->points)))
>  		qi->num_points = ARRAY_SIZE(qi->points);
>  
>  	for (i = 0; i < qi->num_points; i++) {
>  		struct intel_qgv_point *sp = &qi->points[i];
>  
> -		ret = intel_read_qgv_point_info(dev_priv, sp, i);
> +		ret = intel_read_qgv_point_info(display, sp, i);
>  		if (ret) {
> -			drm_dbg_kms(&dev_priv->drm, "Could not read QGV %d info\n", i);
> +			drm_dbg_kms(display->drm, "Could not read QGV %d info\n", i);
>  			return ret;
>  		}
>  
> -		drm_dbg_kms(&dev_priv->drm,
> +		drm_dbg_kms(display->drm,
>  			    "QGV %d: DCLK=%d tRP=%d tRDPRE=%d tRAS=%d tRCD=%d tRC=%d\n",
>  			    i, sp->dclk, sp->t_rp, sp->t_rdpre, sp->t_ras,
>  			    sp->t_rcd, sp->t_rc);
>  	}
>  
>  	if (qi->num_psf_points > 0) {
> -		ret = adls_pcode_read_psf_gv_point_info(dev_priv, qi->psf_points);
> +		ret = adls_pcode_read_psf_gv_point_info(display, qi->psf_points);
>  		if (ret) {
> -			drm_err(&dev_priv->drm, "Failed to read PSF point data; PSF points will not be considered in bandwidth calculations.\n");
> +			drm_err(display->drm, "Failed to read PSF point data; PSF points will not be considered in bandwidth calculations.\n");
>  			qi->num_psf_points = 0;
>  		}
>  
>  		for (i = 0; i < qi->num_psf_points; i++)
> -			drm_dbg_kms(&dev_priv->drm,
> +			drm_dbg_kms(display->drm,
>  				    "PSF GV %d: CLK=%d \n",
>  				    i, qi->psf_points[i].clk);
>  	}
> @@ -398,20 +405,21 @@ static const struct intel_sa_info xe2_hpd_sa_info = {
>  	/* Other values not used by simplified algorithm */
>  };
>  
> -static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel_sa_info *sa)
> +static int icl_get_bw_info(struct intel_display *display, const struct intel_sa_info *sa)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	struct intel_qgv_info qi = {};
>  	bool is_y_tile = true; /* assume y tile may be used */
> -	int num_channels = max_t(u8, 1, dev_priv->dram_info.num_channels);
> +	int num_channels = max_t(u8, 1, i915->dram_info.num_channels);
>  	int ipqdepth, ipqdepthpch = 16;
>  	int dclk_max;
>  	int maxdebw;
> -	int num_groups = ARRAY_SIZE(dev_priv->display.bw.max);
> +	int num_groups = ARRAY_SIZE(display->bw.max);
>  	int i, ret;
>  
> -	ret = icl_get_qgv_points(dev_priv, &qi, is_y_tile);
> +	ret = icl_get_qgv_points(display, &qi, is_y_tile);
>  	if (ret) {
> -		drm_dbg_kms(&dev_priv->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Failed to get memory subsystem information, ignoring bandwidth limits");
>  		return ret;
>  	}
> @@ -422,7 +430,7 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  	qi.deinterleave = DIV_ROUND_UP(num_channels, is_y_tile ? 4 : 2);
>  
>  	for (i = 0; i < num_groups; i++) {
> -		struct intel_bw_info *bi = &dev_priv->display.bw.max[i];
> +		struct intel_bw_info *bi = &display->bw.max[i];
>  		int clpchgroup;
>  		int j;
>  
> @@ -449,7 +457,7 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  			bi->deratedbw[j] = min(maxdebw,
>  					       bw * (100 - sa->derating) / 100);
>  
> -			drm_dbg_kms(&dev_priv->drm,
> +			drm_dbg_kms(display->drm,
>  				    "BW%d / QGV %d: num_planes=%d deratedbw=%u\n",
>  				    i, j, bi->num_planes, bi->deratedbw[j]);
>  		}
> @@ -460,44 +468,45 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  	 * as it will fail and pointless anyway.
>  	 */
>  	if (qi.num_points == 1)
> -		dev_priv->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
> +		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
>  	else
> -		dev_priv->display.sagv.status = I915_SAGV_ENABLED;
> +		display->sagv.status = I915_SAGV_ENABLED;
>  
>  	return 0;
>  }
>  
> -static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel_sa_info *sa)
> +static int tgl_get_bw_info(struct intel_display *display, const struct intel_sa_info *sa)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	struct intel_qgv_info qi = {};
> -	const struct dram_info *dram_info = &dev_priv->dram_info;
> +	const struct dram_info *dram_info = &i915->dram_info;
>  	bool is_y_tile = true; /* assume y tile may be used */
> -	int num_channels = max_t(u8, 1, dev_priv->dram_info.num_channels);
> +	int num_channels = max_t(u8, 1, dram_info->num_channels);
>  	int ipqdepth, ipqdepthpch = 16;
>  	int dclk_max;
>  	int maxdebw, peakbw;
>  	int clperchgroup;
> -	int num_groups = ARRAY_SIZE(dev_priv->display.bw.max);
> +	int num_groups = ARRAY_SIZE(display->bw.max);
>  	int i, ret;
>  
> -	ret = icl_get_qgv_points(dev_priv, &qi, is_y_tile);
> +	ret = icl_get_qgv_points(display, &qi, is_y_tile);
>  	if (ret) {
> -		drm_dbg_kms(&dev_priv->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Failed to get memory subsystem information, ignoring bandwidth limits");
>  		return ret;
>  	}
>  
> -	if (DISPLAY_VER(dev_priv) < 14 &&
> +	if (DISPLAY_VER(display) < 14 &&
>  	    (dram_info->type == INTEL_DRAM_LPDDR4 || dram_info->type == INTEL_DRAM_LPDDR5))
>  		num_channels *= 2;
>  
>  	qi.deinterleave = qi.deinterleave ? : DIV_ROUND_UP(num_channels, is_y_tile ? 4 : 2);
>  
> -	if (num_channels < qi.max_numchannels && DISPLAY_VER(dev_priv) >= 12)
> +	if (num_channels < qi.max_numchannels && DISPLAY_VER(display) >= 12)
>  		qi.deinterleave = max(DIV_ROUND_UP(qi.deinterleave, 2), 1);
>  
> -	if (DISPLAY_VER(dev_priv) >= 12 && num_channels > qi.max_numchannels)
> -		drm_warn(&dev_priv->drm, "Number of channels exceeds max number of channels.");
> +	if (DISPLAY_VER(display) >= 12 && num_channels > qi.max_numchannels)
> +		drm_warn(display->drm, "Number of channels exceeds max number of channels.");
>  	if (qi.max_numchannels != 0)
>  		num_channels = min_t(u8, num_channels, qi.max_numchannels);
>  
> @@ -514,7 +523,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  	clperchgroup = 4 * DIV_ROUND_UP(8, num_channels) * qi.deinterleave;
>  
>  	for (i = 0; i < num_groups; i++) {
> -		struct intel_bw_info *bi = &dev_priv->display.bw.max[i];
> +		struct intel_bw_info *bi = &display->bw.max[i];
>  		struct intel_bw_info *bi_next;
>  		int clpchgroup;
>  		int j;
> @@ -522,7 +531,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  		clpchgroup = (sa->deburst * qi.deinterleave / num_channels) << i;
>  
>  		if (i < num_groups - 1) {
> -			bi_next = &dev_priv->display.bw.max[i + 1];
> +			bi_next = &display->bw.max[i + 1];
>  
>  			if (clpchgroup < clperchgroup)
>  				bi_next->num_planes = (ipqdepth - clpchgroup) /
> @@ -554,7 +563,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  							  num_channels *
>  							  qi.channel_width, 8);
>  
> -			drm_dbg_kms(&dev_priv->drm,
> +			drm_dbg_kms(display->drm,
>  				    "BW%d / QGV %d: num_planes=%d deratedbw=%u peakbw: %u\n",
>  				    i, j, bi->num_planes, bi->deratedbw[j],
>  				    bi->peakbw[j]);
> @@ -565,7 +574,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  
>  			bi->psf_bw[j] = adl_calc_psf_bw(sp->clk);
>  
> -			drm_dbg_kms(&dev_priv->drm,
> +			drm_dbg_kms(display->drm,
>  				    "BW%d / PSF GV %d: num_planes=%d bw=%u\n",
>  				    i, j, bi->num_planes, bi->psf_bw[j]);
>  		}
> @@ -577,17 +586,17 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>  	 * as it will fail and pointless anyway.
>  	 */
>  	if (qi.num_points == 1)
> -		dev_priv->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
> +		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
>  	else
> -		dev_priv->display.sagv.status = I915_SAGV_ENABLED;
> +		display->sagv.status = I915_SAGV_ENABLED;
>  
>  	return 0;
>  }
>  
> -static void dg2_get_bw_info(struct drm_i915_private *i915)
> +static void dg2_get_bw_info(struct intel_display *display)
>  {
> -	unsigned int deratedbw = IS_DG2_G11(i915) ? 38000 : 50000;
> -	int num_groups = ARRAY_SIZE(i915->display.bw.max);
> +	unsigned int deratedbw = display->platform.dg2_g11 ? 38000 : 50000;
> +	int num_groups = ARRAY_SIZE(display->bw.max);
>  	int i;
>  
>  	/*
> @@ -598,7 +607,7 @@ static void dg2_get_bw_info(struct drm_i915_private *i915)
>  	 * whereas DG2-G11 platforms have 38 GB/s.
>  	 */
>  	for (i = 0; i < num_groups; i++) {
> -		struct intel_bw_info *bi = &i915->display.bw.max[i];
> +		struct intel_bw_info *bi = &display->bw.max[i];
>  
>  		bi->num_planes = 1;
>  		/* Need only one dummy QGV point per group */
> @@ -606,20 +615,21 @@ static void dg2_get_bw_info(struct drm_i915_private *i915)
>  		bi->deratedbw[0] = deratedbw;
>  	}
>  
> -	i915->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
> +	display->sagv.status = I915_SAGV_NOT_CONTROLLED;
>  }
>  
> -static int xe2_hpd_get_bw_info(struct drm_i915_private *i915,
> +static int xe2_hpd_get_bw_info(struct intel_display *display,
>  			       const struct intel_sa_info *sa)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	struct intel_qgv_info qi = {};
>  	int num_channels = i915->dram_info.num_channels;
>  	int peakbw, maxdebw;
>  	int ret, i;
>  
> -	ret = icl_get_qgv_points(i915, &qi, true);
> +	ret = icl_get_qgv_points(display, &qi, true);
>  	if (ret) {
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "Failed to get memory subsystem information, ignoring bandwidth limits");
>  		return ret;
>  	}
> @@ -631,33 +641,33 @@ static int xe2_hpd_get_bw_info(struct drm_i915_private *i915,
>  		const struct intel_qgv_point *point = &qi.points[i];
>  		int bw = num_channels * (qi.channel_width / 8) * point->dclk;
>  
> -		i915->display.bw.max[0].deratedbw[i] =
> +		display->bw.max[0].deratedbw[i] =
>  			min(maxdebw, (100 - sa->derating) * bw / 100);
> -		i915->display.bw.max[0].peakbw[i] = bw;
> +		display->bw.max[0].peakbw[i] = bw;
>  
> -		drm_dbg_kms(&i915->drm, "QGV %d: deratedbw=%u peakbw: %u\n",
> -			    i, i915->display.bw.max[0].deratedbw[i],
> -			    i915->display.bw.max[0].peakbw[i]);
> +		drm_dbg_kms(display->drm, "QGV %d: deratedbw=%u peakbw: %u\n",
> +			    i, display->bw.max[0].deratedbw[i],
> +			    display->bw.max[0].peakbw[i]);
>  	}
>  
>  	/* Bandwidth does not depend on # of planes; set all groups the same */
> -	i915->display.bw.max[0].num_planes = 1;
> -	i915->display.bw.max[0].num_qgv_points = qi.num_points;
> -	for (i = 1; i < ARRAY_SIZE(i915->display.bw.max); i++)
> -		memcpy(&i915->display.bw.max[i], &i915->display.bw.max[0],
> -		       sizeof(i915->display.bw.max[0]));
> +	display->bw.max[0].num_planes = 1;
> +	display->bw.max[0].num_qgv_points = qi.num_points;
> +	for (i = 1; i < ARRAY_SIZE(display->bw.max); i++)
> +		memcpy(&display->bw.max[i], &display->bw.max[0],
> +		       sizeof(display->bw.max[0]));
>  
>  	/*
>  	 * Xe2_HPD should always have exactly two QGV points representing
>  	 * battery and plugged-in operation.
>  	 */
> -	drm_WARN_ON(&i915->drm, qi.num_points != 2);
> -	i915->display.sagv.status = I915_SAGV_ENABLED;
> +	drm_WARN_ON(display->drm, qi.num_points != 2);
> +	display->sagv.status = I915_SAGV_ENABLED;
>  
>  	return 0;
>  }
>  
> -static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
> +static unsigned int icl_max_bw_index(struct intel_display *display,
>  				     int num_planes, int qgv_point)
>  {
>  	int i;
> @@ -667,9 +677,9 @@ static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
>  	 */
>  	num_planes = max(1, num_planes);
>  
> -	for (i = 0; i < ARRAY_SIZE(dev_priv->display.bw.max); i++) {
> +	for (i = 0; i < ARRAY_SIZE(display->bw.max); i++) {
>  		const struct intel_bw_info *bi =
> -			&dev_priv->display.bw.max[i];
> +			&display->bw.max[i];
>  
>  		/*
>  		 * Pcode will not expose all QGV points when
> @@ -685,7 +695,7 @@ static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
>  	return UINT_MAX;
>  }
>  
> -static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
> +static unsigned int tgl_max_bw_index(struct intel_display *display,
>  				     int num_planes, int qgv_point)
>  {
>  	int i;
> @@ -695,9 +705,9 @@ static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
>  	 */
>  	num_planes = max(1, num_planes);
>  
> -	for (i = ARRAY_SIZE(dev_priv->display.bw.max) - 1; i >= 0; i--) {
> +	for (i = ARRAY_SIZE(display->bw.max) - 1; i >= 0; i--) {
>  		const struct intel_bw_info *bi =
> -			&dev_priv->display.bw.max[i];
> +			&display->bw.max[i];
>  
>  		/*
>  		 * Pcode will not expose all QGV points when
> @@ -713,52 +723,54 @@ static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
>  	return 0;
>  }
>  
> -static unsigned int adl_psf_bw(struct drm_i915_private *dev_priv,
> +static unsigned int adl_psf_bw(struct intel_display *display,
>  			       int psf_gv_point)
>  {
>  	const struct intel_bw_info *bi =
> -			&dev_priv->display.bw.max[0];
> +			&display->bw.max[0];
>  
>  	return bi->psf_bw[psf_gv_point];
>  }
>  
> -static unsigned int icl_qgv_bw(struct drm_i915_private *i915,
> +static unsigned int icl_qgv_bw(struct intel_display *display,
>  			       int num_active_planes, int qgv_point)
>  {
>  	unsigned int idx;
>  
> -	if (DISPLAY_VER(i915) >= 12)
> -		idx = tgl_max_bw_index(i915, num_active_planes, qgv_point);
> +	if (DISPLAY_VER(display) >= 12)
> +		idx = tgl_max_bw_index(display, num_active_planes, qgv_point);
>  	else
> -		idx = icl_max_bw_index(i915, num_active_planes, qgv_point);
> +		idx = icl_max_bw_index(display, num_active_planes, qgv_point);
>  
> -	if (idx >= ARRAY_SIZE(i915->display.bw.max))
> +	if (idx >= ARRAY_SIZE(display->bw.max))
>  		return 0;
>  
> -	return i915->display.bw.max[idx].deratedbw[qgv_point];
> +	return display->bw.max[idx].deratedbw[qgv_point];
>  }
>  
>  void intel_bw_init_hw(struct drm_i915_private *dev_priv)
>  {
> -	if (!HAS_DISPLAY(dev_priv))
> +	struct intel_display *display = &dev_priv->display;
> +
> +	if (!HAS_DISPLAY(display))
>  		return;
>  
> -	if (DISPLAY_VERx100(dev_priv) >= 1401 && IS_DGFX(dev_priv))
> -		xe2_hpd_get_bw_info(dev_priv, &xe2_hpd_sa_info);
> -	else if (DISPLAY_VER(dev_priv) >= 14)
> -		tgl_get_bw_info(dev_priv, &mtl_sa_info);
> -	else if (IS_DG2(dev_priv))
> -		dg2_get_bw_info(dev_priv);
> -	else if (IS_ALDERLAKE_P(dev_priv))
> -		tgl_get_bw_info(dev_priv, &adlp_sa_info);
> -	else if (IS_ALDERLAKE_S(dev_priv))
> -		tgl_get_bw_info(dev_priv, &adls_sa_info);
> -	else if (IS_ROCKETLAKE(dev_priv))
> -		tgl_get_bw_info(dev_priv, &rkl_sa_info);
> -	else if (DISPLAY_VER(dev_priv) == 12)
> -		tgl_get_bw_info(dev_priv, &tgl_sa_info);
> -	else if (DISPLAY_VER(dev_priv) == 11)
> -		icl_get_bw_info(dev_priv, &icl_sa_info);
> +	if (DISPLAY_VERx100(display) >= 1401 && display->platform.dgfx)
> +		xe2_hpd_get_bw_info(display, &xe2_hpd_sa_info);
> +	else if (DISPLAY_VER(display) >= 14)
> +		tgl_get_bw_info(display, &mtl_sa_info);
> +	else if (display->platform.dg2)
> +		dg2_get_bw_info(display);
> +	else if (display->platform.alderlake_p)
> +		tgl_get_bw_info(display, &adlp_sa_info);
> +	else if (display->platform.alderlake_s)
> +		tgl_get_bw_info(display, &adls_sa_info);
> +	else if (display->platform.rocketlake)
> +		tgl_get_bw_info(display, &rkl_sa_info);
> +	else if (DISPLAY_VER(display) == 12)
> +		tgl_get_bw_info(display, &tgl_sa_info);
> +	else if (DISPLAY_VER(display) == 11)
> +		icl_get_bw_info(display, &icl_sa_info);
>  }
>  
>  static unsigned int intel_bw_crtc_num_active_planes(const struct intel_crtc_state *crtc_state)
> @@ -772,8 +784,8 @@ static unsigned int intel_bw_crtc_num_active_planes(const struct intel_crtc_stat
>  
>  static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_state)
>  {
> +	struct intel_display *display = to_intel_display(crtc_state);
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	unsigned int data_rate = 0;
>  	enum plane_id plane_id;
>  
> @@ -787,7 +799,7 @@ static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_
>  
>  		data_rate += crtc_state->data_rate[plane_id];
>  
> -		if (DISPLAY_VER(i915) < 11)
> +		if (DISPLAY_VER(display) < 11)
>  			data_rate += crtc_state->data_rate_y[plane_id];
>  	}
>  
> @@ -797,37 +809,37 @@ static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_
>  /* "Maximum Pipe Read Bandwidth" */
>  static int intel_bw_crtc_min_cdclk(const struct intel_crtc_state *crtc_state)
>  {
> -	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct intel_display *display = to_intel_display(crtc_state);
>  
> -	if (DISPLAY_VER(i915) < 12)
> +	if (DISPLAY_VER(display) < 12)
>  		return 0;
>  
>  	return DIV_ROUND_UP_ULL(mul_u32_u32(intel_bw_crtc_data_rate(crtc_state), 10), 512);
>  }
>  
> -static unsigned int intel_bw_num_active_planes(struct drm_i915_private *dev_priv,
> +static unsigned int intel_bw_num_active_planes(struct intel_display *display,
>  					       const struct intel_bw_state *bw_state)
>  {
>  	unsigned int num_active_planes = 0;
>  	enum pipe pipe;
>  
> -	for_each_pipe(dev_priv, pipe)
> +	for_each_pipe(display, pipe)
>  		num_active_planes += bw_state->num_active_planes[pipe];
>  
>  	return num_active_planes;
>  }
>  
> -static unsigned int intel_bw_data_rate(struct drm_i915_private *dev_priv,
> +static unsigned int intel_bw_data_rate(struct intel_display *display,
>  				       const struct intel_bw_state *bw_state)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	unsigned int data_rate = 0;
>  	enum pipe pipe;
>  
> -	for_each_pipe(dev_priv, pipe)
> +	for_each_pipe(display, pipe)
>  		data_rate += bw_state->data_rate[pipe];
>  
> -	if (DISPLAY_VER(dev_priv) >= 13 && i915_vtd_active(dev_priv))
> +	if (DISPLAY_VER(display) >= 13 && i915_vtd_active(i915))
>  		data_rate = DIV_ROUND_UP(data_rate * 105, 100);
>  
>  	return data_rate;
> @@ -836,10 +848,10 @@ static unsigned int intel_bw_data_rate(struct drm_i915_private *dev_priv,
>  struct intel_bw_state *
>  intel_atomic_get_old_bw_state(struct intel_atomic_state *state)
>  {
> -	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
> +	struct intel_display *display = to_intel_display(state);
>  	struct intel_global_state *bw_state;
>  
> -	bw_state = intel_atomic_get_old_global_obj_state(state, &dev_priv->display.bw.obj);
> +	bw_state = intel_atomic_get_old_global_obj_state(state, &display->bw.obj);
>  
>  	return to_intel_bw_state(bw_state);
>  }
> @@ -847,10 +859,10 @@ intel_atomic_get_old_bw_state(struct intel_atomic_state *state)
>  struct intel_bw_state *
>  intel_atomic_get_new_bw_state(struct intel_atomic_state *state)
>  {
> -	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
> +	struct intel_display *display = to_intel_display(state);
>  	struct intel_global_state *bw_state;
>  
> -	bw_state = intel_atomic_get_new_global_obj_state(state, &dev_priv->display.bw.obj);
> +	bw_state = intel_atomic_get_new_global_obj_state(state, &display->bw.obj);
>  
>  	return to_intel_bw_state(bw_state);
>  }
> @@ -858,27 +870,27 @@ intel_atomic_get_new_bw_state(struct intel_atomic_state *state)
>  struct intel_bw_state *
>  intel_atomic_get_bw_state(struct intel_atomic_state *state)
>  {
> -	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
> +	struct intel_display *display = to_intel_display(state);
>  	struct intel_global_state *bw_state;
>  
> -	bw_state = intel_atomic_get_global_obj_state(state, &dev_priv->display.bw.obj);
> +	bw_state = intel_atomic_get_global_obj_state(state, &display->bw.obj);
>  	if (IS_ERR(bw_state))
>  		return ERR_CAST(bw_state);
>  
>  	return to_intel_bw_state(bw_state);
>  }
>  
> -static unsigned int icl_max_bw_qgv_point_mask(struct drm_i915_private *i915,
> +static unsigned int icl_max_bw_qgv_point_mask(struct intel_display *display,
>  					      int num_active_planes)
>  {
> -	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
> +	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>  	unsigned int max_bw_point = 0;
>  	unsigned int max_bw = 0;
>  	int i;
>  
>  	for (i = 0; i < num_qgv_points; i++) {
>  		unsigned int max_data_rate =
> -			icl_qgv_bw(i915, num_active_planes, i);
> +			icl_qgv_bw(display, num_active_planes, i);
>  
>  		/*
>  		 * We need to know which qgv point gives us
> @@ -897,23 +909,23 @@ static unsigned int icl_max_bw_qgv_point_mask(struct drm_i915_private *i915,
>  	return max_bw_point;
>  }
>  
> -static u16 icl_prepare_qgv_points_mask(struct drm_i915_private *i915,
> +static u16 icl_prepare_qgv_points_mask(struct intel_display *display,
>  				       unsigned int qgv_points,
>  				       unsigned int psf_points)
>  {
>  	return ~(ICL_PCODE_REQ_QGV_PT(qgv_points) |
> -		 ADLS_PCODE_REQ_PSF_PT(psf_points)) & icl_qgv_points_mask(i915);
> +		 ADLS_PCODE_REQ_PSF_PT(psf_points)) & icl_qgv_points_mask(display);
>  }
>  
> -static unsigned int icl_max_bw_psf_gv_point_mask(struct drm_i915_private *i915)
> +static unsigned int icl_max_bw_psf_gv_point_mask(struct intel_display *display)
>  {
> -	unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
> +	unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
>  	unsigned int max_bw_point_mask = 0;
>  	unsigned int max_bw = 0;
>  	int i;
>  
>  	for (i = 0; i < num_psf_gv_points; i++) {
> -		unsigned int max_data_rate = adl_psf_bw(i915, i);
> +		unsigned int max_data_rate = adl_psf_bw(display, i);
>  
>  		if (max_data_rate > max_bw) {
>  			max_bw_point_mask = BIT(i);
> @@ -926,29 +938,31 @@ static unsigned int icl_max_bw_psf_gv_point_mask(struct drm_i915_private *i915)
>  	return max_bw_point_mask;
>  }
>  
> -static void icl_force_disable_sagv(struct drm_i915_private *i915,
> +static void icl_force_disable_sagv(struct intel_display *display,
>  				   struct intel_bw_state *bw_state)
>  {
> -	unsigned int qgv_points = icl_max_bw_qgv_point_mask(i915, 0);
> -	unsigned int psf_points = icl_max_bw_psf_gv_point_mask(i915);
> +	struct drm_i915_private *i915 = to_i915(display->drm);
> +	unsigned int qgv_points = icl_max_bw_qgv_point_mask(display, 0);
> +	unsigned int psf_points = icl_max_bw_psf_gv_point_mask(display);
>  
> -	bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(i915,
> +	bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(display,
>  								qgv_points,
>  								psf_points);
>  
> -	drm_dbg_kms(&i915->drm, "Forcing SAGV disable: mask 0x%x\n",
> +	drm_dbg_kms(display->drm, "Forcing SAGV disable: mask 0x%x\n",
>  		    bw_state->qgv_points_mask);
>  
>  	icl_pcode_restrict_qgv_points(i915, bw_state->qgv_points_mask);
>  }
>  
> -static int mtl_find_qgv_points(struct drm_i915_private *i915,
> +static int mtl_find_qgv_points(struct intel_display *display,
>  			       unsigned int data_rate,
>  			       unsigned int num_active_planes,
>  			       struct intel_bw_state *new_bw_state)
>  {
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	unsigned int best_rate = UINT_MAX;
> -	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
> +	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>  	unsigned int qgv_peak_bw  = 0;
>  	int i;
>  	int ret;
> @@ -964,7 +978,7 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>  	 */
>  	if (!intel_can_enable_sagv(i915, new_bw_state)) {
>  		new_bw_state->qgv_point_peakbw = U16_MAX;
> -		drm_dbg_kms(&i915->drm, "No SAGV, use UINT_MAX as peak bw.");
> +		drm_dbg_kms(display->drm, "No SAGV, use UINT_MAX as peak bw.");
>  		return 0;
>  	}
>  
> @@ -974,27 +988,27 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>  	 */
>  	for (i = 0; i < num_qgv_points; i++) {
>  		unsigned int bw_index =
> -			tgl_max_bw_index(i915, num_active_planes, i);
> +			tgl_max_bw_index(display, num_active_planes, i);
>  		unsigned int max_data_rate;
>  
> -		if (bw_index >= ARRAY_SIZE(i915->display.bw.max))
> +		if (bw_index >= ARRAY_SIZE(display->bw.max))
>  			continue;
>  
> -		max_data_rate = i915->display.bw.max[bw_index].deratedbw[i];
> +		max_data_rate = display->bw.max[bw_index].deratedbw[i];
>  
>  		if (max_data_rate < data_rate)
>  			continue;
>  
>  		if (max_data_rate - data_rate < best_rate) {
>  			best_rate = max_data_rate - data_rate;
> -			qgv_peak_bw = i915->display.bw.max[bw_index].peakbw[i];
> +			qgv_peak_bw = display->bw.max[bw_index].peakbw[i];
>  		}
>  
> -		drm_dbg_kms(&i915->drm, "QGV point %d: max bw %d required %d qgv_peak_bw: %d\n",
> +		drm_dbg_kms(display->drm, "QGV point %d: max bw %d required %d qgv_peak_bw: %d\n",
>  			    i, max_data_rate, data_rate, qgv_peak_bw);
>  	}
>  
> -	drm_dbg_kms(&i915->drm, "Matching peaks QGV bw: %d for required data rate: %d\n",
> +	drm_dbg_kms(display->drm, "Matching peaks QGV bw: %d for required data rate: %d\n",
>  		    qgv_peak_bw, data_rate);
>  
>  	/*
> @@ -1002,7 +1016,7 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>  	 * satisfying the required data rate is found
>  	 */
>  	if (qgv_peak_bw == 0) {
> -		drm_dbg_kms(&i915->drm, "No QGV points for bw %d for display configuration(%d active planes).\n",
> +		drm_dbg_kms(display->drm, "No QGV points for bw %d for display configuration(%d active planes).\n",
>  			    data_rate, num_active_planes);
>  		return -EINVAL;
>  	}
> @@ -1013,14 +1027,15 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>  	return 0;
>  }
>  
> -static int icl_find_qgv_points(struct drm_i915_private *i915,
> +static int icl_find_qgv_points(struct intel_display *display,
>  			       unsigned int data_rate,
>  			       unsigned int num_active_planes,
>  			       const struct intel_bw_state *old_bw_state,
>  			       struct intel_bw_state *new_bw_state)
>  {
> -	unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
> -	unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
> +	struct drm_i915_private *i915 = to_i915(display->drm);
> +	unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
> +	unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>  	u16 psf_points = 0;
>  	u16 qgv_points = 0;
>  	int i;
> @@ -1031,22 +1046,22 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>  		return ret;
>  
>  	for (i = 0; i < num_qgv_points; i++) {
> -		unsigned int max_data_rate = icl_qgv_bw(i915,
> +		unsigned int max_data_rate = icl_qgv_bw(display,
>  							num_active_planes, i);
>  		if (max_data_rate >= data_rate)
>  			qgv_points |= BIT(i);
>  
> -		drm_dbg_kms(&i915->drm, "QGV point %d: max bw %d required %d\n",
> +		drm_dbg_kms(display->drm, "QGV point %d: max bw %d required %d\n",
>  			    i, max_data_rate, data_rate);
>  	}
>  
>  	for (i = 0; i < num_psf_gv_points; i++) {
> -		unsigned int max_data_rate = adl_psf_bw(i915, i);
> +		unsigned int max_data_rate = adl_psf_bw(display, i);
>  
>  		if (max_data_rate >= data_rate)
>  			psf_points |= BIT(i);
>  
> -		drm_dbg_kms(&i915->drm, "PSF GV point %d: max bw %d"
> +		drm_dbg_kms(display->drm, "PSF GV point %d: max bw %d"
>  			    " required %d\n",
>  			    i, max_data_rate, data_rate);
>  	}
> @@ -1057,14 +1072,14 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>  	 * reasons.
>  	 */
>  	if (qgv_points == 0) {
> -		drm_dbg_kms(&i915->drm, "No QGV points provide sufficient memory"
> +		drm_dbg_kms(display->drm, "No QGV points provide sufficient memory"
>  			    " bandwidth %d for display configuration(%d active planes).\n",
>  			    data_rate, num_active_planes);
>  		return -EINVAL;
>  	}
>  
>  	if (num_psf_gv_points > 0 && psf_points == 0) {
> -		drm_dbg_kms(&i915->drm, "No PSF GV points provide sufficient memory"
> +		drm_dbg_kms(display->drm, "No PSF GV points provide sufficient memory"
>  			    " bandwidth %d for display configuration(%d active planes).\n",
>  			    data_rate, num_active_planes);
>  		return -EINVAL;
> @@ -1076,8 +1091,8 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>  	 * cause.
>  	 */
>  	if (!intel_can_enable_sagv(i915, new_bw_state)) {
> -		qgv_points = icl_max_bw_qgv_point_mask(i915, num_active_planes);
> -		drm_dbg_kms(&i915->drm, "No SAGV, using single QGV point mask 0x%x\n",
> +		qgv_points = icl_max_bw_qgv_point_mask(display, num_active_planes);
> +		drm_dbg_kms(display->drm, "No SAGV, using single QGV point mask 0x%x\n",
>  			    qgv_points);
>  	}
>  
> @@ -1085,7 +1100,7 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>  	 * We store the ones which need to be masked as that is what PCode
>  	 * actually accepts as a parameter.
>  	 */
> -	new_bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(i915,
> +	new_bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(display,
>  								    qgv_points,
>  								    psf_points);
>  	/*
> @@ -1101,38 +1116,38 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>  	return 0;
>  }
>  
> -static int intel_bw_check_qgv_points(struct drm_i915_private *i915,
> +static int intel_bw_check_qgv_points(struct intel_display *display,
>  				     const struct intel_bw_state *old_bw_state,
>  				     struct intel_bw_state *new_bw_state)
>  {
> -	unsigned int data_rate = intel_bw_data_rate(i915, new_bw_state);
> +	unsigned int data_rate = intel_bw_data_rate(display, new_bw_state);
>  	unsigned int num_active_planes =
> -			intel_bw_num_active_planes(i915, new_bw_state);
> +			intel_bw_num_active_planes(display, new_bw_state);
>  
>  	data_rate = DIV_ROUND_UP(data_rate, 1000);
>  
> -	if (DISPLAY_VER(i915) >= 14)
> -		return mtl_find_qgv_points(i915, data_rate, num_active_planes,
> +	if (DISPLAY_VER(display) >= 14)
> +		return mtl_find_qgv_points(display, data_rate, num_active_planes,
>  					   new_bw_state);
>  	else
> -		return icl_find_qgv_points(i915, data_rate, num_active_planes,
> +		return icl_find_qgv_points(display, data_rate, num_active_planes,
>  					   old_bw_state, new_bw_state);
>  }
>  
> -static bool intel_bw_state_changed(struct drm_i915_private *i915,
> +static bool intel_bw_state_changed(struct intel_display *display,
>  				   const struct intel_bw_state *old_bw_state,
>  				   const struct intel_bw_state *new_bw_state)
>  {
>  	enum pipe pipe;
>  
> -	for_each_pipe(i915, pipe) {
> +	for_each_pipe(display, pipe) {
>  		const struct intel_dbuf_bw *old_crtc_bw =
>  			&old_bw_state->dbuf_bw[pipe];
>  		const struct intel_dbuf_bw *new_crtc_bw =
>  			&new_bw_state->dbuf_bw[pipe];
>  		enum dbuf_slice slice;
>  
> -		for_each_dbuf_slice(i915, slice) {
> +		for_each_dbuf_slice(display, slice) {
>  			if (old_crtc_bw->max_bw[slice] != new_crtc_bw->max_bw[slice] ||
>  			    old_crtc_bw->active_planes[slice] != new_crtc_bw->active_planes[slice])
>  				return true;
> @@ -1151,7 +1166,8 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
>  				   const struct skl_ddb_entry *ddb,
>  				   unsigned int data_rate)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct intel_display *display = to_intel_display(crtc);
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[crtc->pipe];
>  	unsigned int dbuf_mask = skl_ddb_dbuf_slice_mask(i915, ddb);
>  	enum dbuf_slice slice;
> @@ -1160,7 +1176,7 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
>  	 * The arbiter can only really guarantee an
>  	 * equal share of the total bw to each plane.
>  	 */
> -	for_each_dbuf_slice_in_mask(i915, slice, dbuf_mask) {
> +	for_each_dbuf_slice_in_mask(display, slice, dbuf_mask) {
>  		crtc_bw->max_bw[slice] = max(crtc_bw->max_bw[slice], data_rate);
>  		crtc_bw->active_planes[slice] |= BIT(plane_id);
>  	}
> @@ -1169,8 +1185,8 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
>  static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
>  				  const struct intel_crtc_state *crtc_state)
>  {
> +	struct intel_display *display = to_intel_display(crtc_state);
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[crtc->pipe];
>  	enum plane_id plane_id;
>  
> @@ -1191,7 +1207,7 @@ static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
>  				       &crtc_state->wm.skl.plane_ddb[plane_id],
>  				       crtc_state->data_rate[plane_id]);
>  
> -		if (DISPLAY_VER(i915) < 11)
> +		if (DISPLAY_VER(display) < 11)
>  			skl_plane_calc_dbuf_bw(bw_state, crtc, plane_id,
>  					       &crtc_state->wm.skl.plane_ddb_y[plane_id],
>  					       crtc_state->data_rate[plane_id]);
> @@ -1200,13 +1216,13 @@ static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
>  
>  /* "Maximum Data Buffer Bandwidth" */
>  static int
> -intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
> +intel_bw_dbuf_min_cdclk(struct intel_display *display,
>  			const struct intel_bw_state *bw_state)
>  {
>  	unsigned int total_max_bw = 0;
>  	enum dbuf_slice slice;
>  
> -	for_each_dbuf_slice(i915, slice) {
> +	for_each_dbuf_slice(display, slice) {
>  		int num_active_planes = 0;
>  		unsigned int max_bw = 0;
>  		enum pipe pipe;
> @@ -1215,7 +1231,7 @@ intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
>  		 * The arbiter can only really guarantee an
>  		 * equal share of the total bw to each plane.
>  		 */
> -		for_each_pipe(i915, pipe) {
> +		for_each_pipe(display, pipe) {
>  			const struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[pipe];
>  
>  			max_bw = max(crtc_bw->max_bw[slice], max_bw);
> @@ -1232,12 +1248,13 @@ intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
>  int intel_bw_min_cdclk(struct drm_i915_private *i915,
>  		       const struct intel_bw_state *bw_state)
>  {
> +	struct intel_display *display = &i915->display;
>  	enum pipe pipe;
>  	int min_cdclk;
>  
> -	min_cdclk = intel_bw_dbuf_min_cdclk(i915, bw_state);
> +	min_cdclk = intel_bw_dbuf_min_cdclk(display, bw_state);
>  
> -	for_each_pipe(i915, pipe)
> +	for_each_pipe(display, pipe)
>  		min_cdclk = max(min_cdclk, bw_state->min_cdclk[pipe]);
>  
>  	return min_cdclk;
> @@ -1246,6 +1263,7 @@ int intel_bw_min_cdclk(struct drm_i915_private *i915,
>  int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>  			    bool *need_cdclk_calc)
>  {
> +	struct intel_display *display = to_intel_display(state);
>  	struct drm_i915_private *dev_priv = to_i915(state->base.dev);
>  	struct intel_bw_state *new_bw_state = NULL;
>  	const struct intel_bw_state *old_bw_state = NULL;
> @@ -1255,7 +1273,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>  	struct intel_crtc *crtc;
>  	int i;
>  
> -	if (DISPLAY_VER(dev_priv) < 9)
> +	if (DISPLAY_VER(display) < 9)
>  		return 0;
>  
>  	for_each_new_intel_crtc_in_state(state, crtc, crtc_state, i) {
> @@ -1274,7 +1292,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>  	if (!old_bw_state)
>  		return 0;
>  
> -	if (intel_bw_state_changed(dev_priv, old_bw_state, new_bw_state)) {
> +	if (intel_bw_state_changed(display, old_bw_state, new_bw_state)) {
>  		int ret = intel_atomic_lock_global_state(&new_bw_state->base);
>  		if (ret)
>  			return ret;
> @@ -1309,7 +1327,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>  	if (new_min_cdclk <= cdclk_state->bw_min_cdclk)
>  		return 0;
>  
> -	drm_dbg_kms(&dev_priv->drm,
> +	drm_dbg_kms(display->drm,
>  		    "new bandwidth min cdclk (%d kHz) > old min cdclk (%d kHz)\n",
>  		    new_min_cdclk, cdclk_state->bw_min_cdclk);
>  	*need_cdclk_calc = true;
> @@ -1319,7 +1337,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>  
>  static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *changed)
>  {
> -	struct drm_i915_private *i915 = to_i915(state->base.dev);
> +	struct intel_display *display = to_intel_display(state);
>  	const struct intel_crtc_state *new_crtc_state, *old_crtc_state;
>  	struct intel_crtc *crtc;
>  	int i;
> @@ -1353,7 +1371,7 @@ static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *chan
>  
>  		*changed = true;
>  
> -		drm_dbg_kms(&i915->drm,
> +		drm_dbg_kms(display->drm,
>  			    "[CRTC:%d:%s] data rate %u num active planes %u\n",
>  			    crtc->base.base.id, crtc->base.name,
>  			    new_bw_state->data_rate[crtc->pipe],
> @@ -1365,14 +1383,15 @@ static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *chan
>  
>  int intel_bw_atomic_check(struct intel_atomic_state *state)
>  {
> +	struct intel_display *display = to_intel_display(state);
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	bool changed = false;
> -	struct drm_i915_private *i915 = to_i915(state->base.dev);
>  	struct intel_bw_state *new_bw_state;
>  	const struct intel_bw_state *old_bw_state;
>  	int ret;
>  
>  	/* FIXME earlier gens need some checks too */
> -	if (DISPLAY_VER(i915) < 11)
> +	if (DISPLAY_VER(display) < 11)
>  		return 0;
>  
>  	ret = intel_bw_check_data_rate(state, &changed);
> @@ -1395,7 +1414,7 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
>  	if (!changed)
>  		return 0;
>  
> -	ret = intel_bw_check_qgv_points(i915, old_bw_state, new_bw_state);
> +	ret = intel_bw_check_qgv_points(display, old_bw_state, new_bw_state);
>  	if (ret)
>  		return ret;
>  
> @@ -1407,8 +1426,8 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
>  static void intel_bw_crtc_update(struct intel_bw_state *bw_state,
>  				 const struct intel_crtc_state *crtc_state)
>  {
> +	struct intel_display *display = to_intel_display(crtc_state);
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  
>  	bw_state->data_rate[crtc->pipe] =
>  		intel_bw_crtc_data_rate(crtc_state);
> @@ -1416,7 +1435,7 @@ static void intel_bw_crtc_update(struct intel_bw_state *bw_state,
>  		intel_bw_crtc_num_active_planes(crtc_state);
>  	bw_state->force_check_qgv = true;
>  
> -	drm_dbg_kms(&i915->drm, "pipe %c data rate %u num active planes %u\n",
> +	drm_dbg_kms(display->drm, "pipe %c data rate %u num active planes %u\n",
>  		    pipe_name(crtc->pipe),
>  		    bw_state->data_rate[crtc->pipe],
>  		    bw_state->num_active_planes[crtc->pipe]);
> @@ -1499,8 +1518,8 @@ int intel_bw_init(struct drm_i915_private *i915)
>  	 * Limit this only if we have SAGV. And for Display version 14 onwards
>  	 * sagv is handled though pmdemand requests
>  	 */
> -	if (intel_has_sagv(i915) && IS_DISPLAY_VER(i915, 11, 13))
> -		icl_force_disable_sagv(i915, state);
> +	if (intel_has_sagv(i915) && IS_DISPLAY_VER(display, 11, 13))
> +		icl_force_disable_sagv(display, state);
>  
>  	return 0;
>  }
> 
> -- 
> 2.48.1

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display
  2025-03-11 16:46   ` Ville Syrjälä
@ 2025-03-11 16:50     ` Gustavo Sousa
  0 siblings, 0 replies; 15+ messages in thread
From: Gustavo Sousa @ 2025-03-11 16:50 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx, intel-xe, Matt Roper, Jani Nikula

Quoting Ville Syrjälä (2025-03-11 13:46:25-03:00)
>On Mon, Mar 10, 2025 at 03:57:58PM -0300, Gustavo Sousa wrote:
>> Update intel_bw.c internally use intel_display. Conversion of the public
>> interface will come as a follow-up.
>> 
>> v2:
>>   - Prefer intel_uncore_read() for MCHBAR registers. (Ville)
>> 
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_bw.c | 417 +++++++++++++++++---------------
>>  1 file changed, 218 insertions(+), 199 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
>> index 048be287224774110d94fe2944daa580d8dc20a6..633b3ad4b6b50b6ff56483eb836ee31d5dfdecbf 100644
>> --- a/drivers/gpu/drm/i915/display/intel_bw.c
>> +++ b/drivers/gpu/drm/i915/display/intel_bw.c
>> @@ -11,6 +11,7 @@
>>  #include "intel_atomic.h"
>>  #include "intel_bw.h"
>>  #include "intel_cdclk.h"
>> +#include "intel_de.h"
>
>Should't be necessary now?

Oops... Yep.

>
>With that sorted
>Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Thanks!

--
Gustavo Sousa

>
>>  #include "intel_display_core.h"
>>  #include "intel_display_types.h"
>>  #include "skl_watermark.h"
>> @@ -39,14 +40,15 @@ struct intel_qgv_info {
>>          u8 deinterleave;
>>  };
>>  
>> -static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
>> +static int dg1_mchbar_read_qgv_point_info(struct intel_display *display,
>>                                            struct intel_qgv_point *sp,
>>                                            int point)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          u32 dclk_ratio, dclk_reference;
>>          u32 val;
>>  
>> -        val = intel_uncore_read(&dev_priv->uncore, SA_PERF_STATUS_0_0_0_MCHBAR_PC);
>> +        val = intel_uncore_read(&i915->uncore, SA_PERF_STATUS_0_0_0_MCHBAR_PC);
>>          dclk_ratio = REG_FIELD_GET(DG1_QCLK_RATIO_MASK, val);
>>          if (val & DG1_QCLK_REFERENCE)
>>                  dclk_reference = 6; /* 6 * 16.666 MHz = 100 MHz */
>> @@ -54,18 +56,18 @@ static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
>>                  dclk_reference = 8; /* 8 * 16.666 MHz = 133 MHz */
>>          sp->dclk = DIV_ROUND_UP((16667 * dclk_ratio * dclk_reference) + 500, 1000);
>>  
>> -        val = intel_uncore_read(&dev_priv->uncore, SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU);
>> +        val = intel_uncore_read(&i915->uncore, SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU);
>>          if (val & DG1_GEAR_TYPE)
>>                  sp->dclk *= 2;
>>  
>>          if (sp->dclk == 0)
>>                  return -EINVAL;
>>  
>> -        val = intel_uncore_read(&dev_priv->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR);
>> +        val = intel_uncore_read(&i915->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR);
>>          sp->t_rp = REG_FIELD_GET(DG1_DRAM_T_RP_MASK, val);
>>          sp->t_rdpre = REG_FIELD_GET(DG1_DRAM_T_RDPRE_MASK, val);
>>  
>> -        val = intel_uncore_read(&dev_priv->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR_HIGH);
>> +        val = intel_uncore_read(&i915->uncore, MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR_HIGH);
>>          sp->t_rcd = REG_FIELD_GET(DG1_DRAM_T_RCD_MASK, val);
>>          sp->t_ras = REG_FIELD_GET(DG1_DRAM_T_RAS_MASK, val);
>>  
>> @@ -74,22 +76,23 @@ static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private *dev_priv,
>>          return 0;
>>  }
>>  
>> -static int icl_pcode_read_qgv_point_info(struct drm_i915_private *dev_priv,
>> +static int icl_pcode_read_qgv_point_info(struct intel_display *display,
>>                                           struct intel_qgv_point *sp,
>>                                           int point)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          u32 val = 0, val2 = 0;
>>          u16 dclk;
>>          int ret;
>>  
>> -        ret = snb_pcode_read(&dev_priv->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
>> +        ret = snb_pcode_read(&i915->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
>>                               ICL_PCODE_MEM_SS_READ_QGV_POINT_INFO(point),
>>                               &val, &val2);
>>          if (ret)
>>                  return ret;
>>  
>>          dclk = val & 0xffff;
>> -        sp->dclk = DIV_ROUND_UP((16667 * dclk) + (DISPLAY_VER(dev_priv) >= 12 ? 500 : 0),
>> +        sp->dclk = DIV_ROUND_UP((16667 * dclk) + (DISPLAY_VER(display) >= 12 ? 500 : 0),
>>                                  1000);
>>          sp->t_rp = (val & 0xff0000) >> 16;
>>          sp->t_rcd = (val & 0xff000000) >> 24;
>> @@ -102,14 +105,15 @@ static int icl_pcode_read_qgv_point_info(struct drm_i915_private *dev_priv,
>>          return 0;
>>  }
>>  
>> -static int adls_pcode_read_psf_gv_point_info(struct drm_i915_private *dev_priv,
>> -                                            struct intel_psf_gv_point *points)
>> +static int adls_pcode_read_psf_gv_point_info(struct intel_display *display,
>> +                                             struct intel_psf_gv_point *points)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          u32 val = 0;
>>          int ret;
>>          int i;
>>  
>> -        ret = snb_pcode_read(&dev_priv->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
>> +        ret = snb_pcode_read(&i915->uncore, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
>>                               ADL_PCODE_MEM_SS_READ_PSF_GV_INFO, &val, NULL);
>>          if (ret)
>>                  return ret;
>> @@ -122,10 +126,10 @@ static int adls_pcode_read_psf_gv_point_info(struct drm_i915_private *dev_priv,
>>          return 0;
>>  }
>>  
>> -static u16 icl_qgv_points_mask(struct drm_i915_private *i915)
>> +static u16 icl_qgv_points_mask(struct intel_display *display)
>>  {
>> -        unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
>> -        unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
>> +        unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
>> +        unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>>          u16 qgv_points = 0, psf_points = 0;
>>  
>>          /*
>> @@ -142,18 +146,19 @@ static u16 icl_qgv_points_mask(struct drm_i915_private *i915)
>>          return ICL_PCODE_REQ_QGV_PT(qgv_points) | ADLS_PCODE_REQ_PSF_PT(psf_points);
>>  }
>>  
>> -static bool is_sagv_enabled(struct drm_i915_private *i915, u16 points_mask)
>> +static bool is_sagv_enabled(struct intel_display *display, u16 points_mask)
>>  {
>> -        return !is_power_of_2(~points_mask & icl_qgv_points_mask(i915) &
>> +        return !is_power_of_2(~points_mask & icl_qgv_points_mask(display) &
>>                                ICL_PCODE_REQ_QGV_PT_MASK);
>>  }
>>  
>>  int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
>>                                    u32 points_mask)
>>  {
>> +        struct intel_display *display = &dev_priv->display;
>>          int ret;
>>  
>> -        if (DISPLAY_VER(dev_priv) >= 14)
>> +        if (DISPLAY_VER(display) >= 14)
>>                  return 0;
>>  
>>          /* bspec says to keep retrying for at least 1 ms */
>> @@ -164,27 +169,28 @@ int icl_pcode_restrict_qgv_points(struct drm_i915_private *dev_priv,
>>                                  1);
>>  
>>          if (ret < 0) {
>> -                drm_err(&dev_priv->drm,
>> +                drm_err(display->drm,
>>                          "Failed to disable qgv points (0x%x) points: 0x%x\n",
>>                          ret, points_mask);
>>                  return ret;
>>          }
>>  
>> -        dev_priv->display.sagv.status = is_sagv_enabled(dev_priv, points_mask) ?
>> +        display->sagv.status = is_sagv_enabled(display, points_mask) ?
>>                  I915_SAGV_ENABLED : I915_SAGV_DISABLED;
>>  
>>          return 0;
>>  }
>>  
>> -static int mtl_read_qgv_point_info(struct drm_i915_private *dev_priv,
>> +static int mtl_read_qgv_point_info(struct intel_display *display,
>>                                     struct intel_qgv_point *sp, int point)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          u32 val, val2;
>>          u16 dclk;
>>  
>> -        val = intel_uncore_read(&dev_priv->uncore,
>> +        val = intel_uncore_read(&i915->uncore,
>>                                  MTL_MEM_SS_INFO_QGV_POINT_LOW(point));
>> -        val2 = intel_uncore_read(&dev_priv->uncore,
>> +        val2 = intel_uncore_read(&i915->uncore,
>>                                   MTL_MEM_SS_INFO_QGV_POINT_HIGH(point));
>>          dclk = REG_FIELD_GET(MTL_DCLK_MASK, val);
>>          sp->dclk = DIV_ROUND_CLOSEST(16667 * dclk, 1000);
>> @@ -200,29 +206,30 @@ static int mtl_read_qgv_point_info(struct drm_i915_private *dev_priv,
>>  }
>>  
>>  static int
>> -intel_read_qgv_point_info(struct drm_i915_private *dev_priv,
>> +intel_read_qgv_point_info(struct intel_display *display,
>>                            struct intel_qgv_point *sp,
>>                            int point)
>>  {
>> -        if (DISPLAY_VER(dev_priv) >= 14)
>> -                return mtl_read_qgv_point_info(dev_priv, sp, point);
>> -        else if (IS_DG1(dev_priv))
>> -                return dg1_mchbar_read_qgv_point_info(dev_priv, sp, point);
>> +        if (DISPLAY_VER(display) >= 14)
>> +                return mtl_read_qgv_point_info(display, sp, point);
>> +        else if (display->platform.dg1)
>> +                return dg1_mchbar_read_qgv_point_info(display, sp, point);
>>          else
>> -                return icl_pcode_read_qgv_point_info(dev_priv, sp, point);
>> +                return icl_pcode_read_qgv_point_info(display, sp, point);
>>  }
>>  
>> -static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
>> +static int icl_get_qgv_points(struct intel_display *display,
>>                                struct intel_qgv_info *qi,
>>                                bool is_y_tile)
>>  {
>> -        const struct dram_info *dram_info = &dev_priv->dram_info;
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>> +        const struct dram_info *dram_info = &i915->dram_info;
>>          int i, ret;
>>  
>>          qi->num_points = dram_info->num_qgv_points;
>>          qi->num_psf_points = dram_info->num_psf_gv_points;
>>  
>> -        if (DISPLAY_VER(dev_priv) >= 14) {
>> +        if (DISPLAY_VER(display) >= 14) {
>>                  switch (dram_info->type) {
>>                  case INTEL_DRAM_DDR4:
>>                          qi->t_bl = 4;
>> @@ -250,7 +257,7 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
>>                          MISSING_CASE(dram_info->type);
>>                          return -EINVAL;
>>                  }
>> -        } else if (DISPLAY_VER(dev_priv) >= 12) {
>> +        } else if (DISPLAY_VER(display) >= 12) {
>>                  switch (dram_info->type) {
>>                  case INTEL_DRAM_DDR4:
>>                          qi->t_bl = is_y_tile ? 8 : 4;
>> @@ -265,7 +272,7 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
>>                          qi->deinterleave = is_y_tile ? 1 : 2;
>>                          break;
>>                  case INTEL_DRAM_LPDDR4:
>> -                        if (IS_ROCKETLAKE(dev_priv)) {
>> +                        if (display->platform.rocketlake) {
>>                                  qi->t_bl = 8;
>>                                  qi->max_numchannels = 4;
>>                                  qi->channel_width = 32;
>> @@ -284,39 +291,39 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
>>                          qi->max_numchannels = 1;
>>                          break;
>>                  }
>> -        } else if (DISPLAY_VER(dev_priv) == 11) {
>> -                qi->t_bl = dev_priv->dram_info.type == INTEL_DRAM_DDR4 ? 4 : 8;
>> +        } else if (DISPLAY_VER(display) == 11) {
>> +                qi->t_bl = dram_info->type == INTEL_DRAM_DDR4 ? 4 : 8;
>>                  qi->max_numchannels = 1;
>>          }
>>  
>> -        if (drm_WARN_ON(&dev_priv->drm,
>> +        if (drm_WARN_ON(display->drm,
>>                          qi->num_points > ARRAY_SIZE(qi->points)))
>>                  qi->num_points = ARRAY_SIZE(qi->points);
>>  
>>          for (i = 0; i < qi->num_points; i++) {
>>                  struct intel_qgv_point *sp = &qi->points[i];
>>  
>> -                ret = intel_read_qgv_point_info(dev_priv, sp, i);
>> +                ret = intel_read_qgv_point_info(display, sp, i);
>>                  if (ret) {
>> -                        drm_dbg_kms(&dev_priv->drm, "Could not read QGV %d info\n", i);
>> +                        drm_dbg_kms(display->drm, "Could not read QGV %d info\n", i);
>>                          return ret;
>>                  }
>>  
>> -                drm_dbg_kms(&dev_priv->drm,
>> +                drm_dbg_kms(display->drm,
>>                              "QGV %d: DCLK=%d tRP=%d tRDPRE=%d tRAS=%d tRCD=%d tRC=%d\n",
>>                              i, sp->dclk, sp->t_rp, sp->t_rdpre, sp->t_ras,
>>                              sp->t_rcd, sp->t_rc);
>>          }
>>  
>>          if (qi->num_psf_points > 0) {
>> -                ret = adls_pcode_read_psf_gv_point_info(dev_priv, qi->psf_points);
>> +                ret = adls_pcode_read_psf_gv_point_info(display, qi->psf_points);
>>                  if (ret) {
>> -                        drm_err(&dev_priv->drm, "Failed to read PSF point data; PSF points will not be considered in bandwidth calculations.\n");
>> +                        drm_err(display->drm, "Failed to read PSF point data; PSF points will not be considered in bandwidth calculations.\n");
>>                          qi->num_psf_points = 0;
>>                  }
>>  
>>                  for (i = 0; i < qi->num_psf_points; i++)
>> -                        drm_dbg_kms(&dev_priv->drm,
>> +                        drm_dbg_kms(display->drm,
>>                                      "PSF GV %d: CLK=%d \n",
>>                                      i, qi->psf_points[i].clk);
>>          }
>> @@ -398,20 +405,21 @@ static const struct intel_sa_info xe2_hpd_sa_info = {
>>          /* Other values not used by simplified algorithm */
>>  };
>>  
>> -static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel_sa_info *sa)
>> +static int icl_get_bw_info(struct intel_display *display, const struct intel_sa_info *sa)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          struct intel_qgv_info qi = {};
>>          bool is_y_tile = true; /* assume y tile may be used */
>> -        int num_channels = max_t(u8, 1, dev_priv->dram_info.num_channels);
>> +        int num_channels = max_t(u8, 1, i915->dram_info.num_channels);
>>          int ipqdepth, ipqdepthpch = 16;
>>          int dclk_max;
>>          int maxdebw;
>> -        int num_groups = ARRAY_SIZE(dev_priv->display.bw.max);
>> +        int num_groups = ARRAY_SIZE(display->bw.max);
>>          int i, ret;
>>  
>> -        ret = icl_get_qgv_points(dev_priv, &qi, is_y_tile);
>> +        ret = icl_get_qgv_points(display, &qi, is_y_tile);
>>          if (ret) {
>> -                drm_dbg_kms(&dev_priv->drm,
>> +                drm_dbg_kms(display->drm,
>>                              "Failed to get memory subsystem information, ignoring bandwidth limits");
>>                  return ret;
>>          }
>> @@ -422,7 +430,7 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>          qi.deinterleave = DIV_ROUND_UP(num_channels, is_y_tile ? 4 : 2);
>>  
>>          for (i = 0; i < num_groups; i++) {
>> -                struct intel_bw_info *bi = &dev_priv->display.bw.max[i];
>> +                struct intel_bw_info *bi = &display->bw.max[i];
>>                  int clpchgroup;
>>                  int j;
>>  
>> @@ -449,7 +457,7 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>                          bi->deratedbw[j] = min(maxdebw,
>>                                                 bw * (100 - sa->derating) / 100);
>>  
>> -                        drm_dbg_kms(&dev_priv->drm,
>> +                        drm_dbg_kms(display->drm,
>>                                      "BW%d / QGV %d: num_planes=%d deratedbw=%u\n",
>>                                      i, j, bi->num_planes, bi->deratedbw[j]);
>>                  }
>> @@ -460,44 +468,45 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>           * as it will fail and pointless anyway.
>>           */
>>          if (qi.num_points == 1)
>> -                dev_priv->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
>> +                display->sagv.status = I915_SAGV_NOT_CONTROLLED;
>>          else
>> -                dev_priv->display.sagv.status = I915_SAGV_ENABLED;
>> +                display->sagv.status = I915_SAGV_ENABLED;
>>  
>>          return 0;
>>  }
>>  
>> -static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel_sa_info *sa)
>> +static int tgl_get_bw_info(struct intel_display *display, const struct intel_sa_info *sa)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          struct intel_qgv_info qi = {};
>> -        const struct dram_info *dram_info = &dev_priv->dram_info;
>> +        const struct dram_info *dram_info = &i915->dram_info;
>>          bool is_y_tile = true; /* assume y tile may be used */
>> -        int num_channels = max_t(u8, 1, dev_priv->dram_info.num_channels);
>> +        int num_channels = max_t(u8, 1, dram_info->num_channels);
>>          int ipqdepth, ipqdepthpch = 16;
>>          int dclk_max;
>>          int maxdebw, peakbw;
>>          int clperchgroup;
>> -        int num_groups = ARRAY_SIZE(dev_priv->display.bw.max);
>> +        int num_groups = ARRAY_SIZE(display->bw.max);
>>          int i, ret;
>>  
>> -        ret = icl_get_qgv_points(dev_priv, &qi, is_y_tile);
>> +        ret = icl_get_qgv_points(display, &qi, is_y_tile);
>>          if (ret) {
>> -                drm_dbg_kms(&dev_priv->drm,
>> +                drm_dbg_kms(display->drm,
>>                              "Failed to get memory subsystem information, ignoring bandwidth limits");
>>                  return ret;
>>          }
>>  
>> -        if (DISPLAY_VER(dev_priv) < 14 &&
>> +        if (DISPLAY_VER(display) < 14 &&
>>              (dram_info->type == INTEL_DRAM_LPDDR4 || dram_info->type == INTEL_DRAM_LPDDR5))
>>                  num_channels *= 2;
>>  
>>          qi.deinterleave = qi.deinterleave ? : DIV_ROUND_UP(num_channels, is_y_tile ? 4 : 2);
>>  
>> -        if (num_channels < qi.max_numchannels && DISPLAY_VER(dev_priv) >= 12)
>> +        if (num_channels < qi.max_numchannels && DISPLAY_VER(display) >= 12)
>>                  qi.deinterleave = max(DIV_ROUND_UP(qi.deinterleave, 2), 1);
>>  
>> -        if (DISPLAY_VER(dev_priv) >= 12 && num_channels > qi.max_numchannels)
>> -                drm_warn(&dev_priv->drm, "Number of channels exceeds max number of channels.");
>> +        if (DISPLAY_VER(display) >= 12 && num_channels > qi.max_numchannels)
>> +                drm_warn(display->drm, "Number of channels exceeds max number of channels.");
>>          if (qi.max_numchannels != 0)
>>                  num_channels = min_t(u8, num_channels, qi.max_numchannels);
>>  
>> @@ -514,7 +523,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>          clperchgroup = 4 * DIV_ROUND_UP(8, num_channels) * qi.deinterleave;
>>  
>>          for (i = 0; i < num_groups; i++) {
>> -                struct intel_bw_info *bi = &dev_priv->display.bw.max[i];
>> +                struct intel_bw_info *bi = &display->bw.max[i];
>>                  struct intel_bw_info *bi_next;
>>                  int clpchgroup;
>>                  int j;
>> @@ -522,7 +531,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>                  clpchgroup = (sa->deburst * qi.deinterleave / num_channels) << i;
>>  
>>                  if (i < num_groups - 1) {
>> -                        bi_next = &dev_priv->display.bw.max[i + 1];
>> +                        bi_next = &display->bw.max[i + 1];
>>  
>>                          if (clpchgroup < clperchgroup)
>>                                  bi_next->num_planes = (ipqdepth - clpchgroup) /
>> @@ -554,7 +563,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>                                                            num_channels *
>>                                                            qi.channel_width, 8);
>>  
>> -                        drm_dbg_kms(&dev_priv->drm,
>> +                        drm_dbg_kms(display->drm,
>>                                      "BW%d / QGV %d: num_planes=%d deratedbw=%u peakbw: %u\n",
>>                                      i, j, bi->num_planes, bi->deratedbw[j],
>>                                      bi->peakbw[j]);
>> @@ -565,7 +574,7 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>  
>>                          bi->psf_bw[j] = adl_calc_psf_bw(sp->clk);
>>  
>> -                        drm_dbg_kms(&dev_priv->drm,
>> +                        drm_dbg_kms(display->drm,
>>                                      "BW%d / PSF GV %d: num_planes=%d bw=%u\n",
>>                                      i, j, bi->num_planes, bi->psf_bw[j]);
>>                  }
>> @@ -577,17 +586,17 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>>           * as it will fail and pointless anyway.
>>           */
>>          if (qi.num_points == 1)
>> -                dev_priv->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
>> +                display->sagv.status = I915_SAGV_NOT_CONTROLLED;
>>          else
>> -                dev_priv->display.sagv.status = I915_SAGV_ENABLED;
>> +                display->sagv.status = I915_SAGV_ENABLED;
>>  
>>          return 0;
>>  }
>>  
>> -static void dg2_get_bw_info(struct drm_i915_private *i915)
>> +static void dg2_get_bw_info(struct intel_display *display)
>>  {
>> -        unsigned int deratedbw = IS_DG2_G11(i915) ? 38000 : 50000;
>> -        int num_groups = ARRAY_SIZE(i915->display.bw.max);
>> +        unsigned int deratedbw = display->platform.dg2_g11 ? 38000 : 50000;
>> +        int num_groups = ARRAY_SIZE(display->bw.max);
>>          int i;
>>  
>>          /*
>> @@ -598,7 +607,7 @@ static void dg2_get_bw_info(struct drm_i915_private *i915)
>>           * whereas DG2-G11 platforms have 38 GB/s.
>>           */
>>          for (i = 0; i < num_groups; i++) {
>> -                struct intel_bw_info *bi = &i915->display.bw.max[i];
>> +                struct intel_bw_info *bi = &display->bw.max[i];
>>  
>>                  bi->num_planes = 1;
>>                  /* Need only one dummy QGV point per group */
>> @@ -606,20 +615,21 @@ static void dg2_get_bw_info(struct drm_i915_private *i915)
>>                  bi->deratedbw[0] = deratedbw;
>>          }
>>  
>> -        i915->display.sagv.status = I915_SAGV_NOT_CONTROLLED;
>> +        display->sagv.status = I915_SAGV_NOT_CONTROLLED;
>>  }
>>  
>> -static int xe2_hpd_get_bw_info(struct drm_i915_private *i915,
>> +static int xe2_hpd_get_bw_info(struct intel_display *display,
>>                                 const struct intel_sa_info *sa)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          struct intel_qgv_info qi = {};
>>          int num_channels = i915->dram_info.num_channels;
>>          int peakbw, maxdebw;
>>          int ret, i;
>>  
>> -        ret = icl_get_qgv_points(i915, &qi, true);
>> +        ret = icl_get_qgv_points(display, &qi, true);
>>          if (ret) {
>> -                drm_dbg_kms(&i915->drm,
>> +                drm_dbg_kms(display->drm,
>>                              "Failed to get memory subsystem information, ignoring bandwidth limits");
>>                  return ret;
>>          }
>> @@ -631,33 +641,33 @@ static int xe2_hpd_get_bw_info(struct drm_i915_private *i915,
>>                  const struct intel_qgv_point *point = &qi.points[i];
>>                  int bw = num_channels * (qi.channel_width / 8) * point->dclk;
>>  
>> -                i915->display.bw.max[0].deratedbw[i] =
>> +                display->bw.max[0].deratedbw[i] =
>>                          min(maxdebw, (100 - sa->derating) * bw / 100);
>> -                i915->display.bw.max[0].peakbw[i] = bw;
>> +                display->bw.max[0].peakbw[i] = bw;
>>  
>> -                drm_dbg_kms(&i915->drm, "QGV %d: deratedbw=%u peakbw: %u\n",
>> -                            i, i915->display.bw.max[0].deratedbw[i],
>> -                            i915->display.bw.max[0].peakbw[i]);
>> +                drm_dbg_kms(display->drm, "QGV %d: deratedbw=%u peakbw: %u\n",
>> +                            i, display->bw.max[0].deratedbw[i],
>> +                            display->bw.max[0].peakbw[i]);
>>          }
>>  
>>          /* Bandwidth does not depend on # of planes; set all groups the same */
>> -        i915->display.bw.max[0].num_planes = 1;
>> -        i915->display.bw.max[0].num_qgv_points = qi.num_points;
>> -        for (i = 1; i < ARRAY_SIZE(i915->display.bw.max); i++)
>> -                memcpy(&i915->display.bw.max[i], &i915->display.bw.max[0],
>> -                       sizeof(i915->display.bw.max[0]));
>> +        display->bw.max[0].num_planes = 1;
>> +        display->bw.max[0].num_qgv_points = qi.num_points;
>> +        for (i = 1; i < ARRAY_SIZE(display->bw.max); i++)
>> +                memcpy(&display->bw.max[i], &display->bw.max[0],
>> +                       sizeof(display->bw.max[0]));
>>  
>>          /*
>>           * Xe2_HPD should always have exactly two QGV points representing
>>           * battery and plugged-in operation.
>>           */
>> -        drm_WARN_ON(&i915->drm, qi.num_points != 2);
>> -        i915->display.sagv.status = I915_SAGV_ENABLED;
>> +        drm_WARN_ON(display->drm, qi.num_points != 2);
>> +        display->sagv.status = I915_SAGV_ENABLED;
>>  
>>          return 0;
>>  }
>>  
>> -static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
>> +static unsigned int icl_max_bw_index(struct intel_display *display,
>>                                       int num_planes, int qgv_point)
>>  {
>>          int i;
>> @@ -667,9 +677,9 @@ static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
>>           */
>>          num_planes = max(1, num_planes);
>>  
>> -        for (i = 0; i < ARRAY_SIZE(dev_priv->display.bw.max); i++) {
>> +        for (i = 0; i < ARRAY_SIZE(display->bw.max); i++) {
>>                  const struct intel_bw_info *bi =
>> -                        &dev_priv->display.bw.max[i];
>> +                        &display->bw.max[i];
>>  
>>                  /*
>>                   * Pcode will not expose all QGV points when
>> @@ -685,7 +695,7 @@ static unsigned int icl_max_bw_index(struct drm_i915_private *dev_priv,
>>          return UINT_MAX;
>>  }
>>  
>> -static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
>> +static unsigned int tgl_max_bw_index(struct intel_display *display,
>>                                       int num_planes, int qgv_point)
>>  {
>>          int i;
>> @@ -695,9 +705,9 @@ static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
>>           */
>>          num_planes = max(1, num_planes);
>>  
>> -        for (i = ARRAY_SIZE(dev_priv->display.bw.max) - 1; i >= 0; i--) {
>> +        for (i = ARRAY_SIZE(display->bw.max) - 1; i >= 0; i--) {
>>                  const struct intel_bw_info *bi =
>> -                        &dev_priv->display.bw.max[i];
>> +                        &display->bw.max[i];
>>  
>>                  /*
>>                   * Pcode will not expose all QGV points when
>> @@ -713,52 +723,54 @@ static unsigned int tgl_max_bw_index(struct drm_i915_private *dev_priv,
>>          return 0;
>>  }
>>  
>> -static unsigned int adl_psf_bw(struct drm_i915_private *dev_priv,
>> +static unsigned int adl_psf_bw(struct intel_display *display,
>>                                 int psf_gv_point)
>>  {
>>          const struct intel_bw_info *bi =
>> -                        &dev_priv->display.bw.max[0];
>> +                        &display->bw.max[0];
>>  
>>          return bi->psf_bw[psf_gv_point];
>>  }
>>  
>> -static unsigned int icl_qgv_bw(struct drm_i915_private *i915,
>> +static unsigned int icl_qgv_bw(struct intel_display *display,
>>                                 int num_active_planes, int qgv_point)
>>  {
>>          unsigned int idx;
>>  
>> -        if (DISPLAY_VER(i915) >= 12)
>> -                idx = tgl_max_bw_index(i915, num_active_planes, qgv_point);
>> +        if (DISPLAY_VER(display) >= 12)
>> +                idx = tgl_max_bw_index(display, num_active_planes, qgv_point);
>>          else
>> -                idx = icl_max_bw_index(i915, num_active_planes, qgv_point);
>> +                idx = icl_max_bw_index(display, num_active_planes, qgv_point);
>>  
>> -        if (idx >= ARRAY_SIZE(i915->display.bw.max))
>> +        if (idx >= ARRAY_SIZE(display->bw.max))
>>                  return 0;
>>  
>> -        return i915->display.bw.max[idx].deratedbw[qgv_point];
>> +        return display->bw.max[idx].deratedbw[qgv_point];
>>  }
>>  
>>  void intel_bw_init_hw(struct drm_i915_private *dev_priv)
>>  {
>> -        if (!HAS_DISPLAY(dev_priv))
>> +        struct intel_display *display = &dev_priv->display;
>> +
>> +        if (!HAS_DISPLAY(display))
>>                  return;
>>  
>> -        if (DISPLAY_VERx100(dev_priv) >= 1401 && IS_DGFX(dev_priv))
>> -                xe2_hpd_get_bw_info(dev_priv, &xe2_hpd_sa_info);
>> -        else if (DISPLAY_VER(dev_priv) >= 14)
>> -                tgl_get_bw_info(dev_priv, &mtl_sa_info);
>> -        else if (IS_DG2(dev_priv))
>> -                dg2_get_bw_info(dev_priv);
>> -        else if (IS_ALDERLAKE_P(dev_priv))
>> -                tgl_get_bw_info(dev_priv, &adlp_sa_info);
>> -        else if (IS_ALDERLAKE_S(dev_priv))
>> -                tgl_get_bw_info(dev_priv, &adls_sa_info);
>> -        else if (IS_ROCKETLAKE(dev_priv))
>> -                tgl_get_bw_info(dev_priv, &rkl_sa_info);
>> -        else if (DISPLAY_VER(dev_priv) == 12)
>> -                tgl_get_bw_info(dev_priv, &tgl_sa_info);
>> -        else if (DISPLAY_VER(dev_priv) == 11)
>> -                icl_get_bw_info(dev_priv, &icl_sa_info);
>> +        if (DISPLAY_VERx100(display) >= 1401 && display->platform.dgfx)
>> +                xe2_hpd_get_bw_info(display, &xe2_hpd_sa_info);
>> +        else if (DISPLAY_VER(display) >= 14)
>> +                tgl_get_bw_info(display, &mtl_sa_info);
>> +        else if (display->platform.dg2)
>> +                dg2_get_bw_info(display);
>> +        else if (display->platform.alderlake_p)
>> +                tgl_get_bw_info(display, &adlp_sa_info);
>> +        else if (display->platform.alderlake_s)
>> +                tgl_get_bw_info(display, &adls_sa_info);
>> +        else if (display->platform.rocketlake)
>> +                tgl_get_bw_info(display, &rkl_sa_info);
>> +        else if (DISPLAY_VER(display) == 12)
>> +                tgl_get_bw_info(display, &tgl_sa_info);
>> +        else if (DISPLAY_VER(display) == 11)
>> +                icl_get_bw_info(display, &icl_sa_info);
>>  }
>>  
>>  static unsigned int intel_bw_crtc_num_active_planes(const struct intel_crtc_state *crtc_state)
>> @@ -772,8 +784,8 @@ static unsigned int intel_bw_crtc_num_active_planes(const struct intel_crtc_stat
>>  
>>  static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_state)
>>  {
>> +        struct intel_display *display = to_intel_display(crtc_state);
>>          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> -        struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>>          unsigned int data_rate = 0;
>>          enum plane_id plane_id;
>>  
>> @@ -787,7 +799,7 @@ static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_
>>  
>>                  data_rate += crtc_state->data_rate[plane_id];
>>  
>> -                if (DISPLAY_VER(i915) < 11)
>> +                if (DISPLAY_VER(display) < 11)
>>                          data_rate += crtc_state->data_rate_y[plane_id];
>>          }
>>  
>> @@ -797,37 +809,37 @@ static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_
>>  /* "Maximum Pipe Read Bandwidth" */
>>  static int intel_bw_crtc_min_cdclk(const struct intel_crtc_state *crtc_state)
>>  {
>> -        struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> -        struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>> +        struct intel_display *display = to_intel_display(crtc_state);
>>  
>> -        if (DISPLAY_VER(i915) < 12)
>> +        if (DISPLAY_VER(display) < 12)
>>                  return 0;
>>  
>>          return DIV_ROUND_UP_ULL(mul_u32_u32(intel_bw_crtc_data_rate(crtc_state), 10), 512);
>>  }
>>  
>> -static unsigned int intel_bw_num_active_planes(struct drm_i915_private *dev_priv,
>> +static unsigned int intel_bw_num_active_planes(struct intel_display *display,
>>                                                 const struct intel_bw_state *bw_state)
>>  {
>>          unsigned int num_active_planes = 0;
>>          enum pipe pipe;
>>  
>> -        for_each_pipe(dev_priv, pipe)
>> +        for_each_pipe(display, pipe)
>>                  num_active_planes += bw_state->num_active_planes[pipe];
>>  
>>          return num_active_planes;
>>  }
>>  
>> -static unsigned int intel_bw_data_rate(struct drm_i915_private *dev_priv,
>> +static unsigned int intel_bw_data_rate(struct intel_display *display,
>>                                         const struct intel_bw_state *bw_state)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          unsigned int data_rate = 0;
>>          enum pipe pipe;
>>  
>> -        for_each_pipe(dev_priv, pipe)
>> +        for_each_pipe(display, pipe)
>>                  data_rate += bw_state->data_rate[pipe];
>>  
>> -        if (DISPLAY_VER(dev_priv) >= 13 && i915_vtd_active(dev_priv))
>> +        if (DISPLAY_VER(display) >= 13 && i915_vtd_active(i915))
>>                  data_rate = DIV_ROUND_UP(data_rate * 105, 100);
>>  
>>          return data_rate;
>> @@ -836,10 +848,10 @@ static unsigned int intel_bw_data_rate(struct drm_i915_private *dev_priv,
>>  struct intel_bw_state *
>>  intel_atomic_get_old_bw_state(struct intel_atomic_state *state)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(state->base.dev);
>> +        struct intel_display *display = to_intel_display(state);
>>          struct intel_global_state *bw_state;
>>  
>> -        bw_state = intel_atomic_get_old_global_obj_state(state, &dev_priv->display.bw.obj);
>> +        bw_state = intel_atomic_get_old_global_obj_state(state, &display->bw.obj);
>>  
>>          return to_intel_bw_state(bw_state);
>>  }
>> @@ -847,10 +859,10 @@ intel_atomic_get_old_bw_state(struct intel_atomic_state *state)
>>  struct intel_bw_state *
>>  intel_atomic_get_new_bw_state(struct intel_atomic_state *state)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(state->base.dev);
>> +        struct intel_display *display = to_intel_display(state);
>>          struct intel_global_state *bw_state;
>>  
>> -        bw_state = intel_atomic_get_new_global_obj_state(state, &dev_priv->display.bw.obj);
>> +        bw_state = intel_atomic_get_new_global_obj_state(state, &display->bw.obj);
>>  
>>          return to_intel_bw_state(bw_state);
>>  }
>> @@ -858,27 +870,27 @@ intel_atomic_get_new_bw_state(struct intel_atomic_state *state)
>>  struct intel_bw_state *
>>  intel_atomic_get_bw_state(struct intel_atomic_state *state)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(state->base.dev);
>> +        struct intel_display *display = to_intel_display(state);
>>          struct intel_global_state *bw_state;
>>  
>> -        bw_state = intel_atomic_get_global_obj_state(state, &dev_priv->display.bw.obj);
>> +        bw_state = intel_atomic_get_global_obj_state(state, &display->bw.obj);
>>          if (IS_ERR(bw_state))
>>                  return ERR_CAST(bw_state);
>>  
>>          return to_intel_bw_state(bw_state);
>>  }
>>  
>> -static unsigned int icl_max_bw_qgv_point_mask(struct drm_i915_private *i915,
>> +static unsigned int icl_max_bw_qgv_point_mask(struct intel_display *display,
>>                                                int num_active_planes)
>>  {
>> -        unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
>> +        unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>>          unsigned int max_bw_point = 0;
>>          unsigned int max_bw = 0;
>>          int i;
>>  
>>          for (i = 0; i < num_qgv_points; i++) {
>>                  unsigned int max_data_rate =
>> -                        icl_qgv_bw(i915, num_active_planes, i);
>> +                        icl_qgv_bw(display, num_active_planes, i);
>>  
>>                  /*
>>                   * We need to know which qgv point gives us
>> @@ -897,23 +909,23 @@ static unsigned int icl_max_bw_qgv_point_mask(struct drm_i915_private *i915,
>>          return max_bw_point;
>>  }
>>  
>> -static u16 icl_prepare_qgv_points_mask(struct drm_i915_private *i915,
>> +static u16 icl_prepare_qgv_points_mask(struct intel_display *display,
>>                                         unsigned int qgv_points,
>>                                         unsigned int psf_points)
>>  {
>>          return ~(ICL_PCODE_REQ_QGV_PT(qgv_points) |
>> -                 ADLS_PCODE_REQ_PSF_PT(psf_points)) & icl_qgv_points_mask(i915);
>> +                 ADLS_PCODE_REQ_PSF_PT(psf_points)) & icl_qgv_points_mask(display);
>>  }
>>  
>> -static unsigned int icl_max_bw_psf_gv_point_mask(struct drm_i915_private *i915)
>> +static unsigned int icl_max_bw_psf_gv_point_mask(struct intel_display *display)
>>  {
>> -        unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
>> +        unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
>>          unsigned int max_bw_point_mask = 0;
>>          unsigned int max_bw = 0;
>>          int i;
>>  
>>          for (i = 0; i < num_psf_gv_points; i++) {
>> -                unsigned int max_data_rate = adl_psf_bw(i915, i);
>> +                unsigned int max_data_rate = adl_psf_bw(display, i);
>>  
>>                  if (max_data_rate > max_bw) {
>>                          max_bw_point_mask = BIT(i);
>> @@ -926,29 +938,31 @@ static unsigned int icl_max_bw_psf_gv_point_mask(struct drm_i915_private *i915)
>>          return max_bw_point_mask;
>>  }
>>  
>> -static void icl_force_disable_sagv(struct drm_i915_private *i915,
>> +static void icl_force_disable_sagv(struct intel_display *display,
>>                                     struct intel_bw_state *bw_state)
>>  {
>> -        unsigned int qgv_points = icl_max_bw_qgv_point_mask(i915, 0);
>> -        unsigned int psf_points = icl_max_bw_psf_gv_point_mask(i915);
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>> +        unsigned int qgv_points = icl_max_bw_qgv_point_mask(display, 0);
>> +        unsigned int psf_points = icl_max_bw_psf_gv_point_mask(display);
>>  
>> -        bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(i915,
>> +        bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(display,
>>                                                                  qgv_points,
>>                                                                  psf_points);
>>  
>> -        drm_dbg_kms(&i915->drm, "Forcing SAGV disable: mask 0x%x\n",
>> +        drm_dbg_kms(display->drm, "Forcing SAGV disable: mask 0x%x\n",
>>                      bw_state->qgv_points_mask);
>>  
>>          icl_pcode_restrict_qgv_points(i915, bw_state->qgv_points_mask);
>>  }
>>  
>> -static int mtl_find_qgv_points(struct drm_i915_private *i915,
>> +static int mtl_find_qgv_points(struct intel_display *display,
>>                                 unsigned int data_rate,
>>                                 unsigned int num_active_planes,
>>                                 struct intel_bw_state *new_bw_state)
>>  {
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          unsigned int best_rate = UINT_MAX;
>> -        unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
>> +        unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>>          unsigned int qgv_peak_bw  = 0;
>>          int i;
>>          int ret;
>> @@ -964,7 +978,7 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>>           */
>>          if (!intel_can_enable_sagv(i915, new_bw_state)) {
>>                  new_bw_state->qgv_point_peakbw = U16_MAX;
>> -                drm_dbg_kms(&i915->drm, "No SAGV, use UINT_MAX as peak bw.");
>> +                drm_dbg_kms(display->drm, "No SAGV, use UINT_MAX as peak bw.");
>>                  return 0;
>>          }
>>  
>> @@ -974,27 +988,27 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>>           */
>>          for (i = 0; i < num_qgv_points; i++) {
>>                  unsigned int bw_index =
>> -                        tgl_max_bw_index(i915, num_active_planes, i);
>> +                        tgl_max_bw_index(display, num_active_planes, i);
>>                  unsigned int max_data_rate;
>>  
>> -                if (bw_index >= ARRAY_SIZE(i915->display.bw.max))
>> +                if (bw_index >= ARRAY_SIZE(display->bw.max))
>>                          continue;
>>  
>> -                max_data_rate = i915->display.bw.max[bw_index].deratedbw[i];
>> +                max_data_rate = display->bw.max[bw_index].deratedbw[i];
>>  
>>                  if (max_data_rate < data_rate)
>>                          continue;
>>  
>>                  if (max_data_rate - data_rate < best_rate) {
>>                          best_rate = max_data_rate - data_rate;
>> -                        qgv_peak_bw = i915->display.bw.max[bw_index].peakbw[i];
>> +                        qgv_peak_bw = display->bw.max[bw_index].peakbw[i];
>>                  }
>>  
>> -                drm_dbg_kms(&i915->drm, "QGV point %d: max bw %d required %d qgv_peak_bw: %d\n",
>> +                drm_dbg_kms(display->drm, "QGV point %d: max bw %d required %d qgv_peak_bw: %d\n",
>>                              i, max_data_rate, data_rate, qgv_peak_bw);
>>          }
>>  
>> -        drm_dbg_kms(&i915->drm, "Matching peaks QGV bw: %d for required data rate: %d\n",
>> +        drm_dbg_kms(display->drm, "Matching peaks QGV bw: %d for required data rate: %d\n",
>>                      qgv_peak_bw, data_rate);
>>  
>>          /*
>> @@ -1002,7 +1016,7 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>>           * satisfying the required data rate is found
>>           */
>>          if (qgv_peak_bw == 0) {
>> -                drm_dbg_kms(&i915->drm, "No QGV points for bw %d for display configuration(%d active planes).\n",
>> +                drm_dbg_kms(display->drm, "No QGV points for bw %d for display configuration(%d active planes).\n",
>>                              data_rate, num_active_planes);
>>                  return -EINVAL;
>>          }
>> @@ -1013,14 +1027,15 @@ static int mtl_find_qgv_points(struct drm_i915_private *i915,
>>          return 0;
>>  }
>>  
>> -static int icl_find_qgv_points(struct drm_i915_private *i915,
>> +static int icl_find_qgv_points(struct intel_display *display,
>>                                 unsigned int data_rate,
>>                                 unsigned int num_active_planes,
>>                                 const struct intel_bw_state *old_bw_state,
>>                                 struct intel_bw_state *new_bw_state)
>>  {
>> -        unsigned int num_psf_gv_points = i915->display.bw.max[0].num_psf_gv_points;
>> -        unsigned int num_qgv_points = i915->display.bw.max[0].num_qgv_points;
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>> +        unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
>> +        unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
>>          u16 psf_points = 0;
>>          u16 qgv_points = 0;
>>          int i;
>> @@ -1031,22 +1046,22 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>>                  return ret;
>>  
>>          for (i = 0; i < num_qgv_points; i++) {
>> -                unsigned int max_data_rate = icl_qgv_bw(i915,
>> +                unsigned int max_data_rate = icl_qgv_bw(display,
>>                                                          num_active_planes, i);
>>                  if (max_data_rate >= data_rate)
>>                          qgv_points |= BIT(i);
>>  
>> -                drm_dbg_kms(&i915->drm, "QGV point %d: max bw %d required %d\n",
>> +                drm_dbg_kms(display->drm, "QGV point %d: max bw %d required %d\n",
>>                              i, max_data_rate, data_rate);
>>          }
>>  
>>          for (i = 0; i < num_psf_gv_points; i++) {
>> -                unsigned int max_data_rate = adl_psf_bw(i915, i);
>> +                unsigned int max_data_rate = adl_psf_bw(display, i);
>>  
>>                  if (max_data_rate >= data_rate)
>>                          psf_points |= BIT(i);
>>  
>> -                drm_dbg_kms(&i915->drm, "PSF GV point %d: max bw %d"
>> +                drm_dbg_kms(display->drm, "PSF GV point %d: max bw %d"
>>                              " required %d\n",
>>                              i, max_data_rate, data_rate);
>>          }
>> @@ -1057,14 +1072,14 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>>           * reasons.
>>           */
>>          if (qgv_points == 0) {
>> -                drm_dbg_kms(&i915->drm, "No QGV points provide sufficient memory"
>> +                drm_dbg_kms(display->drm, "No QGV points provide sufficient memory"
>>                              " bandwidth %d for display configuration(%d active planes).\n",
>>                              data_rate, num_active_planes);
>>                  return -EINVAL;
>>          }
>>  
>>          if (num_psf_gv_points > 0 && psf_points == 0) {
>> -                drm_dbg_kms(&i915->drm, "No PSF GV points provide sufficient memory"
>> +                drm_dbg_kms(display->drm, "No PSF GV points provide sufficient memory"
>>                              " bandwidth %d for display configuration(%d active planes).\n",
>>                              data_rate, num_active_planes);
>>                  return -EINVAL;
>> @@ -1076,8 +1091,8 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>>           * cause.
>>           */
>>          if (!intel_can_enable_sagv(i915, new_bw_state)) {
>> -                qgv_points = icl_max_bw_qgv_point_mask(i915, num_active_planes);
>> -                drm_dbg_kms(&i915->drm, "No SAGV, using single QGV point mask 0x%x\n",
>> +                qgv_points = icl_max_bw_qgv_point_mask(display, num_active_planes);
>> +                drm_dbg_kms(display->drm, "No SAGV, using single QGV point mask 0x%x\n",
>>                              qgv_points);
>>          }
>>  
>> @@ -1085,7 +1100,7 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>>           * We store the ones which need to be masked as that is what PCode
>>           * actually accepts as a parameter.
>>           */
>> -        new_bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(i915,
>> +        new_bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(display,
>>                                                                      qgv_points,
>>                                                                      psf_points);
>>          /*
>> @@ -1101,38 +1116,38 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
>>          return 0;
>>  }
>>  
>> -static int intel_bw_check_qgv_points(struct drm_i915_private *i915,
>> +static int intel_bw_check_qgv_points(struct intel_display *display,
>>                                       const struct intel_bw_state *old_bw_state,
>>                                       struct intel_bw_state *new_bw_state)
>>  {
>> -        unsigned int data_rate = intel_bw_data_rate(i915, new_bw_state);
>> +        unsigned int data_rate = intel_bw_data_rate(display, new_bw_state);
>>          unsigned int num_active_planes =
>> -                        intel_bw_num_active_planes(i915, new_bw_state);
>> +                        intel_bw_num_active_planes(display, new_bw_state);
>>  
>>          data_rate = DIV_ROUND_UP(data_rate, 1000);
>>  
>> -        if (DISPLAY_VER(i915) >= 14)
>> -                return mtl_find_qgv_points(i915, data_rate, num_active_planes,
>> +        if (DISPLAY_VER(display) >= 14)
>> +                return mtl_find_qgv_points(display, data_rate, num_active_planes,
>>                                             new_bw_state);
>>          else
>> -                return icl_find_qgv_points(i915, data_rate, num_active_planes,
>> +                return icl_find_qgv_points(display, data_rate, num_active_planes,
>>                                             old_bw_state, new_bw_state);
>>  }
>>  
>> -static bool intel_bw_state_changed(struct drm_i915_private *i915,
>> +static bool intel_bw_state_changed(struct intel_display *display,
>>                                     const struct intel_bw_state *old_bw_state,
>>                                     const struct intel_bw_state *new_bw_state)
>>  {
>>          enum pipe pipe;
>>  
>> -        for_each_pipe(i915, pipe) {
>> +        for_each_pipe(display, pipe) {
>>                  const struct intel_dbuf_bw *old_crtc_bw =
>>                          &old_bw_state->dbuf_bw[pipe];
>>                  const struct intel_dbuf_bw *new_crtc_bw =
>>                          &new_bw_state->dbuf_bw[pipe];
>>                  enum dbuf_slice slice;
>>  
>> -                for_each_dbuf_slice(i915, slice) {
>> +                for_each_dbuf_slice(display, slice) {
>>                          if (old_crtc_bw->max_bw[slice] != new_crtc_bw->max_bw[slice] ||
>>                              old_crtc_bw->active_planes[slice] != new_crtc_bw->active_planes[slice])
>>                                  return true;
>> @@ -1151,7 +1166,8 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
>>                                     const struct skl_ddb_entry *ddb,
>>                                     unsigned int data_rate)
>>  {
>> -        struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>> +        struct intel_display *display = to_intel_display(crtc);
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[crtc->pipe];
>>          unsigned int dbuf_mask = skl_ddb_dbuf_slice_mask(i915, ddb);
>>          enum dbuf_slice slice;
>> @@ -1160,7 +1176,7 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
>>           * The arbiter can only really guarantee an
>>           * equal share of the total bw to each plane.
>>           */
>> -        for_each_dbuf_slice_in_mask(i915, slice, dbuf_mask) {
>> +        for_each_dbuf_slice_in_mask(display, slice, dbuf_mask) {
>>                  crtc_bw->max_bw[slice] = max(crtc_bw->max_bw[slice], data_rate);
>>                  crtc_bw->active_planes[slice] |= BIT(plane_id);
>>          }
>> @@ -1169,8 +1185,8 @@ static void skl_plane_calc_dbuf_bw(struct intel_bw_state *bw_state,
>>  static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
>>                                    const struct intel_crtc_state *crtc_state)
>>  {
>> +        struct intel_display *display = to_intel_display(crtc_state);
>>          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> -        struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>>          struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[crtc->pipe];
>>          enum plane_id plane_id;
>>  
>> @@ -1191,7 +1207,7 @@ static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
>>                                         &crtc_state->wm.skl.plane_ddb[plane_id],
>>                                         crtc_state->data_rate[plane_id]);
>>  
>> -                if (DISPLAY_VER(i915) < 11)
>> +                if (DISPLAY_VER(display) < 11)
>>                          skl_plane_calc_dbuf_bw(bw_state, crtc, plane_id,
>>                                                 &crtc_state->wm.skl.plane_ddb_y[plane_id],
>>                                                 crtc_state->data_rate[plane_id]);
>> @@ -1200,13 +1216,13 @@ static void skl_crtc_calc_dbuf_bw(struct intel_bw_state *bw_state,
>>  
>>  /* "Maximum Data Buffer Bandwidth" */
>>  static int
>> -intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
>> +intel_bw_dbuf_min_cdclk(struct intel_display *display,
>>                          const struct intel_bw_state *bw_state)
>>  {
>>          unsigned int total_max_bw = 0;
>>          enum dbuf_slice slice;
>>  
>> -        for_each_dbuf_slice(i915, slice) {
>> +        for_each_dbuf_slice(display, slice) {
>>                  int num_active_planes = 0;
>>                  unsigned int max_bw = 0;
>>                  enum pipe pipe;
>> @@ -1215,7 +1231,7 @@ intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
>>                   * The arbiter can only really guarantee an
>>                   * equal share of the total bw to each plane.
>>                   */
>> -                for_each_pipe(i915, pipe) {
>> +                for_each_pipe(display, pipe) {
>>                          const struct intel_dbuf_bw *crtc_bw = &bw_state->dbuf_bw[pipe];
>>  
>>                          max_bw = max(crtc_bw->max_bw[slice], max_bw);
>> @@ -1232,12 +1248,13 @@ intel_bw_dbuf_min_cdclk(struct drm_i915_private *i915,
>>  int intel_bw_min_cdclk(struct drm_i915_private *i915,
>>                         const struct intel_bw_state *bw_state)
>>  {
>> +        struct intel_display *display = &i915->display;
>>          enum pipe pipe;
>>          int min_cdclk;
>>  
>> -        min_cdclk = intel_bw_dbuf_min_cdclk(i915, bw_state);
>> +        min_cdclk = intel_bw_dbuf_min_cdclk(display, bw_state);
>>  
>> -        for_each_pipe(i915, pipe)
>> +        for_each_pipe(display, pipe)
>>                  min_cdclk = max(min_cdclk, bw_state->min_cdclk[pipe]);
>>  
>>          return min_cdclk;
>> @@ -1246,6 +1263,7 @@ int intel_bw_min_cdclk(struct drm_i915_private *i915,
>>  int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>>                              bool *need_cdclk_calc)
>>  {
>> +        struct intel_display *display = to_intel_display(state);
>>          struct drm_i915_private *dev_priv = to_i915(state->base.dev);
>>          struct intel_bw_state *new_bw_state = NULL;
>>          const struct intel_bw_state *old_bw_state = NULL;
>> @@ -1255,7 +1273,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>>          struct intel_crtc *crtc;
>>          int i;
>>  
>> -        if (DISPLAY_VER(dev_priv) < 9)
>> +        if (DISPLAY_VER(display) < 9)
>>                  return 0;
>>  
>>          for_each_new_intel_crtc_in_state(state, crtc, crtc_state, i) {
>> @@ -1274,7 +1292,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>>          if (!old_bw_state)
>>                  return 0;
>>  
>> -        if (intel_bw_state_changed(dev_priv, old_bw_state, new_bw_state)) {
>> +        if (intel_bw_state_changed(display, old_bw_state, new_bw_state)) {
>>                  int ret = intel_atomic_lock_global_state(&new_bw_state->base);
>>                  if (ret)
>>                          return ret;
>> @@ -1309,7 +1327,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>>          if (new_min_cdclk <= cdclk_state->bw_min_cdclk)
>>                  return 0;
>>  
>> -        drm_dbg_kms(&dev_priv->drm,
>> +        drm_dbg_kms(display->drm,
>>                      "new bandwidth min cdclk (%d kHz) > old min cdclk (%d kHz)\n",
>>                      new_min_cdclk, cdclk_state->bw_min_cdclk);
>>          *need_cdclk_calc = true;
>> @@ -1319,7 +1337,7 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
>>  
>>  static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *changed)
>>  {
>> -        struct drm_i915_private *i915 = to_i915(state->base.dev);
>> +        struct intel_display *display = to_intel_display(state);
>>          const struct intel_crtc_state *new_crtc_state, *old_crtc_state;
>>          struct intel_crtc *crtc;
>>          int i;
>> @@ -1353,7 +1371,7 @@ static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *chan
>>  
>>                  *changed = true;
>>  
>> -                drm_dbg_kms(&i915->drm,
>> +                drm_dbg_kms(display->drm,
>>                              "[CRTC:%d:%s] data rate %u num active planes %u\n",
>>                              crtc->base.base.id, crtc->base.name,
>>                              new_bw_state->data_rate[crtc->pipe],
>> @@ -1365,14 +1383,15 @@ static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *chan
>>  
>>  int intel_bw_atomic_check(struct intel_atomic_state *state)
>>  {
>> +        struct intel_display *display = to_intel_display(state);
>> +        struct drm_i915_private *i915 = to_i915(display->drm);
>>          bool changed = false;
>> -        struct drm_i915_private *i915 = to_i915(state->base.dev);
>>          struct intel_bw_state *new_bw_state;
>>          const struct intel_bw_state *old_bw_state;
>>          int ret;
>>  
>>          /* FIXME earlier gens need some checks too */
>> -        if (DISPLAY_VER(i915) < 11)
>> +        if (DISPLAY_VER(display) < 11)
>>                  return 0;
>>  
>>          ret = intel_bw_check_data_rate(state, &changed);
>> @@ -1395,7 +1414,7 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
>>          if (!changed)
>>                  return 0;
>>  
>> -        ret = intel_bw_check_qgv_points(i915, old_bw_state, new_bw_state);
>> +        ret = intel_bw_check_qgv_points(display, old_bw_state, new_bw_state);
>>          if (ret)
>>                  return ret;
>>  
>> @@ -1407,8 +1426,8 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
>>  static void intel_bw_crtc_update(struct intel_bw_state *bw_state,
>>                                   const struct intel_crtc_state *crtc_state)
>>  {
>> +        struct intel_display *display = to_intel_display(crtc_state);
>>          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> -        struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>>  
>>          bw_state->data_rate[crtc->pipe] =
>>                  intel_bw_crtc_data_rate(crtc_state);
>> @@ -1416,7 +1435,7 @@ static void intel_bw_crtc_update(struct intel_bw_state *bw_state,
>>                  intel_bw_crtc_num_active_planes(crtc_state);
>>          bw_state->force_check_qgv = true;
>>  
>> -        drm_dbg_kms(&i915->drm, "pipe %c data rate %u num active planes %u\n",
>> +        drm_dbg_kms(display->drm, "pipe %c data rate %u num active planes %u\n",
>>                      pipe_name(crtc->pipe),
>>                      bw_state->data_rate[crtc->pipe],
>>                      bw_state->num_active_planes[crtc->pipe]);
>> @@ -1499,8 +1518,8 @@ int intel_bw_init(struct drm_i915_private *i915)
>>           * Limit this only if we have SAGV. And for Display version 14 onwards
>>           * sagv is handled though pmdemand requests
>>           */
>> -        if (intel_has_sagv(i915) && IS_DISPLAY_VER(i915, 11, 13))
>> -                icl_force_disable_sagv(i915, state);
>> +        if (intel_has_sagv(i915) && IS_DISPLAY_VER(display, 11, 13))
>> +                icl_force_disable_sagv(display, state);
>>  
>>          return 0;
>>  }
>> 
>> -- 
>> 2.48.1
>
>-- 
>Ville Syrjälä
>Intel

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

end of thread, other threads:[~2025-03-11 16:50 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-10 18:57 [PATCH v4 0/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
2025-03-10 18:57 ` [PATCH v4 1/3] drm/i915/display: Convert intel_bw.c internally to intel_display Gustavo Sousa
2025-03-11 16:46   ` Ville Syrjälä
2025-03-11 16:50     ` Gustavo Sousa
2025-03-10 18:57 ` [PATCH v4 2/3] drm/i915/display: Convert intel_bw.c externally " Gustavo Sousa
2025-03-10 18:58 ` [PATCH v4 3/3] drm/i915/xe3lpd: Update bandwidth parameters Gustavo Sousa
2025-03-10 20:03 ` ✓ CI.Patch_applied: success for drm/i915/xe3lpd: Update bandwidth parameters (rev4) Patchwork
2025-03-10 20:03 ` ✓ CI.checkpatch: " Patchwork
2025-03-10 20:04 ` ✓ CI.KUnit: " Patchwork
2025-03-10 20:21 ` ✓ CI.Build: " Patchwork
2025-03-10 20:23 ` ✓ CI.Hooks: " Patchwork
2025-03-10 20:25 ` ✗ CI.checksparse: warning " Patchwork
2025-03-10 21:13 ` ✗ Fi.CI.SPARSE: " Patchwork
2025-03-10 21:38 ` ✓ i915.CI.BAT: success " Patchwork
2025-03-11  6:02 ` ✓ Xe.CI.BAT: " Patchwork

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