Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv5 0/8] Display Global Histogram
@ 2024-11-19 10:45 Arun R Murthy
  2024-11-19 10:45 ` [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram Arun R Murthy
                   ` (16 more replies)
  0 siblings, 17 replies; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Display histogram is a hardware functionality where a statistics for 'x'
number of frames is generated to form a histogram data. This is notified
to the user via histogram event. Compositor will then upon sensing the
histogram event will read the histogram data from KMD via crtc property.
A library can be developed to take this generated histogram as an
input and apply some algorithm to generate an Image EnhancemenT(IET).
This is further fed back to the KMD via crtc property. KMD will use this
IET as a multiplicand factor to multiply with the incoming pixels at the
end of the pipe which is then pushed onto the display.

One such library Global Histogram Enhancement(GHE) will take the histogram
as input and applied the algorithm to enhance the density and then
return the enhanced factor. This library can be located @
https://github.com/intel/ghe

The corresponding mutter changes to enable/disable histogram, read the
histogram data, communicate with the library and write the enhanced data
back to the KMD is also pushed for review at https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873
The IGT changes for validating the histogram event and reading the
histogram is also pushed for review at https://patchwork.freedesktop.org/series/135789/

Test-with: 20240705091333.328322-1-mohammed.thasleem@intel.com

Arun R Murthy (8):
  drm/i915/histogram: Define registers for histogram
  drm/i915/histogram: Add support for histogram
  drm/xe: Add histogram support to Xe builds
  drm/i915/histogram: histogram interrupt handling
  drm/i915/histogram: Add crtc properties for global histogram
  drm/i915/histogram: histogram delay counter doesnt reset
  drm/i915/histogram: Histogram changes for Display 20+
  drm/i915/histogram: Enable pipe dithering

 drivers/gpu/drm/i915/Makefile                 |   1 +
 drivers/gpu/drm/i915/display/intel_atomic.c   |   5 +
 drivers/gpu/drm/i915/display/intel_crtc.c     | 168 +++++++-
 drivers/gpu/drm/i915/display/intel_crtc.h     |   5 +
 drivers/gpu/drm/i915/display/intel_display.c  |  18 +
 .../gpu/drm/i915/display/intel_display_irq.c  |   6 +-
 .../drm/i915/display/intel_display_types.h    |  15 +
 .../gpu/drm/i915/display/intel_histogram.c    | 370 ++++++++++++++++++
 .../gpu/drm/i915/display/intel_histogram.h    |  38 ++
 .../drm/i915/display/intel_histogram_regs.h   |  74 ++++
 drivers/gpu/drm/i915/i915_reg.h               |   5 +-
 drivers/gpu/drm/xe/Makefile                   |   1 +
 12 files changed, 702 insertions(+), 4 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.h
 create mode 100644 drivers/gpu/drm/i915/display/intel_histogram_regs.h

-- 
2.25.1


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

* [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-20  7:17   ` Kandpal, Suraj
  2024-11-19 10:45 ` [PATCHv4 2/8] drm/i915/histogram: Add support " Arun R Murthy
                   ` (15 subsequent siblings)
  16 siblings, 1 reply; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Add the register/bit definitions for global histogram.

v2: Intended the register contents, removed unused regs (Jani)

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 .../drm/i915/display/intel_histogram_regs.h   | 48 +++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 drivers/gpu/drm/i915/display/intel_histogram_regs.h

diff --git a/drivers/gpu/drm/i915/display/intel_histogram_regs.h b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
new file mode 100644
index 000000000000..1252b4f339a6
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef __INTEL_HISTOGRAM_REGS_H__
+#define __INTEL_HISTOGRAM_REGS_H__
+
+#include "intel_display_reg_defs.h"
+
+/* GLOBAL_HIST related registers */
+#define _DPST_CTL_A					0x490C0
+#define _DPST_CTL_B					0x491C0
+#define DPST_CTL(pipe)					_MMIO_PIPE(pipe, _DPST_CTL_A, _DPST_CTL_B)
+#define  DPST_CTL_IE_HIST_EN				REG_BIT(31)
+#define  DPST_CTL_RESTORE				REG_BIT(28)
+#define  DPST_CTL_IE_MODI_TABLE_EN			REG_BIT(27)
+#define  DPST_CTL_HIST_MODE				REG_BIT(24)
+#define  DPST_CTL_ENHANCEMENT_MODE_MASK			REG_GENMASK(14, 13)
+#define  DPST_CTL_EN_MULTIPLICATIVE			REG_FIELD_PREP(DPST_CTL_ENHANCEMENT_MODE_MASK, 2)
+#define  DPST_CTL_IE_TABLE_VALUE_FORMAT			REG_BIT(15)
+#define  DPST_CTL_BIN_REG_FUNC_SEL			REG_BIT(11)
+#define  DPST_CTL_BIN_REG_FUNC_TC			REG_FIELD_PREP(DPST_CTL_BIN_REG_FUNC_SEL, 0)
+#define  DPST_CTL_BIN_REG_FUNC_IE			REG_FIELD_PREP(DPST_CTL_BIN_REG_FUNC_SEL, 1)
+#define  DPST_CTL_BIN_REG_MASK				REG_GENMASK(6, 0)
+#define  DPST_CTL_BIN_REG_CLEAR				REG_FIELD_PREP(DPST_CTL_BIN_REG_MASK, 0)
+#define  DPST_CTL_IE_TABLE_VALUE_FORMAT_2INT_8FRAC	REG_FIELD_PREP(DPST_CTL_IE_TABLE_VALUE_FORMAT, 1)
+#define  DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC	REG_FIELD_PREP(DPST_CTL_IE_TABLE_VALUE_FORMAT, 0)
+#define  DPST_CTL_HIST_MODE_YUV				REG_FIELD_PREP(DPST_CTL_HIST_MODE, 0)
+#define  DPST_CTL_HIST_MODE_HSV				REG_FIELD_PREP(DPST_CTL_HIST_MODE, 1)
+
+#define _DPST_GUARD_A					0x490C8
+#define _DPST_GUARD_B					0x491C8
+#define DPST_GUARD(pipe)				_MMIO_PIPE(pipe, _DPST_GUARD_A, _DPST_GUARD_B)
+#define  DPST_GUARD_HIST_INT_EN				REG_BIT(31)
+#define  DPST_GUARD_HIST_EVENT_STATUS			REG_BIT(30)
+#define  DPST_GUARD_INTERRUPT_DELAY_MASK			REG_GENMASK(29, 22)
+#define  DPST_GUARD_INTERRUPT_DELAY(val)			REG_FIELD_PREP(DPST_GUARD_INTERRUPT_DELAY_MASK, val)
+#define  DPST_GUARD_THRESHOLD_GB_MASK			REG_GENMASK(21, 0)
+#define  DPST_GUARD_THRESHOLD_GB(val)			REG_FIELD_PREP(DPST_GUARD_THRESHOLD_GB_MASK, val)
+
+#define _DPST_BIN_A					0x490C4
+#define _DPST_BIN_B					0x491C4
+#define DPST_BIN(pipe)					_MMIO_PIPE(pipe, _DPST_BIN_A, _DPST_BIN_B)
+#define  DPST_BIN_DATA_MASK				REG_GENMASK(23, 0)
+#define  DPST_BIN_BUSY					REG_BIT(31)
+
+#endif /* __INTEL_HISTOGRAM_REGS_H__ */
-- 
2.25.1


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

* [PATCHv4 2/8] drm/i915/histogram: Add support for histogram
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
  2024-11-19 10:45 ` [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-20  8:13   ` Kandpal, Suraj
  2024-11-19 10:45 ` [PATCH 3/8] drm/xe: Add histogram support to Xe builds Arun R Murthy
                   ` (14 subsequent siblings)
  16 siblings, 1 reply; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Statistics is generated from the image frame that is coming to display
and an event is sent to user after reading this histogram data.
This statistics/histogram is then shared with the user upon getting a
request from user. User can then use this histogram and generate an
enhancement factor. This enhancement factor can be multiplied/added with
the incoming pixel data frame.

v2: forward declaration in header file along with error handling (Jani)
v3: Replaced i915 with intel_display (Suraj)
v4: Removed dithering enable/disable (Vandita)
    New patch for histogram register definitions (Suraj)

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/i915/Makefile                 |   1 +
 .../drm/i915/display/intel_display_types.h    |   2 +
 .../gpu/drm/i915/display/intel_histogram.c    | 195 ++++++++++++++++++
 .../gpu/drm/i915/display/intel_histogram.h    |  35 ++++
 4 files changed, 233 insertions(+)
 create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index e465828d748f..97141b4def3b 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -267,6 +267,7 @@ i915-y += \
 	display/intel_hdcp.o \
 	display/intel_hdcp_gsc.o \
 	display/intel_hdcp_gsc_message.o \
+	display/intel_histogram.o \
 	display/intel_hotplug.o \
 	display/intel_hotplug_irq.o \
 	display/intel_hti.o \
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 339e4b0f7698..351441efd10a 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1414,6 +1414,8 @@ struct intel_crtc {
 	/* for loading single buffered registers during vblank */
 	struct pm_qos_request vblank_pm_qos;
 
+	struct intel_histogram *histogram;
+
 #ifdef CONFIG_DEBUG_FS
 	struct intel_pipe_crc pipe_crc;
 #endif
diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
new file mode 100644
index 000000000000..e751977fc6f7
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -0,0 +1,195 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#include <drm/drm_device.h>
+#include <drm/drm_file.h>
+#include <drm/drm_vblank.h>
+
+#include "i915_reg.h"
+#include "i915_drv.h"
+#include "intel_display.h"
+#include "intel_histogram_regs.h"
+#include "intel_histogram.h"
+#include "intel_display_types.h"
+#include "intel_de.h"
+
+#define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300    // 3.0% of the pipe's current pixel count.
+#define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000   // Precision factor for threshold guardband.
+#define HISTOGRAM_DEFAULT_GUARDBAND_DELAY 0x04
+
+struct intel_histogram {
+	struct intel_crtc *crtc;
+	struct delayed_work work;
+	bool enable;
+	bool can_enable;
+	u32 bin_data[HISTOGRAM_BIN_COUNT];
+};
+
+int intel_histogram_atomic_check(struct intel_crtc *intel_crtc)
+{
+	struct intel_histogram *histogram = intel_crtc->histogram;
+
+	/* TODO: Restrictions for enabling histogram */
+	histogram->can_enable = true;
+
+	return 0;
+}
+
+static int intel_histogram_enable(struct intel_crtc *intel_crtc)
+{
+	struct intel_display *display = to_intel_display(intel_crtc);
+	struct intel_histogram *histogram = intel_crtc->histogram;
+	int pipe = intel_crtc->pipe;
+	u64 res;
+	u32 gbandthreshold;
+
+	if (!histogram)
+		return -EINVAL;
+
+	if (!histogram->can_enable)
+		return -EINVAL;
+
+	if (histogram->enable)
+		return 0;
+
+	 /* enable histogram, clear DPST_BIN reg and select TC function */
+	intel_de_rmw(display, DPST_CTL(pipe),
+		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_IE_HIST_EN |
+		     DPST_CTL_HIST_MODE | DPST_CTL_IE_TABLE_VALUE_FORMAT,
+		     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
+		     DPST_CTL_HIST_MODE_HSV |
+		     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC);
+
+	/* Re-Visit: check if wait for one vblank is required */
+	drm_crtc_wait_one_vblank(&intel_crtc->base);
+
+	/*
+	 * TODO: one time programming: Program GuardBand Threshold.
+	 * To be moved to modeset path
+	 */
+	res = (intel_crtc->config->hw.adjusted_mode.vtotal *
+	       intel_crtc->config->hw.adjusted_mode.htotal);
+
+	gbandthreshold = (res *	HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT) /
+			  HISTOGRAM_GUARDBAND_PRECISION_FACTOR;
+
+	/* Enable histogram interrupt mode */
+	intel_de_rmw(display, DPST_GUARD(pipe),
+		     DPST_GUARD_THRESHOLD_GB_MASK |
+		     DPST_GUARD_INTERRUPT_DELAY_MASK | DPST_GUARD_HIST_INT_EN,
+		     DPST_GUARD_THRESHOLD_GB(gbandthreshold) |
+		     DPST_GUARD_INTERRUPT_DELAY(HISTOGRAM_DEFAULT_GUARDBAND_DELAY) |
+		     DPST_GUARD_HIST_INT_EN);
+
+	/* Clear pending interrupts has to be done on separate write */
+	intel_de_rmw(display, DPST_GUARD(pipe),
+		     DPST_GUARD_HIST_EVENT_STATUS, 1);
+
+	histogram->enable = true;
+
+	return 0;
+}
+
+static void intel_histogram_disable(struct intel_crtc *intel_crtc)
+{
+	struct intel_display *display = to_intel_display(intel_crtc);
+	struct intel_histogram *histogram = intel_crtc->histogram;
+	int pipe = intel_crtc->pipe;
+
+	if (!histogram)
+		return;
+
+	/* If already disabled return */
+	if (histogram->enable)
+		return;
+
+	/* Clear pending interrupts and disable interrupts */
+	intel_de_rmw(display, DPST_GUARD(pipe),
+		     DPST_GUARD_HIST_INT_EN | DPST_GUARD_HIST_EVENT_STATUS, 0);
+
+	/* disable DPST_CTL Histogram mode */
+	intel_de_rmw(display, DPST_CTL(pipe),
+		     DPST_CTL_IE_HIST_EN, 0);
+
+	histogram->enable = false;
+}
+
+int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable)
+{
+	if (enable)
+		return intel_histogram_enable(intel_crtc);
+
+	intel_histogram_disable(intel_crtc);
+	return 0;
+}
+
+int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data)
+{
+	struct intel_histogram *histogram = intel_crtc->histogram;
+	struct intel_display *display = to_intel_display(intel_crtc);
+	int pipe = intel_crtc->pipe;
+	int i = 0;
+
+	if (!histogram)
+		return -EINVAL;
+
+	if (!histogram->enable) {
+		drm_err(display->drm, "histogram not enabled");
+		return -EINVAL;
+	}
+
+	if (!data) {
+		drm_err(display->drm, "enhancement LUT data is NULL");
+		return -EINVAL;
+	}
+
+	/*
+	 * Set DPST_CTL Bin Reg function select to IE
+	 * Set DPST_CTL Bin Register Index to 0
+	 */
+	intel_de_rmw(display, DPST_CTL(pipe),
+		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK,
+		     DPST_CTL_BIN_REG_FUNC_IE | DPST_CTL_BIN_REG_CLEAR);
+
+	for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
+		intel_de_rmw(display, DPST_BIN(pipe),
+			     DPST_BIN_DATA_MASK, data[i]);
+		drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n", i, data[i]);
+	}
+
+	intel_de_rmw(display, DPST_CTL(pipe),
+		     DPST_CTL_ENHANCEMENT_MODE_MASK | DPST_CTL_IE_MODI_TABLE_EN,
+		     DPST_CTL_EN_MULTIPLICATIVE | DPST_CTL_IE_MODI_TABLE_EN);
+
+	/* Once IE is applied, change DPST CTL to TC */
+	intel_de_rmw(display, DPST_CTL(pipe),
+		     DPST_CTL_BIN_REG_FUNC_SEL, DPST_CTL_BIN_REG_FUNC_TC);
+
+	return 0;
+}
+
+void intel_histogram_finish(struct intel_crtc *intel_crtc)
+{
+	struct intel_histogram *histogram = intel_crtc->histogram;
+
+	kfree(histogram);
+}
+
+int intel_histogram_init(struct intel_crtc *intel_crtc)
+{
+	struct intel_histogram *histogram;
+
+	/* Allocate histogram internal struct */
+	histogram = kzalloc(sizeof(*histogram), GFP_KERNEL);
+	if (!histogram) {
+		return -ENOMEM;
+	}
+
+	intel_crtc->histogram = histogram;
+	histogram->crtc = intel_crtc;
+	histogram->can_enable = false;
+
+	return 0;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_histogram.h b/drivers/gpu/drm/i915/display/intel_histogram.h
new file mode 100644
index 000000000000..9d66724f9c53
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_histogram.h
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef __INTEL_HISTOGRAM_H__
+#define __INTEL_HISTOGRAM_H__
+
+#include <linux/types.h>
+
+struct intel_crtc;
+
+#define HISTOGRAM_BIN_COUNT                    32
+#define HISTOGRAM_IET_LENGTH                   33
+
+enum intel_global_hist_status {
+	INTEL_HISTOGRAM_ENABLE,
+	INTEL_HISTOGRAM_DISABLE,
+};
+
+enum intel_global_histogram {
+	INTEL_HISTOGRAM,
+};
+
+enum intel_global_hist_lut {
+	INTEL_HISTOGRAM_PIXEL_FACTOR,
+};
+
+int intel_histogram_atomic_check(struct intel_crtc *intel_crtc);
+int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable);
+int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data);
+int intel_histogram_init(struct intel_crtc *intel_crtc);
+void intel_histogram_finish(struct intel_crtc *intel_crtc);
+
+#endif /* __INTEL_HISTOGRAM_H__ */
-- 
2.25.1


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

* [PATCH 3/8] drm/xe: Add histogram support to Xe builds
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
  2024-11-19 10:45 ` [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram Arun R Murthy
  2024-11-19 10:45 ` [PATCHv4 2/8] drm/i915/histogram: Add support " Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-19 10:45 ` [PATCHv4 4/8] drm/i915/histogram: histogram interrupt handling Arun R Murthy
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy, Suraj Kandpal

Histogram added as part of i915/display driver. Adding the same for xe
as well.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/xe/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index a93e6fcc0ad9..d383b0d35d8e 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -245,6 +245,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
 	i915-display/intel_hdcp.o \
 	i915-display/intel_hdcp_gsc_message.o \
 	i915-display/intel_hdmi.o \
+	i915-display/intel_histogram.o \
 	i915-display/intel_hotplug.o \
 	i915-display/intel_hotplug_irq.o \
 	i915-display/intel_hti.o \
-- 
2.25.1


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

* [PATCHv4 4/8] drm/i915/histogram: histogram interrupt handling
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (2 preceding siblings ...)
  2024-11-19 10:45 ` [PATCH 3/8] drm/xe: Add histogram support to Xe builds Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-19 11:36   ` Jani Nikula
  2024-11-19 10:45 ` [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram Arun R Murthy
                   ` (12 subsequent siblings)
  16 siblings, 1 reply; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Upon enabling histogram an interrupt is trigerred after the generation
of the statistics. This patch registers the histogram interrupt and
handles the interrupt.

v2: Added intel_crtc backpointer to intel_histogram struct (Jani)
    Removed histogram_wq and instead use dev_priv->unodered_eq (Jani)
v3: Replaced drm_i915_private with intel_display (Suraj)
    Refactored the histogram read code (Jani)
v4: Rebased after addressing comments on patch 1

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 .../gpu/drm/i915/display/intel_display_irq.c  |  6 +-
 .../gpu/drm/i915/display/intel_histogram.c    | 93 +++++++++++++++++++
 .../gpu/drm/i915/display/intel_histogram.h    |  3 +
 drivers/gpu/drm/i915/i915_reg.h               |  5 +-
 4 files changed, 104 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
index f0d3bdb5fc60..cb60c9db4418 100644
--- a/drivers/gpu/drm/i915/display/intel_display_irq.c
+++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
@@ -20,6 +20,7 @@
 #include "intel_fdi_regs.h"
 #include "intel_fifo_underrun.h"
 #include "intel_gmbus.h"
+#include "intel_histogram.h"
 #include "intel_hotplug_irq.h"
 #include "intel_pipe_crc_regs.h"
 #include "intel_pmdemand.h"
@@ -1179,6 +1180,9 @@ void gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
 		if (iir & GEN8_PIPE_FIFO_UNDERRUN)
 			intel_cpu_fifo_underrun_irq_handler(dev_priv, pipe);
 
+		if (iir & GEN9_PIPE_HISTOGRAM_EVENT)
+			intel_histogram_irq_handler(display, pipe);
+
 		fault_errors = iir & gen8_de_pipe_fault_mask(dev_priv);
 		if (fault_errors)
 			drm_err_ratelimited(&dev_priv->drm,
@@ -1764,7 +1768,7 @@ void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
 	struct intel_uncore *uncore = &dev_priv->uncore;
 
 	u32 de_pipe_masked = gen8_de_pipe_fault_mask(dev_priv) |
-		GEN8_PIPE_CDCLK_CRC_DONE;
+		GEN8_PIPE_CDCLK_CRC_DONE | GEN9_PIPE_HISTOGRAM_EVENT;
 	u32 de_pipe_enables;
 	u32 de_port_masked = gen8_de_port_aux_mask(dev_priv);
 	u32 de_port_enables;
diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index e751977fc6f7..16f29923ef10 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -18,6 +18,8 @@
 #define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300    // 3.0% of the pipe's current pixel count.
 #define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000   // Precision factor for threshold guardband.
 #define HISTOGRAM_DEFAULT_GUARDBAND_DELAY 0x04
+#define HISTOGRAM_BIN_READ_RETRY_COUNT 5
+#define HISTOGRAM_BIN_READ_DELAY 2
 
 struct intel_histogram {
 	struct intel_crtc *crtc;
@@ -27,6 +29,92 @@ struct intel_histogram {
 	u32 bin_data[HISTOGRAM_BIN_COUNT];
 };
 
+static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
+{
+	struct intel_display *display = to_intel_display(intel_crtc);
+	struct intel_histogram *histogram = intel_crtc->histogram;
+	u8 index, retry_count;
+	u32 dpstbin;
+
+	index = 0;
+	retry_count = 0;
+
+	while (index < HISTOGRAM_BIN_COUNT) {
+		dpstbin = intel_de_read(display, DPST_BIN(intel_crtc->pipe));
+		if (!(dpstbin & DPST_BIN_BUSY)) {
+			histogram->bin_data[index] = dpstbin & DPST_BIN_DATA_MASK;
+			index++;
+		} else {
+			/*
+			 * If DPST_BIN busy bit is set, then set the
+			 * DPST_CTL bin reg index to 0 and proceed
+			 * from beginning.
+			 */
+			retry_count++;
+			if (retry_count > HISTOGRAM_BIN_READ_RETRY_COUNT) {
+				drm_err(display->drm, "Histogram bin read failed with max retry\n");
+				return false;
+			}
+			/* Add a delay before retrying */
+			fsleep(HISTOGRAM_BIN_READ_DELAY);
+			index = 0;
+			intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
+				     DPST_CTL_BIN_REG_FUNC_SEL |
+				     DPST_CTL_BIN_REG_MASK, 0);
+		}
+	}
+	return true;
+}
+
+static void intel_histogram_handle_int_work(struct work_struct *work)
+{
+	struct intel_histogram *histogram = container_of(work,
+		struct intel_histogram, work.work);
+	struct intel_crtc *intel_crtc = histogram->crtc;
+	struct intel_display *display = to_intel_display(intel_crtc);
+	char *histogram_event[] = {"HISTOGRAM=1", NULL};
+
+	/*
+	 * TODO: PSR to be exited while reading the Histogram data
+	 * Set DPST_CTL Bin Reg function select to TC
+	 * Set DPST_CTL Bin Register Index to 0
+	 */
+	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
+		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK, 0);
+	if (intel_histogram_get_data(intel_crtc)) {
+		/* Notify user for Histogram rediness */
+		if (kobject_uevent_env(&display->drm->primary->kdev->kobj,
+				       KOBJ_CHANGE, histogram_event))
+			drm_err(display->drm,
+				"sending HISTOGRAM event failed\n");
+	}
+
+	/* Enable histogram interrupt */
+	intel_de_rmw(display, DPST_GUARD(intel_crtc->pipe), DPST_GUARD_HIST_INT_EN,
+		     DPST_GUARD_HIST_INT_EN);
+
+	/* Clear histogram interrupt by setting histogram interrupt status bit*/
+	intel_de_rmw(display, DPST_GUARD(intel_crtc->pipe),
+		     DPST_GUARD_HIST_EVENT_STATUS, 1);
+}
+
+void intel_histogram_irq_handler(struct intel_display *display, enum pipe pipe)
+{
+	struct intel_crtc *intel_crtc =
+		to_intel_crtc(drm_crtc_from_index(display->drm, pipe));
+	struct intel_histogram *histogram = intel_crtc->histogram;
+	struct drm_i915_private *i915 = to_i915(intel_crtc->base.dev);
+
+	if (!histogram->enable) {
+		drm_err(display->drm,
+			"spurious interrupt, histogram not enabled\n");
+		return;
+	}
+
+	queue_delayed_work(i915->unordered_wq,
+			   &histogram->work, 0);
+}
+
 int intel_histogram_atomic_check(struct intel_crtc *intel_crtc)
 {
 	struct intel_histogram *histogram = intel_crtc->histogram;
@@ -113,6 +201,7 @@ static void intel_histogram_disable(struct intel_crtc *intel_crtc)
 	intel_de_rmw(display, DPST_CTL(pipe),
 		     DPST_CTL_IE_HIST_EN, 0);
 
+	cancel_delayed_work(&histogram->work);
 	histogram->enable = false;
 }
 
@@ -174,6 +263,7 @@ void intel_histogram_finish(struct intel_crtc *intel_crtc)
 {
 	struct intel_histogram *histogram = intel_crtc->histogram;
 
+	cancel_delayed_work_sync(&histogram->work);
 	kfree(histogram);
 }
 
@@ -191,5 +281,8 @@ int intel_histogram_init(struct intel_crtc *intel_crtc)
 	histogram->crtc = intel_crtc;
 	histogram->can_enable = false;
 
+	INIT_DEFERRABLE_WORK(&histogram->work,
+			     intel_histogram_handle_int_work);
+
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_histogram.h b/drivers/gpu/drm/i915/display/intel_histogram.h
index 9d66724f9c53..14f2425e3038 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.h
+++ b/drivers/gpu/drm/i915/display/intel_histogram.h
@@ -9,6 +9,8 @@
 #include <linux/types.h>
 
 struct intel_crtc;
+struct intel_display;
+enum pipe;
 
 #define HISTOGRAM_BIN_COUNT                    32
 #define HISTOGRAM_IET_LENGTH                   33
@@ -27,6 +29,7 @@ enum intel_global_hist_lut {
 };
 
 int intel_histogram_atomic_check(struct intel_crtc *intel_crtc);
+void intel_histogram_irq_handler(struct intel_display *display, enum pipe pipe);
 int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable);
 int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data);
 int intel_histogram_init(struct intel_crtc *intel_crtc);
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 7a35be56b7ef..40a7c6a77bcc 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1605,7 +1605,7 @@
 #define   PIPE_HOTPLUG_INTERRUPT_ENABLE		(1UL << 26)
 #define   PIPE_VSYNC_INTERRUPT_ENABLE		(1UL << 25)
 #define   PIPE_DISPLAY_LINE_COMPARE_ENABLE	(1UL << 24)
-#define   PIPE_DPST_EVENT_ENABLE		(1UL << 23)
+#define   PIPE_HISTOGRAM_EVENT_ENABLE		(1UL << 23)
 #define   SPRITE0_FLIP_DONE_INT_EN_VLV		(1UL << 22)
 #define   PIPE_LEGACY_BLC_EVENT_ENABLE		(1UL << 22)
 #define   PIPE_ODD_FIELD_INTERRUPT_ENABLE	(1UL << 21)
@@ -1628,7 +1628,7 @@
 #define   PIPE_HOTPLUG_INTERRUPT_STATUS		(1UL << 10)
 #define   PIPE_VSYNC_INTERRUPT_STATUS		(1UL << 9)
 #define   PIPE_DISPLAY_LINE_COMPARE_STATUS	(1UL << 8)
-#define   PIPE_DPST_EVENT_STATUS		(1UL << 7)
+#define   PIPE_HISTOGRAM_EVENT_STATUS		(1UL << 7)
 #define   PIPE_A_PSR_STATUS_VLV			(1UL << 6)
 #define   PIPE_LEGACY_BLC_EVENT_STATUS		(1UL << 6)
 #define   PIPE_ODD_FIELD_INTERRUPT_STATUS	(1UL << 5)
@@ -2470,6 +2470,7 @@
 #define  GEN12_DSB_1_INT		REG_BIT(14) /* tgl+ */
 #define  GEN12_DSB_0_INT		REG_BIT(13) /* tgl+ */
 #define  GEN12_DSB_INT(dsb_id)		REG_BIT(13 + (dsb_id))
+#define  GEN9_PIPE_HISTOGRAM_EVENT	REG_BIT(12) /* skl+ */
 #define  GEN9_PIPE_CURSOR_FAULT		REG_BIT(11) /* skl+ */
 #define  GEN9_PIPE_PLANE4_FAULT		REG_BIT(10) /* skl+ */
 #define  GEN8_PIPE_CURSOR_FAULT		REG_BIT(10) /* bdw */
-- 
2.25.1


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

* [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (3 preceding siblings ...)
  2024-11-19 10:45 ` [PATCHv4 4/8] drm/i915/histogram: histogram interrupt handling Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-19 11:41   ` Jani Nikula
  2024-11-20  8:33   ` Kandpal, Suraj
  2024-11-19 10:45 ` [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt reset Arun R Murthy
                   ` (11 subsequent siblings)
  16 siblings, 2 replies; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

CRTC properties have been added for enable/disable histogram, reading
the histogram data and writing the IET data.
"HISTOGRAM_EN" is the crtc property to enable/disable the global
histogram and takes a value 0/1 accordingly.
"Histogram" is a crtc property to read the binary histogram data.
"Global IET" is a crtc property to write the IET binary LUT data.

v2: Read the histogram blob data before sending uevent (Jani)
v3: use drm_property_replace_blob_from_id (Vandita)
    Add substruct for histogram in intel_crtc_state (Jani)
v4:  Rebased after addressing comments on patch 1
v5: histogram check with old/new crtc_state (Suraj)

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/i915/display/intel_atomic.c   |   5 +
 drivers/gpu/drm/i915/display/intel_crtc.c     | 168 +++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_crtc.h     |   5 +
 drivers/gpu/drm/i915/display/intel_display.c  |  18 ++
 .../drm/i915/display/intel_display_types.h    |  13 ++
 .../gpu/drm/i915/display/intel_histogram.c    |   6 +
 6 files changed, 214 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c b/drivers/gpu/drm/i915/display/intel_atomic.c
index 03dc54c802d3..a0d64a20b01e 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic.c
@@ -246,6 +246,8 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
 
 	__drm_atomic_helper_crtc_duplicate_state(crtc, &crtc_state->uapi);
 
+	if (crtc_state->histogram.global_iet)
+		drm_property_blob_get(crtc_state->histogram.global_iet);
 	/* copy color blobs */
 	if (crtc_state->hw.degamma_lut)
 		drm_property_blob_get(crtc_state->hw.degamma_lut);
@@ -278,6 +280,7 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
 	crtc_state->dsb_color_vblank = NULL;
 	crtc_state->dsb_commit = NULL;
 	crtc_state->use_dsb = false;
+	crtc_state->histogram.histogram_enable_changed = false;
 
 	return &crtc_state->uapi;
 }
@@ -314,6 +317,8 @@ intel_crtc_destroy_state(struct drm_crtc *crtc,
 	drm_WARN_ON(crtc->dev, crtc_state->dsb_color_vblank);
 	drm_WARN_ON(crtc->dev, crtc_state->dsb_commit);
 
+	if (crtc_state->histogram.global_iet)
+		drm_property_blob_put(crtc_state->histogram.global_iet);
 	__drm_atomic_helper_crtc_destroy_state(&crtc_state->uapi);
 	intel_crtc_free_hw_state(crtc_state);
 	if (crtc_state->dp_tunnel_ref.tunnel)
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index a2c528d707f4..3be81a5a789b 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -11,6 +11,7 @@
 #include <drm/drm_plane.h>
 #include <drm/drm_vblank.h>
 #include <drm/drm_vblank_work.h>
+#include <drm/drm_atomic_uapi.h>
 
 #include "i915_vgpu.h"
 #include "i9xx_plane.h"
@@ -27,6 +28,7 @@
 #include "intel_drrs.h"
 #include "intel_dsi.h"
 #include "intel_fifo_underrun.h"
+#include "intel_histogram.h"
 #include "intel_pipe_crc.h"
 #include "intel_psr.h"
 #include "intel_sprite.h"
@@ -210,6 +212,7 @@ static struct intel_crtc *intel_crtc_alloc(void)
 static void intel_crtc_free(struct intel_crtc *crtc)
 {
 	intel_crtc_destroy_state(&crtc->base, crtc->base.state);
+	intel_histogram_finish(crtc);
 	kfree(crtc);
 }
 
@@ -229,6 +232,66 @@ static int intel_crtc_late_register(struct drm_crtc *crtc)
 	return 0;
 }
 
+static int intel_crtc_get_property(struct drm_crtc *crtc,
+				   const struct drm_crtc_state *state,
+				   struct drm_property *property,
+				   uint64_t *val)
+{
+	struct drm_i915_private *i915 = to_i915(crtc->dev);
+	const struct intel_crtc_state *intel_crtc_state =
+		to_intel_crtc_state(state);
+	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+
+	if (property == intel_crtc->histogram_en_property) {
+		*val = intel_crtc_state->histogram.histogram_enable;
+	} else if (property == intel_crtc->global_iet_property) {
+		*val = (intel_crtc_state->histogram.global_iet) ?
+			intel_crtc_state->histogram.global_iet->base.id : 0;
+	} else if (property == intel_crtc->histogram_property) {
+		*val = (intel_crtc_state->histogram.histogram) ?
+			intel_crtc_state->histogram.histogram->base.id : 0;
+	} else {
+		drm_err(&i915->drm,
+			"Unknown property [PROP:%d:%s]\n",
+			property->base.id, property->name);
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static int intel_crtc_set_property(struct drm_crtc *crtc,
+				   struct drm_crtc_state *state,
+				   struct drm_property *property,
+				   u64 val)
+{
+	struct drm_i915_private *i915 = to_i915(crtc->dev);
+	struct intel_crtc_state *intel_crtc_state =
+		to_intel_crtc_state(state);
+	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+	bool replaced = false;
+
+	if (property == intel_crtc->histogram_en_property) {
+		intel_crtc_state->histogram.histogram_enable = val;
+		return 0;
+	}
+
+	if (property == intel_crtc->global_iet_property) {
+		drm_property_replace_blob_from_id(crtc->dev,
+						  &intel_crtc_state->histogram.global_iet,
+						  val,
+						  sizeof(uint32_t) * HISTOGRAM_IET_LENGTH,
+						  -1, &replaced);
+		if (replaced)
+			intel_crtc_state->histogram.global_iet_changed = true;
+		return 0;
+	}
+
+	drm_dbg_atomic(&i915->drm, "Unknown property [PROP:%d:%s]\n",
+		       property->base.id, property->name);
+	return -EINVAL;
+}
+
 #define INTEL_CRTC_FUNCS \
 	.set_config = drm_atomic_helper_set_config, \
 	.destroy = intel_crtc_destroy, \
@@ -238,7 +301,9 @@ static int intel_crtc_late_register(struct drm_crtc *crtc)
 	.set_crc_source = intel_crtc_set_crc_source, \
 	.verify_crc_source = intel_crtc_verify_crc_source, \
 	.get_crc_sources = intel_crtc_get_crc_sources, \
-	.late_register = intel_crtc_late_register
+	.late_register = intel_crtc_late_register, \
+	.atomic_set_property = intel_crtc_set_property, \
+	.atomic_get_property = intel_crtc_get_property
 
 static const struct drm_crtc_funcs bdw_crtc_funcs = {
 	INTEL_CRTC_FUNCS,
@@ -383,6 +448,10 @@ int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
 	intel_color_crtc_init(crtc);
 	intel_drrs_crtc_init(crtc);
 	intel_crtc_crc_init(crtc);
+	intel_histogram_init(crtc);
+
+	/* Initialize crtc properties */
+	intel_crtc_add_property(crtc);
 
 	cpu_latency_qos_add_request(&crtc->vblank_pm_qos, PM_QOS_DEFAULT_VALUE);
 
@@ -737,3 +806,100 @@ void intel_pipe_update_end(struct intel_atomic_state *state,
 out:
 	intel_psr_unlock(new_crtc_state);
 }
+
+static const struct drm_prop_enum_list histogram_enable_names[] = {
+	{ INTEL_HISTOGRAM_DISABLE, "Disable" },
+	{ INTEL_HISTOGRAM_ENABLE, "Enable" },
+};
+
+/**
+ * intel_attach_histogram_en_property() - add property to enable/disable histogram
+ * @intel_crtc: pointer to the struct intel_crtc on which the global histogram is to
+ *		be enabled/disabled
+ *
+ * "HISTOGRAM_EN" is the crtc propety to enable/disable global histogram
+ */
+void intel_attach_histogram_en_property(struct intel_crtc *intel_crtc)
+{
+	struct drm_crtc *crtc = &intel_crtc->base;
+	struct drm_device *dev = crtc->dev;
+	struct drm_property *prop;
+
+	prop = intel_crtc->histogram_en_property;
+	if (!prop) {
+		prop = drm_property_create_enum(dev, 0,
+						"Histogram_Enable",
+						histogram_enable_names,
+						ARRAY_SIZE(histogram_enable_names));
+		if (!prop)
+			return;
+
+		intel_crtc->histogram_en_property = prop;
+	}
+
+	drm_object_attach_property(&crtc->base, prop, 0);
+}
+
+/**
+ * intel_attach_global_iet_property() - add property to write Image Enhancement data
+ * @intel_crtc: pointer to the struct intel_crtc on which global histogram is enabled
+ *
+ * "Global IET" is the crtc property to write the Image Enhancement LUT binary data
+ */
+void intel_attach_global_iet_property(struct intel_crtc *intel_crtc)
+{
+	struct drm_crtc *crtc = &intel_crtc->base;
+	struct drm_device *dev = crtc->dev;
+	struct drm_property *prop;
+
+	prop = intel_crtc->global_iet_property;
+	if (!prop) {
+		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB | DRM_MODE_PROP_ATOMIC,
+					   "Global IET", 0);
+		if (!prop)
+			return;
+
+		intel_crtc->global_iet_property = prop;
+	}
+
+	drm_object_attach_property(&crtc->base, prop, 0);
+}
+
+/**
+ * intel_attach_histogram_property() - crtc property to read the histogram.
+ * @intel_crtc: pointer to the struct intel_crtc on which the global histogram
+ *		was enabled.
+ * "Global Histogram" is the crtc property to read the binary histogram data.
+ */
+void intel_attach_histogram_property(struct intel_crtc *intel_crtc)
+{
+	struct drm_crtc *crtc = &intel_crtc->base;
+	struct drm_device *dev = crtc->dev;
+	struct drm_property *prop;
+	struct drm_property_blob *blob;
+
+	prop = intel_crtc->histogram_property;
+	if (!prop) {
+		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB |
+					   DRM_MODE_PROP_ATOMIC |
+					   DRM_MODE_PROP_IMMUTABLE,
+					   "Global Histogram", 0);
+		if (!prop)
+			return;
+
+		intel_crtc->histogram_property = prop;
+	}
+	blob = drm_property_create_blob(dev, sizeof(uint32_t) * HISTOGRAM_BIN_COUNT, NULL);
+	intel_crtc->config->histogram.histogram = blob;
+
+	drm_object_attach_property(&crtc->base, prop, blob->base.id);
+}
+
+int intel_crtc_add_property(struct intel_crtc *intel_crtc)
+{
+	intel_attach_histogram_en_property(intel_crtc);
+	intel_attach_histogram_property(intel_crtc);
+	intel_attach_global_iet_property(intel_crtc);
+
+	return 0;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.h b/drivers/gpu/drm/i915/display/intel_crtc.h
index de54ae1deedf..4e0a3c43d4f8 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.h
+++ b/drivers/gpu/drm/i915/display/intel_crtc.h
@@ -7,6 +7,7 @@
 #define _INTEL_CRTC_H_
 
 #include <linux/types.h>
+#include <drm/drm_crtc.h>
 
 enum i9xx_plane_id;
 enum pipe;
@@ -59,4 +60,8 @@ void intel_wait_for_vblank_if_active(struct drm_i915_private *i915,
 				     enum pipe pipe);
 void intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc);
 
+int intel_crtc_add_property(struct intel_crtc *intel_crtc);
+void intel_attach_histogram_en_property(struct intel_crtc *intel_crtc);
+void intel_attach_global_iet_property(struct intel_crtc *intel_crtc);
+void intel_attach_histogram_property(struct intel_crtc *intel_crtc);
 #endif
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index e790a2de5b3d..0c3008a2d774 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -93,6 +93,7 @@
 #include "intel_fifo_underrun.h"
 #include "intel_frontbuffer.h"
 #include "intel_hdmi.h"
+#include "intel_histogram.h"
 #include "intel_hotplug.h"
 #include "intel_link_bw.h"
 #include "intel_lvds.h"
@@ -4607,6 +4608,10 @@ static int intel_crtc_atomic_check(struct intel_atomic_state *state,
 	if (ret)
 		return ret;
 
+	/* HISTOGRAM changed */
+	if (crtc_state->histogram.histogram_enable_changed)
+		return intel_histogram_atomic_check(crtc);
+
 	return 0;
 }
 
@@ -6826,6 +6831,11 @@ int intel_atomic_check(struct drm_device *dev,
 		if (new_crtc_state->uapi.scaling_filter !=
 		    old_crtc_state->uapi.scaling_filter)
 			new_crtc_state->uapi.mode_changed = true;
+
+		/* Histogram updates */
+		if (old_crtc_state->histogram.histogram_enable !=
+		    new_crtc_state->histogram.histogram_enable)
+			new_crtc_state->histogram.histogram_enable_changed = true;
 	}
 
 	intel_vrr_check_modeset(state);
@@ -7892,6 +7902,14 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
 		 */
 		old_crtc_state->dsb_color_vblank = fetch_and_zero(&new_crtc_state->dsb_color_vblank);
 		old_crtc_state->dsb_commit = fetch_and_zero(&new_crtc_state->dsb_commit);
+
+		/* Re-Visit: HISTOGRAM related stuff */
+		if (new_crtc_state->histogram.histogram_enable_changed)
+			intel_histogram_update(crtc,
+					       new_crtc_state->histogram.histogram_enable);
+		if (new_crtc_state->histogram.global_iet_changed)
+			intel_histogram_set_iet_lut(crtc,
+						    (u32 *)new_crtc_state->histogram.global_iet->data);
 	}
 
 	/* Underruns don't always raise interrupts, so check manually */
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 351441efd10a..300e90998463 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1306,6 +1306,15 @@ struct intel_crtc_state {
 
 	/* LOBF flag */
 	bool has_lobf;
+
+	/* Histogram data */
+	struct {
+		int histogram_enable;
+		struct drm_property_blob *global_iet;
+		struct drm_property_blob *histogram;
+		bool global_iet_changed;
+		bool histogram_enable_changed;
+	} histogram;
 };
 
 enum intel_pipe_crc_source {
@@ -1415,6 +1424,10 @@ struct intel_crtc {
 	struct pm_qos_request vblank_pm_qos;
 
 	struct intel_histogram *histogram;
+	/* HISTOGRAM properties */
+	struct drm_property *histogram_en_property;
+	struct drm_property *global_iet_property;
+	struct drm_property *histogram_property;
 
 #ifdef CONFIG_DEBUG_FS
 	struct intel_pipe_crc pipe_crc;
diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index 16f29923ef10..cba65f4260cd 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -82,6 +82,11 @@ static void intel_histogram_handle_int_work(struct work_struct *work)
 	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
 		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK, 0);
 	if (intel_histogram_get_data(intel_crtc)) {
+		drm_property_replace_global_blob(display->drm,
+				&intel_crtc->config->histogram.histogram,
+				sizeof(histogram->bin_data),
+				histogram->bin_data, &intel_crtc->base.base,
+				intel_crtc->histogram_property);
 		/* Notify user for Histogram rediness */
 		if (kobject_uevent_env(&display->drm->primary->kdev->kobj,
 				       KOBJ_CHANGE, histogram_event))
@@ -203,6 +208,7 @@ static void intel_histogram_disable(struct intel_crtc *intel_crtc)
 
 	cancel_delayed_work(&histogram->work);
 	histogram->enable = false;
+	intel_crtc->config->histogram.histogram_enable = false;
 }
 
 int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable)
-- 
2.25.1


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

* [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt reset
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (4 preceding siblings ...)
  2024-11-19 10:45 ` [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-20  9:09   ` Kandpal, Suraj
  2024-11-19 10:45 ` [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display 20+ Arun R Murthy
                   ` (10 subsequent siblings)
  16 siblings, 1 reply; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

The delay counter for histogram does not reset and as a result the
histogram bin never gets updated. Workaround would be to use save and
restore histogram register.
Wa: 14014889975

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/i915/display/intel_histogram.c  | 17 +++++++++++++++++
 .../gpu/drm/i915/display/intel_histogram_regs.h |  1 +
 2 files changed, 18 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index cba65f4260cd..fdcc64677e96 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -74,6 +74,11 @@ static void intel_histogram_handle_int_work(struct work_struct *work)
 	struct intel_display *display = to_intel_display(intel_crtc);
 	char *histogram_event[] = {"HISTOGRAM=1", NULL};
 
+	/* Wa: 14014889975 */
+	if (IS_DISPLAY_VER(display, 12, 13))
+		intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
+			     DPST_CTL_RESTORE, 0);
+
 	/*
 	 * TODO: PSR to be exited while reading the Histogram data
 	 * Set DPST_CTL Bin Reg function select to TC
@@ -94,6 +99,12 @@ static void intel_histogram_handle_int_work(struct work_struct *work)
 				"sending HISTOGRAM event failed\n");
 	}
 
+	/* Wa: 14014889975 */
+	if (IS_DISPLAY_VER(display, 12, 13))
+		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt Delay Counter(bit 23:16) */
+		intel_de_write(display, DPST_CTL(intel_crtc->pipe), intel_de_read(display,
+			       DPST_CTL(intel_crtc->pipe)) | DPST_CTL_RESTORE);
+
 	/* Enable histogram interrupt */
 	intel_de_rmw(display, DPST_GUARD(intel_crtc->pipe), DPST_GUARD_HIST_INT_EN,
 		     DPST_GUARD_HIST_INT_EN);
@@ -240,6 +251,12 @@ int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data)
 		return -EINVAL;
 	}
 
+	/* Wa: 14014889975 */
+	if (IS_DISPLAY_VER(display, 12, 13))
+		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt Delay Counter(bit 23:16) */
+		intel_de_write(display, DPST_CTL(intel_crtc->pipe), intel_de_read(display,
+			       DPST_CTL(intel_crtc->pipe)) | DPST_CTL_RESTORE);
+
 	/*
 	 * Set DPST_CTL Bin Reg function select to IE
 	 * Set DPST_CTL Bin Register Index to 0
diff --git a/drivers/gpu/drm/i915/display/intel_histogram_regs.h b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
index 1252b4f339a6..e50b1448bd40 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
@@ -16,6 +16,7 @@
 #define  DPST_CTL_RESTORE				REG_BIT(28)
 #define  DPST_CTL_IE_MODI_TABLE_EN			REG_BIT(27)
 #define  DPST_CTL_HIST_MODE				REG_BIT(24)
+#define  DPST_CTL_GUARDBAND_INTERRUPT_DELAY_CNT		REG_GENMASK(23, 16)
 #define  DPST_CTL_ENHANCEMENT_MODE_MASK			REG_GENMASK(14, 13)
 #define  DPST_CTL_EN_MULTIPLICATIVE			REG_FIELD_PREP(DPST_CTL_ENHANCEMENT_MODE_MASK, 2)
 #define  DPST_CTL_IE_TABLE_VALUE_FORMAT			REG_BIT(15)
-- 
2.25.1


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

* [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display 20+
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (5 preceding siblings ...)
  2024-11-19 10:45 ` [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt reset Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-20 10:25   ` Kandpal, Suraj
  2024-11-19 10:45 ` [PATCH 8/8] drm/i915/histogram: Enable pipe dithering Arun R Murthy
                   ` (9 subsequent siblings)
  16 siblings, 1 reply; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

In Display 20+, new registers are added for setting index, reading
histogram and writing the IET.

v2: Removed duplicate code (Jani)
v3: Moved histogram core changes to earlier patches (Jani/Suraj)
v4: Rebased after addressing comments on patch 1

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 .../gpu/drm/i915/display/intel_histogram.c    | 111 +++++++++++++-----
 .../drm/i915/display/intel_histogram_regs.h   |  25 ++++
 2 files changed, 105 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index fdcc64677e96..beaad9256e01 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -29,6 +29,51 @@ struct intel_histogram {
 	u32 bin_data[HISTOGRAM_BIN_COUNT];
 };
 
+static void set_bin_index_0(struct intel_display *display, enum pipe pipe)
+{
+	if (DISPLAY_VER(display) >= 20)
+		intel_de_rmw(display, DPST_IE_INDEX(pipe),
+			     DPST_IE_BIN_INDEX_MASK, DPST_IE_BIN_INDEX(0));
+	else
+		intel_de_rmw(display, DPST_CTL(pipe),
+			     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK,
+			     DPST_CTL_BIN_REG_FUNC_IE | DPST_CTL_BIN_REG_CLEAR);
+}
+
+static void write_iet(struct intel_display *display, enum pipe pipe,
+			      u32 *data)
+{
+	int i;
+
+	if (DISPLAY_VER(display) >= 20) {
+		for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
+			intel_de_rmw(display, DPST_IE_BIN(pipe),
+				     DPST_IE_BIN_DATA_MASK,
+				     DPST_IE_BIN_DATA(data[i]));
+			drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n",
+				       i, data[i]);
+		}
+	} else {
+		for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
+			intel_de_rmw(display, DPST_BIN(pipe),
+				     DPST_BIN_DATA_MASK, data[i]);
+			drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n",
+				       i, data[i]);
+		}
+	}
+}
+
+static void set_histogram_index_0(struct intel_display *display, enum pipe pipe)
+{
+	if (DISPLAY_VER(display) >= 20)
+		intel_de_rmw(display, DPST_HIST_INDEX(pipe),
+			     DPST_HIST_BIN_INDEX_MASK,
+			     DPST_HIST_BIN_INDEX(0));
+	else
+		intel_de_rmw(display, DPST_CTL(pipe),
+			     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK, 0);
+}
+
 static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
 {
 	struct intel_display *display = to_intel_display(intel_crtc);
@@ -40,9 +85,13 @@ static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
 	retry_count = 0;
 
 	while (index < HISTOGRAM_BIN_COUNT) {
-		dpstbin = intel_de_read(display, DPST_BIN(intel_crtc->pipe));
+		dpstbin = intel_de_read(display, (DISPLAY_VER(display) >= 20 ?
+					DPST_HIST_BIN(intel_crtc->pipe) :
+					DPST_BIN(intel_crtc->pipe)));
 		if (!(dpstbin & DPST_BIN_BUSY)) {
-			histogram->bin_data[index] = dpstbin & DPST_BIN_DATA_MASK;
+			histogram->bin_data[index] = dpstbin & (DISPLAY_VER(display) >= 20 ?
+							        DPST_HIST_BIN_DATA_MASK :
+							        DPST_BIN_DATA_MASK);
 			index++;
 		} else {
 			/*
@@ -58,9 +107,7 @@ static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
 			/* Add a delay before retrying */
 			fsleep(HISTOGRAM_BIN_READ_DELAY);
 			index = 0;
-			intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
-				     DPST_CTL_BIN_REG_FUNC_SEL |
-				     DPST_CTL_BIN_REG_MASK, 0);
+			set_histogram_index_0(display, intel_crtc->pipe);
 		}
 	}
 	return true;
@@ -84,8 +131,8 @@ static void intel_histogram_handle_int_work(struct work_struct *work)
 	 * Set DPST_CTL Bin Reg function select to TC
 	 * Set DPST_CTL Bin Register Index to 0
 	 */
-	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
-		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK, 0);
+	set_histogram_index_0(display, intel_crtc->pipe);
+
 	if (intel_histogram_get_data(intel_crtc)) {
 		drm_property_replace_global_blob(display->drm,
 				&intel_crtc->config->histogram.histogram,
@@ -158,13 +205,20 @@ static int intel_histogram_enable(struct intel_crtc *intel_crtc)
 	if (histogram->enable)
 		return 0;
 
-	 /* enable histogram, clear DPST_BIN reg and select TC function */
-	intel_de_rmw(display, DPST_CTL(pipe),
-		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_IE_HIST_EN |
-		     DPST_CTL_HIST_MODE | DPST_CTL_IE_TABLE_VALUE_FORMAT,
-		     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
-		     DPST_CTL_HIST_MODE_HSV |
-		     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC);
+	if (DISPLAY_VER(display) >= 20)
+		intel_de_rmw(display, DPST_CTL(pipe),
+			     DPST_CTL_IE_HIST_EN |
+			     DPST_CTL_HIST_MODE,
+			     DPST_CTL_IE_HIST_EN |
+			     DPST_CTL_HIST_MODE_HSV);
+	else
+		 /* enable histogram, clear DPST_BIN reg and select TC function */
+		intel_de_rmw(display, DPST_CTL(pipe),
+			     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_IE_HIST_EN |
+			     DPST_CTL_HIST_MODE | DPST_CTL_IE_TABLE_VALUE_FORMAT,
+			     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
+			     DPST_CTL_HIST_MODE_HSV |
+			     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC);
 
 	/* Re-Visit: check if wait for one vblank is required */
 	drm_crtc_wait_one_vblank(&intel_crtc->base);
@@ -236,7 +290,6 @@ int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data)
 	struct intel_histogram *histogram = intel_crtc->histogram;
 	struct intel_display *display = to_intel_display(intel_crtc);
 	int pipe = intel_crtc->pipe;
-	int i = 0;
 
 	if (!histogram)
 		return -EINVAL;
@@ -261,24 +314,20 @@ int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data)
 	 * Set DPST_CTL Bin Reg function select to IE
 	 * Set DPST_CTL Bin Register Index to 0
 	 */
-	intel_de_rmw(display, DPST_CTL(pipe),
-		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK,
-		     DPST_CTL_BIN_REG_FUNC_IE | DPST_CTL_BIN_REG_CLEAR);
-
-	for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
-		intel_de_rmw(display, DPST_BIN(pipe),
-			     DPST_BIN_DATA_MASK, data[i]);
-		drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n", i, data[i]);
+	set_bin_index_0(display, pipe);
+	write_iet(display, pipe, data);
+	if (DISPLAY_VER(display) < 20) {
+		intel_de_rmw(display, DPST_CTL(pipe),
+			     DPST_CTL_ENHANCEMENT_MODE_MASK |
+			     DPST_CTL_IE_MODI_TABLE_EN,
+			     DPST_CTL_EN_MULTIPLICATIVE |
+			     DPST_CTL_IE_MODI_TABLE_EN);
+		/* Once IE is applied, change DPST CTL to TC */
+		intel_de_rmw(display, DPST_CTL(pipe),
+			     DPST_CTL_BIN_REG_FUNC_SEL,
+			     DPST_CTL_BIN_REG_FUNC_TC);
 	}
 
-	intel_de_rmw(display, DPST_CTL(pipe),
-		     DPST_CTL_ENHANCEMENT_MODE_MASK | DPST_CTL_IE_MODI_TABLE_EN,
-		     DPST_CTL_EN_MULTIPLICATIVE | DPST_CTL_IE_MODI_TABLE_EN);
-
-	/* Once IE is applied, change DPST CTL to TC */
-	intel_de_rmw(display, DPST_CTL(pipe),
-		     DPST_CTL_BIN_REG_FUNC_SEL, DPST_CTL_BIN_REG_FUNC_TC);
-
 	return 0;
 }
 
diff --git a/drivers/gpu/drm/i915/display/intel_histogram_regs.h b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
index e50b1448bd40..2a52ac9282c1 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
@@ -44,6 +44,31 @@
 #define _DPST_BIN_B					0x491C4
 #define DPST_BIN(pipe)					_MMIO_PIPE(pipe, _DPST_BIN_A, _DPST_BIN_B)
 #define  DPST_BIN_DATA_MASK				REG_GENMASK(23, 0)
+#define  DPST_BIN_DATA					REG_FIELD_PREP(DPST_BIN_DATA_MASK, val)
 #define  DPST_BIN_BUSY					REG_BIT(31)
 
+#define _DPST_HIST_INDEX_A				0x490D8
+#define _DPST_HIST_INDEX_B				0x491D8
+#define DPST_HIST_INDEX(pipe)				_MMIO_PIPE(pipe, _DPST_HIST_INDEX_A, _DPST_HIST_INDEX_B)
+#define  DPST_HIST_BIN_INDEX_MASK			REG_GENMASK(4, 0)
+#define  DPST_HIST_BIN_INDEX(val)			REG_FIELD_PREP(DPST_HIST_BIN_INDEX_MASK, val)
+
+#define _DPST_HIST_BIN_A				0x490C4
+#define _DPST_HIST_BIN_B				0x491C4
+#define DPST_HIST_BIN(pipe)				_MMIO_PIPE(pipe, _DPST_HIST_BIN_A, _DPST_HIST_BIN_B)
+#define  DPST_HIST_BIN_BUSY				REG_BIT(31)
+#define  DPST_HIST_BIN_DATA_MASK				REG_GENMASK(30, 0)
+
+#define _DPST_IE_BIN_A					0x490CC
+#define _DPST_IE_BIN_B					0x491CC
+#define DPST_IE_BIN(pipe)				_MMIO_PIPE(pipe, _DPST_IE_BIN_A, _DPST_IE_BIN_B)
+#define	 DPST_IE_BIN_DATA_MASK				REG_GENMASK(9, 0)
+#define  DPST_IE_BIN_DATA(val)				REG_FIELD_PREP(DPST_IE_BIN_DATA_MASK, val)
+
+#define _DPST_IE_INDEX_A				0x490DC
+#define _DPST_IE_INDEX_B				0x491DC
+#define DPST_IE_INDEX(pipe)				_MMIO_PIPE(pipe, _DPST_IE_INDEX_A, _DPST_IE_INDEX_B)
+#define  DPST_IE_BIN_INDEX_MASK				REG_GENMASK(6, 0)
+#define  DPST_IE_BIN_INDEX(val)				REG_FIELD_PREP(DPST_IE_BIN_INDEX_MASK, val)
+
 #endif /* __INTEL_HISTOGRAM_REGS_H__ */
-- 
2.25.1


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

* [PATCH 8/8] drm/i915/histogram: Enable pipe dithering
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (6 preceding siblings ...)
  2024-11-19 10:45 ` [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display 20+ Arun R Murthy
@ 2024-11-19 10:45 ` Arun R Murthy
  2024-11-20  9:13   ` Kandpal, Suraj
  2024-11-19 11:16 ` ✓ CI.Patch_applied: success for Display Global Histogram (rev3) Patchwork
                   ` (8 subsequent siblings)
  16 siblings, 1 reply; 35+ messages in thread
From: Arun R Murthy @ 2024-11-19 10:45 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Enable pipe dithering while enabling histogram to overcome some
atrifacts seen on the screen.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/i915/display/intel_histogram.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index beaad9256e01..d3c63da7e491 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -29,6 +29,13 @@ struct intel_histogram {
 	u32 bin_data[HISTOGRAM_BIN_COUNT];
 };
 
+static void intel_histogram_enable_dithering(struct intel_display *display,
+					     enum pipe pipe)
+{
+	intel_de_rmw(display, PIPE_MISC(pipe), PIPE_MISC_DITHER_ENABLE,
+		     PIPE_MISC_DITHER_ENABLE);
+}
+
 static void set_bin_index_0(struct intel_display *display, enum pipe pipe)
 {
 	if (DISPLAY_VER(display) >= 20)
@@ -205,6 +212,9 @@ static int intel_histogram_enable(struct intel_crtc *intel_crtc)
 	if (histogram->enable)
 		return 0;
 
+	/* Pipe Dithering should be enabled with histogram */
+	intel_histogram_enable_dithering(display, pipe);
+
 	if (DISPLAY_VER(display) >= 20)
 		intel_de_rmw(display, DPST_CTL(pipe),
 			     DPST_CTL_IE_HIST_EN |
-- 
2.25.1


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

* ✓ CI.Patch_applied: success for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (7 preceding siblings ...)
  2024-11-19 10:45 ` [PATCH 8/8] drm/i915/histogram: Enable pipe dithering Arun R Murthy
@ 2024-11-19 11:16 ` Patchwork
  2024-11-19 11:17 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 11:16 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 6af9eb4707b2 drm-tip: 2024y-11m-19d-10h-07m-34s UTC integration manifest
=== git am output follows ===
Applying: drm/i915/histogram: Define registers for histogram
Applying: drm/i915/histogram: Add support for histogram
Applying: drm/xe: Add histogram support to Xe builds
Applying: drm/i915/histogram: histogram interrupt handling
Applying: drm/i915/histogram: Add crtc properties for global histogram
Applying: drm/i915/histogram: histogram delay counter doesnt reset
Applying: drm/i915/histogram: Histogram changes for Display 20+
Applying: drm/i915/histogram: Enable pipe dithering



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

* ✗ CI.checkpatch: warning for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (8 preceding siblings ...)
  2024-11-19 11:16 ` ✓ CI.Patch_applied: success for Display Global Histogram (rev3) Patchwork
@ 2024-11-19 11:17 ` Patchwork
  2024-11-19 11:18 ` ✓ CI.KUnit: success " Patchwork
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 11:17 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit d7e3164ab6e17e7a55d8c73560bb1c0e13c60546
Author: Arun R Murthy <arun.r.murthy@intel.com>
Date:   Tue Nov 19 16:15:21 2024 +0530

    drm/i915/histogram: Enable pipe dithering
    
    Enable pipe dithering while enabling histogram to overcome some
    atrifacts seen on the screen.
    
    Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
+ /mt/dim checkpatch 6af9eb4707b2f65024ac9412f3a9d76cc2516a9a drm-intel
4cebf6f89176 drm/i915/histogram: Define registers for histogram
-:13: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#13: 
new file mode 100644

-:18: WARNING:SPDX_LICENSE_TAG: Improper SPDX comment style for 'drivers/gpu/drm/i915/display/intel_histogram_regs.h', please use '/*' instead
#18: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:1:
+// SPDX-License-Identifier: MIT

-:18: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier tag in line 1
#18: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:1:
+// SPDX-License-Identifier: MIT

-:37: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#37: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:20:
+#define  DPST_CTL_EN_MULTIPLICATIVE			REG_FIELD_PREP(DPST_CTL_ENHANCEMENT_MODE_MASK, 2)

-:44: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#44: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:27:
+#define  DPST_CTL_IE_TABLE_VALUE_FORMAT_2INT_8FRAC	REG_FIELD_PREP(DPST_CTL_IE_TABLE_VALUE_FORMAT, 1)

-:45: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#45: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:28:
+#define  DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC	REG_FIELD_PREP(DPST_CTL_IE_TABLE_VALUE_FORMAT, 0)

-:51: WARNING:LONG_LINE: line length of 102 exceeds 100 columns
#51: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:34:
+#define DPST_GUARD(pipe)				_MMIO_PIPE(pipe, _DPST_GUARD_A, _DPST_GUARD_B)

-:55: WARNING:LONG_LINE: line length of 116 exceeds 100 columns
#55: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:38:
+#define  DPST_GUARD_INTERRUPT_DELAY(val)			REG_FIELD_PREP(DPST_GUARD_INTERRUPT_DELAY_MASK, val)

-:57: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#57: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:40:
+#define  DPST_GUARD_THRESHOLD_GB(val)			REG_FIELD_PREP(DPST_GUARD_THRESHOLD_GB_MASK, val)

total: 0 errors, 9 warnings, 0 checks, 48 lines checked
d77cc5e7bd76 drm/i915/histogram: Add support for histogram
-:46: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#46: 
new file mode 100644

-:236: WARNING:BRACES: braces {} are not necessary for single statement blocks
#236: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:186:
+	if (!histogram) {
+		return -ENOMEM;
+	}

-:252: WARNING:SPDX_LICENSE_TAG: Improper SPDX comment style for 'drivers/gpu/drm/i915/display/intel_histogram.h', please use '/*' instead
#252: FILE: drivers/gpu/drm/i915/display/intel_histogram.h:1:
+// SPDX-License-Identifier: MIT

-:252: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier tag in line 1
#252: FILE: drivers/gpu/drm/i915/display/intel_histogram.h:1:
+// SPDX-License-Identifier: MIT

total: 0 errors, 4 warnings, 0 checks, 245 lines checked
8d1c40b3e90e drm/xe: Add histogram support to Xe builds
e29c1c732cf8 drm/i915/histogram: histogram interrupt handling
-:6: WARNING:TYPO_SPELLING: 'trigerred' may be misspelled - perhaps 'triggered'?
#6: 
Upon enabling histogram an interrupt is trigerred after the generation
                                        ^^^^^^^^^

-:109: WARNING:STATIC_CONST_CHAR_ARRAY: char * array declaration might be better as static const
#109: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:75:
+	char *histogram_event[] = {"HISTOGRAM=1", NULL};

total: 0 errors, 2 warnings, 0 checks, 184 lines checked
e5191997ffdf drm/i915/histogram: Add crtc properties for global histogram
-:336: WARNING:LONG_LINE: line length of 103 exceeds 100 columns
#336: FILE: drivers/gpu/drm/i915/display/intel_display.c:7917:
+						    (u32 *)new_crtc_state->histogram.global_iet->data);

-:380: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#380: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:86:
+		drm_property_replace_global_blob(display->drm,
+				&intel_crtc->config->histogram.histogram,

total: 0 errors, 1 warnings, 1 checks, 330 lines checked
400955f89641 drm/i915/histogram: histogram delay counter doesnt reset
-:4: WARNING:TYPO_SPELLING: 'doesnt' may be misspelled - perhaps 'doesn't'?
#4: 
Subject: [PATCH] drm/i915/histogram: histogram delay counter doesnt reset
                                                             ^^^^^^

-:35: WARNING:LONG_LINE_COMMENT: line length of 103 exceeds 100 columns
#35: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:104:
+		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt Delay Counter(bit 23:16) */

-:37: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#37: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:106:
+		intel_de_write(display, DPST_CTL(intel_crtc->pipe), intel_de_read(display,
+			       DPST_CTL(intel_crtc->pipe)) | DPST_CTL_RESTORE);

-:48: WARNING:LONG_LINE_COMMENT: line length of 103 exceeds 100 columns
#48: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:256:
+		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt Delay Counter(bit 23:16) */

-:50: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#50: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:258:
+		intel_de_write(display, DPST_CTL(intel_crtc->pipe), intel_de_read(display,
+			       DPST_CTL(intel_crtc->pipe)) | DPST_CTL_RESTORE);

total: 0 errors, 3 warnings, 2 checks, 42 lines checked
268953cf52d8 drm/i915/histogram: Histogram changes for Display 20+
-:35: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#35: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:44:
+static void write_iet(struct intel_display *display, enum pipe pipe,
+			      u32 *data)

-:82: ERROR:CODE_INDENT: code indent should use tabs where possible
#82: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:93:
+^I^I^I^I^I^I^I        DPST_HIST_BIN_DATA_MASK :$

-:83: ERROR:CODE_INDENT: code indent should use tabs where possible
#83: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:94:
+^I^I^I^I^I^I^I        DPST_BIN_DATA_MASK);$

-:195: WARNING:LONG_LINE: line length of 112 exceeds 100 columns
#195: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:52:
+#define DPST_HIST_INDEX(pipe)				_MMIO_PIPE(pipe, _DPST_HIST_INDEX_A, _DPST_HIST_INDEX_B)

-:197: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#197: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:54:
+#define  DPST_HIST_BIN_INDEX(val)			REG_FIELD_PREP(DPST_HIST_BIN_INDEX_MASK, val)

-:201: WARNING:LONG_LINE: line length of 108 exceeds 100 columns
#201: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:58:
+#define DPST_HIST_BIN(pipe)				_MMIO_PIPE(pipe, _DPST_HIST_BIN_A, _DPST_HIST_BIN_B)

-:207: WARNING:LONG_LINE: line length of 104 exceeds 100 columns
#207: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:64:
+#define DPST_IE_BIN(pipe)				_MMIO_PIPE(pipe, _DPST_IE_BIN_A, _DPST_IE_BIN_B)

-:213: WARNING:LONG_LINE: line length of 108 exceeds 100 columns
#213: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:70:
+#define DPST_IE_INDEX(pipe)				_MMIO_PIPE(pipe, _DPST_IE_INDEX_A, _DPST_IE_INDEX_B)

total: 2 errors, 5 warnings, 1 checks, 187 lines checked
d7e3164ab6e1 drm/i915/histogram: Enable pipe dithering



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

* ✓ CI.KUnit: success for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (9 preceding siblings ...)
  2024-11-19 11:17 ` ✗ CI.checkpatch: warning " Patchwork
@ 2024-11-19 11:18 ` Patchwork
  2024-11-19 11:36 ` ✓ CI.Build: " Patchwork
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 11:18 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[11:17:18] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:17:26] 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)
      |      ^~~~~~~~~~~~~~~~~

[11:17:56] Starting KUnit Kernel (1/1)...
[11:17:56] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[11:17:56] =================== guc_dbm (7 subtests) ===================
[11:17:56] [PASSED] test_empty
[11:17:56] [PASSED] test_default
[11:17:56] ======================== test_size  ========================
[11:17:56] [PASSED] 4
[11:17:56] [PASSED] 8
[11:17:56] [PASSED] 32
[11:17:56] [PASSED] 256
[11:17:56] ==================== [PASSED] test_size ====================
[11:17:56] ======================= test_reuse  ========================
[11:17:56] [PASSED] 4
[11:17:56] [PASSED] 8
[11:17:56] [PASSED] 32
[11:17:56] [PASSED] 256
[11:17:56] =================== [PASSED] test_reuse ====================
[11:17:56] =================== test_range_overlap  ====================
[11:17:56] [PASSED] 4
[11:17:56] [PASSED] 8
[11:17:56] [PASSED] 32
[11:17:56] [PASSED] 256
[11:17:56] =============== [PASSED] test_range_overlap ================
[11:17:56] =================== test_range_compact  ====================
[11:17:56] [PASSED] 4
[11:17:56] [PASSED] 8
[11:17:56] [PASSED] 32
[11:17:56] [PASSED] 256
[11:17:56] =============== [PASSED] test_range_compact ================
[11:17:56] ==================== test_range_spare  =====================
[11:17:56] [PASSED] 4
[11:17:56] [PASSED] 8
[11:17:56] [PASSED] 32
[11:17:56] [PASSED] 256
[11:17:56] ================ [PASSED] test_range_spare =================
[11:17:56] ===================== [PASSED] guc_dbm =====================
[11:17:56] =================== guc_idm (6 subtests) ===================
[11:17:56] [PASSED] bad_init
[11:17:56] [PASSED] no_init
[11:17:56] [PASSED] init_fini
[11:17:56] [PASSED] check_used
[11:17:56] [PASSED] check_quota
[11:17:56] [PASSED] check_all
[11:17:56] ===================== [PASSED] guc_idm =====================
[11:17:56] ================== no_relay (3 subtests) ===================
[11:17:56] [PASSED] xe_drops_guc2pf_if_not_ready
[11:17:56] [PASSED] xe_drops_guc2vf_if_not_ready
[11:17:56] [PASSED] xe_rejects_send_if_not_ready
[11:17:56] ==================== [PASSED] no_relay =====================
[11:17:56] ================== pf_relay (14 subtests) ==================
[11:17:56] [PASSED] pf_rejects_guc2pf_too_short
[11:17:56] [PASSED] pf_rejects_guc2pf_too_long
[11:17:56] [PASSED] pf_rejects_guc2pf_no_payload
[11:17:56] [PASSED] pf_fails_no_payload
[11:17:56] [PASSED] pf_fails_bad_origin
[11:17:56] [PASSED] pf_fails_bad_type
[11:17:56] [PASSED] pf_txn_reports_error
[11:17:56] [PASSED] pf_txn_sends_pf2guc
[11:17:56] [PASSED] pf_sends_pf2guc
[11:17:56] [SKIPPED] pf_loopback_nop
[11:17:56] [SKIPPED] pf_loopback_echo
[11:17:56] [SKIPPED] pf_loopback_fail
[11:17:56] [SKIPPED] pf_loopback_busy
[11:17:56] [SKIPPED] pf_loopback_retry
[11:17:56] ==================== [PASSED] pf_relay =====================
[11:17:56] ================== vf_relay (3 subtests) ===================
[11:17:56] [PASSED] vf_rejects_guc2vf_too_short
[11:17:56] [PASSED] vf_rejects_guc2vf_too_long
[11:17:56] [PASSED] vf_rejects_guc2vf_no_payload
[11:17:56] ==================== [PASSED] vf_relay =====================
[11:17:56] ================= pf_service (11 subtests) =================
[11:17:56] [PASSED] pf_negotiate_any
[11:17:56] [PASSED] pf_negotiate_base_match
[11:17:56] [PASSED] pf_negotiate_base_newer
[11:17:56] [PASSED] pf_negotiate_base_next
[11:17:56] [SKIPPED] pf_negotiate_base_older
[11:17:56] [PASSED] pf_negotiate_base_prev
[11:17:56] [PASSED] pf_negotiate_latest_match
[11:17:56] [PASSED] pf_negotiate_latest_newer
[11:17:56] [PASSED] pf_negotiate_latest_next
[11:17:56] [SKIPPED] pf_negotiate_latest_older
[11:17:56] [SKIPPED] pf_negotiate_latest_prev
[11:17:56] =================== [PASSED] pf_service ====================
[11:17:56] ===================== lmtt (1 subtest) =====================
[11:17:56] ======================== test_ops  =========================
[11:17:56] [PASSED] 2-level
[11:17:56] [PASSED] multi-level
[11:17:56] ==================== [PASSED] test_ops =====================
[11:17:56] ====================== [PASSED] lmtt =======================
[11:17:56] =================== xe_mocs (2 subtests) ===================
[11:17:56] ================ xe_live_mocs_kernel_kunit  ================
[11:17:56] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[11:17:56] ================ xe_live_mocs_reset_kunit  =================
[11:17:56] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[11:17:56] ==================== [SKIPPED] xe_mocs =====================
[11:17:56] ================= xe_migrate (2 subtests) ==================
[11:17:56] ================= xe_migrate_sanity_kunit  =================
[11:17:56] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[11:17:56] ================== xe_validate_ccs_kunit  ==================
[11:17:56] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[11:17:56] =================== [SKIPPED] xe_migrate ===================
[11:17:56] ================== xe_dma_buf (1 subtest) ==================
[11:17:56] ==================== xe_dma_buf_kunit  =====================
[11:17:56] ================ [SKIPPED] xe_dma_buf_kunit ================
[11:17:56] =================== [SKIPPED] xe_dma_buf ===================
[11:17:56] ==================== xe_bo (3 subtests) ====================
[11:17:56] ================== xe_ccs_migrate_kunit  ===================
[11:17:56] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[11:17:56] ==================== xe_bo_evict_kunit  ====================
[11:17:56] =============== [SKIPPED] xe_bo_evict_kunit ================
[11:17:56] =================== xe_bo_shrink_kunit  ====================
[11:17:56] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[11:17:56] ===================== [SKIPPED] xe_bo ======================
[11:17:56] ==================== args (11 subtests) ====================
[11:17:56] [PASSED] count_args_test
[11:17:56] [PASSED] call_args_example
[11:17:56] [PASSED] call_args_test
[11:17:56] [PASSED] drop_first_arg_example
[11:17:56] [PASSED] drop_first_arg_test
[11:17:56] [PASSED] first_arg_example
[11:17:56] [PASSED] first_arg_test
[11:17:56] [PASSED] last_arg_example
[11:17:56] [PASSED] last_arg_test
[11:17:56] [PASSED] pick_arg_example
[11:17:56] [PASSED] sep_comma_examplestty: 'standard input': Inappropriate ioctl for device

[11:17:56] ====================== [PASSED] args =======================
[11:17:56] =================== xe_pci (2 subtests) ====================
[11:17:56] [PASSED] xe_gmdid_graphics_ip
[11:17:56] [PASSED] xe_gmdid_media_ip
[11:17:56] ===================== [PASSED] xe_pci ======================
[11:17:56] =================== xe_rtp (2 subtests) ====================
[11:17:56] =============== xe_rtp_process_to_sr_tests  ================
[11:17:56] [PASSED] coalesce-same-reg
[11:17:56] [PASSED] no-match-no-add
[11:17:56] [PASSED] match-or
[11:17:56] [PASSED] match-or-xfail
[11:17:56] [PASSED] no-match-no-add-multiple-rules
[11:17:56] [PASSED] two-regs-two-entries
[11:17:56] [PASSED] clr-one-set-other
[11:17:56] [PASSED] set-field
[11:17:56] [PASSED] conflict-duplicate
[11:17:56] [PASSED] conflict-not-disjoint
[11:17:56] [PASSED] conflict-reg-type
[11:17:56] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[11:17:56] ================== xe_rtp_process_tests  ===================
[11:17:56] [PASSED] active1
[11:17:56] [PASSED] active2
[11:17:56] [PASSED] active-inactive
[11:17:56] [PASSED] inactive-active
[11:17:56] [PASSED] inactive-1st_or_active-inactive
[11:17:56] [PASSED] inactive-2nd_or_active-inactive
[11:17:56] [PASSED] inactive-last_or_active-inactive
[11:17:56] [PASSED] inactive-no_or_active-inactive
[11:17:56] ============== [PASSED] xe_rtp_process_tests ===============
[11:17:56] ===================== [PASSED] xe_rtp ======================
[11:17:56] ==================== xe_wa (1 subtest) =====================
[11:17:56] ======================== xe_wa_gt  =========================
[11:17:56] [PASSED] TIGERLAKE (B0)
[11:17:56] [PASSED] DG1 (A0)
[11:17:56] [PASSED] DG1 (B0)
[11:17:56] [PASSED] ALDERLAKE_S (A0)
[11:17:56] [PASSED] ALDERLAKE_S (B0)
[11:17:56] [PASSED] ALDERLAKE_S (C0)
[11:17:56] [PASSED] ALDERLAKE_S (D0)
[11:17:56] [PASSED] ALDERLAKE_P (A0)
[11:17:56] [PASSED] ALDERLAKE_P (B0)
[11:17:56] [PASSED] ALDERLAKE_P (C0)
[11:17:56] [PASSED] ALDERLAKE_S_RPLS (D0)
[11:17:56] [PASSED] ALDERLAKE_P_RPLU (E0)
[11:17:56] [PASSED] DG2_G10 (C0)
[11:17:56] [PASSED] DG2_G11 (B1)
[11:17:56] [PASSED] DG2_G12 (A1)
[11:17:56] [PASSED] METEORLAKE (g:A0, m:A0)
[11:17:56] [PASSED] METEORLAKE (g:A0, m:A0)
[11:17:56] [PASSED] METEORLAKE (g:A0, m:A0)
[11:17:56] [PASSED] LUNARLAKE (g:A0, m:A0)
[11:17:56] [PASSED] LUNARLAKE (g:B0, m:A0)
[11:17:56] [PASSED] BATTLEMAGE (g:A0, m:A1)
[11:17:56] ==================== [PASSED] xe_wa_gt =====================
[11:17:56] ====================== [PASSED] xe_wa ======================
[11:17:56] ============================================================
[11:17:56] Testing complete. Ran 122 tests: passed: 106, skipped: 16
[11:17:56] Elapsed time: 38.244s total, 7.427s configuring, 30.550s building, 0.222s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[11:17:57] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:17:58] 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)
      |      ^~~~~~~~~~~~~~~~~

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

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

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



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

* ✓ CI.Build: success for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (10 preceding siblings ...)
  2024-11-19 11:18 ` ✓ CI.KUnit: success " Patchwork
@ 2024-11-19 11:36 ` Patchwork
  2024-11-19 11:38 ` ✗ CI.Hooks: failure " Patchwork
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 11:36 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
State : success

== Summary ==

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



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

* Re: [PATCHv4 4/8] drm/i915/histogram: histogram interrupt handling
  2024-11-19 10:45 ` [PATCHv4 4/8] drm/i915/histogram: histogram interrupt handling Arun R Murthy
@ 2024-11-19 11:36   ` Jani Nikula
  2024-11-21  3:08     ` Murthy, Arun R
  0 siblings, 1 reply; 35+ messages in thread
From: Jani Nikula @ 2024-11-19 11:36 UTC (permalink / raw)
  To: Arun R Murthy, intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

On Tue, 19 Nov 2024, Arun R Murthy <arun.r.murthy@intel.com> wrote:
> Upon enabling histogram an interrupt is trigerred after the generation
> of the statistics. This patch registers the histogram interrupt and
> handles the interrupt.
>
> v2: Added intel_crtc backpointer to intel_histogram struct (Jani)
>     Removed histogram_wq and instead use dev_priv->unodered_eq (Jani)
> v3: Replaced drm_i915_private with intel_display (Suraj)
>     Refactored the histogram read code (Jani)
> v4: Rebased after addressing comments on patch 1
>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  .../gpu/drm/i915/display/intel_display_irq.c  |  6 +-
>  .../gpu/drm/i915/display/intel_histogram.c    | 93 +++++++++++++++++++
>  .../gpu/drm/i915/display/intel_histogram.h    |  3 +
>  drivers/gpu/drm/i915/i915_reg.h               |  5 +-
>  4 files changed, 104 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
> index f0d3bdb5fc60..cb60c9db4418 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> @@ -20,6 +20,7 @@
>  #include "intel_fdi_regs.h"
>  #include "intel_fifo_underrun.h"
>  #include "intel_gmbus.h"
> +#include "intel_histogram.h"
>  #include "intel_hotplug_irq.h"
>  #include "intel_pipe_crc_regs.h"
>  #include "intel_pmdemand.h"
> @@ -1179,6 +1180,9 @@ void gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
>  		if (iir & GEN8_PIPE_FIFO_UNDERRUN)
>  			intel_cpu_fifo_underrun_irq_handler(dev_priv, pipe);
>  
> +		if (iir & GEN9_PIPE_HISTOGRAM_EVENT)
> +			intel_histogram_irq_handler(display, pipe);
> +
>  		fault_errors = iir & gen8_de_pipe_fault_mask(dev_priv);
>  		if (fault_errors)
>  			drm_err_ratelimited(&dev_priv->drm,
> @@ -1764,7 +1768,7 @@ void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
>  	struct intel_uncore *uncore = &dev_priv->uncore;
>  
>  	u32 de_pipe_masked = gen8_de_pipe_fault_mask(dev_priv) |
> -		GEN8_PIPE_CDCLK_CRC_DONE;
> +		GEN8_PIPE_CDCLK_CRC_DONE | GEN9_PIPE_HISTOGRAM_EVENT;
>  	u32 de_pipe_enables;
>  	u32 de_port_masked = gen8_de_port_aux_mask(dev_priv);
>  	u32 de_port_enables;
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
> index e751977fc6f7..16f29923ef10 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -18,6 +18,8 @@
>  #define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300    // 3.0% of the pipe's current pixel count.
>  #define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000   // Precision factor for threshold guardband.
>  #define HISTOGRAM_DEFAULT_GUARDBAND_DELAY 0x04
> +#define HISTOGRAM_BIN_READ_RETRY_COUNT 5
> +#define HISTOGRAM_BIN_READ_DELAY 2

The above are only used once each. Please just put the values
inline. Here, you don't even know what "2" means without looking up the
code.

>  
>  struct intel_histogram {
>  	struct intel_crtc *crtc;
> @@ -27,6 +29,92 @@ struct intel_histogram {
>  	u32 bin_data[HISTOGRAM_BIN_COUNT];
>  };
>  
> +static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
> +{
> +	struct intel_display *display = to_intel_display(intel_crtc);
> +	struct intel_histogram *histogram = intel_crtc->histogram;
> +	u8 index, retry_count;

These should be ints.

> +	u32 dpstbin;
> +
> +	index = 0;
> +	retry_count = 0;
> +
> +	while (index < HISTOGRAM_BIN_COUNT) {

This should be a for loop

	for (index = 0; index < ARRAY_SIZE(histogram->bin_data); i++)

Any retries should be handled in a separate loop instead of abusing the
top level loop for two things.

Based on how this is now, looks like the retry loop should be outside of
this function altogether? I.e. a single busy response leads to retry
from start?

> +		dpstbin = intel_de_read(display, DPST_BIN(intel_crtc->pipe));
> +		if (!(dpstbin & DPST_BIN_BUSY)) {
> +			histogram->bin_data[index] = dpstbin & DPST_BIN_DATA_MASK;
> +			index++;
> +		} else {
> +			/*
> +			 * If DPST_BIN busy bit is set, then set the
> +			 * DPST_CTL bin reg index to 0 and proceed
> +			 * from beginning.
> +			 */

That's just saying the same thing as the code in English. What's the
point?

> +			retry_count++;
> +			if (retry_count > HISTOGRAM_BIN_READ_RETRY_COUNT) {
> +				drm_err(display->drm, "Histogram bin read failed with max retry\n");
> +				return false;
> +			}
> +			/* Add a delay before retrying */

The comment says the same thing as the code.

> +			fsleep(HISTOGRAM_BIN_READ_DELAY);
> +			index = 0;
> +			intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> +				     DPST_CTL_BIN_REG_FUNC_SEL |
> +				     DPST_CTL_BIN_REG_MASK, 0);

This is duplicated; see the retry loop placement.

> +		}
> +	}
> +	return true;
> +}
> +
> +static void intel_histogram_handle_int_work(struct work_struct *work)
> +{
> +	struct intel_histogram *histogram = container_of(work,
> +		struct intel_histogram, work.work);
> +	struct intel_crtc *intel_crtc = histogram->crtc;
> +	struct intel_display *display = to_intel_display(intel_crtc);
> +	char *histogram_event[] = {"HISTOGRAM=1", NULL};

Not sure it's great that this is a global uevent instead of having more
detailed information. Maybe it should have the CRTC details?

> +
> +	/*
> +	 * TODO: PSR to be exited while reading the Histogram data
> +	 * Set DPST_CTL Bin Reg function select to TC
> +	 * Set DPST_CTL Bin Register Index to 0
> +	 */
> +	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> +		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK, 0);
> +	if (intel_histogram_get_data(intel_crtc)) {
> +		/* Notify user for Histogram rediness */
> +		if (kobject_uevent_env(&display->drm->primary->kdev->kobj,
> +				       KOBJ_CHANGE, histogram_event))
> +			drm_err(display->drm,
> +				"sending HISTOGRAM event failed\n");
> +	}

So you probably want to add the retry loop here. This avoids duplicating
the DPST_CTL rmw.

> +
> +	/* Enable histogram interrupt */
> +	intel_de_rmw(display, DPST_GUARD(intel_crtc->pipe), DPST_GUARD_HIST_INT_EN,
> +		     DPST_GUARD_HIST_INT_EN);
> +
> +	/* Clear histogram interrupt by setting histogram interrupt status bit*/
> +	intel_de_rmw(display, DPST_GUARD(intel_crtc->pipe),
> +		     DPST_GUARD_HIST_EVENT_STATUS, 1);
> +}
> +
> +void intel_histogram_irq_handler(struct intel_display *display, enum pipe pipe)
> +{
> +	struct intel_crtc *intel_crtc =
> +		to_intel_crtc(drm_crtc_from_index(display->drm, pipe));
> +	struct intel_histogram *histogram = intel_crtc->histogram;
> +	struct drm_i915_private *i915 = to_i915(intel_crtc->base.dev);
> +
> +	if (!histogram->enable) {
> +		drm_err(display->drm,
> +			"spurious interrupt, histogram not enabled\n");
> +		return;
> +	}
> +
> +	queue_delayed_work(i915->unordered_wq,
> +			   &histogram->work, 0);
> +}
> +
>  int intel_histogram_atomic_check(struct intel_crtc *intel_crtc)
>  {
>  	struct intel_histogram *histogram = intel_crtc->histogram;
> @@ -113,6 +201,7 @@ static void intel_histogram_disable(struct intel_crtc *intel_crtc)
>  	intel_de_rmw(display, DPST_CTL(pipe),
>  		     DPST_CTL_IE_HIST_EN, 0);
>  
> +	cancel_delayed_work(&histogram->work);
>  	histogram->enable = false;
>  }
>  
> @@ -174,6 +263,7 @@ void intel_histogram_finish(struct intel_crtc *intel_crtc)
>  {
>  	struct intel_histogram *histogram = intel_crtc->histogram;
>  
> +	cancel_delayed_work_sync(&histogram->work);
>  	kfree(histogram);
>  }
>  
> @@ -191,5 +281,8 @@ int intel_histogram_init(struct intel_crtc *intel_crtc)
>  	histogram->crtc = intel_crtc;
>  	histogram->can_enable = false;
>  
> +	INIT_DEFERRABLE_WORK(&histogram->work,
> +			     intel_histogram_handle_int_work);
> +
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.h b/drivers/gpu/drm/i915/display/intel_histogram.h
> index 9d66724f9c53..14f2425e3038 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.h
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.h
> @@ -9,6 +9,8 @@
>  #include <linux/types.h>
>  
>  struct intel_crtc;
> +struct intel_display;
> +enum pipe;
>  
>  #define HISTOGRAM_BIN_COUNT                    32
>  #define HISTOGRAM_IET_LENGTH                   33
> @@ -27,6 +29,7 @@ enum intel_global_hist_lut {
>  };
>  
>  int intel_histogram_atomic_check(struct intel_crtc *intel_crtc);
> +void intel_histogram_irq_handler(struct intel_display *display, enum pipe pipe);
>  int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable);
>  int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data);
>  int intel_histogram_init(struct intel_crtc *intel_crtc);
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 7a35be56b7ef..40a7c6a77bcc 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1605,7 +1605,7 @@
>  #define   PIPE_HOTPLUG_INTERRUPT_ENABLE		(1UL << 26)
>  #define   PIPE_VSYNC_INTERRUPT_ENABLE		(1UL << 25)
>  #define   PIPE_DISPLAY_LINE_COMPARE_ENABLE	(1UL << 24)
> -#define   PIPE_DPST_EVENT_ENABLE		(1UL << 23)
> +#define   PIPE_HISTOGRAM_EVENT_ENABLE		(1UL << 23)
>  #define   SPRITE0_FLIP_DONE_INT_EN_VLV		(1UL << 22)
>  #define   PIPE_LEGACY_BLC_EVENT_ENABLE		(1UL << 22)
>  #define   PIPE_ODD_FIELD_INTERRUPT_ENABLE	(1UL << 21)
> @@ -1628,7 +1628,7 @@
>  #define   PIPE_HOTPLUG_INTERRUPT_STATUS		(1UL << 10)
>  #define   PIPE_VSYNC_INTERRUPT_STATUS		(1UL << 9)
>  #define   PIPE_DISPLAY_LINE_COMPARE_STATUS	(1UL << 8)
> -#define   PIPE_DPST_EVENT_STATUS		(1UL << 7)
> +#define   PIPE_HISTOGRAM_EVENT_STATUS		(1UL << 7)
>  #define   PIPE_A_PSR_STATUS_VLV			(1UL << 6)
>  #define   PIPE_LEGACY_BLC_EVENT_STATUS		(1UL << 6)
>  #define   PIPE_ODD_FIELD_INTERRUPT_STATUS	(1UL << 5)
> @@ -2470,6 +2470,7 @@
>  #define  GEN12_DSB_1_INT		REG_BIT(14) /* tgl+ */
>  #define  GEN12_DSB_0_INT		REG_BIT(13) /* tgl+ */
>  #define  GEN12_DSB_INT(dsb_id)		REG_BIT(13 + (dsb_id))
> +#define  GEN9_PIPE_HISTOGRAM_EVENT	REG_BIT(12) /* skl+ */
>  #define  GEN9_PIPE_CURSOR_FAULT		REG_BIT(11) /* skl+ */
>  #define  GEN9_PIPE_PLANE4_FAULT		REG_BIT(10) /* skl+ */
>  #define  GEN8_PIPE_CURSOR_FAULT		REG_BIT(10) /* bdw */

-- 
Jani Nikula, Intel

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

* ✗ CI.Hooks: failure for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (11 preceding siblings ...)
  2024-11-19 11:36 ` ✓ CI.Build: " Patchwork
@ 2024-11-19 11:38 ` Patchwork
  2024-11-19 11:40 ` ✗ CI.checksparse: warning " Patchwork
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 11:38 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
State : failure

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  GEN     Makefile
  UPD     include/config/kernel.release
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  UPD     include/generated/utsrelease.h
  CALL    ../scripts/checksyscalls.sh
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64-default/tools/objtool/weak.o
  CC      /workspace/kernel/build64-default/tools/objtool/check.o
  CC      /workspace/kernel/build64-default/tools/objtool/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64-default/tools/objtool/elf.o
  CC      /workspace/kernel/build64-default/tools/objtool/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o
  LD      /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-default'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
make[1]: Leaving directory '/workspace/kernel/build64-default'
run-parts: executing /workspace/ci/hooks/11-build-32b
+++ realpath /workspace/ci/hooks/11-build-32b
++ dirname /workspace/ci/hooks/11-build-32b
+ THIS_SCRIPT_DIR=/workspace/ci/hooks
+ SRC_DIR=/workspace/kernel
+ TOOLS_SRC_DIR=/workspace/ci
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ BUILD_DIR=/workspace/kernel/build64-default/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-default/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-default/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-default/build32'
  GEN     Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/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]
#
# 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_RETVAL not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
Actual value:     

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

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

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

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

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

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

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

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

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

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



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

* ✗ CI.checksparse: warning for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (12 preceding siblings ...)
  2024-11-19 11:38 ` ✗ CI.Hooks: failure " Patchwork
@ 2024-11-19 11:40 ` Patchwork
  2024-11-19 11:58 ` ✓ CI.BAT: success " Patchwork
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 11:40 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
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 6af9eb4707b2f65024ac9412f3a9d76cc2516a9a
/root/linux/maintainer-tools/dim: line 2068: sparse: command not found
Sparse version: 
Fast mode used, each commit won't be checked separately.
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* Re: [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram
  2024-11-19 10:45 ` [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram Arun R Murthy
@ 2024-11-19 11:41   ` Jani Nikula
  2024-11-20  8:33   ` Kandpal, Suraj
  1 sibling, 0 replies; 35+ messages in thread
From: Jani Nikula @ 2024-11-19 11:41 UTC (permalink / raw)
  To: Arun R Murthy, intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

On Tue, 19 Nov 2024, Arun R Murthy <arun.r.murthy@intel.com> wrote:
> CRTC properties have been added for enable/disable histogram, reading
> the histogram data and writing the IET data.
> "HISTOGRAM_EN" is the crtc property to enable/disable the global
> histogram and takes a value 0/1 accordingly.
> "Histogram" is a crtc property to read the binary histogram data.
> "Global IET" is a crtc property to write the IET binary LUT data.
>
> v2: Read the histogram blob data before sending uevent (Jani)
> v3: use drm_property_replace_blob_from_id (Vandita)
>     Add substruct for histogram in intel_crtc_state (Jani)
> v4:  Rebased after addressing comments on patch 1
> v5: histogram check with old/new crtc_state (Suraj)
>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_atomic.c   |   5 +
>  drivers/gpu/drm/i915/display/intel_crtc.c     | 168 +++++++++++++++++-
>  drivers/gpu/drm/i915/display/intel_crtc.h     |   5 +
>  drivers/gpu/drm/i915/display/intel_display.c  |  18 ++
>  .../drm/i915/display/intel_display_types.h    |  13 ++
>  .../gpu/drm/i915/display/intel_histogram.c    |   6 +
>  6 files changed, 214 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c b/drivers/gpu/drm/i915/display/intel_atomic.c
> index 03dc54c802d3..a0d64a20b01e 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic.c
> @@ -246,6 +246,8 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
>  
>  	__drm_atomic_helper_crtc_duplicate_state(crtc, &crtc_state->uapi);
>  
> +	if (crtc_state->histogram.global_iet)
> +		drm_property_blob_get(crtc_state->histogram.global_iet);
>  	/* copy color blobs */
>  	if (crtc_state->hw.degamma_lut)
>  		drm_property_blob_get(crtc_state->hw.degamma_lut);
> @@ -278,6 +280,7 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
>  	crtc_state->dsb_color_vblank = NULL;
>  	crtc_state->dsb_commit = NULL;
>  	crtc_state->use_dsb = false;
> +	crtc_state->histogram.histogram_enable_changed = false;
>  
>  	return &crtc_state->uapi;
>  }
> @@ -314,6 +317,8 @@ intel_crtc_destroy_state(struct drm_crtc *crtc,
>  	drm_WARN_ON(crtc->dev, crtc_state->dsb_color_vblank);
>  	drm_WARN_ON(crtc->dev, crtc_state->dsb_commit);
>  
> +	if (crtc_state->histogram.global_iet)
> +		drm_property_blob_put(crtc_state->histogram.global_iet);
>  	__drm_atomic_helper_crtc_destroy_state(&crtc_state->uapi);
>  	intel_crtc_free_hw_state(crtc_state);
>  	if (crtc_state->dp_tunnel_ref.tunnel)
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
> index a2c528d707f4..3be81a5a789b 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -11,6 +11,7 @@
>  #include <drm/drm_plane.h>
>  #include <drm/drm_vblank.h>
>  #include <drm/drm_vblank_work.h>
> +#include <drm/drm_atomic_uapi.h>
>  
>  #include "i915_vgpu.h"
>  #include "i9xx_plane.h"
> @@ -27,6 +28,7 @@
>  #include "intel_drrs.h"
>  #include "intel_dsi.h"
>  #include "intel_fifo_underrun.h"
> +#include "intel_histogram.h"
>  #include "intel_pipe_crc.h"
>  #include "intel_psr.h"
>  #include "intel_sprite.h"
> @@ -210,6 +212,7 @@ static struct intel_crtc *intel_crtc_alloc(void)
>  static void intel_crtc_free(struct intel_crtc *crtc)
>  {
>  	intel_crtc_destroy_state(&crtc->base, crtc->base.state);
> +	intel_histogram_finish(crtc);
>  	kfree(crtc);
>  }
>  
> @@ -229,6 +232,66 @@ static int intel_crtc_late_register(struct drm_crtc *crtc)
>  	return 0;
>  }
>  
> +static int intel_crtc_get_property(struct drm_crtc *crtc,
> +				   const struct drm_crtc_state *state,
> +				   struct drm_property *property,
> +				   uint64_t *val)
> +{
> +	struct drm_i915_private *i915 = to_i915(crtc->dev);

Please use intel_display, you don't need i915 for anything.

> +	const struct intel_crtc_state *intel_crtc_state =
> +		to_intel_crtc_state(state);
> +	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> +
> +	if (property == intel_crtc->histogram_en_property) {
> +		*val = intel_crtc_state->histogram.histogram_enable;
> +	} else if (property == intel_crtc->global_iet_property) {
> +		*val = (intel_crtc_state->histogram.global_iet) ?
> +			intel_crtc_state->histogram.global_iet->base.id : 0;
> +	} else if (property == intel_crtc->histogram_property) {
> +		*val = (intel_crtc_state->histogram.histogram) ?
> +			intel_crtc_state->histogram.histogram->base.id : 0;
> +	} else {
> +		drm_err(&i915->drm,
> +			"Unknown property [PROP:%d:%s]\n",
> +			property->base.id, property->name);
> +		return -EINVAL;
> +	}
> +
> +	return 0;
> +}
> +
> +static int intel_crtc_set_property(struct drm_crtc *crtc,
> +				   struct drm_crtc_state *state,
> +				   struct drm_property *property,
> +				   u64 val)
> +{
> +	struct drm_i915_private *i915 = to_i915(crtc->dev);

Ditto.

> +	struct intel_crtc_state *intel_crtc_state =
> +		to_intel_crtc_state(state);
> +	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> +	bool replaced = false;
> +
> +	if (property == intel_crtc->histogram_en_property) {
> +		intel_crtc_state->histogram.histogram_enable = val;
> +		return 0;
> +	}
> +
> +	if (property == intel_crtc->global_iet_property) {
> +		drm_property_replace_blob_from_id(crtc->dev,
> +						  &intel_crtc_state->histogram.global_iet,
> +						  val,
> +						  sizeof(uint32_t) * HISTOGRAM_IET_LENGTH,
> +						  -1, &replaced);
> +		if (replaced)
> +			intel_crtc_state->histogram.global_iet_changed = true;
> +		return 0;
> +	}
> +
> +	drm_dbg_atomic(&i915->drm, "Unknown property [PROP:%d:%s]\n",
> +		       property->base.id, property->name);
> +	return -EINVAL;
> +}
> +
>  #define INTEL_CRTC_FUNCS \
>  	.set_config = drm_atomic_helper_set_config, \
>  	.destroy = intel_crtc_destroy, \
> @@ -238,7 +301,9 @@ static int intel_crtc_late_register(struct drm_crtc *crtc)
>  	.set_crc_source = intel_crtc_set_crc_source, \
>  	.verify_crc_source = intel_crtc_verify_crc_source, \
>  	.get_crc_sources = intel_crtc_get_crc_sources, \
> -	.late_register = intel_crtc_late_register
> +	.late_register = intel_crtc_late_register, \
> +	.atomic_set_property = intel_crtc_set_property, \
> +	.atomic_get_property = intel_crtc_get_property
>  
>  static const struct drm_crtc_funcs bdw_crtc_funcs = {
>  	INTEL_CRTC_FUNCS,
> @@ -383,6 +448,10 @@ int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
>  	intel_color_crtc_init(crtc);
>  	intel_drrs_crtc_init(crtc);
>  	intel_crtc_crc_init(crtc);
> +	intel_histogram_init(crtc);
> +
> +	/* Initialize crtc properties */
> +	intel_crtc_add_property(crtc);
>  
>  	cpu_latency_qos_add_request(&crtc->vblank_pm_qos, PM_QOS_DEFAULT_VALUE);
>  
> @@ -737,3 +806,100 @@ void intel_pipe_update_end(struct intel_atomic_state *state,
>  out:
>  	intel_psr_unlock(new_crtc_state);
>  }
> +
> +static const struct drm_prop_enum_list histogram_enable_names[] = {
> +	{ INTEL_HISTOGRAM_DISABLE, "Disable" },
> +	{ INTEL_HISTOGRAM_ENABLE, "Enable" },
> +};
> +
> +/**
> + * intel_attach_histogram_en_property() - add property to enable/disable histogram
> + * @intel_crtc: pointer to the struct intel_crtc on which the global histogram is to
> + *		be enabled/disabled
> + *
> + * "HISTOGRAM_EN" is the crtc propety to enable/disable global histogram

The old saying goes, if the code and comments disagree, both are wrong.

> + */
> +void intel_attach_histogram_en_property(struct intel_crtc *intel_crtc)
> +{
> +	struct drm_crtc *crtc = &intel_crtc->base;
> +	struct drm_device *dev = crtc->dev;
> +	struct drm_property *prop;
> +
> +	prop = intel_crtc->histogram_en_property;
> +	if (!prop) {
> +		prop = drm_property_create_enum(dev, 0,
> +						"Histogram_Enable",
> +						histogram_enable_names,
> +						ARRAY_SIZE(histogram_enable_names));
> +		if (!prop)
> +			return;
> +
> +		intel_crtc->histogram_en_property = prop;
> +	}
> +
> +	drm_object_attach_property(&crtc->base, prop, 0);
> +}
> +
> +/**
> + * intel_attach_global_iet_property() - add property to write Image Enhancement data
> + * @intel_crtc: pointer to the struct intel_crtc on which global histogram is enabled
> + *
> + * "Global IET" is the crtc property to write the Image Enhancement LUT binary data
> + */
> +void intel_attach_global_iet_property(struct intel_crtc *intel_crtc)
> +{
> +	struct drm_crtc *crtc = &intel_crtc->base;
> +	struct drm_device *dev = crtc->dev;
> +	struct drm_property *prop;
> +
> +	prop = intel_crtc->global_iet_property;
> +	if (!prop) {
> +		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB | DRM_MODE_PROP_ATOMIC,
> +					   "Global IET", 0);
> +		if (!prop)
> +			return;
> +
> +		intel_crtc->global_iet_property = prop;
> +	}
> +
> +	drm_object_attach_property(&crtc->base, prop, 0);
> +}
> +
> +/**
> + * intel_attach_histogram_property() - crtc property to read the histogram.
> + * @intel_crtc: pointer to the struct intel_crtc on which the global histogram
> + *		was enabled.
> + * "Global Histogram" is the crtc property to read the binary histogram data.
> + */
> +void intel_attach_histogram_property(struct intel_crtc *intel_crtc)
> +{
> +	struct drm_crtc *crtc = &intel_crtc->base;
> +	struct drm_device *dev = crtc->dev;
> +	struct drm_property *prop;
> +	struct drm_property_blob *blob;
> +
> +	prop = intel_crtc->histogram_property;
> +	if (!prop) {
> +		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB |
> +					   DRM_MODE_PROP_ATOMIC |
> +					   DRM_MODE_PROP_IMMUTABLE,
> +					   "Global Histogram", 0);
> +		if (!prop)
> +			return;
> +
> +		intel_crtc->histogram_property = prop;
> +	}
> +	blob = drm_property_create_blob(dev, sizeof(uint32_t) * HISTOGRAM_BIN_COUNT, NULL);
> +	intel_crtc->config->histogram.histogram = blob;
> +
> +	drm_object_attach_property(&crtc->base, prop, blob->base.id);
> +}
> +
> +int intel_crtc_add_property(struct intel_crtc *intel_crtc)
> +{
> +	intel_attach_histogram_en_property(intel_crtc);
> +	intel_attach_histogram_property(intel_crtc);
> +	intel_attach_global_iet_property(intel_crtc);
> +
> +	return 0;
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.h b/drivers/gpu/drm/i915/display/intel_crtc.h
> index de54ae1deedf..4e0a3c43d4f8 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.h
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.h
> @@ -7,6 +7,7 @@
>  #define _INTEL_CRTC_H_
>  
>  #include <linux/types.h>
> +#include <drm/drm_crtc.h>

Do not include anything in headers unless you absolutely have to.

>  
>  enum i9xx_plane_id;
>  enum pipe;
> @@ -59,4 +60,8 @@ void intel_wait_for_vblank_if_active(struct drm_i915_private *i915,
>  				     enum pipe pipe);
>  void intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc);
>  
> +int intel_crtc_add_property(struct intel_crtc *intel_crtc);
> +void intel_attach_histogram_en_property(struct intel_crtc *intel_crtc);
> +void intel_attach_global_iet_property(struct intel_crtc *intel_crtc);
> +void intel_attach_histogram_property(struct intel_crtc *intel_crtc);

Blank line missing here.

>  #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index e790a2de5b3d..0c3008a2d774 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -93,6 +93,7 @@
>  #include "intel_fifo_underrun.h"
>  #include "intel_frontbuffer.h"
>  #include "intel_hdmi.h"
> +#include "intel_histogram.h"
>  #include "intel_hotplug.h"
>  #include "intel_link_bw.h"
>  #include "intel_lvds.h"
> @@ -4607,6 +4608,10 @@ static int intel_crtc_atomic_check(struct intel_atomic_state *state,
>  	if (ret)
>  		return ret;
>  
> +	/* HISTOGRAM changed */
> +	if (crtc_state->histogram.histogram_enable_changed)
> +		return intel_histogram_atomic_check(crtc);
> +
>  	return 0;
>  }
>  
> @@ -6826,6 +6831,11 @@ int intel_atomic_check(struct drm_device *dev,
>  		if (new_crtc_state->uapi.scaling_filter !=
>  		    old_crtc_state->uapi.scaling_filter)
>  			new_crtc_state->uapi.mode_changed = true;
> +
> +		/* Histogram updates */
> +		if (old_crtc_state->histogram.histogram_enable !=
> +		    new_crtc_state->histogram.histogram_enable)
> +			new_crtc_state->histogram.histogram_enable_changed = true;
>  	}
>  
>  	intel_vrr_check_modeset(state);
> @@ -7892,6 +7902,14 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
>  		 */
>  		old_crtc_state->dsb_color_vblank = fetch_and_zero(&new_crtc_state->dsb_color_vblank);
>  		old_crtc_state->dsb_commit = fetch_and_zero(&new_crtc_state->dsb_commit);
> +
> +		/* Re-Visit: HISTOGRAM related stuff */

What? Why?

> +		if (new_crtc_state->histogram.histogram_enable_changed)
> +			intel_histogram_update(crtc,
> +					       new_crtc_state->histogram.histogram_enable);
> +		if (new_crtc_state->histogram.global_iet_changed)
> +			intel_histogram_set_iet_lut(crtc,
> +						    (u32 *)new_crtc_state->histogram.global_iet->data);
>  	}
>  
>  	/* Underruns don't always raise interrupts, so check manually */
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 351441efd10a..300e90998463 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1306,6 +1306,15 @@ struct intel_crtc_state {
>  
>  	/* LOBF flag */
>  	bool has_lobf;
> +
> +	/* Histogram data */
> +	struct {
> +		int histogram_enable;
> +		struct drm_property_blob *global_iet;
> +		struct drm_property_blob *histogram;
> +		bool global_iet_changed;
> +		bool histogram_enable_changed;
> +	} histogram;
>  };
>  
>  enum intel_pipe_crc_source {
> @@ -1415,6 +1424,10 @@ struct intel_crtc {
>  	struct pm_qos_request vblank_pm_qos;
>  
>  	struct intel_histogram *histogram;
> +	/* HISTOGRAM properties */
> +	struct drm_property *histogram_en_property;
> +	struct drm_property *global_iet_property;
> +	struct drm_property *histogram_property;
>  
>  #ifdef CONFIG_DEBUG_FS
>  	struct intel_pipe_crc pipe_crc;
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
> index 16f29923ef10..cba65f4260cd 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -82,6 +82,11 @@ static void intel_histogram_handle_int_work(struct work_struct *work)
>  	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
>  		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK, 0);
>  	if (intel_histogram_get_data(intel_crtc)) {
> +		drm_property_replace_global_blob(display->drm,
> +				&intel_crtc->config->histogram.histogram,
> +				sizeof(histogram->bin_data),
> +				histogram->bin_data, &intel_crtc->base.base,
> +				intel_crtc->histogram_property);
>  		/* Notify user for Histogram rediness */
>  		if (kobject_uevent_env(&display->drm->primary->kdev->kobj,
>  				       KOBJ_CHANGE, histogram_event))
> @@ -203,6 +208,7 @@ static void intel_histogram_disable(struct intel_crtc *intel_crtc)
>  
>  	cancel_delayed_work(&histogram->work);
>  	histogram->enable = false;
> +	intel_crtc->config->histogram.histogram_enable = false;
>  }
>  
>  int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable)

-- 
Jani Nikula, Intel

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

* ✓ CI.BAT: success for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (13 preceding siblings ...)
  2024-11-19 11:40 ` ✗ CI.checksparse: warning " Patchwork
@ 2024-11-19 11:58 ` Patchwork
  2024-11-19 12:39 ` [PATCHv5 0/8] Display Global Histogram Daniel Stone
  2024-11-19 21:52 ` ✗ CI.FULL: failure for Display Global Histogram (rev3) Patchwork
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 11:58 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

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

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
State : success

== Summary ==

CI Bug Log - changes from xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192_BAT -> xe-pw-138867v3_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

  Here are the changes found in xe-pw-138867v3_BAT that come from known issues:

### IGT changes ###

#### Warnings ####

  * igt@xe_exec_fault_mode@many-basic:
    - bat-lnl-2:          [INCOMPLETE][1] ([Intel XE#3466]) -> [DMESG-FAIL][2] ([Intel XE#3466])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/bat-lnl-2/igt@xe_exec_fault_mode@many-basic.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/bat-lnl-2/igt@xe_exec_fault_mode@many-basic.html

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


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

  * Linux: xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192 -> xe-pw-138867v3

  IGT_8116: 10a7dcaa598461073d6c7268704f32043af8722f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192: ae16c37991aa8ab2afc0309ff88d9ccada395192
  xe-pw-138867v3: 138867v3

== Logs ==

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

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

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

* Re: [PATCHv5 0/8] Display Global Histogram
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (14 preceding siblings ...)
  2024-11-19 11:58 ` ✓ CI.BAT: success " Patchwork
@ 2024-11-19 12:39 ` Daniel Stone
  2024-11-19 14:39   ` Murthy, Arun R
  2024-11-19 21:52 ` ✗ CI.FULL: failure for Display Global Histogram (rev3) Patchwork
  16 siblings, 1 reply; 35+ messages in thread
From: Daniel Stone @ 2024-11-19 12:39 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe, intel-gfx, dri-devel

Hi Arun,

On Tue, 19 Nov 2024 at 10:55, Arun R Murthy <arun.r.murthy@intel.com> wrote:
> The corresponding mutter changes to enable/disable histogram, read the
> histogram data, communicate with the library and write the enhanced data
> back to the KMD is also pushed for review at https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873

The Mutter MR you linked does not actually write anything back to KMS.

Cheers,
Daniel

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

* RE: [PATCHv5 0/8] Display Global Histogram
  2024-11-19 12:39 ` [PATCHv5 0/8] Display Global Histogram Daniel Stone
@ 2024-11-19 14:39   ` Murthy, Arun R
  2024-11-19 15:18     ` Daniel Stone
  0 siblings, 1 reply; 35+ messages in thread
From: Murthy, Arun R @ 2024-11-19 14:39 UTC (permalink / raw)
  To: Daniel Stone
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

> On Tue, 19 Nov 2024 at 10:55, Arun R Murthy <arun.r.murthy@intel.com>
> wrote:
> > The corresponding mutter changes to enable/disable histogram, read the
> > histogram data, communicate with the library and write the enhanced
> > data back to the KMD is also pushed for review at
> > https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873
> 
> The Mutter MR you linked does not actually write anything back to KMS.
> 

Yes, writing the IET LUT data back to KMD using a crtc blob property is pending in mutter and is commented in the mutter MR.

Thanks and Regards,
Arun R Murthy
--------------------

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

* Re: [PATCHv5 0/8] Display Global Histogram
  2024-11-19 14:39   ` Murthy, Arun R
@ 2024-11-19 15:18     ` Daniel Stone
  0 siblings, 0 replies; 35+ messages in thread
From: Daniel Stone @ 2024-11-19 15:18 UTC (permalink / raw)
  To: Murthy, Arun R
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

Hi Arun,

On Tue, 19 Nov 2024 at 14:39, Murthy, Arun R <arun.r.murthy@intel.com> wrote:
> > On Tue, 19 Nov 2024 at 10:55, Arun R Murthy <arun.r.murthy@intel.com>
> > wrote:
> > > The corresponding mutter changes to enable/disable histogram, read the
> > > histogram data, communicate with the library and write the enhanced
> > > data back to the KMD is also pushed for review at
> > > https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873
> >
> > The Mutter MR you linked does not actually write anything back to KMS.
>
> Yes, writing the IET LUT data back to KMD using a crtc blob property is pending in mutter and is commented in the mutter MR.

Sure, that's fine, but until the actual userspace exists, this cannot
be meaningfully reviewed.

Cheers,
Daniel

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

* ✗ CI.FULL: failure for Display Global Histogram (rev3)
  2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
                   ` (15 preceding siblings ...)
  2024-11-19 12:39 ` [PATCHv5 0/8] Display Global Histogram Daniel Stone
@ 2024-11-19 21:52 ` Patchwork
  16 siblings, 0 replies; 35+ messages in thread
From: Patchwork @ 2024-11-19 21:52 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

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

== Series Details ==

Series: Display Global Histogram (rev3)
URL   : https://patchwork.freedesktop.org/series/138867/
State : failure

== Summary ==

CI Bug Log - changes from xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192_full -> xe-pw-138867v3_full
====================================================

Summary
-------

  **FAILURE**

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

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-138867v3_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg2-set2:     [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-435/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [PASS][3] -> [INCOMPLETE][4] +1 other test incomplete
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_cursor_crc@cursor-suspend:
    - shard-bmg:          NOTRUN -> [DMESG-FAIL][5] +6 other tests dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_cursor_crc@cursor-suspend.html

  * igt@kms_flip@2x-dpms-vs-vblank-race@ab-dp2-hdmi-a3:
    - shard-bmg:          [PASS][6] -> [FAIL][7] +1 other test fail
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-2/igt@kms_flip@2x-dpms-vs-vblank-race@ab-dp2-hdmi-a3.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_flip@2x-dpms-vs-vblank-race@ab-dp2-hdmi-a3.html

  * igt@kms_pm_lpsp@kms-lpsp@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [FAIL][8] +1 other test fail
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_pm_lpsp@kms-lpsp@pipe-a-hdmi-a-6.html

  * igt@kms_vblank@wait-forked-busy-hang:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][9] +3 other tests incomplete
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_vblank@wait-forked-busy-hang.html

  * igt@xe_exec_basic@multigpu-no-exec-null-rebind:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][10] +1 other test dmesg-warn
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_exec_basic@multigpu-no-exec-null-rebind.html

  * igt@xe_exec_fault_mode@once-bindexecqueue-userptr:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][11] +14 other tests dmesg-warn
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@xe_exec_fault_mode@once-bindexecqueue-userptr.html

  * igt@xe_sysfs_preempt_timeout@preempt_timeout_us-timeout:
    - shard-bmg:          [PASS][12] -> [DMESG-WARN][13] +9 other tests dmesg-warn
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-7/igt@xe_sysfs_preempt_timeout@preempt_timeout_us-timeout.html
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@xe_sysfs_preempt_timeout@preempt_timeout_us-timeout.html

  
#### Warnings ####

  * igt@core_hotunplug@unplug-rescan:
    - shard-bmg:          [INCOMPLETE][14] ([Intel XE#2594]) -> [INCOMPLETE][15]
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-5/igt@core_hotunplug@unplug-rescan.html
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@core_hotunplug@unplug-rescan.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-180:
    - shard-bmg:          [DMESG-FAIL][16] -> [DMESG-WARN][17] +3 other tests dmesg-warn
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-3/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-6/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html

  * igt@kms_pm_rpm@cursor-dpms:
    - shard-bmg:          [INCOMPLETE][18] -> [DMESG-WARN][19]
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_pm_rpm@cursor-dpms.html
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_pm_rpm@cursor-dpms.html

  * igt@kms_pm_rpm@i2c:
    - shard-dg2-set2:     [SKIP][20] ([Intel XE#2446]) -> [FAIL][21]
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_pm_rpm@i2c.html
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_pm_rpm@i2c.html

  * igt@kms_sequence@get-forked-busy:
    - shard-bmg:          [INCOMPLETE][22] ([Intel XE#3468]) -> [INCOMPLETE][23] +1 other test incomplete
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-7/igt@kms_sequence@get-forked-busy.html
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_sequence@get-forked-busy.html

  * igt@kms_vblank@query-forked@pipe-a-dp-2:
    - shard-bmg:          [DMESG-WARN][24] -> [DMESG-FAIL][25] +1 other test dmesg-fail
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_vblank@query-forked@pipe-a-dp-2.html
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_vblank@query-forked@pipe-a-dp-2.html

  * igt@xe_pm@s2idle-multiple-execs:
    - shard-dg2-set2:     [SKIP][26] ([Intel XE#1130]) -> [DMESG-WARN][27] +1 other test dmesg-warn
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@xe_pm@s2idle-multiple-execs.html
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@xe_pm@s2idle-multiple-execs.html

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

  Here are the changes found in xe-pw-138867v3_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@hotreplug:
    - shard-dg2-set2:     [PASS][28] -> [SKIP][29] ([Intel XE#1885])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@core_hotunplug@hotreplug.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@core_hotunplug@hotreplug.html

  * igt@core_setmaster@master-drop-set-user:
    - shard-dg2-set2:     [PASS][30] -> [FAIL][31] ([Intel XE#3339])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@core_setmaster@master-drop-set-user.html
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@core_setmaster@master-drop-set-user.html

  * igt@fbdev@unaligned-read:
    - shard-dg2-set2:     [PASS][32] -> [SKIP][33] ([Intel XE#2134]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@fbdev@unaligned-read.html
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@fbdev@unaligned-read.html

  * igt@intel_hwmon@hwmon-write:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#1125])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@intel_hwmon@hwmon-write.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-adlp:         [PASS][35] -> [FAIL][36] ([Intel XE#1426]) +1 other test fail
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
    - shard-bmg:          NOTRUN -> [SKIP][37] ([Intel XE#2370])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#2327]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][39] ([Intel XE#316])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-90:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#1407])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@linear-16bpp-rotate-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][41] ([Intel XE#2136]) +18 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_big_fb@linear-16bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-addfb:
    - shard-dg2-set2:     [PASS][42] -> [SKIP][43] ([Intel XE#2136] / [Intel XE#2351]) +7 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_big_fb@x-tiled-addfb.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_big_fb@x-tiled-addfb.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-adlp:         [PASS][44] -> [DMESG-WARN][45] ([Intel XE#1033])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-4/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#1124]) +5 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#1124]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][48] ([Intel XE#1124]) +1 other test skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_bw@connected-linear-tiling-1-displays-2160x1440p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][49] ([Intel XE#367]) +1 other test skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_bw@connected-linear-tiling-1-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-4-displays-1920x1080p:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#367]) +1 other test skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_bw@linear-tiling-4-displays-1920x1080p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][51] ([Intel XE#787]) +139 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][52] ([Intel XE#2669]) +3 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs@pipe-b-edp-1.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#2887]) +5 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc.html

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

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [FAIL][55] ([Intel XE#616]) +7 other tests fail
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][56] ([Intel XE#455] / [Intel XE#787]) +21 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][57] ([Intel XE#2887]) +2 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][58] ([Intel XE#2907])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#2652] / [Intel XE#787]) +8 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#2325])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_chamelium_color@ctm-max.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][61] ([Intel XE#306])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - shard-dg2-set2:     NOTRUN -> [SKIP][62] ([Intel XE#373]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_chamelium_hpd@dp-hpd-after-hibernate:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#2252]) +3 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_chamelium_hpd@dp-hpd-after-hibernate.html

  * igt@kms_chamelium_hpd@hdmi-hpd:
    - shard-lnl:          NOTRUN -> [SKIP][64] ([Intel XE#373]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_chamelium_hpd@hdmi-hpd.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-lnl:          NOTRUN -> [SKIP][65] ([Intel XE#307])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][66] ([Intel XE#2715]) +1 other test incomplete
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@uevent@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][67] ([Intel XE#1188])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_content_protection@uevent@pipe-a-dp-4.html

  * igt@kms_cursor_crc@cursor-offscreen-128x42:
    - shard-bmg:          NOTRUN -> [SKIP][68] ([Intel XE#2320]) +1 other test skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_cursor_crc@cursor-offscreen-128x42.html

  * igt@kms_cursor_crc@cursor-onscreen-64x64:
    - shard-dg2-set2:     NOTRUN -> [SKIP][69] ([Intel XE#2423] / [i915#2575]) +11 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_cursor_crc@cursor-onscreen-64x64.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-bmg:          NOTRUN -> [SKIP][70] ([Intel XE#2321]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_cursor_crc@cursor-random-512x512.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][71] ([Intel XE#308])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-256x85:
    - shard-lnl:          NOTRUN -> [SKIP][72] ([Intel XE#1424]) +1 other test skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-lnl:          NOTRUN -> [SKIP][73] ([Intel XE#309]) +1 other test skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-bmg:          [PASS][74] -> [DMESG-WARN][75] ([Intel XE#877]) +2 other tests dmesg-warn
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-3/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][76] ([Intel XE#877])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#2286])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][78] ([i915#3804])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html

  * igt@kms_dp_aux_dev:
    - shard-dg2-set2:     [PASS][79] -> [SKIP][80] ([Intel XE#2423])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_dp_aux_dev.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_dp_aux_dev.html

  * igt@kms_draw_crc@draw-method-blt@rgb565-xtiled:
    - shard-bmg:          [PASS][81] -> [DMESG-WARN][82] ([Intel XE#3468]) +1 other test dmesg-warn
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_draw_crc@draw-method-blt@rgb565-xtiled.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_draw_crc@draw-method-blt@rgb565-xtiled.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-lnl:          NOTRUN -> [SKIP][83] ([Intel XE#2244])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_feature_discovery@psr1:
    - shard-bmg:          NOTRUN -> [SKIP][84] ([Intel XE#2374])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-flip-vs-panning-interruptible:
    - shard-lnl:          NOTRUN -> [SKIP][85] ([Intel XE#1421])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_flip@2x-flip-vs-panning-interruptible.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible@bd-dp2-hdmi-a3:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][86] ([Intel XE#3468]) +5 other tests dmesg-warn
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@bd-dp2-hdmi-a3.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][87] ([Intel XE#1727] / [Intel XE#2597])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible.html
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][88] ([Intel XE#1195] / [Intel XE#1727] / [Intel XE#2049] / [Intel XE#2597])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][89] ([Intel XE#3468])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a6.html

  * igt@kms_flip@flip-vs-suspend-interruptible@b-dp2:
    - shard-bmg:          NOTRUN -> [DMESG-FAIL][90] ([Intel XE#3468])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible@b-dp2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][91] ([Intel XE#3468])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a6.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-dp2:
    - shard-bmg:          NOTRUN -> [DMESG-FAIL][92] ([Intel XE#1727])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][93] ([Intel XE#1727]) +1 other test dmesg-fail
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a6.html

  * igt@kms_flip@flip-vs-suspend-interruptible@d-dp2:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][94] ([Intel XE#1727])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible@d-dp2.html

  * igt@kms_flip@flip-vs-suspend@b-hdmi-a1:
    - shard-adlp:         [PASS][95] -> [DMESG-WARN][96] ([Intel XE#2953] / [Intel XE#3086]) +1 other test dmesg-warn
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-6/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-2/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html

  * igt@kms_flip@plain-flip-ts-check@b-hdmi-a1:
    - shard-adlp:         [PASS][97] -> [FAIL][98] ([Intel XE#886])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-6/igt@kms_flip@plain-flip-ts-check@b-hdmi-a1.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-3/igt@kms_flip@plain-flip-ts-check@b-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-valid-mode:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][99] ([Intel XE#1195] / [Intel XE#1727]) +1 other test incomplete
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][100] ([Intel XE#1401] / [Intel XE#1745])
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][101] ([Intel XE#1401])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][102] ([Intel XE#2293]) +1 other test skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][104] ([Intel XE#1397] / [Intel XE#1745])
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][105] ([Intel XE#1397])
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg2-set2:     NOTRUN -> [SKIP][106] ([Intel XE#455]) +7 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-to-linear:
    - shard-bmg:          [PASS][107] -> [DMESG-FAIL][108] ([Intel XE#3468])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-3/igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-to-linear.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-6/igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-to-linear.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4-rc-ccs:
    - shard-bmg:          [PASS][109] -> [DMESG-FAIL][110] ([Intel XE#2705])
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-3/igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4-rc-ccs.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-6/igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4-rc-ccs.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-plflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][111] ([Intel XE#651]) +3 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#2311]) +20 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     [PASS][113] -> [SKIP][114] ([Intel XE#2136]) +16 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][115] ([Intel XE#656]) +9 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-bmg:          NOTRUN -> [FAIL][116] ([Intel XE#2333]) +4 other tests fail
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][117] ([Intel XE#651]) +5 other tests skip
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move:
    - shard-dg2-set2:     NOTRUN -> [SKIP][118] ([Intel XE#653]) +4 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][119] ([Intel XE#2136] / [Intel XE#2351]) +4 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary:
    - shard-bmg:          NOTRUN -> [SKIP][120] ([Intel XE#2313]) +15 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary.html

  * igt@kms_hdr@static-swap:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][121] ([Intel XE#2594])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_hdr@static-swap.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-lnl:          NOTRUN -> [SKIP][122] ([Intel XE#2934])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-1:
    - shard-adlp:         [PASS][123] -> [DMESG-WARN][124] ([Intel XE#3086]) +5 other tests dmesg-warn
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-2/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-1.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-1.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-dg2-set2:     [PASS][125] -> [INCOMPLETE][126] ([Intel XE#1195]) +1 other test incomplete
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_plane_lowres@tiling-4.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_plane_lowres@tiling-4.html
    - shard-lnl:          NOTRUN -> [SKIP][127] ([Intel XE#599]) +3 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][128] ([Intel XE#2393])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-b:
    - shard-dg2-set2:     NOTRUN -> [SKIP][129] ([Intel XE#2763]) +8 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-b.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-d:
    - shard-dg2-set2:     NOTRUN -> [SKIP][130] ([Intel XE#2763] / [Intel XE#455]) +3 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-d.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b:
    - shard-bmg:          NOTRUN -> [SKIP][131] ([Intel XE#2763]) +9 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
    - shard-bmg:          [PASS][132] -> [DMESG-WARN][133] ([Intel XE#2566])
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html

  * igt@kms_pm_backlight@fade:
    - shard-bmg:          NOTRUN -> [SKIP][134] ([Intel XE#870])
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-lnl:          NOTRUN -> [SKIP][135] ([Intel XE#736])
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-lnl:          [PASS][136] -> [FAIL][137] ([Intel XE#1430])
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-3/igt@kms_pm_dc@dc6-psr.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-4/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][138] ([Intel XE#2499])
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@cursor:
    - shard-lnl:          [PASS][139] -> [DMESG-WARN][140] ([Intel XE#3184]) +1 other test dmesg-warn
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-7/igt@kms_pm_rpm@cursor.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-5/igt@kms_pm_rpm@cursor.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-dg2-set2:     [PASS][141] -> [SKIP][142] ([Intel XE#2446])
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_pm_rpm@dpms-lpsp.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][143] ([Intel XE#1439])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf:
    - shard-lnl:          NOTRUN -> [SKIP][144] ([Intel XE#2893])
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][145] ([Intel XE#1489]) +2 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][146] ([Intel XE#1489]) +3 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-bmg:          NOTRUN -> [SKIP][147] ([Intel XE#2387])
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-pr-dpms:
    - shard-lnl:          NOTRUN -> [SKIP][148] ([Intel XE#1406]) +1 other test skip
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@kms_psr@fbc-pr-dpms.html

  * igt@kms_psr@fbc-psr-sprite-blt:
    - shard-bmg:          NOTRUN -> [SKIP][149] ([Intel XE#2234] / [Intel XE#2850]) +7 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_psr@fbc-psr-sprite-blt.html

  * igt@kms_psr@fbc-psr-sprite-plane-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][150] ([Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_psr@fbc-psr-sprite-plane-onoff.html

  * igt@kms_rotation_crc@primary-rotation-90:
    - shard-bmg:          NOTRUN -> [SKIP][151] ([Intel XE#3414])
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_rotation_crc@primary-rotation-90.html

  * igt@kms_rotation_crc@sprite-rotation-180:
    - shard-dg2-set2:     [PASS][152] -> [SKIP][153] ([Intel XE#2423] / [i915#2575]) +68 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_rotation_crc@sprite-rotation-180.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_rotation_crc@sprite-rotation-180.html

  * igt@kms_scaling_modes@scaling-mode-full:
    - shard-bmg:          NOTRUN -> [SKIP][154] ([Intel XE#2413])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_scaling_modes@scaling-mode-full.html

  * igt@kms_vblank@ts-continuation-dpms-suspend:
    - shard-adlp:         [PASS][155] -> [ABORT][156] ([Intel XE#1034] / [Intel XE#2625])
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-1/igt@kms_vblank@ts-continuation-dpms-suspend.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-2/igt@kms_vblank@ts-continuation-dpms-suspend.html

  * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-hdmi-a-1:
    - shard-adlp:         [PASS][157] -> [ABORT][158] ([Intel XE#1034])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-1/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-hdmi-a-1.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-2/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-hdmi-a-1.html

  * igt@kms_vblank@wait-forked-busy-hang@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][159] ([Intel XE#1195]) +2 other tests incomplete
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_vblank@wait-forked-busy-hang@pipe-a-hdmi-a-6.html

  * igt@kms_vrr@flip-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][160] ([Intel XE#1499])
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_vrr@flip-dpms.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-bmg:          NOTRUN -> [SKIP][161] ([Intel XE#756])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@xe_eudebug_online@basic-breakpoint:
    - shard-lnl:          NOTRUN -> [SKIP][162] ([Intel XE#2905]) +2 other tests skip
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@xe_eudebug_online@basic-breakpoint.html

  * igt@xe_eudebug_online@single-step-one:
    - shard-bmg:          NOTRUN -> [SKIP][163] ([Intel XE#2905]) +4 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@xe_eudebug_online@single-step-one.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][164] ([Intel XE#2905]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_eudebug_online@single-step-one.html

  * igt@xe_evict@evict-beng-threads-large:
    - shard-bmg:          NOTRUN -> [FAIL][165] ([Intel XE#1000])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@xe_evict@evict-beng-threads-large.html

  * igt@xe_evict@evict-beng-threads-small:
    - shard-lnl:          NOTRUN -> [SKIP][166] ([Intel XE#688]) +1 other test skip
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@xe_evict@evict-beng-threads-small.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          NOTRUN -> [TIMEOUT][167] ([Intel XE#1473])
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_exec_balancer@once-parallel-rebind:
    - shard-dg2-set2:     [PASS][168] -> [SKIP][169] ([Intel XE#1130]) +123 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_exec_balancer@once-parallel-rebind.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_exec_balancer@once-parallel-rebind.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][170] ([Intel XE#2322]) +2 other tests skip
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][171] ([Intel XE#1392]) +1 other test skip
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-rebind.html

  * igt@xe_exec_compute_mode@many-execqueues-basic:
    - shard-dg2-set2:     NOTRUN -> [SKIP][172] ([Intel XE#1130]) +27 other tests skip
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_exec_compute_mode@many-execqueues-basic.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][173] ([Intel XE#288]) +5 other tests skip
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html

  * igt@xe_exec_threads@threads-cm-shared-vm-userptr-invalidate:
    - shard-lnl:          [PASS][174] -> [DMESG-FAIL][175] ([Intel XE#2687] / [Intel XE#3371])
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-8/igt@xe_exec_threads@threads-cm-shared-vm-userptr-invalidate.html
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-3/igt@xe_exec_threads@threads-cm-shared-vm-userptr-invalidate.html

  * igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_execute:
    - shard-bmg:          NOTRUN -> [FAIL][176] ([Intel XE#3499])
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_execute.html

  * igt@xe_fault_injection@vm-create-fail-xe_pt_create:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][177] ([Intel XE#3467])
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][178] ([Intel XE#3467])
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html

  * igt@xe_live_ktest@xe_dma_buf:
    - shard-lnl:          NOTRUN -> [DMESG-FAIL][179] ([Intel XE#3466]) +1 other test dmesg-fail
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@xe_live_ktest@xe_dma_buf.html

  * igt@xe_live_ktest@xe_migrate:
    - shard-bmg:          NOTRUN -> [SKIP][180] ([Intel XE#1192])
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@xe_live_ktest@xe_migrate.html

  * igt@xe_oa@closed-fd-and-unmapped-access:
    - shard-dg2-set2:     NOTRUN -> [SKIP][181] ([Intel XE#2541])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_oa@closed-fd-and-unmapped-access.html

  * igt@xe_pat@pat-index-xe2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][182] ([Intel XE#2839] / [Intel XE#977])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_pat@pat-index-xe2.html

  * igt@xe_pm@s2idle-vm-bind-userptr:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][183] ([Intel XE#1616])
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@xe_pm@s2idle-vm-bind-userptr.html

  * igt@xe_pm@s4-basic-exec:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][184] ([Intel XE#1727])
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@xe_pm@s4-basic-exec.html
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][185] ([Intel XE#1727])
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_pm@s4-basic-exec.html

  * igt@xe_pm@s4-exec-after:
    - shard-lnl:          [PASS][186] -> [ABORT][187] ([Intel XE#1358] / [Intel XE#1607])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-5/igt@xe_pm@s4-exec-after.html
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-2/igt@xe_pm@s4-exec-after.html

  * igt@xe_query@multigpu-query-invalid-size:
    - shard-dg2-set2:     NOTRUN -> [SKIP][188] ([Intel XE#944])
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@xe_query@multigpu-query-invalid-size.html

  * igt@xe_query@multigpu-query-mem-usage:
    - shard-bmg:          NOTRUN -> [SKIP][189] ([Intel XE#944]) +2 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@xe_query@multigpu-query-mem-usage.html

  * igt@xe_vm@munmap-style-unbind-many-either-side-partial-hammer:
    - shard-lnl:          NOTRUN -> [DMESG-WARN][190] ([Intel XE#3466]) +1 other test dmesg-warn
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@xe_vm@munmap-style-unbind-many-either-side-partial-hammer.html

  * igt@xe_wedged@basic-wedged:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][191] ([Intel XE#2919])
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@xe_wedged@basic-wedged.html

  
#### Possible fixes ####

  * igt@core_hotunplug@hotrebind-lateclose:
    - shard-dg2-set2:     [SKIP][192] ([Intel XE#1885]) -> [PASS][193]
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@core_hotunplug@hotrebind-lateclose.html
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@core_hotunplug@hotrebind-lateclose.html

  * igt@core_setmaster@master-drop-set-root:
    - shard-dg2-set2:     [FAIL][194] ([Intel XE#3130] / [Intel XE#3249]) -> [PASS][195]
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@core_setmaster@master-drop-set-root.html
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@core_setmaster@master-drop-set-root.html

  * igt@fbdev@nullptr:
    - shard-dg2-set2:     [SKIP][196] ([Intel XE#2134]) -> [PASS][197]
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@fbdev@nullptr.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@fbdev@nullptr.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1:
    - shard-adlp:         [FAIL][198] ([Intel XE#827]) -> [PASS][199]
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-1/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1.html
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-2/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1.html

  * igt@kms_atomic@plane-invalid-params-fence:
    - shard-dg2-set2:     [SKIP][200] ([Intel XE#2423] / [i915#2575]) -> [PASS][201] +102 other tests pass
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_atomic@plane-invalid-params-fence.html
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_atomic@plane-invalid-params-fence.html

  * igt@kms_big_fb@4-tiled-addfb-size-overflow:
    - shard-dg2-set2:     [SKIP][202] ([Intel XE#2136]) -> [PASS][203] +35 other tests pass
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_big_fb@4-tiled-addfb-size-overflow.html
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_big_fb@4-tiled-addfb-size-overflow.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-d-hdmi-a-1:
    - shard-adlp:         [DMESG-WARN][204] ([Intel XE#2953] / [Intel XE#3086]) -> [PASS][205]
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-8/igt@kms_cursor_crc@cursor-suspend@pipe-d-hdmi-a-1.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-4/igt@kms_cursor_crc@cursor-suspend@pipe-d-hdmi-a-1.html

  * igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic:
    - shard-bmg:          [DMESG-WARN][206] ([Intel XE#3468]) -> [PASS][207]
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic.html
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@torture-move:
    - shard-dg2-set2:     [DMESG-WARN][208] ([Intel XE#2932]) -> [PASS][209]
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_cursor_legacy@torture-move.html
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_cursor_legacy@torture-move.html

  * igt@kms_cursor_legacy@torture-move@all-pipes:
    - shard-dg2-set2:     [DMESG-WARN][210] -> [PASS][211]
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_cursor_legacy@torture-move@all-pipes.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_cursor_legacy@torture-move@all-pipes.html

  * igt@kms_display_modes@extended-mode-basic@pipe-b-dp-2-pipe-c-hdmi-a-3:
    - shard-bmg:          [DMESG-WARN][212] ([Intel XE#877]) -> [PASS][213] +1 other test pass
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-7/igt@kms_display_modes@extended-mode-basic@pipe-b-dp-2-pipe-c-hdmi-a-3.html
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-4/igt@kms_display_modes@extended-mode-basic@pipe-b-dp-2-pipe-c-hdmi-a-3.html

  * igt@kms_draw_crc@draw-method-blt@rgb565-4tiled:
    - shard-bmg:          [DMESG-FAIL][214] -> [PASS][215] +1 other test pass
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_draw_crc@draw-method-blt@rgb565-4tiled.html
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_draw_crc@draw-method-blt@rgb565-4tiled.html

  * igt@kms_draw_crc@draw-method-blt@xrgb8888-4tiled:
    - shard-bmg:          [FAIL][216] -> [PASS][217]
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_draw_crc@draw-method-blt@xrgb8888-4tiled.html
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_draw_crc@draw-method-blt@xrgb8888-4tiled.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-bmg:          [FAIL][218] ([Intel XE#2882]) -> [PASS][219] +3 other tests pass
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2-set2:     [SKIP][220] ([Intel XE#2136] / [Intel XE#2351]) -> [PASS][221] +8 other tests pass
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_getfb@getfb2-handle-not-fb:
    - shard-lnl:          [DMESG-WARN][222] -> [PASS][223] +27 other tests pass
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-7/igt@kms_getfb@getfb2-handle-not-fb.html
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-5/igt@kms_getfb@getfb2-handle-not-fb.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-bmg:          [INCOMPLETE][224] -> [PASS][225] +3 other tests pass
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-2/igt@kms_hdr@bpc-switch-dpms.html
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-1/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [SKIP][226] ([Intel XE#1503]) -> [PASS][227]
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_hdr@invalid-hdr.html
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_hdr@invalid-hdr.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-dg2-set2:     [SKIP][228] ([Intel XE#2446]) -> [PASS][229] +1 other test pass
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_pm_rpm@system-suspend-modeset.html
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_pm_rpm@universal-planes-dpms:
    - shard-lnl:          [DMESG-WARN][230] ([Intel XE#2042]) -> [PASS][231]
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-6/igt@kms_pm_rpm@universal-planes-dpms.html
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-1/igt@kms_pm_rpm@universal-planes-dpms.html

  * igt@kms_pm_rpm@universal-planes-dpms@plane-41:
    - shard-lnl:          [DMESG-WARN][232] ([Intel XE#3184]) -> [PASS][233]
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-6/igt@kms_pm_rpm@universal-planes-dpms@plane-41.html
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-1/igt@kms_pm_rpm@universal-planes-dpms@plane-41.html

  * igt@kms_psr@fbc-psr-sprite-blt@edp-1:
    - shard-lnl:          [DMESG-WARN][234] ([Intel XE#3514]) -> [PASS][235] +5 other tests pass
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-7/igt@kms_psr@fbc-psr-sprite-blt@edp-1.html
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-5/igt@kms_psr@fbc-psr-sprite-blt@edp-1.html

  * igt@xe_ccs@ctrl-surf-copy@xmajor-compressed-compfmt0-vram01-vram01:
    - shard-bmg:          [DMESG-WARN][236] -> [PASS][237] +17 other tests pass
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-7/igt@xe_ccs@ctrl-surf-copy@xmajor-compressed-compfmt0-vram01-vram01.html
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@xe_ccs@ctrl-surf-copy@xmajor-compressed-compfmt0-vram01-vram01.html

  * igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system:
    - shard-lnl:          [DMESG-WARN][238] ([Intel XE#3466]) -> [PASS][239] +3 other tests pass
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-3/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-7/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html

  * igt@xe_exec_basic@many-null-rebind:
    - shard-dg2-set2:     [SKIP][240] ([Intel XE#1130]) -> [PASS][241] +181 other tests pass
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_exec_basic@many-null-rebind.html
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@xe_exec_basic@many-null-rebind.html

  * {igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_prepare}:
    - shard-adlp:         [DMESG-WARN][242] ([Intel XE#3086]) -> [PASS][243] +1 other test pass
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-8/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_prepare.html
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-4/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_prepare.html

  * igt@xe_pm@s4-mocs:
    - shard-lnl:          [ABORT][244] ([Intel XE#1794]) -> [PASS][245]
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-2/igt@xe_pm@s4-mocs.html
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-8/igt@xe_pm@s4-mocs.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-adlp:         [FAIL][246] ([Intel XE#3507]) -> [PASS][247]
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-8/igt@xe_sriov_flr@flr-vf1-clear.html
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-4/igt@xe_sriov_flr@flr-vf1-clear.html

  
#### Warnings ####

  * igt@core_hotunplug@hotunplug-rescan:
    - shard-dg2-set2:     [SKIP][248] ([Intel XE#1885]) -> [DMESG-WARN][249] ([Intel XE#3468])
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@core_hotunplug@hotunplug-rescan.html
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@core_hotunplug@hotunplug-rescan.html

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-adlp:         [DMESG-FAIL][250] ([Intel XE#1033]) -> [DMESG-WARN][251] ([Intel XE#1033])
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-1/igt@kms_async_flips@alternate-sync-async-flip.html
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-2/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-d-hdmi-a-1:
    - shard-adlp:         [FAIL][252] ([Intel XE#827]) -> [DMESG-WARN][253] ([Intel XE#1033])
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-adlp-1/igt@kms_async_flips@alternate-sync-async-flip@pipe-d-hdmi-a-1.html
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-adlp-2/igt@kms_async_flips@alternate-sync-async-flip@pipe-d-hdmi-a-1.html

  * igt@kms_async_flips@invalid-async-flip:
    - shard-dg2-set2:     [SKIP][254] ([Intel XE#873]) -> [SKIP][255] ([Intel XE#2423] / [i915#2575])
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_async_flips@invalid-async-flip.html
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_async_flips@invalid-async-flip.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][256] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][257] ([Intel XE#316])
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][258] ([Intel XE#316]) -> [SKIP][259] ([Intel XE#2136] / [Intel XE#2351])
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-270:
    - shard-dg2-set2:     [INCOMPLETE][260] ([Intel XE#1195] / [Intel XE#402]) -> [SKIP][261] ([Intel XE#2136] / [Intel XE#2351])
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][262] ([Intel XE#316]) -> [SKIP][263] ([Intel XE#2136]) +3 other tests skip
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][264] ([Intel XE#2136]) -> [SKIP][265] ([Intel XE#316]) +2 other tests skip
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-dg2-set2:     [SKIP][266] ([Intel XE#2136]) -> [INCOMPLETE][267] ([Intel XE#1195] / [Intel XE#3225] / [Intel XE#402])
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-dg2-set2:     [SKIP][268] ([Intel XE#2136]) -> [SKIP][269] ([Intel XE#1124]) +8 other tests skip
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - shard-dg2-set2:     [SKIP][270] ([Intel XE#1124]) -> [SKIP][271] ([Intel XE#2136] / [Intel XE#2351]) +4 other tests skip
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-dg2-set2:     [SKIP][272] ([Intel XE#619]) -> [SKIP][273] ([Intel XE#2136] / [Intel XE#2351])
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_big_fb@yf-tiled-addfb.html
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-dg2-set2:     [SKIP][274] ([Intel XE#1124]) -> [SKIP][275] ([Intel XE#2136]) +5 other tests skip
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0.html
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     [SKIP][276] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][277] ([Intel XE#1124]) +6 other tests skip
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p:
    - shard-dg2-set2:     [SKIP][278] ([Intel XE#367]) -> [SKIP][279] ([Intel XE#2423] / [i915#2575]) +2 other tests skip
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p.html
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p:
    - shard-dg2-set2:     [SKIP][280] ([Intel XE#2423] / [i915#2575]) -> [SKIP][281] ([Intel XE#2191])
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-1-displays-1920x1080p:
    - shard-dg2-set2:     [SKIP][282] ([Intel XE#2423] / [i915#2575]) -> [SKIP][283] ([Intel XE#367]) +4 other tests skip
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs:
    - shard-dg2-set2:     [SKIP][284] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][285] ([Intel XE#2136]) +12 other tests skip
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs.html
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][286] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][287] ([Intel XE#455] / [Intel XE#787]) +2 other tests skip
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
    - shard-dg2-set2:     [SKIP][288] ([Intel XE#2136]) -> [SKIP][289] ([Intel XE#2907]) +1 other test skip
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-dg2-set2:     [SKIP][290] -> [SKIP][291] ([Intel XE#3442])
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][292] ([Intel XE#1195]) -> [SKIP][293] ([Intel XE#2136])
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
    - shard-dg2-set2:     [SKIP][294] -> [SKIP][295] ([Intel XE#455] / [Intel XE#787])
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][296] ([Intel XE#2136]) -> [FAIL][297] ([Intel XE#616])
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-dg2-set2:     [SKIP][298] ([Intel XE#2907]) -> [SKIP][299] ([Intel XE#2136])
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs:
    - shard-dg2-set2:     [SKIP][300] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][301] ([Intel XE#2136] / [Intel XE#2351])
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs.html
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [SKIP][302] ([Intel XE#2136] / [Intel XE#2351]) -> [INCOMPLETE][303] ([Intel XE#1195])
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs:
    - shard-dg2-set2:     [SKIP][304] ([Intel XE#2136]) -> [SKIP][305] ([Intel XE#455] / [Intel XE#787]) +13 other tests skip
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs.html
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs.html

  * igt@kms_chamelium_color@ctm-0-25:
    - shard-dg2-set2:     [SKIP][306] ([Intel XE#306]) -> [SKIP][307] ([Intel XE#2423] / [i915#2575])
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_chamelium_color@ctm-0-25.html
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_chamelium_color@ctm-0-25.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-dg2-set2:     [SKIP][308] ([Intel XE#2423] / [i915#2575]) -> [SKIP][309] ([Intel XE#306]) +3 other tests skip
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_chamelium_color@ctm-0-50.html
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-dg2-set2:     [SKIP][310] ([Intel XE#373]) -> [SKIP][311] ([Intel XE#2423] / [i915#2575]) +7 other tests skip
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     [SKIP][312] ([Intel XE#2423] / [i915#2575]) -> [SKIP][313] ([Intel XE#373]) +11 other tests skip
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_chamelium_hpd@vga-hpd.html
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2-set2:     [FAIL][314] ([Intel XE#1178]) -> [SKIP][315] ([Intel XE#2423] / [i915#2575])
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_content_protection@atomic-dpms.html
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-dg2-set2:     [SKIP][316] ([Intel XE#2423] / [i915#2575]) -> [SKIP][317] ([Intel XE#307])
   [316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_content_protection@dp-mst-type-0.html
   [317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@uevent:
    - shard-dg2-set2:     [SKIP][318] ([Intel XE#2423] / [i915#2575]) -> [FAIL][319] ([Intel XE#1188])
   [318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_content_protection@uevent.html
   [319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-dg2-set2:     [SKIP][320] ([Intel XE#308]) -> [SKIP][321] ([Intel XE#2423] / [i915#2575]) +1 other test skip
   [320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_cursor_crc@cursor-offscreen-512x512.html
   [321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2-set2:     [SKIP][322] ([Intel XE#2423] / [i915#2575]) -> [SKIP][323] ([Intel XE#308])
   [322]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_cursor_crc@cursor-onscreen-512x170.html
   [323]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-32x10:
    - shard-dg2-set2:     [SKIP][324] ([Intel XE#455]) -> [SKIP][325] ([Intel XE#2423] / [i915#2575]) +4 other tests skip
   [324]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_cursor_crc@cursor-random-32x10.html
   [325]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_cursor_crc@cursor-random-32x10.html

  * igt@kms_cursor_crc@cursor-random-max-size:
    - shard-dg2-set2:     [SKIP][326] ([Intel XE#2423] / [i915#2575]) -> [SKIP][327] ([Intel XE#455]) +10 other tests skip
   [326]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_cursor_crc@cursor-random-max-size.html
   [327]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_cursor_crc@cursor-random-max-size.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-dg2-set2:     [SKIP][328] ([Intel XE#2423] / [i915#2575]) -> [SKIP][329] ([Intel XE#323])
   [328]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
   [329]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_draw_crc@draw-method-blt:
    - shard-bmg:          [INCOMPLETE][330] ([Intel XE#3468]) -> [DMESG-FAIL][331] ([Intel XE#3468])
   [330]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_draw_crc@draw-method-blt.html
   [331]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_draw_crc@draw-method-blt.html

  * igt@kms_draw_crc@draw-method-blt@xrgb2101010-xtiled:
    - shard-bmg:          [DMESG-FAIL][332] -> [DMESG-FAIL][333] ([Intel XE#2705])
   [332]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_draw_crc@draw-method-blt@xrgb2101010-xtiled.html
   [333]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_draw_crc@draw-method-blt@xrgb2101010-xtiled.html

  * igt@kms_dsc@dsc-basic:
    - shard-dg2-set2:     [SKIP][334] ([Intel XE#455]) -> [SKIP][335] ([Intel XE#2351])
   [334]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_dsc@dsc-basic.html
   [335]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_dsc@dsc-basic.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-dg2-set2:     [SKIP][336] ([Intel XE#455]) -> [SKIP][337] ([Intel XE#2136] / [Intel XE#2351]) +2 other tests skip
   [336]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_dsc@dsc-with-bpc-formats.html
   [337]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-dg2-set2:     [SKIP][338] ([Intel XE#2136]) -> [SKIP][339] ([Intel XE#455]) +5 other tests skip
   [338]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
   [339]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_fbcon_fbt@psr:
    - shard-dg2-set2:     [SKIP][340] ([Intel XE#776]) -> [SKIP][341] ([Intel XE#2136])
   [340]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_fbcon_fbt@psr.html
   [341]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@display-4x:
    - shard-dg2-set2:     [SKIP][342] ([Intel XE#1138]) -> [SKIP][343] ([Intel XE#2423] / [i915#2575])
   [342]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_feature_discovery@display-4x.html
   [343]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@psr2:
    - shard-dg2-set2:     [SKIP][344] ([Intel XE#2423] / [i915#2575]) -> [SKIP][345] ([Intel XE#1135])
   [344]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_feature_discovery@psr2.html
   [345]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-dg2-set2:     [FAIL][346] ([Intel XE#301]) -> [SKIP][347] ([Intel XE#2423] / [i915#2575])
   [346]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_flip@2x-flip-vs-expired-vblank.html
   [347]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_flip@2x-flip-vs-expired-vblank.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3:
    - shard-bmg:          [FAIL][348] ([Intel XE#3487]) -> [DMESG-WARN][349] ([Intel XE#3468]) +1 other test dmesg-warn
   [348]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-7/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html
   [349]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3:
    - shard-bmg:          [DMESG-WARN][350] -> [FAIL][351] ([Intel XE#3487])
   [350]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-7/igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3.html
   [351]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible:
    - shard-bmg:          [INCOMPLETE][352] ([Intel XE#2635] / [Intel XE#3468]) -> [DMESG-WARN][353] ([Intel XE#3468])
   [352]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-4/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html
   [353]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ad-dp2-hdmi-a3:
    - shard-bmg:          [INCOMPLETE][354] -> [DMESG-WARN][355] ([Intel XE#3468])
   [354]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-4/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ad-dp2-hdmi-a3.html
   [355]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-8/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ad-dp2-hdmi-a3.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling:
    - shard-dg2-set2:     [SKIP][356] ([Intel XE#2136]) -> [INCOMPLETE][357] ([Intel XE#1195] / [Intel XE#1727])
   [356]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling.html
   [357]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-valid-mode:
    - shard-bmg:          [INCOMPLETE][358] ([Intel XE#1727]) -> [DMESG-WARN][359] ([Intel XE#1727]) +1 other test dmesg-warn
   [358]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-3/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-valid-mode.html
   [359]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-6/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
    - shard-dg2-set2:     [SKIP][360] ([Intel XE#455]) -> [SKIP][361] ([Intel XE#2136])
   [360]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
   [361]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling:
    - shard-dg2-set2:     [DMESG-WARN][362] -> [SKIP][363] ([Intel XE#2136] / [Intel XE#2351])
   [362]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling.html
   [363]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4:
    - shard-bmg:          [DMESG-FAIL][364] ([Intel XE#3468]) -> [DMESG-FAIL][365] ([Intel XE#2705])
   [364]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-3/igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4.html
   [365]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-6/igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4.html

  * igt@kms_force_connector_basic@force-edid:
    - shard-dg2-set2:     [DMESG-WARN][366] -> [SKIP][367] ([Intel XE#2423] / [i915#2575])
   [366]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_force_connector_basic@force-edid.html
   [367]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_force_connector_basic@force-edid.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - shard-dg2-set2:     [SKIP][368] ([Intel XE#2423] / [i915#2575]) -> [SKIP][369] ([i915#5274])
   [368]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_force_connector_basic@prune-stale-modes.html
   [369]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff:
    - shard-dg2-set2:     [SKIP][370] ([Intel XE#651]) -> [SKIP][371] ([Intel XE#2136]) +19 other tests skip
   [370]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff.html
   [371]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@drrs-suspend:
    - shard-dg2-set2:     [SKIP][372] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][373] ([Intel XE#651]) +12 other tests skip
   [372]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_frontbuffer_tracking@drrs-suspend.html
   [373]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_frontbuffer_tracking@drrs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-dg2-set2:     [SKIP][374] ([Intel XE#658]) -> [SKIP][375] ([Intel XE#2136] / [Intel XE#2351])
   [374]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
   [375]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte:
    - shard-dg2-set2:     [SKIP][376] ([Intel XE#2136]) -> [SKIP][377] ([Intel XE#651]) +21 other tests skip
   [376]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte.html
   [377]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc:
    - shard-dg2-set2:     [SKIP][378] ([Intel XE#651]) -> [SKIP][379] ([Intel XE#2136] / [Intel XE#2351]) +7 other tests skip
   [378]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc.html
   [379]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear:
    - shard-dg2-set2:     [SKIP][380] ([Intel XE#2136]) -> [SKIP][381] ([Intel XE#653]) +26 other tests skip
   [380]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear.html
   [381]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-dg2-set2:     [SKIP][382] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][383] ([Intel XE#658])
   [382]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
   [383]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][384] ([Intel XE#653]) -> [SKIP][385] ([Intel XE#2136] / [Intel XE#2351]) +4 other tests skip
   [384]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html
   [385]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
    - shard-dg2-set2:     [SKIP][386] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][387] ([Intel XE#653]) +8 other tests skip
   [386]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
   [387]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-slowdraw:
    - shard-dg2-set2:     [SKIP][388] ([Intel XE#653]) -> [SKIP][389] ([Intel XE#2136]) +17 other tests skip
   [388]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-slowdraw.html
   [389]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_frontbuffer_tracking@psr-slowdraw.html

  * igt@kms_getfb@getfb-reject-ccs:
    - shard-dg2-set2:     [SKIP][390] ([Intel XE#605]) -> [SKIP][391] ([Intel XE#2423] / [i915#2575])
   [390]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_getfb@getfb-reject-ccs.html
   [391]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_getfb@getfb-reject-ccs.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][392] -> [SKIP][393] ([Intel XE#3374])
   [392]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html
   [393]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-dg2-set2:     [SKIP][394] ([Intel XE#2136]) -> [SKIP][395] ([Intel XE#2925])
   [394]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
   [395]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-dg2-set2:     [SKIP][396] ([Intel XE#2136]) -> [SKIP][397] ([Intel XE#2927])
   [396]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_joiner@invalid-modeset-ultra-joiner.html
   [397]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-dg2-set2:     [SKIP][398] ([Intel XE#2423] / [i915#2575]) -> [SKIP][399] ([Intel XE#356])
   [398]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [399]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - shard-dg2-set2:     [INCOMPLETE][400] ([Intel XE#1195] / [Intel XE#3468]) -> [SKIP][401] ([Intel XE#2423] / [i915#2575])
   [400]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_pipe_crc_basic@suspend-read-crc.html
   [401]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling:
    - shard-dg2-set2:     [SKIP][402] ([Intel XE#2423] / [i915#2575]) -> [SKIP][403] ([Intel XE#2763] / [Intel XE#455]) +1 other test skip
   [402]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html
   [403]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25:
    - shard-dg2-set2:     [SKIP][404] ([Intel XE#2763] / [Intel XE#455]) -> [SKIP][405] ([Intel XE#2423] / [i915#2575]) +1 other test skip
   [404]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html
   [405]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-dg2-set2:     [SKIP][406] ([Intel XE#2136]) -> [SKIP][407] ([Intel XE#2938])
   [406]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_pm_backlight@brightness-with-dpms.html
   [407]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-dg2-set2:     [SKIP][408] ([Intel XE#870]) -> [SKIP][409] ([Intel XE#2136])
   [408]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_pm_backlight@fade-with-dpms.html
   [409]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2-set2:     [SKIP][410] ([Intel XE#2136]) -> [SKIP][411] ([Intel XE#870])
   [410]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_pm_backlight@fade-with-suspend.html
   [411]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2-set2:     [SKIP][412] ([Intel XE#1129]) -> [SKIP][413] ([Intel XE#2136])
   [412]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_pm_dc@dc5-psr.html
   [413]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-dg2-set2:     [SKIP][414] -> [SKIP][415] ([Intel XE#3309])
   [414]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_pm_dc@dc5-retention-flops.html
   [415]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-dg2-set2:     [DMESG-WARN][416] ([Intel XE#3468]) -> [SKIP][417] ([Intel XE#2136] / [Intel XE#2351])
   [416]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_pm_dc@dc9-dpms.html
   [417]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_rpm@cursor-dpms:
    - shard-dg2-set2:     [ABORT][418] -> [INCOMPLETE][419] ([Intel XE#1195])
   [418]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_pm_rpm@cursor-dpms.html
   [419]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-464/igt@kms_pm_rpm@cursor-dpms.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-dg2-set2:     [DMESG-WARN][420] ([Intel XE#3468]) -> [SKIP][421] ([Intel XE#2446])
   [420]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_pm_rpm@dpms-non-lpsp.html
   [421]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@drm-resources-equal:
    - shard-dg2-set2:     [SKIP][422] ([Intel XE#2446]) -> [DMESG-FAIL][423] ([Intel XE#3468])
   [422]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_pm_rpm@drm-resources-equal.html
   [423]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_pm_rpm@drm-resources-equal.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2-set2:     [DMESG-WARN][424] -> [SKIP][425] ([Intel XE#2446]) +1 other test skip
   [424]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [425]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@universal-planes@plane-59:
    - shard-lnl:          [DMESG-WARN][426] ([Intel XE#3184] / [Intel XE#3466]) -> [DMESG-WARN][427] ([Intel XE#3466])
   [426]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-lnl-1/igt@kms_pm_rpm@universal-planes@plane-59.html
   [427]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-lnl-2/igt@kms_pm_rpm@universal-planes@plane-59.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
    - shard-dg2-set2:     [SKIP][428] ([Intel XE#1489]) -> [SKIP][429] ([Intel XE#2136]) +4 other tests skip
   [428]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
   [429]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
    - shard-dg2-set2:     [SKIP][430] ([Intel XE#2136]) -> [SKIP][431] ([Intel XE#1489]) +10 other tests skip
   [430]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
   [431]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-dg2-set2:     [SKIP][432] ([Intel XE#2136]) -> [SKIP][433] ([Intel XE#1122])
   [432]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_psr2_su@page_flip-nv12.html
   [433]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-dg2-set2:     [SKIP][434] ([Intel XE#1122]) -> [SKIP][435] ([Intel XE#2136])
   [434]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@kms_psr2_su@page_flip-p010.html
   [435]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-pr-cursor-blt:
    - shard-dg2-set2:     [SKIP][436] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][437] ([Intel XE#2136] / [Intel XE#2351]) +1 other test skip
   [436]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_psr@fbc-pr-cursor-blt.html
   [437]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_psr@fbc-pr-cursor-blt.html

  * igt@kms_psr@fbc-psr-sprite-render:
    - shard-dg2-set2:     [SKIP][438] ([Intel XE#2136]) -> [SKIP][439] ([Intel XE#2850] / [Intel XE#929]) +11 other tests skip
   [438]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_psr@fbc-psr-sprite-render.html
   [439]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_psr@fbc-psr-sprite-render.html

  * igt@kms_psr@fbc-psr2-sprite-plane-move:
    - shard-dg2-set2:     [SKIP][440] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][441] ([Intel XE#2136]) +7 other tests skip
   [440]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@kms_psr@fbc-psr2-sprite-plane-move.html
   [441]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@kms_psr@fbc-psr2-sprite-plane-move.html

  * igt@kms_psr@pr-dpms:
    - shard-dg2-set2:     [SKIP][442] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][443] ([Intel XE#2850] / [Intel XE#929]) +2 other tests skip
   [442]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_psr@pr-dpms.html
   [443]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_psr@pr-dpms.html

  * igt@kms_psr@psr-cursor-plane-move:
    - shard-dg2-set2:     [SKIP][444] ([Intel XE#2351]) -> [SKIP][445] ([Intel XE#2850] / [Intel XE#929])
   [444]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_psr@psr-cursor-plane-move.html
   [445]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-dg2-set2:     [SKIP][446] ([Intel XE#3414]) -> [SKIP][447] ([Intel XE#2423] / [i915#2575]) +1 other test skip
   [446]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_rotation_crc@bad-pixel-format.html
   [447]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@bad-tiling:
    - shard-dg2-set2:     [SKIP][448] ([Intel XE#2423] / [i915#2575]) -> [SKIP][449] ([Intel XE#3414]) +3 other tests skip
   [448]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@kms_rotation_crc@bad-tiling.html
   [449]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@kms_rotation_crc@bad-tiling.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-dg2-set2:     [SKIP][450] ([Intel XE#1127]) -> [SKIP][451] ([Intel XE#2423] / [i915#2575])
   [450]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
   [451]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-set2:     [SKIP][452] ([Intel XE#2423] / [i915#2575]) -> [FAIL][453] ([Intel XE#1729])
   [452]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@kms_tiled_display@basic-test-pattern.html
   [453]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@kms_tiled_display@basic-test-pattern.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-dg2-set2:     [SKIP][454] ([Intel XE#1091] / [Intel XE#2849]) -> [SKIP][455] ([Intel XE#2423] / [i915#2575]) +1 other test skip
   [454]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
   [455]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  * igt@xe_copy_basic@mem-copy-linear-0x369:
    - shard-dg2-set2:     [SKIP][456] ([Intel XE#1130]) -> [SKIP][457] ([Intel XE#1123])
   [456]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0x369.html
   [457]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@xe_copy_basic@mem-copy-linear-0x369.html

  * igt@xe_copy_basic@mem-copy-linear-0xfffe:
    - shard-dg2-set2:     [SKIP][458] ([Intel XE#1123]) -> [SKIP][459] ([Intel XE#1130])
   [458]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@xe_copy_basic@mem-copy-linear-0xfffe.html
   [459]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0xfffe.html

  * igt@xe_copy_basic@mem-set-linear-0xfd:
    - shard-dg2-set2:     [SKIP][460] ([Intel XE#1126]) -> [SKIP][461] ([Intel XE#1130])
   [460]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@xe_copy_basic@mem-set-linear-0xfd.html
   [461]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0xfd.html

  * igt@xe_copy_basic@mem-set-linear-0xfffe:
    - shard-dg2-set2:     [SKIP][462] ([Intel XE#1130]) -> [SKIP][463] ([Intel XE#1126])
   [462]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0xfffe.html
   [463]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@xe_copy_basic@mem-set-linear-0xfffe.html

  * igt@xe_eudebug@basic-close:
    - shard-dg2-set2:     [SKIP][464] ([Intel XE#1130]) -> [SKIP][465] ([Intel XE#2905]) +16 other tests skip
   [464]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@xe_eudebug@basic-close.html
   [465]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@xe_eudebug@basic-close.html

  * igt@xe_eudebug_online@preempt-breakpoint:
    - shard-dg2-set2:     [SKIP][466] ([Intel XE#2905]) -> [SKIP][467] ([Intel XE#1130]) +4 other tests skip
   [466]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_eudebug_online@preempt-breakpoint.html
   [467]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_eudebug_online@preempt-breakpoint.html

  * igt@xe_evict@evict-beng-large-multi-vm-cm:
    - shard-dg2-set2:     [FAIL][468] ([Intel XE#1600]) -> [SKIP][469] ([Intel XE#1130])
   [468]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-464/igt@xe_evict@evict-beng-large-multi-vm-cm.html
   [469]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-466/igt@xe_evict@evict-beng-large-multi-vm-cm.html

  * igt@xe_evict@evict-large-multi-vm-cm:
    - shard-dg2-set2:     [SKIP][470] ([Intel XE#1130]) -> [FAIL][471] ([Intel XE#1600])
   [470]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@xe_evict@evict-large-multi-vm-cm.html
   [471]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@xe_evict@evict-large-multi-vm-cm.html

  * igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch:
    - shard-dg2-set2:     [SKIP][472] ([Intel XE#288]) -> [SKIP][473] ([Intel XE#1130]) +19 other tests skip
   [472]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-436/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch.html
   [473]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch.html

  * igt@xe_exec_fault_mode@twice-userptr-rebind-imm:
    - shard-dg2-set2:     [SKIP][474] ([Intel XE#1130]) -> [SKIP][475] ([Intel XE#288]) +33 other tests skip
   [474]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html
   [475]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-463/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html

  * igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence:
    - shard-dg2-set2:     [SKIP][476] ([Intel XE#1130]) -> [SKIP][477] ([Intel XE#2360]) +1 other test skip
   [476]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html
   [477]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html

  * igt@xe_exec_threads@threads-hang-rebind-err:
    - shard-dg2-set2:     [SKIP][478] ([Intel XE#1130]) -> [DMESG-WARN][479] ([Intel XE#358])
   [478]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_exec_threads@threads-hang-rebind-err.html
   [479]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@xe_exec_threads@threads-hang-rebind-err.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init:
    - shard-dg2-set2:     [DMESG-WARN][480] ([Intel XE#3343]) -> [SKIP][481] ([Intel XE#1130]) +2 other tests skip
   [480]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init.html
   [481]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init:
    - shard-dg2-set2:     [SKIP][482] ([Intel XE#1130]) -> [DMESG-WARN][483] ([Intel XE#3343]) +1 other test dmesg-warn
   [482]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init.html
   [483]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init.html

  * igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_create:
    - shard-dg2-set2:     [SKIP][484] ([Intel XE#1130]) -> [DMESG-WARN][485] ([Intel XE#3467]) +2 other tests dmesg-warn
   [484]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_create.html
   [485]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_create.html

  * igt@xe_fault_injection@vm-create-fail-xe_exec_queue_create_bind:
    - shard-dg2-set2:     [DMESG-WARN][486] ([Intel XE#3467]) -> [SKIP][487] ([Intel XE#1130])
   [486]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_fault_injection@vm-create-fail-xe_exec_queue_create_bind.html
   [487]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_fault_injection@vm-create-fail-xe_exec_queue_create_bind.html

  * igt@xe_oa@syncs-userptr-wait-cfg:
    - shard-dg2-set2:     [SKIP][488] ([Intel XE#1130]) -> [SKIP][489] ([Intel XE#2541]) +7 other tests skip
   [488]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_oa@syncs-userptr-wait-cfg.html
   [489]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@xe_oa@syncs-userptr-wait-cfg.html

  * igt@xe_oa@whitelisted-registers-userspace-config:
    - shard-dg2-set2:     [SKIP][490] ([Intel XE#2541]) -> [SKIP][491] ([Intel XE#1130]) +6 other tests skip
   [490]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_oa@whitelisted-registers-userspace-config.html
   [491]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_oa@whitelisted-registers-userspace-config.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-dg2-set2:     [SKIP][492] ([Intel XE#2838] / [Intel XE#979]) -> [SKIP][493] ([Intel XE#1130])
   [492]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_pat@pat-index-xehpc.html
   [493]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelpg:
    - shard-dg2-set2:     [SKIP][494] ([Intel XE#1130]) -> [SKIP][495] ([Intel XE#979])
   [494]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_pat@pat-index-xelpg.html
   [495]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_pm@d3cold-mmap-vram:
    - shard-dg2-set2:     [SKIP][496] ([Intel XE#1130]) -> [SKIP][497] ([Intel XE#2284] / [Intel XE#366])
   [496]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-466/igt@xe_pm@d3cold-mmap-vram.html
   [497]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-436/igt@xe_pm@d3cold-mmap-vram.html

  * igt@xe_pm@d3cold-mocs:
    - shard-dg2-set2:     [SKIP][498] ([Intel XE#2284]) -> [SKIP][499] ([Intel XE#1130])
   [498]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_pm@d3cold-mocs.html
   [499]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_pm@d3cold-mocs.html

  * igt@xe_pm@d3hot-mmap-vram:
    - shard-dg2-set2:     [SKIP][500] ([Intel XE#1130]) -> [DMESG-WARN][501] ([Intel XE#3468]) +1 other test dmesg-warn
   [500]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_pm@d3hot-mmap-vram.html
   [501]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@xe_pm@d3hot-mmap-vram.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-dg2-set2:     [SKIP][502] ([Intel XE#2284] / [Intel XE#366]) -> [SKIP][503] ([Intel XE#1130]) +1 other test skip
   [502]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_pm@s2idle-d3cold-basic-exec.html
   [503]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-dg2-set2:     [SKIP][504] ([Intel XE#1130]) -> [SKIP][505] ([Intel XE#579])
   [504]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_pm@vram-d3cold-threshold.html
   [505]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-433/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-dg2-set2:     [SKIP][506] ([Intel XE#944]) -> [SKIP][507] ([Intel XE#1130]) +1 other test skip
   [506]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html
   [507]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

  * igt@xe_query@multigpu-query-topology:
    - shard-dg2-set2:     [SKIP][508] ([Intel XE#1130]) -> [SKIP][509] ([Intel XE#944]) +2 other tests skip
   [508]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-434/igt@xe_query@multigpu-query-topology.html
   [509]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-435/igt@xe_query@multigpu-query-topology.html

  * igt@xe_vm@large-userptr-split-misaligned-binds-67108864:
    - shard-dg2-set2:     [DMESG-WARN][510] -> [SKIP][511] ([Intel XE#1130]) +3 other tests skip
   [510]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192/shard-dg2-463/igt@xe_vm@large-userptr-split-misaligned-binds-67108864.html
   [511]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-138867v3/shard-dg2-434/igt@xe_vm@large-userptr-split-misaligned-binds-67108864.html

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

  [Intel XE#1000]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1000
  [Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
  [Intel XE#1034]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1034
  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1130
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
  [Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
  [Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
  [Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1426
  [Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1600]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1600
  [Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607
  [Intel XE#1616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1616
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#1885]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1885
  [Intel XE#2042]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2042
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [Intel XE#2136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2136
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2333
  [Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
  [Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
  [Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
  [Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
  [Intel XE#2423]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2423
  [Intel XE#2446]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2446
  [Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
  [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
  [Intel XE#2566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2566
  [Intel XE#2594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2594
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2625
  [Intel XE#2635]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2635
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2687]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2687
  [Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
  [Intel XE#2715]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2715
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
  [Intel XE#2839]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2839
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2919]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2919
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2932]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2932
  [Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#3086]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3086
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3130
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3184]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3184
  [Intel XE#3225]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3225
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3249]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3249
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [Intel XE#3339]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3339
  [Intel XE#3343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3343
  [Intel XE#3371]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3371
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
  [Intel XE#3466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3466
  [Intel XE#3467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3467
  [Intel XE#3468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3468
  [Intel XE#3487]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3487
  [Intel XE#3499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3499
  [Intel XE#3507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3507
  [Intel XE#3514]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3514
  [Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
  [Intel XE#358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/358
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#402]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/402
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
  [Intel XE#605]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/605
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#736]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/736
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#827]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/827
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#873]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/873
  [Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
  [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
  [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274


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

  * Linux: xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192 -> xe-pw-138867v3

  IGT_8116: 10a7dcaa598461073d6c7268704f32043af8722f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2250-ae16c37991aa8ab2afc0309ff88d9ccada395192: ae16c37991aa8ab2afc0309ff88d9ccada395192
  xe-pw-138867v3: 138867v3

== Logs ==

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

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

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

* RE: [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram
  2024-11-19 10:45 ` [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram Arun R Murthy
@ 2024-11-20  7:17   ` Kandpal, Suraj
  0 siblings, 0 replies; 35+ messages in thread
From: Kandpal, Suraj @ 2024-11-20  7:17 UTC (permalink / raw)
  To: Murthy, Arun R, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
  Cc: Murthy, Arun R



> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Arun R
> Murthy
> Sent: Tuesday, November 19, 2024 4:15 PM
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> devel@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram
> 
> Add the register/bit definitions for global histogram.
> 
> v2: Intended the register contents, removed unused regs (Jani)

Adding Bpsec references for register definitions would help 
Other than that LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  .../drm/i915/display/intel_histogram_regs.h   | 48 +++++++++++++++++++
>  1 file changed, 48 insertions(+)
>  create mode 100644 drivers/gpu/drm/i915/display/intel_histogram_regs.h
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> new file mode 100644
> index 000000000000..1252b4f339a6
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> @@ -0,0 +1,48 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#ifndef __INTEL_HISTOGRAM_REGS_H__
> +#define __INTEL_HISTOGRAM_REGS_H__
> +
> +#include "intel_display_reg_defs.h"
> +
> +/* GLOBAL_HIST related registers */
> +#define _DPST_CTL_A					0x490C0
> +#define _DPST_CTL_B					0x491C0
> +#define DPST_CTL(pipe)
> 	_MMIO_PIPE(pipe, _DPST_CTL_A, _DPST_CTL_B)
> +#define  DPST_CTL_IE_HIST_EN				REG_BIT(31)
> +#define  DPST_CTL_RESTORE				REG_BIT(28)
> +#define  DPST_CTL_IE_MODI_TABLE_EN			REG_BIT(27)
> +#define  DPST_CTL_HIST_MODE				REG_BIT(24)
> +#define  DPST_CTL_ENHANCEMENT_MODE_MASK
> 	REG_GENMASK(14, 13)
> +#define  DPST_CTL_EN_MULTIPLICATIVE
> 	REG_FIELD_PREP(DPST_CTL_ENHANCEMENT_MODE_MASK, 2)
> +#define  DPST_CTL_IE_TABLE_VALUE_FORMAT			REG_BIT(15)
> +#define  DPST_CTL_BIN_REG_FUNC_SEL			REG_BIT(11)
> +#define  DPST_CTL_BIN_REG_FUNC_TC
> 	REG_FIELD_PREP(DPST_CTL_BIN_REG_FUNC_SEL, 0)
> +#define  DPST_CTL_BIN_REG_FUNC_IE
> 	REG_FIELD_PREP(DPST_CTL_BIN_REG_FUNC_SEL, 1)
> +#define  DPST_CTL_BIN_REG_MASK
> 	REG_GENMASK(6, 0)
> +#define  DPST_CTL_BIN_REG_CLEAR
> 	REG_FIELD_PREP(DPST_CTL_BIN_REG_MASK, 0)
> +#define  DPST_CTL_IE_TABLE_VALUE_FORMAT_2INT_8FRAC
> 	REG_FIELD_PREP(DPST_CTL_IE_TABLE_VALUE_FORMAT, 1)
> +#define  DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC
> 	REG_FIELD_PREP(DPST_CTL_IE_TABLE_VALUE_FORMAT, 0)
> +#define  DPST_CTL_HIST_MODE_YUV
> 	REG_FIELD_PREP(DPST_CTL_HIST_MODE, 0)
> +#define  DPST_CTL_HIST_MODE_HSV
> 	REG_FIELD_PREP(DPST_CTL_HIST_MODE, 1)
> +
> +#define _DPST_GUARD_A					0x490C8
> +#define _DPST_GUARD_B					0x491C8
> +#define DPST_GUARD(pipe)				_MMIO_PIPE(pipe,
> _DPST_GUARD_A, _DPST_GUARD_B)
> +#define  DPST_GUARD_HIST_INT_EN				REG_BIT(31)
> +#define  DPST_GUARD_HIST_EVENT_STATUS			REG_BIT(30)
> +#define  DPST_GUARD_INTERRUPT_DELAY_MASK
> 	REG_GENMASK(29, 22)
> +#define  DPST_GUARD_INTERRUPT_DELAY(val)
> 	REG_FIELD_PREP(DPST_GUARD_INTERRUPT_DELAY_MASK, val)
> +#define  DPST_GUARD_THRESHOLD_GB_MASK
> 	REG_GENMASK(21, 0)
> +#define  DPST_GUARD_THRESHOLD_GB(val)
> 	REG_FIELD_PREP(DPST_GUARD_THRESHOLD_GB_MASK, val)
> +
> +#define _DPST_BIN_A					0x490C4
> +#define _DPST_BIN_B					0x491C4
> +#define DPST_BIN(pipe)
> 	_MMIO_PIPE(pipe, _DPST_BIN_A, _DPST_BIN_B)
> +#define  DPST_BIN_DATA_MASK
> 	REG_GENMASK(23, 0)
> +#define  DPST_BIN_BUSY					REG_BIT(31)
> +
> +#endif /* __INTEL_HISTOGRAM_REGS_H__ */
> --
> 2.25.1


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

* RE: [PATCHv4 2/8] drm/i915/histogram: Add support for histogram
  2024-11-19 10:45 ` [PATCHv4 2/8] drm/i915/histogram: Add support " Arun R Murthy
@ 2024-11-20  8:13   ` Kandpal, Suraj
  2024-11-21  7:14     ` Murthy, Arun R
  0 siblings, 1 reply; 35+ messages in thread
From: Kandpal, Suraj @ 2024-11-20  8:13 UTC (permalink / raw)
  To: Murthy, Arun R, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
  Cc: Murthy, Arun R



> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Arun R
> Murthy
> Sent: Tuesday, November 19, 2024 4:15 PM
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> devel@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: [PATCHv4 2/8] drm/i915/histogram: Add support for histogram
> 
> Statistics is generated from the image frame that is coming to display and an
> event is sent to user after reading this histogram data.
> This statistics/histogram is then shared with the user upon getting a request
> from user. User can then use this histogram and generate an enhancement
> factor. This enhancement factor can be multiplied/added with the incoming
> pixel data frame.
> 
> v2: forward declaration in header file along with error handling (Jani)
> v3: Replaced i915 with intel_display (Suraj)
> v4: Removed dithering enable/disable (Vandita)
>     New patch for histogram register definitions (Suraj)
> 

Mostly looks okay to me some minor comments and questions below

> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  drivers/gpu/drm/i915/Makefile                 |   1 +
>  .../drm/i915/display/intel_display_types.h    |   2 +
>  .../gpu/drm/i915/display/intel_histogram.c    | 195 ++++++++++++++++++
>  .../gpu/drm/i915/display/intel_histogram.h    |  35 ++++
>  4 files changed, 233 insertions(+)
>  create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.c
>  create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.h
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index e465828d748f..97141b4def3b 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -267,6 +267,7 @@ i915-y += \
>  	display/intel_hdcp.o \
>  	display/intel_hdcp_gsc.o \
>  	display/intel_hdcp_gsc_message.o \
> +	display/intel_histogram.o \
>  	display/intel_hotplug.o \
>  	display/intel_hotplug_irq.o \
>  	display/intel_hti.o \
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 339e4b0f7698..351441efd10a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1414,6 +1414,8 @@ struct intel_crtc {
>  	/* for loading single buffered registers during vblank */
>  	struct pm_qos_request vblank_pm_qos;
> 
> +	struct intel_histogram *histogram;
> +
>  #ifdef CONFIG_DEBUG_FS
>  	struct intel_pipe_crc pipe_crc;
>  #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> b/drivers/gpu/drm/i915/display/intel_histogram.c
> new file mode 100644
> index 000000000000..e751977fc6f7
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -0,0 +1,195 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#include <drm/drm_device.h>
> +#include <drm/drm_file.h>
> +#include <drm/drm_vblank.h>
> +
> +#include "i915_reg.h"
> +#include "i915_drv.h"
> +#include "intel_display.h"
> +#include "intel_histogram_regs.h"
> +#include "intel_histogram.h"
> +#include "intel_display_types.h"
> +#include "intel_de.h"

Rearrange the above definitions in alphabetical order so intel_de goes above intel display and
Display types comes under  intel_display

> +
> +#define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300    // 3.0% of
> the pipe's current pixel count.
> +#define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000   // Precision
> factor for threshold guardband.

Shouldn’t we be using /* xxxxx */ to make comments

> +#define HISTOGRAM_DEFAULT_GUARDBAND_DELAY 0x04
> +
> +struct intel_histogram {
> +	struct intel_crtc *crtc;
> +	struct delayed_work work;
> +	bool enable;
> +	bool can_enable;
> +	u32 bin_data[HISTOGRAM_BIN_COUNT];
> +};
> +
> +int intel_histogram_atomic_check(struct intel_crtc *intel_crtc) {
> +	struct intel_histogram *histogram = intel_crtc->histogram;
> +
> +	/* TODO: Restrictions for enabling histogram */

Should we at least add the restriction for the minimum  display version required to run DPST?

> +	histogram->can_enable = true;
> +
> +	return 0;
> +}
> +
> +static int intel_histogram_enable(struct intel_crtc *intel_crtc) {
> +	struct intel_display *display = to_intel_display(intel_crtc);
> +	struct intel_histogram *histogram = intel_crtc->histogram;
> +	int pipe = intel_crtc->pipe;
> +	u64 res;
> +	u32 gbandthreshold;
> +
> +	if (!histogram)
> +		return -EINVAL;
> +
> +	if (!histogram->can_enable)
> +		return -EINVAL;
> +
> +	if (histogram->enable)
> +		return 0;
> +
> +	 /* enable histogram, clear DPST_BIN reg and select TC function */

I think you mean "Clear DPST_CTL bin reg func select to TC"
Because that’s what I see on Bspec and also I don’t see you clearing DPST_BIN register
	
> +	intel_de_rmw(display, DPST_CTL(pipe),
> +		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_IE_HIST_EN |
> +		     DPST_CTL_HIST_MODE |
> DPST_CTL_IE_TABLE_VALUE_FORMAT,
> +		     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
> +		     DPST_CTL_HIST_MODE_HSV |
> +		     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC);
> +
> +	/* Re-Visit: check if wait for one vblank is required */
> +	drm_crtc_wait_one_vblank(&intel_crtc->base);

Confused here so histogram will not be enabled for at least 2 vblanks and 3 vblanks for display 12-14 after writing enable
When enabled outside the active region so why just the single vblank wait ?

> +
> +	/*
> +	 * TODO: one time programming: Program GuardBand Threshold.
> +	 * To be moved to modeset path
> +	 */

The two : back to back seem dirty after the todo state in a single sentence what needs to be done

> +	res = (intel_crtc->config->hw.adjusted_mode.vtotal *
> +	       intel_crtc->config->hw.adjusted_mode.htotal);
> +
> +	gbandthreshold = (res *
> 	HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT) /
> +			  HISTOGRAM_GUARDBAND_PRECISION_FACTOR;

According to bspec this value i.e gbandthreshold "This value is shifted left 2 bits (multiplied by 4) for use with the 24 bit bin values."
I don’t see that happening here is that on purpose?
Also I don’t see any spec stating how you calculate this threshold can you point me to where this is written.

> +
> +	/* Enable histogram interrupt mode */
> +	intel_de_rmw(display, DPST_GUARD(pipe),
> +		     DPST_GUARD_THRESHOLD_GB_MASK |
> +		     DPST_GUARD_INTERRUPT_DELAY_MASK |
> DPST_GUARD_HIST_INT_EN,
> +		     DPST_GUARD_THRESHOLD_GB(gbandthreshold) |
> +
> DPST_GUARD_INTERRUPT_DELAY(HISTOGRAM_DEFAULT_GUARDBAND_DELA
> Y) |

Where do we get the HISTOGRAM_DEFAULT_GUARDBAND_DELAY from ?

> +		     DPST_GUARD_HIST_INT_EN);
> +
> +	/* Clear pending interrupts has to be done on separate write */
> +	intel_de_rmw(display, DPST_GUARD(pipe),
> +		     DPST_GUARD_HIST_EVENT_STATUS, 1);
> +
> +	histogram->enable = true;
> +
> +	return 0;
> +}
> +
> +static void intel_histogram_disable(struct intel_crtc *intel_crtc) {
> +	struct intel_display *display = to_intel_display(intel_crtc);
> +	struct intel_histogram *histogram = intel_crtc->histogram;
> +	int pipe = intel_crtc->pipe;
> +
> +	if (!histogram)
> +		return;
> +
> +	/* If already disabled return */
> +	if (histogram->enable)
> +		return;
> +
> +	/* Clear pending interrupts and disable interrupts */
> +	intel_de_rmw(display, DPST_GUARD(pipe),
> +		     DPST_GUARD_HIST_INT_EN |
> DPST_GUARD_HIST_EVENT_STATUS, 0);
> +
> +	/* disable DPST_CTL Histogram mode */
> +	intel_de_rmw(display, DPST_CTL(pipe),
> +		     DPST_CTL_IE_HIST_EN, 0);
> +
> +	histogram->enable = false;
> +}
> +
> +int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable)
> +{
> +	if (enable)
> +		return intel_histogram_enable(intel_crtc);
> +
> +	intel_histogram_disable(intel_crtc);
> +	return 0;
> +}
> +
> +int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32
> +*data) {
> +	struct intel_histogram *histogram = intel_crtc->histogram;
> +	struct intel_display *display = to_intel_display(intel_crtc);
> +	int pipe = intel_crtc->pipe;
> +	int i = 0;
> +
> +	if (!histogram)
> +		return -EINVAL;
> +
> +	if (!histogram->enable) {
> +		drm_err(display->drm, "histogram not enabled");
> +		return -EINVAL;
> +	}
> +
> +	if (!data) {
> +		drm_err(display->drm, "enhancement LUT data is NULL");
> +		return -EINVAL;
> +	}
> +
> +	/*
> +	 * Set DPST_CTL Bin Reg function select to IE
> +	 * Set DPST_CTL Bin Register Index to 0
> +	 */
> +	intel_de_rmw(display, DPST_CTL(pipe),
> +		     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_BIN_REG_MASK,
> +		     DPST_CTL_BIN_REG_FUNC_IE |
> DPST_CTL_BIN_REG_CLEAR);
> +
> +	for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
> +		intel_de_rmw(display, DPST_BIN(pipe),
> +			     DPST_BIN_DATA_MASK, data[i]);
> +		drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n", i,
> data[i]);
> +	}
> +
> +	intel_de_rmw(display, DPST_CTL(pipe),
> +		     DPST_CTL_ENHANCEMENT_MODE_MASK |
> DPST_CTL_IE_MODI_TABLE_EN,
> +		     DPST_CTL_EN_MULTIPLICATIVE |
> DPST_CTL_IE_MODI_TABLE_EN);

According to Bspec we follow the below steps
" 
1)Set DPST_CTL Bin Register Function Select to IE
2)Wait for vertical blank for switch to IE mode, can skip if step 1 was done more than 1 vblank previously
3)Set DPST_CTL Bin Register Index to 0
4)Write enhancement factor to DPST_BIN Data
4)Go to step 4 until all 33 entries are written
"
The sequence in code seems reversed.
Also I don’t see the vblank wait that need to be done after switching to IE mode.


> +
> +	/* Once IE is applied, change DPST CTL to TC */
> +	intel_de_rmw(display, DPST_CTL(pipe),
> +		     DPST_CTL_BIN_REG_FUNC_SEL,
> DPST_CTL_BIN_REG_FUNC_TC);
> +
> +	return 0;
> +}
> +
> +void intel_histogram_finish(struct intel_crtc *intel_crtc) {
> +	struct intel_histogram *histogram = intel_crtc->histogram;
> +
> +	kfree(histogram);
> +}
> +
> +int intel_histogram_init(struct intel_crtc *intel_crtc) {
> +	struct intel_histogram *histogram;
> +
> +	/* Allocate histogram internal struct */
> +	histogram = kzalloc(sizeof(*histogram), GFP_KERNEL);
> +	if (!histogram) {
> +		return -ENOMEM;
> +	}

No need for extra brackets

Regards,
Suraj Kandpal

> +
> +	intel_crtc->histogram = histogram;
> +	histogram->crtc = intel_crtc;
> +	histogram->can_enable = false;
> +
> +	return 0;
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.h
> b/drivers/gpu/drm/i915/display/intel_histogram.h
> new file mode 100644
> index 000000000000..9d66724f9c53
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.h
> @@ -0,0 +1,35 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#ifndef __INTEL_HISTOGRAM_H__
> +#define __INTEL_HISTOGRAM_H__
> +
> +#include <linux/types.h>
> +
> +struct intel_crtc;
> +
> +#define HISTOGRAM_BIN_COUNT                    32
> +#define HISTOGRAM_IET_LENGTH                   33
> +
> +enum intel_global_hist_status {
> +	INTEL_HISTOGRAM_ENABLE,
> +	INTEL_HISTOGRAM_DISABLE,
> +};
> +
> +enum intel_global_histogram {
> +	INTEL_HISTOGRAM,
> +};
> +
> +enum intel_global_hist_lut {
> +	INTEL_HISTOGRAM_PIXEL_FACTOR,
> +};
> +
> +int intel_histogram_atomic_check(struct intel_crtc *intel_crtc); int
> +intel_histogram_update(struct intel_crtc *intel_crtc, bool enable); int
> +intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data);
> +int intel_histogram_init(struct intel_crtc *intel_crtc); void
> +intel_histogram_finish(struct intel_crtc *intel_crtc);
> +
> +#endif /* __INTEL_HISTOGRAM_H__ */
> --
> 2.25.1


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

* RE: [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram
  2024-11-19 10:45 ` [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram Arun R Murthy
  2024-11-19 11:41   ` Jani Nikula
@ 2024-11-20  8:33   ` Kandpal, Suraj
  2024-11-21  7:19     ` Murthy, Arun R
  1 sibling, 1 reply; 35+ messages in thread
From: Kandpal, Suraj @ 2024-11-20  8:33 UTC (permalink / raw)
  To: Murthy, Arun R, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
  Cc: Murthy, Arun R



> -----Original Message-----
> From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of
> Arun R Murthy
> Sent: Tuesday, November 19, 2024 4:15 PM
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> devel@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global
> histogram
> 
> CRTC properties have been added for enable/disable histogram, reading the
> histogram data and writing the IET data.
> "HISTOGRAM_EN" is the crtc property to enable/disable the global histogram
> and takes a value 0/1 accordingly.
> "Histogram" is a crtc property to read the binary histogram data.
> "Global IET" is a crtc property to write the IET binary LUT data.
> 
> v2: Read the histogram blob data before sending uevent (Jani)
> v3: use drm_property_replace_blob_from_id (Vandita)
>     Add substruct for histogram in intel_crtc_state (Jani)
> v4:  Rebased after addressing comments on patch 1
> v5: histogram check with old/new crtc_state (Suraj)
> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_atomic.c   |   5 +
>  drivers/gpu/drm/i915/display/intel_crtc.c     | 168 +++++++++++++++++-
>  drivers/gpu/drm/i915/display/intel_crtc.h     |   5 +
>  drivers/gpu/drm/i915/display/intel_display.c  |  18 ++
>  .../drm/i915/display/intel_display_types.h    |  13 ++
>  .../gpu/drm/i915/display/intel_histogram.c    |   6 +
>  6 files changed, 214 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c
> b/drivers/gpu/drm/i915/display/intel_atomic.c
> index 03dc54c802d3..a0d64a20b01e 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic.c
> @@ -246,6 +246,8 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
> 
>  	__drm_atomic_helper_crtc_duplicate_state(crtc, &crtc_state->uapi);
> 
> +	if (crtc_state->histogram.global_iet)
> +		drm_property_blob_get(crtc_state->histogram.global_iet);
>  	/* copy color blobs */
>  	if (crtc_state->hw.degamma_lut)
>  		drm_property_blob_get(crtc_state->hw.degamma_lut);
> @@ -278,6 +280,7 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
>  	crtc_state->dsb_color_vblank = NULL;
>  	crtc_state->dsb_commit = NULL;
>  	crtc_state->use_dsb = false;
> +	crtc_state->histogram.histogram_enable_changed = false;
> 
>  	return &crtc_state->uapi;
>  }
> @@ -314,6 +317,8 @@ intel_crtc_destroy_state(struct drm_crtc *crtc,
>  	drm_WARN_ON(crtc->dev, crtc_state->dsb_color_vblank);
>  	drm_WARN_ON(crtc->dev, crtc_state->dsb_commit);
> 
> +	if (crtc_state->histogram.global_iet)
> +		drm_property_blob_put(crtc_state->histogram.global_iet);
>  	__drm_atomic_helper_crtc_destroy_state(&crtc_state->uapi);
>  	intel_crtc_free_hw_state(crtc_state);
>  	if (crtc_state->dp_tunnel_ref.tunnel)
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> b/drivers/gpu/drm/i915/display/intel_crtc.c
> index a2c528d707f4..3be81a5a789b 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -11,6 +11,7 @@
>  #include <drm/drm_plane.h>
>  #include <drm/drm_vblank.h>
>  #include <drm/drm_vblank_work.h>
> +#include <drm/drm_atomic_uapi.h>
> 
>  #include "i915_vgpu.h"
>  #include "i9xx_plane.h"
> @@ -27,6 +28,7 @@
>  #include "intel_drrs.h"
>  #include "intel_dsi.h"
>  #include "intel_fifo_underrun.h"
> +#include "intel_histogram.h"
>  #include "intel_pipe_crc.h"
>  #include "intel_psr.h"
>  #include "intel_sprite.h"
> @@ -210,6 +212,7 @@ static struct intel_crtc *intel_crtc_alloc(void)  static
> void intel_crtc_free(struct intel_crtc *crtc)  {
>  	intel_crtc_destroy_state(&crtc->base, crtc->base.state);
> +	intel_histogram_finish(crtc);
>  	kfree(crtc);
>  }
> 
> @@ -229,6 +232,66 @@ static int intel_crtc_late_register(struct drm_crtc
> *crtc)
>  	return 0;
>  }
> 
> +static int intel_crtc_get_property(struct drm_crtc *crtc,
> +				   const struct drm_crtc_state *state,
> +				   struct drm_property *property,
> +				   uint64_t *val)
> +{
> +	struct drm_i915_private *i915 = to_i915(crtc->dev);
> +	const struct intel_crtc_state *intel_crtc_state =
> +		to_intel_crtc_state(state);
> +	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> +
> +	if (property == intel_crtc->histogram_en_property) {
> +		*val = intel_crtc_state->histogram.histogram_enable;
> +	} else if (property == intel_crtc->global_iet_property) {
> +		*val = (intel_crtc_state->histogram.global_iet) ?
> +			intel_crtc_state->histogram.global_iet->base.id : 0;
> +	} else if (property == intel_crtc->histogram_property) {
> +		*val = (intel_crtc_state->histogram.histogram) ?
> +			intel_crtc_state->histogram.histogram->base.id : 0;
> +	} else {
> +		drm_err(&i915->drm,
> +			"Unknown property [PROP:%d:%s]\n",
> +			property->base.id, property->name);
> +		return -EINVAL;
> +	}
> +
> +	return 0;
> +}
> +
> +static int intel_crtc_set_property(struct drm_crtc *crtc,
> +				   struct drm_crtc_state *state,
> +				   struct drm_property *property,
> +				   u64 val)
> +{
> +	struct drm_i915_private *i915 = to_i915(crtc->dev);
> +	struct intel_crtc_state *intel_crtc_state =
> +		to_intel_crtc_state(state);
> +	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> +	bool replaced = false;
> +
> +	if (property == intel_crtc->histogram_en_property) {
> +		intel_crtc_state->histogram.histogram_enable = val;
> +		return 0;
> +	}
> +
> +	if (property == intel_crtc->global_iet_property) {
> +		drm_property_replace_blob_from_id(crtc->dev,
> +						  &intel_crtc_state-
> >histogram.global_iet,
> +						  val,
> +						  sizeof(uint32_t) *
> HISTOGRAM_IET_LENGTH,
> +						  -1, &replaced);
> +		if (replaced)
> +			intel_crtc_state->histogram.global_iet_changed =
> true;
> +		return 0;
> +	}
> +
> +	drm_dbg_atomic(&i915->drm, "Unknown property [PROP:%d:%s]\n",
> +		       property->base.id, property->name);
> +	return -EINVAL;
> +}
> +
>  #define INTEL_CRTC_FUNCS \
>  	.set_config = drm_atomic_helper_set_config, \
>  	.destroy = intel_crtc_destroy, \
> @@ -238,7 +301,9 @@ static int intel_crtc_late_register(struct drm_crtc *crtc)
>  	.set_crc_source = intel_crtc_set_crc_source, \
>  	.verify_crc_source = intel_crtc_verify_crc_source, \
>  	.get_crc_sources = intel_crtc_get_crc_sources, \
> -	.late_register = intel_crtc_late_register
> +	.late_register = intel_crtc_late_register, \
> +	.atomic_set_property = intel_crtc_set_property, \
> +	.atomic_get_property = intel_crtc_get_property
> 
>  static const struct drm_crtc_funcs bdw_crtc_funcs = {
>  	INTEL_CRTC_FUNCS,
> @@ -383,6 +448,10 @@ int intel_crtc_init(struct drm_i915_private *dev_priv,
> enum pipe pipe)
>  	intel_color_crtc_init(crtc);
>  	intel_drrs_crtc_init(crtc);
>  	intel_crtc_crc_init(crtc);
> +	intel_histogram_init(crtc);
> +
> +	/* Initialize crtc properties */
> +	intel_crtc_add_property(crtc);
> 
>  	cpu_latency_qos_add_request(&crtc->vblank_pm_qos,
> PM_QOS_DEFAULT_VALUE);
> 
> @@ -737,3 +806,100 @@ void intel_pipe_update_end(struct
> intel_atomic_state *state,
>  out:
>  	intel_psr_unlock(new_crtc_state);
>  }
> +
> +static const struct drm_prop_enum_list histogram_enable_names[] = {
> +	{ INTEL_HISTOGRAM_DISABLE, "Disable" },
> +	{ INTEL_HISTOGRAM_ENABLE, "Enable" },
> +};
> +
> +/**
> + * intel_attach_histogram_en_property() - add property to
> +enable/disable histogram
> + * @intel_crtc: pointer to the struct intel_crtc on which the global histogram
> is to
> + *		be enabled/disabled
> + *
> + * "HISTOGRAM_EN" is the crtc propety to enable/disable global
> +histogram  */ void intel_attach_histogram_en_property(struct intel_crtc
> +*intel_crtc) {
> +	struct drm_crtc *crtc = &intel_crtc->base;
> +	struct drm_device *dev = crtc->dev;
> +	struct drm_property *prop;
> +
> +	prop = intel_crtc->histogram_en_property;
> +	if (!prop) {
> +		prop = drm_property_create_enum(dev, 0,
> +						"Histogram_Enable",
> +						histogram_enable_names,
> +
> 	ARRAY_SIZE(histogram_enable_names));
> +		if (!prop)
> +			return;
> +
> +		intel_crtc->histogram_en_property = prop;
> +	}
> +
> +	drm_object_attach_property(&crtc->base, prop, 0); }
> +
> +/**
> + * intel_attach_global_iet_property() - add property to write Image
> +Enhancement data
> + * @intel_crtc: pointer to the struct intel_crtc on which global
> +histogram is enabled
> + *
> + * "Global IET" is the crtc property to write the Image Enhancement LUT
> +binary data  */ void intel_attach_global_iet_property(struct intel_crtc
> +*intel_crtc) {
> +	struct drm_crtc *crtc = &intel_crtc->base;
> +	struct drm_device *dev = crtc->dev;
> +	struct drm_property *prop;
> +
> +	prop = intel_crtc->global_iet_property;
> +	if (!prop) {
> +		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB |
> DRM_MODE_PROP_ATOMIC,
> +					   "Global IET", 0);
> +		if (!prop)
> +			return;
> +
> +		intel_crtc->global_iet_property = prop;
> +	}
> +
> +	drm_object_attach_property(&crtc->base, prop, 0); }
> +
> +/**
> + * intel_attach_histogram_property() - crtc property to read the histogram.
> + * @intel_crtc: pointer to the struct intel_crtc on which the global histogram
> + *		was enabled.
> + * "Global Histogram" is the crtc property to read the binary histogram data.
> + */
> +void intel_attach_histogram_property(struct intel_crtc *intel_crtc) {
> +	struct drm_crtc *crtc = &intel_crtc->base;
> +	struct drm_device *dev = crtc->dev;
> +	struct drm_property *prop;
> +	struct drm_property_blob *blob;
> +
> +	prop = intel_crtc->histogram_property;
> +	if (!prop) {
> +		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB |
> +					   DRM_MODE_PROP_ATOMIC |
> +					   DRM_MODE_PROP_IMMUTABLE,
> +					   "Global Histogram", 0);
> +		if (!prop)
> +			return;
> +
> +		intel_crtc->histogram_property = prop;
> +	}
> +	blob = drm_property_create_blob(dev, sizeof(uint32_t) *
> HISTOGRAM_BIN_COUNT, NULL);
> +	intel_crtc->config->histogram.histogram = blob;
> +
> +	drm_object_attach_property(&crtc->base, prop, blob->base.id); }
> +
> +int intel_crtc_add_property(struct intel_crtc *intel_crtc) {
> +	intel_attach_histogram_en_property(intel_crtc);
> +	intel_attach_histogram_property(intel_crtc);
> +	intel_attach_global_iet_property(intel_crtc);
> +
> +	return 0;
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.h
> b/drivers/gpu/drm/i915/display/intel_crtc.h
> index de54ae1deedf..4e0a3c43d4f8 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.h
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.h
> @@ -7,6 +7,7 @@
>  #define _INTEL_CRTC_H_
> 
>  #include <linux/types.h>
> +#include <drm/drm_crtc.h>
> 
>  enum i9xx_plane_id;
>  enum pipe;
> @@ -59,4 +60,8 @@ void intel_wait_for_vblank_if_active(struct
> drm_i915_private *i915,
>  				     enum pipe pipe);
>  void intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc);
> 
> +int intel_crtc_add_property(struct intel_crtc *intel_crtc); void
> +intel_attach_histogram_en_property(struct intel_crtc *intel_crtc); void
> +intel_attach_global_iet_property(struct intel_crtc *intel_crtc); void
> +intel_attach_histogram_property(struct intel_crtc *intel_crtc);
>  #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index e790a2de5b3d..0c3008a2d774 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -93,6 +93,7 @@
>  #include "intel_fifo_underrun.h"
>  #include "intel_frontbuffer.h"
>  #include "intel_hdmi.h"
> +#include "intel_histogram.h"
>  #include "intel_hotplug.h"
>  #include "intel_link_bw.h"
>  #include "intel_lvds.h"
> @@ -4607,6 +4608,10 @@ static int intel_crtc_atomic_check(struct
> intel_atomic_state *state,
>  	if (ret)
>  		return ret;
> 
> +	/* HISTOGRAM changed */

No need for the above comment 

Regards,
Suraj Kandpal
> +	if (crtc_state->histogram.histogram_enable_changed)
> +		return intel_histogram_atomic_check(crtc);
> +
>  	return 0;
>  }
> 
> @@ -6826,6 +6831,11 @@ int intel_atomic_check(struct drm_device *dev,
>  		if (new_crtc_state->uapi.scaling_filter !=
>  		    old_crtc_state->uapi.scaling_filter)
>  			new_crtc_state->uapi.mode_changed = true;
> +
> +		/* Histogram updates */
> +		if (old_crtc_state->histogram.histogram_enable !=
> +		    new_crtc_state->histogram.histogram_enable)
> +			new_crtc_state-
> >histogram.histogram_enable_changed = true;
>  	}
> 
>  	intel_vrr_check_modeset(state);
> @@ -7892,6 +7902,14 @@ static void intel_atomic_commit_tail(struct
> intel_atomic_state *state)
>  		 */
>  		old_crtc_state->dsb_color_vblank =
> fetch_and_zero(&new_crtc_state->dsb_color_vblank);
>  		old_crtc_state->dsb_commit =
> fetch_and_zero(&new_crtc_state->dsb_commit);
> +
> +		/* Re-Visit: HISTOGRAM related stuff */
> +		if (new_crtc_state->histogram.histogram_enable_changed)
> +			intel_histogram_update(crtc,
> +					       new_crtc_state-
> >histogram.histogram_enable);
> +		if (new_crtc_state->histogram.global_iet_changed)
> +			intel_histogram_set_iet_lut(crtc,
> +						    (u32 *)new_crtc_state-
> >histogram.global_iet->data);
>  	}
> 
>  	/* Underruns don't always raise interrupts, so check manually */ diff -
> -git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 351441efd10a..300e90998463 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1306,6 +1306,15 @@ struct intel_crtc_state {
> 
>  	/* LOBF flag */
>  	bool has_lobf;
> +
> +	/* Histogram data */
> +	struct {
> +		int histogram_enable;
> +		struct drm_property_blob *global_iet;
> +		struct drm_property_blob *histogram;
> +		bool global_iet_changed;
> +		bool histogram_enable_changed;
> +	} histogram;
>  };
> 
>  enum intel_pipe_crc_source {
> @@ -1415,6 +1424,10 @@ struct intel_crtc {
>  	struct pm_qos_request vblank_pm_qos;
> 
>  	struct intel_histogram *histogram;
> +	/* HISTOGRAM properties */
> +	struct drm_property *histogram_en_property;
> +	struct drm_property *global_iet_property;
> +	struct drm_property *histogram_property;
> 
>  #ifdef CONFIG_DEBUG_FS
>  	struct intel_pipe_crc pipe_crc;
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> b/drivers/gpu/drm/i915/display/intel_histogram.c
> index 16f29923ef10..cba65f4260cd 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -82,6 +82,11 @@ static void intel_histogram_handle_int_work(struct
> work_struct *work)
>  	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
>  		     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_BIN_REG_MASK, 0);
>  	if (intel_histogram_get_data(intel_crtc)) {
> +		drm_property_replace_global_blob(display->drm,
> +				&intel_crtc->config->histogram.histogram,
> +				sizeof(histogram->bin_data),
> +				histogram->bin_data, &intel_crtc->base.base,
> +				intel_crtc->histogram_property);
>  		/* Notify user for Histogram rediness */
>  		if (kobject_uevent_env(&display->drm->primary->kdev->kobj,
>  				       KOBJ_CHANGE, histogram_event)) @@ -
> 203,6 +208,7 @@ static void intel_histogram_disable(struct intel_crtc
> *intel_crtc)
> 
>  	cancel_delayed_work(&histogram->work);
>  	histogram->enable = false;
> +	intel_crtc->config->histogram.histogram_enable = false;
>  }
> 
>  int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable)
> --
> 2.25.1


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

* RE: [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt reset
  2024-11-19 10:45 ` [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt reset Arun R Murthy
@ 2024-11-20  9:09   ` Kandpal, Suraj
  2024-11-21 12:04     ` Murthy, Arun R
  0 siblings, 1 reply; 35+ messages in thread
From: Kandpal, Suraj @ 2024-11-20  9:09 UTC (permalink / raw)
  To: Murthy, Arun R, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
  Cc: Murthy, Arun R



> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Arun R
> Murthy
> Sent: Tuesday, November 19, 2024 4:15 PM
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> devel@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt
> reset
> 
> The delay counter for histogram does not reset and as a result the histogram
> bin never gets updated. Workaround would be to use save and restore
> histogram register.
> Wa: 14014889975

This should be above the Signed-off-by

> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_histogram.c  | 17 +++++++++++++++++
> .../gpu/drm/i915/display/intel_histogram_regs.h |  1 +
>  2 files changed, 18 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> b/drivers/gpu/drm/i915/display/intel_histogram.c
> index cba65f4260cd..fdcc64677e96 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -74,6 +74,11 @@ static void intel_histogram_handle_int_work(struct
> work_struct *work)
>  	struct intel_display *display = to_intel_display(intel_crtc);
>  	char *histogram_event[] = {"HISTOGRAM=1", NULL};
> 
> +	/* Wa: 14014889975 */
> +	if (IS_DISPLAY_VER(display, 12, 13))

We have shifted to using is_display_verx100 so you can use that instead
Also there is no display ver 13 just 12 and then 14 so maybe this should be just display_ver == 12


> +		intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> +			     DPST_CTL_RESTORE, 0);
> +
>  	/*
>  	 * TODO: PSR to be exited while reading the Histogram data
>  	 * Set DPST_CTL Bin Reg function select to TC @@ -94,6 +99,12 @@
> static void intel_histogram_handle_int_work(struct work_struct *work)
>  				"sending HISTOGRAM event failed\n");
>  	}
> 
> +	/* Wa: 14014889975 */
> +	if (IS_DISPLAY_VER(display, 12, 13))
> +		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt
> Delay Counter(bit 23:16) */
> +		intel_de_write(display, DPST_CTL(intel_crtc->pipe),
> intel_de_read(display,
> +			       DPST_CTL(intel_crtc->pipe)) |
> DPST_CTL_RESTORE);
> +

From the WA it seems we need to write 0 in the above Guardband Interrupt Delay Counter (bits 23:16) when servicing interrupts
And only write value read from dpst_ctl when enabling  dpst_config or doing an adjustment

Regards,
Suraj Kandpal

>  	/* Enable histogram interrupt */
>  	intel_de_rmw(display, DPST_GUARD(intel_crtc->pipe),
> DPST_GUARD_HIST_INT_EN,
>  		     DPST_GUARD_HIST_INT_EN);
> @@ -240,6 +251,12 @@ int intel_histogram_set_iet_lut(struct intel_crtc
> *intel_crtc, u32 *data)
>  		return -EINVAL;
>  	}
> 
> +	/* Wa: 14014889975 */
> +	if (IS_DISPLAY_VER(display, 12, 13))
> +		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt
> Delay Counter(bit 23:16) */
> +		intel_de_write(display, DPST_CTL(intel_crtc->pipe),
> intel_de_read(display,
> +			       DPST_CTL(intel_crtc->pipe)) |
> DPST_CTL_RESTORE);
> +
>  	/*
>  	 * Set DPST_CTL Bin Reg function select to IE
>  	 * Set DPST_CTL Bin Register Index to 0 diff --git
> a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> index 1252b4f339a6..e50b1448bd40 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> @@ -16,6 +16,7 @@
>  #define  DPST_CTL_RESTORE				REG_BIT(28)
>  #define  DPST_CTL_IE_MODI_TABLE_EN			REG_BIT(27)
>  #define  DPST_CTL_HIST_MODE				REG_BIT(24)
> +#define  DPST_CTL_GUARDBAND_INTERRUPT_DELAY_CNT
> 	REG_GENMASK(23, 16)
>  #define  DPST_CTL_ENHANCEMENT_MODE_MASK
> 	REG_GENMASK(14, 13)
>  #define  DPST_CTL_EN_MULTIPLICATIVE
> 	REG_FIELD_PREP(DPST_CTL_ENHANCEMENT_MODE_MASK, 2)
>  #define  DPST_CTL_IE_TABLE_VALUE_FORMAT			REG_BIT(15)
> --
> 2.25.1


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

* RE: [PATCH 8/8] drm/i915/histogram: Enable pipe dithering
  2024-11-19 10:45 ` [PATCH 8/8] drm/i915/histogram: Enable pipe dithering Arun R Murthy
@ 2024-11-20  9:13   ` Kandpal, Suraj
  2024-11-21 12:22     ` Murthy, Arun R
  0 siblings, 1 reply; 35+ messages in thread
From: Kandpal, Suraj @ 2024-11-20  9:13 UTC (permalink / raw)
  To: Murthy, Arun R, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
  Cc: Murthy, Arun R



> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Arun
> R Murthy
> Sent: Tuesday, November 19, 2024 4:15 PM
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> devel@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: [PATCH 8/8] drm/i915/histogram: Enable pipe dithering
> 
> Enable pipe dithering while enabling histogram to overcome some atrifacts
> seen on the screen.

Where does it say this. I don't see it in the bspec.
Is this from testing that this was concluded in that case we perhaps need to make sure
that the bspec captures this

Regards,
Suraj Kandpal

> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_histogram.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> b/drivers/gpu/drm/i915/display/intel_histogram.c
> index beaad9256e01..d3c63da7e491 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -29,6 +29,13 @@ struct intel_histogram {
>  	u32 bin_data[HISTOGRAM_BIN_COUNT];
>  };
> 
> +static void intel_histogram_enable_dithering(struct intel_display *display,
> +					     enum pipe pipe)
> +{
> +	intel_de_rmw(display, PIPE_MISC(pipe), PIPE_MISC_DITHER_ENABLE,
> +		     PIPE_MISC_DITHER_ENABLE);
> +}
> +
>  static void set_bin_index_0(struct intel_display *display, enum pipe pipe)  {
>  	if (DISPLAY_VER(display) >= 20)
> @@ -205,6 +212,9 @@ static int intel_histogram_enable(struct intel_crtc
> *intel_crtc)
>  	if (histogram->enable)
>  		return 0;
> 
> +	/* Pipe Dithering should be enabled with histogram */
> +	intel_histogram_enable_dithering(display, pipe);
> +
>  	if (DISPLAY_VER(display) >= 20)
>  		intel_de_rmw(display, DPST_CTL(pipe),
>  			     DPST_CTL_IE_HIST_EN |
> --
> 2.25.1


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

* RE: [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display 20+
  2024-11-19 10:45 ` [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display 20+ Arun R Murthy
@ 2024-11-20 10:25   ` Kandpal, Suraj
  2024-11-21 12:20     ` Murthy, Arun R
  0 siblings, 1 reply; 35+ messages in thread
From: Kandpal, Suraj @ 2024-11-20 10:25 UTC (permalink / raw)
  To: Murthy, Arun R, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
  Cc: Murthy, Arun R



> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Arun R
> Murthy
> Sent: Tuesday, November 19, 2024 4:15 PM
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> devel@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display
> 20+
> 
> In Display 20+, new registers are added for setting index, reading histogram
> and writing the IET.

Bspec reference for new registers being added please

> 
> v2: Removed duplicate code (Jani)
> v3: Moved histogram core changes to earlier patches (Jani/Suraj)
> v4: Rebased after addressing comments on patch 1
> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  .../gpu/drm/i915/display/intel_histogram.c    | 111 +++++++++++++-----
>  .../drm/i915/display/intel_histogram_regs.h   |  25 ++++
>  2 files changed, 105 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> b/drivers/gpu/drm/i915/display/intel_histogram.c
> index fdcc64677e96..beaad9256e01 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -29,6 +29,51 @@ struct intel_histogram {
>  	u32 bin_data[HISTOGRAM_BIN_COUNT];
>  };
> 
> +static void set_bin_index_0(struct intel_display *display, enum pipe
> +pipe) {
> +	if (DISPLAY_VER(display) >= 20)
> +		intel_de_rmw(display, DPST_IE_INDEX(pipe),
> +			     DPST_IE_BIN_INDEX_MASK,
> DPST_IE_BIN_INDEX(0));
> +	else
> +		intel_de_rmw(display, DPST_CTL(pipe),
> +			     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_BIN_REG_MASK,
> +			     DPST_CTL_BIN_REG_FUNC_IE |
> DPST_CTL_BIN_REG_CLEAR); }
> +
> +static void write_iet(struct intel_display *display, enum pipe pipe,
> +			      u32 *data)
> +{
> +	int i;
> +
> +	if (DISPLAY_VER(display) >= 20) {
> +		for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
> +			intel_de_rmw(display, DPST_IE_BIN(pipe),
> +				     DPST_IE_BIN_DATA_MASK,
> +				     DPST_IE_BIN_DATA(data[i]));
> +			drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n",
> +				       i, data[i]);
> +		}
> +	} else {
> +		for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
> +			intel_de_rmw(display, DPST_BIN(pipe),
> +				     DPST_BIN_DATA_MASK, data[i]);
> +			drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n",
> +				       i, data[i]);
> +		}
> +	}
> +}

The above code can be configured as shown below

int i;
int register_base, data_mask;

if (DISPLAY_VER(display) >= 20) {
    register_base = DPST_IE_BIN(pipe);
    data_mask = DPST_IE_BIN_DATA_MASK;
} else {
    register_base = DPST_BIN(pipe);
    data_mask = DPST_BIN_DATA_MASK;
}

for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
    intel_de_rmw(display, register_base, data_mask, data[i]);
    drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n", i, data[i]);
}

Regards,
Suraj Kandpal

> +
> +static void set_histogram_index_0(struct intel_display *display, enum
> +pipe pipe) {
> +	if (DISPLAY_VER(display) >= 20)
> +		intel_de_rmw(display, DPST_HIST_INDEX(pipe),
> +			     DPST_HIST_BIN_INDEX_MASK,
> +			     DPST_HIST_BIN_INDEX(0));
> +	else
> +		intel_de_rmw(display, DPST_CTL(pipe),
> +			     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_BIN_REG_MASK, 0); }
> +
>  static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)  {
>  	struct intel_display *display = to_intel_display(intel_crtc); @@ -40,9
> +85,13 @@ static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
>  	retry_count = 0;
> 
>  	while (index < HISTOGRAM_BIN_COUNT) {
> -		dpstbin = intel_de_read(display, DPST_BIN(intel_crtc->pipe));
> +		dpstbin = intel_de_read(display, (DISPLAY_VER(display) >= 20
> ?
> +					DPST_HIST_BIN(intel_crtc->pipe) :
> +					DPST_BIN(intel_crtc->pipe)));
>  		if (!(dpstbin & DPST_BIN_BUSY)) {
> -			histogram->bin_data[index] = dpstbin &
> DPST_BIN_DATA_MASK;
> +			histogram->bin_data[index] = dpstbin &
> (DISPLAY_VER(display) >= 20 ?
> +
> DPST_HIST_BIN_DATA_MASK :
> +
> DPST_BIN_DATA_MASK);
>  			index++;
>  		} else {
>  			/*
> @@ -58,9 +107,7 @@ static bool intel_histogram_get_data(struct intel_crtc
> *intel_crtc)
>  			/* Add a delay before retrying */
>  			fsleep(HISTOGRAM_BIN_READ_DELAY);
>  			index = 0;
> -			intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> -				     DPST_CTL_BIN_REG_FUNC_SEL |
> -				     DPST_CTL_BIN_REG_MASK, 0);
> +			set_histogram_index_0(display, intel_crtc->pipe);
>  		}
>  	}
>  	return true;
> @@ -84,8 +131,8 @@ static void intel_histogram_handle_int_work(struct
> work_struct *work)
>  	 * Set DPST_CTL Bin Reg function select to TC
>  	 * Set DPST_CTL Bin Register Index to 0
>  	 */
> -	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> -		     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_BIN_REG_MASK, 0);
> +	set_histogram_index_0(display, intel_crtc->pipe);
> +
>  	if (intel_histogram_get_data(intel_crtc)) {
>  		drm_property_replace_global_blob(display->drm,
>  				&intel_crtc->config->histogram.histogram,
> @@ -158,13 +205,20 @@ static int intel_histogram_enable(struct intel_crtc
> *intel_crtc)
>  	if (histogram->enable)
>  		return 0;
> 
> -	 /* enable histogram, clear DPST_BIN reg and select TC function */
> -	intel_de_rmw(display, DPST_CTL(pipe),
> -		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_IE_HIST_EN |
> -		     DPST_CTL_HIST_MODE |
> DPST_CTL_IE_TABLE_VALUE_FORMAT,
> -		     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
> -		     DPST_CTL_HIST_MODE_HSV |
> -		     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC);
> +	if (DISPLAY_VER(display) >= 20)
> +		intel_de_rmw(display, DPST_CTL(pipe),
> +			     DPST_CTL_IE_HIST_EN |
> +			     DPST_CTL_HIST_MODE,
> +			     DPST_CTL_IE_HIST_EN |
> +			     DPST_CTL_HIST_MODE_HSV);
> +	else
> +		 /* enable histogram, clear DPST_BIN reg and select TC
> function */
> +		intel_de_rmw(display, DPST_CTL(pipe),
> +			     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_IE_HIST_EN |
> +			     DPST_CTL_HIST_MODE |
> DPST_CTL_IE_TABLE_VALUE_FORMAT,
> +			     DPST_CTL_BIN_REG_FUNC_TC |
> DPST_CTL_IE_HIST_EN |
> +			     DPST_CTL_HIST_MODE_HSV |
> +
> DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC);
> 
>  	/* Re-Visit: check if wait for one vblank is required */
>  	drm_crtc_wait_one_vblank(&intel_crtc->base);
> @@ -236,7 +290,6 @@ int intel_histogram_set_iet_lut(struct intel_crtc
> *intel_crtc, u32 *data)
>  	struct intel_histogram *histogram = intel_crtc->histogram;
>  	struct intel_display *display = to_intel_display(intel_crtc);
>  	int pipe = intel_crtc->pipe;
> -	int i = 0;
> 
>  	if (!histogram)
>  		return -EINVAL;
> @@ -261,24 +314,20 @@ int intel_histogram_set_iet_lut(struct intel_crtc
> *intel_crtc, u32 *data)
>  	 * Set DPST_CTL Bin Reg function select to IE
>  	 * Set DPST_CTL Bin Register Index to 0
>  	 */
> -	intel_de_rmw(display, DPST_CTL(pipe),
> -		     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_BIN_REG_MASK,
> -		     DPST_CTL_BIN_REG_FUNC_IE |
> DPST_CTL_BIN_REG_CLEAR);
> -
> -	for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
> -		intel_de_rmw(display, DPST_BIN(pipe),
> -			     DPST_BIN_DATA_MASK, data[i]);
> -		drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n", i,
> data[i]);
> +	set_bin_index_0(display, pipe);
> +	write_iet(display, pipe, data);
> +	if (DISPLAY_VER(display) < 20) {
> +		intel_de_rmw(display, DPST_CTL(pipe),
> +			     DPST_CTL_ENHANCEMENT_MODE_MASK |
> +			     DPST_CTL_IE_MODI_TABLE_EN,
> +			     DPST_CTL_EN_MULTIPLICATIVE |
> +			     DPST_CTL_IE_MODI_TABLE_EN);
> +		/* Once IE is applied, change DPST CTL to TC */
> +		intel_de_rmw(display, DPST_CTL(pipe),
> +			     DPST_CTL_BIN_REG_FUNC_SEL,
> +			     DPST_CTL_BIN_REG_FUNC_TC);
>  	}
> 
> -	intel_de_rmw(display, DPST_CTL(pipe),
> -		     DPST_CTL_ENHANCEMENT_MODE_MASK |
> DPST_CTL_IE_MODI_TABLE_EN,
> -		     DPST_CTL_EN_MULTIPLICATIVE |
> DPST_CTL_IE_MODI_TABLE_EN);
> -
> -	/* Once IE is applied, change DPST CTL to TC */
> -	intel_de_rmw(display, DPST_CTL(pipe),
> -		     DPST_CTL_BIN_REG_FUNC_SEL,
> DPST_CTL_BIN_REG_FUNC_TC);
> -
>  	return 0;
>  }
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> index e50b1448bd40..2a52ac9282c1 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
> @@ -44,6 +44,31 @@
>  #define _DPST_BIN_B					0x491C4
>  #define DPST_BIN(pipe)
> 	_MMIO_PIPE(pipe, _DPST_BIN_A, _DPST_BIN_B)
>  #define  DPST_BIN_DATA_MASK
> 	REG_GENMASK(23, 0)
> +#define  DPST_BIN_DATA
> 	REG_FIELD_PREP(DPST_BIN_DATA_MASK, val)
>  #define  DPST_BIN_BUSY					REG_BIT(31)
> 
> +#define _DPST_HIST_INDEX_A				0x490D8
> +#define _DPST_HIST_INDEX_B				0x491D8
> +#define DPST_HIST_INDEX(pipe)
> 	_MMIO_PIPE(pipe, _DPST_HIST_INDEX_A, _DPST_HIST_INDEX_B)
> +#define  DPST_HIST_BIN_INDEX_MASK
> 	REG_GENMASK(4, 0)
> +#define  DPST_HIST_BIN_INDEX(val)
> 	REG_FIELD_PREP(DPST_HIST_BIN_INDEX_MASK, val)
> +
> +#define _DPST_HIST_BIN_A				0x490C4
> +#define _DPST_HIST_BIN_B				0x491C4
> +#define DPST_HIST_BIN(pipe)				_MMIO_PIPE(pipe,
> _DPST_HIST_BIN_A, _DPST_HIST_BIN_B)
> +#define  DPST_HIST_BIN_BUSY				REG_BIT(31)
> +#define  DPST_HIST_BIN_DATA_MASK
> 	REG_GENMASK(30, 0)
> +
> +#define _DPST_IE_BIN_A					0x490CC
> +#define _DPST_IE_BIN_B					0x491CC
> +#define DPST_IE_BIN(pipe)				_MMIO_PIPE(pipe,
> _DPST_IE_BIN_A, _DPST_IE_BIN_B)
> +#define	 DPST_IE_BIN_DATA_MASK
> 	REG_GENMASK(9, 0)
> +#define  DPST_IE_BIN_DATA(val)
> 	REG_FIELD_PREP(DPST_IE_BIN_DATA_MASK, val)
> +
> +#define _DPST_IE_INDEX_A				0x490DC
> +#define _DPST_IE_INDEX_B				0x491DC
> +#define DPST_IE_INDEX(pipe)				_MMIO_PIPE(pipe,
> _DPST_IE_INDEX_A, _DPST_IE_INDEX_B)
> +#define  DPST_IE_BIN_INDEX_MASK
> 	REG_GENMASK(6, 0)
> +#define  DPST_IE_BIN_INDEX(val)
> 	REG_FIELD_PREP(DPST_IE_BIN_INDEX_MASK, val)
> +
>  #endif /* __INTEL_HISTOGRAM_REGS_H__ */
> --
> 2.25.1


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

* RE: [PATCHv4 4/8] drm/i915/histogram: histogram interrupt handling
  2024-11-19 11:36   ` Jani Nikula
@ 2024-11-21  3:08     ` Murthy, Arun R
  0 siblings, 0 replies; 35+ messages in thread
From: Murthy, Arun R @ 2024-11-21  3:08 UTC (permalink / raw)
  To: Jani Nikula, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org

> On Tue, 19 Nov 2024, Arun R Murthy <arun.r.murthy@intel.com> wrote:
> > Upon enabling histogram an interrupt is trigerred after the generation
> > of the statistics. This patch registers the histogram interrupt and
> > handles the interrupt.
> >
> > v2: Added intel_crtc backpointer to intel_histogram struct (Jani)
> >     Removed histogram_wq and instead use dev_priv->unodered_eq (Jani)
> > v3: Replaced drm_i915_private with intel_display (Suraj)
> >     Refactored the histogram read code (Jani)
> > v4: Rebased after addressing comments on patch 1
> >
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> >  .../gpu/drm/i915/display/intel_display_irq.c  |  6 +-
> >  .../gpu/drm/i915/display/intel_histogram.c    | 93 +++++++++++++++++++
> >  .../gpu/drm/i915/display/intel_histogram.h    |  3 +
> >  drivers/gpu/drm/i915/i915_reg.h               |  5 +-
> >  4 files changed, 104 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c
> > b/drivers/gpu/drm/i915/display/intel_display_irq.c
> > index f0d3bdb5fc60..cb60c9db4418 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> > @@ -20,6 +20,7 @@
> >  #include "intel_fdi_regs.h"
> >  #include "intel_fifo_underrun.h"
> >  #include "intel_gmbus.h"
> > +#include "intel_histogram.h"
> >  #include "intel_hotplug_irq.h"
> >  #include "intel_pipe_crc_regs.h"
> >  #include "intel_pmdemand.h"
> > @@ -1179,6 +1180,9 @@ void gen8_de_irq_handler(struct
> drm_i915_private *dev_priv, u32 master_ctl)
> >  		if (iir & GEN8_PIPE_FIFO_UNDERRUN)
> >  			intel_cpu_fifo_underrun_irq_handler(dev_priv, pipe);
> >
> > +		if (iir & GEN9_PIPE_HISTOGRAM_EVENT)
> > +			intel_histogram_irq_handler(display, pipe);
> > +
> >  		fault_errors = iir & gen8_de_pipe_fault_mask(dev_priv);
> >  		if (fault_errors)
> >  			drm_err_ratelimited(&dev_priv->drm,
> > @@ -1764,7 +1768,7 @@ void gen8_de_irq_postinstall(struct
> drm_i915_private *dev_priv)
> >  	struct intel_uncore *uncore = &dev_priv->uncore;
> >
> >  	u32 de_pipe_masked = gen8_de_pipe_fault_mask(dev_priv) |
> > -		GEN8_PIPE_CDCLK_CRC_DONE;
> > +		GEN8_PIPE_CDCLK_CRC_DONE |
> GEN9_PIPE_HISTOGRAM_EVENT;
> >  	u32 de_pipe_enables;
> >  	u32 de_port_masked = gen8_de_port_aux_mask(dev_priv);
> >  	u32 de_port_enables;
> > diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> > b/drivers/gpu/drm/i915/display/intel_histogram.c
> > index e751977fc6f7..16f29923ef10 100644
> > --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> > +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> > @@ -18,6 +18,8 @@
> >  #define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300    // 3.0% of
> the pipe's current pixel count.
> >  #define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000   // Precision
> factor for threshold guardband.
> >  #define HISTOGRAM_DEFAULT_GUARDBAND_DELAY 0x04
> > +#define HISTOGRAM_BIN_READ_RETRY_COUNT 5 #define
> > +HISTOGRAM_BIN_READ_DELAY 2
> 
> The above are only used once each. Please just put the values inline. Here, you
> don't even know what "2" means without looking up the code.
> 
> >
> >  struct intel_histogram {
> >  	struct intel_crtc *crtc;
> > @@ -27,6 +29,92 @@ struct intel_histogram {
> >  	u32 bin_data[HISTOGRAM_BIN_COUNT];
> >  };
> >
> > +static bool intel_histogram_get_data(struct intel_crtc *intel_crtc) {
> > +	struct intel_display *display = to_intel_display(intel_crtc);
> > +	struct intel_histogram *histogram = intel_crtc->histogram;
> > +	u8 index, retry_count;
> 
> These should be ints.
> 
> > +	u32 dpstbin;
> > +
> > +	index = 0;
> > +	retry_count = 0;
> > +
> > +	while (index < HISTOGRAM_BIN_COUNT) {
> 
> This should be a for loop
> 
> 	for (index = 0; index < ARRAY_SIZE(histogram->bin_data); i++)
> 
> Any retries should be handled in a separate loop instead of abusing the top
> level loop for two things.
> 
> Based on how this is now, looks like the retry loop should be outside of this
> function altogether? I.e. a single busy response leads to retry from start?
> 
> > +		dpstbin = intel_de_read(display, DPST_BIN(intel_crtc->pipe));
> > +		if (!(dpstbin & DPST_BIN_BUSY)) {
> > +			histogram->bin_data[index] = dpstbin &
> DPST_BIN_DATA_MASK;
> > +			index++;
> > +		} else {
> > +			/*
> > +			 * If DPST_BIN busy bit is set, then set the
> > +			 * DPST_CTL bin reg index to 0 and proceed
> > +			 * from beginning.
> > +			 */
> 
> That's just saying the same thing as the code in English. What's the point?
> 
> > +			retry_count++;
> > +			if (retry_count >
> HISTOGRAM_BIN_READ_RETRY_COUNT) {
> > +				drm_err(display->drm, "Histogram bin read
> failed with max retry\n");
> > +				return false;
> > +			}
> > +			/* Add a delay before retrying */
> 
> The comment says the same thing as the code.
> 
> > +			fsleep(HISTOGRAM_BIN_READ_DELAY);
> > +			index = 0;
> > +			intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> > +				     DPST_CTL_BIN_REG_FUNC_SEL |
> > +				     DPST_CTL_BIN_REG_MASK, 0);
> 
> This is duplicated; see the retry loop placement.
> 
> > +		}
> > +	}
> > +	return true;
> > +}
> > +
> > +static void intel_histogram_handle_int_work(struct work_struct *work)
> > +{
> > +	struct intel_histogram *histogram = container_of(work,
> > +		struct intel_histogram, work.work);
> > +	struct intel_crtc *intel_crtc = histogram->crtc;
> > +	struct intel_display *display = to_intel_display(intel_crtc);
> > +	char *histogram_event[] = {"HISTOGRAM=1", NULL};
> 
> Not sure it's great that this is a global uevent instead of having more detailed
> information. Maybe it should have the CRTC details?
> 

Done!

> > +
> > +	/*
> > +	 * TODO: PSR to be exited while reading the Histogram data
> > +	 * Set DPST_CTL Bin Reg function select to TC
> > +	 * Set DPST_CTL Bin Register Index to 0
> > +	 */
> > +	intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> > +		     DPST_CTL_BIN_REG_FUNC_SEL |
> DPST_CTL_BIN_REG_MASK, 0);
> > +	if (intel_histogram_get_data(intel_crtc)) {
> > +		/* Notify user for Histogram rediness */
> > +		if (kobject_uevent_env(&display->drm->primary->kdev->kobj,
> > +				       KOBJ_CHANGE, histogram_event))
> > +			drm_err(display->drm,
> > +				"sending HISTOGRAM event failed\n");
> > +	}
> 
> So you probably want to add the retry loop here. This avoids duplicating the
> DPST_CTL rmw.
> 
Done!
But moved this retry change to 8th patch in this series where changes are LNL are done.

Thanks and Regards,
Arun R Murthy
--------------------

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

* RE: [PATCHv4 2/8] drm/i915/histogram: Add support for histogram
  2024-11-20  8:13   ` Kandpal, Suraj
@ 2024-11-21  7:14     ` Murthy, Arun R
  0 siblings, 0 replies; 35+ messages in thread
From: Murthy, Arun R @ 2024-11-21  7:14 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org

> > Statistics is generated from the image frame that is coming to display
> > and an event is sent to user after reading this histogram data.
> > This statistics/histogram is then shared with the user upon getting a
> > request from user. User can then use this histogram and generate an
> > enhancement factor. This enhancement factor can be multiplied/added
> > with the incoming pixel data frame.
> >
> > v2: forward declaration in header file along with error handling
> > (Jani)
> > v3: Replaced i915 with intel_display (Suraj)
> > v4: Removed dithering enable/disable (Vandita)
> >     New patch for histogram register definitions (Suraj)
> >
> 
> Mostly looks okay to me some minor comments and questions below
> 
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> >  drivers/gpu/drm/i915/Makefile                 |   1 +
> >  .../drm/i915/display/intel_display_types.h    |   2 +
> >  .../gpu/drm/i915/display/intel_histogram.c    | 195 ++++++++++++++++++
> >  .../gpu/drm/i915/display/intel_histogram.h    |  35 ++++
> >  4 files changed, 233 insertions(+)
> >  create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.c
> >  create mode 100644 drivers/gpu/drm/i915/display/intel_histogram.h
> >
> > diff --git a/drivers/gpu/drm/i915/Makefile
> > b/drivers/gpu/drm/i915/Makefile index e465828d748f..97141b4def3b
> > 100644
> > --- a/drivers/gpu/drm/i915/Makefile
> > +++ b/drivers/gpu/drm/i915/Makefile
> > @@ -267,6 +267,7 @@ i915-y += \
> >  	display/intel_hdcp.o \
> >  	display/intel_hdcp_gsc.o \
> >  	display/intel_hdcp_gsc_message.o \
> > +	display/intel_histogram.o \
> >  	display/intel_hotplug.o \
> >  	display/intel_hotplug_irq.o \
> >  	display/intel_hti.o \
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > index 339e4b0f7698..351441efd10a 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > @@ -1414,6 +1414,8 @@ struct intel_crtc {
> >  	/* for loading single buffered registers during vblank */
> >  	struct pm_qos_request vblank_pm_qos;
> >
> > +	struct intel_histogram *histogram;
> > +
> >  #ifdef CONFIG_DEBUG_FS
> >  	struct intel_pipe_crc pipe_crc;
> >  #endif
> > diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> > b/drivers/gpu/drm/i915/display/intel_histogram.c
> > new file mode 100644
> > index 000000000000..e751977fc6f7
> > --- /dev/null
> > +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> > @@ -0,0 +1,195 @@
> > +// SPDX-License-Identifier: MIT
> > +/*
> > + * Copyright © 2024 Intel Corporation  */
> > +
> > +#include <drm/drm_device.h>
> > +#include <drm/drm_file.h>
> > +#include <drm/drm_vblank.h>
> > +
> > +#include "i915_reg.h"
> > +#include "i915_drv.h"
> > +#include "intel_display.h"
> > +#include "intel_histogram_regs.h"
> > +#include "intel_histogram.h"
> > +#include "intel_display_types.h"
> > +#include "intel_de.h"
> 
> Rearrange the above definitions in alphabetical order so intel_de goes above
> intel display and Display types comes under  intel_display
> 
Done

> > +
> > +#define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300    // 3.0% of
> > the pipe's current pixel count.
> > +#define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000   // Precision
> > factor for threshold guardband.
> 
> Shouldn’t we be using /* xxxxx */ to make comments
> 
Done

> > +#define HISTOGRAM_DEFAULT_GUARDBAND_DELAY 0x04
> > +
> > +struct intel_histogram {
> > +	struct intel_crtc *crtc;
> > +	struct delayed_work work;
> > +	bool enable;
> > +	bool can_enable;
> > +	u32 bin_data[HISTOGRAM_BIN_COUNT];
> > +};
> > +
> > +int intel_histogram_atomic_check(struct intel_crtc *intel_crtc) {
> > +	struct intel_histogram *histogram = intel_crtc->histogram;
> > +
> > +	/* TODO: Restrictions for enabling histogram */
> 
> Should we at least add the restriction for the minimum  display version required
> to run DPST?
> 
We are not considering DPST over here. Its only the global histogram.
Remaining will be taken up in the upcoming patches.

> > +	histogram->can_enable = true;
> > +
> > +	return 0;
> > +}
> > +
> > +static int intel_histogram_enable(struct intel_crtc *intel_crtc) {
> > +	struct intel_display *display = to_intel_display(intel_crtc);
> > +	struct intel_histogram *histogram = intel_crtc->histogram;
> > +	int pipe = intel_crtc->pipe;
> > +	u64 res;
> > +	u32 gbandthreshold;
> > +
> > +	if (!histogram)
> > +		return -EINVAL;
> > +
> > +	if (!histogram->can_enable)
> > +		return -EINVAL;
> > +
> > +	if (histogram->enable)
> > +		return 0;
> > +
> > +	 /* enable histogram, clear DPST_BIN reg and select TC function */
> 
> I think you mean "Clear DPST_CTL bin reg func select to TC"
> Because that’s what I see on Bspec and also I don’t see you clearing DPST_BIN
> register
> 
Done

> > +	intel_de_rmw(display, DPST_CTL(pipe),
> > +		     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_IE_HIST_EN |
> > +		     DPST_CTL_HIST_MODE |
> > DPST_CTL_IE_TABLE_VALUE_FORMAT,
> > +		     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
> > +		     DPST_CTL_HIST_MODE_HSV |
> > +		     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC);
> > +
> > +	/* Re-Visit: check if wait for one vblank is required */
> > +	drm_crtc_wait_one_vblank(&intel_crtc->base);
> 
> Confused here so histogram will not be enabled for at least 2 vblanks and 3
> vblanks for display 12-14 after writing enable When enabled outside the active
> region so why just the single vblank wait ?
> 
Histogram is the statistics of 'n' number of frames. Generation of histogram event would take 2-3 vblanks as said. But here we are waiting for a vblank so as to enable histogram then program the guardband values.

> > +
> > +	/*
> > +	 * TODO: one time programming: Program GuardBand Threshold.
> > +	 * To be moved to modeset path
> > +	 */
> 
> The two : back to back seem dirty after the todo state in a single sentence what
> needs to be done
> 
Done

> > +	res = (intel_crtc->config->hw.adjusted_mode.vtotal *
> > +	       intel_crtc->config->hw.adjusted_mode.htotal);
> > +
> > +	gbandthreshold = (res *
> > 	HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT) /
> > +			  HISTOGRAM_GUARDBAND_PRECISION_FACTOR;
> 
> According to bspec this value i.e gbandthreshold "This value is shifted left 2 bits
> (multiplied by 4) for use with the 24 bit bin values."
> I don’t see that happening here is that on purpose?
> Also I don’t see any spec stating how you calculate this threshold can you point
> me to where this is written.
> 
Guardband threshold for 24bit bin data is chosen to be 12. But the value used in calculation is 3% and hw does x4 as per the register description.
The calculation is from the HLD.

> > +
> > +	/* Enable histogram interrupt mode */
> > +	intel_de_rmw(display, DPST_GUARD(pipe),
> > +		     DPST_GUARD_THRESHOLD_GB_MASK |
> > +		     DPST_GUARD_INTERRUPT_DELAY_MASK |
> > DPST_GUARD_HIST_INT_EN,
> > +		     DPST_GUARD_THRESHOLD_GB(gbandthreshold) |
> > +
> > DPST_GUARD_INTERRUPT_DELAY(HISTOGRAM_DEFAULT_GUARDBAND_DELA
> > Y) |
> 
> Where do we get the HISTOGRAM_DEFAULT_GUARDBAND_DELAY from ?
> 
We define it.

> > +		     DPST_GUARD_HIST_INT_EN);
> > +
> > +	/* Clear pending interrupts has to be done on separate write */
> > +	intel_de_rmw(display, DPST_GUARD(pipe),
> > +		     DPST_GUARD_HIST_EVENT_STATUS, 1);
> > +
> > +	histogram->enable = true;
> > +
> > +	return 0;
> > +}
> > +
> > +static void intel_histogram_disable(struct intel_crtc *intel_crtc) {
> > +	struct intel_display *display = to_intel_display(intel_crtc);
> > +	struct intel_histogram *histogram = intel_crtc->histogram;
> > +	int pipe = intel_crtc->pipe;
> > +
> > +	if (!histogram)
> > +		return;
> > +
> > +	/* If already disabled return */
> > +	if (histogram->enable)
> > +		return;
> > +
> > +	/* Clear pending interrupts and disable interrupts */
> > +	intel_de_rmw(display, DPST_GUARD(pipe),
> > +		     DPST_GUARD_HIST_INT_EN |
> > DPST_GUARD_HIST_EVENT_STATUS, 0);
> > +
> > +	/* disable DPST_CTL Histogram mode */
> > +	intel_de_rmw(display, DPST_CTL(pipe),
> > +		     DPST_CTL_IE_HIST_EN, 0);
> > +
> > +	histogram->enable = false;
> > +}
> > +
> > +int intel_histogram_update(struct intel_crtc *intel_crtc, bool
> > +enable) {
> > +	if (enable)
> > +		return intel_histogram_enable(intel_crtc);
> > +
> > +	intel_histogram_disable(intel_crtc);
> > +	return 0;
> > +}
> > +
> > +int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32
> > +*data) {
> > +	struct intel_histogram *histogram = intel_crtc->histogram;
> > +	struct intel_display *display = to_intel_display(intel_crtc);
> > +	int pipe = intel_crtc->pipe;
> > +	int i = 0;
> > +
> > +	if (!histogram)
> > +		return -EINVAL;
> > +
> > +	if (!histogram->enable) {
> > +		drm_err(display->drm, "histogram not enabled");
> > +		return -EINVAL;
> > +	}
> > +
> > +	if (!data) {
> > +		drm_err(display->drm, "enhancement LUT data is NULL");
> > +		return -EINVAL;
> > +	}
> > +
> > +	/*
> > +	 * Set DPST_CTL Bin Reg function select to IE
> > +	 * Set DPST_CTL Bin Register Index to 0
> > +	 */
> > +	intel_de_rmw(display, DPST_CTL(pipe),
> > +		     DPST_CTL_BIN_REG_FUNC_SEL |
> > DPST_CTL_BIN_REG_MASK,
> > +		     DPST_CTL_BIN_REG_FUNC_IE |
> > DPST_CTL_BIN_REG_CLEAR);
> > +
> > +	for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
> > +		intel_de_rmw(display, DPST_BIN(pipe),
> > +			     DPST_BIN_DATA_MASK, data[i]);
> > +		drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n", i,
> > data[i]);
> > +	}
> > +
> > +	intel_de_rmw(display, DPST_CTL(pipe),
> > +		     DPST_CTL_ENHANCEMENT_MODE_MASK |
> > DPST_CTL_IE_MODI_TABLE_EN,
> > +		     DPST_CTL_EN_MULTIPLICATIVE |
> > DPST_CTL_IE_MODI_TABLE_EN);
> 
> According to Bspec we follow the below steps "
> 1)Set DPST_CTL Bin Register Function Select to IE 2)Wait for vertical blank for
> switch to IE mode, can skip if step 1 was done more than 1 vblank previously
> 3)Set DPST_CTL Bin Register Index to 0 4)Write enhancement factor to
> DPST_BIN Data 4)Go to step 4 until all 33 entries are written "
> The sequence in code seems reversed.
> Also I don’t see the vblank wait that need to be done after switching to IE
> mode.
> 
> 
Done

> > +
> > +	/* Once IE is applied, change DPST CTL to TC */
> > +	intel_de_rmw(display, DPST_CTL(pipe),
> > +		     DPST_CTL_BIN_REG_FUNC_SEL,
> > DPST_CTL_BIN_REG_FUNC_TC);
> > +
> > +	return 0;
> > +}
> > +
> > +void intel_histogram_finish(struct intel_crtc *intel_crtc) {
> > +	struct intel_histogram *histogram = intel_crtc->histogram;
> > +
> > +	kfree(histogram);
> > +}
> > +
> > +int intel_histogram_init(struct intel_crtc *intel_crtc) {
> > +	struct intel_histogram *histogram;
> > +
> > +	/* Allocate histogram internal struct */
> > +	histogram = kzalloc(sizeof(*histogram), GFP_KERNEL);
> > +	if (!histogram) {
> > +		return -ENOMEM;
> > +	}
> 
> No need for extra brackets
> 
Done

Thanks and Regards,
Arun R Murthy
--------------------

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

* RE: [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram
  2024-11-20  8:33   ` Kandpal, Suraj
@ 2024-11-21  7:19     ` Murthy, Arun R
  0 siblings, 0 replies; 35+ messages in thread
From: Murthy, Arun R @ 2024-11-21  7:19 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org

> > CRTC properties have been added for enable/disable histogram, reading
> > the histogram data and writing the IET data.
> > "HISTOGRAM_EN" is the crtc property to enable/disable the global
> > histogram and takes a value 0/1 accordingly.
> > "Histogram" is a crtc property to read the binary histogram data.
> > "Global IET" is a crtc property to write the IET binary LUT data.
> >
> > v2: Read the histogram blob data before sending uevent (Jani)
> > v3: use drm_property_replace_blob_from_id (Vandita)
> >     Add substruct for histogram in intel_crtc_state (Jani)
> > v4:  Rebased after addressing comments on patch 1
> > v5: histogram check with old/new crtc_state (Suraj)
> >
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_atomic.c   |   5 +
> >  drivers/gpu/drm/i915/display/intel_crtc.c     | 168 +++++++++++++++++-
> >  drivers/gpu/drm/i915/display/intel_crtc.h     |   5 +
> >  drivers/gpu/drm/i915/display/intel_display.c  |  18 ++
> >  .../drm/i915/display/intel_display_types.h    |  13 ++
> >  .../gpu/drm/i915/display/intel_histogram.c    |   6 +
> >  6 files changed, 214 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c
> > b/drivers/gpu/drm/i915/display/intel_atomic.c
> > index 03dc54c802d3..a0d64a20b01e 100644
> > --- a/drivers/gpu/drm/i915/display/intel_atomic.c
> > +++ b/drivers/gpu/drm/i915/display/intel_atomic.c
> > @@ -246,6 +246,8 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
> >
> >  	__drm_atomic_helper_crtc_duplicate_state(crtc, &crtc_state->uapi);
> >
> > +	if (crtc_state->histogram.global_iet)
> > +		drm_property_blob_get(crtc_state->histogram.global_iet);
> >  	/* copy color blobs */
> >  	if (crtc_state->hw.degamma_lut)
> >  		drm_property_blob_get(crtc_state->hw.degamma_lut);
> > @@ -278,6 +280,7 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
> >  	crtc_state->dsb_color_vblank = NULL;
> >  	crtc_state->dsb_commit = NULL;
> >  	crtc_state->use_dsb = false;
> > +	crtc_state->histogram.histogram_enable_changed = false;
> >
> >  	return &crtc_state->uapi;
> >  }
> > @@ -314,6 +317,8 @@ intel_crtc_destroy_state(struct drm_crtc *crtc,
> >  	drm_WARN_ON(crtc->dev, crtc_state->dsb_color_vblank);
> >  	drm_WARN_ON(crtc->dev, crtc_state->dsb_commit);
> >
> > +	if (crtc_state->histogram.global_iet)
> > +		drm_property_blob_put(crtc_state->histogram.global_iet);
> >  	__drm_atomic_helper_crtc_destroy_state(&crtc_state->uapi);
> >  	intel_crtc_free_hw_state(crtc_state);
> >  	if (crtc_state->dp_tunnel_ref.tunnel)
> > diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> > b/drivers/gpu/drm/i915/display/intel_crtc.c
> > index a2c528d707f4..3be81a5a789b 100644
> > --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> > @@ -11,6 +11,7 @@
> >  #include <drm/drm_plane.h>
> >  #include <drm/drm_vblank.h>
> >  #include <drm/drm_vblank_work.h>
> > +#include <drm/drm_atomic_uapi.h>
> >
> >  #include "i915_vgpu.h"
> >  #include "i9xx_plane.h"
> > @@ -27,6 +28,7 @@
> >  #include "intel_drrs.h"
> >  #include "intel_dsi.h"
> >  #include "intel_fifo_underrun.h"
> > +#include "intel_histogram.h"
> >  #include "intel_pipe_crc.h"
> >  #include "intel_psr.h"
> >  #include "intel_sprite.h"
> > @@ -210,6 +212,7 @@ static struct intel_crtc *intel_crtc_alloc(void)
> > static void intel_crtc_free(struct intel_crtc *crtc)  {
> >  	intel_crtc_destroy_state(&crtc->base, crtc->base.state);
> > +	intel_histogram_finish(crtc);
> >  	kfree(crtc);
> >  }
> >
> > @@ -229,6 +232,66 @@ static int intel_crtc_late_register(struct
> > drm_crtc
> > *crtc)
> >  	return 0;
> >  }
> >
> > +static int intel_crtc_get_property(struct drm_crtc *crtc,
> > +				   const struct drm_crtc_state *state,
> > +				   struct drm_property *property,
> > +				   uint64_t *val)
> > +{
> > +	struct drm_i915_private *i915 = to_i915(crtc->dev);
> > +	const struct intel_crtc_state *intel_crtc_state =
> > +		to_intel_crtc_state(state);
> > +	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> > +
> > +	if (property == intel_crtc->histogram_en_property) {
> > +		*val = intel_crtc_state->histogram.histogram_enable;
> > +	} else if (property == intel_crtc->global_iet_property) {
> > +		*val = (intel_crtc_state->histogram.global_iet) ?
> > +			intel_crtc_state->histogram.global_iet->base.id : 0;
> > +	} else if (property == intel_crtc->histogram_property) {
> > +		*val = (intel_crtc_state->histogram.histogram) ?
> > +			intel_crtc_state->histogram.histogram->base.id : 0;
> > +	} else {
> > +		drm_err(&i915->drm,
> > +			"Unknown property [PROP:%d:%s]\n",
> > +			property->base.id, property->name);
> > +		return -EINVAL;
> > +	}
> > +
> > +	return 0;
> > +}
> > +
> > +static int intel_crtc_set_property(struct drm_crtc *crtc,
> > +				   struct drm_crtc_state *state,
> > +				   struct drm_property *property,
> > +				   u64 val)
> > +{
> > +	struct drm_i915_private *i915 = to_i915(crtc->dev);
> > +	struct intel_crtc_state *intel_crtc_state =
> > +		to_intel_crtc_state(state);
> > +	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> > +	bool replaced = false;
> > +
> > +	if (property == intel_crtc->histogram_en_property) {
> > +		intel_crtc_state->histogram.histogram_enable = val;
> > +		return 0;
> > +	}
> > +
> > +	if (property == intel_crtc->global_iet_property) {
> > +		drm_property_replace_blob_from_id(crtc->dev,
> > +						  &intel_crtc_state-
> > >histogram.global_iet,
> > +						  val,
> > +						  sizeof(uint32_t) *
> > HISTOGRAM_IET_LENGTH,
> > +						  -1, &replaced);
> > +		if (replaced)
> > +			intel_crtc_state->histogram.global_iet_changed =
> > true;
> > +		return 0;
> > +	}
> > +
> > +	drm_dbg_atomic(&i915->drm, "Unknown property [PROP:%d:%s]\n",
> > +		       property->base.id, property->name);
> > +	return -EINVAL;
> > +}
> > +
> >  #define INTEL_CRTC_FUNCS \
> >  	.set_config = drm_atomic_helper_set_config, \
> >  	.destroy = intel_crtc_destroy, \
> > @@ -238,7 +301,9 @@ static int intel_crtc_late_register(struct drm_crtc
> *crtc)
> >  	.set_crc_source = intel_crtc_set_crc_source, \
> >  	.verify_crc_source = intel_crtc_verify_crc_source, \
> >  	.get_crc_sources = intel_crtc_get_crc_sources, \
> > -	.late_register = intel_crtc_late_register
> > +	.late_register = intel_crtc_late_register, \
> > +	.atomic_set_property = intel_crtc_set_property, \
> > +	.atomic_get_property = intel_crtc_get_property
> >
> >  static const struct drm_crtc_funcs bdw_crtc_funcs = {
> >  	INTEL_CRTC_FUNCS,
> > @@ -383,6 +448,10 @@ int intel_crtc_init(struct drm_i915_private
> > *dev_priv, enum pipe pipe)
> >  	intel_color_crtc_init(crtc);
> >  	intel_drrs_crtc_init(crtc);
> >  	intel_crtc_crc_init(crtc);
> > +	intel_histogram_init(crtc);
> > +
> > +	/* Initialize crtc properties */
> > +	intel_crtc_add_property(crtc);
> >
> >  	cpu_latency_qos_add_request(&crtc->vblank_pm_qos,
> > PM_QOS_DEFAULT_VALUE);
> >
> > @@ -737,3 +806,100 @@ void intel_pipe_update_end(struct
> > intel_atomic_state *state,
> >  out:
> >  	intel_psr_unlock(new_crtc_state);
> >  }
> > +
> > +static const struct drm_prop_enum_list histogram_enable_names[] = {
> > +	{ INTEL_HISTOGRAM_DISABLE, "Disable" },
> > +	{ INTEL_HISTOGRAM_ENABLE, "Enable" }, };
> > +
> > +/**
> > + * intel_attach_histogram_en_property() - add property to
> > +enable/disable histogram
> > + * @intel_crtc: pointer to the struct intel_crtc on which the global
> > +histogram
> > is to
> > + *		be enabled/disabled
> > + *
> > + * "HISTOGRAM_EN" is the crtc propety to enable/disable global
> > +histogram  */ void intel_attach_histogram_en_property(struct
> > +intel_crtc
> > +*intel_crtc) {
> > +	struct drm_crtc *crtc = &intel_crtc->base;
> > +	struct drm_device *dev = crtc->dev;
> > +	struct drm_property *prop;
> > +
> > +	prop = intel_crtc->histogram_en_property;
> > +	if (!prop) {
> > +		prop = drm_property_create_enum(dev, 0,
> > +						"Histogram_Enable",
> > +						histogram_enable_names,
> > +
> > 	ARRAY_SIZE(histogram_enable_names));
> > +		if (!prop)
> > +			return;
> > +
> > +		intel_crtc->histogram_en_property = prop;
> > +	}
> > +
> > +	drm_object_attach_property(&crtc->base, prop, 0); }
> > +
> > +/**
> > + * intel_attach_global_iet_property() - add property to write Image
> > +Enhancement data
> > + * @intel_crtc: pointer to the struct intel_crtc on which global
> > +histogram is enabled
> > + *
> > + * "Global IET" is the crtc property to write the Image Enhancement
> > +LUT binary data  */ void intel_attach_global_iet_property(struct
> > +intel_crtc
> > +*intel_crtc) {
> > +	struct drm_crtc *crtc = &intel_crtc->base;
> > +	struct drm_device *dev = crtc->dev;
> > +	struct drm_property *prop;
> > +
> > +	prop = intel_crtc->global_iet_property;
> > +	if (!prop) {
> > +		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB |
> > DRM_MODE_PROP_ATOMIC,
> > +					   "Global IET", 0);
> > +		if (!prop)
> > +			return;
> > +
> > +		intel_crtc->global_iet_property = prop;
> > +	}
> > +
> > +	drm_object_attach_property(&crtc->base, prop, 0); }
> > +
> > +/**
> > + * intel_attach_histogram_property() - crtc property to read the histogram.
> > + * @intel_crtc: pointer to the struct intel_crtc on which the global histogram
> > + *		was enabled.
> > + * "Global Histogram" is the crtc property to read the binary histogram data.
> > + */
> > +void intel_attach_histogram_property(struct intel_crtc *intel_crtc) {
> > +	struct drm_crtc *crtc = &intel_crtc->base;
> > +	struct drm_device *dev = crtc->dev;
> > +	struct drm_property *prop;
> > +	struct drm_property_blob *blob;
> > +
> > +	prop = intel_crtc->histogram_property;
> > +	if (!prop) {
> > +		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB |
> > +					   DRM_MODE_PROP_ATOMIC |
> > +					   DRM_MODE_PROP_IMMUTABLE,
> > +					   "Global Histogram", 0);
> > +		if (!prop)
> > +			return;
> > +
> > +		intel_crtc->histogram_property = prop;
> > +	}
> > +	blob = drm_property_create_blob(dev, sizeof(uint32_t) *
> > HISTOGRAM_BIN_COUNT, NULL);
> > +	intel_crtc->config->histogram.histogram = blob;
> > +
> > +	drm_object_attach_property(&crtc->base, prop, blob->base.id); }
> > +
> > +int intel_crtc_add_property(struct intel_crtc *intel_crtc) {
> > +	intel_attach_histogram_en_property(intel_crtc);
> > +	intel_attach_histogram_property(intel_crtc);
> > +	intel_attach_global_iet_property(intel_crtc);
> > +
> > +	return 0;
> > +}
> > diff --git a/drivers/gpu/drm/i915/display/intel_crtc.h
> > b/drivers/gpu/drm/i915/display/intel_crtc.h
> > index de54ae1deedf..4e0a3c43d4f8 100644
> > --- a/drivers/gpu/drm/i915/display/intel_crtc.h
> > +++ b/drivers/gpu/drm/i915/display/intel_crtc.h
> > @@ -7,6 +7,7 @@
> >  #define _INTEL_CRTC_H_
> >
> >  #include <linux/types.h>
> > +#include <drm/drm_crtc.h>
> >
> >  enum i9xx_plane_id;
> >  enum pipe;
> > @@ -59,4 +60,8 @@ void intel_wait_for_vblank_if_active(struct
> > drm_i915_private *i915,
> >  				     enum pipe pipe);
> >  void intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc);
> >
> > +int intel_crtc_add_property(struct intel_crtc *intel_crtc); void
> > +intel_attach_histogram_en_property(struct intel_crtc *intel_crtc);
> > +void intel_attach_global_iet_property(struct intel_crtc *intel_crtc);
> > +void intel_attach_histogram_property(struct intel_crtc *intel_crtc);
> >  #endif
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index e790a2de5b3d..0c3008a2d774 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -93,6 +93,7 @@
> >  #include "intel_fifo_underrun.h"
> >  #include "intel_frontbuffer.h"
> >  #include "intel_hdmi.h"
> > +#include "intel_histogram.h"
> >  #include "intel_hotplug.h"
> >  #include "intel_link_bw.h"
> >  #include "intel_lvds.h"
> > @@ -4607,6 +4608,10 @@ static int intel_crtc_atomic_check(struct
> > intel_atomic_state *state,
> >  	if (ret)
> >  		return ret;
> >
> > +	/* HISTOGRAM changed */
> 
> No need for the above comment
> 
Done

Thanks and Regards,
Arun R Murthy
--------------------

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

* RE: [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt reset
  2024-11-20  9:09   ` Kandpal, Suraj
@ 2024-11-21 12:04     ` Murthy, Arun R
  0 siblings, 0 replies; 35+ messages in thread
From: Murthy, Arun R @ 2024-11-21 12:04 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org

> > -----Original Message-----
> > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of
> > Arun R Murthy
> > Sent: Tuesday, November 19, 2024 4:15 PM
> > To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org;
> > dri- devel@lists.freedesktop.org
> > Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> > Subject: [PATCH 6/8] drm/i915/histogram: histogram delay counter
> > doesnt reset
> >
> > The delay counter for histogram does not reset and as a result the
> > histogram bin never gets updated. Workaround would be to use save and
> > restore histogram register.
> > Wa: 14014889975
> 
> This should be above the Signed-off-by
> 
> >
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_histogram.c  | 17
> > +++++++++++++++++ .../gpu/drm/i915/display/intel_histogram_regs.h |  1
> > +
> >  2 files changed, 18 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> > b/drivers/gpu/drm/i915/display/intel_histogram.c
> > index cba65f4260cd..fdcc64677e96 100644
> > --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> > +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> > @@ -74,6 +74,11 @@ static void intel_histogram_handle_int_work(struct
> > work_struct *work)
> >  	struct intel_display *display = to_intel_display(intel_crtc);
> >  	char *histogram_event[] = {"HISTOGRAM=1", NULL};
> >
> > +	/* Wa: 14014889975 */
> > +	if (IS_DISPLAY_VER(display, 12, 13))
> 
> We have shifted to using is_display_verx100 so you can use that instead Also
> there is no display ver 13 just 12 and then 14 so maybe this should be just
> display_ver == 12
> 
HSD mentioned above says display ver 13 ADL.
The commit 5eb2e7855910561a07d4cedf9c898624899b057b changes IS_DISPLAY_VER_FULL to IS_DISPLAY_VERx100
Here we are using IS_DISPLAY_VER()

> 
> > +		intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
> > +			     DPST_CTL_RESTORE, 0);
> > +
> >  	/*
> >  	 * TODO: PSR to be exited while reading the Histogram data
> >  	 * Set DPST_CTL Bin Reg function select to TC @@ -94,6 +99,12 @@
> > static void intel_histogram_handle_int_work(struct work_struct *work)
> >  				"sending HISTOGRAM event failed\n");
> >  	}
> >
> > +	/* Wa: 14014889975 */
> > +	if (IS_DISPLAY_VER(display, 12, 13))
> > +		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt
> > Delay Counter(bit 23:16) */
> > +		intel_de_write(display, DPST_CTL(intel_crtc->pipe),
> > intel_de_read(display,
> > +			       DPST_CTL(intel_crtc->pipe)) |
> > DPST_CTL_RESTORE);
> > +
> 
> From the WA it seems we need to write 0 in the above Guardband Interrupt
> Delay Counter (bits 23:16) when servicing interrupts And only write value read
> from dpst_ctl when enabling  dpst_config or doing an adjustment
> 
Done!

Thanks and Regards,
Arun R Murthy
--------------------

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

* RE: [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display 20+
  2024-11-20 10:25   ` Kandpal, Suraj
@ 2024-11-21 12:20     ` Murthy, Arun R
  0 siblings, 0 replies; 35+ messages in thread
From: Murthy, Arun R @ 2024-11-21 12:20 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org



> -----Original Message-----
> From: Kandpal, Suraj <suraj.kandpal@intel.com>
> Sent: Wednesday, November 20, 2024 3:55 PM
> To: Murthy, Arun R <arun.r.murthy@intel.com>; intel-xe@lists.freedesktop.org;
> intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: RE: [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display
> 20+
> 
> 
> 
> > -----Original Message-----
> > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of
> > Arun R Murthy
> > Sent: Tuesday, November 19, 2024 4:15 PM
> > To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org;
> > dri- devel@lists.freedesktop.org
> > Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> > Subject: [PATCHv4 7/8] drm/i915/histogram: Histogram changes for
> > Display
> > 20+
> >
> > In Display 20+, new registers are added for setting index, reading
> > histogram and writing the IET.
> 
> Bspec reference for new registers being added please
> 
> >
> > v2: Removed duplicate code (Jani)
> > v3: Moved histogram core changes to earlier patches (Jani/Suraj)
> > v4: Rebased after addressing comments on patch 1
> >
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> >  .../gpu/drm/i915/display/intel_histogram.c    | 111 +++++++++++++-----
> >  .../drm/i915/display/intel_histogram_regs.h   |  25 ++++
> >  2 files changed, 105 insertions(+), 31 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> > b/drivers/gpu/drm/i915/display/intel_histogram.c
> > index fdcc64677e96..beaad9256e01 100644
> > --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> > +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> > @@ -29,6 +29,51 @@ struct intel_histogram {
> >  	u32 bin_data[HISTOGRAM_BIN_COUNT];
> >  };
> >
> > +static void set_bin_index_0(struct intel_display *display, enum pipe
> > +pipe) {
> > +	if (DISPLAY_VER(display) >= 20)
> > +		intel_de_rmw(display, DPST_IE_INDEX(pipe),
> > +			     DPST_IE_BIN_INDEX_MASK,
> > DPST_IE_BIN_INDEX(0));
> > +	else
> > +		intel_de_rmw(display, DPST_CTL(pipe),
> > +			     DPST_CTL_BIN_REG_FUNC_SEL |
> > DPST_CTL_BIN_REG_MASK,
> > +			     DPST_CTL_BIN_REG_FUNC_IE |
> > DPST_CTL_BIN_REG_CLEAR); }
> > +
> > +static void write_iet(struct intel_display *display, enum pipe pipe,
> > +			      u32 *data)
> > +{
> > +	int i;
> > +
> > +	if (DISPLAY_VER(display) >= 20) {
> > +		for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
> > +			intel_de_rmw(display, DPST_IE_BIN(pipe),
> > +				     DPST_IE_BIN_DATA_MASK,
> > +				     DPST_IE_BIN_DATA(data[i]));
> > +			drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n",
> > +				       i, data[i]);
> > +		}
> > +	} else {
> > +		for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
> > +			intel_de_rmw(display, DPST_BIN(pipe),
> > +				     DPST_BIN_DATA_MASK, data[i]);
> > +			drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n",
> > +				       i, data[i]);
> > +		}
> > +	}
> > +}
> 
> The above code can be configured as shown below
> 
> int i;
> int register_base, data_mask;
> 
> if (DISPLAY_VER(display) >= 20) {
>     register_base = DPST_IE_BIN(pipe);
>     data_mask = DPST_IE_BIN_DATA_MASK;
> } else {
>     register_base = DPST_BIN(pipe);
>     data_mask = DPST_BIN_DATA_MASK;
> }
> 
> for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
>     intel_de_rmw(display, register_base, data_mask, data[i]);
>     drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n", i, data[i]); }
> 

Writing the data[i] to be writing to the reg bit config also varies.
So rewriting this code within the for loop to optimize the code.

Thanks and Regards,
Arun R Murthy
-------------------

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

* RE: [PATCH 8/8] drm/i915/histogram: Enable pipe dithering
  2024-11-20  9:13   ` Kandpal, Suraj
@ 2024-11-21 12:22     ` Murthy, Arun R
  0 siblings, 0 replies; 35+ messages in thread
From: Murthy, Arun R @ 2024-11-21 12:22 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org

> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> > Arun R Murthy
> > Sent: Tuesday, November 19, 2024 4:15 PM
> > To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org;
> > dri- devel@lists.freedesktop.org
> > Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> > Subject: [PATCH 8/8] drm/i915/histogram: Enable pipe dithering
> >
> > Enable pipe dithering while enabling histogram to overcome some
> > atrifacts seen on the screen.
> 
> Where does it say this. I don't see it in the bspec.
> Is this from testing that this was concluded in that case we perhaps need to
> make sure that the bspec captures this
> 
Will check on updating the spec

Thanks and Regards,
Arun R Murthy
--------------------

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

* [PATCH 8/8] drm/i915/histogram: Enable pipe dithering
  2024-11-21 12:25 [PATCH 0/8] Display Global Histogram Arun R Murthy
@ 2024-11-21 12:26 ` Arun R Murthy
  0 siblings, 0 replies; 35+ messages in thread
From: Arun R Murthy @ 2024-11-21 12:26 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Enable pipe dithering while enabling histogram to overcome some
atrifacts seen on the screen.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/i915/display/intel_histogram.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index db4bc60be557..531df8a712fa 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -29,6 +29,13 @@ struct intel_histogram {
 	u32 bin_data[HISTOGRAM_BIN_COUNT];
 };
 
+static void intel_histogram_enable_dithering(struct intel_display *display,
+					     enum pipe pipe)
+{
+	intel_de_rmw(display, PIPE_MISC(pipe), PIPE_MISC_DITHER_ENABLE,
+		     PIPE_MISC_DITHER_ENABLE);
+}
+
 static void set_bin_index_0(struct intel_display *display, enum pipe pipe)
 {
 	if (DISPLAY_VER(display) >= 20)
@@ -197,6 +204,9 @@ static int intel_histogram_enable(struct intel_crtc *intel_crtc)
 	if (histogram->enable)
 		return 0;
 
+	/* Pipe Dithering should be enabled with histogram */
+	intel_histogram_enable_dithering(display, pipe);
+
 	 /* enable histogram, clear DPST_BIN reg and select TC function */
 	if (DISPLAY_VER(display) >= 20)
 		intel_de_rmw(display, DPST_CTL(pipe),
-- 
2.25.1


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

end of thread, other threads:[~2024-11-21 12:36 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-19 10:45 [PATCHv5 0/8] Display Global Histogram Arun R Murthy
2024-11-19 10:45 ` [PATCHv2 1/8] drm/i915/histogram: Define registers for histogram Arun R Murthy
2024-11-20  7:17   ` Kandpal, Suraj
2024-11-19 10:45 ` [PATCHv4 2/8] drm/i915/histogram: Add support " Arun R Murthy
2024-11-20  8:13   ` Kandpal, Suraj
2024-11-21  7:14     ` Murthy, Arun R
2024-11-19 10:45 ` [PATCH 3/8] drm/xe: Add histogram support to Xe builds Arun R Murthy
2024-11-19 10:45 ` [PATCHv4 4/8] drm/i915/histogram: histogram interrupt handling Arun R Murthy
2024-11-19 11:36   ` Jani Nikula
2024-11-21  3:08     ` Murthy, Arun R
2024-11-19 10:45 ` [PATCHv5 5/8] drm/i915/histogram: Add crtc properties for global histogram Arun R Murthy
2024-11-19 11:41   ` Jani Nikula
2024-11-20  8:33   ` Kandpal, Suraj
2024-11-21  7:19     ` Murthy, Arun R
2024-11-19 10:45 ` [PATCH 6/8] drm/i915/histogram: histogram delay counter doesnt reset Arun R Murthy
2024-11-20  9:09   ` Kandpal, Suraj
2024-11-21 12:04     ` Murthy, Arun R
2024-11-19 10:45 ` [PATCHv4 7/8] drm/i915/histogram: Histogram changes for Display 20+ Arun R Murthy
2024-11-20 10:25   ` Kandpal, Suraj
2024-11-21 12:20     ` Murthy, Arun R
2024-11-19 10:45 ` [PATCH 8/8] drm/i915/histogram: Enable pipe dithering Arun R Murthy
2024-11-20  9:13   ` Kandpal, Suraj
2024-11-21 12:22     ` Murthy, Arun R
2024-11-19 11:16 ` ✓ CI.Patch_applied: success for Display Global Histogram (rev3) Patchwork
2024-11-19 11:17 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-19 11:18 ` ✓ CI.KUnit: success " Patchwork
2024-11-19 11:36 ` ✓ CI.Build: " Patchwork
2024-11-19 11:38 ` ✗ CI.Hooks: failure " Patchwork
2024-11-19 11:40 ` ✗ CI.checksparse: warning " Patchwork
2024-11-19 11:58 ` ✓ CI.BAT: success " Patchwork
2024-11-19 12:39 ` [PATCHv5 0/8] Display Global Histogram Daniel Stone
2024-11-19 14:39   ` Murthy, Arun R
2024-11-19 15:18     ` Daniel Stone
2024-11-19 21:52 ` ✗ CI.FULL: failure for Display Global Histogram (rev3) Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-11-21 12:25 [PATCH 0/8] Display Global Histogram Arun R Murthy
2024-11-21 12:26 ` [PATCH 8/8] drm/i915/histogram: Enable pipe dithering Arun R Murthy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox