Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 05/10] drm/xe: Add histogram support to Xe builds
  2024-12-03  5:55 [PATCHv9 00/10] Display Global Histogram Arun R Murthy
@ 2024-12-03  5:55 ` Arun R Murthy
  0 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-03  5:55 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] 33+ messages in thread

* [PATCHv10 00/10] Display Global Histogram
@ 2024-12-09 16:24 Arun R Murthy
  2024-12-09 16:24 ` [PATCHv3 01/10] drm/crtc: Add histogram properties Arun R Murthy
                   ` (16 more replies)
  0 siblings, 17 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:24 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
and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873/diffs?commit_id=270808ca7c8be48513553d95b4a47541f5d40206
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 (10):
  drm/crtc: Add histogram properties
  drm/crtc: Expose API to create drm crtc property for histogram
  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/display: handle drm-crtc histogram property updates
  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/drm_atomic_state_helper.c     |   6 +
 drivers/gpu/drm/drm_atomic_uapi.c             |  17 +
 drivers/gpu/drm/drm_crtc.c                    |  30 ++
 drivers/gpu/drm/i915/Makefile                 |   1 +
 drivers/gpu/drm/i915/display/intel_atomic.c   |   1 +
 drivers/gpu/drm/i915/display/intel_crtc.c     |   7 +
 drivers/gpu/drm/i915/display/intel_display.c  |  17 +
 .../gpu/drm/i915/display/intel_display_irq.c  |   6 +-
 .../drm/i915/display/intel_display_types.h    |   4 +
 .../gpu/drm/i915/display/intel_histogram.c    | 380 ++++++++++++++++++
 .../gpu/drm/i915/display/intel_histogram.h    |  40 ++
 .../drm/i915/display/intel_histogram_regs.h   |  75 ++++
 drivers/gpu/drm/i915/i915_reg.h               |   5 +-
 drivers/gpu/drm/xe/Makefile                   |   1 +
 include/drm/drm_crtc.h                        |  49 +++
 include/uapi/drm/drm_mode.h                   |  11 +
 16 files changed, 647 insertions(+), 3 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] 33+ messages in thread

* [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
@ 2024-12-09 16:24 ` Arun R Murthy
  2024-12-10  0:26   ` Dmitry Baryshkov
  2024-12-10  0:58   ` Dmitry Baryshkov
  2024-12-09 16:24 ` [PATCHv3 02/10] drm/crtc: Expose API to create drm crtc property for histogram Arun R Murthy
                   ` (15 subsequent siblings)
  16 siblings, 2 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:24 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Add variables for histogram drm_property, its corrsponding crtc_state
variables and define the structure pointed by the blob property.

struct drm_histogram and drm_iet defined in include/uapi/drm/drm_mode.h

The property HISTOGRAM_ENABLE allows user to enable/disable the
histogram feature in the hardware. Upon KMD enabling by writing to the
hardware registers, a histogram is generated. Histogram is composed of
'n' bins with each bin being an integer(pixel count).
An event HISTOGRAM will be sent to the user. User upon recieving this
event user can read the hardware generated histogram using crtc property
HISTOGRAM_DATA. User can use this histogram data, apply various
equilization techniques to come up with a pixel factor. This pixel
factor is an array of integer with 'n+1' elements. This is fed back to
the KMD by crtc property HISTOGRAM_IET. KMD will write this IET data
back to the hardware to see the enhancement/equilization done to the
images on that pipe.
The crtc property HISTOGRAM_DATA and HISTOGRAM_IET is of type blob.

For crtc property HISTOGRAM_DATA,
the blob data pointer will be the address of the struct drm_histogram.
struct drm_histogram {
	u64 data_ptr;
	u32 nr_elements;
}
Histogram is composed of @nr_elements of bins with each bin being an
integer value, referred to as pixel_count.
The element @data_ptr holds the address of histogam.
Sample:
Historgram[0] = 2050717
Historgram[1] = 244619
Historgram[2] = 173368
....
Historgram[31] = 21631

For crtc_property HISTOGRAM_IET,
the blob data pointer will be the address of the struct drm_iet.
struct drm_iet {
	u64 data_ptr;
	u32 nr_elements;
}
ImageEnhancemenT(IET) is composed of @nr_elements of bins with each bin
being an integer value, referred to as pixel factor.
The element @data_ptr holds the addess of pixel factor.
Sample:
Pixel Factor[0] = 1023
Pixel Factor[1] = 695
Pixel Factor[2] = 1023
....
Pixel Factor[32] = 512

Histogram is the statistics generated with 'n' number of frames on a
pipe.
Usually the size of pixel factor is one more than the size of histogram
data.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 include/drm/drm_crtc.h      | 51 +++++++++++++++++++++++++++++++++++++
 include/uapi/drm/drm_mode.h | 24 +++++++++++++++++
 2 files changed, 75 insertions(+)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 8b48a1974da3..f0f4a73e2e31 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -274,6 +274,41 @@ struct drm_crtc_state {
 	 */
 	struct drm_property_blob *gamma_lut;
 
+	/**
+	 * @histogram_enable:
+	 *
+	 * This will be set if histogram needs to be enabled for the CRTC.
+	 */
+	bool histogram_enable;
+
+	/**
+	 * @histogram_data:
+	 *
+	 * The blob points to the structure drm_histogram.
+	 * The element data in drm_histogram will hold the pointer to the
+	 * histogram data generated by the hardware. This histogram data is
+	 * an array of integer. This integer value is the pixel count of the
+	 * incoming frames.
+	 */
+	struct drm_property_blob *histogram_data;
+
+	/**
+	 * @histogram_iet:
+	 *
+	 * The blob points to the struct drm_iet.
+	 * The element data_ptr in drm_iet will hold the pointer to the
+	 * image enhancement generated by the algorithm that is to
+	 * be fed back to the hardware. This IET data is an array of type
+	 * integer and is referred to as a pixel factor.
+	 */
+	struct drm_property_blob *histogram_iet;
+	/**
+	 * @histogram_iet_updates:
+	 *
+	 * Convey that the image enhanced data has been updated by the user
+	 */
+	bool histogram_iet_updated;
+
 	/**
 	 * @target_vblank:
 	 *
@@ -1088,6 +1123,22 @@ struct drm_crtc {
 	 */
 	struct drm_property *scaling_filter_property;
 
+	/**
+	 * @histogram_enable_property: Optional CRTC property for enabling or
+	 * disabling global histogram.
+	 */
+	struct drm_property *histogram_enable_property;
+	/**
+	 * @histogram_data_proeprty: Optional CRTC property for getting the
+	 * histogram blob data.
+	 */
+	struct drm_property *histogram_data_property;
+	/**
+	 * @histogram_iet_proeprty: Optional CRTC property for writing the
+	 * image enhanced blob data
+	 */
+	struct drm_property *histogram_iet_property;
+
 	/**
 	 * @state:
 	 *
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index c082810c08a8..c384ed8452c7 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -1355,6 +1355,30 @@ struct drm_mode_closefb {
 	__u32 pad;
 };
 
+/**
+ * struct drm_histogram
+ * @data_ptr: pointer to the array of bins which is of type integer. This
+ *	      is the histogram data termed as pixel count.
+ * @nr_elements: number of elements pointed by the data @data_ptr
+ */
+struct drm_histogram {
+	__u64 data_ptr;
+	__u32 nr_elements;
+};
+
+/**
+ * struct drm_iet
+ * @data_ptr: pointer to the array of bins which is of type integer. This
+ *	      is the image enhanced data, termed as pixel factor.
+ * @nr_elements: number of elements pointed by the data @data_ptr
+ * @reserved: reserved for future use
+ */
+struct drm_iet {
+	__u64 data_ptr;
+	__u32 nr_elements;
+	__u32 reserved;
+};
+
 #if defined(__cplusplus)
 }
 #endif
-- 
2.25.1


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

* [PATCHv3 02/10] drm/crtc: Expose API to create drm crtc property for histogram
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
  2024-12-09 16:24 ` [PATCHv3 01/10] drm/crtc: Add histogram properties Arun R Murthy
@ 2024-12-09 16:24 ` Arun R Murthy
  2024-12-09 16:24 ` [PATCH 03/10] drm/i915/histogram: Define registers " Arun R Murthy
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:24 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Add drm-crtc property for histogram and for the properties added add
corresponding get/set_property.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/drm_atomic_state_helper.c |  6 ++
 drivers/gpu/drm/drm_atomic_uapi.c         | 17 +++++
 drivers/gpu/drm/drm_crtc.c                | 84 +++++++++++++++++++++++
 include/drm/drm_crtc.h                    |  1 +
 4 files changed, 108 insertions(+)

diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index 519228eb1095..3b2b58e36a6d 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -143,6 +143,8 @@ void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
 		drm_property_blob_get(state->ctm);
 	if (state->gamma_lut)
 		drm_property_blob_get(state->gamma_lut);
+	if (state->histogram_data)
+		drm_property_blob_get(state->histogram_data);
 	state->mode_changed = false;
 	state->active_changed = false;
 	state->planes_changed = false;
@@ -156,6 +158,8 @@ void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
 	/* Self refresh should be canceled when a new update is available */
 	state->active = drm_atomic_crtc_effectively_active(state);
 	state->self_refresh_active = false;
+
+	state->histogram_iet_updated = false;
 }
 EXPORT_SYMBOL(__drm_atomic_helper_crtc_duplicate_state);
 
@@ -215,6 +219,8 @@ void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc_state *state)
 	drm_property_blob_put(state->degamma_lut);
 	drm_property_blob_put(state->ctm);
 	drm_property_blob_put(state->gamma_lut);
+	if (state->histogram_data)
+		drm_property_blob_put(state->histogram_data);
 }
 EXPORT_SYMBOL(__drm_atomic_helper_crtc_destroy_state);
 
diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
index 370dc676e3aa..b3c13c0fafae 100644
--- a/drivers/gpu/drm/drm_atomic_uapi.c
+++ b/drivers/gpu/drm/drm_atomic_uapi.c
@@ -415,6 +415,17 @@ static int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
 			return -EFAULT;
 
 		set_out_fence_for_crtc(state->state, crtc, fence_ptr);
+	} else if (property == crtc->histogram_enable_property) {
+		state->histogram_enable = val;
+	} else if (property == crtc->histogram_iet_property) {
+		ret = drm_property_replace_blob_from_id(dev,
+							&state->histogram_iet,
+							val,
+							-1,
+							sizeof(struct drm_iet),
+							&replaced);
+		state->histogram_iet_updated |= replaced;
+		return ret;
 	} else if (property == crtc->scaling_filter_property) {
 		state->scaling_filter = val;
 	} else if (crtc->funcs->atomic_set_property) {
@@ -452,6 +463,12 @@ drm_atomic_crtc_get_property(struct drm_crtc *crtc,
 		*val = (state->gamma_lut) ? state->gamma_lut->base.id : 0;
 	else if (property == config->prop_out_fence_ptr)
 		*val = 0;
+	else if (property == crtc->histogram_enable_property)
+		*val = state->histogram_enable;
+	else if (property == crtc->histogram_data_property)
+		*val = (state->histogram_data) ? state->histogram_data->base.id : 0;
+	else if (property == crtc->histogram_iet_property)
+		*val = (state->histogram_iet) ? state->histogram_iet->base.id : 0;
 	else if (property == crtc->scaling_filter_property)
 		*val = state->scaling_filter;
 	else if (crtc->funcs->atomic_get_property)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 3488ff067c69..8fedf6684eb3 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -939,3 +939,87 @@ int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc,
 	return 0;
 }
 EXPORT_SYMBOL(drm_crtc_create_scaling_filter_property);
+
+/**
+ * drm_crtc_create_histogram_property: create histogram properties
+ *
+ * @crtc: pointer tot he struct drm_crtc.
+ *
+ * The property HISTOGRAM_ENABLE allows user to enable/disable the
+ * histogram feature in the hardware. Upon KMD enabling by writing to the
+ * hardware registers, a histogram is generated. Histogram is composed of
+ * 'n' bins with each bin being an integer(pixel count).
+ * An event HISTOGRAM will be sent to the user. User upon recieving this
+ * event user can read the hardware generated histogram using crtc property
+ * HISTOGRAM_DATA. User can use this histogram data, apply various
+ * equilization techniques to come up with a pixel factor. This pixel
+ * factor is an array of integer with 'n+1' elements. This is fed back to
+ * the KMD by crtc property HISTOGRAM_IET. KMD will write this IET data
+ * back to the hardware to see the enhancement/equilization done to the
+ * images on that pipe.
+ * The crtc property HISTOGRAM_DATA and HISTOGRAM_IET is of type blob.
+ *
+ * For crtc property HISTOGRAM_DATA,
+ * the blob data pointer will be the address of the struct drm_histogram.
+ * struct drm_histogram {
+ *         u64 data_ptr;
+ *         u32 nr_elements;
+ * }
+ * Histogram is composed of @nr_elements of bins with each bin being an
+ * integer value, referred to as pixel_count.
+ * The element @data_ptr holds the address of histogam.
+ * Sample:
+ * Historgram[0] = 2050717
+ * Historgram[1] = 244619
+ * Historgram[2] = 173368
+ * ....
+ * Historgram[31] = 21631
+ *
+ * For crtc_property HISTOGRAM_IET,
+ * the blob data pointer will be the address of the struct drm_iet.
+ *  struct drm_iet {
+ *         u64 data_ptr;
+ *         u32 nr_elements;
+ * }
+ * ImageEnhancemenT(IET) is composed of @nr_elements of bins with each bin
+ * being an integer value, referred to as pixel factor.
+ * The element @data_ptr holds the addess of pixel factor.
+ * Sample:
+ * Pixel Factor[0] = 1023
+ * Pixel Factor[1] = 695
+ * Pixel Factor[2] = 1023
+ * ....
+ * Pixel Factor[32] = 512
+ *
+ * RETURNS:
+ * Zero for success or -errno
+ */
+int drm_crtc_create_histogram_property(struct drm_crtc *crtc)
+{
+	struct drm_property *prop;
+
+	prop = drm_property_create_bool(crtc->dev, DRM_MODE_PROP_ATOMIC,
+					"HISTOGRAM_ENABLE");
+	if (!prop)
+		return -ENOMEM;
+	drm_object_attach_property(&crtc->base, prop, 0);
+	crtc->histogram_enable_property = prop;
+
+	prop = drm_property_create(crtc->dev, DRM_MODE_PROP_ATOMIC |
+				   DRM_MODE_PROP_IMMUTABLE | DRM_MODE_PROP_BLOB,
+				   "HISTOGRAM_DATA", 0);
+	if (!prop)
+		return -ENOMEM;
+	drm_object_attach_property(&crtc->base, prop, 0);
+	crtc->histogram_data_property = prop;
+
+	prop = drm_property_create(crtc->dev, DRM_MODE_PROP_ATOMIC |
+				   DRM_MODE_PROP_BLOB, "HISTOGRAM_IET", 0);
+	if (!prop)
+		return -ENOMEM;
+	drm_object_attach_property(&crtc->base, prop, 0);
+	crtc->histogram_iet_property = prop;
+
+	return 0;
+}
+EXPORT_SYMBOL(drm_crtc_create_histogram_property);
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index f0f4a73e2e31..c3807e371160 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -1374,5 +1374,6 @@ static inline struct drm_crtc *drm_crtc_find(struct drm_device *dev,
 
 int drm_crtc_create_scaling_filter_property(struct drm_crtc *crtc,
 					    unsigned int supported_filters);
+int drm_crtc_create_histogram_property(struct drm_crtc *crtc);
 
 #endif /* __DRM_CRTC_H__ */
-- 
2.25.1


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

* [PATCH 03/10] drm/i915/histogram: Define registers for histogram
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
  2024-12-09 16:24 ` [PATCHv3 01/10] drm/crtc: Add histogram properties Arun R Murthy
  2024-12-09 16:24 ` [PATCHv3 02/10] drm/crtc: Expose API to create drm crtc property for histogram Arun R Murthy
@ 2024-12-09 16:24 ` Arun R Murthy
  2024-12-09 16:24 ` [PATCH 04/10] drm/i915/histogram: Add support " Arun R Murthy
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:24 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy, Suraj Kandpal

Add the register/bit definitions for global histogram.

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

Bspec: 4270
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@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] 33+ messages in thread

* [PATCH 04/10] drm/i915/histogram: Add support for histogram
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (2 preceding siblings ...)
  2024-12-09 16:24 ` [PATCH 03/10] drm/i915/histogram: Define registers " Arun R Murthy
@ 2024-12-09 16:24 ` Arun R Murthy
  2024-12-09 16:24 ` [PATCH 05/10] drm/xe: Add histogram support to Xe builds Arun R Murthy
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:24 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy, Suraj Kandpal

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)
v5: IET LUT pgm follow the seq in spec and removed change to TC at end
    (Suraj)

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/Makefile                 |   1 +
 .../drm/i915/display/intel_display_types.h    |   2 +
 .../gpu/drm/i915/display/intel_histogram.c    | 202 ++++++++++++++++++
 .../gpu/drm/i915/display/intel_histogram.h    |  37 ++++
 4 files changed, 242 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 167aa8ec4948..0f50081b9957 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1425,6 +1425,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..e481e49ebcf7
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -0,0 +1,202 @@
+// 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_de.h"
+#include "intel_display.h"
+#include "intel_display_types.h"
+#include "intel_histogram.h"
+#include "intel_histogram_regs.h"
+
+/* 3.0% of the pipe's current pixel count, hw does x4 */
+#define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300
+/* Precision factor for threshold guardband */
+#define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000
+#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 || !histogram->can_enable)
+		return -EINVAL;
+
+	if (histogram->enable)
+		return 0;
+
+	 /* enable histogram, clear DPST_CTL bin reg func select to TC */
+	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_ENHANCEMENT_MODE_MASK | DPST_CTL_IE_MODI_TABLE_EN,
+		     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
+		     DPST_CTL_HIST_MODE_HSV |
+		     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC |
+		     DPST_CTL_EN_MULTIPLICATIVE | DPST_CTL_IE_MODI_TABLE_EN);
+
+	/* Re-Visit: check if wait for one vblank is required */
+	drm_crtc_wait_one_vblank(&intel_crtc->base);
+
+	/* TODO: Program GuardBand Threshold needs 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,
+				struct drm_property_blob *blob)
+{
+	struct intel_histogram *histogram = intel_crtc->histogram;
+	struct intel_display *display = to_intel_display(intel_crtc);
+	int pipe = intel_crtc->pipe;
+	int i = 0;
+	struct drm_iet *iet;
+	u32 *data;
+	int ret;
+
+	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 & wait for a vblabk */
+	intel_de_rmw(display, DPST_CTL(pipe),
+		     DPST_CTL_BIN_REG_FUNC_SEL, DPST_CTL_BIN_REG_FUNC_IE);
+
+	drm_crtc_wait_one_vblank(&intel_crtc->base);
+
+	 /* Set DPST_CTL Bin Register Index to 0 */
+	intel_de_rmw(display, DPST_CTL(pipe),
+		     DPST_CTL_BIN_REG_MASK, DPST_CTL_BIN_REG_CLEAR);
+
+	iet = (struct drm_iet *)blob->data;
+	data = kzalloc(sizeof(data) * iet->nr_elements, GFP_KERNEL);
+	if (!data)
+		return -ENOMEM;
+	ret = copy_from_user(data, (uint32_t __user *)(unsigned long)iet->data_ptr,
+			     sizeof(uint32_t) * iet->nr_elements);
+	if (ret)
+		return ret;
+
+	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]);
+	}
+	kfree(data);
+	drm_property_blob_put(intel_crtc->base.state->histogram_iet);
+
+	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..fb01ffe8903f
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_histogram.h
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef __INTEL_HISTOGRAM_H__
+#define __INTEL_HISTOGRAM_H__
+
+#include <linux/types.h>
+
+struct drm_property_blob;
+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,
+				struct drm_property_blob *blob);
+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] 33+ messages in thread

* [PATCH 05/10] drm/xe: Add histogram support to Xe builds
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (3 preceding siblings ...)
  2024-12-09 16:24 ` [PATCH 04/10] drm/i915/histogram: Add support " Arun R Murthy
@ 2024-12-09 16:24 ` Arun R Murthy
  2024-12-09 16:25 ` [PATCH 06/10] drm/i915/histogram: histogram interrupt handling Arun R Murthy
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:24 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] 33+ messages in thread

* [PATCH 06/10] drm/i915/histogram: histogram interrupt handling
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (4 preceding siblings ...)
  2024-12-09 16:24 ` [PATCH 05/10] drm/xe: Add histogram support to Xe builds Arun R Murthy
@ 2024-12-09 16:25 ` Arun R Murthy
  2024-12-09 16:25 ` [PATCHv3 07/10] drm/i915/display: Handle drm-crtc histogram property updates Arun R Murthy
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:25 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy, Suraj Kandpal

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
v5: removed the retry logic and moved to patch7 (Jani)

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

diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
index 069043f9d894..ee3166d4c656 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"
@@ -1180,6 +1181,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,
@@ -1773,7 +1777,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 e481e49ebcf7..29e7bd928c9b 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -19,7 +19,7 @@
 #define HISTOGRAM_GUARDBAND_THRESHOLD_DEFAULT 300
 /* Precision factor for threshold guardband */
 #define HISTOGRAM_GUARDBAND_PRECISION_FACTOR 10000
-#define HISTOGRAM_DEFAULT_GUARDBAND_DELAY 0x04
+#define HISTOGRAM_BIN_READ_RETRY_COUNT 5
 
 struct intel_histogram {
 	struct intel_crtc *crtc;
@@ -29,6 +29,102 @@ 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;
+	int index;
+	u32 dpstbin;
+
+	for (index = 0; index < ARRAY_SIZE(histogram->bin_data); index++) {
+		dpstbin = intel_de_read(display, DPST_BIN(intel_crtc->pipe));
+		if (!(dpstbin & DPST_BIN_BUSY)) {
+			histogram->bin_data[index] = dpstbin & DPST_BIN_DATA_MASK;
+		} else
+			return false;
+	}
+	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 event[] = "HISTOGRAM=1", pipe_id[21];
+	char *histogram_event[] = { event, pipe_id, NULL };
+	int retry;
+
+	snprintf(pipe_id, sizeof(pipe_id),
+		 "PIPE=%u", intel_crtc->base.base.id);
+
+	/*
+	 * 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);
+	for (retry = 0; retry < HISTOGRAM_BIN_READ_RETRY_COUNT; retry++) {
+		if (intel_histogram_get_data(intel_crtc)) {
+			u32 *data;
+			struct drm_histogram *hist;
+
+			data = kzalloc(sizeof(data) * sizeof(histogram->bin_data), GFP_KERNEL);
+			if (!data)
+				return;
+			memcpy(histogram->bin_data, data, sizeof(histogram->bin_data));
+			hist = kzalloc(sizeof(struct drm_histogram), GFP_KERNEL);
+			if (!hist)
+				return;
+			hist->data_ptr = *data;
+			hist->nr_elements = sizeof(histogram->bin_data);
+
+			drm_property_replace_global_blob(display->drm,
+				&intel_crtc->base.state->histogram_data,
+				sizeof(struct drm_histogram),
+				hist, &intel_crtc->base.base,
+				intel_crtc->base.histogram_data_property);
+			/* Notify user for Histogram readiness */
+			if (kobject_uevent_env(&display->drm->primary->kdev->kobj,
+					       KOBJ_CHANGE, histogram_event))
+				drm_err(display->drm,
+					"Sending HISTOGRAM event failed\n");
+			break;
+		}
+	}
+	if (retry >= HISTOGRAM_BIN_READ_RETRY_COUNT) {
+		drm_err(display->drm, "Histogram bin read failed with max retry\n");
+		return;
+	}
+
+	/* 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;
@@ -78,7 +174,7 @@ static int intel_histogram_enable(struct intel_crtc *intel_crtc)
 		     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_INTERRUPT_DELAY(0x04) |
 		     DPST_GUARD_HIST_INT_EN);
 
 	/* Clear pending interrupts has to be done on separate write */
@@ -111,6 +207,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;
 }
 
@@ -181,6 +278,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);
 }
 
@@ -198,5 +296,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 fb01ffe8903f..d7ddaab7ef54 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.h
+++ b/drivers/gpu/drm/i915/display/intel_histogram.h
@@ -10,6 +10,8 @@
 
 struct drm_property_blob;
 struct intel_crtc;
+struct intel_display;
+enum pipe;
 
 #define HISTOGRAM_BIN_COUNT                    32
 #define HISTOGRAM_IET_LENGTH                   33
@@ -28,6 +30,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,
 				struct drm_property_blob *blob);
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index f48b5c809cec..836602e47511 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] 33+ messages in thread

* [PATCHv3 07/10] drm/i915/display: Handle drm-crtc histogram property updates
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (5 preceding siblings ...)
  2024-12-09 16:25 ` [PATCH 06/10] drm/i915/histogram: histogram interrupt handling Arun R Murthy
@ 2024-12-09 16:25 ` Arun R Murthy
  2024-12-10 12:48   ` Kandpal, Suraj
  2024-12-09 16:25 ` [PATCH 08/10] drm/i915/histogram: histogram delay counter doesnt reset Arun R Murthy
                   ` (9 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:25 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy

Check for any updates on drm_crtc property histogram_enable and
histogram_iet_updated and call/act accordingly to update histogram or
update the image enhancement LUT data API defined in i915 histogram.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/i915/display/intel_atomic.c     |  1 +
 drivers/gpu/drm/i915/display/intel_crtc.c       |  7 +++++++
 drivers/gpu/drm/i915/display/intel_display.c    | 17 +++++++++++++++++
 .../gpu/drm/i915/display/intel_display_types.h  |  2 ++
 4 files changed, 27 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c b/drivers/gpu/drm/i915/display/intel_atomic.c
index 03dc54c802d3..dff130b3565a 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic.c
@@ -278,6 +278,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_updated = false;
 
 	return &crtc_state->uapi;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index a2c528d707f4..0c8741ca9a71 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -27,6 +27,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 +211,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);
 }
 
@@ -380,10 +382,15 @@ int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
 						BIT(DRM_SCALING_FILTER_DEFAULT) |
 						BIT(DRM_SCALING_FILTER_NEAREST_NEIGHBOR));
 
+	if (drm_crtc_create_histogram_property(&crtc->base))
+		drm_err(&dev_priv->drm, "Failed to initialize histogram properties\n");
+
 	intel_color_crtc_init(crtc);
 	intel_drrs_crtc_init(crtc);
 	intel_crtc_crc_init(crtc);
 
+	intel_histogram_init(crtc);
+
 	cpu_latency_qos_add_request(&crtc->vblank_pm_qos, PM_QOS_DEFAULT_VALUE);
 
 	drm_WARN_ON(&dev_priv->drm, drm_crtc_index(&crtc->base) != crtc->pipe);
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 35c8904ecf44..fb393e5a4c84 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"
@@ -4612,6 +4613,12 @@ static int intel_crtc_atomic_check(struct intel_atomic_state *state,
 	if (ret)
 		return ret;
 
+	if (crtc_state->histogram_updated) {
+		ret = intel_histogram_atomic_check(crtc);
+		if (ret)
+			return ret;
+	}
+
 	return 0;
 }
 
@@ -6832,6 +6839,10 @@ 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;
+
+		if (new_crtc_state->uapi.histogram_enable |=
+		    old_crtc_state->uapi.histogram_enable)
+			new_crtc_state->histogram_updated = true;
 	}
 
 	intel_vrr_check_modeset(state);
@@ -7900,6 +7911,12 @@ 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);
+
+		if (new_crtc_state->histogram_updated)
+			intel_histogram_update(crtc, crtc->base.state->histogram_enable);
+		if (new_crtc_state->uapi.histogram_iet_updated)
+			intel_histogram_set_iet_lut(crtc,
+						    new_crtc_state->uapi.histogram_iet);
 	}
 
 	/* 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 0f50081b9957..15f4bd3ccc62 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1317,6 +1317,8 @@ struct intel_crtc_state {
 
 	/* LOBF flag */
 	bool has_lobf;
+
+	bool histogram_updated;
 };
 
 enum intel_pipe_crc_source {
-- 
2.25.1


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

* [PATCH 08/10] drm/i915/histogram: histogram delay counter doesnt reset
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (6 preceding siblings ...)
  2024-12-09 16:25 ` [PATCHv3 07/10] drm/i915/display: Handle drm-crtc histogram property updates Arun R Murthy
@ 2024-12-09 16:25 ` Arun R Murthy
  2024-12-09 16:25 ` [PATCH 09/10] drm/i915/histogram: Histogram changes for Display 20+ Arun R Murthy
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:25 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy, Suraj Kandpal

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.

v2: Follow the seq in interrupt handler
	Restore DPST bit 0
	read/write dpst ctl rg
	Restore DPST bit 1 and Guardband Delay Interrupt counter = 0
	(Suraj)
v3: updated wa version for display 13 and 14

Wa: 14014889975
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_histogram.c     | 14 ++++++++++++++
 .../gpu/drm/i915/display/intel_histogram_regs.h    |  2 ++
 2 files changed, 16 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index 29e7bd928c9b..39d96c86bb89 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -59,6 +59,11 @@ static void intel_histogram_handle_int_work(struct work_struct *work)
 	snprintf(pipe_id, sizeof(pipe_id),
 		 "PIPE=%u", intel_crtc->base.base.id);
 
+	/* Wa: 14014889975 */
+	if (IS_DISPLAY_VER(display, 13, 14))
+		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
@@ -99,6 +104,15 @@ static void intel_histogram_handle_int_work(struct work_struct *work)
 		return;
 	}
 
+	/* Wa: 14014889975 */
+	if (IS_DISPLAY_VER(display, 13, 14))
+		/* Write the value read from DPST_CTL to DPST_CTL.Interrupt Delay Counter(bit 23:16) */
+		intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
+			     DPST_CTL_GUARDBAND_INTERRUPT_DELAY_CNT |
+			     DPST_CTL_RESTORE,
+			     DPST_CTL_GUARDBAND_INTERRUPT_DELAY(0x0) |
+			     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);
diff --git a/drivers/gpu/drm/i915/display/intel_histogram_regs.h b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
index 1252b4f339a6..213c9f483567 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
@@ -16,6 +16,8 @@
 #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_GUARDBAND_INTERRUPT_DELAY(val)	REG_FIELD_PREP(DPST_CTL_GUARDBAND_INTERRUPT_DELAY_CNT, val)
 #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] 33+ messages in thread

* [PATCH 09/10] drm/i915/histogram: Histogram changes for Display 20+
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (7 preceding siblings ...)
  2024-12-09 16:25 ` [PATCH 08/10] drm/i915/histogram: histogram delay counter doesnt reset Arun R Murthy
@ 2024-12-09 16:25 ` Arun R Murthy
  2024-12-09 16:25 ` [PATCHv2 10/10] drm/i915/histogram: Enable pipe dithering Arun R Murthy
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:25 UTC (permalink / raw)
  To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy, Suraj Kandpal

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
v5: Added the retry logic from patch3 and rebased the patch series
v6: optimize wite_iet() (Suraj)

Bspec: 68895
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 .../gpu/drm/i915/display/intel_histogram.c    | 105 +++++++++++++-----
 .../drm/i915/display/intel_histogram_regs.h   |  25 +++++
 2 files changed, 103 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c
index 39d96c86bb89..d503d0f0a5ee 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram.c
+++ b/drivers/gpu/drm/i915/display/intel_histogram.c
@@ -29,6 +29,37 @@ 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_MASK,
+			     DPST_CTL_BIN_REG_CLEAR);
+}
+
+static void write_iet(struct intel_display *display, enum pipe pipe,
+			      u32 *data)
+{
+	int i;
+
+	for (i = 0; i < HISTOGRAM_IET_LENGTH; i++) {
+		if (DISPLAY_VER(display) >= 20)
+			intel_de_rmw(display, DPST_IE_BIN(pipe),
+				     DPST_IE_BIN_DATA_MASK,
+				     DPST_IE_BIN_DATA(data[i]));
+		else
+			intel_de_rmw(display, DPST_BIN(pipe),
+				     DPST_BIN_DATA_MASK,
+				     DPST_BIN_DATA(data[i]));
+
+		drm_dbg_atomic(display->drm, "iet_lut[%d]=%x\n",
+			       i, data[i]);
+	}
+}
+
 static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
 {
 	struct intel_display *display = to_intel_display(intel_crtc);
@@ -36,12 +67,27 @@ static bool intel_histogram_get_data(struct intel_crtc *intel_crtc)
 	int index;
 	u32 dpstbin;
 
+	if (DISPLAY_VER(display) >= 20)
+		intel_de_rmw(display, DPST_HIST_INDEX(intel_crtc->pipe),
+			     DPST_HIST_BIN_INDEX_MASK,
+			     DPST_HIST_BIN_INDEX(0));
+	else
+		intel_de_rmw(display, DPST_CTL(intel_crtc->pipe),
+			     DPST_CTL_BIN_REG_FUNC_SEL | DPST_CTL_BIN_REG_MASK, 0);
+
 	for (index = 0; index < ARRAY_SIZE(histogram->bin_data); index++) {
-		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;
-		} else
+			histogram->bin_data[index] = dpstbin & (DISPLAY_VER(display) >= 20 ?
+								DPST_HIST_BIN_DATA_MASK :
+								DPST_BIN_DATA_MASK);
+		} else {
+			drm_err(display->drm, "Histogram bin busy, retyring\n");
+			fsleep(2);
 			return false;
+		}
 	}
 	return true;
 }
@@ -69,8 +115,6 @@ 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);
 	for (retry = 0; retry < HISTOGRAM_BIN_READ_RETRY_COUNT; retry++) {
 		if (intel_histogram_get_data(intel_crtc)) {
 			u32 *data;
@@ -163,15 +207,26 @@ static int intel_histogram_enable(struct intel_crtc *intel_crtc)
 	if (histogram->enable)
 		return 0;
 
-	 /* enable histogram, clear DPST_CTL bin reg func select to TC */
-	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_ENHANCEMENT_MODE_MASK | DPST_CTL_IE_MODI_TABLE_EN,
-		     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
-		     DPST_CTL_HIST_MODE_HSV |
-		     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC |
-		     DPST_CTL_EN_MULTIPLICATIVE | DPST_CTL_IE_MODI_TABLE_EN);
+	 /* enable histogram, clear DPST_BIN reg and select TC function */
+	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_ENHANCEMENT_MODE_MASK |
+			     DPST_CTL_IE_MODI_TABLE_EN,
+			     DPST_CTL_BIN_REG_FUNC_TC | DPST_CTL_IE_HIST_EN |
+			     DPST_CTL_HIST_MODE_HSV |
+			     DPST_CTL_IE_TABLE_VALUE_FORMAT_1INT_9FRAC |
+			     DPST_CTL_EN_MULTIPLICATIVE |
+			     DPST_CTL_IE_MODI_TABLE_EN);
 
 	/* Re-Visit: check if wait for one vblank is required */
 	drm_crtc_wait_one_vblank(&intel_crtc->base);
@@ -240,7 +295,6 @@ int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc,
 	struct intel_histogram *histogram = intel_crtc->histogram;
 	struct intel_display *display = to_intel_display(intel_crtc);
 	int pipe = intel_crtc->pipe;
-	int i = 0;
 	struct drm_iet *iet;
 	u32 *data;
 	int ret;
@@ -258,15 +312,15 @@ int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc,
 		return -EINVAL;
 	}
 
-	/* Set DPST_CTL Bin Reg function select to IE & wait for a vblabk */
-	intel_de_rmw(display, DPST_CTL(pipe),
-		     DPST_CTL_BIN_REG_FUNC_SEL, DPST_CTL_BIN_REG_FUNC_IE);
 
-	drm_crtc_wait_one_vblank(&intel_crtc->base);
+	if (DISPLAY_VER(display) < 20) {
+		/* Set DPST_CTL Bin Reg function select to IE & wait for a vblabk */
+		intel_de_rmw(display, DPST_CTL(pipe),
+			     DPST_CTL_BIN_REG_FUNC_SEL,
+			     DPST_CTL_BIN_REG_FUNC_IE);
+	}
 
-	 /* Set DPST_CTL Bin Register Index to 0 */
-	intel_de_rmw(display, DPST_CTL(pipe),
-		     DPST_CTL_BIN_REG_MASK, DPST_CTL_BIN_REG_CLEAR);
+	set_bin_index_0(display, pipe);
 
 	iet = (struct drm_iet *)blob->data;
 	data = kzalloc(sizeof(data) * iet->nr_elements, GFP_KERNEL);
@@ -277,11 +331,8 @@ int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc,
 	if (ret)
 		return ret;
 
-	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]);
-	}
+	write_iet(display, pipe, data);
+
 	kfree(data);
 	drm_property_blob_put(intel_crtc->base.state->histogram_iet);
 
diff --git a/drivers/gpu/drm/i915/display/intel_histogram_regs.h b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
index 213c9f483567..3fbb9c2deaae 100644
--- a/drivers/gpu/drm/i915/display/intel_histogram_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_histogram_regs.h
@@ -45,6 +45,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(val)				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] 33+ messages in thread

* [PATCHv2 10/10] drm/i915/histogram: Enable pipe dithering
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (8 preceding siblings ...)
  2024-12-09 16:25 ` [PATCH 09/10] drm/i915/histogram: Histogram changes for Display 20+ Arun R Murthy
@ 2024-12-09 16:25 ` Arun R Murthy
  2024-12-10 12:45   ` Kandpal, Suraj
  2024-12-09 16:46 ` ✓ CI.Patch_applied: success for Display Global Histogram (rev6) Patchwork
                   ` (6 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Arun R Murthy @ 2024-12-09 16:25 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 d503d0f0a5ee..545376ae365b 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)
@@ -207,6 +214,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] 33+ messages in thread

* ✓ CI.Patch_applied: success for Display Global Histogram (rev6)
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (9 preceding siblings ...)
  2024-12-09 16:25 ` [PATCHv2 10/10] drm/i915/histogram: Enable pipe dithering Arun R Murthy
@ 2024-12-09 16:46 ` Patchwork
  2024-12-09 16:47 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2024-12-09 16:46 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

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

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 2864e419e05c drm-tip: 2024y-12m-09d-15h-40m-07s UTC integration manifest
=== git am output follows ===
Applying: drm/crtc: Add histogram properties
Applying: drm/crtc: Expose API to create drm crtc property for histogram
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/display: Handle drm-crtc histogram property updates
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] 33+ messages in thread

* ✗ CI.checkpatch: warning for Display Global Histogram (rev6)
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (10 preceding siblings ...)
  2024-12-09 16:46 ` ✓ CI.Patch_applied: success for Display Global Histogram (rev6) Patchwork
@ 2024-12-09 16:47 ` Patchwork
  2024-12-09 16:48 ` ✓ CI.KUnit: success " Patchwork
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2024-12-09 16:47 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev6)
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 a929deb17599f26bc862021cbbed2c641c5aeb55
Author: Arun R Murthy <arun.r.murthy@intel.com>
Date:   Mon Dec 9 21:55:04 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 2864e419e05c29b6780bd41711375d274aa43f06 drm-intel
9cabbfcf9807 drm/crtc: Add histogram properties
-:15: WARNING:TYPO_SPELLING: 'recieving' may be misspelled - perhaps 'receiving'?
#15: 
An event HISTOGRAM will be sent to the user. User upon recieving this
                                                       ^^^^^^^^^

total: 0 errors, 1 warnings, 0 checks, 93 lines checked
8a89624b0ebc drm/crtc: Expose API to create drm crtc property for histogram
-:96: WARNING:TYPO_SPELLING: 'recieving' may be misspelled - perhaps 'receiving'?
#96: FILE: drivers/gpu/drm/drm_crtc.c:952:
+ * An event HISTOGRAM will be sent to the user. User upon recieving this
                                                           ^^^^^^^^^

total: 0 errors, 1 warnings, 0 checks, 146 lines checked
f69d100c5b48 drm/i915/histogram: Define registers for histogram
-:15: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

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

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

-:39: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#39: 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)

-:46: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#46: 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)

-:47: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#47: 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)

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

-:57: WARNING:LONG_LINE: line length of 116 exceeds 100 columns
#57: 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)

-:59: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#59: 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
3266845e7979 drm/i915/histogram: Add support for histogram
-:49: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#49: 
new file mode 100644

-:214: WARNING:ALLOC_WITH_MULTIPLY: Prefer kcalloc over kzalloc with multiply
#214: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:161:
+	data = kzalloc(sizeof(data) * iet->nr_elements, GFP_KERNEL);

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

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

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

total: 0 errors, 5 warnings, 0 checks, 254 lines checked
c9d79e080f7d drm/xe: Add histogram support to Xe builds
36df99df566f 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
                                        ^^^^^^^^^

-:77: WARNING:BRACES: braces {} are not necessary for any arm of this statement
#77: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:41:
+		if (!(dpstbin & DPST_BIN_BUSY)) {
[...]
+		} else
[...]

-:79: CHECK:BRACES: Unbalanced braces around else statement
#79: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:43:
+		} else

-:92: WARNING:STATIC_CONST_CHAR_ARRAY: char * array declaration might be better as static const
#92: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:56:
+	char *histogram_event[] = { event, pipe_id, NULL };

-:114: CHECK:ALLOC_SIZEOF_STRUCT: Prefer kzalloc(sizeof(*hist)...) over kzalloc(sizeof(struct drm_histogram)...)
#114: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:78:
+			hist = kzalloc(sizeof(struct drm_histogram), GFP_KERNEL);

-:121: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#121: FILE: drivers/gpu/drm/i915/display/intel_histogram.c:85:
+			drm_property_replace_global_blob(display->drm,
+				&intel_crtc->base.state->histogram_data,

total: 0 errors, 3 warnings, 3 checks, 202 lines checked
ee412db6cf3e drm/i915/display: Handle drm-crtc histogram property updates
-:90: ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#90: FILE: drivers/gpu/drm/i915/display/intel_display.c:6843:
+		if (new_crtc_state->uapi.histogram_enable |=

total: 1 errors, 0 warnings, 0 checks, 85 lines checked
ba601bc44743 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
                                                             ^^^^^^

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

-:62: WARNING:LONG_LINE: line length of 115 exceeds 100 columns
#62: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:20:
+#define  DPST_CTL_GUARDBAND_INTERRUPT_DELAY(val)	REG_FIELD_PREP(DPST_CTL_GUARDBAND_INTERRUPT_DELAY_CNT, val)

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

-:195: WARNING:LONG_LINE: line length of 112 exceeds 100 columns
#195: FILE: drivers/gpu/drm/i915/display/intel_histogram_regs.h:53:
+#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:55:
+#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:59:
+#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:65:
+#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:71:
+#define DPST_IE_INDEX(pipe)				_MMIO_PIPE(pipe, _DPST_IE_INDEX_A, _DPST_IE_INDEX_B)

total: 0 errors, 5 warnings, 1 checks, 183 lines checked
a929deb17599 drm/i915/histogram: Enable pipe dithering



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

* ✓ CI.KUnit: success for Display Global Histogram (rev6)
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (11 preceding siblings ...)
  2024-12-09 16:47 ` ✗ CI.checkpatch: warning " Patchwork
@ 2024-12-09 16:48 ` Patchwork
  2024-12-09 16:57 ` [PATCHv10 00/10] Display Global Histogram Matt Roper
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2024-12-09 16:48 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev6)
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
[16:47:14] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:47:18] 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)
      |      ^~~~~~~~~~~~~~~~~

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

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

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

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

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

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



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

* Re: [PATCHv10 00/10] Display Global Histogram
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (12 preceding siblings ...)
  2024-12-09 16:48 ` ✓ CI.KUnit: success " Patchwork
@ 2024-12-09 16:57 ` Matt Roper
  2024-12-09 17:43   ` Raag Jadav
  2024-12-10  8:43   ` Murthy, Arun R
  2024-12-09 17:06 ` ✓ CI.Build: success for Display Global Histogram (rev6) Patchwork
                   ` (2 subsequent siblings)
  16 siblings, 2 replies; 33+ messages in thread
From: Matt Roper @ 2024-12-09 16:57 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe, intel-gfx, dri-devel

On Mon, Dec 09, 2024 at 09:54:54PM +0530, Arun R Murthy wrote:
> 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
> and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873/diffs?commit_id=270808ca7c8be48513553d95b4a47541f5d40206
> The IGT changes for validating the histogram event and reading the
> histogram is also pushed for review at https://patchwork.freedesktop.org/series/135789/

I think other people have already asked this on previous postings of
these patches, but please don't try to manually hack the version numbers
within a series.  What you just posted has "PATCHv10" on the cover
letter, "PATCHv2" on one patch, "PATCHv3" on three patches, and the rest
are unversioned "PATCH."  The general expectation these days is that
versioning in the subject applies to the series as a whole, not the
individual patches, so this causes a lot of confusion.  Posting like you
did here also wrecks havoc on a lot of the tools people use to manage
and compare series like the "b4" tool.

When generating and sending a new series, you should just do something
like "git format-patch -v10 ..." so that the proper "v10" numbering is
automatically applied to all the patches and we don't wind up with this
strange jumble.


Matt

> 
> Test-with: 20240705091333.328322-1-mohammed.thasleem@intel.com
> 
> Arun R Murthy (10):
>   drm/crtc: Add histogram properties
>   drm/crtc: Expose API to create drm crtc property for histogram
>   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/display: handle drm-crtc histogram property updates
>   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/drm_atomic_state_helper.c     |   6 +
>  drivers/gpu/drm/drm_atomic_uapi.c             |  17 +
>  drivers/gpu/drm/drm_crtc.c                    |  30 ++
>  drivers/gpu/drm/i915/Makefile                 |   1 +
>  drivers/gpu/drm/i915/display/intel_atomic.c   |   1 +
>  drivers/gpu/drm/i915/display/intel_crtc.c     |   7 +
>  drivers/gpu/drm/i915/display/intel_display.c  |  17 +
>  .../gpu/drm/i915/display/intel_display_irq.c  |   6 +-
>  .../drm/i915/display/intel_display_types.h    |   4 +
>  .../gpu/drm/i915/display/intel_histogram.c    | 380 ++++++++++++++++++
>  .../gpu/drm/i915/display/intel_histogram.h    |  40 ++
>  .../drm/i915/display/intel_histogram_regs.h   |  75 ++++
>  drivers/gpu/drm/i915/i915_reg.h               |   5 +-
>  drivers/gpu/drm/xe/Makefile                   |   1 +
>  include/drm/drm_crtc.h                        |  49 +++
>  include/uapi/drm/drm_mode.h                   |  11 +
>  16 files changed, 647 insertions(+), 3 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
> 

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

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

* ✓ CI.Build: success for Display Global Histogram (rev6)
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (13 preceding siblings ...)
  2024-12-09 16:57 ` [PATCHv10 00/10] Display Global Histogram Matt Roper
@ 2024-12-09 17:06 ` Patchwork
  2024-12-09 17:08 ` ✗ CI.Hooks: failure " Patchwork
  2024-12-09 17:10 ` ✗ CI.checksparse: warning " Patchwork
  16 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2024-12-09 17:06 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

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

== Summary ==

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



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

* ✗ CI.Hooks: failure for Display Global Histogram (rev6)
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (14 preceding siblings ...)
  2024-12-09 17:06 ` ✓ CI.Build: success for Display Global Histogram (rev6) Patchwork
@ 2024-12-09 17:08 ` Patchwork
  2024-12-09 17:10 ` ✗ CI.checksparse: warning " Patchwork
  16 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2024-12-09 17:08 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev6)
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
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  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/subcmd-config.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.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
  HOSTCC  scripts/kconfig/menu.o
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-default/build32'
+ cd /workspace/kernel/build64-default/build32
+ /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/fragments/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/fragments/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/fragments/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=m

  GEN     Makefile

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_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] && HAS_IOPORT [=y]
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile

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

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

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



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

* ✗ CI.checksparse: warning for Display Global Histogram (rev6)
  2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
                   ` (15 preceding siblings ...)
  2024-12-09 17:08 ` ✗ CI.Hooks: failure " Patchwork
@ 2024-12-09 17:10 ` Patchwork
  16 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2024-12-09 17:10 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe

== Series Details ==

Series: Display Global Histogram (rev6)
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 2864e419e05c29b6780bd41711375d274aa43f06
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/drm_drv.c:446:6: warning: context imbalance in 'drm_dev_enter' - different lock contexts for basic block
+drivers/gpu/drm/drm_drv.c: note: in included file (through include/linux/notifier.h, arch/x86/include/asm/uprobes.h, include/linux/uprobes.h, include/linux/mm_types.h, include/linux/mmzone.h, include/linux/gfp.h, ...):
+drivers/gpu/drm/i915/display/intel_cdclk.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1960:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/gt/intel_reset.c:1541:12: warning: context imbalance in '_intel_gt_reset_lock' - different lock contexts for basic block
+drivers/gpu/drm/i915/i915_active.c:1081:16: warning: context imbalance in '__i915_active_fence_set' - different lock contexts for basic block
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    expected struct list_head const *list
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    got struct list_head [noderef] __rcu *pos
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/i915/i915_irq.c:451:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:451:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:459:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:459:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:464:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:464:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:464:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:501:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:501:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:509:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:509:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:514:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:514:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:514:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:557:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:557:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:560:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:560:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:564:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:564:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:571:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:571:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:571:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:571:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1920:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1921:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1922:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1923:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1988:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1989:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1990:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2010:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2011:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2012:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_wakeref.c:145:19: warning: context imbalance in 'wakeref_auto_timeout' - unexpected unlock
+drivers/gpu/drm/ttm/ttm_bo.c:1155:31: warning: symbol 'ttm_swap_ops' was not declared. Should it be static?
+drivers/gpu/drm/ttm/ttm_bo_util.c:324:38:    expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:324:38:    got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:324:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:327:38:    expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:327:38:    got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:327:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:330:38:    expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:330:38:    got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:330:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:436:28:    expected void volatile [noderef] __iomem *addr
+drivers/gpu/drm/ttm/ttm_bo_util.c:436:28:    got void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:436:28: warning: incorrect type in argument 1 (different address spaces)
+./include/linux/srcu.h:350:9: warning: context imbalance in 'drm_dev_exit' - unexpected unlock

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



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

* Re: [PATCHv10 00/10] Display Global Histogram
  2024-12-09 16:57 ` [PATCHv10 00/10] Display Global Histogram Matt Roper
@ 2024-12-09 17:43   ` Raag Jadav
  2024-12-09 18:18     ` Matt Roper
  2024-12-10  8:43   ` Murthy, Arun R
  1 sibling, 1 reply; 33+ messages in thread
From: Raag Jadav @ 2024-12-09 17:43 UTC (permalink / raw)
  To: Matt Roper; +Cc: Arun R Murthy, intel-xe, intel-gfx, dri-devel

On Mon, Dec 09, 2024 at 08:57:56AM -0800, Matt Roper wrote:
> On Mon, Dec 09, 2024 at 09:54:54PM +0530, Arun R Murthy wrote:
> > 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
> > and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873/diffs?commit_id=270808ca7c8be48513553d95b4a47541f5d40206
> > The IGT changes for validating the histogram event and reading the
> > histogram is also pushed for review at https://patchwork.freedesktop.org/series/135789/
> 
> I think other people have already asked this on previous postings of
> these patches, but please don't try to manually hack the version numbers
> within a series.  What you just posted has "PATCHv10" on the cover
> letter, "PATCHv2" on one patch, "PATCHv3" on three patches, and the rest
> are unversioned "PATCH."  The general expectation these days is that
> versioning in the subject applies to the series as a whole, not the
> individual patches, so this causes a lot of confusion.  Posting like you
> did here also wrecks havoc on a lot of the tools people use to manage
> and compare series like the "b4" tool.
> 
> When generating and sending a new series, you should just do something
> like "git format-patch -v10 ..." so that the proper "v10" numbering is
> automatically applied to all the patches and we don't wind up with this
> strange jumble.

Isn't that the starting point?

https://kernelnewbies.org/FirstKernelPatch -> "Versioning patchsets"

Raag

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

* Re: [PATCHv10 00/10] Display Global Histogram
  2024-12-09 17:43   ` Raag Jadav
@ 2024-12-09 18:18     ` Matt Roper
  2024-12-09 18:57       ` Raag Jadav
  2024-12-09 20:17       ` Raag Jadav
  0 siblings, 2 replies; 33+ messages in thread
From: Matt Roper @ 2024-12-09 18:18 UTC (permalink / raw)
  To: Raag Jadav; +Cc: Arun R Murthy, intel-xe, intel-gfx, dri-devel

On Mon, Dec 09, 2024 at 07:43:55PM +0200, Raag Jadav wrote:
> On Mon, Dec 09, 2024 at 08:57:56AM -0800, Matt Roper wrote:
> > On Mon, Dec 09, 2024 at 09:54:54PM +0530, Arun R Murthy wrote:
> > > 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
> > > and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873/diffs?commit_id=270808ca7c8be48513553d95b4a47541f5d40206
> > > The IGT changes for validating the histogram event and reading the
> > > histogram is also pushed for review at https://patchwork.freedesktop.org/series/135789/
> > 
> > I think other people have already asked this on previous postings of
> > these patches, but please don't try to manually hack the version numbers
> > within a series.  What you just posted has "PATCHv10" on the cover
> > letter, "PATCHv2" on one patch, "PATCHv3" on three patches, and the rest
> > are unversioned "PATCH."  The general expectation these days is that
> > versioning in the subject applies to the series as a whole, not the
> > individual patches, so this causes a lot of confusion.  Posting like you
> > did here also wrecks havoc on a lot of the tools people use to manage
> > and compare series like the "b4" tool.
> > 
> > When generating and sending a new series, you should just do something
> > like "git format-patch -v10 ..." so that the proper "v10" numbering is
> > automatically applied to all the patches and we don't wind up with this
> > strange jumble.
> 
> Isn't that the starting point?
> 
> https://kernelnewbies.org/FirstKernelPatch -> "Versioning patchsets"

That section is explaining that the descriptive changelogs for updated
series can either be placed in the cover letter or in the individual
patches; I don't see anything about going back and editing the "[PATCH"
prefix of the subject line that was generated.  You generate the new
copy of all the patches (and the cover letter) with one execution of
"git format-patch," so whatever version number is generated should be
consistent and correct as a series-wide version without editing.  Also
note that even though that site suggests using "--subject-prefix" to
specify the version number, these days git's format-patch has a "-v"
option that's a bit more convenient for this purpose since it also
updates the filename of the patches generated and knows how to combine
the version number with other subject prefix rules for projects that use
them (e.g., IGT where patches use [PATCH i-g-t]).

Although sites like the one you linked can help with getting started,
it's worth noting that different kernel subsystems sometimes use
slightly different conventions so it's best to always check how things
are done in the area you're submitting patches to.  For example, unlike
many (most?) parts of the kernel, in the DRM subsystem we generally
prefer to place the per-patch changelogs directly into the commit
message rather than supplying them below the "---" line where they'd be
dropped when the patch is applied (i.e., our DRM convention runs counter
to what's stated earlier on the page you linked).  When in doubt it's
always best to read through other series on the mailing list to get a
sense of how other developers are crafting their series.


Matt

> 
> Raag

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

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

* Re: [PATCHv10 00/10] Display Global Histogram
  2024-12-09 18:18     ` Matt Roper
@ 2024-12-09 18:57       ` Raag Jadav
  2024-12-09 20:17       ` Raag Jadav
  1 sibling, 0 replies; 33+ messages in thread
From: Raag Jadav @ 2024-12-09 18:57 UTC (permalink / raw)
  To: Matt Roper; +Cc: Arun R Murthy, intel-xe, intel-gfx, dri-devel

On Mon, Dec 09, 2024 at 10:18:42AM -0800, Matt Roper wrote:
> On Mon, Dec 09, 2024 at 07:43:55PM +0200, Raag Jadav wrote:
> > On Mon, Dec 09, 2024 at 08:57:56AM -0800, Matt Roper wrote:
> > > On Mon, Dec 09, 2024 at 09:54:54PM +0530, Arun R Murthy wrote:
> > > > 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
> > > > and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873/diffs?commit_id=270808ca7c8be48513553d95b4a47541f5d40206
> > > > The IGT changes for validating the histogram event and reading the
> > > > histogram is also pushed for review at https://patchwork.freedesktop.org/series/135789/
> > > 
> > > I think other people have already asked this on previous postings of
> > > these patches, but please don't try to manually hack the version numbers
> > > within a series.  What you just posted has "PATCHv10" on the cover
> > > letter, "PATCHv2" on one patch, "PATCHv3" on three patches, and the rest
> > > are unversioned "PATCH."  The general expectation these days is that
> > > versioning in the subject applies to the series as a whole, not the
> > > individual patches, so this causes a lot of confusion.  Posting like you
> > > did here also wrecks havoc on a lot of the tools people use to manage
> > > and compare series like the "b4" tool.
> > > 
> > > When generating and sending a new series, you should just do something
> > > like "git format-patch -v10 ..." so that the proper "v10" numbering is
> > > automatically applied to all the patches and we don't wind up with this
> > > strange jumble.
> > 
> > Isn't that the starting point?
> > 
> > https://kernelnewbies.org/FirstKernelPatch -> "Versioning patchsets"
> 
> That section is explaining that the descriptive changelogs for updated
> series can either be placed in the cover letter or in the individual
> patches; I don't see anything about going back and editing the "[PATCH"
> prefix of the subject line that was generated.  You generate the new
> copy of all the patches (and the cover letter) with one execution of
> "git format-patch," so whatever version number is generated should be
> consistent and correct as a series-wide version without editing.  Also
> note that even though that site suggests using "--subject-prefix" to
> specify the version number, these days git's format-patch has a "-v"
> option that's a bit more convenient for this purpose since it also
> updates the filename of the patches generated and knows how to combine
> the version number with other subject prefix rules for projects that use
> them (e.g., IGT where patches use [PATCH i-g-t]).
> 
> Although sites like the one you linked can help with getting started,
> it's worth noting that different kernel subsystems sometimes use
> slightly different conventions so it's best to always check how things
> are done in the area you're submitting patches to.  For example, unlike
> many (most?) parts of the kernel, in the DRM subsystem we generally
> prefer to place the per-patch changelogs directly into the commit
> message rather than supplying them below the "---" line where they'd be
> dropped when the patch is applied (i.e., our DRM convention runs counter
> to what's stated earlier on the page you linked).  When in doubt it's
> always best to read through other series on the mailing list to get a
> sense of how other developers are crafting their series.

Which is why it's always useful to have some documentation up (especially
for the counter ones which are subsystem specific) which can serve as a
good starting point.

Raag

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

* Re: [PATCHv10 00/10] Display Global Histogram
  2024-12-09 18:18     ` Matt Roper
  2024-12-09 18:57       ` Raag Jadav
@ 2024-12-09 20:17       ` Raag Jadav
  1 sibling, 0 replies; 33+ messages in thread
From: Raag Jadav @ 2024-12-09 20:17 UTC (permalink / raw)
  To: Matt Roper; +Cc: Arun R Murthy, intel-xe, intel-gfx, dri-devel

On Mon, Dec 09, 2024 at 10:18:42AM -0800, Matt Roper wrote:
> On Mon, Dec 09, 2024 at 07:43:55PM +0200, Raag Jadav wrote:
> > On Mon, Dec 09, 2024 at 08:57:56AM -0800, Matt Roper wrote:
> > > On Mon, Dec 09, 2024 at 09:54:54PM +0530, Arun R Murthy wrote:
> > > > 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
> > > > and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3873/diffs?commit_id=270808ca7c8be48513553d95b4a47541f5d40206
> > > > The IGT changes for validating the histogram event and reading the
> > > > histogram is also pushed for review at https://patchwork.freedesktop.org/series/135789/
> > > 
> > > I think other people have already asked this on previous postings of
> > > these patches, but please don't try to manually hack the version numbers
> > > within a series.  What you just posted has "PATCHv10" on the cover
> > > letter, "PATCHv2" on one patch, "PATCHv3" on three patches, and the rest
> > > are unversioned "PATCH."  The general expectation these days is that
> > > versioning in the subject applies to the series as a whole, not the
> > > individual patches, so this causes a lot of confusion.  Posting like you
> > > did here also wrecks havoc on a lot of the tools people use to manage
> > > and compare series like the "b4" tool.
> > > 
> > > When generating and sending a new series, you should just do something
> > > like "git format-patch -v10 ..." so that the proper "v10" numbering is
> > > automatically applied to all the patches and we don't wind up with this
> > > strange jumble.
> > 
> > Isn't that the starting point?
> > 
> > https://kernelnewbies.org/FirstKernelPatch -> "Versioning patchsets"
> 
> That section is explaining that the descriptive changelogs for updated
> series can either be placed in the cover letter or in the individual
> patches; I don't see anything about going back and editing the "[PATCH"
> prefix of the subject line that was generated.  You generate the new
> copy of all the patches (and the cover letter) with one execution of
> "git format-patch," so whatever version number is generated should be
> consistent and correct as a series-wide version without editing.

Yes, that's what I meant above (which is explained with an example).

Raag

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

* Re: [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-09 16:24 ` [PATCHv3 01/10] drm/crtc: Add histogram properties Arun R Murthy
@ 2024-12-10  0:26   ` Dmitry Baryshkov
  2024-12-10  8:42     ` Murthy, Arun R
  2024-12-10  0:58   ` Dmitry Baryshkov
  1 sibling, 1 reply; 33+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10  0:26 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe, intel-gfx, dri-devel

On Mon, Dec 09, 2024 at 09:54:55PM +0530, Arun R Murthy wrote:
> Add variables for histogram drm_property, its corrsponding crtc_state
> variables and define the structure pointed by the blob property.
> 
> struct drm_histogram and drm_iet defined in include/uapi/drm/drm_mode.h
> 
> The property HISTOGRAM_ENABLE allows user to enable/disable the
> histogram feature in the hardware. Upon KMD enabling by writing to the
> hardware registers, a histogram is generated. Histogram is composed of
> 'n' bins with each bin being an integer(pixel count).

Is it really a count of pixels that fall into one of the bins?

> An event HISTOGRAM will be sent to the user. User upon recieving this
> event user can read the hardware generated histogram using crtc property

Nit: here and further, it's CRTC, not crtc

> HISTOGRAM_DATA. User can use this histogram data, apply various
> equilization techniques to come up with a pixel factor. This pixel
> factor is an array of integer with 'n+1' elements. This is fed back to
> the KMD by crtc property HISTOGRAM_IET. KMD will write this IET data
> back to the hardware to see the enhancement/equilization done to the
> images on that pipe.
> The crtc property HISTOGRAM_DATA and HISTOGRAM_IET is of type blob.
> 
> For crtc property HISTOGRAM_DATA,
> the blob data pointer will be the address of the struct drm_histogram.
> struct drm_histogram {
> 	u64 data_ptr;
> 	u32 nr_elements;
> }
> Histogram is composed of @nr_elements of bins with each bin being an
> integer value, referred to as pixel_count.
> The element @data_ptr holds the address of histogam.
> Sample:
> Historgram[0] = 2050717
> Historgram[1] = 244619
> Historgram[2] = 173368
> ....
> Historgram[31] = 21631
> 
> For crtc_property HISTOGRAM_IET,
> the blob data pointer will be the address of the struct drm_iet.
> struct drm_iet {
> 	u64 data_ptr;
> 	u32 nr_elements;
> }
> ImageEnhancemenT(IET) is composed of @nr_elements of bins with each bin
> being an integer value, referred to as pixel factor.

What are pixel factors? How are they supposed to be used? You have
specified the format of the data, but one still can not implement
proper HISTOGRAM support for the VKMS.

> The element @data_ptr holds the addess of pixel factor.
> Sample:
> Pixel Factor[0] = 1023
> Pixel Factor[1] = 695
> Pixel Factor[2] = 1023
> ....
> Pixel Factor[32] = 512
> 
> Histogram is the statistics generated with 'n' number of frames on a
> pipe.
> Usually the size of pixel factor is one more than the size of histogram
> data.

What does that mean? What does it mean if this "Usually" isn't being
followed? Previously you've written that it always has n+1 elements.

> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  include/drm/drm_crtc.h      | 51 +++++++++++++++++++++++++++++++++++++
>  include/uapi/drm/drm_mode.h | 24 +++++++++++++++++
>  2 files changed, 75 insertions(+)
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-09 16:24 ` [PATCHv3 01/10] drm/crtc: Add histogram properties Arun R Murthy
  2024-12-10  0:26   ` Dmitry Baryshkov
@ 2024-12-10  0:58   ` Dmitry Baryshkov
  1 sibling, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10  0:58 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-xe, intel-gfx, dri-devel

On Mon, Dec 09, 2024 at 09:54:55PM +0530, Arun R Murthy wrote:
> Add variables for histogram drm_property, its corrsponding crtc_state
> variables and define the structure pointed by the blob property.
> 
> struct drm_histogram and drm_iet defined in include/uapi/drm/drm_mode.h
> 
> The property HISTOGRAM_ENABLE allows user to enable/disable the
> histogram feature in the hardware. Upon KMD enabling by writing to the
> hardware registers, a histogram is generated. Histogram is composed of
> 'n' bins with each bin being an integer(pixel count).
> An event HISTOGRAM will be sent to the user. User upon recieving this
> event user can read the hardware generated histogram using crtc property
> HISTOGRAM_DATA. User can use this histogram data, apply various
> equilization techniques to come up with a pixel factor. This pixel
> factor is an array of integer with 'n+1' elements. This is fed back to
> the KMD by crtc property HISTOGRAM_IET. KMD will write this IET data
> back to the hardware to see the enhancement/equilization done to the
> images on that pipe.
> The crtc property HISTOGRAM_DATA and HISTOGRAM_IET is of type blob.
> 
> For crtc property HISTOGRAM_DATA,
> the blob data pointer will be the address of the struct drm_histogram.
> struct drm_histogram {
> 	u64 data_ptr;
> 	u32 nr_elements;
> }
> Histogram is composed of @nr_elements of bins with each bin being an
> integer value, referred to as pixel_count.
> The element @data_ptr holds the address of histogam.
> Sample:
> Historgram[0] = 2050717
> Historgram[1] = 244619
> Historgram[2] = 173368
> ....
> Historgram[31] = 21631

Further question: it seems that GHE library has hardcoded 32 bins in the
histogram and 33 bins in the IET. Is that also a part of the property
format? Can VKMS implement 2 bins? 64 bins? Will that break the
userspace if VKMS uses 64 bins? (Hint: yes)

I'm asking all these questions, because I can easily foresee developers
wokring on using HISTOGRAM properties to implement support for contrast
enhancement by other vendors. It should be possible to do it in away
that new implementations do not break the existing userspace.  And
ensuring such compatibility is impossible without a proper documentation
on the data format.

> 
> For crtc_property HISTOGRAM_IET,
> the blob data pointer will be the address of the struct drm_iet.
> struct drm_iet {
> 	u64 data_ptr;
> 	u32 nr_elements;
> }
> ImageEnhancemenT(IET) is composed of @nr_elements of bins with each bin
> being an integer value, referred to as pixel factor.
> The element @data_ptr holds the addess of pixel factor.
> Sample:
> Pixel Factor[0] = 1023
> Pixel Factor[1] = 695
> Pixel Factor[2] = 1023
> ....
> Pixel Factor[32] = 512
> 
> Histogram is the statistics generated with 'n' number of frames on a
> pipe.
> Usually the size of pixel factor is one more than the size of histogram
> data.
> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  include/drm/drm_crtc.h      | 51 +++++++++++++++++++++++++++++++++++++
>  include/uapi/drm/drm_mode.h | 24 +++++++++++++++++
>  2 files changed, 75 insertions(+)
> 
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 8b48a1974da3..f0f4a73e2e31 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -274,6 +274,41 @@ struct drm_crtc_state {
>  	 */
>  	struct drm_property_blob *gamma_lut;
>  
> +	/**
> +	 * @histogram_enable:
> +	 *
> +	 * This will be set if histogram needs to be enabled for the CRTC.
> +	 */
> +	bool histogram_enable;
> +
> +	/**
> +	 * @histogram_data:
> +	 *
> +	 * The blob points to the structure drm_histogram.
> +	 * The element data in drm_histogram will hold the pointer to the
> +	 * histogram data generated by the hardware. This histogram data is
> +	 * an array of integer. This integer value is the pixel count of the
> +	 * incoming frames.
> +	 */
> +	struct drm_property_blob *histogram_data;
> +
> +	/**
> +	 * @histogram_iet:
> +	 *
> +	 * The blob points to the struct drm_iet.
> +	 * The element data_ptr in drm_iet will hold the pointer to the
> +	 * image enhancement generated by the algorithm that is to
> +	 * be fed back to the hardware. This IET data is an array of type
> +	 * integer and is referred to as a pixel factor.
> +	 */
> +	struct drm_property_blob *histogram_iet;
> +	/**
> +	 * @histogram_iet_updates:
> +	 *
> +	 * Convey that the image enhanced data has been updated by the user
> +	 */
> +	bool histogram_iet_updated;
> +
>  	/**
>  	 * @target_vblank:
>  	 *
> @@ -1088,6 +1123,22 @@ struct drm_crtc {
>  	 */
>  	struct drm_property *scaling_filter_property;
>  
> +	/**
> +	 * @histogram_enable_property: Optional CRTC property for enabling or
> +	 * disabling global histogram.
> +	 */
> +	struct drm_property *histogram_enable_property;
> +	/**
> +	 * @histogram_data_proeprty: Optional CRTC property for getting the
> +	 * histogram blob data.
> +	 */
> +	struct drm_property *histogram_data_property;
> +	/**
> +	 * @histogram_iet_proeprty: Optional CRTC property for writing the
> +	 * image enhanced blob data
> +	 */
> +	struct drm_property *histogram_iet_property;
> +
>  	/**
>  	 * @state:
>  	 *
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index c082810c08a8..c384ed8452c7 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -1355,6 +1355,30 @@ struct drm_mode_closefb {
>  	__u32 pad;
>  };
>  
> +/**
> + * struct drm_histogram
> + * @data_ptr: pointer to the array of bins which is of type integer. This
> + *	      is the histogram data termed as pixel count.
> + * @nr_elements: number of elements pointed by the data @data_ptr
> + */
> +struct drm_histogram {
> +	__u64 data_ptr;
> +	__u32 nr_elements;
> +};
> +
> +/**
> + * struct drm_iet
> + * @data_ptr: pointer to the array of bins which is of type integer. This
> + *	      is the image enhanced data, termed as pixel factor.
> + * @nr_elements: number of elements pointed by the data @data_ptr
> + * @reserved: reserved for future use
> + */
> +struct drm_iet {
> +	__u64 data_ptr;
> +	__u32 nr_elements;
> +	__u32 reserved;
> +};
> +
>  #if defined(__cplusplus)
>  }
>  #endif
> -- 
> 2.25.1
> 

-- 
With best wishes
Dmitry

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

* RE: [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-10  0:26   ` Dmitry Baryshkov
@ 2024-12-10  8:42     ` Murthy, Arun R
  2024-12-10 12:27       ` Dmitry Baryshkov
  0 siblings, 1 reply; 33+ messages in thread
From: Murthy, Arun R @ 2024-12-10  8:42 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

> On Mon, Dec 09, 2024 at 09:54:55PM +0530, Arun R Murthy wrote:
> > Add variables for histogram drm_property, its corrsponding crtc_state
> > variables and define the structure pointed by the blob property.
> >
> > struct drm_histogram and drm_iet defined in
> > include/uapi/drm/drm_mode.h
> >
> > The property HISTOGRAM_ENABLE allows user to enable/disable the
> > histogram feature in the hardware. Upon KMD enabling by writing to the
> > hardware registers, a histogram is generated. Histogram is composed of
> > 'n' bins with each bin being an integer(pixel count).
> 
> Is it really a count of pixels that fall into one of the bins?
It's the statistics generated for each frame that is sent to the display and the value corresponds to 5 bit pixel depth.

> 
> > An event HISTOGRAM will be sent to the user. User upon recieving this
> > event user can read the hardware generated histogram using crtc
> > property
> 
> Nit: here and further, it's CRTC, not crtc
Ok.

> 
> > HISTOGRAM_DATA. User can use this histogram data, apply various
> > equilization techniques to come up with a pixel factor. This pixel
> > factor is an array of integer with 'n+1' elements. This is fed back to
> > the KMD by crtc property HISTOGRAM_IET. KMD will write this IET data
> > back to the hardware to see the enhancement/equilization done to the
> > images on that pipe.
> > The crtc property HISTOGRAM_DATA and HISTOGRAM_IET is of type blob.
> >
> > For crtc property HISTOGRAM_DATA,
> > the blob data pointer will be the address of the struct drm_histogram.
> > struct drm_histogram {
> > 	u64 data_ptr;
> > 	u32 nr_elements;
> > }
> > Histogram is composed of @nr_elements of bins with each bin being an
> > integer value, referred to as pixel_count.
> > The element @data_ptr holds the address of histogam.
> > Sample:
> > Historgram[0] = 2050717
> > Historgram[1] = 244619
> > Historgram[2] = 173368
> > ....
> > Historgram[31] = 21631
> >
> > For crtc_property HISTOGRAM_IET,
> > the blob data pointer will be the address of the struct drm_iet.
> > struct drm_iet {
> > 	u64 data_ptr;
> > 	u32 nr_elements;
> > }
> > ImageEnhancemenT(IET) is composed of @nr_elements of bins with each
> > bin being an integer value, referred to as pixel factor.
> 
> What are pixel factors? How are they supposed to be used? You have specified
> the format of the data, but one still can not implement proper HISTOGRAM
> support for the VKMS.
>
This pixel factor is a value that can be multiplied/appended/prepended to the pixels of the incoming image on that pipe thereby enhancing the image quality.
 
> > The element @data_ptr holds the addess of pixel factor.
> > Sample:
> > Pixel Factor[0] = 1023
> > Pixel Factor[1] = 695
> > Pixel Factor[2] = 1023
> > ....
> > Pixel Factor[32] = 512
> >
> > Histogram is the statistics generated with 'n' number of frames on a
> > pipe.
> > Usually the size of pixel factor is one more than the size of
> > histogram data.
> 
> What does that mean? What does it mean if this "Usually" isn't being followed?
> Previously you've written that it always has n+1 elements.
> 
In Intel platform its 'n' for histogram and 'n+1' for IET. Can vary with other vendors supporting this feature.
Hence have a variable(nr_elements) to convey this.

Thanks and Regards,
Arun R Murthy
--------------------
> >
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> >  include/drm/drm_crtc.h      | 51
> +++++++++++++++++++++++++++++++++++++
> >  include/uapi/drm/drm_mode.h | 24 +++++++++++++++++
> >  2 files changed, 75 insertions(+)
> >
> 
> --
> With best wishes
> Dmitry

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

* RE: [PATCHv10 00/10] Display Global Histogram
  2024-12-09 16:57 ` [PATCHv10 00/10] Display Global Histogram Matt Roper
  2024-12-09 17:43   ` Raag Jadav
@ 2024-12-10  8:43   ` Murthy, Arun R
  1 sibling, 0 replies; 33+ messages in thread
From: Murthy, Arun R @ 2024-12-10  8:43 UTC (permalink / raw)
  To: Roper, Matthew D
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

> On Mon, Dec 09, 2024 at 09:54:54PM +0530, Arun R Murthy wrote:
> > 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
> > and
> > https://gitlab.gnome.org/GNOME/mutter/-
> /merge_requests/3873/diffs?comm
> > it_id=270808ca7c8be48513553d95b4a47541f5d40206
> > The IGT changes for validating the histogram event and reading the
> > histogram is also pushed for review at
> > https://patchwork.freedesktop.org/series/135789/
> 
> I think other people have already asked this on previous postings of these
> patches, but please don't try to manually hack the version numbers within a
> series.  What you just posted has "PATCHv10" on the cover letter, "PATCHv2" on
> one patch, "PATCHv3" on three patches, and the rest are unversioned "PATCH."
> The general expectation these days is that versioning in the subject applies to
> the series as a whole, not the individual patches, so this causes a lot of
> confusion.  Posting like you did here also wrecks havoc on a lot of the tools
> people use to manage and compare series like the "b4" tool.
> 
> When generating and sending a new series, you should just do something like
> "git format-patch -v10 ..." so that the proper "v10" numbering is automatically
> applied to all the patches and we don't wind up with this strange jumble.
> 
> 
Will use b4 in future.

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

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

* Re: [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-10  8:42     ` Murthy, Arun R
@ 2024-12-10 12:27       ` Dmitry Baryshkov
  2024-12-10 17:52         ` Murthy, Arun R
  0 siblings, 1 reply; 33+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10 12:27 UTC (permalink / raw)
  To: Murthy, Arun R
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

On Tue, Dec 10, 2024 at 08:42:36AM +0000, Murthy, Arun R wrote:
> > On Mon, Dec 09, 2024 at 09:54:55PM +0530, Arun R Murthy wrote:
> > > Add variables for histogram drm_property, its corrsponding crtc_state
> > > variables and define the structure pointed by the blob property.
> > >
> > > struct drm_histogram and drm_iet defined in
> > > include/uapi/drm/drm_mode.h
> > >
> > > The property HISTOGRAM_ENABLE allows user to enable/disable the
> > > histogram feature in the hardware. Upon KMD enabling by writing to the
> > > hardware registers, a histogram is generated. Histogram is composed of
> > > 'n' bins with each bin being an integer(pixel count).
> > 
> > Is it really a count of pixels that fall into one of the bins?
> It's the statistics generated for each frame that is sent to the display and the value corresponds to 5 bit pixel depth.

Let me try it once more, but this is becoming tiresome. Please provide a
description of the property good enough so that one can implement
HISTOGRAM support for the VKMS driver. You don't have to provide
Intel-specific details, but the description should be complete enough.
"The number of pixels falling into each of the bins, sorted by
luminosity, started from the brighest ones" might be an example of a
good enough desription. Then one can add such functionality to other
drivers. Just saying "statistics" doesn't give us anything.

> 
> > 
> > > An event HISTOGRAM will be sent to the user. User upon recieving this
> > > event user can read the hardware generated histogram using crtc
> > > property
> > 
> > Nit: here and further, it's CRTC, not crtc
> Ok.
> 
> > 
> > > HISTOGRAM_DATA. User can use this histogram data, apply various
> > > equilization techniques to come up with a pixel factor. This pixel
> > > factor is an array of integer with 'n+1' elements. This is fed back to
> > > the KMD by crtc property HISTOGRAM_IET. KMD will write this IET data
> > > back to the hardware to see the enhancement/equilization done to the
> > > images on that pipe.
> > > The crtc property HISTOGRAM_DATA and HISTOGRAM_IET is of type blob.
> > >
> > > For crtc property HISTOGRAM_DATA,
> > > the blob data pointer will be the address of the struct drm_histogram.
> > > struct drm_histogram {
> > > 	u64 data_ptr;
> > > 	u32 nr_elements;
> > > }
> > > Histogram is composed of @nr_elements of bins with each bin being an
> > > integer value, referred to as pixel_count.
> > > The element @data_ptr holds the address of histogam.
> > > Sample:
> > > Historgram[0] = 2050717
> > > Historgram[1] = 244619
> > > Historgram[2] = 173368
> > > ....
> > > Historgram[31] = 21631
> > >
> > > For crtc_property HISTOGRAM_IET,
> > > the blob data pointer will be the address of the struct drm_iet.
> > > struct drm_iet {
> > > 	u64 data_ptr;
> > > 	u32 nr_elements;
> > > }
> > > ImageEnhancemenT(IET) is composed of @nr_elements of bins with each
> > > bin being an integer value, referred to as pixel factor.
> > 
> > What are pixel factors? How are they supposed to be used? You have specified
> > the format of the data, but one still can not implement proper HISTOGRAM
> > support for the VKMS.
> >
> This pixel factor is a value that can be multiplied/appended/prepended to the pixels of the incoming image on that pipe thereby enhancing the image quality.

So, mupliplied, appended, prepended or something else? Please provide a
usable description of the data.

>  
> > > The element @data_ptr holds the addess of pixel factor.
> > > Sample:
> > > Pixel Factor[0] = 1023
> > > Pixel Factor[1] = 695
> > > Pixel Factor[2] = 1023
> > > ....
> > > Pixel Factor[32] = 512
> > >
> > > Histogram is the statistics generated with 'n' number of frames on a
> > > pipe.
> > > Usually the size of pixel factor is one more than the size of
> > > histogram data.
> > 
> > What does that mean? What does it mean if this "Usually" isn't being followed?
> > Previously you've written that it always has n+1 elements.
> > 
> In Intel platform its 'n' for histogram and 'n+1' for IET. Can vary with other vendors supporting this feature.
> Hence have a variable(nr_elements) to convey this.

You are defining generic userspace interface. It has nothing about
"Intel" in it.

> 
> Thanks and Regards,
> Arun R Murthy
> --------------------
> > >
> > > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > > ---
> > >  include/drm/drm_crtc.h      | 51
> > +++++++++++++++++++++++++++++++++++++
> > >  include/uapi/drm/drm_mode.h | 24 +++++++++++++++++
> > >  2 files changed, 75 insertions(+)
> > >
> > 
> > --
> > With best wishes
> > Dmitry

-- 
With best wishes
Dmitry

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

* RE: [PATCHv2 10/10] drm/i915/histogram: Enable pipe dithering
  2024-12-09 16:25 ` [PATCHv2 10/10] drm/i915/histogram: Enable pipe dithering Arun R Murthy
@ 2024-12-10 12:45   ` Kandpal, Suraj
  0 siblings, 0 replies; 33+ messages in thread
From: Kandpal, Suraj @ 2024-12-10 12:45 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: Monday, December 9, 2024 9:55 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 10/10] drm/i915/histogram: Enable pipe dithering
> 
> Enable pipe dithering while enabling histogram to overcome some atrifacts
> seen on the screen.

The commit message here should add color processing in histogram creates color banding and dithering helps avoid that.

Other LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> 
> 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 d503d0f0a5ee..545376ae365b 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)
> @@ -207,6 +214,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	[flat|nested] 33+ messages in thread

* RE: [PATCHv3 07/10] drm/i915/display: Handle drm-crtc histogram property updates
  2024-12-09 16:25 ` [PATCHv3 07/10] drm/i915/display: Handle drm-crtc histogram property updates Arun R Murthy
@ 2024-12-10 12:48   ` Kandpal, Suraj
  0 siblings, 0 replies; 33+ messages in thread
From: Kandpal, Suraj @ 2024-12-10 12:48 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: Monday, December 9, 2024 9:55 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: [PATCHv3 07/10] drm/i915/display: Handle drm-crtc histogram
> property updates
> 
> Check for any updates on drm_crtc property histogram_enable and
> histogram_iet_updated and call/act accordingly to update histogram or
> update the image enhancement LUT data API defined in i915 histogram.
> 

LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_atomic.c     |  1 +
>  drivers/gpu/drm/i915/display/intel_crtc.c       |  7 +++++++
>  drivers/gpu/drm/i915/display/intel_display.c    | 17 +++++++++++++++++
>  .../gpu/drm/i915/display/intel_display_types.h  |  2 ++
>  4 files changed, 27 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c
> b/drivers/gpu/drm/i915/display/intel_atomic.c
> index 03dc54c802d3..dff130b3565a 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic.c
> @@ -278,6 +278,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_updated = false;
> 
>  	return &crtc_state->uapi;
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> b/drivers/gpu/drm/i915/display/intel_crtc.c
> index a2c528d707f4..0c8741ca9a71 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -27,6 +27,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 +211,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);
>  }
> 
> @@ -380,10 +382,15 @@ int intel_crtc_init(struct drm_i915_private
> *dev_priv, enum pipe pipe)
> 
> 	BIT(DRM_SCALING_FILTER_DEFAULT) |
> 
> 	BIT(DRM_SCALING_FILTER_NEAREST_NEIGHBOR));
> 
> +	if (drm_crtc_create_histogram_property(&crtc->base))
> +		drm_err(&dev_priv->drm, "Failed to initialize histogram
> +properties\n");
> +
>  	intel_color_crtc_init(crtc);
>  	intel_drrs_crtc_init(crtc);
>  	intel_crtc_crc_init(crtc);
> 
> +	intel_histogram_init(crtc);
> +
>  	cpu_latency_qos_add_request(&crtc->vblank_pm_qos,
> PM_QOS_DEFAULT_VALUE);
> 
>  	drm_WARN_ON(&dev_priv->drm, drm_crtc_index(&crtc->base) !=
> crtc->pipe); diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 35c8904ecf44..fb393e5a4c84 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"
> @@ -4612,6 +4613,12 @@ static int intel_crtc_atomic_check(struct
> intel_atomic_state *state,
>  	if (ret)
>  		return ret;
> 
> +	if (crtc_state->histogram_updated) {
> +		ret = intel_histogram_atomic_check(crtc);
> +		if (ret)
> +			return ret;
> +	}
> +
>  	return 0;
>  }
> 
> @@ -6832,6 +6839,10 @@ 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;
> +
> +		if (new_crtc_state->uapi.histogram_enable |=
> +		    old_crtc_state->uapi.histogram_enable)
> +			new_crtc_state->histogram_updated = true;
>  	}
> 
>  	intel_vrr_check_modeset(state);
> @@ -7900,6 +7911,12 @@ 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);
> +
> +		if (new_crtc_state->histogram_updated)
> +			intel_histogram_update(crtc, crtc->base.state-
> >histogram_enable);
> +		if (new_crtc_state->uapi.histogram_iet_updated)
> +			intel_histogram_set_iet_lut(crtc,
> +						    new_crtc_state-
> >uapi.histogram_iet);
>  	}
> 
>  	/* 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 0f50081b9957..15f4bd3ccc62 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1317,6 +1317,8 @@ struct intel_crtc_state {
> 
>  	/* LOBF flag */
>  	bool has_lobf;
> +
> +	bool histogram_updated;
>  };
> 
>  enum intel_pipe_crc_source {
> --
> 2.25.1


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

* RE: [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-10 12:27       ` Dmitry Baryshkov
@ 2024-12-10 17:52         ` Murthy, Arun R
  2024-12-13 10:51           ` Dmitry Baryshkov
  0 siblings, 1 reply; 33+ messages in thread
From: Murthy, Arun R @ 2024-12-10 17:52 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

> On Tue, Dec 10, 2024 at 08:42:36AM +0000, Murthy, Arun R wrote:
> > > On Mon, Dec 09, 2024 at 09:54:55PM +0530, Arun R Murthy wrote:
> > > > Add variables for histogram drm_property, its corrsponding
> > > > crtc_state variables and define the structure pointed by the blob property.
> > > >
> > > > struct drm_histogram and drm_iet defined in
> > > > include/uapi/drm/drm_mode.h
> > > >
> > > > The property HISTOGRAM_ENABLE allows user to enable/disable the
> > > > histogram feature in the hardware. Upon KMD enabling by writing to
> > > > the hardware registers, a histogram is generated. Histogram is
> > > > composed of 'n' bins with each bin being an integer(pixel count).
> > >
> > > Is it really a count of pixels that fall into one of the bins?
> > It's the statistics generated for each frame that is sent to the display and the
> value corresponds to 5 bit pixel depth.
> 
> Let me try it once more, but this is becoming tiresome. Please provide a
> description of the property good enough so that one can implement
> HISTOGRAM support for the VKMS driver. You don't have to provide Intel-
> specific details, but the description should be complete enough.
> "The number of pixels falling into each of the bins, sorted by luminosity, started
> from the brighest ones" might be an example of a good enough desription.
> Then one can add such functionality to other drivers. Just saying "statistics"
> doesn't give us anything.
> 
This is a hardware feature and hence for other drivers to add support for this
means that the hardware should have support for this.
Each bin consists of 5 bit pixel depth.
Example code of how to use this histogram and increase the contrast is GHE.

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

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

* Re: [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-10 17:52         ` Murthy, Arun R
@ 2024-12-13 10:51           ` Dmitry Baryshkov
  2025-01-06  6:05             ` Murthy, Arun R
  0 siblings, 1 reply; 33+ messages in thread
From: Dmitry Baryshkov @ 2024-12-13 10:51 UTC (permalink / raw)
  To: Murthy, Arun R
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

On Tue, Dec 10, 2024 at 05:52:38PM +0000, Murthy, Arun R wrote:
> > On Tue, Dec 10, 2024 at 08:42:36AM +0000, Murthy, Arun R wrote:
> > > > On Mon, Dec 09, 2024 at 09:54:55PM +0530, Arun R Murthy wrote:
> > > > > Add variables for histogram drm_property, its corrsponding
> > > > > crtc_state variables and define the structure pointed by the blob property.
> > > > >
> > > > > struct drm_histogram and drm_iet defined in
> > > > > include/uapi/drm/drm_mode.h
> > > > >
> > > > > The property HISTOGRAM_ENABLE allows user to enable/disable the
> > > > > histogram feature in the hardware. Upon KMD enabling by writing to
> > > > > the hardware registers, a histogram is generated. Histogram is
> > > > > composed of 'n' bins with each bin being an integer(pixel count).
> > > >
> > > > Is it really a count of pixels that fall into one of the bins?
> > > It's the statistics generated for each frame that is sent to the display and the
> > value corresponds to 5 bit pixel depth.
> > 
> > Let me try it once more, but this is becoming tiresome. Please provide a
> > description of the property good enough so that one can implement
> > HISTOGRAM support for the VKMS driver. You don't have to provide Intel-
> > specific details, but the description should be complete enough.
> > "The number of pixels falling into each of the bins, sorted by luminosity, started
> > from the brighest ones" might be an example of a good enough desription.
> > Then one can add such functionality to other drivers. Just saying "statistics"
> > doesn't give us anything.
> > 
> This is a hardware feature and hence for other drivers to add support for this
> means that the hardware should have support for this.

OpenGL, OpenGL ES, Vulkan and other libraries also define software
interface for hardware features. However they define it in a way that
allows at least software implementation. I'm not arguing about the
particular feature or its implementation. I'm not asking for the
_hardware_ description or any other kind hardware-related information.
But I really want to see a good documentation for the userspace
interface that will allows other vendors to implement it in their
drivers (including my example, VKMS). Up to now I have not seen a
definition of properties that fits this criteria.

> Each bin consists of 5 bit pixel depth.
> Example code of how to use this histogram and increase the contrast is GHE.

Yes, I have taken a look. No, it's not a replacement for the
documentation.

I'm really sorry to write that, but until the documentation issue is
resolved, please consider this patch to be:

Nacked-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

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

-- 
With best wishes
Dmitry

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

* RE: [PATCHv3 01/10] drm/crtc: Add histogram properties
  2024-12-13 10:51           ` Dmitry Baryshkov
@ 2025-01-06  6:05             ` Murthy, Arun R
  0 siblings, 0 replies; 33+ messages in thread
From: Murthy, Arun R @ 2025-01-06  6:05 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org

> On Tue, Dec 10, 2024 at 05:52:38PM +0000, Murthy, Arun R wrote:
> > > On Tue, Dec 10, 2024 at 08:42:36AM +0000, Murthy, Arun R wrote:
> > > > > On Mon, Dec 09, 2024 at 09:54:55PM +0530, Arun R Murthy wrote:
> > > > > > Add variables for histogram drm_property, its corrsponding
> > > > > > crtc_state variables and define the structure pointed by the blob
> property.
> > > > > >
> > > > > > struct drm_histogram and drm_iet defined in
> > > > > > include/uapi/drm/drm_mode.h
> > > > > >
> > > > > > The property HISTOGRAM_ENABLE allows user to enable/disable
> > > > > > the histogram feature in the hardware. Upon KMD enabling by
> > > > > > writing to the hardware registers, a histogram is generated.
> > > > > > Histogram is composed of 'n' bins with each bin being an integer(pixel
> count).
> > > > >
> > > > > Is it really a count of pixels that fall into one of the bins?
> > > > It's the statistics generated for each frame that is sent to the
> > > > display and the
> > > value corresponds to 5 bit pixel depth.
> > >
> > > Let me try it once more, but this is becoming tiresome. Please
> > > provide a description of the property good enough so that one can
> > > implement HISTOGRAM support for the VKMS driver. You don't have to
> > > provide Intel- specific details, but the description should be complete
> enough.
> > > "The number of pixels falling into each of the bins, sorted by
> > > luminosity, started from the brighest ones" might be an example of a good
> enough desription.
> > > Then one can add such functionality to other drivers. Just saying "statistics"
> > > doesn't give us anything.
> > >
> > This is a hardware feature and hence for other drivers to add support
> > for this means that the hardware should have support for this.
> 
> OpenGL, OpenGL ES, Vulkan and other libraries also define software interface
> for hardware features. However they define it in a way that allows at least
> software implementation. I'm not arguing about the particular feature or its
> implementation. I'm not asking for the _hardware_ description or any other
> kind hardware-related information.
> But I really want to see a good documentation for the userspace interface that
> will allows other vendors to implement it in their drivers (including my
> example, VKMS). Up to now I have not seen a definition of properties that fits
> this criteria.
> 
> > Each bin consists of 5 bit pixel depth.
> > Example code of how to use this histogram and increase the contrast is GHE.
> 
> Yes, I have taken a look. No, it's not a replacement for the documentation.
> 
> I'm really sorry to write that, but until the documentation issue is resolved,
> please consider this patch to be:
> 
> Nacked-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> 
Hi Dmitry,

I have pushed a new version of the DPST core patches that includes drm-core
changes and the documentation for the new uapi and the blob structures
exposed to the user.
Please let me know for any further documentation to be added?
New patch pushed @ https://patchwork.freedesktop.org/series/135793/

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

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

end of thread, other threads:[~2025-01-06  6:05 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-09 16:24 [PATCHv10 00/10] Display Global Histogram Arun R Murthy
2024-12-09 16:24 ` [PATCHv3 01/10] drm/crtc: Add histogram properties Arun R Murthy
2024-12-10  0:26   ` Dmitry Baryshkov
2024-12-10  8:42     ` Murthy, Arun R
2024-12-10 12:27       ` Dmitry Baryshkov
2024-12-10 17:52         ` Murthy, Arun R
2024-12-13 10:51           ` Dmitry Baryshkov
2025-01-06  6:05             ` Murthy, Arun R
2024-12-10  0:58   ` Dmitry Baryshkov
2024-12-09 16:24 ` [PATCHv3 02/10] drm/crtc: Expose API to create drm crtc property for histogram Arun R Murthy
2024-12-09 16:24 ` [PATCH 03/10] drm/i915/histogram: Define registers " Arun R Murthy
2024-12-09 16:24 ` [PATCH 04/10] drm/i915/histogram: Add support " Arun R Murthy
2024-12-09 16:24 ` [PATCH 05/10] drm/xe: Add histogram support to Xe builds Arun R Murthy
2024-12-09 16:25 ` [PATCH 06/10] drm/i915/histogram: histogram interrupt handling Arun R Murthy
2024-12-09 16:25 ` [PATCHv3 07/10] drm/i915/display: Handle drm-crtc histogram property updates Arun R Murthy
2024-12-10 12:48   ` Kandpal, Suraj
2024-12-09 16:25 ` [PATCH 08/10] drm/i915/histogram: histogram delay counter doesnt reset Arun R Murthy
2024-12-09 16:25 ` [PATCH 09/10] drm/i915/histogram: Histogram changes for Display 20+ Arun R Murthy
2024-12-09 16:25 ` [PATCHv2 10/10] drm/i915/histogram: Enable pipe dithering Arun R Murthy
2024-12-10 12:45   ` Kandpal, Suraj
2024-12-09 16:46 ` ✓ CI.Patch_applied: success for Display Global Histogram (rev6) Patchwork
2024-12-09 16:47 ` ✗ CI.checkpatch: warning " Patchwork
2024-12-09 16:48 ` ✓ CI.KUnit: success " Patchwork
2024-12-09 16:57 ` [PATCHv10 00/10] Display Global Histogram Matt Roper
2024-12-09 17:43   ` Raag Jadav
2024-12-09 18:18     ` Matt Roper
2024-12-09 18:57       ` Raag Jadav
2024-12-09 20:17       ` Raag Jadav
2024-12-10  8:43   ` Murthy, Arun R
2024-12-09 17:06 ` ✓ CI.Build: success for Display Global Histogram (rev6) Patchwork
2024-12-09 17:08 ` ✗ CI.Hooks: failure " Patchwork
2024-12-09 17:10 ` ✗ CI.checksparse: warning " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-12-03  5:55 [PATCHv9 00/10] Display Global Histogram Arun R Murthy
2024-12-03  5:55 ` [PATCH 05/10] drm/xe: Add histogram support to Xe builds 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