* [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log
@ 2025-04-10 15:58 Zhanjun Dong
2025-04-10 15:58 ` [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions Zhanjun Dong
` (11 more replies)
0 siblings, 12 replies; 26+ messages in thread
From: Zhanjun Dong @ 2025-04-10 15:58 UTC (permalink / raw)
To: intel-xe; +Cc: Zhanjun Dong
Add new debugfs entry "guc_log_lfd", which supports output guc log
in LFD(Log Format Descriptors) format.
Add GuC crash dump data empty check. LFD will only include crash dump
section when data is not empty.
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
Changes in v3:
Split ABI header, debugfs and GuC code out as seperate patch
Remove bit fields in structure define, changed to GENMASK
Remove crash_dumped flag, changed to dump data empty check
Changes in v2:
Split GuC init config abi defines out from LFD abi header file
Split crash dump detect as seperate patch
Add size check for LFD functions
Make abi header comments kernel-doc style
Zhanjun Dong (4):
drm/xe/guc: Add LFD related abi definitions
drm/xe/guc: Add new debugfs entry for lfd format output
drm/xe/guc: Add GuC log LFD format support
drm/xe/guc: Only add GuC crash dump if available
drivers/gpu/drm/xe/abi/guc_log_abi.h | 116 +++++++
drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h | 265 +++++++++++++++
drivers/gpu/drm/xe/xe_guc_debugfs.c | 14 +
drivers/gpu/drm/xe/xe_guc_log.c | 409 +++++++++++++++++++++++
drivers/gpu/drm/xe/xe_guc_log.h | 1 +
5 files changed, 805 insertions(+)
create mode 100644 drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
--
2.34.1
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
@ 2025-04-10 15:58 ` Zhanjun Dong
2025-04-10 17:50 ` Cavitt, Jonathan
2025-04-11 15:28 ` Michal Wajdeczko
2025-04-10 15:58 ` [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output Zhanjun Dong
` (10 subsequent siblings)
11 siblings, 2 replies; 26+ messages in thread
From: Zhanjun Dong @ 2025-04-10 15:58 UTC (permalink / raw)
To: intel-xe; +Cc: Zhanjun Dong
Add GuC LFD(Log Format Descriptors) related ABI definition.
Add GuC log init config(LIC) ABI definition.
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
---
drivers/gpu/drm/xe/abi/guc_log_abi.h | 116 ++++++++++
drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h | 265 +++++++++++++++++++++++
2 files changed, 381 insertions(+)
create mode 100644 drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h
index 554630b7ccd9..0b0c5631da93 100644
--- a/drivers/gpu/drm/xe/abi/guc_log_abi.h
+++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h
@@ -17,6 +17,122 @@ enum guc_log_buffer_type {
#define GUC_LOG_BUFFER_TYPE_MAX 3
+#define GUC_LOG_BUFFER_STATE_HEADER_LENGTH 4096
+#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG 0
+#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH 1
+#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CAPTURE 2
+#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT 3
+#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT 4
+
+#define GUC_LOG_INIT_CONFIG_LIC_MAGIC 0x8086900D
+#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR 0x0001
+#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR 0x0000
+
+/** Log Init Config KLV IDs. */
+enum guc_log_lic_type_t {
+ /**
+ * GuC firmware version. Value is a 32 bit number represented by
+ * guc_sw_version_t.
+ */
+ GUC_LOG_LIC_TYPE_GUC_SW_VERSION = 0x1,
+ /**
+ * GuC device id. Value is a 32 bit. Refer BSpec symbol
+ * GUC_DEVICEID
+ */
+ GUC_LOG_LIC_TYPE_GUC_DEVICE_ID = 0x2,
+ /**
+ * GuC timestamp counter frequency. Value is a 32 bit number
+ * representing frequency in kilohertz. This timestamp is utilized
+ * in log entries, timer and for engine utilization tracking.
+ */
+ GUC_LOG_LIC_TYPE_TSC_FREQUENCY = 0x3,
+ /**
+ * HW GMD ID. Value is a 32 bit number representing graphics,
+ * media and display HW architecture IDs.
+ */
+ GUC_LOG_LIC_TYPE_GMD_ID = 0x4,
+ /** GuC build platform ID. Value is 32 bits. */
+ GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID = 0x5,
+};
+
+#define GUC_LOG_LIC_TYPE_FIRST (GUC_LOG_LIC_TYPE_GUC_SW_VERSION)
+#define GUC_LOG_LIC_TYPE_LAST (GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID + 1)
+
+/** struct guc_klv_generic_t - KLV with multiple DWs in an array */
+struct guc_klv_generic_t {
+ /** @length: Length in Dwords of data. */
+ u16 length;
+ /** @key: Key value */
+ u16 key;
+ /** @value: Value for this key */
+ u32 value[] __counted_by(length);
+} __packed;
+
+/**
+ * struct guc_sw_version_t - This structure describes the full version of
+ * a software component.
+ */
+struct guc_sw_version_t {
+ /** @dw0: A 32 bits dword, contains multiple bit fields */
+ u32 dw0;
+ /* BR[7:0] Patch version */
+ #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
+ /* BR[15:8] Minor version */
+ #define GUC_SW_VERSION_T_MINOR_VERSION GENMASK(15, 8)
+ /* BR[23:16] Major version */
+ #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
+ /* BR[31:24] Branch ID */
+ #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
+} __packed;
+
+/**
+ * struct guc_lic_format_version_t - Log Init Config Structure Version.
+ * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
+ * than 1.12)
+ */
+struct guc_lic_format_version_t {
+ /** @dw0: A 32 bits dword, contains multiple bit fields */
+ u32 dw0;
+ /*
+ * BR[15:0] Log-Init-Config structure minor version. Must be
+ * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR
+ */
+ #define GUC_LIC_FORMAT_VERSION_T_MINOR_VERSION GENMASK(15, 0)
+ /*
+ * BR[31:16] Log-Init-Config structure major version. Must be
+ * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR
+ */
+ #define GUC_LIC_FORMAT_VERSION_T_MAJOR_VERSION GENMASK(31, 16)
+} __packed;
+
+/**
+ * struct guc_log_init_config_t - GuC Log-Init-Config structure.
+ * This is populated by the GUC at log init time and is located in the log
+ * buffer as per the Log Buffer Layout (In Memory). The array of guc log
+ * buffer states plus this structure must not exceed 4KB
+ */
+struct guc_log_init_config_t {
+ /**
+ * @lic_magic: A magic number set by GuC to identify that this
+ * structure contains valid information: lic_magic = 0x8086900D.
+ * Used to verify the information in this structure is valid.
+ */
+ u32 lic_magic;
+ /**
+ * @lic_ver: The version of the this structure. Detail description
+ * is guc_lic_format_version_t
+ */
+ struct guc_lic_format_version_t lic_ver;
+ /** @lic_dw_size: Number of Dws the `lic_data` array contains. */
+ u32 lic_dw_size;
+ /**
+ * @lic_data: Array of dwords representing a list of LIC KLVs of
+ * type guc_klv_generic_t with keys represented by
+ * guc_log_lic_type_t
+ */
+ u32 lic_data[] __counted_by(desc_dw_size);
+} __packed;
+
/**
* struct guc_log_buffer_state - GuC log buffer state
*
diff --git a/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
new file mode 100644
index 000000000000..b4002f099fd5
--- /dev/null
+++ b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
@@ -0,0 +1,265 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef _ABI_GUC_LOG_LFD_ABI_H_
+#define _ABI_GUC_LOG_LFD_ABI_H_
+
+#include <linux/types.h>
+
+#include "abi/guc_log_abi.h"
+
+/* Magic keys define */
+#define LFD_DRIVER_KEY_STREAMING 0x8086AAAA474C5346
+#define LFD_LOG_BUFFER_MARKER_2 0xDEADFEED
+#define LFD_CRASH_DUMP_BUFFER_MARKER_2 0x8086DEAD
+#define LFD_STATE_CAPTURE_BUFFER_MARKER_2 0xBEEFFEED
+#define LFD_LOG_BUFFER_MARKER_1V2 0xCABBA9E6
+#define LFD_STATE_CAPTURE_BUFFER_MARKER_1V2 0xCABBA9F7
+
+#define GUC_LOGFILE_LFD_MAGIC upper_16_bits(LFD_CRASH_DUMP_BUFFER_MARKER_2)
+
+/** The current major version of GuC-Log-File format. */
+#define GUC_LOG_FILE_FORMAT_VERSION_MAJOR 0x0001
+/** The current minor version of GuC-Log-File format. */
+#define GUC_LOG_FILE_FORMAT_VERSION_MINOR 0x0000
+
+/** Log format descriptor type */
+enum guc_lfd_type_t {
+ /** Start of range for required LFDs from GuC */
+ GUC_LFD_TYPE_FW_REQUIRED_RANGE_START = 0x1,
+ /**
+ * GuC Firmware Version structure. LFDs payload is
+ * guc_lfd_data_fw_version_t
+ */
+ GUC_LFD_TYPE_FW_VERSION = 0x1,
+ /**
+ * GuC microcontroller device ID. LFDs payload is
+ * guc_lfd_data_guc_devid_t
+ */
+ GUC_LFD_TYPE_GUC_DEVICE_ID = 0x2,
+ /**
+ * Frequency of GuC timestamps. LFDs payload is
+ * guc_lfd_data_tsc_freq_t
+ */
+ GUC_LFD_TYPE_TSC_FREQUENCY = 0x3,
+ /** HW GMD ID. LFDs payload is guc_lfd_data_gmdid_t */
+ GUC_LFD_TYPE_GMD_ID = 0x4,
+ /**
+ * GuC build platform ID. LFDs payload is
+ * guc_lfd_data_build_platformid_t
+ */
+ GUC_LFD_TYPE_BUILD_PLATFORM_ID = 0x5,
+ /** End of this range */
+ GUC_LFD_TYPE_FW_REQUIRED_RANGE_END = 0x1FFF,
+ /** Start of range for required LFDs from GuC */
+ GUC_LFD_TYPE_FW_OPTIONAL_RANGE_START = 0x2000,
+ /**
+ * Log-event-entries buffer. LFDs payload is
+ * guc_lfd_data_log_events_buf_t
+ */
+ GUC_LFD_TYPE_LOG_EVENTS_BUFFER = 0x2000,
+ /**
+ * GuC generated crash-dump blob. LFDs payload is
+ * guc_lfd_data_fw_crashdump_t
+ */
+ GUC_LFD_TYPE_FW_CRASH_DUMP = 0x2001,
+ /** End of this range */
+ GUC_LFD_TYPE_FW_OPTIONAL_RANGE_END = 0x3FFF,
+ /** Start of range for required KMD LFDs */
+ GUC_LFD_TYPE_KMD_REQUIRED_RANGE_START = 0x4000,
+ /**
+ * An identifier for the OS. LFDs payload is guc_lfd_data_os_id_t
+ */
+ GUC_LFD_TYPE_OS_ID = 0x4000,
+ /** End of this range */
+ GUC_LFD_TYPE_KMD_REQUIRED_RANGE_END = 0x5FFF,
+ /** Start of range for optional KMD LFDs */
+ GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_START = 0x6000,
+ /**
+ * Binary representation of GuC log-events schema. LFDs TLV
+ * payload is guc_lfd_data_binary_schema_t
+ */
+ GUC_LFD_TYPE_BINARY_SCHEMA_FORMAT = 0x6000,
+ /**
+ * ASCII string containing comments from the host/KMD. LFDs TLV
+ * payload is guc_lfd_data_host_comment_t
+ */
+ GUC_LFD_TYPE_HOST_COMMENT = 0x6001,
+ /** End of this range */
+ GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_END = 0x7FFF,
+ /** Start of reserved range */
+ GUC_LFD_TYPE_RESERVED_RANGE_START = 0x8000,
+ /** End of this range */
+ GUC_LFD_TYPE_RESERVED_RANGE_END = 0xFFFF,
+};
+
+/** OS Type LFD-ID */
+enum guc_lfd_os_type_t {
+ /** Windows OS */
+ GUC_LFD_OS_TYPE_OSID_WIN = 0x1,
+ /** Linux OS */
+ GUC_LFD_OS_TYPE_OSID_LIN = 0x2,
+ /** VMWare OS */
+ GUC_LFD_OS_TYPE_OSID_VMW = 0x3,
+ /** Other */
+ GUC_LFD_OS_TYPE_OSID_OTHER = 0x4,
+};
+
+/**
+ * struct guc_logfile_lfd_t - Log format descriptor (LFD).
+ * A type of KLV with custom field-sizes + magic numbers.
+ */
+struct guc_logfile_lfd_t {
+ /** @dw0: A 32 bits dword, contains multiple bit fields */
+ u32 dw0;
+ /*
+ * BR[15:0] Expected value: 0x8086. Helpful in detecting file
+ * errors.
+ */
+ #define GUC_LOGFILE_LFD_T_MAGIC GENMASK(15, 0)
+ /*
+ * BR[31:16] File descriptor type (the 'T' in TLV) is used to
+ * identify how to interpret `data` below. For the range of types,
+ * see guc_lfd_type_t
+ */
+ #define GUC_LOGFILE_LFD_T_DESC_TYPE GENMASK(31, 16)
+ /** @desc_dw_size: Number of dwords the `data` field contains. */
+ u32 desc_dw_size;
+ /** @data: Data defined by File descriptor type. */
+ u32 data[] __counted_by(desc_dw_size);
+} __packed;
+
+/**
+ * struct guc_logfile_fmt_ver_t - GuC Log File Format Version.
+ * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
+ * than 1.12)
+ */
+struct guc_logfile_fmt_ver_t {
+ /** @dw0: A 32 bits dword, contains multiple bit fields */
+ u32 dw0;
+ /*
+ * BR[15:0] Guc-Log-File Format minor version. Must be
+ * GUC_LOG_FILE_FORMAT_VERSION_MINOR
+ */
+ #define GUC_LOGFILE_FMT_VER_T_MINOR_VERSION GENMASK(15, 0)
+ /*
+ * BR[31:16] Guc-Log-File Format major version. Must be
+ * GUC_LOG_FILE_FORMAT_VERSION_MAJOR
+ */
+ #define GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION GENMASK(31, 16)
+} __packed;
+
+/**
+ * struct guc_lfd_data_guc_devid_t - GuC Device ID.
+ * This is mandatory fw LFD data
+ */
+struct guc_lfd_data_guc_devid_t {
+ /**
+ * @guc_devid: GuC microcontroller device ID defined as described
+ * in GUC_LOG_LIC_TYPE_GUC_DEVICE_ID
+ */
+ u32 guc_devid;
+} __packed;
+
+/**
+ * struct guc_lfd_data_tsc_freq_t - GuC TSC Fequency.
+ * This is mandatory fw LFD data
+ */
+struct guc_lfd_data_tsc_freq_t {
+ /**
+ * @tsc_freq: GuC timestamp counter frequency as described in
+ * GUC_LOG_LIC_TYPE_TSC_FREQUENCY
+ */
+ u32 tsc_freq;
+} __packed;
+
+/** struct guc_lfd_data_gmdid_t - GMD ID. */
+struct guc_lfd_data_gmdid_t {
+ /** @gmd_id: GMD ID as described in GUC_LOG_LIC_TYPE_GMD_ID */
+ u32 gmd_id;
+} __packed;
+
+/** struct guc_lfd_data_build_platformid_t - GuC build platform ID. */
+struct guc_lfd_data_build_platformid_t {
+ /**
+ * @platform_build_id: GuC build platform ID as described in
+ * GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID
+ */
+ u32 platform_build_id;
+} __packed;
+
+/**
+ * struct guc_lfd_data_log_events_buf_t - GuC Log Events Buffer.
+ * This is optional fw LFD data
+ */
+struct guc_lfd_data_log_events_buf_t {
+ /**
+ * @log_events_format_version: version of GuC log format of buffer
+ */
+ u32 log_events_format_version;
+ /**
+ * @log_format_buf: If `log_format_version` == 1, array of
+ * guc_log_format_version_1_t. If `log_format_version` == 2, array
+ * of guc_log_format_version_2_t. Dword size determined by
+ * guc_logfile_lfd_t.`desc_dw_size` - 1
+ */
+ u32 log_format_buf[];
+} __packed;
+
+/**
+ * struct guc_lfd_data_os_id_t - OS Version Information.
+ * This is mandatory host LFD data
+ */
+struct guc_lfd_data_os_id_t {
+ /**
+ * @os_id: enum values to identify the OS brand (1=Windows,
+ * 2=Linux, etc..). See guc_lfd_os_type_t for the range of types
+ */
+ u32 os_id;
+ /**
+ * @build_version: ASCII string containing OS build version
+ * information based on os_id. String is padded with null
+ * characters to ensure its DWORD aligned. Dword size determined
+ * by guc_logfile_lfd_t.`desc_dw_size` - 1
+ */
+ char build_version[];
+} __packed;
+
+/**
+ * struct guc_logfile_t - GuC Log Streaming-LFD-File Format.
+ * This structure encapsulates the layout of the guc-log-file format
+ */
+struct guc_logfile_t {
+ /**
+ * @magic: A magic number set by producer of a GuC log file to
+ * identify that file is a valid guc-log-file containing a stream
+ * of LFDs: Expected value: 0x8086AAAA474C5346.
+ */
+ u64 magic;
+ /**
+ * @version: Version of this file format layout as per
+ * guc_logfile_fmt_ver_t
+ */
+ struct guc_logfile_fmt_ver_t version;
+ /**
+ * @lfd_stream: A stream of one or more guc_logfile_lfd_t LFD data
+ */
+ struct guc_logfile_lfd_t lfd_stream;
+} __packed;
+
+/**
+ * struct guc_lfd_data_fw_version_t - GuC FW Version.
+ * This is mandatory fw LFD data
+ */
+struct guc_lfd_data_fw_version_t {
+ /**
+ * @guc_sw_version: The full version of the GuC microkernel that
+ * generated the logs as described in
+ * GUC_LOG_LIC_TYPE_GUC_SW_VERSION.
+ */
+ struct guc_sw_version_t guc_sw_version;
+} __packed;
+
+#endif
--
2.34.1
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
2025-04-10 15:58 ` [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions Zhanjun Dong
@ 2025-04-10 15:58 ` Zhanjun Dong
2025-04-10 17:50 ` Cavitt, Jonathan
2025-04-11 15:34 ` Michal Wajdeczko
2025-04-10 15:58 ` [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support Zhanjun Dong
` (9 subsequent siblings)
11 siblings, 2 replies; 26+ messages in thread
From: Zhanjun Dong @ 2025-04-10 15:58 UTC (permalink / raw)
To: intel-xe; +Cc: Zhanjun Dong
Add new debugfs entry "guc_log_lfd", prepared for output guc log
in LFD(Log Format Descriptors) format.
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
---
drivers/gpu/drm/xe/xe_guc_debugfs.c | 14 ++++++++++++
drivers/gpu/drm/xe/xe_guc_log.c | 34 +++++++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_guc_log.h | 1 +
3 files changed, 49 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_guc_debugfs.c b/drivers/gpu/drm/xe/xe_guc_debugfs.c
index c569ff456e74..6449c9a69b8a 100644
--- a/drivers/gpu/drm/xe/xe_guc_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_guc_debugfs.c
@@ -48,6 +48,19 @@ static int guc_log(struct seq_file *m, void *data)
return 0;
}
+static int guc_log_lfd(struct seq_file *m, void *data)
+{
+ struct xe_guc *guc = node_to_guc(m->private);
+ struct xe_device *xe = guc_to_xe(guc);
+ struct drm_printer p = drm_seq_file_printer(m);
+
+ xe_pm_runtime_get(xe);
+ xe_guc_log_print_lfd(&guc->log, &p);
+ xe_pm_runtime_put(xe);
+
+ return 0;
+}
+
static int guc_log_dmesg(struct seq_file *m, void *data)
{
struct xe_guc *guc = node_to_guc(m->private);
@@ -89,6 +102,7 @@ static int guc_pc(struct seq_file *m, void *data)
static const struct drm_info_list debugfs_list[] = {
{"guc_info", guc_info, 0},
{"guc_log", guc_log, 0},
+ {"guc_log_lfd", guc_log_lfd, 0},
{"guc_log_dmesg", guc_log_dmesg, 0},
{"guc_ctb", guc_ctb, 0},
{"guc_pc", guc_pc, 0},
diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
index 38039c411387..df849a0ee7e5 100644
--- a/drivers/gpu/drm/xe/xe_guc_log.c
+++ b/drivers/gpu/drm/xe/xe_guc_log.c
@@ -216,6 +216,26 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
}
}
+static void
+xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
+ struct xe_guc_log *log)
+{
+ size_t remain;
+ int i;
+
+ if (!snapshot)
+ return;
+
+ remain = snapshot->size;
+ for (i = 0; i < snapshot->num_chunks; i++) {
+ size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
+
+ /* To be add: Output snapshot in LFD format */
+
+ remain -= size;
+ }
+}
+
/**
* xe_guc_log_print_dmesg - dump a copy of the GuC log to dmesg
* @log: GuC log structure
@@ -251,6 +271,20 @@ void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p)
xe_guc_log_snapshot_free(snapshot);
}
+/**
+ * xe_guc_log_print_lfd - dump a copy of the GuC log to some useful location
+ * @log: GuC log structure
+ * @p: the printer object to output to
+ */
+void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p)
+{
+ struct xe_guc_log_snapshot *snapshot;
+
+ snapshot = xe_guc_log_snapshot_capture(log, false);
+ xe_guc_log_snapshot_print_lfd(snapshot, p, log);
+ xe_guc_log_snapshot_free(snapshot);
+}
+
int xe_guc_log_init(struct xe_guc_log *log)
{
struct xe_device *xe = log_to_xe(log);
diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h
index 5b896f5fafaf..37ff4d11e6cf 100644
--- a/drivers/gpu/drm/xe/xe_guc_log.h
+++ b/drivers/gpu/drm/xe/xe_guc_log.h
@@ -40,6 +40,7 @@ struct xe_device;
int xe_guc_log_init(struct xe_guc_log *log);
void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p);
+void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p);
void xe_guc_log_print_dmesg(struct xe_guc_log *log);
struct xe_guc_log_snapshot *xe_guc_log_snapshot_capture(struct xe_guc_log *log, bool atomic);
void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p);
--
2.34.1
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
2025-04-10 15:58 ` [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions Zhanjun Dong
2025-04-10 15:58 ` [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output Zhanjun Dong
@ 2025-04-10 15:58 ` Zhanjun Dong
2025-04-10 17:52 ` Cavitt, Jonathan
2025-04-11 16:14 ` Michal Wajdeczko
2025-04-10 15:58 ` [PATCH v3 4/4] drm/xe/guc: Only add GuC crash dump if available Zhanjun Dong
` (8 subsequent siblings)
11 siblings, 2 replies; 26+ messages in thread
From: Zhanjun Dong @ 2025-04-10 15:58 UTC (permalink / raw)
To: intel-xe; +Cc: Zhanjun Dong
Add support to output GuC log in LFD format.
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
---
drivers/gpu/drm/xe/xe_guc_log.c | 344 +++++++++++++++++++++++++++++++-
1 file changed, 342 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
index df849a0ee7e5..7cdf6bf238f3 100644
--- a/drivers/gpu/drm/xe/xe_guc_log.c
+++ b/drivers/gpu/drm/xe/xe_guc_log.c
@@ -7,8 +7,10 @@
#include <linux/fault-inject.h>
+#include <linux/utsname.h>
#include <drm/drm_managed.h>
+#include "abi/guc_log_lfd_abi.h"
#include "regs/xe_guc_regs.h"
#include "xe_bo.h"
#include "xe_devcoredump.h"
@@ -19,6 +21,57 @@
#include "xe_mmio.h"
#include "xe_module.h"
+static struct guc_log_buffer_entry_markers {
+ u32 key[2];
+} const entry_markers[4] = {
+ {{
+ LFD_LOG_BUFFER_MARKER_1V2,
+ LFD_LOG_BUFFER_MARKER_2
+ }},
+ {{
+ LFD_LOG_BUFFER_MARKER_1V2,
+ LFD_CRASH_DUMP_BUFFER_MARKER_2
+ }},
+ {{
+ LFD_STATE_CAPTURE_BUFFER_MARKER_1V2,
+ LFD_STATE_CAPTURE_BUFFER_MARKER_2
+ }},
+ {{
+ GUC_LOG_INIT_CONFIG_LIC_MAGIC,
+ ((GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR << 16)
+ | GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR)
+ }}
+};
+
+static struct guc_log_buffer_entry_list {
+ u32 offset;
+ u32 rd_ptr;
+ u32 wr_ptr;
+ u32 buf_size;
+} entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT];
+
+static const struct guc_logfile_lfd_t default_guc_logfile_lfd = {
+ .dw0 = FIELD_PREP_CONST(GUC_LOGFILE_LFD_T_MAGIC, GUC_LOGFILE_LFD_MAGIC)
+};
+
+static const struct guc_logfile_t default_guc_logfile = {
+ .magic = LFD_DRIVER_KEY_STREAMING,
+ .version.dw0 = FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MINOR_VERSION,
+ GUC_LOG_FILE_FORMAT_VERSION_MINOR) |
+ FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION,
+ GUC_LOG_FILE_FORMAT_VERSION_MAJOR)
+};
+
+struct guc_log_init_config_save_t {
+ /*
+ * Array of init config KLVs.
+ * Range from GUC_LOG_LIC_TYPE_FIRST to
+ * GUC_LOG_LIC_TYPE_LAST
+ */
+ u32 KLV[GUC_LOG_LIC_TYPE_LAST - GUC_LOG_LIC_TYPE_FIRST];
+ struct guc_log_buffer_state log_buf_state;
+};
+
static struct xe_guc *
log_to_guc(struct xe_guc_log *log)
{
@@ -216,21 +269,308 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
}
}
+static int xe_guc_log_add_lfd_header(char *buf, int buf_size)
+{
+ int len;
+
+ if (buf_size < sizeof(struct guc_logfile_lfd_t))
+ return -ENOMEM;
+
+ len = sizeof(default_guc_logfile_lfd);
+ memcpy(buf, &default_guc_logfile_lfd, len);
+
+ return len;
+}
+
+static int xe_guc_log_add_payload(char *buf, int buf_size, u32 data_len, void *data)
+{
+ struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
+
+ if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
+ return -ENOMEM;
+
+ /* make length DW aligned */
+ lfd->desc_dw_size = data_len / sizeof(u32);
+ if (data_len / sizeof(u32))
+ lfd->desc_dw_size++;
+
+ if (lfd->data != data)
+ memcpy(lfd->data, data, data_len);
+
+ return lfd->desc_dw_size * 4;
+}
+
+static int xe_guc_log_add_typed_payload(char *buf, int buf_size, u32 type,
+ u32 data_len, void *data)
+{
+ int len;
+ struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
+
+ if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
+ return -ENOMEM;
+
+ len = xe_guc_log_add_lfd_header(buf, buf_size);
+ lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, type);
+ len += xe_guc_log_add_payload(buf, buf_size, data_len, data);
+
+ return len;
+}
+
+static int xe_guc_log_add_os_id(char *buf, int buf_size, u32 id)
+{
+ char *version;
+ int info_len;
+ struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
+ struct guc_lfd_data_os_id_t *os_id = (struct guc_lfd_data_os_id_t *)lfd->data;
+
+ os_id->os_id = id;
+
+ version = init_utsname()->release;
+ info_len = strlen(version) + 1;
+
+ if (buf_size < sizeof(struct guc_logfile_lfd_t) + info_len)
+ return -ENOMEM;
+
+ strscpy(os_id->build_version, version, info_len);
+
+ return xe_guc_log_add_typed_payload(buf, buf_size, GUC_LFD_TYPE_OS_ID,
+ info_len + sizeof(*os_id), os_id);
+}
+
+static int
+xe_guc_log_add_log_event(char *buf, int buf_size, char *log_bin,
+ struct guc_log_init_config_save_t *config)
+{
+ int len;
+ char *data;
+ u32 data_len;
+ struct guc_lfd_data_log_events_buf_t *events_buf;
+ struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
+ struct guc_log_buffer_entry_list *entry;
+
+ entry = &entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG];
+
+ /* Skip empty log */
+ if (entry->rd_ptr == entry->wr_ptr)
+ return 0;
+
+ len = xe_guc_log_add_lfd_header(buf, buf_size);
+ if (len < 0)
+ return len;
+
+ buf_size -= len;
+ lfd = (struct guc_logfile_lfd_t *)buf;
+
+ lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, GUC_LFD_TYPE_LOG_EVENTS_BUFFER);
+ events_buf = (struct guc_lfd_data_log_events_buf_t *)&lfd->data;
+ events_buf->log_events_format_version = config->log_buf_state.version;
+
+ data = log_bin + entry->offset + entry->rd_ptr;
+ if (entry->rd_ptr < entry->wr_ptr) {
+ data_len = entry->wr_ptr - entry->rd_ptr;
+ if (data_len <= buf_size) {
+ memcpy(events_buf->log_format_buf, data, data_len);
+ buf_size -= data_len;
+ } else {
+ return -ENOMEM;
+ }
+ } else {
+ int cp_len;
+
+ /* Copy rd to buf end 1st */
+ data_len = entry->buf_size - entry->rd_ptr;
+ if (data_len <= buf_size) {
+ memcpy(events_buf->log_format_buf, data, data_len);
+ buf_size -= data_len;
+ } else {
+ return -ENOMEM;
+ }
+
+ /* Copy buf start to wr */
+ data = &log_bin[entry->offset];
+ cp_len = entry->wr_ptr;
+ if (cp_len <= buf_size - cp_len)
+ memcpy(&events_buf->log_format_buf[data_len / sizeof(u32)], data, cp_len);
+ else
+ return -ENOMEM;
+ data_len += cp_len;
+ }
+
+ /* make length DW aligned */
+ lfd->desc_dw_size = data_len / sizeof(u32);
+ if (data_len % sizeof(u32))
+ lfd->desc_dw_size++;
+
+ /* Addup log_events_format_version size */
+ lfd->desc_dw_size++;
+
+ return len + lfd->desc_dw_size * sizeof(u32);
+}
+
+static inline int lic_type_to_KLV_index(u32 lic_type)
+{
+ XE_WARN_ON(lic_type < GUC_LOG_LIC_TYPE_FIRST || lic_type >= GUC_LOG_LIC_TYPE_LAST);
+
+ return lic_type - GUC_LOG_LIC_TYPE_FIRST;
+}
+
+static int xe_guc_log_add_klv(char *buf, int size, u32 lic_type,
+ struct guc_log_init_config_save_t *config)
+{
+ /* LFD type must matches LIC type */
+ BUILD_BUG_ON((int)GUC_LFD_TYPE_FW_VERSION != (int)GUC_LOG_LIC_TYPE_GUC_SW_VERSION);
+ BUILD_BUG_ON((int)GUC_LFD_TYPE_GUC_DEVICE_ID != (int)GUC_LOG_LIC_TYPE_GUC_DEVICE_ID);
+ BUILD_BUG_ON((int)GUC_LFD_TYPE_TSC_FREQUENCY != (int)GUC_LOG_LIC_TYPE_TSC_FREQUENCY);
+ BUILD_BUG_ON((int)GUC_LFD_TYPE_GMD_ID != (int)GUC_LOG_LIC_TYPE_GMD_ID);
+ BUILD_BUG_ON((int)GUC_LFD_TYPE_BUILD_PLATFORM_ID !=
+ (int)GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID);
+
+ return xe_guc_log_add_typed_payload(buf, size, lic_type, sizeof(u32),
+ &config->KLV[lic_type_to_KLV_index(lic_type)]);
+}
+
+static void xe_guc_log_loop_log_init(struct guc_log_init_config_t *init,
+ struct guc_log_init_config_save_t *config)
+{
+ int i;
+ struct guc_klv_generic_t *p = (struct guc_klv_generic_t *)init->lic_data;
+
+ for (i = 0; i < init->lic_dw_size;) {
+ if (p->key < GUC_LOG_LIC_TYPE_GUC_SW_VERSION || p->key >= GUC_LOG_LIC_TYPE_LAST)
+ break;
+ config->KLV[lic_type_to_KLV_index(p->key)] = p->value[0];
+ i += p->length + 1; /* +1DW to include kev(u16) and len(u16) */
+ p = (struct guc_klv_generic_t *)((u32 *)p + p->length + 1);
+ }
+}
+
+static void xe_guc_log_load_log_buffer(u32 *guc_log, struct guc_log_init_config_save_t *config)
+{
+ int i = 0;
+ u32 offset = GUC_LOG_BUFFER_STATE_HEADER_LENGTH;
+ struct guc_log_buffer_state *p = (struct guc_log_buffer_state *)guc_log;
+
+ memset(entry_list, 0, sizeof(entry_list));
+ while (p) {
+ for (i = 0; i < GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT; i++) {
+ if (p->marker[0] == entry_markers[i].key[0] &&
+ p->marker[1] == entry_markers[i].key[1]) {
+ entry_list[i].offset = offset;
+ entry_list[i].rd_ptr = p->read_ptr;
+ entry_list[i].wr_ptr = p->write_ptr;
+ entry_list[i].buf_size = p->size;
+
+ if (i == GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG)
+ config->log_buf_state = *p;
+
+ if (i != GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT) {
+ offset += p->size;
+ p++;
+ } else {
+ /* Load log init config */
+ xe_guc_log_loop_log_init((struct guc_log_init_config_t *)p,
+ config);
+
+ /* Init config is the last */
+ return;
+ }
+ }
+ }
+ if (i >= GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT)
+ break;
+ }
+}
+
+static int xe_guc_log_save_to_lfd_buf(char *buf, int size, u32 *guc_log_bin,
+ struct xe_guc_log *log,
+ struct guc_log_init_config_save_t *config)
+{
+ int index = 0, len = 0;
+ char *char_bin = (char *)guc_log_bin;
+ struct guc_logfile_t *guc_logfile;
+
+ if (size < sizeof(struct guc_logfile_t))
+ return -ENOMEM;
+
+ guc_logfile = (struct guc_logfile_t *)buf;
+ *guc_logfile = default_guc_logfile;
+ index = offsetof(struct guc_logfile_t, lfd_stream);
+
+ len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_FW_VERSION, config);
+ if (len < 0)
+ return len;
+ index += len;
+
+ len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_GUC_DEVICE_ID, config);
+ if (len < 0)
+ return len;
+ index += len;
+
+ len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_TSC_FREQUENCY, config);
+ if (len < 0)
+ return len;
+ index += len;
+
+ len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_GMD_ID, config);
+ if (len < 0)
+ return len;
+ index += len;
+
+ len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID,
+ config);
+ if (len < 0)
+ return len;
+ index += len;
+
+ len = xe_guc_log_add_os_id(&buf[index], size - index, GUC_LFD_OS_TYPE_OSID_LIN);
+ if (len < 0)
+ return len;
+ index += len;
+
+ len = xe_guc_log_add_log_event(&buf[index], size - index, char_bin, config);
+ if (len < 0)
+ return len;
+ index += len;
+
+ return index;
+}
+
static void
xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
struct xe_guc_log *log)
{
size_t remain;
int i;
+ struct guc_log_init_config_save_t init_config;
if (!snapshot)
return;
remain = snapshot->size;
+ if (!remain)
+ return;
+
+ drm_printf(p, "Kernel timestamp: 0x%08llX [%llu]\n", snapshot->ktime, snapshot->ktime);
+ drm_printf(p, "GuC timestamp: 0x%08llX [%llu]\n", snapshot->stamp, snapshot->stamp);
+ drm_printf(p, "Log level: %u\n", snapshot->level);
+
for (i = 0; i < snapshot->num_chunks; i++) {
+ int len = 0;
size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
-
- /* To be add: Output snapshot in LFD format */
+ const char *prefix = i ? NULL : "[LOG].data";
+ char suffix = i == snapshot->num_chunks - 1 ? '\n' : 0;
+ char *lfd_buf = kzalloc(size, GFP_KERNEL);
+
+ /* load from log bin */
+ xe_guc_log_load_log_buffer(snapshot->copy[i], &init_config);
+ /* Output to LFD format */
+ len = xe_guc_log_save_to_lfd_buf(lfd_buf, size, snapshot->copy[i], log,
+ &init_config);
+ if (len > 0)
+ xe_print_blob_ascii85(p, prefix, suffix, lfd_buf, 0, (size_t)len);
+
+ kfree(lfd_buf);
+ XE_WARN_ON(len <= 0);
remain -= size;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH v3 4/4] drm/xe/guc: Only add GuC crash dump if available
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (2 preceding siblings ...)
2025-04-10 15:58 ` [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support Zhanjun Dong
@ 2025-04-10 15:58 ` Zhanjun Dong
2025-04-10 17:52 ` Cavitt, Jonathan
2025-04-10 16:03 ` ✓ CI.Patch_applied: success for drm/xe/guc: Add LFD format output for guc log (rev3) Patchwork
` (7 subsequent siblings)
11 siblings, 1 reply; 26+ messages in thread
From: Zhanjun Dong @ 2025-04-10 15:58 UTC (permalink / raw)
To: intel-xe; +Cc: Zhanjun Dong
Add GuC crash dump data empty check. LFD will only include crash dump
section when data is not empty.
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
---
drivers/gpu/drm/xe/xe_guc_log.c | 35 +++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
index 7cdf6bf238f3..1e5976a382be 100644
--- a/drivers/gpu/drm/xe/xe_guc_log.c
+++ b/drivers/gpu/drm/xe/xe_guc_log.c
@@ -407,6 +407,36 @@ xe_guc_log_add_log_event(char *buf, int buf_size, char *log_bin,
return len + lfd->desc_dw_size * sizeof(u32);
}
+static int
+xe_guc_log_add_crash_dump(char *buf, int buf_size, char *log_bin,
+ struct guc_log_init_config_save_t *config)
+{
+ int i, dw_size;
+ u32 *buf32;
+ struct guc_log_buffer_entry_list *entry;
+
+ entry = &entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH];
+
+ /* Skip empty log */
+ if (!entry->buf_size)
+ return 0;
+
+ buf32 = (u32 *)&log_bin[entry->offset];
+ dw_size = entry->buf_size / sizeof(u32);
+
+ /* Check if crash dump section are all zero */
+ for (i = 0; i < dw_size; i++)
+ if (buf32[i])
+ break;
+
+ /* Buffer has non-zero data? */
+ if (i < dw_size)
+ return xe_guc_log_add_typed_payload(buf, buf_size,
+ GUC_LFD_TYPE_FW_CRASH_DUMP,
+ entry->buf_size, buf32);
+ return 0;
+}
+
static inline int lic_type_to_KLV_index(u32 lic_type)
{
XE_WARN_ON(lic_type < GUC_LOG_LIC_TYPE_FIRST || lic_type >= GUC_LOG_LIC_TYPE_LAST);
@@ -532,6 +562,11 @@ static int xe_guc_log_save_to_lfd_buf(char *buf, int size, u32 *guc_log_bin,
return len;
index += len;
+ len = xe_guc_log_add_crash_dump(&buf[index], size - index, char_bin, config);
+ if (len < 0)
+ return len;
+ index += len;
+
return index;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 26+ messages in thread
* ✓ CI.Patch_applied: success for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (3 preceding siblings ...)
2025-04-10 15:58 ` [PATCH v3 4/4] drm/xe/guc: Only add GuC crash dump if available Zhanjun Dong
@ 2025-04-10 16:03 ` Patchwork
2025-04-10 16:04 ` ✗ CI.checkpatch: warning " Patchwork
` (6 subsequent siblings)
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 16:03 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
State : success
== Summary ==
=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 457049ad31ee drm-tip: 2025y-04m-10d-13h-43m-21s UTC integration manifest
=== git am output follows ===
Applying: drm/xe/guc: Add LFD related abi definitions
Applying: drm/xe/guc: Add new debugfs entry for lfd format output
Applying: drm/xe/guc: Add GuC log LFD format support
Applying: drm/xe/guc: Only add GuC crash dump if available
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✗ CI.checkpatch: warning for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (4 preceding siblings ...)
2025-04-10 16:03 ` ✓ CI.Patch_applied: success for drm/xe/guc: Add LFD format output for guc log (rev3) Patchwork
@ 2025-04-10 16:04 ` Patchwork
2025-04-10 16:05 ` ✓ CI.KUnit: success " Patchwork
` (5 subsequent siblings)
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 16:04 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
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
13a92ce9fd458ebd6064f23cec8c39c53d02ed26
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit e78e4859a8d4eae5ee1476f0b205b8ab104ad33d
Author: Zhanjun Dong <zhanjun.dong@intel.com>
Date: Thu Apr 10 08:58:53 2025 -0700
drm/xe/guc: Only add GuC crash dump if available
Add GuC crash dump data empty check. LFD will only include crash dump
section when data is not empty.
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
+ /mt/dim checkpatch 457049ad31ee5b64dd86230518144d366c32bc04 drm-intel
54e817d5dfa2 drm/xe/guc: Add LFD related abi definitions
-:139: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#139:
new file mode 100644
total: 0 errors, 1 warnings, 0 checks, 387 lines checked
e5d43127a28d drm/xe/guc: Add new debugfs entry for lfd format output
b0b2656cb45a drm/xe/guc: Add GuC log LFD format support
e78e4859a8d4 drm/xe/guc: Only add GuC crash dump if available
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ CI.KUnit: success for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (5 preceding siblings ...)
2025-04-10 16:04 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-04-10 16:05 ` Patchwork
2025-04-10 16:13 ` ✓ CI.Build: " Patchwork
` (4 subsequent siblings)
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 16:05 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[16:04:11] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:04:15] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:04:41] Starting KUnit Kernel (1/1)...
[16:04:41] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:04:42] ================== guc_buf (11 subtests) ===================
[16:04:42] [PASSED] test_smallest
[16:04:42] [PASSED] test_largest
[16:04:42] [PASSED] test_granular
[16:04:42] [PASSED] test_unique
[16:04:42] [PASSED] test_overlap
[16:04:42] [PASSED] test_reusable
[16:04:42] [PASSED] test_too_big
[16:04:42] [PASSED] test_flush
[16:04:42] [PASSED] test_lookup
[16:04:42] [PASSED] test_data
[16:04:42] [PASSED] test_class
[16:04:42] ===================== [PASSED] guc_buf =====================
[16:04:42] =================== guc_dbm (7 subtests) ===================
[16:04:42] [PASSED] test_empty
[16:04:42] [PASSED] test_default
[16:04:42] ======================== test_size ========================
[16:04:42] [PASSED] 4
[16:04:42] [PASSED] 8
[16:04:42] [PASSED] 32
[16:04:42] [PASSED] 256
[16:04:42] ==================== [PASSED] test_size ====================
[16:04:42] ======================= test_reuse ========================
[16:04:42] [PASSED] 4
[16:04:42] [PASSED] 8
[16:04:42] [PASSED] 32
[16:04:42] [PASSED] 256
[16:04:42] =================== [PASSED] test_reuse ====================
[16:04:42] =================== test_range_overlap ====================
[16:04:42] [PASSED] 4
[16:04:42] [PASSED] 8
[16:04:42] [PASSED] 32
[16:04:42] [PASSED] 256
[16:04:42] =============== [PASSED] test_range_overlap ================
[16:04:42] =================== test_range_compact ====================
[16:04:42] [PASSED] 4
[16:04:42] [PASSED] 8
[16:04:42] [PASSED] 32
[16:04:42] [PASSED] 256
[16:04:42] =============== [PASSED] test_range_compact ================
[16:04:42] ==================== test_range_spare =====================
[16:04:42] [PASSED] 4
[16:04:42] [PASSED] 8
[16:04:42] [PASSED] 32
[16:04:42] [PASSED] 256
[16:04:42] ================ [PASSED] test_range_spare =================
[16:04:42] ===================== [PASSED] guc_dbm =====================
[16:04:42] =================== guc_idm (6 subtests) ===================
[16:04:42] [PASSED] bad_init
[16:04:42] [PASSED] no_init
[16:04:42] [PASSED] init_fini
[16:04:42] [PASSED] check_used
[16:04:42] [PASSED] check_quota
[16:04:42] [PASSED] check_all
[16:04:42] ===================== [PASSED] guc_idm =====================
[16:04:42] ================== no_relay (3 subtests) ===================
[16:04:42] [PASSED] xe_drops_guc2pf_if_not_ready
[16:04:42] [PASSED] xe_drops_guc2vf_if_not_ready
[16:04:42] [PASSED] xe_rejects_send_if_not_ready
[16:04:42] ==================== [PASSED] no_relay =====================
[16:04:42] ================== pf_relay (14 subtests) ==================
[16:04:42] [PASSED] pf_rejects_guc2pf_too_short
[16:04:42] [PASSED] pf_rejects_guc2pf_too_long
[16:04:42] [PASSED] pf_rejects_guc2pf_no_payload
[16:04:42] [PASSED] pf_fails_no_payload
[16:04:42] [PASSED] pf_fails_bad_origin
[16:04:42] [PASSED] pf_fails_bad_type
[16:04:42] [PASSED] pf_txn_reports_error
[16:04:42] [PASSED] pf_txn_sends_pf2guc
[16:04:42] [PASSED] pf_sends_pf2guc
[16:04:42] [SKIPPED] pf_loopback_nop
[16:04:42] [SKIPPED] pf_loopback_echo
[16:04:42] [SKIPPED] pf_loopback_fail
[16:04:42] [SKIPPED] pf_loopback_busy
[16:04:42] [SKIPPED] pf_loopback_retry
[16:04:42] ==================== [PASSED] pf_relay =====================
[16:04:42] ================== vf_relay (3 subtests) ===================
[16:04:42] [PASSED] vf_rejects_guc2vf_too_short
[16:04:42] [PASSED] vf_rejects_guc2vf_too_long
[16:04:42] [PASSED] vf_rejects_guc2vf_no_payload
[16:04:42] ==================== [PASSED] vf_relay =====================
[16:04:42] ================= pf_service (11 subtests) =================
[16:04:42] [PASSED] pf_negotiate_any
[16:04:42] [PASSED] pf_negotiate_base_match
[16:04:42] [PASSED] pf_negotiate_base_newer
[16:04:42] [PASSED] pf_negotiate_base_next
[16:04:42] [SKIPPED] pf_negotiate_base_older
[16:04:42] [PASSED] pf_negotiate_base_prev
[16:04:42] [PASSED] pf_negotiate_latest_match
[16:04:42] [PASSED] pf_negotiate_latest_newer
[16:04:42] [PASSED] pf_negotiate_latest_next
[16:04:42] [SKIPPED] pf_negotiate_latest_older
[16:04:42] [SKIPPED] pf_negotiate_latest_prev
[16:04:42] =================== [PASSED] pf_service ====================
[16:04:42] ===================== lmtt (1 subtest) =====================
[16:04:42] ======================== test_ops =========================
[16:04:42] [PASSED] 2-level
[16:04:42] [PASSED] multi-level
[16:04:42] ==================== [PASSED] test_ops =====================
[16:04:42] ====================== [PASSED] lmtt =======================
[16:04:42] =================== xe_mocs (2 subtests) ===================
[16:04:42] ================ xe_live_mocs_kernel_kunit ================
[16:04:42] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[16:04:42] ================ xe_live_mocs_reset_kunit =================
[16:04:42] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[16:04:42] ==================== [SKIPPED] xe_mocs =====================
[16:04:42] ================= xe_migrate (2 subtests) ==================
[16:04:42] ================= xe_migrate_sanity_kunit =================
[16:04:42] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[16:04:42] ================== xe_validate_ccs_kunit ==================
[16:04:42] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[16:04:42] =================== [SKIPPED] xe_migrate ===================
[16:04:42] ================== xe_dma_buf (1 subtest) ==================
[16:04:42] ==================== xe_dma_buf_kunit =====================
[16:04:42] ================ [SKIPPED] xe_dma_buf_kunit ================
[16:04:42] =================== [SKIPPED] xe_dma_buf ===================
[16:04:42] ================= xe_bo_shrink (1 subtest) =================
[16:04:42] =================== xe_bo_shrink_kunit ====================
[16:04:42] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[16:04:42] ================== [SKIPPED] xe_bo_shrink ==================
[16:04:42] ==================== xe_bo (2 subtests) ====================
[16:04:42] ================== xe_ccs_migrate_kunit ===================
[16:04:42] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[16:04:42] ==================== xe_bo_evict_kunit ====================
[16:04:42] =============== [SKIPPED] xe_bo_evict_kunit ================
[16:04:42] ===================== [SKIPPED] xe_bo ======================
[16:04:42] ==================== args (11 subtests) ====================
[16:04:42] [PASSED] count_args_test
[16:04:42] [PASSED] call_args_example
[16:04:42] [PASSED] call_args_test
[16:04:42] [PASSED] drop_first_arg_example
[16:04:42] [PASSED] drop_first_arg_test
[16:04:42] [PASSED] first_arg_example
[16:04:42] [PASSED] first_arg_test
[16:04:42] [PASSED] last_arg_example
[16:04:42] [PASSED] last_arg_test
[16:04:42] [PASSED] pick_arg_example
[16:04:42] [PASSED] sep_comma_example
[16:04:42] ====================== [PASSED] args =======================
[16:04:42] =================== xe_pci (2 subtests) ====================
[16:04:42] [PASSED] xe_gmdid_graphics_ip
[16:04:42] [PASSED] xe_gmdid_media_ip
[16:04:42] ===================== [PASSED] xe_pci ======================
[16:04:42] =================== xe_rtp (2 subtests) ====================
[16:04:42] =============== xe_rtp_process_to_sr_tests ================
[16:04:42] [PASSED] coalesce-same-reg
[16:04:42] [PASSED] no-match-no-add
[16:04:42] [PASSED] match-or
[16:04:42] [PASSED] match-or-xfail
[16:04:42] [PASSED] no-match-no-add-multiple-rules
[16:04:42] [PASSED] two-regs-two-entries
[16:04:42] [PASSED] clr-one-set-other
[16:04:42] [PASSED] set-field
[16:04:42] [PASSED] conflict-duplicate
[16:04:42] [PASSED] conflict-not-disjoint
stty: 'standard input': Inappropriate ioctl for device
[16:04:42] [PASSED] conflict-reg-type
[16:04:42] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[16:04:42] ================== xe_rtp_process_tests ===================
[16:04:42] [PASSED] active1
[16:04:42] [PASSED] active2
[16:04:42] [PASSED] active-inactive
[16:04:42] [PASSED] inactive-active
[16:04:42] [PASSED] inactive-1st_or_active-inactive
[16:04:42] [PASSED] inactive-2nd_or_active-inactive
[16:04:42] [PASSED] inactive-last_or_active-inactive
[16:04:42] [PASSED] inactive-no_or_active-inactive
[16:04:42] ============== [PASSED] xe_rtp_process_tests ===============
[16:04:42] ===================== [PASSED] xe_rtp ======================
[16:04:42] ==================== xe_wa (1 subtest) =====================
[16:04:42] ======================== xe_wa_gt =========================
[16:04:42] [PASSED] TIGERLAKE (B0)
[16:04:42] [PASSED] DG1 (A0)
[16:04:42] [PASSED] DG1 (B0)
[16:04:42] [PASSED] ALDERLAKE_S (A0)
[16:04:42] [PASSED] ALDERLAKE_S (B0)
[16:04:42] [PASSED] ALDERLAKE_S (C0)
[16:04:42] [PASSED] ALDERLAKE_S (D0)
[16:04:42] [PASSED] ALDERLAKE_P (A0)
[16:04:42] [PASSED] ALDERLAKE_P (B0)
[16:04:42] [PASSED] ALDERLAKE_P (C0)
[16:04:42] [PASSED] ALDERLAKE_S_RPLS (D0)
[16:04:42] [PASSED] ALDERLAKE_P_RPLU (E0)
[16:04:42] [PASSED] DG2_G10 (C0)
[16:04:42] [PASSED] DG2_G11 (B1)
[16:04:42] [PASSED] DG2_G12 (A1)
[16:04:42] [PASSED] METEORLAKE (g:A0, m:A0)
[16:04:42] [PASSED] METEORLAKE (g:A0, m:A0)
[16:04:42] [PASSED] METEORLAKE (g:A0, m:A0)
[16:04:42] [PASSED] LUNARLAKE (g:A0, m:A0)
[16:04:42] [PASSED] LUNARLAKE (g:B0, m:A0)
[16:04:42] [PASSED] BATTLEMAGE (g:A0, m:A1)
[16:04:42] ==================== [PASSED] xe_wa_gt =====================
[16:04:42] ====================== [PASSED] xe_wa ======================
[16:04:42] ============================================================
[16:04:42] Testing complete. Ran 133 tests: passed: 117, skipped: 16
[16:04:42] Elapsed time: 30.912s total, 4.274s configuring, 26.320s building, 0.294s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[16:04:42] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:04:44] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:05:05] Starting KUnit Kernel (1/1)...
[16:05:05] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:05:05] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[16:05:05] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[16:05:05] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[16:05:05] =========== drm_validate_clone_mode (2 subtests) ===========
[16:05:05] ============== drm_test_check_in_clone_mode ===============
[16:05:05] [PASSED] in_clone_mode
[16:05:05] [PASSED] not_in_clone_mode
[16:05:05] ========== [PASSED] drm_test_check_in_clone_mode ===========
[16:05:05] =============== drm_test_check_valid_clones ===============
[16:05:05] [PASSED] not_in_clone_mode
[16:05:05] [PASSED] valid_clone
[16:05:05] [PASSED] invalid_clone
[16:05:05] =========== [PASSED] drm_test_check_valid_clones ===========
[16:05:05] ============= [PASSED] drm_validate_clone_mode =============
[16:05:05] ============= drm_validate_modeset (1 subtest) =============
[16:05:05] [PASSED] drm_test_check_connector_changed_modeset
[16:05:05] ============== [PASSED] drm_validate_modeset ===============
[16:05:05] ====== drm_test_bridge_get_current_state (2 subtests) ======
[16:05:05] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[16:05:05] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[16:05:05] ======== [PASSED] drm_test_bridge_get_current_state ========
[16:05:05] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[16:05:05] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[16:05:05] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[16:05:05] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[16:05:05] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[16:05:05] ================== drm_buddy (7 subtests) ==================
[16:05:05] [PASSED] drm_test_buddy_alloc_limit
[16:05:05] [PASSED] drm_test_buddy_alloc_optimistic
[16:05:05] [PASSED] drm_test_buddy_alloc_pessimistic
[16:05:05] [PASSED] drm_test_buddy_alloc_pathological
[16:05:05] [PASSED] drm_test_buddy_alloc_contiguous
[16:05:05] [PASSED] drm_test_buddy_alloc_clear
[16:05:05] [PASSED] drm_test_buddy_alloc_range_bias
[16:05:05] ==================== [PASSED] drm_buddy ====================
[16:05:05] ============= drm_cmdline_parser (40 subtests) =============
[16:05:05] [PASSED] drm_test_cmdline_force_d_only
[16:05:05] [PASSED] drm_test_cmdline_force_D_only_dvi
[16:05:05] [PASSED] drm_test_cmdline_force_D_only_hdmi
[16:05:05] [PASSED] drm_test_cmdline_force_D_only_not_digital
[16:05:05] [PASSED] drm_test_cmdline_force_e_only
[16:05:05] [PASSED] drm_test_cmdline_res
[16:05:05] [PASSED] drm_test_cmdline_res_vesa
[16:05:05] [PASSED] drm_test_cmdline_res_vesa_rblank
[16:05:05] [PASSED] drm_test_cmdline_res_rblank
[16:05:05] [PASSED] drm_test_cmdline_res_bpp
[16:05:05] [PASSED] drm_test_cmdline_res_refresh
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[16:05:05] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[16:05:05] [PASSED] drm_test_cmdline_res_margins_force_on
[16:05:05] [PASSED] drm_test_cmdline_res_vesa_margins
[16:05:05] [PASSED] drm_test_cmdline_name
[16:05:05] [PASSED] drm_test_cmdline_name_bpp
[16:05:05] [PASSED] drm_test_cmdline_name_option
[16:05:05] [PASSED] drm_test_cmdline_name_bpp_option
[16:05:05] [PASSED] drm_test_cmdline_rotate_0
[16:05:05] [PASSED] drm_test_cmdline_rotate_90
[16:05:05] [PASSED] drm_test_cmdline_rotate_180
[16:05:05] [PASSED] drm_test_cmdline_rotate_270
[16:05:05] [PASSED] drm_test_cmdline_hmirror
[16:05:05] [PASSED] drm_test_cmdline_vmirror
[16:05:05] [PASSED] drm_test_cmdline_margin_options
[16:05:05] [PASSED] drm_test_cmdline_multiple_options
[16:05:05] [PASSED] drm_test_cmdline_bpp_extra_and_option
[16:05:05] [PASSED] drm_test_cmdline_extra_and_option
[16:05:05] [PASSED] drm_test_cmdline_freestanding_options
[16:05:05] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[16:05:05] [PASSED] drm_test_cmdline_panel_orientation
[16:05:05] ================ drm_test_cmdline_invalid =================
[16:05:05] [PASSED] margin_only
[16:05:05] [PASSED] interlace_only
[16:05:05] [PASSED] res_missing_x
[16:05:05] [PASSED] res_missing_y
[16:05:05] [PASSED] res_bad_y
[16:05:05] [PASSED] res_missing_y_bpp
[16:05:05] [PASSED] res_bad_bpp
[16:05:05] [PASSED] res_bad_refresh
[16:05:05] [PASSED] res_bpp_refresh_force_on_off
[16:05:05] [PASSED] res_invalid_mode
[16:05:05] [PASSED] res_bpp_wrong_place_mode
[16:05:05] [PASSED] name_bpp_refresh
[16:05:05] [PASSED] name_refresh
[16:05:05] [PASSED] name_refresh_wrong_mode
[16:05:05] [PASSED] name_refresh_invalid_mode
[16:05:05] [PASSED] rotate_multiple
[16:05:05] [PASSED] rotate_invalid_val
[16:05:05] [PASSED] rotate_truncated
[16:05:05] [PASSED] invalid_option
[16:05:05] [PASSED] invalid_tv_option
[16:05:05] [PASSED] truncated_tv_option
[16:05:05] ============ [PASSED] drm_test_cmdline_invalid =============
[16:05:05] =============== drm_test_cmdline_tv_options ===============
[16:05:05] [PASSED] NTSC
[16:05:05] [PASSED] NTSC_443
[16:05:05] [PASSED] NTSC_J
[16:05:05] [PASSED] PAL
[16:05:05] [PASSED] PAL_M
[16:05:05] [PASSED] PAL_N
[16:05:05] [PASSED] SECAM
[16:05:05] [PASSED] MONO_525
[16:05:05] [PASSED] MONO_625
[16:05:05] =========== [PASSED] drm_test_cmdline_tv_options ===========
[16:05:05] =============== [PASSED] drm_cmdline_parser ================
[16:05:05] ========== drmm_connector_hdmi_init (20 subtests) ==========
[16:05:05] [PASSED] drm_test_connector_hdmi_init_valid
[16:05:05] [PASSED] drm_test_connector_hdmi_init_bpc_8
[16:05:05] [PASSED] drm_test_connector_hdmi_init_bpc_10
[16:05:05] [PASSED] drm_test_connector_hdmi_init_bpc_12
[16:05:05] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[16:05:05] [PASSED] drm_test_connector_hdmi_init_bpc_null
[16:05:05] [PASSED] drm_test_connector_hdmi_init_formats_empty
[16:05:05] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[16:05:05] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:05:05] [PASSED] supported_formats=0x9 yuv420_allowed=1
[16:05:05] [PASSED] supported_formats=0x9 yuv420_allowed=0
[16:05:05] [PASSED] supported_formats=0x3 yuv420_allowed=1
[16:05:05] [PASSED] supported_formats=0x3 yuv420_allowed=0
[16:05:05] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:05:05] [PASSED] drm_test_connector_hdmi_init_null_ddc
[16:05:05] [PASSED] drm_test_connector_hdmi_init_null_product
[16:05:05] [PASSED] drm_test_connector_hdmi_init_null_vendor
[16:05:05] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[16:05:05] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[16:05:05] [PASSED] drm_test_connector_hdmi_init_product_valid
[16:05:05] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[16:05:05] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[16:05:05] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[16:05:05] ========= drm_test_connector_hdmi_init_type_valid =========
[16:05:05] [PASSED] HDMI-A
[16:05:05] [PASSED] HDMI-B
[16:05:05] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[16:05:05] ======== drm_test_connector_hdmi_init_type_invalid ========
[16:05:05] [PASSED] Unknown
[16:05:05] [PASSED] VGA
[16:05:05] [PASSED] DVI-I
[16:05:05] [PASSED] DVI-D
[16:05:05] [PASSED] DVI-A
[16:05:05] [PASSED] Composite
[16:05:05] [PASSED] SVIDEO
[16:05:05] [PASSED] LVDS
[16:05:05] [PASSED] Component
[16:05:05] [PASSED] DIN
[16:05:05] [PASSED] DP
[16:05:05] [PASSED] TV
[16:05:05] [PASSED] eDP
[16:05:05] [PASSED] Virtual
[16:05:05] [PASSED] DSI
[16:05:05] [PASSED] DPI
[16:05:05] [PASSED] Writeback
[16:05:05] [PASSED] SPI
[16:05:05] [PASSED] USB
[16:05:05] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[16:05:05] ============ [PASSED] drmm_connector_hdmi_init =============
[16:05:05] ============= drmm_connector_init (3 subtests) =============
[16:05:05] [PASSED] drm_test_drmm_connector_init
[16:05:05] [PASSED] drm_test_drmm_connector_init_null_ddc
[16:05:05] ========= drm_test_drmm_connector_init_type_valid =========
[16:05:05] [PASSED] Unknown
[16:05:05] [PASSED] VGA
[16:05:05] [PASSED] DVI-I
[16:05:05] [PASSED] DVI-D
[16:05:05] [PASSED] DVI-A
[16:05:05] [PASSED] Composite
[16:05:05] [PASSED] SVIDEO
[16:05:05] [PASSED] LVDS
[16:05:05] [PASSED] Component
[16:05:05] [PASSED] DIN
[16:05:05] [PASSED] DP
[16:05:05] [PASSED] HDMI-A
[16:05:05] [PASSED] HDMI-B
[16:05:05] [PASSED] TV
[16:05:05] [PASSED] eDP
[16:05:05] [PASSED] Virtual
[16:05:05] [PASSED] DSI
[16:05:05] [PASSED] DPI
[16:05:05] [PASSED] Writeback
[16:05:05] [PASSED] SPI
[16:05:05] [PASSED] USB
[16:05:05] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[16:05:05] =============== [PASSED] drmm_connector_init ===============
[16:05:05] ========= drm_connector_dynamic_init (6 subtests) ==========
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_init
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_init_properties
[16:05:05] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[16:05:05] [PASSED] Unknown
[16:05:05] [PASSED] VGA
[16:05:05] [PASSED] DVI-I
[16:05:05] [PASSED] DVI-D
[16:05:05] [PASSED] DVI-A
[16:05:05] [PASSED] Composite
[16:05:05] [PASSED] SVIDEO
[16:05:05] [PASSED] LVDS
[16:05:05] [PASSED] Component
[16:05:05] [PASSED] DIN
[16:05:05] [PASSED] DP
[16:05:05] [PASSED] HDMI-A
[16:05:05] [PASSED] HDMI-B
[16:05:05] [PASSED] TV
[16:05:05] [PASSED] eDP
[16:05:05] [PASSED] Virtual
[16:05:05] [PASSED] DSI
[16:05:05] [PASSED] DPI
[16:05:05] [PASSED] Writeback
[16:05:05] [PASSED] SPI
[16:05:05] [PASSED] USB
[16:05:05] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[16:05:05] ======== drm_test_drm_connector_dynamic_init_name =========
[16:05:05] [PASSED] Unknown
[16:05:05] [PASSED] VGA
[16:05:05] [PASSED] DVI-I
[16:05:05] [PASSED] DVI-D
[16:05:05] [PASSED] DVI-A
[16:05:05] [PASSED] Composite
[16:05:05] [PASSED] SVIDEO
[16:05:05] [PASSED] LVDS
[16:05:05] [PASSED] Component
[16:05:05] [PASSED] DIN
[16:05:05] [PASSED] DP
[16:05:05] [PASSED] HDMI-A
[16:05:05] [PASSED] HDMI-B
[16:05:05] [PASSED] TV
[16:05:05] [PASSED] eDP
[16:05:05] [PASSED] Virtual
[16:05:05] [PASSED] DSI
[16:05:05] [PASSED] DPI
[16:05:05] [PASSED] Writeback
[16:05:05] [PASSED] SPI
[16:05:05] [PASSED] USB
[16:05:05] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[16:05:05] =========== [PASSED] drm_connector_dynamic_init ============
[16:05:05] ==== drm_connector_dynamic_register_early (4 subtests) =====
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[16:05:05] ====== [PASSED] drm_connector_dynamic_register_early =======
[16:05:05] ======= drm_connector_dynamic_register (7 subtests) ========
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[16:05:05] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[16:05:05] ========= [PASSED] drm_connector_dynamic_register ==========
[16:05:05] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[16:05:05] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[16:05:05] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[16:05:05] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[16:05:05] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[16:05:05] ========== drm_test_get_tv_mode_from_name_valid ===========
[16:05:05] [PASSED] NTSC
[16:05:05] [PASSED] NTSC-443
[16:05:05] [PASSED] NTSC-J
[16:05:05] [PASSED] PAL
[16:05:05] [PASSED] PAL-M
[16:05:05] [PASSED] PAL-N
[16:05:05] [PASSED] SECAM
[16:05:05] [PASSED] Mono
[16:05:05] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[16:05:05] [PASSED] drm_test_get_tv_mode_from_name_truncated
[16:05:05] ============ [PASSED] drm_get_tv_mode_from_name ============
[16:05:05] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[16:05:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[16:05:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[16:05:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[16:05:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[16:05:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[16:05:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[16:05:05] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[16:05:05] [PASSED] VIC 96
[16:05:05] [PASSED] VIC 97
[16:05:05] [PASSED] VIC 101
[16:05:05] [PASSED] VIC 102
[16:05:05] [PASSED] VIC 106
[16:05:05] [PASSED] VIC 107
[16:05:05] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[16:05:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[16:05:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[16:05:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[16:05:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[16:05:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[16:05:05] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[16:05:05] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[16:05:05] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[16:05:05] [PASSED] Automatic
[16:05:05] [PASSED] Full
[16:05:05] [PASSED] Limited 16:235
[16:05:05] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[16:05:05] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[16:05:05] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[16:05:05] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[16:05:05] === drm_test_drm_hdmi_connector_get_output_format_name ====
[16:05:05] [PASSED] RGB
[16:05:05] [PASSED] YUV 4:2:0
[16:05:05] [PASSED] YUV 4:2:2
[16:05:05] [PASSED] YUV 4:4:4
[16:05:05] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[16:05:05] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[16:05:05] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[16:05:05] ============= drm_damage_helper (21 subtests) ==============
[16:05:05] [PASSED] drm_test_damage_iter_no_damage
[16:05:05] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[16:05:05] [PASSED] drm_test_damage_iter_no_damage_src_moved
[16:05:05] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[16:05:05] [PASSED] drm_test_damage_iter_no_damage_not_visible
[16:05:05] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[16:05:05] [PASSED] drm_test_damage_iter_no_damage_no_fb
[16:05:05] [PASSED] drm_test_damage_iter_simple_damage
[16:05:05] [PASSED] drm_test_damage_iter_single_damage
[16:05:05] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[16:05:05] [PASSED] drm_test_damage_iter_single_damage_outside_src
[16:05:05] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[16:05:05] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[16:05:05] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[16:05:05] [PASSED] drm_test_damage_iter_single_damage_src_moved
[16:05:05] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[16:05:05] [PASSED] drm_test_damage_iter_damage
[16:05:05] [PASSED] drm_test_damage_iter_damage_one_intersect
[16:05:05] [PASSED] drm_test_damage_iter_damage_one_outside
[16:05:05] [PASSED] drm_test_damage_iter_damage_src_moved
[16:05:05] [PASSED] drm_test_damage_iter_damage_not_visible
[16:05:05] ================ [PASSED] drm_damage_helper ================
[16:05:05] ============== drm_dp_mst_helper (3 subtests) ==============
[16:05:05] ============== drm_test_dp_mst_calc_pbn_mode ==============
[16:05:05] [PASSED] Clock 154000 BPP 30 DSC disabled
[16:05:05] [PASSED] Clock 234000 BPP 30 DSC disabled
[16:05:05] [PASSED] Clock 297000 BPP 24 DSC disabled
[16:05:05] [PASSED] Clock 332880 BPP 24 DSC enabled
[16:05:05] [PASSED] Clock 324540 BPP 24 DSC enabled
[16:05:05] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[16:05:05] ============== drm_test_dp_mst_calc_pbn_div ===============
[16:05:05] [PASSED] Link rate 2000000 lane count 4
[16:05:05] [PASSED] Link rate 2000000 lane count 2
[16:05:05] [PASSED] Link rate 2000000 lane count 1
[16:05:05] [PASSED] Link rate 1350000 lane count 4
[16:05:05] [PASSED] Link rate 1350000 lane count 2
[16:05:05] [PASSED] Link rate 1350000 lane count 1
[16:05:05] [PASSED] Link rate 1000000 lane count 4
[16:05:05] [PASSED] Link rate 1000000 lane count 2
[16:05:05] [PASSED] Link rate 1000000 lane count 1
[16:05:05] [PASSED] Link rate 810000 lane count 4
[16:05:05] [PASSED] Link rate 810000 lane count 2
[16:05:05] [PASSED] Link rate 810000 lane count 1
[16:05:05] [PASSED] Link rate 540000 lane count 4
[16:05:05] [PASSED] Link rate 540000 lane count 2
[16:05:05] [PASSED] Link rate 540000 lane count 1
[16:05:05] [PASSED] Link rate 270000 lane count 4
[16:05:05] [PASSED] Link rate 270000 lane count 2
[16:05:05] [PASSED] Link rate 270000 lane count 1
[16:05:05] [PASSED] Link rate 162000 lane count 4
[16:05:05] [PASSED] Link rate 162000 lane count 2
[16:05:05] [PASSED] Link rate 162000 lane count 1
[16:05:05] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[16:05:05] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[16:05:05] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[16:05:05] [PASSED] DP_POWER_UP_PHY with port number
[16:05:05] [PASSED] DP_POWER_DOWN_PHY with port number
[16:05:05] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[16:05:05] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[16:05:05] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[16:05:05] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[16:05:05] [PASSED] DP_QUERY_PAYLOAD with port number
[16:05:05] [PASSED] DP_QUERY_PAYLOAD with VCPI
[16:05:05] [PASSED] DP_REMOTE_DPCD_READ with port number
[16:05:05] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[16:05:05] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[16:05:05] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[16:05:05] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[16:05:05] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[16:05:05] [PASSED] DP_REMOTE_I2C_READ with port number
[16:05:05] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[16:05:05] [PASSED] DP_REMOTE_I2C_READ with transactions array
[16:05:05] [PASSED] DP_REMOTE_I2C_WRITE with port number
[16:05:05] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[16:05:05] [PASSED] DP_REMOTE_I2C_WRITE with data array
[16:05:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[16:05:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[16:05:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[16:05:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[16:05:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[16:05:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[16:05:05] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[16:05:05] ================ [PASSED] drm_dp_mst_helper ================
[16:05:05] ================== drm_exec (7 subtests) ===================
[16:05:05] [PASSED] sanitycheck
[16:05:05] [PASSED] test_lock
[16:05:05] [PASSED] test_lock_unlock
[16:05:05] [PASSED] test_duplicates
[16:05:05] [PASSED] test_prepare
[16:05:05] [PASSED] test_prepare_array
[16:05:05] [PASSED] test_multiple_loops
[16:05:05] ==================== [PASSED] drm_exec =====================
[16:05:05] =========== drm_format_helper_test (18 subtests) ===========
[16:05:05] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[16:05:05] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[16:05:05] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[16:05:05] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[16:05:05] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[16:05:05] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[16:05:05] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[16:05:05] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[16:05:05] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[16:05:05] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[16:05:05] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[16:05:05] ============== drm_test_fb_xrgb8888_to_mono ===============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[16:05:05] ==================== drm_test_fb_swab =====================
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ================ [PASSED] drm_test_fb_swab =================
[16:05:05] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[16:05:05] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[16:05:05] [PASSED] single_pixel_source_buffer
[16:05:05] [PASSED] single_pixel_clip_rectangle
[16:05:05] [PASSED] well_known_colors
[16:05:05] [PASSED] destination_pitch
[16:05:05] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[16:05:05] ================= drm_test_fb_clip_offset =================
[16:05:05] [PASSED] pass through
[16:05:05] [PASSED] horizontal offset
[16:05:05] [PASSED] vertical offset
[16:05:05] [PASSED] horizontal and vertical offset
[16:05:05] [PASSED] horizontal offset (custom pitch)
[16:05:05] [PASSED] vertical offset (custom pitch)
[16:05:05] [PASSED] horizontal and vertical offset (custom pitch)
[16:05:05] ============= [PASSED] drm_test_fb_clip_offset =============
[16:05:05] ============== drm_test_fb_build_fourcc_list ==============
[16:05:05] [PASSED] no native formats
[16:05:05] [PASSED] XRGB8888 as native format
[16:05:05] [PASSED] remove duplicates
[16:05:05] [PASSED] convert alpha formats
[16:05:05] [PASSED] random formats
[16:05:05] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[16:05:05] =================== drm_test_fb_memcpy ====================
[16:05:05] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[16:05:05] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[16:05:05] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[16:05:05] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[16:05:05] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[16:05:05] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[16:05:05] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[16:05:05] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[16:05:05] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[16:05:05] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[16:05:05] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[16:05:05] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[16:05:05] =============== [PASSED] drm_test_fb_memcpy ================
[16:05:05] ============= [PASSED] drm_format_helper_test ==============
[16:05:05] ================= drm_format (18 subtests) =================
[16:05:05] [PASSED] drm_test_format_block_width_invalid
[16:05:05] [PASSED] drm_test_format_block_width_one_plane
[16:05:05] [PASSED] drm_test_format_block_width_two_plane
[16:05:05] [PASSED] drm_test_format_block_width_three_plane
[16:05:05] [PASSED] drm_test_format_block_width_tiled
[16:05:05] [PASSED] drm_test_format_block_height_invalid
[16:05:05] [PASSED] drm_test_format_block_height_one_plane
[16:05:05] [PASSED] drm_test_format_block_height_two_plane
[16:05:05] [PASSED] drm_test_format_block_height_three_plane
[16:05:05] [PASSED] drm_test_format_block_height_tiled
[16:05:05] [PASSED] drm_test_format_min_pitch_invalid
[16:05:05] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[16:05:05] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[16:05:05] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[16:05:05] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[16:05:05] [PASSED] drm_test_format_min_pitch_two_plane
[16:05:05] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[16:05:05] [PASSED] drm_test_format_min_pitch_tiled
[16:05:05] =================== [PASSED] drm_format ====================
[16:05:05] ============== drm_framebuffer (10 subtests) ===============
[16:05:05] ========== drm_test_framebuffer_check_src_coords ==========
[16:05:05] [PASSED] Success: source fits into fb
[16:05:05] [PASSED] Fail: overflowing fb with x-axis coordinate
[16:05:05] [PASSED] Fail: overflowing fb with y-axis coordinate
[16:05:05] [PASSED] Fail: overflowing fb with source width
[16:05:05] [PASSED] Fail: overflowing fb with source height
[16:05:05] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[16:05:05] [PASSED] drm_test_framebuffer_cleanup
[16:05:05] =============== drm_test_framebuffer_create ===============
[16:05:05] [PASSED] ABGR8888 normal sizes
[16:05:05] [PASSED] ABGR8888 max sizes
[16:05:05] [PASSED] ABGR8888 pitch greater than min required
[16:05:05] [PASSED] ABGR8888 pitch less than min required
[16:05:05] [PASSED] ABGR8888 Invalid width
[16:05:05] [PASSED] ABGR8888 Invalid buffer handle
[16:05:05] [PASSED] No pixel format
[16:05:05] [PASSED] ABGR8888 Width 0
[16:05:05] [PASSED] ABGR8888 Height 0
[16:05:05] [PASSED] ABGR8888 Out of bound height * pitch combination
[16:05:05] [PASSED] ABGR8888 Large buffer offset
[16:05:05] [PASSED] ABGR8888 Buffer offset for inexistent plane
[16:05:05] [PASSED] ABGR8888 Invalid flag
[16:05:05] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[16:05:05] [PASSED] ABGR8888 Valid buffer modifier
[16:05:05] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[16:05:05] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[16:05:05] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[16:05:05] [PASSED] NV12 Normal sizes
[16:05:05] [PASSED] NV12 Max sizes
[16:05:05] [PASSED] NV12 Invalid pitch
[16:05:05] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[16:05:05] [PASSED] NV12 different modifier per-plane
[16:05:05] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[16:05:05] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[16:05:05] [PASSED] NV12 Modifier for inexistent plane
[16:05:05] [PASSED] NV12 Handle for inexistent plane
[16:05:05] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[16:05:05] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[16:05:05] [PASSED] YVU420 Normal sizes
[16:05:05] [PASSED] YVU420 Max sizes
[16:05:05] [PASSED] YVU420 Invalid pitch
[16:05:05] [PASSED] YVU420 Different pitches
[16:05:05] [PASSED] YVU420 Different buffer offsets/pitches
[16:05:05] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[16:05:05] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[16:05:05] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[16:05:05] [PASSED] YVU420 Valid modifier
[16:05:05] [PASSED] YVU420 Different modifiers per plane
[16:05:05] [PASSED] YVU420 Modifier for inexistent plane
[16:05:05] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[16:05:05] [PASSED] X0L2 Normal sizes
[16:05:05] [PASSED] X0L2 Max sizes
[16:05:05] [PASSED] X0L2 Invalid pitch
[16:05:05] [PASSED] X0L2 Pitch greater than minimum required
[16:05:05] [PASSED] X0L2 Handle for inexistent plane
[16:05:05] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[16:05:05] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[16:05:05] [PASSED] X0L2 Valid modifier
[16:05:05] [PASSED] X0L2 Modifier for inexistent plane
[16:05:05] =========== [PASSED] drm_test_framebuffer_create ===========
[16:05:05] [PASSED] drm_test_framebuffer_free
[16:05:05] [PASSED] drm_test_framebuffer_init
[16:05:05] [PASSED] drm_test_framebuffer_init_bad_format
[16:05:05] [PASSED] drm_test_framebuffer_init_dev_mismatch
[16:05:05] [PASSED] drm_test_framebuffer_lookup
[16:05:05] [PASSED] drm_test_framebuffer_lookup_inexistent
[16:05:05] [PASSED] drm_test_framebuffer_modifiers_not_supported
[16:05:05] ================= [PASSED] drm_framebuffer =================
[16:05:05] ================ drm_gem_shmem (8 subtests) ================
[16:05:05] [PASSED] drm_gem_shmem_test_obj_create
[16:05:05] [PASSED] drm_gem_shmem_test_obj_create_private
[16:05:05] [PASSED] drm_gem_shmem_test_pin_pages
[16:05:05] [PASSED] drm_gem_shmem_test_vmap
[16:05:05] [PASSED] drm_gem_shmem_test_get_pages_sgt
[16:05:05] [PASSED] drm_gem_shmem_test_get_sg_table
[16:05:05] [PASSED] drm_gem_shmem_test_madvise
[16:05:05] [PASSED] drm_gem_shmem_test_purge
[16:05:05] ================== [PASSED] drm_gem_shmem ==================
[16:05:05] === drm_atomic_helper_connector_hdmi_check (23 subtests) ===
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[16:05:05] [PASSED] drm_test_check_disable_connector
[16:05:05] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[16:05:05] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[16:05:05] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[16:05:05] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[16:05:05] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[16:05:05] [PASSED] drm_test_check_output_bpc_dvi
[16:05:05] [PASSED] drm_test_check_output_bpc_format_vic_1
[16:05:05] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[16:05:05] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[16:05:05] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[16:05:05] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[16:05:05] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[16:05:05] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[16:05:05] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[16:05:05] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[16:05:05] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[16:05:05] [PASSED] drm_test_check_broadcast_rgb_value
[16:05:05] [PASSED] drm_test_check_bpc_8_value
[16:05:05] [PASSED] drm_test_check_bpc_10_value
[16:05:05] [PASSED] drm_test_check_bpc_12_value
[16:05:05] [PASSED] drm_test_check_format_value
[16:05:05] [PASSED] drm_test_check_tmds_char_value
[16:05:05] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[16:05:05] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[16:05:05] [PASSED] drm_test_check_mode_valid
[16:05:05] [PASSED] drm_test_check_mode_valid_reject
[16:05:05] [PASSED] drm_test_check_mode_valid_reject_rate
[16:05:05] [PASSED] drm_test_check_mode_valid_reject_max_clock
[16:05:05] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[16:05:05] ================= drm_managed (2 subtests) =================
[16:05:05] [PASSED] drm_test_managed_release_action
[16:05:05] [PASSED] drm_test_managed_run_action
[16:05:05] =================== [PASSED] drm_managed ===================
[16:05:05] =================== drm_mm (6 subtests) ====================
[16:05:05] [PASSED] drm_test_mm_init
[16:05:05] [PASSED] drm_test_mm_debug
[16:05:05] [PASSED] drm_test_mm_align32
[16:05:05] [PASSED] drm_test_mm_align64
[16:05:05] [PASSED] drm_test_mm_lowest
[16:05:05] [PASSED] drm_test_mm_highest
[16:05:05] ===================== [PASSED] drm_mm ======================
[16:05:05] ============= drm_modes_analog_tv (5 subtests) =============
[16:05:05] [PASSED] drm_test_modes_analog_tv_mono_576i
[16:05:05] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[16:05:05] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[16:05:05] [PASSED] drm_test_modes_analog_tv_pal_576i
[16:05:05] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[16:05:05] =============== [PASSED] drm_modes_analog_tv ===============
[16:05:05] ============== drm_plane_helper (2 subtests) ===============
[16:05:05] =============== drm_test_check_plane_state ================
[16:05:05] [PASSED] clipping_simple
[16:05:05] [PASSED] clipping_rotate_reflect
[16:05:05] [PASSED] positioning_simple
[16:05:05] [PASSED] upscaling
[16:05:05] [PASSED] downscaling
[16:05:05] [PASSED] rounding1
[16:05:05] [PASSED] rounding2
[16:05:05] [PASSED] rounding3
[16:05:05] [PASSED] rounding4
[16:05:05] =========== [PASSED] drm_test_check_plane_state ============
[16:05:05] =========== drm_test_check_invalid_plane_state ============
[16:05:05] [PASSED] positioning_invalid
[16:05:05] [PASSED] upscaling_invalid
[16:05:05] [PASSED] downscaling_invalid
[16:05:05] ======= [PASSED] drm_test_check_invalid_plane_state ========
[16:05:05] ================ [PASSED] drm_plane_helper =================
[16:05:05] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[16:05:05] ====== drm_test_connector_helper_tv_get_modes_check =======
[16:05:05] [PASSED] None
[16:05:05] [PASSED] PAL
[16:05:05] [PASSED] NTSC
[16:05:05] [PASSED] Both, NTSC Default
[16:05:05] [PASSED] Both, PAL Default
[16:05:05] [PASSED] Both, NTSC Default, with PAL on command-line
[16:05:05] [PASSED] Both, PAL Default, with NTSC on command-line
[16:05:05] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[16:05:05] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[16:05:05] ================== drm_rect (9 subtests) ===================
[16:05:05] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[16:05:05] [PASSED] drm_test_rect_clip_scaled_not_clipped
[16:05:05] [PASSED] drm_test_rect_clip_scaled_clipped
[16:05:05] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[16:05:05] ================= drm_test_rect_intersect =================
[16:05:05] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[16:05:05] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[16:05:05] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[16:05:05] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[16:05:05] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[16:05:05] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[16:05:05] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[16:05:05] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[16:05:05] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[16:05:05] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[16:05:05] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[16:05:05] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[16:05:05] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[16:05:05] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[16:05:05] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[16:05:05] ============= [PASSED] drm_test_rect_intersect =============
[16:05:05] ================ drm_test_rect_calc_hscale ================
[16:05:05] [PASSED] normal use
[16:05:05] [PASSED] out of max range
[16:05:05] [PASSED] out of min range
[16:05:05] [PASSED] zero dst
[16:05:05] [PASSED] negative src
[16:05:05] [PASSED] negative dst
[16:05:05] ============ [PASSED] drm_test_rect_calc_hscale ============
[16:05:05] ================ drm_test_rect_calc_vscale ================
[16:05:05] [PASSED] normal use
[16:05:05] [PASSED] out of max range
[16:05:05] [PASSED] out of min range
[16:05:05] [PASSED] zero dst
[16:05:05] [PASSED] negative src
[16:05:05] [PASSED] negative dst
[16:05:05] ============ [PASSED] drm_test_rect_calc_vscale ============
[16:05:05] ================== drm_test_rect_rotate ===================
[16:05:05] [PASSED] reflect-x
[16:05:05] [PASSED] reflect-y
[16:05:05] [PASSED] rotate-0
[16:05:05] [PASSED] rotate-90
[16:05:05] [PASSED] rotate-180
[16:05:05] [PASSED] rotate-270
[16:05:05] ============== [PASSED] drm_test_rect_rotate ===============
[16:05:05] ================ drm_test_rect_rotate_inv =================
[16:05:05] [PASSED] reflect-x
[16:05:05] [PASSED] reflect-y
[16:05:05] [PASSED] rotate-0
[16:05:05] [PASSED] rotate-90
[16:05:05] [PASSED] rotate-180
[16:05:05] [PASSED] rotate-270
[16:05:05] ============ [PASSED] drm_test_rect_rotate_inv =============
stty: 'standard input': Inappropriate ioctl for device
[16:05:05] ==================== [PASSED] drm_rect =====================
[16:05:05] ============================================================
[16:05:05] Testing complete. Ran 608 tests: passed: 608
[16:05:05] Elapsed time: 23.309s total, 1.740s configuring, 21.399s building, 0.138s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[16:05:05] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:05:07] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:05:15] Starting KUnit Kernel (1/1)...
[16:05:15] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:05:15] ================= ttm_device (5 subtests) ==================
[16:05:15] [PASSED] ttm_device_init_basic
[16:05:15] [PASSED] ttm_device_init_multiple
[16:05:15] [PASSED] ttm_device_fini_basic
[16:05:15] [PASSED] ttm_device_init_no_vma_man
[16:05:15] ================== ttm_device_init_pools ==================
[16:05:15] [PASSED] No DMA allocations, no DMA32 required
[16:05:15] [PASSED] DMA allocations, DMA32 required
[16:05:15] [PASSED] No DMA allocations, DMA32 required
[16:05:15] [PASSED] DMA allocations, no DMA32 required
[16:05:15] ============== [PASSED] ttm_device_init_pools ==============
[16:05:15] =================== [PASSED] ttm_device ====================
[16:05:15] ================== ttm_pool (8 subtests) ===================
[16:05:15] ================== ttm_pool_alloc_basic ===================
[16:05:15] [PASSED] One page
[16:05:15] [PASSED] More than one page
[16:05:15] [PASSED] Above the allocation limit
[16:05:15] [PASSED] One page, with coherent DMA mappings enabled
[16:05:15] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:05:15] ============== [PASSED] ttm_pool_alloc_basic ===============
[16:05:15] ============== ttm_pool_alloc_basic_dma_addr ==============
[16:05:15] [PASSED] One page
[16:05:15] [PASSED] More than one page
[16:05:15] [PASSED] Above the allocation limit
[16:05:15] [PASSED] One page, with coherent DMA mappings enabled
[16:05:15] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:05:15] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[16:05:15] [PASSED] ttm_pool_alloc_order_caching_match
[16:05:15] [PASSED] ttm_pool_alloc_caching_mismatch
[16:05:15] [PASSED] ttm_pool_alloc_order_mismatch
[16:05:15] [PASSED] ttm_pool_free_dma_alloc
[16:05:15] [PASSED] ttm_pool_free_no_dma_alloc
[16:05:15] [PASSED] ttm_pool_fini_basic
[16:05:15] ==================== [PASSED] ttm_pool =====================
[16:05:15] ================ ttm_resource (8 subtests) =================
[16:05:15] ================= ttm_resource_init_basic =================
[16:05:15] [PASSED] Init resource in TTM_PL_SYSTEM
[16:05:15] [PASSED] Init resource in TTM_PL_VRAM
[16:05:15] [PASSED] Init resource in a private placement
[16:05:15] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[16:05:15] ============= [PASSED] ttm_resource_init_basic =============
[16:05:15] [PASSED] ttm_resource_init_pinned
[16:05:15] [PASSED] ttm_resource_fini_basic
[16:05:15] [PASSED] ttm_resource_manager_init_basic
[16:05:15] [PASSED] ttm_resource_manager_usage_basic
[16:05:15] [PASSED] ttm_resource_manager_set_used_basic
[16:05:15] [PASSED] ttm_sys_man_alloc_basic
[16:05:15] [PASSED] ttm_sys_man_free_basic
[16:05:15] ================== [PASSED] ttm_resource ===================
[16:05:15] =================== ttm_tt (15 subtests) ===================
[16:05:15] ==================== ttm_tt_init_basic ====================
[16:05:15] [PASSED] Page-aligned size
[16:05:15] [PASSED] Extra pages requested
[16:05:15] ================ [PASSED] ttm_tt_init_basic ================
[16:05:15] [PASSED] ttm_tt_init_misaligned
[16:05:15] [PASSED] ttm_tt_fini_basic
[16:05:15] [PASSED] ttm_tt_fini_sg
[16:05:15] [PASSED] ttm_tt_fini_shmem
[16:05:15] [PASSED] ttm_tt_create_basic
[16:05:15] [PASSED] ttm_tt_create_invalid_bo_type
[16:05:15] [PASSED] ttm_tt_create_ttm_exists
[16:05:15] [PASSED] ttm_tt_create_failed
[16:05:15] [PASSED] ttm_tt_destroy_basic
[16:05:15] [PASSED] ttm_tt_populate_null_ttm
[16:05:15] [PASSED] ttm_tt_populate_populated_ttm
[16:05:15] [PASSED] ttm_tt_unpopulate_basic
[16:05:15] [PASSED] ttm_tt_unpopulate_empty_ttm
[16:05:15] [PASSED] ttm_tt_swapin_basic
[16:05:15] ===================== [PASSED] ttm_tt ======================
[16:05:15] =================== ttm_bo (14 subtests) ===================
[16:05:15] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[16:05:15] [PASSED] Cannot be interrupted and sleeps
[16:05:15] [PASSED] Cannot be interrupted, locks straight away
[16:05:15] [PASSED] Can be interrupted, sleeps
[16:05:15] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[16:05:15] [PASSED] ttm_bo_reserve_locked_no_sleep
[16:05:15] [PASSED] ttm_bo_reserve_no_wait_ticket
[16:05:15] [PASSED] ttm_bo_reserve_double_resv
[16:05:15] [PASSED] ttm_bo_reserve_interrupted
[16:05:15] [PASSED] ttm_bo_reserve_deadlock
[16:05:15] [PASSED] ttm_bo_unreserve_basic
[16:05:15] [PASSED] ttm_bo_unreserve_pinned
[16:05:15] [PASSED] ttm_bo_unreserve_bulk
[16:05:15] [PASSED] ttm_bo_put_basic
[16:05:15] [PASSED] ttm_bo_put_shared_resv
[16:05:15] [PASSED] ttm_bo_pin_basic
[16:05:15] [PASSED] ttm_bo_pin_unpin_resource
[16:05:15] [PASSED] ttm_bo_multiple_pin_one_unpin
[16:05:15] ===================== [PASSED] ttm_bo ======================
[16:05:15] ============== ttm_bo_validate (22 subtests) ===============
[16:05:15] ============== ttm_bo_init_reserved_sys_man ===============
[16:05:15] [PASSED] Buffer object for userspace
[16:05:15] [PASSED] Kernel buffer object
[16:05:15] [PASSED] Shared buffer object
[16:05:15] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[16:05:15] ============== ttm_bo_init_reserved_mock_man ==============
[16:05:15] [PASSED] Buffer object for userspace
[16:05:15] [PASSED] Kernel buffer object
[16:05:15] [PASSED] Shared buffer object
[16:05:15] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[16:05:15] [PASSED] ttm_bo_init_reserved_resv
[16:05:15] ================== ttm_bo_validate_basic ==================
[16:05:15] [PASSED] Buffer object for userspace
[16:05:15] [PASSED] Kernel buffer object
[16:05:15] [PASSED] Shared buffer object
[16:05:15] ============== [PASSED] ttm_bo_validate_basic ==============
[16:05:15] [PASSED] ttm_bo_validate_invalid_placement
[16:05:15] ============= ttm_bo_validate_same_placement ==============
[16:05:15] [PASSED] System manager
[16:05:15] [PASSED] VRAM manager
[16:05:15] ========= [PASSED] ttm_bo_validate_same_placement ==========
[16:05:15] [PASSED] ttm_bo_validate_failed_alloc
[16:05:15] [PASSED] ttm_bo_validate_pinned
[16:05:15] [PASSED] ttm_bo_validate_busy_placement
[16:05:15] ================ ttm_bo_validate_multihop =================
[16:05:15] [PASSED] Buffer object for userspace
[16:05:15] [PASSED] Kernel buffer object
[16:05:15] [PASSED] Shared buffer object
[16:05:15] ============ [PASSED] ttm_bo_validate_multihop =============
[16:05:15] ========== ttm_bo_validate_no_placement_signaled ==========
[16:05:15] [PASSED] Buffer object in system domain, no page vector
[16:05:15] [PASSED] Buffer object in system domain with an existing page vector
[16:05:15] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[16:05:15] ======== ttm_bo_validate_no_placement_not_signaled ========
[16:05:15] [PASSED] Buffer object for userspace
[16:05:15] [PASSED] Kernel buffer object
[16:05:15] [PASSED] Shared buffer object
[16:05:15] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[16:05:15] [PASSED] ttm_bo_validate_move_fence_signaled
[16:05:15] ========= ttm_bo_validate_move_fence_not_signaled =========
[16:05:15] [PASSED] Waits for GPU
[16:05:15] [PASSED] Tries to lock straight away
[16:05:15] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[16:05:15] [PASSED] ttm_bo_validate_swapout
[16:05:15] [PASSED] ttm_bo_validate_happy_evict
[16:05:15] [PASSED] ttm_bo_validate_all_pinned_evict
[16:05:15] [PASSED] ttm_bo_validate_allowed_only_evict
[16:05:15] [PASSED] ttm_bo_validate_deleted_evict
[16:05:15] [PASSED] ttm_bo_validate_busy_domain_evict
[16:05:15] [PASSED] ttm_bo_validate_evict_gutting
[16:05:15] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[16:05:15] ================= [PASSED] ttm_bo_validate =================
[16:05:15] ============================================================
[16:05:15] Testing complete. Ran 102 tests: passed: 102
[16:05:15] Elapsed time: 10.187s total, 1.777s configuring, 7.792s building, 0.533s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ CI.Build: success for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (6 preceding siblings ...)
2025-04-10 16:05 ` ✓ CI.KUnit: success " Patchwork
@ 2025-04-10 16:13 ` Patchwork
2025-04-10 16:15 ` ✓ CI.Hooks: " Patchwork
` (3 subsequent siblings)
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 16:13 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
State : success
== Summary ==
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/events/intel/intel-cstate.ko
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/events/amd/
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/events/amd/amd-uncore.ko
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/events/rapl.ko
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/kvm/
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.15.0-rc1-xe+/kernel/arch/x86/kvm/kvm-amd.ko
lib/modules/6.15.0-rc1-xe+/kernel/kernel/
lib/modules/6.15.0-rc1-xe+/kernel/kernel/kheaders.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/
lib/modules/6.15.0-rc1-xe+/kernel/crypto/ecrdsa_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/xcbc.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/serpent_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/aria_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/crypto_simd.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/adiantum.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/tcrypt.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/crypto_engine.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/zstd.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/asymmetric_keys/
lib/modules/6.15.0-rc1-xe+/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/des_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/xctr.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/authenc.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/sm4_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/camellia_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/sm3.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/pcrypt.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/aegis128.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/af_alg.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/algif_aead.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/cmac.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/sm3_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/aes_ti.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/chacha_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/poly1305_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/nhpoly1305.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/crc32_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/essiv.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/ccm.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/wp512.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/streebog_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/authencesn.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/echainiv.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/lrw.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/cryptd.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/crypto_user.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/algif_hash.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/polyval-generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/hctr2.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/842.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/pcbc.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/ansi_cprng.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/cast6_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/twofish_common.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/twofish_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/lz4hc.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/blowfish_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/md4.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/chacha20poly1305.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/curve25519-generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/lz4.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/rmd160.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/algif_skcipher.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/cast5_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/fcrypt.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/ecdsa_generic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/sm4.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/cast_common.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/blowfish_common.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/michael_mic.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/async_tx/
lib/modules/6.15.0-rc1-xe+/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.15.0-rc1-xe+/kernel/crypto/algif_rng.ko
lib/modules/6.15.0-rc1-xe+/kernel/block/
lib/modules/6.15.0-rc1-xe+/kernel/block/bfq.ko
lib/modules/6.15.0-rc1-xe+/kernel/block/kyber-iosched.ko
lib/modules/6.15.0-rc1-xe+/build
lib/modules/6.15.0-rc1-xe+/modules.alias.bin
lib/modules/6.15.0-rc1-xe+/modules.builtin
lib/modules/6.15.0-rc1-xe+/modules.softdep
lib/modules/6.15.0-rc1-xe+/modules.alias
lib/modules/6.15.0-rc1-xe+/modules.order
lib/modules/6.15.0-rc1-xe+/modules.symbols
lib/modules/6.15.0-rc1-xe+/modules.dep.bin
+ mv kernel-debug.tar.gz ..
+ cd ..
+ rm -rf archive-debug
+ sync
[+] Finished building and packaging 'debug'!
+ echo '[+] Finished building and packaging '\''debug'\''!'
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ CI.Hooks: success for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (7 preceding siblings ...)
2025-04-10 16:13 ` ✓ CI.Build: " Patchwork
@ 2025-04-10 16:15 ` Patchwork
2025-04-10 16:17 ` ✓ CI.checksparse: " Patchwork
` (2 subsequent siblings)
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 16:15 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
State : success
== Summary ==
run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-debug"
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-debug ']'
+ BUILD_DIR=/workspace/kernel/build64-debug
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-debug modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-debug'
GEN Makefile
DESCEND objtool
CALL ../scripts/checksyscalls.sh
INSTALL libsubcmd_headers
CC /workspace/kernel/build64-debug/tools/objtool/libsubcmd/exec-cmd.o
CC /workspace/kernel/build64-debug/tools/objtool/libsubcmd/help.o
CC /workspace/kernel/build64-debug/tools/objtool/libsubcmd/pager.o
CC /workspace/kernel/build64-debug/tools/objtool/libsubcmd/parse-options.o
CC /workspace/kernel/build64-debug/tools/objtool/libsubcmd/run-command.o
CC /workspace/kernel/build64-debug/tools/objtool/libsubcmd/sigchain.o
CC /workspace/kernel/build64-debug/tools/objtool/libsubcmd/subcmd-config.o
LD /workspace/kernel/build64-debug/tools/objtool/libsubcmd/libsubcmd-in.o
AR /workspace/kernel/build64-debug/tools/objtool/libsubcmd/libsubcmd.a
CC /workspace/kernel/build64-debug/tools/objtool/weak.o
CC /workspace/kernel/build64-debug/tools/objtool/check.o
CC /workspace/kernel/build64-debug/tools/objtool/special.o
CC /workspace/kernel/build64-debug/tools/objtool/builtin-check.o
CC /workspace/kernel/build64-debug/tools/objtool/arch/x86/special.o
CC /workspace/kernel/build64-debug/tools/objtool/elf.o
CC /workspace/kernel/build64-debug/tools/objtool/arch/x86/decode.o
CC /workspace/kernel/build64-debug/tools/objtool/objtool.o
CC /workspace/kernel/build64-debug/tools/objtool/orc_gen.o
CC /workspace/kernel/build64-debug/tools/objtool/orc_dump.o
CC /workspace/kernel/build64-debug/tools/objtool/arch/x86/orc.o
CC /workspace/kernel/build64-debug/tools/objtool/libstring.o
CC /workspace/kernel/build64-debug/tools/objtool/libctype.o
CC /workspace/kernel/build64-debug/tools/objtool/str_error_r.o
CC /workspace/kernel/build64-debug/tools/objtool/librbtree.o
LD /workspace/kernel/build64-debug/tools/objtool/arch/x86/objtool-in.o
LD /workspace/kernel/build64-debug/tools/objtool/objtool-in.o
LINK /workspace/kernel/build64-debug/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-debug'
++ nproc
+ make -j48 O=/workspace/kernel/build64-debug W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-debug'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
make[1]: Leaving directory '/workspace/kernel/build64-debug'
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-debug ']'
+ BUILD_DIR=/workspace/kernel/build64-debug
+ BUILD_DIR=/workspace/kernel/build64-debug/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-debug/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-debug/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-debug/build32'
GEN Makefile
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/confdata.o
LEX scripts/kconfig/lexer.lex.c
HOSTCC scripts/kconfig/expr.o
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTLD scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-debug/build32'
+ cd /workspace/kernel/build64-debug/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
#
# 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_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_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_MATOM not in final .config
Requested value: # CONFIG_MATOM 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_HIGHMEM4G not in final .config
Requested value: # CONFIG_HIGHMEM4G 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_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_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_X86_DISABLED_FEATURE_PCID not in final .config
Requested value: CONFIG_X86_DISABLED_FEATURE_PCID=y
Actual value:
Value requested for CONFIG_X86_DISABLED_FEATURE_PKU not in final .config
Requested value: CONFIG_X86_DISABLED_FEATURE_PKU=y
Actual value:
Value requested for CONFIG_X86_DISABLED_FEATURE_OSPKE not in final .config
Requested value: CONFIG_X86_DISABLED_FEATURE_OSPKE=y
Actual value:
Value requested for CONFIG_X86_DISABLED_FEATURE_LA57 not in final .config
Requested value: CONFIG_X86_DISABLED_FEATURE_LA57=y
Actual value:
Value requested for CONFIG_X86_DISABLED_FEATURE_PTI not in final .config
Requested value: CONFIG_X86_DISABLED_FEATURE_PTI=y
Actual value:
Value requested for CONFIG_X86_DISABLED_FEATURE_IBT not in final .config
Requested value: CONFIG_X86_DISABLED_FEATURE_IBT=y
Actual value:
Value requested for CONFIG_X86_DISABLED_FEATURE_INVLPGB not in final .config
Requested value: CONFIG_X86_DISABLED_FEATURE_INVLPGB=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_KMAP_LOCAL not in final .config
Requested value: CONFIG_KMAP_LOCAL=y
Actual value:
Value requested for CONFIG_HAVE_EISA not in final .config
Requested value: CONFIG_HAVE_EISA=y
Actual value:
Value requested for CONFIG_EISA not in final .config
Requested value: # CONFIG_EISA is not set
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_HAVE_DEBUG_STACKOVERFLOW not in final .config
Requested value: CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
Actual value:
Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config
Requested value: # CONFIG_DEBUG_STACKOVERFLOW is not set
Actual value:
Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
Actual value:
Value requested for CONFIG_HAVE_FUNCTION_GRAPH_FREGS not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_FREGS=y
Actual value:
Value requested for CONFIG_HAVE_FTRACE_GRAPH_FUNC not in final .config
Requested value: CONFIG_HAVE_FTRACE_GRAPH_FUNC=y
Actual value:
Value requested for CONFIG_DRM_KUNIT_TEST not in final .config
Requested value: CONFIG_DRM_KUNIT_TEST=m
Actual value:
Value requested for CONFIG_DRM_XE_WERROR not in final .config
Requested value: CONFIG_DRM_XE_WERROR=y
Actual value:
Value requested for CONFIG_DRM_XE_DEBUG not in final .config
Requested value: CONFIG_DRM_XE_DEBUG=y
Actual value:
Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config
Requested value: CONFIG_DRM_XE_DEBUG_MEM=y
Actual value:
Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config
Requested value: CONFIG_DRM_XE_KUNIT_TEST=m
Actual value:
++ nproc
+ make -j48 ARCH=i386 olddefconfig
GEN Makefile
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
SYNC include/config/auto.conf.cmd
GEN Makefile
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
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
WRAP arch/x86/include/generated/uapi/asm/param.h
WRAP arch/x86/include/generated/uapi/asm/resource.h
WRAP arch/x86/include/generated/uapi/asm/socket.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
WRAP arch/x86/include/generated/uapi/asm/sockios.h
WRAP arch/x86/include/generated/uapi/asm/termbits.h
UPD include/generated/uapi/linux/version.h
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
UPD arch/x86/include/generated/asm/cpufeaturemasks.h
WRAP arch/x86/include/generated/uapi/asm/termios.h
WRAP arch/x86/include/generated/uapi/asm/types.h
WRAP arch/x86/include/generated/asm/early_ioremap.h
WRAP arch/x86/include/generated/asm/fprobe.h
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
UPD include/generated/compile.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
HOSTCC arch/x86/tools/relocs_32.o
WRAP arch/x86/include/generated/asm/local64.h
HOSTCC arch/x86/tools/relocs_64.o
WRAP arch/x86/include/generated/asm/mmiowb.h
HOSTCC arch/x86/tools/relocs_common.o
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
CC init/main.o
HOSTCC usr/gen_init_cpio
CC certs/system_keyring.o
CC init/do_mounts.o
CC init/do_mounts_initrd.o
CC ipc/util.o
UPD init/utsversion-tmp.h
CC init/initramfs.o
CC ipc/msgutil.o
CC init/calibrate.o
CC init/init_task.o
CC ipc/msg.o
CC security/commoncap.o
CC io_uring/io_uring.o
CC block/bdev.o
CC ipc/sem.o
CC io_uring/opdef.o
CC mm/filemap.o
CC security/lsm_syscalls.o
CC arch/x86/realmode/init.o
AS arch/x86/lib/atomic64_cx8_32.o
CC ipc/shm.o
CC block/fops.o
CC arch/x86/pci/i386.o
AR arch/x86/crypto/built-in.a
CC arch/x86/power/cpu.o
CC arch/x86/video/video-common.o
CC security/keys/gc.o
AR arch/x86/net/built-in.a
CC security/integrity/iint.o
HOSTCC security/selinux/genheaders
AR virt/lib/built-in.a
CC block/partitions/core.o
AR drivers/cache/built-in.a
CC fs/nfs_common/nfsacl.o
AR sound/i2c/other/built-in.a
CC arch/x86/mm/pat/set_memory.o
CC arch/x86/events/amd/core.o
CC arch/x86/virt/svm/cmdline.o
CC security/integrity/integrity_audit.o
AR arch/x86/platform/atom/built-in.a
AR virt/built-in.a
CC fs/notify/dnotify/dnotify.o
AR sound/drivers/opl3/built-in.a
CC sound/core/seq/seq.o
CC security/min_addr.o
CC net/core/sock.o
AR lib/math/tests/built-in.a
CC arch/x86/kernel/fpu/init.o
AR sound/i2c/built-in.a
AR drivers/irqchip/built-in.a
CC arch/x86/mm/pat/memtype.o
CC lib/math/div64.o
AR arch/x86/platform/ce4100/built-in.a
AR sound/drivers/opl4/built-in.a
AS arch/x86/lib/checksum_32.o
CC arch/x86/entry/vdso/vma.o
CC arch/x86/kernel/fpu/bugs.o
CC arch/x86/platform/efi/memmap.o
AR drivers/bus/mhi/built-in.a
AR sound/drivers/mpu401/built-in.a
AR drivers/bus/built-in.a
CC kernel/sched/core.o
AR sound/drivers/vx/built-in.a
CC arch/x86/lib/cmdline.o
AR drivers/pwm/built-in.a
CC crypto/asymmetric_keys/asymmetric_type.o
AR sound/drivers/pcsp/built-in.a
AR sound/drivers/built-in.a
AR drivers/leds/trigger/built-in.a
CC net/ethernet/eth.o
AR drivers/leds/blink/built-in.a
AR arch/x86/virt/svm/built-in.a
AR drivers/leds/simatic/built-in.a
AR arch/x86/virt/vmx/built-in.a
CC drivers/leds/led-core.o
AR arch/x86/virt/built-in.a
CC arch/x86/events/amd/lbr.o
CC arch/x86/kernel/cpu/mce/core.o
AS arch/x86/lib/cmpxchg8b_emu.o
CC lib/math/gcd.o
GEN security/selinux/flask.h security/selinux/av_permissions.h
CC security/selinux/avc.o
CC arch/x86/lib/cpu.o
CC lib/math/lcm.o
CC arch/x86/events/amd/ibs.o
CC lib/math/int_log.o
GEN usr/initramfs_data.cpio
CC arch/x86/kernel/fpu/core.o
COPY usr/initramfs_inc_data
HOSTCC certs/extract-cert
AS usr/initramfs_data.o
AR usr/built-in.a
CC lib/math/int_pow.o
CC kernel/locking/mutex.o
CC lib/math/int_sqrt.o
CC lib/math/reciprocal_div.o
CC sound/core/seq/seq_lock.o
CC arch/x86/lib/delay.o
AS arch/x86/realmode/rm/header.o
AS arch/x86/realmode/rm/trampoline_32.o
CC lib/math/rational.o
AR arch/x86/video/built-in.a
AS arch/x86/realmode/rm/stack.o
CC arch/x86/events/intel/core.o
AS arch/x86/realmode/rm/reboot.o
CERT certs/x509_certificate_list
CERT certs/signing_key.x509
AS certs/system_certificates.o
CC arch/x86/events/zhaoxin/core.o
AS arch/x86/realmode/rm/wakeup_asm.o
CC block/bio.o
AR certs/built-in.a
CC crypto/api.o
CC fs/nfs_common/grace.o
CC ipc/syscall.o
CC arch/x86/realmode/rm/wakemain.o
CC arch/x86/entry/vdso/extable.o
CC drivers/leds/led-class.o
AR security/integrity/built-in.a
CC block/partitions/msdos.o
AR arch/x86/platform/geode/built-in.a
CC block/elevator.o
CC fs/iomap/trace.o
CC crypto/asymmetric_keys/restrict.o
CC arch/x86/pci/init.o
CC security/keys/key.o
AR net/802/built-in.a
CC arch/x86/realmode/rm/video-mode.o
AR fs/notify/dnotify/built-in.a
AR arch/x86/platform/iris/built-in.a
CC arch/x86/pci/pcbios.o
CC fs/notify/inotify/inotify_fsnotify.o
CC arch/x86/platform/efi/quirks.o
AS arch/x86/lib/getuser.o
CC arch/x86/power/hibernate_32.o
AS arch/x86/power/hibernate_asm_32.o
GEN arch/x86/lib/inat-tables.c
CC arch/x86/mm/pat/memtype_interval.o
CC init/version.o
CC arch/x86/lib/insn-eval.o
CC security/security.o
AS arch/x86/realmode/rm/copy.o
AS arch/x86/realmode/rm/bioscall.o
CC sound/core/seq/seq_clientmgr.o
CC arch/x86/realmode/rm/regs.o
AR lib/math/built-in.a
CC arch/x86/realmode/rm/video-vga.o
CC io_uring/kbuf.o
CC lib/crypto/mpi/generic_mpih-lshift.o
CC security/lsm_audit.o
CC drivers/pci/msi/pcidev_msi.o
CC drivers/video/console/dummycon.o
CC arch/x86/realmode/rm/video-vesa.o
CC arch/x86/platform/efi/efi.o
CC drivers/video/backlight/backlight.o
CC drivers/video/console/vgacon.o
CC arch/x86/realmode/rm/video-bios.o
CC crypto/asymmetric_keys/signature.o
AR arch/x86/entry/vsyscall/built-in.a
CC drivers/pci/msi/api.o
CC mm/mempool.o
PASYMS arch/x86/realmode/rm/pasyms.h
CC drivers/leds/led-triggers.o
AR drivers/idle/built-in.a
AR drivers/char/ipmi/built-in.a
LDS arch/x86/realmode/rm/realmode.lds
CC arch/x86/platform/intel/iosf_mbi.o
LD arch/x86/realmode/rm/realmode.elf
AR arch/x86/platform/intel-mid/built-in.a
CC fs/notify/inotify/inotify_user.o
RELOCS arch/x86/realmode/rm/realmode.relocs
OBJCOPY arch/x86/realmode/rm/realmode.bin
AS arch/x86/realmode/rmpiggy.o
AR drivers/video/fbdev/core/built-in.a
AR arch/x86/realmode/built-in.a
AR drivers/video/fbdev/omap/built-in.a
CC arch/x86/pci/mmconfig_32.o
AR drivers/video/fbdev/omap2/omapfb/dss/built-in.a
CC fs/nfs_common/common.o
AR drivers/video/fbdev/omap2/omapfb/displays/built-in.a
CC arch/x86/kernel/cpu/mce/severity.o
AR drivers/video/fbdev/omap2/omapfb/built-in.a
AR net/ethernet/built-in.a
AR drivers/video/fbdev/omap2/built-in.a
CC drivers/pci/pcie/portdrv.o
AR drivers/video/fbdev/built-in.a
CC arch/x86/kernel/cpu/mce/genpool.o
CC security/selinux/hooks.o
CC mm/oom_kill.o
LDS arch/x86/entry/vdso/vdso32/vdso32.lds
AR init/built-in.a
AR arch/x86/mm/pat/built-in.a
CC security/device_cgroup.o
AS arch/x86/entry/vdso/vdso32/note.o
CC drivers/pci/pcie/rcec.o
CC arch/x86/mm/init.o
AS arch/x86/entry/entry.o
CC arch/x86/kernel/fpu/regset.o
AS arch/x86/entry/vdso/vdso32/system_call.o
CC arch/x86/power/hibernate.o
CC drivers/pci/pcie/bwctrl.o
AS arch/x86/entry/vdso/vdso32/sigreturn.o
AR arch/x86/events/zhaoxin/built-in.a
CC arch/x86/entry/vdso/vdso32/vclock_gettime.o
CC sound/core/sound.o
CC arch/x86/events/amd/uncore.o
CC lib/crypto/mpi/generic_mpih-mul1.o
CC block/partitions/efi.o
CC kernel/locking/semaphore.o
CC crypto/cipher.o
CC crypto/asymmetric_keys/public_key.o
AR arch/x86/platform/intel-quark/built-in.a
AR sound/isa/ad1816a/built-in.a
AR sound/isa/ad1848/built-in.a
CC kernel/power/qos.o
AR sound/isa/cs423x/built-in.a
CC ipc/ipc_sysctl.o
AR sound/isa/es1688/built-in.a
CC arch/x86/lib/insn.o
CC lib/crypto/mpi/generic_mpih-mul2.o
AR sound/isa/galaxy/built-in.a
AR sound/isa/gus/built-in.a
AR sound/isa/msnd/built-in.a
CC security/keys/keyring.o
AR sound/isa/opti9xx/built-in.a
AR sound/isa/sb/built-in.a
CC arch/x86/pci/direct.o
AR sound/isa/wavefront/built-in.a
AR sound/isa/wss/built-in.a
AR sound/isa/built-in.a
CC kernel/power/main.o
CC fs/iomap/iter.o
CC drivers/pci/msi/msi.o
AR drivers/video/backlight/built-in.a
AR drivers/pci/pwrctrl/built-in.a
CC kernel/sched/fair.o
CC net/core/request_sock.o
CC drivers/pci/msi/irqdomain.o
CC arch/x86/kernel/acpi/boot.o
AR arch/x86/platform/intel/built-in.a
AR drivers/leds/built-in.a
CC sound/core/init.o
CC kernel/locking/rwsem.o
CC arch/x86/kernel/apic/apic.o
CC arch/x86/kernel/kprobes/core.o
AR fs/nfs_common/built-in.a
CC arch/x86/mm/init_32.o
CC arch/x86/lib/kaslr.o
CC arch/x86/platform/efi/efi_32.o
CC io_uring/rsrc.o
CC io_uring/notif.o
CC sound/core/seq/seq_memory.o
AR arch/x86/power/built-in.a
CC arch/x86/kernel/apic/apic_common.o
CC arch/x86/entry/vdso/vdso32/vgetcpu.o
AR drivers/video/console/built-in.a
CC drivers/video/aperture.o
CC ipc/mqueue.o
CC drivers/pci/hotplug/pci_hotplug_core.o
AR fs/notify/inotify/built-in.a
CC drivers/pci/pcie/aspm.o
CC ipc/namespace.o
CC arch/x86/kernel/cpu/mce/intel.o
AR fs/notify/fanotify/built-in.a
CC security/selinux/selinuxfs.o
CC fs/notify/fsnotify.o
CC arch/x86/kernel/fpu/signal.o
HOSTCC arch/x86/entry/vdso/vdso2c
CC drivers/video/cmdline.o
CC arch/x86/entry/vdso/vdso32-setup.o
ASN.1 crypto/asymmetric_keys/x509.asn1.[ch]
CC arch/x86/lib/memcpy_32.o
ASN.1 crypto/asymmetric_keys/x509_akid.asn1.[ch]
CC crypto/asymmetric_keys/x509_loader.o
CC mm/fadvise.o
CC lib/crypto/mpi/generic_mpih-mul3.o
AS arch/x86/lib/memmove_32.o
CC arch/x86/lib/misc.o
CC arch/x86/lib/pc-conf-reg.o
CC arch/x86/kernel/apic/apic_noop.o
CC arch/x86/pci/mmconfig-shared.o
AR block/partitions/built-in.a
CC block/blk-core.o
CC crypto/asymmetric_keys/x509_public_key.o
AS arch/x86/lib/putuser.o
CC fs/iomap/buffered-io.o
AS arch/x86/lib/retpoline.o
CC kernel/power/console.o
CC arch/x86/lib/string_32.o
CC arch/x86/kernel/apic/ipi.o
CC lib/crypto/memneq.o
CC arch/x86/lib/strstr_32.o
AR arch/x86/events/amd/built-in.a
CC fs/notify/notification.o
VDSO arch/x86/entry/vdso/vdso32.so.dbg
OBJCOPY arch/x86/entry/vdso/vdso32.so
VDSO2C arch/x86/entry/vdso/vdso-image-32.c
CC arch/x86/entry/vdso/vdso-image-32.o
CC arch/x86/lib/usercopy.o
AR arch/x86/platform/olpc/built-in.a
CC mm/maccess.o
CC sound/core/seq/seq_queue.o
CC arch/x86/events/intel/bts.o
CC security/keys/keyctl.o
AS arch/x86/platform/efi/efi_stub_32.o
CC kernel/locking/percpu-rwsem.o
CC arch/x86/platform/efi/runtime-map.o
AR drivers/pci/msi/built-in.a
CC arch/x86/kernel/cpu/mce/amd.o
CC arch/x86/kernel/cpu/mce/threshold.o
CC lib/crypto/utils.o
CC lib/crypto/mpi/generic_mpih-rshift.o
CC arch/x86/mm/fault.o
CC ipc/mq_sysctl.o
AR sound/pci/ac97/built-in.a
AR sound/pci/ali5451/built-in.a
AR sound/pci/asihpi/built-in.a
CC kernel/printk/printk.o
CC drivers/pci/hotplug/acpi_pcihp.o
AR sound/pci/au88x0/built-in.a
CC drivers/video/nomodeset.o
CC kernel/printk/printk_safe.o
AR sound/pci/aw2/built-in.a
CC net/core/skbuff.o
CC arch/x86/kernel/kprobes/opt.o
CC drivers/acpi/acpica/dsargs.o
AR sound/pci/ctxfi/built-in.a
CC kernel/locking/spinlock.o
AR arch/x86/entry/vdso/built-in.a
AR sound/pci/ca0106/built-in.a
AS arch/x86/entry/entry_32.o
CC arch/x86/lib/usercopy_32.o
AR sound/pci/cs46xx/built-in.a
CC arch/x86/events/intel/ds.o
AR sound/pci/cs5535audio/built-in.a
CC arch/x86/kernel/acpi/sleep.o
CC arch/x86/entry/syscall_32.o
AR sound/pci/lola/built-in.a
AR sound/pci/lx6464es/built-in.a
AR drivers/acpi/pmic/built-in.a
AR sound/pci/echoaudio/built-in.a
CC io_uring/tctx.o
AR sound/pci/emu10k1/built-in.a
ASN.1 crypto/asymmetric_keys/pkcs7.asn1.[ch]
CC arch/x86/kernel/fpu/xstate.o
CC sound/pci/hda/hda_bind.o
AR drivers/pci/controller/dwc/built-in.a
CC crypto/asymmetric_keys/pkcs7_trust.o
AR drivers/pci/controller/mobiveil/built-in.a
AR drivers/pci/controller/plda/built-in.a
AR drivers/pci/controller/built-in.a
CC kernel/power/process.o
AR drivers/pci/switch/built-in.a
CC kernel/irq/irqdesc.o
AS arch/x86/entry/thunk.o
CC net/sched/sch_generic.o
CC security/keys/permission.o
CC arch/x86/events/core.o
CC crypto/asymmetric_keys/pkcs7_verify.o
CC sound/pci/hda/hda_codec.o
CC drivers/video/hdmi.o
CC fs/notify/group.o
CC arch/x86/lib/msr-smp.o
CC drivers/acpi/acpica/dscontrol.o
CC drivers/acpi/acpica/dsdebug.o
CC arch/x86/pci/fixup.o
CC kernel/locking/osq_lock.o
CC lib/crypto/mpi/generic_mpih-sub1.o
CC mm/page-writeback.o
CC drivers/pci/pcie/pme.o
AR lib/tests/built-in.a
CC lib/vdso/datastore.o
CC sound/core/seq/seq_fifo.o
CC drivers/acpi/acpica/dsfield.o
CC lib/zlib_inflate/inffast.o
AR arch/x86/platform/efi/built-in.a
AR arch/x86/platform/scx200/built-in.a
AR arch/x86/platform/ts5500/built-in.a
CC arch/x86/lib/cache-smp.o
AR drivers/pci/hotplug/built-in.a
AR arch/x86/platform/uv/built-in.a
AR arch/x86/platform/built-in.a
CC net/netlink/af_netlink.o
CC kernel/locking/qspinlock.o
CC arch/x86/lib/crc32-glue.o
CC arch/x86/kernel/cpu/mtrr/mtrr.o
CC io_uring/filetable.o
CC drivers/pci/access.o
CC fs/notify/mark.o
AR ipc/built-in.a
AS arch/x86/kernel/acpi/wakeup_32.o
CC crypto/asymmetric_keys/x509.asn1.o
CC arch/x86/kernel/acpi/cstate.o
CC fs/notify/fdinfo.o
CC drivers/pci/bus.o
CC crypto/asymmetric_keys/x509_akid.asn1.o
CC lib/zlib_inflate/inflate.o
CC crypto/asymmetric_keys/x509_cert_parser.o
CC arch/x86/kernel/apic/vector.o
CC lib/zlib_inflate/infutil.o
CC security/selinux/netlink.o
CC sound/core/seq/seq_prioq.o
AR arch/x86/kernel/kprobes/built-in.a
CC arch/x86/pci/acpi.o
CC lib/zlib_deflate/deflate.o
CC kernel/irq/handle.o
CC io_uring/rw.o
CC security/selinux/nlmsgtab.o
CC lib/zlib_deflate/deftree.o
CC security/keys/process_keys.o
CC lib/crypto/mpi/generic_mpih-add1.o
CC drivers/acpi/acpica/dsinit.o
AR sound/pci/ice1712/built-in.a
CC lib/crypto/mpi/mpicoder.o
AR lib/vdso/built-in.a
CC lib/zlib_deflate/deflate_syms.o
AS arch/x86/lib/crc32-pclmul.o
AR drivers/video/built-in.a
CC kernel/locking/rtmutex_api.o
CC drivers/acpi/acpica/dsmethod.o
CC arch/x86/lib/msr.o
CC arch/x86/pci/legacy.o
CC kernel/irq/manage.o
CC arch/x86/mm/ioremap.o
CC kernel/power/suspend.o
AR drivers/pci/pcie/built-in.a
AR arch/x86/entry/built-in.a
CC security/keys/request_key.o
AR arch/x86/kernel/fpu/built-in.a
CC drivers/acpi/acpica/dsmthdat.o
CC kernel/irq/spurious.o
AR arch/x86/kernel/acpi/built-in.a
CC kernel/irq/resend.o
AS arch/x86/lib/msr-reg.o
AR arch/x86/kernel/cpu/mce/built-in.a
CC kernel/locking/qrwlock.o
CC crypto/asymmetric_keys/pkcs7.asn1.o
CC crypto/asymmetric_keys/pkcs7_parser.o
CC fs/iomap/direct-io.o
CC lib/zlib_inflate/inftrees.o
CC arch/x86/pci/irq.o
CC lib/zlib_inflate/inflate_syms.o
CC net/core/datagram.o
CC arch/x86/kernel/cpu/mtrr/if.o
CC sound/core/seq/seq_timer.o
CC lib/crypto/chacha.o
CC security/selinux/netif.o
AR sound/ppc/built-in.a
CC net/sched/sch_mq.o
CC arch/x86/kernel/cpu/mtrr/generic.o
LDS arch/x86/kernel/vmlinux.lds
CC security/keys/request_key_auth.o
CC kernel/irq/chip.o
CC drivers/pci/probe.o
CC block/blk-sysfs.o
AS arch/x86/kernel/head_32.o
CC kernel/printk/nbcon.o
CC arch/x86/mm/extable.o
CC arch/x86/mm/mmap.o
CC arch/x86/mm/pgtable.o
CC drivers/acpi/dptf/int340x_thermal.o
AR fs/notify/built-in.a
CC arch/x86/events/probe.o
CC drivers/acpi/acpica/dsobject.o
AR lib/zlib_deflate/built-in.a
CC drivers/pnp/pnpacpi/core.o
CC lib/crypto/mpi/mpi-add.o
CC io_uring/net.o
CC arch/x86/lib/msr-reg-export.o
CC arch/x86/mm/physaddr.o
CC lib/crypto/aes.o
AR lib/zlib_inflate/built-in.a
CC fs/quota/dquot.o
CC sound/core/seq/seq_system.o
AR crypto/asymmetric_keys/built-in.a
CC drivers/pnp/core.o
CC crypto/algapi.o
CC arch/x86/kernel/cpu/mtrr/cleanup.o
CC kernel/rcu/update.o
CC arch/x86/events/intel/knc.o
CC arch/x86/kernel/cpu/mtrr/amd.o
AS arch/x86/lib/hweight.o
CC drivers/pnp/pnpacpi/rsparser.o
CC kernel/sched/build_policy.o
CC arch/x86/lib/iomem.o
AR drivers/acpi/dptf/built-in.a
CC drivers/acpi/acpica/dsopcode.o
AR kernel/locking/built-in.a
CC arch/x86/kernel/head32.o
CC block/blk-flush.o
CC sound/pci/hda/hda_jack.o
CC arch/x86/kernel/apic/init.o
CC net/core/stream.o
CC crypto/scatterwalk.o
CC kernel/irq/dummychip.o
CC arch/x86/kernel/apic/hw_nmi.o
AR kernel/livepatch/built-in.a
CC sound/core/memory.o
CC arch/x86/lib/atomic64_32.o
CC security/keys/user_defined.o
CC mm/folio-compat.o
CC kernel/power/hibernate.o
CC arch/x86/pci/common.o
CC sound/pci/hda/hda_auto_parser.o
CC net/core/scm.o
CC fs/iomap/ioend.o
AR sound/pci/korg1212/built-in.a
CC security/selinux/netnode.o
CC lib/crypto/mpi/mpi-bit.o
CC kernel/printk/printk_ringbuffer.o
AR net/bpf/built-in.a
CC kernel/dma/mapping.o
CC arch/x86/lib/inat.o
CC kernel/rcu/sync.o
CC sound/core/seq/seq_ports.o
AR arch/x86/lib/built-in.a
CC arch/x86/mm/tlb.o
CC kernel/dma/direct.o
CC lib/crypto/mpi/mpi-cmp.o
CC drivers/acpi/acpica/dspkginit.o
CC net/sched/sch_frag.o
CC fs/iomap/fiemap.o
CC sound/core/seq/seq_info.o
AR arch/x86/lib/lib.a
CC net/netlink/genetlink.o
CC security/keys/proc.o
CC lib/crypto/mpi/mpi-sub-ui.o
CC lib/crypto/mpi/mpi-div.o
CC mm/readahead.o
CC lib/lzo/lzo1x_compress.o
CC net/core/gen_stats.o
CC kernel/irq/devres.o
CC arch/x86/kernel/cpu/mtrr/cyrix.o
CC lib/lz4/lz4_decompress.o
CC lib/zstd/zstd_decompress_module.o
CC arch/x86/events/intel/lbr.o
CC arch/x86/kernel/apic/io_apic.o
CC io_uring/poll.o
CC net/ethtool/ioctl.o
CC block/blk-settings.o
CC drivers/pnp/card.o
AR drivers/pnp/pnpacpi/built-in.a
CC arch/x86/mm/cpu_entry_area.o
CC drivers/acpi/acpica/dsutils.o
CC kernel/sched/build_utility.o
CC lib/xz/xz_dec_syms.o
AR drivers/amba/built-in.a
CC lib/crypto/arc4.o
CC io_uring/eventfd.o
CC kernel/power/snapshot.o
CC arch/x86/mm/maccess.o
CC drivers/pnp/driver.o
CC arch/x86/pci/early.o
CC lib/zstd/decompress/huf_decompress.o
CC arch/x86/events/intel/p4.o
CC kernel/irq/kexec.o
CC kernel/printk/sysctl.o
CC lib/lzo/lzo1x_compress_safe.o
CC io_uring/uring_cmd.o
CC fs/iomap/seek.o
CC crypto/proc.o
CC drivers/pci/host-bridge.o
CC lib/crypto/mpi/mpi-mod.o
CC sound/core/seq/seq_dummy.o
CC block/blk-ioc.o
CC arch/x86/kernel/cpu/mtrr/centaur.o
CC security/keys/sysctl.o
CC lib/xz/xz_dec_stream.o
CC arch/x86/kernel/cpu/mtrr/legacy.o
CC lib/lzo/lzo1x_decompress_safe.o
CC kernel/rcu/srcutree.o
CC sound/pci/hda/hda_sysfs.o
CC drivers/acpi/acpica/dswexec.o
AR kernel/printk/built-in.a
CC io_uring/openclose.o
CC security/selinux/netport.o
CC security/keys/keyctl_pkey.o
CC kernel/irq/autoprobe.o
CC fs/iomap/swapfile.o
AR drivers/clk/actions/built-in.a
CC drivers/dma/dw/core.o
AR drivers/clk/analogbits/built-in.a
CC arch/x86/mm/pgprot.o
AR drivers/clk/bcm/built-in.a
CC mm/swap.o
CC drivers/acpi/x86/apple.o
AR drivers/clk/imgtec/built-in.a
CC drivers/acpi/tables.o
AR drivers/clk/imx/built-in.a
CC drivers/pnp/resource.o
AR drivers/clk/ingenic/built-in.a
AR drivers/clk/mediatek/built-in.a
CC net/ethtool/common.o
AR drivers/clk/microchip/built-in.a
CC net/sched/sch_api.o
AR drivers/clk/mstar/built-in.a
AR drivers/clk/mvebu/built-in.a
CC arch/x86/mm/pgtable_32.o
CC lib/crypto/gf128mul.o
AR drivers/clk/ralink/built-in.a
AR drivers/clk/renesas/built-in.a
AR drivers/clk/socfpga/built-in.a
CC arch/x86/pci/bus_numa.o
CC arch/x86/mm/iomap_32.o
AR drivers/clk/sophgo/built-in.a
AR drivers/clk/sprd/built-in.a
AR drivers/clk/starfive/built-in.a
CC lib/crypto/mpi/mpi-mul.o
AR drivers/clk/sunxi-ng/built-in.a
CC crypto/aead.o
CC fs/quota/quota_v2.o
AR drivers/clk/ti/built-in.a
CC fs/quota/quota_tree.o
AR arch/x86/kernel/cpu/mtrr/built-in.a
AR sound/core/seq/built-in.a
AR drivers/clk/versatile/built-in.a
AR drivers/clk/xilinx/built-in.a
CC arch/x86/kernel/cpu/cacheinfo.o
CC sound/core/control.o
CC arch/x86/kernel/cpu/microcode/core.o
AR drivers/clk/built-in.a
AR lib/lzo/built-in.a
CC lib/xz/xz_dec_lzma2.o
CC security/selinux/status.o
CC drivers/acpi/acpica/dswload.o
CC drivers/pci/remove.o
CC net/netlink/policy.o
CC drivers/dma/hsu/hsu.o
AR lib/lz4/built-in.a
CC crypto/geniv.o
CC kernel/irq/irqdomain.o
CC block/blk-map.o
CC arch/x86/events/utils.o
CC sound/pci/hda/hda_controller.o
AR security/keys/built-in.a
CC crypto/lskcipher.o
CC arch/x86/events/intel/p6.o
CC block/blk-merge.o
CC drivers/acpi/x86/cmos_rtc.o
CC fs/quota/quota.o
AR sound/pci/mixart/built-in.a
CC drivers/acpi/acpica/dswload2.o
CC lib/zstd/decompress/zstd_ddict.o
AR fs/iomap/built-in.a
CC fs/quota/kqid.o
CC drivers/pci/pci.o
CC net/ethtool/netlink.o
CC kernel/dma/ops_helpers.o
CC lib/crypto/mpi/mpih-cmp.o
CC arch/x86/pci/amd_bus.o
CC arch/x86/mm/hugetlbpage.o
CC drivers/dma/dw/dw.o
CC io_uring/sqpoll.o
CC net/core/gen_estimator.o
CC arch/x86/kernel/cpu/microcode/intel.o
CC kernel/rcu/tree.o
CC arch/x86/kernel/apic/msi.o
CC kernel/power/swap.o
CC kernel/entry/common.o
CC arch/x86/kernel/apic/probe_32.o
CC kernel/power/user.o
CC drivers/acpi/acpica/dswscope.o
CC lib/xz/xz_dec_bcj.o
CC arch/x86/events/rapl.o
CC drivers/pnp/manager.o
CC drivers/pnp/support.o
CC lib/crypto/blake2s.o
AR drivers/dma/hsu/built-in.a
CC arch/x86/kernel/cpu/microcode/amd.o
CC net/core/net_namespace.o
CC net/netfilter/core.o
CC drivers/acpi/x86/lpss.o
CC arch/x86/kernel/ebda.o
AR net/netlink/built-in.a
CC lib/crypto/mpi/mpih-div.o
CC net/ethtool/bitset.o
CC kernel/power/poweroff.o
CC arch/x86/events/intel/pt.o
CC kernel/module/main.o
CC drivers/acpi/acpica/dswstate.o
CC security/selinux/ss/ebitmap.o
AR sound/arm/built-in.a
CC drivers/pnp/interface.o
CC arch/x86/events/intel/uncore.o
CC drivers/acpi/osi.o
CC drivers/dma/dw/idma32.o
CC kernel/dma/remap.o
CC drivers/acpi/x86/s2idle.o
CC mm/truncate.o
CC mm/vmscan.o
AR arch/x86/mm/built-in.a
CC arch/x86/events/msr.o
CC crypto/skcipher.o
AR lib/xz/built-in.a
CC drivers/pnp/quirks.o
CC drivers/acpi/osl.o
CC kernel/rcu/rcu_segcblist.o
AR arch/x86/pci/built-in.a
CC kernel/irq/proc.o
AR drivers/dma/idxd/built-in.a
CC arch/x86/kernel/platform-quirks.o
CC mm/shrinker.o
CC block/blk-timeout.o
AR arch/x86/kernel/apic/built-in.a
CC sound/core/misc.o
CC arch/x86/kernel/process_32.o
CC security/selinux/ss/hashtab.o
CC io_uring/xattr.o
CC io_uring/nop.o
CC drivers/acpi/acpica/evevent.o
CC fs/quota/netlink.o
CC sound/pci/hda/hda_proc.o
CC drivers/acpi/utils.o
CC net/sched/sch_blackhole.o
AR drivers/soc/apple/built-in.a
CC drivers/pci/pci-driver.o
AR drivers/soc/aspeed/built-in.a
AR drivers/soc/bcm/built-in.a
AR drivers/soc/fsl/built-in.a
CC kernel/entry/syscall_user_dispatch.o
AR drivers/soc/fujitsu/built-in.a
CC net/core/secure_seq.o
AR drivers/soc/hisilicon/built-in.a
CC mm/shmem.o
CC lib/zstd/decompress/zstd_decompress.o
AR kernel/dma/built-in.a
AR drivers/soc/imx/built-in.a
CC drivers/acpi/x86/utils.o
CC fs/proc/task_mmu.o
CC lib/crypto/mpi/mpih-mul.o
AR drivers/soc/ixp4xx/built-in.a
CC drivers/dma/dw/acpi.o
AR drivers/soc/loongson/built-in.a
AR drivers/soc/mediatek/built-in.a
AR drivers/soc/microchip/built-in.a
AR drivers/dma/amd/built-in.a
AR drivers/soc/nuvoton/built-in.a
CC drivers/acpi/acpica/evgpe.o
CC kernel/module/strict_rwx.o
CC fs/proc/inode.o
AR drivers/soc/pxa/built-in.a
AR arch/x86/kernel/cpu/microcode/built-in.a
AR drivers/soc/amlogic/built-in.a
CC arch/x86/kernel/cpu/scattered.o
AR drivers/soc/qcom/built-in.a
AR drivers/soc/renesas/built-in.a
CC net/sched/cls_api.o
AR drivers/soc/rockchip/built-in.a
CC mm/util.o
AR sound/sh/built-in.a
CC drivers/pci/search.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 fs/proc/root.o
AR kernel/power/built-in.a
AR sound/pci/nm256/built-in.a
CC arch/x86/kernel/cpu/topology_common.o
CC fs/kernfs/mount.o
CC lib/crypto/blake2s-generic.o
CC kernel/irq/migration.o
CC block/blk-lib.o
CC drivers/pnp/system.o
CC sound/core/device.o
CC net/netfilter/nf_log.o
CC arch/x86/kernel/signal.o
CC arch/x86/events/intel/uncore_nhmex.o
AR sound/synth/emux/built-in.a
AR sound/synth/built-in.a
CC security/selinux/ss/symtab.o
CC arch/x86/events/intel/uncore_snb.o
CC net/ethtool/strset.o
CC drivers/acpi/reboot.o
CC io_uring/fs.o
CC io_uring/splice.o
CC drivers/acpi/x86/blacklist.o
CC lib/zstd/decompress/zstd_decompress_block.o
AR kernel/entry/built-in.a
CC drivers/acpi/acpica/evgpeblk.o
CC net/ipv4/netfilter/nf_defrag_ipv4.o
CC net/xfrm/xfrm_policy.o
CC crypto/seqiv.o
AR fs/quota/built-in.a
CC net/ipv4/netfilter/nf_reject_ipv4.o
CC net/unix/af_unix.o
CC sound/pci/hda/hda_hwdep.o
AR drivers/dma/dw/built-in.a
CC drivers/acpi/acpica/evgpeinit.o
CC kernel/irq/cpuhotplug.o
AR drivers/dma/mediatek/built-in.a
AR drivers/dma/qcom/built-in.a
AR sound/pci/oxygen/built-in.a
CC arch/x86/kernel/cpu/topology_ext.o
AR drivers/dma/stm32/built-in.a
CC net/ipv4/route.o
CC security/selinux/ss/sidtab.o
CC kernel/time/time.o
AR drivers/dma/ti/built-in.a
AR drivers/dma/xilinx/built-in.a
CC drivers/dma/dmaengine.o
CC net/ipv4/inetpeer.o
CC sound/core/info.o
CC lib/crypto/mpi/mpi-pow.o
AR drivers/pnp/built-in.a
CC drivers/pci/rom.o
CC kernel/time/timer.o
CC sound/pci/hda/hda_intel.o
CC net/xfrm/xfrm_state.o
CC net/unix/garbage.o
CC arch/x86/kernel/signal_32.o
CC net/ipv4/netfilter/ip_tables.o
CC lib/dim/dim.o
AR drivers/acpi/x86/built-in.a
CC net/ethtool/linkinfo.o
CC crypto/echainiv.o
CC fs/kernfs/inode.o
CC drivers/acpi/acpica/evgpeutil.o
CC block/blk-mq.o
CC lib/dim/net_dim.o
CC arch/x86/kernel/cpu/topology_amd.o
AR sound/usb/misc/built-in.a
AR sound/usb/usx2y/built-in.a
CC net/core/flow_dissector.o
CC kernel/futex/core.o
AR sound/usb/caiaq/built-in.a
AR sound/usb/6fire/built-in.a
AR sound/usb/hiface/built-in.a
CC arch/x86/kernel/traps.o
AR sound/usb/bcd2000/built-in.a
AR sound/usb/built-in.a
CC lib/zstd/zstd_common_module.o
CC drivers/dma/virt-dma.o
CC net/sched/act_api.o
CC net/ipv4/protocol.o
CC io_uring/sync.o
AR sound/pci/pcxhr/built-in.a
CC kernel/module/kmod.o
CC block/blk-mq-tag.o
CC kernel/irq/pm.o
CC lib/zstd/common/debug.o
CC drivers/acpi/acpica/evglock.o
CC sound/core/isadma.o
CC lib/crypto/mpi/mpiutil.o
CC net/netfilter/nf_queue.o
CC arch/x86/kernel/idt.o
CC arch/x86/kernel/cpu/common.o
CC drivers/pci/setup-res.o
CC net/ethtool/linkmodes.o
CC crypto/ahash.o
CC sound/core/vmaster.o
CC arch/x86/events/intel/uncore_snbep.o
CC drivers/pci/irq.o
CC drivers/virtio/virtio.o
AR sound/firewire/built-in.a
CC net/ipv4/ip_input.o
CC fs/proc/base.o
CC net/ipv4/ip_fragment.o
CC drivers/acpi/acpica/evhandler.o
CC fs/kernfs/dir.o
CC drivers/acpi/nvs.o
CC net/ipv6/af_inet6.o
CC net/ipv6/netfilter/ip6_tables.o
CC lib/zstd/common/entropy_common.o
CC drivers/dma/acpi-dma.o
CC security/selinux/ss/avtab.o
CC fs/kernfs/file.o
CC kernel/futex/syscalls.o
CC drivers/pci/vpd.o
CC lib/dim/rdma_dim.o
AR lib/crypto/mpi/built-in.a
CC lib/crypto/sha1.o
CC kernel/irq/msi.o
CC io_uring/msg_ring.o
CC kernel/module/tree_lookup.o
CC sound/core/ctljack.o
CC net/sched/sch_fifo.o
CC drivers/acpi/acpica/evmisc.o
CC net/ipv4/ip_forward.o
CC fs/sysfs/file.o
CC fs/devpts/inode.o
CC fs/netfs/buffered_read.o
CC arch/x86/kernel/irq.o
CC net/xfrm/xfrm_hash.o
AR sound/pci/hda/built-in.a
CC lib/crypto/sha256.o
AR sound/pci/riptide/built-in.a
AR sound/pci/rme9652/built-in.a
AR sound/pci/trident/built-in.a
AR sound/pci/ymfpci/built-in.a
AR lib/dim/built-in.a
CC drivers/virtio/virtio_ring.o
AR sound/pci/vx222/built-in.a
CC arch/x86/events/intel/uncore_discovery.o
AR sound/pci/built-in.a
CC mm/mmzone.o
CC net/ipv4/netfilter/iptable_filter.o
CC net/ipv4/ip_options.o
CC net/xfrm/xfrm_input.o
CC net/ipv6/anycast.o
AR kernel/sched/built-in.a
CC net/packet/af_packet.o
CC sound/core/jack.o
CC kernel/time/hrtimer.o
AR kernel/rcu/built-in.a
CC kernel/time/sleep_timeout.o
CC net/ethtool/rss.o
CC drivers/acpi/acpica/evregion.o
AR drivers/dma/built-in.a
CC net/ipv6/ip6_output.o
AR net/dsa/built-in.a
CC net/ipv6/ip6_input.o
CC net/netfilter/nf_sockopt.o
CC kernel/module/kallsyms.o
CC crypto/shash.o
CC drivers/pci/setup-bus.o
CC sound/core/hwdep.o
CC net/unix/sysctl_net_unix.o
CC kernel/futex/pi.o
AR lib/crypto/built-in.a
CC net/sched/cls_cgroup.o
CC fs/ext4/balloc.o
CC arch/x86/kernel/cpu/rdrand.o
CC mm/vmstat.o
CC io_uring/advise.o
CC net/ipv4/netfilter/iptable_mangle.o
CC fs/sysfs/dir.o
CC arch/x86/kernel/cpu/match.o
CC drivers/acpi/acpica/evrgnini.o
CC fs/kernfs/symlink.o
CC security/selinux/ss/policydb.o
CC fs/sysfs/symlink.o
CC kernel/cgroup/cgroup.o
CC mm/backing-dev.o
AR fs/devpts/built-in.a
CC net/ipv4/netfilter/ipt_REJECT.o
CC net/core/sysctl_net_core.o
CC kernel/irq/affinity.o
CC drivers/virtio/virtio_anchor.o
CC net/sched/ematch.o
CC fs/netfs/buffered_write.o
CC fs/proc/generic.o
CC arch/x86/events/intel/cstate.o
CC kernel/module/procfs.o
CC arch/x86/kernel/cpu/bugs.o
CC crypto/akcipher.o
CC fs/ext4/bitmap.o
CC drivers/acpi/acpica/evsci.o
CC net/sunrpc/auth_gss/auth_gss.o
CC kernel/trace/trace_clock.o
CC net/ipv6/netfilter/ip6table_filter.o
CC net/ethtool/linkstate.o
CC sound/core/timer.o
CC kernel/irq/matrix.o
CC kernel/futex/requeue.o
CC net/netfilter/utils.o
CC fs/sysfs/mount.o
AR net/wireless/tests/built-in.a
CC net/wireless/core.o
CC net/ethtool/debug.o
CC kernel/time/timekeeping.o
CC io_uring/statx.o
AR fs/kernfs/built-in.a
CC kernel/cgroup/rstat.o
CC kernel/futex/waitwake.o
CC net/sunrpc/auth_gss/gss_mech_switch.o
CC arch/x86/kernel/irq_32.o
CC drivers/acpi/acpica/evxface.o
AR net/unix/built-in.a
CC net/ipv4/ip_output.o
CC security/selinux/ss/services.o
CC drivers/pci/vc.o
CC block/blk-stat.o
CC kernel/module/sysfs.o
CC kernel/trace/ring_buffer.o
CC net/xfrm/xfrm_output.o
CC crypto/sig.o
CC lib/fonts/fonts.o
CC drivers/acpi/wakeup.o
CC [M] net/ipv4/netfilter/iptable_nat.o
CC drivers/virtio/virtio_pci_modern_dev.o
CC lib/zstd/common/error_private.o
CC lib/zstd/common/fse_decompress.o
CC drivers/acpi/sleep.o
CC drivers/tty/vt/vt_ioctl.o
CC drivers/virtio/virtio_pci_legacy_dev.o
AR arch/x86/events/intel/built-in.a
AR arch/x86/events/built-in.a
CC fs/proc/array.o
CC drivers/acpi/acpica/evxfevnt.o
CC net/ipv6/netfilter/ip6table_mangle.o
CC kernel/cgroup/namespace.o
CC drivers/tty/vt/vc_screen.o
CC lib/fonts/font_8x16.o
AR net/sched/built-in.a
CC net/xfrm/xfrm_sysctl.o
CC mm/mm_init.o
CC drivers/acpi/device_sysfs.o
CC drivers/virtio/virtio_pci_modern.o
CC net/core/dev.o
CC fs/sysfs/group.o
CC fs/netfs/direct_read.o
AR kernel/futex/built-in.a
CC net/ipv6/addrconf.o
CC arch/x86/kernel/cpu/aperfmperf.o
CC io_uring/timeout.o
CC drivers/virtio/virtio_pci_common.o
CC fs/ext4/block_validity.o
CC net/sunrpc/auth_gss/svcauth_gss.o
CC drivers/pci/mmap.o
CC net/ethtool/wol.o
CC block/blk-mq-sysfs.o
AR lib/fonts/built-in.a
CC drivers/acpi/acpica/evxfgpe.o
CC net/sunrpc/auth_gss/gss_rpc_upcall.o
AR kernel/module/built-in.a
CC net/ethtool/features.o
CC block/blk-mq-cpumap.o
CC crypto/kpp.o
CC lib/zstd/common/zstd_common.o
AR sound/sparc/built-in.a
CC drivers/tty/vt/selection.o
AR kernel/irq/built-in.a
CC kernel/bpf/core.o
AR lib/zstd/built-in.a
CC lib/argv_split.o
CC net/netfilter/nfnetlink.o
CC drivers/acpi/device_pm.o
CC kernel/time/ntp.o
CC arch/x86/kernel/dumpstack_32.o
CC kernel/trace/trace.o
CC fs/ext4/dir.o
CC sound/core/hrtimer.o
CC fs/proc/fd.o
AR fs/sysfs/built-in.a
CC io_uring/fdinfo.o
CC drivers/acpi/acpica/evxfregn.o
CC fs/netfs/direct_write.o
CC arch/x86/kernel/cpu/cpuid-deps.o
CC net/ipv4/ip_sockglue.o
AR net/ipv4/netfilter/built-in.a
CC net/core/dev_api.o
CC lib/bug.o
CC drivers/virtio/virtio_pci_legacy.o
CC block/blk-mq-sched.o
CC drivers/pci/devres.o
ASN.1 crypto/rsapubkey.asn1.[ch]
CC drivers/tty/hvc/hvc_console.o
AR drivers/tty/ipwireless/built-in.a
CC drivers/tty/tty_io.o
CC drivers/tty/serial/8250/8250_core.o
CC net/wireless/sysfs.o
CC kernel/events/core.o
CC arch/x86/kernel/time.o
AR net/mac80211/tests/built-in.a
CC net/netlabel/netlabel_user.o
CC net/mac80211/main.o
CC net/rfkill/core.o
CC net/xfrm/xfrm_replay.o
CC sound/core/pcm.o
CC drivers/acpi/acpica/exconcat.o
ASN.1 crypto/rsaprivkey.asn1.[ch]
CC crypto/rsa.o
CC drivers/tty/vt/keyboard.o
CC net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
CC net/9p/mod.o
CC net/9p/client.o
CC net/ethtool/privflags.o
CC arch/x86/kernel/cpu/umwait.o
CC drivers/acpi/acpica/exconfig.o
CC fs/jbd2/transaction.o
CC mm/percpu.o
AR net/packet/built-in.a
CC kernel/time/clocksource.o
CC drivers/acpi/acpica/exconvrt.o
CC drivers/acpi/proc.o
CC drivers/acpi/bus.o
CC drivers/acpi/glue.o
CC lib/buildid.o
CC fs/proc/proc_tty.o
CC drivers/virtio/virtio_pci_admin_legacy_io.o
CC kernel/cgroup/cgroup-v1.o
CC net/wireless/radiotap.o
CC io_uring/cancel.o
CC fs/jbd2/commit.o
CC fs/netfs/iterator.o
CC fs/ext4/ext4_jbd2.o
CC kernel/events/ring_buffer.o
CC net/netfilter/nfnetlink_log.o
CC drivers/tty/serial/8250/8250_platform.o
CC drivers/acpi/acpica/excreate.o
CC sound/core/pcm_native.o
AR drivers/tty/hvc/built-in.a
CC crypto/rsa_helper.o
CC drivers/pci/proc.o
CC block/ioctl.o
CC drivers/acpi/scan.o
MKCAP arch/x86/kernel/cpu/capflags.c
CC net/ipv6/netfilter/nf_conntrack_reasm.o
CC security/selinux/ss/conditional.o
CC drivers/acpi/mipi-disco-img.o
CC net/netlabel/netlabel_kapi.o
CC net/rfkill/input.o
CC net/core/dev_addr_lists.o
CC net/sunrpc/auth_gss/gss_rpc_xdr.o
CC arch/x86/kernel/ioport.o
CC fs/proc/cmdline.o
CC drivers/acpi/acpica/exdebug.o
CC crypto/rsa-pkcs1pad.o
CC lib/clz_tab.o
CC kernel/time/jiffies.o
CC kernel/time/timer_list.o
CC drivers/virtio/virtio_input.o
CC lib/cmdline.o
CC net/ethtool/rings.o
CC net/xfrm/xfrm_device.o
CC lib/cpumask.o
CC arch/x86/kernel/dumpstack.o
CC lib/ctype.o
AR sound/spi/built-in.a
CC drivers/tty/serial/8250/8250_pnp.o
CC kernel/events/callchain.o
CC net/sunrpc/clnt.o
CC drivers/tty/vt/vt.o
CC fs/netfs/locking.o
CC io_uring/waitid.o
CC drivers/acpi/acpica/exdump.o
CC fs/ext4/extents.o
CC net/ipv6/addrlabel.o
CC security/selinux/ss/mls.o
AR net/rfkill/built-in.a
CC net/ipv4/inet_hashtables.o
CC fs/jbd2/recovery.o
CC net/netlabel/netlabel_domainhash.o
CC drivers/pci/pci-sysfs.o
CC fs/proc/consoles.o
CC fs/proc/cpuinfo.o
CC drivers/tty/serial/serial_core.o
CC arch/x86/kernel/cpu/powerflags.o
CC block/genhd.o
CC net/netlabel/netlabel_addrlist.o
CC kernel/cgroup/freezer.o
CC net/ipv6/route.o
CC net/wireless/util.o
CC kernel/time/timeconv.o
CC drivers/acpi/acpica/exfield.o
CC crypto/rsassa-pkcs1.o
CC lib/dec_and_lock.o
CC drivers/char/hw_random/core.o
CC net/9p/error.o
COPY drivers/tty/vt/defkeymap.c
CC drivers/virtio/virtio_dma_buf.o
CC net/ethtool/channels.o
CC net/netfilter/nf_conntrack_core.o
CC lib/decompress.o
CC net/netlabel/netlabel_mgmt.o
CC drivers/tty/serial/8250/8250_rsa.o
CC net/sunrpc/auth_gss/trace.o
CC lib/decompress_bunzip2.o
CC lib/decompress_inflate.o
CC drivers/tty/n_tty.o
CC kernel/events/hw_breakpoint.o
CC kernel/time/timecounter.o
CC fs/proc/devices.o
CC sound/core/pcm_lib.o
CC net/ipv4/inet_timewait_sock.o
AR kernel/bpf/built-in.a
CC fs/netfs/main.o
CC net/dns_resolver/dns_key.o
CC drivers/acpi/acpica/exfldio.o
CC lib/decompress_unlz4.o
CC kernel/time/alarmtimer.o
CC net/ipv6/netfilter/nf_reject_ipv6.o
CC io_uring/register.o
CC net/9p/protocol.o
CC net/ipv4/inet_connection_sock.o
CC net/xfrm/xfrm_nat_keepalive.o
CC mm/slab_common.o
AR drivers/virtio/built-in.a
CC crypto/acompress.o
CC drivers/char/agp/backend.o
CC net/mac80211/status.o
CC fs/jbd2/checkpoint.o
CC drivers/char/hw_random/intel-rng.o
CC crypto/scompress.o
CC kernel/cgroup/legacy_freezer.o
CC security/selinux/ss/context.o
CC crypto/algboss.o
CC drivers/tty/serial/8250/8250_port.o
CC drivers/acpi/acpica/exmisc.o
CC fs/ramfs/inode.o
CC fs/proc/interrupts.o
CC drivers/pci/slot.o
CC net/dns_resolver/dns_query.o
CC lib/decompress_unlzma.o
CC drivers/acpi/resource.o
CC block/ioprio.o
CC net/netfilter/nf_conntrack_standalone.o
CC net/ethtool/coalesce.o
AR drivers/iommu/amd/built-in.a
AR drivers/iommu/intel/built-in.a
CC net/9p/trans_common.o
AR drivers/iommu/arm/arm-smmu/built-in.a
AR drivers/iommu/arm/arm-smmu-v3/built-in.a
AR drivers/iommu/arm/built-in.a
AR drivers/iommu/iommufd/built-in.a
AR drivers/gpu/host1x/built-in.a
CC drivers/acpi/acpica/exmutex.o
AR drivers/iommu/riscv/built-in.a
CC drivers/iommu/iommu.o
CC drivers/char/hw_random/amd-rng.o
AR drivers/gpu/drm/tests/built-in.a
CC net/netlabel/netlabel_unlabeled.o
CC fs/proc/loadavg.o
CC drivers/char/agp/generic.o
AR drivers/gpu/drm/arm/built-in.a
AR drivers/gpu/drm/clients/built-in.a
CC drivers/gpu/drm/display/drm_display_helper_mod.o
CC drivers/gpu/drm/ttm/ttm_tt.o
CC kernel/time/posix-timers.o
CC kernel/cgroup/pids.o
CC drivers/connector/cn_queue.o
CC drivers/gpu/drm/i915/i915_config.o
CC net/xfrm/xfrm_algo.o
CC kernel/trace/trace_output.o
CC fs/ramfs/file-mmu.o
CC fs/jbd2/revoke.o
CC drivers/acpi/acpica/exnames.o
CC drivers/pci/pci-acpi.o
AR drivers/gpu/drm/renesas/rcar-du/built-in.a
AR drivers/gpu/drm/renesas/rz-du/built-in.a
AR net/dns_resolver/built-in.a
AR drivers/gpu/drm/omapdrm/built-in.a
AR drivers/gpu/drm/renesas/built-in.a
CC drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
CC io_uring/truncate.o
AR drivers/gpu/drm/tilcdc/built-in.a
AR drivers/gpu/vga/built-in.a
CC drivers/gpu/drm/ttm/ttm_bo.o
CC net/mac80211/driver-ops.o
CC drivers/gpu/drm/i915/i915_driver.o
CC net/ipv6/netfilter/ip6t_ipv6header.o
CC security/selinux/netlabel.o
CC net/9p/trans_fd.o
CC lib/decompress_unlzo.o
CC crypto/testmgr.o
CC net/netfilter/nf_conntrack_expect.o
CC block/badblocks.o
CC sound/core/pcm_misc.o
CC drivers/base/power/sysfs.o
CC fs/proc/meminfo.o
CC fs/netfs/misc.o
CC drivers/tty/vt/consolemap.o
CC drivers/char/hw_random/geode-rng.o
CC drivers/base/firmware_loader/builtin/main.o
CC drivers/base/regmap/regmap.o
CC drivers/acpi/acpica/exoparg1.o
CC kernel/cgroup/rdma.o
AR drivers/base/test/built-in.a
CC block/blk-rq-qos.o
CC block/disk-events.o
CC net/sunrpc/auth_gss/gss_krb5_mech.o
CC net/ethtool/pause.o
AR fs/ramfs/built-in.a
CC lib/decompress_unxz.o
CC net/ipv6/ip6_fib.o
CC lib/decompress_unzstd.o
AR drivers/base/firmware_loader/builtin/built-in.a
CC block/blk-ia-ranges.o
CC crypto/cmac.o
CC drivers/base/firmware_loader/main.o
CC net/ipv4/tcp.o
CC drivers/char/agp/isoch.o
CC fs/jbd2/journal.o
CC drivers/base/power/generic_ops.o
CC drivers/connector/connector.o
CC drivers/gpu/drm/display/drm_dp_helper.o
CC io_uring/memmap.o
CC sound/core/pcm_memory.o
CC drivers/acpi/acpica/exoparg2.o
CC fs/proc/stat.o
CC drivers/char/hw_random/via-rng.o
CC mm/compaction.o
CC drivers/acpi/acpi_processor.o
CC drivers/gpu/drm/ttm/ttm_bo_util.o
CC drivers/pci/iomap.o
CC net/xfrm/xfrm_user.o
CC drivers/tty/serial/8250/8250_dma.o
CC kernel/time/posix-cpu-timers.o
CC kernel/cgroup/cpuset.o
CC net/netlabel/netlabel_cipso_v4.o
CC drivers/connector/cn_proc.o
CC crypto/hmac.o
CC fs/netfs/objects.o
CC fs/netfs/read_collect.o
HOSTCC drivers/tty/vt/conmakehash
CC lib/dump_stack.o
CC drivers/base/power/common.o
CC drivers/gpu/drm/display/drm_dp_mst_topology.o
CC drivers/acpi/acpica/exoparg3.o
CC drivers/acpi/acpica/exoparg6.o
AR security/selinux/built-in.a
AR security/built-in.a
CC kernel/trace/trace_seq.o
CC net/ipv6/netfilter/ip6t_REJECT.o
CC net/9p/trans_virtio.o
CC drivers/char/agp/amd64-agp.o
AR drivers/char/hw_random/built-in.a
CC drivers/acpi/acpica/exprep.o
CC block/early-lookup.o
CC drivers/tty/vt/defkeymap.o
CC drivers/tty/tty_ioctl.o
CC net/wireless/reg.o
CC net/netfilter/nf_conntrack_helper.o
CC drivers/iommu/iommu-traces.o
CC net/ethtool/eee.o
CC drivers/gpu/drm/i915/i915_drm_client.o
CC fs/proc/uptime.o
CC sound/core/memalloc.o
CONMK drivers/tty/vt/consolemap_deftbl.c
CC io_uring/alloc_cache.o
CC drivers/tty/vt/consolemap_deftbl.o
AR drivers/tty/vt/built-in.a
CC drivers/base/power/qos.o
CC fs/ext4/extents_status.o
CC net/sunrpc/auth_gss/gss_krb5_seal.o
CC drivers/pci/quirks.o
CC arch/x86/kernel/nmi.o
CC fs/ext4/file.o
AR drivers/base/firmware_loader/built-in.a
CC fs/ext4/fsmap.o
CC crypto/crypto_null.o
CC drivers/acpi/acpica/exregion.o
CC drivers/tty/serial/8250/8250_dwlib.o
CC lib/earlycpio.o
CC drivers/block/loop.o
CC drivers/base/regmap/regcache.o
CC kernel/fork.o
CC kernel/trace/trace_stat.o
CC lib/extable.o
CC drivers/gpu/drm/ttm/ttm_bo_vm.o
CC arch/x86/kernel/cpu/topology.o
CC block/bsg.o
CC kernel/trace/trace_printk.o
CC drivers/char/agp/intel-agp.o
CC crypto/md5.o
CC fs/proc/util.o
CC drivers/acpi/acpica/exresnte.o
AR drivers/connector/built-in.a
CC io_uring/io-wq.o
CC fs/proc/version.o
CC kernel/trace/pid_list.o
CC kernel/time/posix-clock.o
CC net/netlabel/netlabel_calipso.o
CC drivers/tty/serial/8250/8250_pcilib.o
CC lib/flex_proportions.o
CC fs/netfs/read_pgpriv2.o
CC net/mac80211/sta_info.o
CC sound/core/pcm_timer.o
CC net/ethtool/tsinfo.o
CC drivers/iommu/iommu-sysfs.o
CC kernel/exec_domain.o
CC net/mac80211/wep.o
AR net/ipv6/netfilter/built-in.a
CC drivers/acpi/acpica/exresolv.o
CC net/ipv6/ipv6_sockglue.o
CC net/core/dst.o
CC arch/x86/kernel/cpu/proc.o
CC net/sunrpc/auth_gss/gss_krb5_unseal.o
CC crypto/sha256_generic.o
CC net/core/netevent.o
CC net/core/neighbour.o
CC drivers/gpu/drm/i915/i915_getparam.o
CC drivers/base/power/runtime.o
AR net/9p/built-in.a
CC mm/show_mem.o
CC drivers/block/virtio_blk.o
CC net/netfilter/nf_conntrack_proto.o
CC lib/idr.o
CC net/sunrpc/xprt.o
CC fs/proc/softirqs.o
CC block/blk-cgroup.o
CC drivers/gpu/drm/ttm/ttm_module.o
CC drivers/char/mem.o
CC drivers/gpu/drm/ttm/ttm_execbuf_util.o
CC drivers/base/regmap/regcache-rbtree.o
CC kernel/events/uprobes.o
CC drivers/iommu/dma-iommu.o
CC drivers/char/agp/intel-gtt.o
CC drivers/acpi/acpica/exresop.o
CC drivers/tty/serial/8250/8250_early.o
CC kernel/time/itimer.o
AR fs/jbd2/built-in.a
CC arch/x86/kernel/cpu/feat_ctl.o
CC kernel/cgroup/misc.o
CC drivers/gpu/drm/virtio/virtgpu_drv.o
CC sound/core/seq_device.o
CC kernel/trace/trace_sched_switch.o
CC fs/netfs/read_retry.o
CC drivers/gpu/drm/virtio/virtgpu_kms.o
CC net/mac80211/aead_api.o
CC crypto/sha512_generic.o
CC net/sunrpc/socklib.o
CC mm/interval_tree.o
CC fs/proc/namespaces.o
CC lib/iomem_copy.o
CC net/ethtool/cabletest.o
CC drivers/acpi/acpica/exserial.o
AR net/netlabel/built-in.a
CC fs/netfs/read_single.o
CC drivers/tty/tty_ldisc.o
CC lib/irq_regs.o
CC drivers/gpu/drm/ttm/ttm_range_manager.o
CC arch/x86/kernel/ldt.o
CC arch/x86/kernel/cpu/intel.o
AR net/xfrm/built-in.a
CC io_uring/futex.o
CC net/ipv6/ndisc.o
CC fs/ext4/fsync.o
CC drivers/tty/serial/8250/8250_exar.o
CC drivers/base/regmap/regcache-flat.o
CC net/sunrpc/auth_gss/gss_krb5_wrap.o
CC drivers/gpu/drm/i915/i915_ioctl.o
CC kernel/cgroup/debug.o
CC net/ethtool/tunnels.o
CC lib/is_single_threaded.o
CC kernel/trace/trace_nop.o
CC net/wireless/scan.o
CC drivers/pci/pci-label.o
CC fs/hugetlbfs/inode.o
AR sound/core/built-in.a
CC drivers/base/power/wakeirq.o
AR sound/parisc/built-in.a
CC drivers/acpi/acpica/exstore.o
AR sound/pcmcia/vx/built-in.a
AR sound/pcmcia/pdaudiocf/built-in.a
AR sound/pcmcia/built-in.a
AR sound/mips/built-in.a
CC fs/proc/self.o
AR sound/soc/built-in.a
CC net/netfilter/nf_conntrack_proto_generic.o
AR sound/atmel/built-in.a
CC fs/proc/thread_self.o
CC sound/hda/hda_bus_type.o
AR drivers/char/agp/built-in.a
CC drivers/char/random.o
AR drivers/block/built-in.a
CC mm/list_lru.o
CC kernel/time/clockevents.o
CC drivers/gpu/drm/virtio/virtgpu_gem.o
CC lib/klist.o
CC crypto/sha3_generic.o
CC lib/kobject.o
CC arch/x86/kernel/cpu/tsx.o
CC drivers/gpu/drm/ttm/ttm_resource.o
CC drivers/base/regmap/regcache-maple.o
CC kernel/time/tick-common.o
CC arch/x86/kernel/cpu/intel_epb.o
CC drivers/acpi/acpica/exstoren.o
CC net/ipv4/tcp_input.o
CC fs/netfs/rolling_buffer.o
CC drivers/gpu/drm/display/drm_dsc_helper.o
CC drivers/gpu/drm/virtio/virtgpu_vram.o
CC kernel/trace/blktrace.o
CC drivers/iommu/iova.o
CC drivers/base/power/main.o
CC block/blk-ioprio.o
CC drivers/acpi/processor_core.o
CC drivers/tty/serial/serial_base_bus.o
CC fs/fat/cache.o
CC net/core/rtnetlink.o
CC fs/isofs/namei.o
CC drivers/pci/vgaarb.o
CC fs/proc/proc_sysctl.o
CC drivers/tty/serial/serial_ctrl.o
CC io_uring/epoll.o
AR kernel/cgroup/built-in.a
CC net/wireless/nl80211.o
CC net/ipv4/tcp_output.o
AR sound/x86/built-in.a
CC drivers/tty/serial/8250/8250_lpss.o
CC kernel/time/tick-broadcast.o
CC sound/hda/hdac_bus.o
CC drivers/gpu/drm/i915/i915_irq.o
CC crypto/ecb.o
CC drivers/acpi/acpica/exstorob.o
CC arch/x86/kernel/cpu/amd.o
CC drivers/acpi/processor_pdc.o
CC net/wireless/mlme.o
CC fs/ext4/hash.o
CC lib/kobject_uevent.o
CC net/sunrpc/auth_gss/gss_krb5_crypto.o
CC mm/workingset.o
AR kernel/events/built-in.a
CC fs/isofs/inode.o
CC net/ethtool/fec.o
CC net/handshake/alert.o
CC drivers/base/component.o
CC drivers/base/regmap/regmap-debugfs.o
CC fs/netfs/write_collect.o
CC net/netfilter/nf_conntrack_proto_tcp.o
CC lib/logic_pio.o
CC drivers/gpu/drm/virtio/virtgpu_display.o
CC net/core/utils.o
CC net/handshake/genl.o
CC drivers/acpi/acpica/exsystem.o
CC block/blk-iolatency.o
CC crypto/cbc.o
CC drivers/gpu/drm/ttm/ttm_pool.o
AR drivers/gpu/drm/imx/built-in.a
CC kernel/panic.o
CC net/ipv6/udp.o
CC drivers/base/power/wakeup.o
CC drivers/gpu/drm/i915/i915_mitigations.o
CC drivers/gpu/drm/display/drm_hdcp_helper.o
CC fs/isofs/dir.o
AR drivers/iommu/built-in.a
CC drivers/tty/serial/8250/8250_mid.o
CC fs/isofs/util.o
CC fs/fat/dir.o
CC io_uring/napi.o
CC kernel/time/tick-broadcast-hrtimer.o
AR fs/hugetlbfs/built-in.a
CC kernel/cpu.o
CC drivers/char/misc.o
CC sound/hda/hdac_device.o
CC drivers/acpi/acpica/extrace.o
CC crypto/ctr.o
CC fs/ext4/ialloc.o
CC drivers/char/virtio_console.o
CC arch/x86/kernel/cpu/hygon.o
AR drivers/pci/built-in.a
CC mm/debug.o
CC arch/x86/kernel/cpu/centaur.o
CC block/blk-iocost.o
CC fs/isofs/rock.o
AR drivers/base/regmap/built-in.a
CC net/devres.o
CC kernel/time/tick-oneshot.o
CC net/ethtool/eeprom.o
CC drivers/gpu/drm/ttm/ttm_device.o
CC drivers/acpi/acpica/exutils.o
CC drivers/gpu/drm/virtio/virtgpu_vq.o
CC fs/proc/proc_net.o
CC lib/maple_tree.o
AR sound/xen/built-in.a
CC drivers/tty/serial/8250/8250_pci.o
CC drivers/tty/serial/serial_port.o
CC mm/gup.o
CC drivers/gpu/drm/display/drm_hdmi_helper.o
CC drivers/acpi/ec.o
CC arch/x86/kernel/setup.o
CC drivers/gpu/drm/virtio/virtgpu_fence.o
CC kernel/trace/trace_events.o
CC net/mac80211/wpa.o
CC kernel/trace/trace_export.o
CC arch/x86/kernel/x86_init.o
CC lib/memcat_p.o
CC crypto/gcm.o
CC arch/x86/kernel/cpu/transmeta.o
CC arch/x86/kernel/i8259.o
CC fs/netfs/write_issue.o
CC net/sunrpc/auth_gss/gss_krb5_keys.o
CC drivers/gpu/drm/i915/i915_module.o
CC net/handshake/netlink.o
CC kernel/time/tick-sched.o
CC drivers/acpi/acpica/hwacpi.o
CC arch/x86/kernel/irqinit.o
CC net/socket.o
CC net/ipv6/udplite.o
CC net/wireless/ibss.o
CC sound/hda/hdac_sysfs.o
CC drivers/base/power/wakeup_stats.o
CC drivers/acpi/dock.o
CC fs/isofs/export.o
CC drivers/gpu/drm/ttm/ttm_sys_manager.o
CC drivers/acpi/acpica/hwesleep.o
CC drivers/base/core.o
CC fs/nfs/client.o
CC kernel/exit.o
CC arch/x86/kernel/cpu/zhaoxin.o
CC fs/proc/kcore.o
CC drivers/gpu/drm/display/drm_scdc_helper.o
CC net/netfilter/nf_conntrack_proto_udp.o
AR io_uring/built-in.a
CC drivers/acpi/acpica/hwgpe.o
CC net/mac80211/scan.o
CC drivers/tty/tty_buffer.o
CC net/ethtool/stats.o
CC drivers/tty/tty_port.o
CC fs/fat/fatent.o
CC drivers/base/power/trace.o
CC drivers/char/hpet.o
CC net/core/link_watch.o
CC drivers/gpu/drm/ttm/ttm_backup.o
CC crypto/ccm.o
CC drivers/gpu/drm/virtio/virtgpu_object.o
CC net/handshake/request.o
CC arch/x86/kernel/cpu/vortex.o
CC net/sunrpc/xprtsock.o
CC drivers/tty/serial/earlycon.o
CC fs/isofs/joliet.o
CC drivers/gpu/drm/i915/i915_params.o
CC drivers/acpi/acpica/hwregs.o
AR net/sunrpc/auth_gss/built-in.a
CC fs/isofs/compress.o
CC sound/hda/hdac_regmap.o
CC kernel/time/timer_migration.o
CC drivers/gpu/drm/ttm/ttm_agp_backend.o
CC drivers/tty/serial/8250/8250_pericom.o
CC fs/netfs/write_retry.o
CC fs/nfs/dir.o
CC drivers/misc/eeprom/eeprom_93cx6.o
CC arch/x86/kernel/jump_label.o
AR drivers/mfd/built-in.a
CC drivers/acpi/acpica/hwsleep.o
CC arch/x86/kernel/cpu/perfctr-watchdog.o
CC drivers/gpu/drm/i915/i915_pci.o
CC drivers/acpi/acpica/hwvalid.o
AR drivers/gpu/drm/display/built-in.a
CC kernel/time/vsyscall.o
CC fs/exportfs/expfs.o
CC fs/fat/file.o
CC net/ipv6/raw.o
CC fs/ext4/indirect.o
CC fs/proc/kmsg.o
CC fs/ext4/inline.o
AR drivers/base/power/built-in.a
CC net/wireless/sme.o
AR drivers/misc/eeprom/built-in.a
AR drivers/misc/cb710/built-in.a
CC net/core/filter.o
AR drivers/misc/lis3lv02d/built-in.a
CC crypto/aes_generic.o
CC net/netfilter/nf_conntrack_proto_icmp.o
AR drivers/misc/cardreader/built-in.a
AR drivers/misc/keba/built-in.a
AR sound/virtio/built-in.a
AR drivers/misc/built-in.a
CC drivers/tty/tty_mutex.o
CC drivers/base/bus.o
CC fs/ext4/inode.o
CC drivers/gpu/drm/virtio/virtgpu_debugfs.o
CC drivers/char/nvram.o
AR drivers/gpu/drm/ttm/built-in.a
CC drivers/tty/tty_ldsem.o
CC drivers/acpi/acpica/hwxface.o
CC sound/hda/hdac_controller.o
CC net/sysctl_net.o
CC kernel/trace/trace_event_perf.o
AR drivers/tty/serial/8250/built-in.a
AR drivers/tty/serial/built-in.a
CC lib/nmi_backtrace.o
CC mm/mmap_lock.o
CC lib/objpool.o
CC net/ipv6/icmp.o
CC net/ipv6/mcast.o
CC net/ethtool/phc_vclocks.o
AR fs/isofs/built-in.a
CC fs/nfs/file.o
CC net/wireless/chan.o
CC fs/proc/page.o
CC drivers/gpu/drm/virtio/virtgpu_plane.o
CC arch/x86/kernel/cpu/vmware.o
CC block/mq-deadline.o
AR fs/netfs/built-in.a
AR fs/exportfs/built-in.a
CC fs/ext4/ioctl.o
CC fs/ext4/mballoc.o
CC drivers/tty/tty_baudrate.o
CC drivers/acpi/acpica/hwxfsleep.o
CC net/ipv4/tcp_timer.o
CC net/handshake/tlshd.o
CC net/ipv6/reassembly.o
CC sound/sound_core.o
CC lib/plist.o
CC drivers/acpi/pci_root.o
CC drivers/gpu/drm/i915/i915_scatterlist.o
CC drivers/gpu/drm/virtio/virtgpu_ioctl.o
CC arch/x86/kernel/irq_work.o
CC drivers/gpu/drm/virtio/virtgpu_prime.o
CC kernel/trace/trace_events_filter.o
CC net/mac80211/offchannel.o
CC crypto/authenc.o
CC fs/fat/inode.o
CC mm/highmem.o
CC mm/memory.o
AR drivers/char/built-in.a
CC net/core/sock_diag.o
CC drivers/acpi/acpica/hwpci.o
CC drivers/acpi/acpica/nsaccess.o
CC drivers/tty/tty_jobctrl.o
CC sound/hda/hdac_stream.o
CC net/netfilter/nf_conntrack_extend.o
CC kernel/time/timekeeping_debug.o
CC drivers/gpu/drm/virtio/virtgpu_trace_points.o
CC fs/fat/misc.o
AR fs/proc/built-in.a
CC arch/x86/kernel/cpu/hypervisor.o
CC drivers/base/dd.o
CC net/ipv4/tcp_ipv4.o
CC fs/ext4/migrate.o
CC lib/radix-tree.o
CC net/ethtool/mm.o
CC kernel/softirq.o
CC drivers/acpi/acpica/nsalloc.o
CC crypto/authencesn.o
CC crypto/lzo.o
CC arch/x86/kernel/cpu/mshyperv.o
CC drivers/gpu/drm/i915/i915_switcheroo.o
CC drivers/gpu/drm/virtio/virtgpu_submit.o
CC block/kyber-iosched.o
CC sound/last.o
CC drivers/acpi/pci_link.o
AR drivers/gpu/drm/panel/built-in.a
AR drivers/nfc/built-in.a
CC net/handshake/trace.o
CC fs/nfs/getroot.o
CC net/ipv6/tcp_ipv6.o
CC net/sunrpc/sched.o
CC net/mac80211/ht.o
CC drivers/tty/n_null.o
CC fs/nfs/inode.o
CC kernel/time/namespace.o
CC kernel/trace/trace_events_trigger.o
CC drivers/acpi/acpica/nsarguments.o
CC fs/lockd/clntlock.o
CC drivers/acpi/acpica/nsconvert.o
CC drivers/gpu/drm/i915/i915_sysfs.o
CC net/ipv4/tcp_minisocks.o
CC block/blk-mq-debugfs.o
CC sound/hda/array.o
CC arch/x86/kernel/cpu/debugfs.o
CC net/wireless/ethtool.o
CC drivers/base/syscore.o
CC kernel/resource.o
CC net/mac80211/agg-tx.o
CC drivers/tty/pty.o
CC mm/mincore.o
CC net/netfilter/nf_conntrack_acct.o
CC block/blk-pm.o
CC fs/fat/nfs.o
CC net/ethtool/module.o
CC net/ethtool/cmis_fw_update.o
CC drivers/acpi/pci_irq.o
AR drivers/gpu/drm/bridge/analogix/built-in.a
CC drivers/acpi/acpica/nsdump.o
AR drivers/gpu/drm/bridge/cadence/built-in.a
AR drivers/gpu/drm/bridge/imx/built-in.a
AR drivers/gpu/drm/bridge/synopsys/built-in.a
CC arch/x86/kernel/probe_roms.o
AR drivers/gpu/drm/bridge/built-in.a
CC lib/ratelimit.o
CC mm/mlock.o
CC fs/ext4/mmp.o
AR drivers/gpu/drm/virtio/built-in.a
CC crypto/lzo-rle.o
AR drivers/dax/hmem/built-in.a
AR drivers/dax/built-in.a
CC net/ipv6/ping.o
CC kernel/sysctl.o
CC sound/hda/hdmi_chmap.o
AR kernel/time/built-in.a
CC net/netfilter/nf_conntrack_seqadj.o
CC arch/x86/kernel/cpu/bus_lock.o
CC net/ethtool/cmis_cdb.o
CC arch/x86/kernel/sys_ia32.o
CC net/core/dev_ioctl.o
CC drivers/gpu/drm/i915/i915_utils.o
CC drivers/acpi/acpica/nseval.o
CC fs/ext4/move_extent.o
AR drivers/gpu/drm/hisilicon/built-in.a
CC drivers/gpu/drm/i915/intel_clock_gating.o
CC fs/lockd/clntproc.o
CC net/core/tso.o
CC net/netfilter/nf_conntrack_proto_icmpv6.o
CC drivers/tty/tty_audit.o
CC drivers/dma-buf/dma-buf.o
CC kernel/trace/trace_eprobe.o
CC fs/fat/namei_vfat.o
CC block/holder.o
CC drivers/base/driver.o
CC drivers/acpi/acpica/nsinit.o
CC arch/x86/kernel/ksysfs.o
AR drivers/cxl/core/built-in.a
AR drivers/gpu/drm/mxsfb/built-in.a
AR drivers/cxl/built-in.a
CC net/ipv4/tcp_cong.o
CC crypto/rng.o
CC drivers/macintosh/mac_hid.o
CC drivers/dma-buf/dma-fence.o
AR net/handshake/built-in.a
CC fs/nfs/super.o
CC net/netfilter/nf_conntrack_netlink.o
CC drivers/acpi/acpica/nsload.o
CC kernel/trace/trace_kprobe.o
CC net/sunrpc/auth.o
CC lib/rbtree.o
CC mm/mmap.o
CC sound/hda/trace.o
AR drivers/scsi/pcmcia/built-in.a
CC drivers/scsi/scsi.o
CC drivers/gpu/drm/i915/intel_cpu_info.o
CC drivers/base/class.o
CC fs/nls/nls_base.o
CC arch/x86/kernel/cpu/capflags.o
AR arch/x86/kernel/cpu/built-in.a
CC fs/nfs/io.o
CC drivers/acpi/acpica/nsnames.o
CC fs/nfs/direct.o
CC fs/nfs/pagelist.o
CC fs/nfs/read.o
CC drivers/base/platform.o
AR drivers/macintosh/built-in.a
CC drivers/scsi/hosts.o
CC drivers/scsi/scsi_ioctl.o
AR block/built-in.a
CC drivers/tty/sysrq.o
AR fs/unicode/built-in.a
CC arch/x86/kernel/bootflag.o
CC net/core/sock_reuseport.o
CC lib/seq_buf.o
CC net/ethtool/pse-pd.o
CC net/ipv4/tcp_metrics.o
CC arch/x86/kernel/e820.o
CC drivers/dma-buf/dma-fence-array.o
CC crypto/drbg.o
CC net/sunrpc/auth_null.o
CC lib/siphash.o
AR drivers/nvme/common/built-in.a
AR drivers/nvme/host/built-in.a
CC fs/nls/nls_cp437.o
CC drivers/acpi/acpica/nsobject.o
AR drivers/nvme/target/built-in.a
CC drivers/ata/libata-core.o
AR drivers/nvme/built-in.a
CC drivers/acpi/acpi_apd.o
CC drivers/gpu/drm/i915/intel_device_info.o
CC drivers/dma-buf/dma-fence-chain.o
CC drivers/acpi/acpica/nsparse.o
CC net/ipv6/exthdrs.o
CC fs/lockd/clntxdr.o
CC net/mac80211/agg-rx.o
CC mm/mmu_gather.o
CC crypto/jitterentropy.o
CC drivers/acpi/acpica/nspredef.o
CC fs/fat/namei_msdos.o
CC fs/autofs/init.o
AR drivers/gpu/drm/sysfb/built-in.a
CC net/ethtool/plca.o
CC kernel/trace/error_report-traces.o
CC net/wireless/mesh.o
CC drivers/acpi/acpi_platform.o
CC kernel/capability.o
CC lib/string.o
CC sound/hda/hdac_component.o
CC fs/nls/nls_ascii.o
CC fs/nls/nls_iso8859-1.o
CC fs/nls/nls_utf8.o
CC drivers/gpu/drm/i915/intel_memory_region.o
CC kernel/ptrace.o
CC drivers/ata/libata-scsi.o
CC net/ipv4/tcp_fastopen.o
CC net/ipv6/datagram.o
CC fs/nfs/symlink.o
CC lib/timerqueue.o
CC net/core/fib_notifier.o
CC net/netfilter/nf_conntrack_ftp.o
AR drivers/tty/built-in.a
CC drivers/acpi/acpica/nsprepkg.o
CC net/core/xdp.o
CC fs/ext4/namei.o
CC drivers/base/cpu.o
CC drivers/dma-buf/dma-fence-unwrap.o
CC crypto/jitterentropy-kcapi.o
CC sound/hda/hdac_i915.o
CC kernel/trace/power-traces.o
CC drivers/scsi/scsicam.o
CC net/mac80211/vht.o
AR fs/nls/built-in.a
CC arch/x86/kernel/pci-dma.o
CC lib/union_find.o
CC lib/vsprintf.o
CC drivers/dma-buf/dma-resv.o
CC net/wireless/ap.o
CC mm/mprotect.o
CC fs/autofs/inode.o
CC fs/nfs/unlink.o
CC net/ethtool/phy.o
CC drivers/ata/libata-eh.o
CC fs/lockd/host.o
CC drivers/gpu/drm/i915/intel_pcode.o
CC drivers/acpi/acpica/nsrepair.o
CC lib/win_minmax.o
CC net/sunrpc/auth_tls.o
CC drivers/acpi/acpi_pnp.o
CC crypto/ghash-generic.o
CC drivers/scsi/scsi_error.o
CC fs/nfs/write.o
AR fs/fat/built-in.a
CC net/mac80211/he.o
CC fs/ext4/page-io.o
CC net/core/flow_offload.o
AR drivers/gpu/drm/tiny/built-in.a
CC drivers/dma-buf/sync_file.o
CC crypto/hash_info.o
CC net/core/gro.o
CC drivers/acpi/power.o
CC sound/hda/intel-dsp-config.o
CC drivers/scsi/scsi_lib.o
CC drivers/base/firmware.o
CC arch/x86/kernel/quirks.o
CC drivers/ata/libata-transport.o
CC drivers/gpu/drm/i915/intel_region_ttm.o
CC net/sunrpc/auth_unix.o
CC net/ethtool/tsconfig.o
CC kernel/trace/rpm-traces.o
CC drivers/acpi/acpica/nsrepair2.o
CC net/netfilter/nf_conntrack_irc.o
CC crypto/rsapubkey.asn1.o
AR drivers/net/phy/mediatek/built-in.a
CC crypto/rsaprivkey.asn1.o
CC drivers/acpi/acpica/nssearch.o
AR drivers/net/phy/qcom/built-in.a
CC drivers/net/phy/realtek/realtek_main.o
AR crypto/built-in.a
CC drivers/net/phy/mdio-boardinfo.o
CC fs/nfs/namespace.o
CC fs/autofs/root.o
CC drivers/gpu/drm/i915/intel_runtime_pm.o
CC drivers/base/init.o
AR drivers/dma-buf/built-in.a
CC net/ipv4/tcp_rate.o
CC drivers/acpi/event.o
CC net/core/netdev-genl.o
CC net/ipv6/ip6_flowlabel.o
CC kernel/user.o
CC drivers/acpi/acpica/nsutils.o
CC mm/mremap.o
CC net/ipv6/inet6_connection_sock.o
CC sound/hda/intel-nhlt.o
CC drivers/acpi/acpica/nswalk.o
AR drivers/gpu/drm/xlnx/built-in.a
CC kernel/trace/trace_dynevent.o
AR drivers/net/pse-pd/built-in.a
CC fs/autofs/symlink.o
CC arch/x86/kernel/kdebugfs.o
CC net/mac80211/s1g.o
CC net/netfilter/nf_conntrack_sip.o
CC drivers/net/phy/stubs.o
CC fs/lockd/svc.o
CC lib/xarray.o
CC net/ipv4/tcp_recovery.o
CC net/ipv6/udp_offload.o
CC drivers/net/mdio/acpi_mdio.o
CC drivers/scsi/constants.o
CC net/ipv6/seg6.o
CC drivers/scsi/scsi_lib_dma.o
CC drivers/net/phy/mdio_devres.o
CC drivers/base/map.o
CC lib/lockref.o
CC drivers/acpi/acpica/nsxfeval.o
CC drivers/net/mdio/fwnode_mdio.o
AR net/ethtool/built-in.a
CC sound/hda/intel-sdw-acpi.o
CC drivers/acpi/evged.o
CC kernel/trace/trace_probe.o
CC drivers/acpi/acpica/nsxfname.o
CC net/sunrpc/svc.o
CC drivers/acpi/sysfs.o
CC net/netfilter/nf_nat_core.o
CC lib/bcd.o
CC net/core/netdev-genl-gen.o
CC arch/x86/kernel/alternative.o
CC net/core/gso.o
AR drivers/gpu/drm/gud/built-in.a
CC fs/autofs/waitq.o
AR drivers/gpu/drm/solomon/built-in.a
CC mm/msync.o
CC drivers/firewire/init_ohci1394_dma.o
CC net/ipv4/tcp_ulp.o
AR drivers/net/phy/realtek/built-in.a
CC net/core/net-sysfs.o
CC drivers/gpu/drm/i915/intel_sbi.o
CC drivers/base/devres.o
CC net/mac80211/ibss.o
CC fs/9p/vfs_super.o
CC drivers/scsi/scsi_scan.o
CC fs/ext4/readpage.o
CC drivers/acpi/acpica/nsxfobj.o
CC fs/nfs/mount_clnt.o
AR drivers/net/pcs/built-in.a
CC drivers/base/attribute_container.o
CC drivers/base/transport_class.o
CC lib/sort.o
AR sound/hda/built-in.a
CC drivers/ata/libata-trace.o
AR sound/built-in.a
CC kernel/signal.o
GEN drivers/scsi/scsi_devinfo_tbl.c
CC fs/lockd/svclock.o
CC net/ipv6/fib6_notifier.o
CC net/core/hotdata.o
CC fs/nfs/nfstrace.o
CC arch/x86/kernel/i8253.o
CC drivers/net/phy/phy.o
AR fs/hostfs/built-in.a
CC fs/9p/vfs_inode.o
CC drivers/cdrom/cdrom.o
AR drivers/auxdisplay/built-in.a
CC net/core/netdev_rx_queue.o
AR drivers/net/mdio/built-in.a
CC drivers/acpi/acpica/psargs.o
CC drivers/ata/libata-sata.o
AR drivers/firewire/built-in.a
CC kernel/trace/trace_uprobe.o
CC net/wireless/trace.o
CC fs/9p/vfs_inode_dotl.o
CC [M] drivers/gpu/drm/scheduler/sched_main.o
CC drivers/acpi/acpica/psloop.o
CC mm/page_vma_mapped.o
CC kernel/trace/rethook.o
CC fs/lockd/svcshare.o
CC net/netfilter/nf_nat_proto.o
HOSTCC drivers/gpu/drm/xe/xe_gen_wa_oob
CC [M] drivers/gpu/drm/scheduler/sched_fence.o
CC drivers/scsi/scsi_devinfo.o
CC drivers/gpu/drm/drm_atomic.o
CC fs/autofs/expire.o
AR drivers/net/ethernet/3com/built-in.a
AR drivers/net/wireless/admtek/built-in.a
CC drivers/net/ethernet/8390/ne2k-pci.o
AR drivers/net/wireless/ath/built-in.a
CC lib/parser.o
GEN xe_wa_oob.c xe_wa_oob.h
AR drivers/net/wireless/atmel/built-in.a
CC [M] drivers/gpu/drm/xe/xe_bb.o
AR drivers/net/usb/built-in.a
AR drivers/net/wireless/broadcom/built-in.a
CC drivers/base/topology.o
AR drivers/net/wireless/intel/built-in.a
CC drivers/net/mii.o
AR drivers/net/wireless/intersil/built-in.a
AR drivers/net/wireless/marvell/built-in.a
AR drivers/net/wireless/mediatek/built-in.a
AR drivers/net/wireless/microchip/built-in.a
AR drivers/net/wireless/purelifi/built-in.a
AR drivers/net/wireless/quantenna/built-in.a
CC drivers/gpu/drm/i915/intel_step.o
AR drivers/net/wireless/ralink/built-in.a
CC drivers/pcmcia/cs.o
CC fs/ext4/resize.o
AR drivers/net/wireless/realtek/built-in.a
AR drivers/net/wireless/rsi/built-in.a
CC [M] drivers/gpu/drm/xe/xe_bo.o
AR drivers/net/wireless/silabs/built-in.a
AR drivers/net/wireless/st/built-in.a
CC drivers/base/container.o
AR drivers/net/wireless/ti/built-in.a
CC net/wireless/ocb.o
AR drivers/net/wireless/zydas/built-in.a
AR drivers/net/wireless/virtual/built-in.a
AR drivers/net/wireless/built-in.a
CC drivers/acpi/acpica/psobject.o
CC net/ipv6/rpl.o
CC net/ipv4/tcp_offload.o
CC arch/x86/kernel/hw_breakpoint.o
CC drivers/net/ethernet/8390/8390.o
CC net/ipv6/ioam6.o
CC net/core/net-procfs.o
CC drivers/scsi/scsi_sysctl.o
CC lib/debug_locks.o
CC drivers/pcmcia/socket_sysfs.o
CC fs/lockd/svcproc.o
CC fs/9p/vfs_addr.o
CC fs/9p/vfs_file.o
CC drivers/usb/common/common.o
CC drivers/gpu/drm/i915/intel_uncore.o
CC mm/pagewalk.o
CC [M] drivers/gpu/drm/scheduler/sched_entity.o
CC lib/random32.o
CC net/ipv4/tcp_plb.o
CC drivers/ata/libata-sff.o
CC fs/nfs/export.o
CC drivers/base/property.o
CC drivers/acpi/acpica/psopcode.o
CC drivers/base/cacheinfo.o
CC drivers/scsi/scsi_proc.o
CC fs/autofs/dev-ioctl.o
CC fs/nfs/sysfs.o
CC drivers/acpi/acpica/psopinfo.o
CC drivers/net/loopback.o
CC drivers/gpu/drm/drm_atomic_uapi.o
CC lib/bust_spinlocks.o
CC lib/kasprintf.o
CC drivers/usb/common/debug.o
CC kernel/sys.o
CC net/sunrpc/svcsock.o
CC fs/9p/vfs_dir.o
CC arch/x86/kernel/tsc.o
AR drivers/net/ethernet/adaptec/built-in.a
CC drivers/net/phy/phy-c45.o
CC drivers/acpi/acpica/psparse.o
CC drivers/pcmcia/cardbus.o
CC net/ipv4/datagram.o
CC kernel/umh.o
CC lib/bitmap.o
CC mm/pgtable-generic.o
AR drivers/usb/common/built-in.a
CC drivers/usb/core/usb.o
CC drivers/gpu/drm/drm_auth.o
CC mm/rmap.o
CC mm/vmalloc.o
CC fs/debugfs/inode.o
CC drivers/usb/core/hub.o
LD [M] drivers/gpu/drm/scheduler/gpu-sched.o
CC net/ipv4/raw.o
CC fs/ext4/super.o
AR drivers/cdrom/built-in.a
CC drivers/acpi/acpica/psscope.o
CC net/netfilter/nf_nat_helper.o
CC drivers/scsi/scsi_debugfs.o
CC drivers/base/swnode.o
CC drivers/net/phy/phy-core.o
CC net/mac80211/iface.o
AR drivers/net/ethernet/8390/built-in.a
CC net/core/netpoll.o
AR drivers/net/ethernet/agere/built-in.a
AR kernel/trace/built-in.a
CC drivers/gpu/drm/i915/intel_uncore_trace.o
AR drivers/net/ethernet/alacritech/built-in.a
AR drivers/net/ethernet/alteon/built-in.a
CC net/ipv6/sysctl_net_ipv6.o
AR drivers/net/ethernet/amazon/built-in.a
AR drivers/net/ethernet/amd/built-in.a
AR drivers/net/ethernet/aquantia/built-in.a
AR fs/autofs/built-in.a
AR drivers/net/ethernet/arc/built-in.a
AR drivers/net/ethernet/asix/built-in.a
CC arch/x86/kernel/tsc_msr.o
AR drivers/net/ethernet/atheros/built-in.a
AR drivers/net/ethernet/cadence/built-in.a
CC fs/lockd/svcsubs.o
CC drivers/net/ethernet/broadcom/bnx2.o
CC net/ipv4/udp.o
CC drivers/pcmcia/ds.o
CC fs/9p/vfs_dentry.o
CC drivers/acpi/acpica/pstree.o
CC fs/nfs/fs_context.o
CC drivers/net/ethernet/broadcom/tg3.o
CC drivers/net/netconsole.o
CC fs/tracefs/inode.o
CC fs/open.o
CC lib/scatterlist.o
CC [M] fs/efivarfs/inode.o
CC net/netfilter/nf_nat_masquerade.o
CC fs/nfs/nfsroot.o
CC drivers/input/serio/serio.o
CC drivers/acpi/property.o
CC arch/x86/kernel/io_delay.o
CC net/netfilter/nf_nat_ftp.o
CC drivers/base/faux.o
CC net/ipv4/udplite.o
CC drivers/input/serio/i8042.o
CC fs/nfs/sysctl.o
CC drivers/usb/core/hcd.o
CC drivers/acpi/acpica/psutils.o
CC net/core/fib_rules.o
CC drivers/scsi/scsi_trace.o
CC fs/debugfs/file.o
CC drivers/net/virtio_net.o
CC fs/9p/v9fs.o
CC arch/x86/kernel/rtc.o
CC [M] drivers/gpu/drm/xe/xe_bo_evict.o
CC fs/ext4/symlink.o
CC net/wireless/pmsr.o
CC fs/lockd/mon.o
CC drivers/ata/libata-pmp.o
CC drivers/base/auxiliary.o
CC [M] fs/efivarfs/file.o
CC drivers/net/phy/phy_device.o
CC drivers/acpi/acpica/pswalk.o
CC net/ipv6/xfrm6_policy.o
AR drivers/net/ethernet/brocade/built-in.a
CC drivers/input/keyboard/atkbd.o
CC fs/tracefs/event_inode.o
CC drivers/gpu/drm/i915/intel_wakeref.o
CC drivers/rtc/lib.o
CC kernel/workqueue.o
CC drivers/pcmcia/pcmcia_resource.o
CC drivers/input/mouse/psmouse-base.o
AR drivers/input/joystick/built-in.a
CC mm/vma.o
CC drivers/acpi/acpica/psxface.o
CC kernel/pid.o
CC drivers/scsi/scsi_logging.o
CC net/core/net-traces.o
CC arch/x86/kernel/resource.o
CC drivers/base/devtmpfs.o
CC net/netfilter/nf_nat_irc.o
CC fs/9p/fid.o
CC [M] fs/efivarfs/super.o
CC lib/list_sort.o
CC lib/uuid.o
CC net/mac80211/link.o
CC net/ipv4/udp_offload.o
CC drivers/net/phy/linkmode.o
CC [M] drivers/gpu/drm/xe/xe_devcoredump.o
AS arch/x86/kernel/irqflags.o
CC arch/x86/kernel/static_call.o
CC drivers/usb/core/urb.o
AR drivers/net/ethernet/cavium/common/built-in.a
AR drivers/net/ethernet/cavium/thunder/built-in.a
AR drivers/net/ethernet/cavium/liquidio/built-in.a
CC lib/iov_iter.o
AR drivers/net/ethernet/cavium/octeon/built-in.a
AR drivers/net/ethernet/cavium/built-in.a
CC lib/clz_ctz.o
GEN net/wireless/shipped-certs.c
CC kernel/task_work.o
CC drivers/acpi/acpica/rsaddr.o
CC drivers/ata/libata-acpi.o
CC net/core/selftests.o
CC net/core/ptp_classifier.o
AR drivers/input/tablet/built-in.a
AR fs/debugfs/built-in.a
CC drivers/rtc/class.o
CC drivers/acpi/debugfs.o
CC drivers/i2c/algos/i2c-algo-bit.o
CC drivers/input/serio/serport.o
CC drivers/i2c/busses/i2c-i801.o
CC net/sunrpc/svcauth.o
CC fs/lockd/trace.o
CC drivers/pcmcia/cistpl.o
CC arch/x86/kernel/process.o
CC drivers/acpi/acpica/rscalc.o
CC net/ipv6/xfrm6_state.o
AR drivers/input/keyboard/built-in.a
CC fs/nfs/nfs3super.o
CC fs/nfs/nfs3client.o
CC drivers/scsi/scsi_pm.o
AR fs/tracefs/built-in.a
CC net/mac80211/rate.o
CC drivers/gpu/drm/i915/vlv_sideband.o
CC fs/9p/xattr.o
CC drivers/scsi/scsi_bsg.o
CC drivers/base/module.o
CC drivers/ata/libata-pata-timings.o
CC mm/process_vm_access.o
CC drivers/rtc/interface.o
CC net/netfilter/nf_nat_sip.o
CC [M] fs/efivarfs/vars.o
CC drivers/input/mouse/synaptics.o
CC arch/x86/kernel/ptrace.o
AR drivers/net/ethernet/chelsio/built-in.a
CC drivers/scsi/scsi_common.o
CC drivers/input/mouse/focaltech.o
CC drivers/input/serio/libps2.o
CC drivers/usb/core/message.o
CC drivers/acpi/acpica/rscreate.o
CC [M] drivers/gpu/drm/xe/xe_device.o
CC drivers/gpu/drm/drm_blend.o
AR drivers/i2c/muxes/built-in.a
CC fs/nfs/nfs3proc.o
CC lib/bsearch.o
CC drivers/base/auxiliary_sysfs.o
AR drivers/i2c/algos/built-in.a
CC net/sunrpc/svcauth_unix.o
CC drivers/net/phy/phy_link_topology.o
CC drivers/net/net_failover.o
CC net/ipv4/arp.o
AR drivers/i3c/built-in.a
CC drivers/usb/core/driver.o
CC drivers/pcmcia/pcmcia_cis.o
CC drivers/scsi/scsi_transport_spi.o
AR fs/9p/built-in.a
CC net/core/netprio_cgroup.o
CC drivers/acpi/acpica/rsdumpinfo.o
CC drivers/i2c/i2c-boardinfo.o
CC arch/x86/kernel/tls.o
AR drivers/i2c/busses/built-in.a
CC drivers/base/devcoredump.o
CC fs/lockd/xdr.o
AR drivers/usb/phy/built-in.a
CC fs/read_write.o
CC fs/file_table.o
AR drivers/input/touchscreen/built-in.a
CC kernel/extable.o
CC [M] drivers/gpu/drm/xe/xe_device_sysfs.o
LD [M] fs/efivarfs/efivarfs.o
CC drivers/ata/ahci.o
CC arch/x86/kernel/step.o
CC fs/lockd/netlink.o
CC arch/x86/kernel/i8237.o
CC net/ipv6/xfrm6_input.o
CC drivers/gpu/drm/i915/vlv_suspend.o
CC mm/page_alloc.o
AR drivers/input/serio/built-in.a
CC kernel/params.o
CC drivers/acpi/acpica/rsinfo.o
CC drivers/usb/core/config.o
CC net/core/netclassid_cgroup.o
CC fs/ext4/sysfs.o
CC net/wireless/shipped-certs.o
AR drivers/net/ethernet/cisco/built-in.a
CC drivers/rtc/nvmem.o
CC drivers/i2c/i2c-core-base.o
CC fs/super.o
CC drivers/input/mouse/alps.o
CC kernel/kthread.o
CC drivers/acpi/acpica/rsio.o
CC [M] drivers/gpu/drm/xe/xe_dma_buf.o
CC drivers/gpu/drm/drm_bridge.o
CC drivers/net/phy/phy_package.o
CC drivers/base/platform-msi.o
CC lib/find_bit.o
CC net/netfilter/x_tables.o
CC drivers/ata/libahci.o
CC drivers/usb/mon/mon_main.o
CC arch/x86/kernel/stacktrace.o
CC drivers/usb/host/pci-quirks.o
CC drivers/pcmcia/rsrc_mgr.o
CC drivers/usb/mon/mon_stat.o
CC drivers/pcmcia/rsrc_nonstatic.o
CC lib/llist.o
CC drivers/gpu/drm/drm_cache.o
CC drivers/acpi/acpica/rsirq.o
CC net/sunrpc/addr.o
CC drivers/rtc/dev.o
CC drivers/scsi/virtio_scsi.o
CC fs/ext4/xattr.o
CC lib/lwq.o
CC lib/memweight.o
CC fs/nfs/nfs3xdr.o
CC arch/x86/kernel/reboot.o
CC drivers/base/physical_location.o
CC drivers/usb/mon/mon_text.o
CC net/ipv4/icmp.o
CC fs/lockd/clnt4xdr.o
AR drivers/net/ethernet/cortina/built-in.a
CC drivers/net/phy/phy_caps.o
CC lib/kfifo.o
AR drivers/media/i2c/built-in.a
CC drivers/gpu/drm/drm_color_mgmt.o
AR drivers/media/tuners/built-in.a
CC net/sunrpc/rpcb_clnt.o
CC [M] drivers/gpu/drm/xe/xe_drm_client.o
AR drivers/media/rc/keymaps/built-in.a
AR drivers/media/rc/built-in.a
CC drivers/acpi/acpica/rslist.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
CC net/core/dst_cache.o
AR drivers/media/common/v4l2-tpg/built-in.a
AR drivers/media/common/videobuf2/built-in.a
CC drivers/usb/core/file.o
AR drivers/media/common/built-in.a
CC drivers/gpu/drm/i915/soc/intel_dram.o
CC net/mac80211/michael.o
AR drivers/media/platform/allegro-dvt/built-in.a
AR drivers/media/platform/amphion/built-in.a
AR drivers/media/platform/amlogic/meson-ge2d/built-in.a
CC net/core/gro_cells.o
AR drivers/media/platform/amlogic/built-in.a
CC net/sunrpc/timer.o
CC net/netfilter/xt_tcpudp.o
AR drivers/media/platform/aspeed/built-in.a
AR drivers/media/platform/atmel/built-in.a
AR drivers/media/platform/broadcom/built-in.a
AR drivers/media/platform/cadence/built-in.a
CC drivers/input/mouse/byd.o
CC net/ipv6/xfrm6_output.o
AR drivers/media/platform/chips-media/coda/built-in.a
CC mm/page_frag_cache.o
CC drivers/acpi/acpi_lpat.o
AR drivers/media/platform/chips-media/wave5/built-in.a
AR drivers/media/platform/chips-media/built-in.a
AR drivers/media/platform/imagination/built-in.a
AR drivers/media/platform/intel/built-in.a
CC net/netfilter/xt_CONNSECMARK.o
CC kernel/sys_ni.o
AR drivers/media/platform/marvell/built-in.a
CC drivers/base/trace.o
CC fs/nfs/nfs3acl.o
AR drivers/media/platform/mediatek/jpeg/built-in.a
AR drivers/media/platform/mediatek/mdp/built-in.a
CC drivers/usb/class/usblp.o
CC drivers/rtc/proc.o
AR drivers/media/platform/mediatek/vcodec/common/built-in.a
AR drivers/media/platform/mediatek/vcodec/encoder/built-in.a
AR drivers/media/platform/mediatek/vcodec/decoder/built-in.a
CC drivers/acpi/acpica/rsmemory.o
AR drivers/media/platform/mediatek/vcodec/built-in.a
CC drivers/usb/storage/scsiglue.o
AR drivers/media/platform/mediatek/vpu/built-in.a
AR drivers/media/platform/mediatek/mdp3/built-in.a
AR drivers/usb/misc/built-in.a
AR drivers/media/platform/mediatek/built-in.a
CC drivers/usb/host/ehci-hcd.o
AR drivers/pps/clients/built-in.a
AR drivers/media/platform/microchip/built-in.a
CC drivers/pps/pps.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
CC drivers/ptp/ptp_clock.o
AR drivers/media/platform/nxp/dw100/built-in.a
AR drivers/media/platform/nxp/imx-jpeg/built-in.a
AR drivers/media/platform/nxp/imx8-isi/built-in.a
AR drivers/media/platform/nxp/built-in.a
CC drivers/pcmcia/yenta_socket.o
AR drivers/media/platform/qcom/camss/built-in.a
AR drivers/media/platform/qcom/iris/built-in.a
AR drivers/media/platform/qcom/venus/built-in.a
AR drivers/media/platform/qcom/built-in.a
CC arch/x86/kernel/msr.o
AR drivers/input/misc/built-in.a
CC mm/init-mm.o
AR drivers/media/platform/raspberrypi/pisp_be/built-in.a
AR drivers/media/platform/renesas/rcar-vin/built-in.a
AR drivers/media/platform/raspberrypi/rp1-cfe/built-in.a
AR drivers/media/platform/renesas/rzg2l-cru/built-in.a
AR drivers/media/platform/raspberrypi/built-in.a
AR drivers/media/platform/renesas/vsp1/built-in.a
AR drivers/media/platform/renesas/built-in.a
CC drivers/usb/mon/mon_bin.o
AR drivers/media/platform/rockchip/rga/built-in.a
CC drivers/gpu/drm/i915/soc/intel_gmch.o
CC drivers/scsi/sd.o
AR drivers/media/platform/rockchip/rkisp1/built-in.a
AR drivers/media/platform/rockchip/built-in.a
CC drivers/ptp/ptp_chardev.o
CC drivers/usb/core/buffer.o
CC drivers/gpu/drm/drm_connector.o
CC kernel/nsproxy.o
CC drivers/acpi/acpica/rsmisc.o
AR drivers/media/platform/samsung/exynos-gsc/built-in.a
AR drivers/media/platform/samsung/exynos4-is/built-in.a
CC lib/percpu-refcount.o
AR drivers/media/platform/samsung/s3c-camif/built-in.a
AR drivers/media/platform/samsung/s5p-g2d/built-in.a
CC net/core/failover.o
AR drivers/media/platform/samsung/s5p-jpeg/built-in.a
AR drivers/media/platform/samsung/s5p-mfc/built-in.a
AR drivers/media/platform/samsung/built-in.a
CC drivers/net/phy/mdio_bus.o
CC fs/lockd/xdr4.o
AR drivers/media/platform/st/sti/bdisp/built-in.a
CC drivers/input/mouse/logips2pp.o
AR drivers/media/platform/st/sti/c8sectpfe/built-in.a
AR drivers/media/platform/st/sti/delta/built-in.a
AR drivers/media/platform/st/sti/hva/built-in.a
AR drivers/media/platform/st/stm32/built-in.a
AR drivers/media/platform/st/built-in.a
CC drivers/rtc/sysfs.o
CC drivers/rtc/rtc-mc146818-lib.o
AR drivers/media/platform/sunxi/sun4i-csi/built-in.a
AR drivers/media/platform/sunxi/sun6i-csi/built-in.a
AR drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
AR drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
AR drivers/media/platform/sunxi/sun8i-di/built-in.a
AR drivers/media/platform/sunxi/sun8i-rotate/built-in.a
CC drivers/ata/ata_piix.o
AR drivers/media/platform/sunxi/built-in.a
CC drivers/i2c/i2c-core-smbus.o
AR drivers/media/platform/synopsys/hdmirx/built-in.a
AR drivers/media/platform/synopsys/built-in.a
CC net/mac80211/tkip.o
CC drivers/pps/kapi.o
AR drivers/media/platform/ti/am437x/built-in.a
AR drivers/base/built-in.a
AR drivers/media/platform/ti/cal/built-in.a
AR drivers/media/platform/ti/vpe/built-in.a
AR drivers/media/platform/verisilicon/built-in.a
CC drivers/usb/early/ehci-dbgp.o
CC net/mac80211/aes_cmac.o
AR drivers/media/platform/ti/davinci/built-in.a
AR drivers/media/platform/ti/j721e-csi2rx/built-in.a
AR drivers/media/platform/ti/omap/built-in.a
AR drivers/media/platform/ti/omap3isp/built-in.a
AR drivers/media/platform/ti/built-in.a
CC drivers/acpi/acpica/rsserial.o
CC drivers/input/input.o
AR drivers/media/platform/via/built-in.a
CC fs/nfs/nfs4proc.o
AR drivers/media/platform/xilinx/built-in.a
CC [M] drivers/gpu/drm/xe/xe_eu_stall.o
AR drivers/media/platform/built-in.a
CC drivers/usb/storage/protocol.o
CC drivers/acpi/acpi_pcc.o
CC drivers/ptp/ptp_sysfs.o
AR drivers/net/ethernet/dec/tulip/built-in.a
AR drivers/net/ethernet/dec/built-in.a
CC drivers/usb/core/sysfs.o
CC drivers/scsi/sr.o
AR drivers/usb/class/built-in.a
AR drivers/media/pci/ttpci/built-in.a
AR drivers/media/pci/b2c2/built-in.a
AR drivers/media/pci/pluto2/built-in.a
CC fs/char_dev.o
AR drivers/media/pci/dm1105/built-in.a
AR drivers/media/pci/pt1/built-in.a
AR drivers/media/pci/pt3/built-in.a
AR drivers/media/pci/mantis/built-in.a
CC drivers/ptp/ptp_vclock.o
CC drivers/ptp/ptp_kvm_x86.o
AR drivers/media/pci/ngene/built-in.a
AR drivers/media/pci/ddbridge/built-in.a
CC arch/x86/kernel/cpuid.o
AR drivers/media/pci/saa7146/built-in.a
CC fs/ext4/xattr_hurd.o
AR drivers/media/pci/smipcie/built-in.a
AR drivers/media/pci/netup_unidvb/built-in.a
CC net/netfilter/xt_NFLOG.o
CC lib/rhashtable.o
AR drivers/media/pci/intel/ipu3/built-in.a
AR drivers/media/pci/intel/ivsc/built-in.a
AR drivers/media/pci/intel/built-in.a
AR drivers/media/pci/built-in.a
CC drivers/input/mouse/lifebook.o
CC drivers/acpi/ac.o
CC net/ipv6/xfrm6_protocol.o
AR drivers/media/usb/b2c2/built-in.a
AR drivers/media/usb/dvb-usb/built-in.a
CC drivers/acpi/acpica/rsutils.o
AR drivers/media/usb/dvb-usb-v2/built-in.a
CC drivers/net/phy/mdio_device.o
AR drivers/media/usb/s2255/built-in.a
AR drivers/media/usb/siano/built-in.a
AR drivers/media/usb/ttusb-budget/built-in.a
CC fs/stat.o
AR drivers/media/usb/ttusb-dec/built-in.a
AR drivers/media/usb/built-in.a
CC drivers/rtc/rtc-cmos.o
AR drivers/media/mmc/siano/built-in.a
AR drivers/media/mmc/built-in.a
CC drivers/pps/sysfs.o
AR drivers/media/firewire/built-in.a
CC drivers/ata/pata_amd.o
CC drivers/gpu/drm/i915/soc/intel_pch.o
AR drivers/media/spi/built-in.a
AR drivers/media/test-drivers/built-in.a
CC net/ipv4/devinet.o
AR drivers/media/built-in.a
CC drivers/ptp/ptp_kvm_common.o
CC drivers/gpu/drm/i915/soc/intel_rom.o
AR drivers/usb/mon/built-in.a
CC net/ipv4/af_inet.o
CC kernel/notifier.o
CC drivers/power/supply/power_supply_core.o
CC drivers/gpu/drm/drm_crtc.o
AR net/core/built-in.a
CC drivers/acpi/acpica/rsxface.o
CC net/sunrpc/xdr.o
AR drivers/pcmcia/built-in.a
CC drivers/usb/core/endpoint.o
CC arch/x86/kernel/early-quirks.o
CC drivers/usb/storage/transport.o
CC net/mac80211/aes_gmac.o
CC fs/lockd/svc4proc.o
AR drivers/usb/early/built-in.a
CC mm/memblock.o
CC lib/base64.o
AR drivers/pps/built-in.a
CC drivers/i2c/i2c-core-acpi.o
CC net/netfilter/xt_SECMARK.o
CC drivers/input/mouse/trackpoint.o
CC mm/slub.o
AR drivers/net/ethernet/dlink/built-in.a
CC kernel/ksysfs.o
CC drivers/net/phy/swphy.o
CC net/sunrpc/sunrpc_syms.o
CC drivers/net/phy/fixed_phy.o
CC fs/exec.o
CC net/netfilter/xt_TCPMSS.o
CC net/sunrpc/cache.o
CC drivers/usb/storage/usb.o
CC kernel/cred.o
CC fs/lockd/procfs.o
CC drivers/acpi/acpica/tbdata.o
CC net/netfilter/xt_conntrack.o
CC drivers/power/supply/power_supply_sysfs.o
AR drivers/ptp/built-in.a
CC [M] drivers/gpu/drm/xe/xe_exec.o
CC drivers/gpu/drm/drm_displayid.o
CC fs/pipe.o
CC lib/once.o
CC drivers/ata/pata_oldpiix.o
AR drivers/rtc/built-in.a
CC arch/x86/kernel/smp.o
CC drivers/usb/core/devio.o
CC drivers/input/mouse/cypress_ps2.o
CC fs/ext4/xattr_trusted.o
CC mm/madvise.o
CC net/ipv6/netfilter.o
CC drivers/usb/host/ehci-pci.o
CC drivers/usb/storage/initializers.o
CC drivers/acpi/acpica/tbfadt.o
CC drivers/acpi/button.o
CC net/sunrpc/rpc_pipe.o
CC drivers/gpu/drm/i915/i915_memcpy.o
AR drivers/net/ethernet/emulex/built-in.a
AR drivers/net/ethernet/engleder/built-in.a
CC net/ipv6/proc.o
CC net/ipv4/igmp.o
CC fs/nfs/nfs4xdr.o
CC drivers/power/supply/power_supply_leds.o
CC fs/namei.o
CC drivers/usb/storage/sierra_ms.o
CC lib/refcount.o
CC drivers/gpu/drm/i915/i915_mm.o
CC net/mac80211/fils_aead.o
CC drivers/input/mouse/psmouse-smbus.o
CC drivers/acpi/fan_core.o
CC drivers/i2c/i2c-smbus.o
CC kernel/reboot.o
CC drivers/scsi/sr_ioctl.o
CC lib/rcuref.o
CC mm/page_io.o
CC drivers/usb/host/ohci-hcd.o
CC drivers/gpu/drm/drm_drv.o
AR drivers/net/phy/built-in.a
CC drivers/acpi/acpica/tbfind.o
CC arch/x86/kernel/smpboot.o
CC fs/fcntl.o
AR fs/lockd/built-in.a
CC arch/x86/kernel/tsc_sync.o
CC lib/usercopy.o
CC drivers/ata/pata_sch.o
CC drivers/power/supply/power_supply_hwmon.o
CC arch/x86/kernel/setup_percpu.o
CC [M] drivers/gpu/drm/xe/xe_exec_queue.o
AR drivers/net/ethernet/ezchip/built-in.a
CC fs/ext4/xattr_user.o
CC drivers/acpi/acpica/tbinstal.o
CC drivers/gpu/drm/i915/i915_sw_fence.o
CC drivers/usb/core/notify.o
CC fs/nfs/nfs4state.o
CC fs/ext4/fast_commit.o
AR drivers/net/ethernet/fujitsu/built-in.a
CC drivers/ata/pata_mpiix.o
CC net/netfilter/xt_policy.o
CC net/sunrpc/sysfs.o
CC lib/errseq.o
CC net/ipv4/fib_frontend.o
CC drivers/usb/storage/option_ms.o
CC arch/x86/kernel/mpparse.o
CC lib/bucket_locks.o
CC drivers/gpu/drm/i915/i915_sw_fence_work.o
CC drivers/gpu/drm/i915/i915_syncmap.o
AR drivers/input/mouse/built-in.a
CC drivers/input/input-compat.o
CC lib/generic-radix-tree.o
AR drivers/i2c/built-in.a
CC net/ipv6/syncookies.o
AR drivers/power/supply/built-in.a
CC fs/nfs/nfs4renewd.o
AR drivers/power/built-in.a
CC net/ipv4/fib_semantics.o
CC [M] drivers/gpu/drm/xe/xe_execlist.o
CC drivers/acpi/acpica/tbprint.o
AR drivers/net/ethernet/fungible/built-in.a
CC drivers/gpu/drm/i915/i915_user_extensions.o
CC drivers/scsi/sr_vendor.o
CC drivers/acpi/fan_attr.o
AR net/wireless/built-in.a
CC arch/x86/kernel/trace_clock.o
CC net/netfilter/xt_state.o
CC drivers/gpu/drm/drm_dumb_buffers.o
CC [M] drivers/gpu/drm/xe/xe_force_wake.o
CC lib/bitmap-str.o
CC kernel/async.o
CC fs/ioctl.o
CC drivers/gpu/drm/drm_edid.o
CC [M] net/netfilter/nf_log_syslog.o
CC net/mac80211/cfg.o
CC net/mac80211/ethtool.o
CC net/mac80211/rx.o
CC drivers/scsi/sg.o
CC net/sunrpc/svc_xprt.o
CC net/ipv4/fib_trie.o
CC drivers/acpi/fan_hwmon.o
CC drivers/ata/ata_generic.o
CC drivers/acpi/acpica/tbutils.o
CC lib/string_helpers.o
CC drivers/gpu/drm/i915/i915_debugfs.o
CC fs/readdir.o
CC drivers/usb/host/ohci-pci.o
CC drivers/usb/core/generic.o
CC drivers/usb/storage/usual-tables.o
CC drivers/input/input-mt.o
CC kernel/range.o
CC net/mac80211/spectmgmt.o
CC fs/ext4/orphan.o
CC drivers/gpu/drm/drm_eld.o
CC kernel/smpboot.o
CC fs/nfs/nfs4super.o
CC arch/x86/kernel/trace.o
CC mm/swap_state.o
CC mm/swapfile.o
CC fs/ext4/acl.o
CC drivers/acpi/acpi_video.o
CC drivers/acpi/acpica/tbxface.o
CC fs/select.o
CC drivers/usb/host/uhci-hcd.o
CC fs/nfs/nfs4file.o
CC [M] net/netfilter/xt_mark.o
AR drivers/net/ethernet/broadcom/built-in.a
AR drivers/net/ethernet/google/built-in.a
AR drivers/net/ethernet/hisilicon/built-in.a
AR drivers/net/ethernet/huawei/built-in.a
AR drivers/usb/storage/built-in.a
CC drivers/net/ethernet/intel/e1000/e1000_main.o
AR drivers/net/ethernet/i825xx/built-in.a
CC drivers/acpi/video_detect.o
CC drivers/net/ethernet/intel/e1000e/82571.o
CC drivers/acpi/acpica/tbxfload.o
CC drivers/gpu/drm/i915/i915_debugfs_params.o
CC lib/hexdump.o
CC drivers/usb/core/quirks.o
AR drivers/ata/built-in.a
CC [M] drivers/gpu/drm/xe/xe_ggtt.o
CC drivers/gpu/drm/drm_encoder.o
CC drivers/input/input-poller.o
CC net/mac80211/tx.o
CC kernel/ucount.o
CC arch/x86/kernel/rethook.o
CC net/ipv6/calipso.o
CC drivers/acpi/processor_driver.o
CC arch/x86/kernel/vmcore_info_32.o
CC mm/dmapool.o
CC kernel/regset.o
CC lib/kstrtox.o
CC drivers/gpu/drm/i915/i915_pmu.o
CC drivers/scsi/scsi_sysfs.o
CC drivers/acpi/acpica/tbxfroot.o
CC net/sunrpc/xprtmultipath.o
CC drivers/net/ethernet/intel/e1000/e1000_hw.o
CC drivers/input/ff-core.o
CC [M] net/netfilter/xt_nat.o
CC fs/ext4/xattr_security.o
CC net/ipv6/ah6.o
CC kernel/ksyms_common.o
CC drivers/net/ethernet/intel/e100.o
CC kernel/groups.o
CC drivers/acpi/processor_thermal.o
CC lib/iomap.o
CC kernel/kcmp.o
CC net/sunrpc/stats.o
CC drivers/hwmon/hwmon.o
CC drivers/usb/core/devices.o
AR drivers/thermal/broadcom/built-in.a
AR drivers/thermal/renesas/built-in.a
CC drivers/acpi/acpica/utaddress.o
CC arch/x86/kernel/machine_kexec_32.o
CC fs/nfs/delegation.o
CC fs/nfs/nfs4idmap.o
AR drivers/thermal/samsung/built-in.a
CC drivers/thermal/intel/intel_tcc.o
CC net/mac80211/key.o
CC net/ipv4/fib_notifier.o
CC fs/dcache.o
AS arch/x86/kernel/relocate_kernel_32.o
CC drivers/usb/host/xhci.o
AR drivers/thermal/st/built-in.a
AR drivers/thermal/qcom/built-in.a
CC lib/iomap_copy.o
CC arch/x86/kernel/module.o
CC [M] net/netfilter/xt_LOG.o
CC drivers/usb/core/phy.o
CC drivers/thermal/intel/therm_throt.o
CC net/ipv6/esp6.o
CC drivers/usb/host/xhci-mem.o
CC fs/nfs/callback.o
CC drivers/acpi/acpica/utalloc.o
CC drivers/acpi/acpica/utascii.o
CC drivers/input/touchscreen.o
CC [M] drivers/gpu/drm/xe/xe_gpu_scheduler.o
CC drivers/net/ethernet/intel/e1000e/ich8lan.o
CC drivers/net/ethernet/intel/e1000e/80003es2lan.o
AR drivers/watchdog/built-in.a
CC arch/x86/kernel/doublefault_32.o
CC [M] drivers/gpu/drm/xe/xe_gsc.o
CC [M] drivers/gpu/drm/xe/xe_gsc_debugfs.o
CC lib/devres.o
AR fs/ext4/built-in.a
CC drivers/acpi/acpica/utbuffer.o
CC drivers/md/md.o
CC drivers/md/md-bitmap.o
CC drivers/input/ff-memless.o
CC kernel/freezer.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.o
CC kernel/profile.o
AR drivers/thermal/tegra/built-in.a
CC drivers/md/md-autodetect.o
CC [M] drivers/gpu/drm/xe/xe_gsc_proxy.o
AR drivers/net/ethernet/microsoft/built-in.a
CC drivers/cpufreq/cpufreq.o
CC drivers/gpu/drm/i915/gt/gen2_engine_cs.o
CC fs/inode.o
AR drivers/scsi/built-in.a
CC drivers/gpu/drm/drm_file.o
CC fs/nfs/callback_xdr.o
CC net/ipv6/sit.o
CC drivers/acpi/acpica/utcksum.o
CC kernel/stacktrace.o
CC net/ipv4/inet_fragment.o
CC net/ipv4/ping.o
CC drivers/usb/core/port.o
CC kernel/dma.o
CC mm/hugetlb.o
CC drivers/gpu/drm/i915/gt/gen6_engine_cs.o
CC lib/check_signature.o
AR drivers/hwmon/built-in.a
CC net/ipv4/ip_tunnel_core.o
CC drivers/net/ethernet/intel/e1000e/mac.o
CC lib/interval_tree.o
CC drivers/acpi/processor_idle.o
CC drivers/acpi/processor_throttling.o
CC drivers/acpi/acpica/utcopy.o
CC [M] net/netfilter/xt_MASQUERADE.o
AR drivers/thermal/intel/built-in.a
CC [M] net/netfilter/xt_addrtype.o
CC drivers/gpu/drm/drm_fourcc.o
AR drivers/thermal/mediatek/built-in.a
CC drivers/thermal/thermal_core.o
CC drivers/net/ethernet/intel/e1000/e1000_ethtool.o
CC arch/x86/kernel/early_printk.o
CC drivers/input/sparse-keymap.o
CC fs/attr.o
CC lib/assoc_array.o
CC drivers/cpufreq/freq_table.o
CC kernel/smp.o
CC net/ipv6/addrconf_core.o
AR drivers/net/ethernet/litex/built-in.a
CC drivers/net/ethernet/intel/e1000e/manage.o
CC drivers/thermal/thermal_sysfs.o
CC net/sunrpc/sysctl.o
CC drivers/usb/core/hcd-pci.o
CC fs/bad_inode.o
CC drivers/cpufreq/cpufreq_performance.o
CC [M] drivers/gpu/drm/xe/xe_gsc_submit.o
CC drivers/acpi/acpica/utexcep.o
CC drivers/gpu/drm/drm_framebuffer.o
CC drivers/net/ethernet/intel/e1000/e1000_param.o
CC net/ipv6/exthdrs_core.o
CC arch/x86/kernel/hpet.o
CC drivers/cpuidle/governors/menu.o
CC [M] drivers/gpu/drm/xe/xe_gt.o
CC drivers/net/ethernet/intel/e1000e/nvm.o
CC drivers/gpu/drm/i915/gt/gen6_ppgtt.o
CC drivers/thermal/thermal_trip.o
CC drivers/net/ethernet/intel/e1000e/phy.o
CC drivers/input/vivaldi-fmap.o
CC drivers/gpu/drm/i915/gt/gen7_renderclear.o
CC drivers/net/ethernet/intel/e1000e/param.o
CC drivers/net/ethernet/intel/e1000e/ethtool.o
CC drivers/acpi/acpica/utdebug.o
CC drivers/gpu/drm/i915/gt/gen8_engine_cs.o
CC fs/nfs/callback_proc.o
CC drivers/cpuidle/cpuidle.o
CC lib/bitrev.o
CC drivers/md/dm.o
CC [M] drivers/gpu/drm/xe/xe_gt_ccs_mode.o
CC drivers/thermal/thermal_helpers.o
CC lib/crc-ccitt.o
CC drivers/cpuidle/governors/haltpoll.o
AR drivers/mmc/built-in.a
CC drivers/net/ethernet/intel/e1000e/netdev.o
CC drivers/gpu/drm/drm_gem.o
CC arch/x86/kernel/amd_nb.o
CC drivers/input/input-leds.o
CC drivers/acpi/acpica/utdecode.o
CC drivers/input/evdev.o
CC drivers/gpu/drm/drm_ioctl.o
CC drivers/usb/core/usb-acpi.o
CC arch/x86/kernel/amd_node.o
CC drivers/cpufreq/cpufreq_userspace.o
CC fs/nfs/nfs4namespace.o
CC drivers/gpu/drm/drm_lease.o
CC net/ipv4/gre_offload.o
AR net/sunrpc/built-in.a
CC drivers/cpufreq/cpufreq_ondemand.o
CC drivers/acpi/acpica/utdelete.o
CC net/mac80211/util.o
AR net/netfilter/built-in.a
CC lib/crc16.o
CC fs/file.o
CC drivers/acpi/acpica/uterror.o
CC drivers/net/ethernet/intel/e1000e/ptp.o
CC kernel/uid16.o
CC drivers/gpu/drm/drm_managed.o
CC drivers/gpu/drm/drm_mm.o
CC drivers/gpu/drm/drm_mode_config.o
CC drivers/gpu/drm/drm_mode_object.o
CC drivers/usb/host/xhci-ext-caps.o
CC drivers/md/dm-table.o
CC drivers/thermal/thermal_thresholds.o
CC kernel/kallsyms.o
CC net/ipv6/ip6_checksum.o
CC [M] drivers/gpu/drm/xe/xe_gt_clock.o
CC drivers/md/dm-target.o
CC drivers/cpuidle/driver.o
HOSTCC lib/gen_crc32table
CC net/mac80211/parse.o
CC drivers/acpi/acpica/uteval.o
CC drivers/acpi/acpica/utglobal.o
CC drivers/acpi/processor_perflib.o
CC lib/xxhash.o
CC fs/filesystems.o
AR drivers/net/ethernet/intel/e1000/built-in.a
CC fs/nfs/nfs4getroot.o
CC fs/nfs/nfs4client.o
CC arch/x86/kernel/kvm.o
CC [M] drivers/gpu/drm/xe/xe_gt_freq.o
CC drivers/gpu/drm/drm_modes.o
CC kernel/acct.o
CC net/ipv6/ip6_icmp.o
AR drivers/usb/core/built-in.a
CC lib/genalloc.o
AR drivers/cpuidle/governors/built-in.a
CC drivers/acpi/container.o
CC drivers/thermal/thermal_netlink.o
CC drivers/cpufreq/cpufreq_governor.o
CC fs/namespace.o
CC net/mac80211/wme.o
AR drivers/ufs/built-in.a
CC drivers/gpu/drm/i915/gt/gen8_ppgtt.o
CC drivers/usb/host/xhci-ring.o
CC drivers/cpuidle/governor.o
CC drivers/acpi/acpica/uthex.o
CC arch/x86/kernel/kvmclock.o
CC fs/seq_file.o
CC drivers/md/dm-linear.o
AR drivers/input/built-in.a
CC net/ipv6/output_core.o
CC arch/x86/kernel/paravirt.o
CC drivers/acpi/thermal_lib.o
CC drivers/gpu/drm/drm_modeset_lock.o
CC drivers/cpufreq/cpufreq_governor_attr_set.o
CC drivers/thermal/thermal_hwmon.o
CC drivers/usb/host/xhci-hub.o
CC [M] drivers/gpu/drm/xe/xe_gt_idle.o
CC [M] drivers/gpu/drm/xe/xe_gt_mcr.o
CC fs/nfs/nfs4session.o
CC net/ipv4/metrics.o
CC drivers/cpuidle/sysfs.o
CC lib/percpu_counter.o
CC arch/x86/kernel/pvclock.o
CC drivers/thermal/gov_step_wise.o
CC drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
CC drivers/cpufreq/acpi-cpufreq.o
CC drivers/acpi/acpica/utids.o
CC drivers/acpi/acpica/utinit.o
CC lib/audit.o
CC drivers/acpi/acpica/utlock.o
CC lib/syscall.o
CC [M] drivers/gpu/drm/xe/xe_gt_pagefault.o
CC drivers/md/dm-stripe.o
CC arch/x86/kernel/pcspeaker.o
CC net/ipv4/netlink.o
CC drivers/gpu/drm/drm_plane.o
CC drivers/md/dm-ioctl.o
CC drivers/acpi/acpica/utmath.o
CC net/mac80211/chan.o
CC drivers/gpu/drm/i915/gt/intel_context.o
CC drivers/usb/host/xhci-dbg.o
CC drivers/cpuidle/poll_state.o
CC kernel/vmcore_info.o
AR drivers/firmware/arm_ffa/built-in.a
CC kernel/elfcorehdr.o
AR drivers/firmware/arm_scmi/built-in.a
AR drivers/firmware/broadcom/built-in.a
CC lib/errname.o
AR drivers/firmware/cirrus/test/built-in.a
AR drivers/firmware/cirrus/built-in.a
CC drivers/gpu/drm/i915/gt/intel_context_sseu.o
CC drivers/cpuidle/cpuidle-haltpoll.o
AR drivers/net/ethernet/marvell/octeon_ep/built-in.a
AR drivers/firmware/meson/built-in.a
AR drivers/firmware/microchip/built-in.a
AR drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
CC net/ipv6/protocol.o
AR drivers/net/ethernet/marvell/octeontx2/built-in.a
CC drivers/gpu/drm/i915/gt/intel_engine_cs.o
CC drivers/usb/host/xhci-trace.o
CC drivers/net/ethernet/marvell/sky2.o
AR drivers/net/ethernet/marvell/prestera/built-in.a
CC fs/nfs/dns_resolve.o
CC fs/nfs/nfs4trace.o
CC drivers/firmware/efi/libstub/efi-stub-helper.o
CC drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
AR drivers/crypto/stm32/built-in.a
CC mm/mmu_notifier.o
CC drivers/cpufreq/amd-pstate.o
CC arch/x86/kernel/check.o
AR drivers/crypto/inside-secure/eip93/built-in.a
CC drivers/acpi/thermal.o
AR drivers/crypto/inside-secure/built-in.a
CC net/ipv6/ip6_offload.o
AR drivers/crypto/xilinx/built-in.a
CC net/ipv4/nexthop.o
AR drivers/crypto/hisilicon/built-in.a
AR drivers/crypto/intel/keembay/built-in.a
AR drivers/crypto/starfive/built-in.a
CC drivers/acpi/acpica/utmisc.o
AR drivers/crypto/intel/ixp4xx/built-in.a
AR drivers/crypto/intel/built-in.a
CC lib/nlattr.o
AR drivers/net/ethernet/mellanox/built-in.a
AR drivers/crypto/built-in.a
CC drivers/gpu/drm/drm_prime.o
CC drivers/md/dm-io.o
CC drivers/cpufreq/amd-pstate-trace.o
CC kernel/kexec_core.o
AR drivers/thermal/built-in.a
CC fs/nfs/nfs4sysctl.o
AR drivers/net/ethernet/meta/built-in.a
CC drivers/md/dm-kcopyd.o
CC drivers/gpu/drm/i915/gt/intel_engine_pm.o
AR drivers/cpuidle/built-in.a
CC net/ipv6/tcpv6_offload.o
CC drivers/usb/host/xhci-debugfs.o
CC net/mac80211/trace.o
CC drivers/gpu/drm/drm_print.o
CC fs/xattr.o
CC drivers/acpi/acpica/utmutex.o
CC drivers/cpufreq/intel_pstate.o
CC lib/cpu_rmap.o
AR drivers/net/ethernet/micrel/built-in.a
CC drivers/firmware/efi/libstub/gop.o
CC drivers/usb/host/xhci-pci.o
CC drivers/firmware/efi/efi-bgrt.o
CC arch/x86/kernel/uprobes.o
CC net/ipv6/exthdrs_offload.o
CC fs/libfs.o
AR drivers/firmware/imx/built-in.a
CC drivers/gpu/drm/drm_property.o
CC drivers/acpi/acpica/utnonansi.o
CC mm/migrate.o
CC drivers/acpi/acpica/utobject.o
CC [M] drivers/gpu/drm/xe/xe_gt_sysfs.o
CC kernel/kexec.o
AR drivers/net/ethernet/microchip/built-in.a
CC drivers/gpu/drm/i915/gt/intel_engine_user.o
CC net/mac80211/mlme.o
CC drivers/clocksource/acpi_pm.o
CC drivers/firmware/efi/libstub/secureboot.o
AR drivers/net/ethernet/mscc/built-in.a
CC drivers/gpu/drm/i915/gt/intel_execlists_submission.o
CC drivers/acpi/nhlt.o
CC net/mac80211/tdls.o
CC lib/dynamic_queue_limits.o
CC net/ipv4/udp_tunnel_stub.o
CC [M] drivers/gpu/drm/xe/xe_gt_throttle.o
AR drivers/firmware/psci/built-in.a
CC drivers/hid/usbhid/hid-core.o
CC drivers/hid/hid-core.o
CC arch/x86/kernel/perf_regs.o
CC drivers/acpi/acpi_memhotplug.o
CC kernel/utsname.o
CC drivers/acpi/acpica/utosi.o
CC drivers/gpu/drm/i915/gt/intel_ggtt.o
CC mm/page_counter.o
CC lib/glob.o
CC drivers/hid/hid-input.o
AR drivers/net/ethernet/myricom/built-in.a
CC drivers/acpi/ioapic.o
CC drivers/firmware/efi/efi.o
CC drivers/hid/usbhid/hiddev.o
CC kernel/pid_namespace.o
CC net/mac80211/ocb.o
CC arch/x86/kernel/tracepoint.o
AR drivers/platform/x86/amd/built-in.a
CC drivers/firmware/efi/libstub/tpm.o
AR drivers/firmware/qcom/built-in.a
AR drivers/platform/x86/intel/built-in.a
CC drivers/platform/x86/wmi.o
CC drivers/mailbox/mailbox.o
CC net/mac80211/airtime.o
CC drivers/clocksource/i8253.o
AR drivers/platform/surface/built-in.a
CC drivers/mailbox/pcc.o
CC net/ipv6/inet6_hashtables.o
CC net/ipv4/ip_tunnel.o
CC drivers/acpi/acpica/utownerid.o
CC drivers/firmware/efi/libstub/file.o
CC drivers/firmware/efi/libstub/mem.o
CC drivers/md/dm-sysfs.o
CC mm/hugetlb_cgroup.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
CC drivers/firmware/efi/libstub/random.o
AR drivers/net/ethernet/natsemi/built-in.a
CC drivers/acpi/acpica/utpredef.o
CC arch/x86/kernel/itmt.o
CC mm/early_ioremap.o
CC drivers/hid/hid-quirks.o
CC [M] drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
CC fs/fs-writeback.o
CC lib/strncpy_from_user.o
CC drivers/firmware/efi/vars.o
AR drivers/clocksource/built-in.a
CC net/mac80211/eht.o
AR drivers/perf/built-in.a
CC drivers/acpi/battery.o
CC drivers/hid/hid-debug.o
CC drivers/acpi/acpica/utresdecode.o
CC net/mac80211/led.o
CC net/mac80211/pm.o
CC mm/secretmem.o
AR drivers/usb/host/built-in.a
AR drivers/usb/built-in.a
CC drivers/firmware/efi/libstub/randomalloc.o
CC drivers/md/dm-stats.o
CC kernel/stop_machine.o
AR drivers/mailbox/built-in.a
CC drivers/firmware/efi/reboot.o
CC arch/x86/kernel/umip.o
AR drivers/firmware/samsung/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_topology.o
CC [M] drivers/gpu/drm/xe/xe_guc.o
CC lib/strnlen_user.o
CC drivers/acpi/acpica/utresrc.o
CC net/mac80211/rc80211_minstrel_ht.o
AR drivers/hwtracing/intel_th/built-in.a
CC net/ipv6/mcast_snoop.o
CC drivers/md/dm-rq.o
CC drivers/hid/usbhid/hid-pidff.o
CC drivers/firmware/efi/memattr.o
AR drivers/net/ethernet/intel/e1000e/built-in.a
CC net/ipv4/sysctl_net_ipv4.o
AR drivers/net/ethernet/intel/built-in.a
CC drivers/platform/x86/wmi-bmof.o
AR drivers/cpufreq/built-in.a
CC drivers/md/dm-io-rewind.o
CC net/mac80211/wbrf.o
CC drivers/hid/hidraw.o
CC drivers/gpu/drm/drm_rect.o
CC [M] drivers/gpu/drm/xe/xe_guc_ads.o
CC drivers/platform/x86/eeepc-laptop.o
CC kernel/audit.o
CC drivers/gpu/drm/i915/gt/intel_gt.o
CC drivers/md/dm-builtin.o
CC arch/x86/kernel/unwind_frame.o
CC drivers/acpi/acpica/utstate.o
AR drivers/net/ethernet/marvell/built-in.a
AR drivers/firmware/smccc/built-in.a
AR drivers/net/ethernet/neterion/built-in.a
CC drivers/firmware/efi/libstub/pci.o
AR drivers/net/ethernet/netronome/built-in.a
CC drivers/firmware/efi/libstub/skip_spaces.o
AR drivers/net/ethernet/ni/built-in.a
AR drivers/android/built-in.a
CC drivers/net/ethernet/nvidia/forcedeth.o
CC lib/net_utils.o
CC drivers/firmware/efi/libstub/lib-cmdline.o
CC drivers/acpi/acpica/utstring.o
CC drivers/firmware/efi/tpm.o
CC drivers/hid/hid-generic.o
CC mm/hmm.o
AR drivers/net/ethernet/oki-semi/built-in.a
CC net/ipv4/proc.o
AR drivers/firmware/tegra/built-in.a
CC lib/sg_pool.o
CC drivers/platform/x86/p2sb.o
AR fs/nfs/built-in.a
CC drivers/firmware/efi/memmap.o
CC fs/pnode.o
CC drivers/hid/hid-a4tech.o
CC drivers/acpi/bgrt.o
CC drivers/md/dm-raid1.o
CC drivers/gpu/drm/drm_syncobj.o
CC drivers/acpi/acpica/utstrsuppt.o
AR drivers/net/ethernet/packetengines/built-in.a
CC drivers/firmware/efi/libstub/lib-ctype.o
AR drivers/nvmem/layouts/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_buf.o
CC drivers/nvmem/core.o
AR drivers/net/ethernet/qlogic/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_capture.o
CC drivers/gpu/drm/drm_sysfs.o
CC drivers/acpi/acpica/utstrtoul64.o
CC net/ipv4/fib_rules.o
CC drivers/acpi/spcr.o
CC drivers/hid/hid-apple.o
CC drivers/acpi/acpica/utxface.o
AR drivers/firmware/xilinx/built-in.a
CC drivers/md/dm-log.o
CC drivers/md/dm-region-hash.o
CC mm/memfd.o
AR arch/x86/kernel/built-in.a
CC fs/splice.o
AR arch/x86/built-in.a
AR net/ipv6/built-in.a
CC drivers/firmware/efi/libstub/alignedmem.o
CC [M] drivers/gpu/drm/xe/xe_guc_ct.o
CC drivers/acpi/acpica/utxfinit.o
CC drivers/hid/hid-belkin.o
CC drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
AR drivers/net/ethernet/qualcomm/emac/built-in.a
CC drivers/net/ethernet/realtek/8139too.o
CC drivers/firmware/dmi_scan.o
AR drivers/net/ethernet/qualcomm/built-in.a
CC drivers/acpi/acpica/utxferror.o
CC [M] drivers/gpu/drm/xe/xe_guc_db_mgr.o
AR drivers/hid/usbhid/built-in.a
CC drivers/acpi/acpica/utxfmutex.o
CC lib/stackdepot.o
CC [M] drivers/gpu/drm/xe/xe_guc_engine_activity.o
AR drivers/net/ethernet/renesas/built-in.a
CC drivers/firmware/efi/libstub/relocate.o
CC drivers/md/dm-zero.o
CC lib/asn1_decoder.o
CC net/ipv4/ipmr.o
CC drivers/net/ethernet/realtek/r8169_main.o
AR drivers/platform/x86/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
AR drivers/platform/built-in.a
CC drivers/hid/hid-cherry.o
GEN lib/oid_registry_data.c
CC kernel/auditfilter.o
CC [M] drivers/gpu/drm/xe/xe_guc_hwconfig.o
CC mm/execmem.o
CC drivers/firmware/dmi-id.o
CC drivers/hid/hid-chicony.o
CC fs/sync.o
CC drivers/firmware/efi/libstub/printk.o
AR drivers/net/ethernet/rdc/built-in.a
CC drivers/gpu/drm/drm_trace_points.o
AR drivers/acpi/acpica/built-in.a
CC drivers/net/ethernet/realtek/r8169_firmware.o
AR drivers/acpi/built-in.a
CC drivers/firmware/efi/capsule.o
CC kernel/auditsc.o
CC drivers/firmware/memmap.o
CC net/ipv4/ipmr_base.o
CC drivers/hid/hid-cypress.o
CC drivers/firmware/efi/libstub/vsprintf.o
CC lib/ucs2_string.o
CC fs/utimes.o
AR drivers/net/ethernet/rocker/built-in.a
AR drivers/net/ethernet/samsung/built-in.a
CC lib/sbitmap.o
AR drivers/net/ethernet/seeq/built-in.a
CC drivers/hid/hid-ezkey.o
CC net/ipv4/syncookies.o
CC drivers/net/ethernet/realtek/r8169_phy_config.o
CC drivers/firmware/efi/esrt.o
AR drivers/md/built-in.a
AR drivers/nvmem/built-in.a
CC drivers/firmware/efi/runtime-wrappers.o
CC [M] drivers/gpu/drm/xe/xe_guc_id_mgr.o
CC kernel/audit_watch.o
AR drivers/net/ethernet/silan/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
CC net/ipv4/tunnel4.o
CC drivers/gpu/drm/drm_vblank.o
CC kernel/audit_fsnotify.o
CC drivers/firmware/efi/capsule-loader.o
CC [M] drivers/gpu/drm/xe/xe_guc_klv_helpers.o
CC kernel/audit_tree.o
CC lib/group_cpus.o
CC [M] drivers/gpu/drm/xe/xe_guc_log.o
CC drivers/firmware/efi/libstub/x86-stub.o
CC lib/fw_table.o
AR mm/built-in.a
AR drivers/net/ethernet/sis/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_pc.o
CC drivers/firmware/efi/libstub/smbios.o
CC net/ipv4/ipconfig.o
CC fs/d_path.o
CC net/ipv4/netfilter.o
CC drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
CC fs/stack.o
CC drivers/gpu/drm/drm_vblank_work.o
CC [M] drivers/gpu/drm/xe/xe_guc_submit.o
CC drivers/hid/hid-gyration.o
CC drivers/hid/hid-ite.o
CC kernel/kprobes.o
STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
CC net/ipv4/tcp_cubic.o
CC drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
CC kernel/seccomp.o
CC fs/fs_struct.o
AR drivers/net/ethernet/sfc/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_irq.o
AR lib/lib.a
CC net/ipv4/tcp_sigpool.o
CC drivers/gpu/drm/drm_vma_manager.o
STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
CC drivers/gpu/drm/drm_writeback.o
STUBCPY drivers/firmware/efi/libstub/file.stub.o
CC drivers/gpu/drm/drm_panel.o
CC fs/statfs.o
CC net/ipv4/cipso_ipv4.o
AR drivers/net/ethernet/smsc/built-in.a
CC drivers/hid/hid-kensington.o
CC net/ipv4/xfrm4_policy.o
AR drivers/net/ethernet/socionext/built-in.a
GEN lib/crc32table.h
CC fs/fs_pin.o
CC lib/oid_registry.o
CC drivers/hid/hid-microsoft.o
CC [M] drivers/gpu/drm/xe/xe_heci_gsc.o
CC drivers/firmware/efi/earlycon.o
CC net/ipv4/xfrm4_state.o
AR drivers/net/ethernet/stmicro/built-in.a
CC fs/nsfs.o
STUBCPY drivers/firmware/efi/libstub/gop.stub.o
STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
CC drivers/gpu/drm/drm_pci.o
STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
CC drivers/hid/hid-monterey.o
STUBCPY drivers/firmware/efi/libstub/mem.stub.o
STUBCPY drivers/firmware/efi/libstub/pci.stub.o
STUBCPY drivers/firmware/efi/libstub/printk.stub.o
STUBCPY drivers/firmware/efi/libstub/random.stub.o
CC net/ipv4/xfrm4_input.o
STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
CC fs/fs_types.o
CC [M] drivers/gpu/drm/xe/xe_huc.o
CC kernel/relay.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
CC fs/fs_context.o
STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
CC drivers/gpu/drm/i915/gt/intel_gt_mcr.o
STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
AR drivers/firmware/efi/libstub/lib.a
CC drivers/hid/hid-ntrig.o
CC net/ipv4/xfrm4_output.o
AR drivers/net/ethernet/sun/built-in.a
AR drivers/net/ethernet/tehuti/built-in.a
CC lib/crc32.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm.o
CC drivers/hid/hid-pl.o
CC net/ipv4/xfrm4_protocol.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
CC drivers/hid/hid-petalynx.o
CC drivers/hid/hid-redragon.o
CC drivers/gpu/drm/drm_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
AR drivers/net/ethernet/ti/built-in.a
CC drivers/hid/hid-samsung.o
AR drivers/net/ethernet/vertexcom/built-in.a
CC fs/fs_parser.o
CC drivers/gpu/drm/drm_debugfs_crc.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_group.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
AR drivers/firmware/efi/built-in.a
AR drivers/net/ethernet/via/built-in.a
CC drivers/hid/hid-sony.o
AR drivers/firmware/built-in.a
AR drivers/net/ethernet/wangxun/built-in.a
CC drivers/gpu/drm/drm_panel_orientation_quirks.o
CC drivers/gpu/drm/i915/gt/intel_gt_requests.o
CC kernel/utsname_sysctl.o
CC [M] drivers/gpu/drm/xe/xe_hw_fence.o
AR drivers/net/ethernet/nvidia/built-in.a
CC drivers/hid/hid-sunplus.o
AR drivers/net/ethernet/wiznet/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
CC drivers/gpu/drm/drm_buddy.o
AR lib/built-in.a
CC drivers/gpu/drm/drm_gem_shmem_helper.o
CC [M] drivers/gpu/drm/xe/xe_irq.o
CC fs/fsopen.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
CC kernel/delayacct.o
AR drivers/net/ethernet/xilinx/built-in.a
CC drivers/gpu/drm/drm_atomic_helper.o
CC [M] drivers/gpu/drm/xe/xe_lrc.o
CC fs/init.o
CC [M] drivers/gpu/drm/xe/xe_migrate.o
AR drivers/net/ethernet/xircom/built-in.a
CC [M] drivers/gpu/drm/xe/xe_mmio.o
CC fs/kernel_read_file.o
CC drivers/hid/hid-topseed.o
CC drivers/gpu/drm/i915/gt/intel_gtt.o
CC kernel/taskstats.o
CC drivers/gpu/drm/i915/gt/intel_llc.o
CC fs/mnt_idmapping.o
AR drivers/net/ethernet/synopsys/built-in.a
CC drivers/gpu/drm/i915/gt/intel_lrc.o
CC drivers/gpu/drm/drm_atomic_state_helper.o
CC [M] drivers/gpu/drm/xe/xe_mocs.o
CC kernel/tsacct.o
AR drivers/net/ethernet/pensando/built-in.a
CC fs/remap_range.o
CC drivers/gpu/drm/drm_bridge_helper.o
CC drivers/gpu/drm/i915/gt/intel_migrate.o
CC [M] drivers/gpu/drm/xe/xe_module.o
CC fs/pidfs.o
CC drivers/gpu/drm/i915/gt/intel_mocs.o
CC kernel/tracepoint.o
CC [M] drivers/gpu/drm/xe/xe_oa.o
CC fs/buffer.o
CC kernel/irq_work.o
CC drivers/gpu/drm/drm_crtc_helper.o
CC drivers/gpu/drm/i915/gt/intel_ppgtt.o
CC fs/mpage.o
CC [M] drivers/gpu/drm/xe/xe_observation.o
CC drivers/gpu/drm/i915/gt/intel_rc6.o
CC [M] drivers/gpu/drm/xe/xe_pat.o
CC drivers/gpu/drm/i915/gt/intel_region_lmem.o
AR drivers/net/ethernet/realtek/built-in.a
AR drivers/net/ethernet/built-in.a
CC [M] drivers/gpu/drm/xe/xe_pci.o
CC kernel/static_call.o
AR net/ipv4/built-in.a
CC drivers/gpu/drm/drm_damage_helper.o
CC fs/proc_namespace.o
CC drivers/gpu/drm/i915/gt/intel_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_pcode.o
CC fs/direct-io.o
AR drivers/net/built-in.a
CC drivers/gpu/drm/drm_flip_work.o
CC kernel/padata.o
CC drivers/gpu/drm/i915/gt/intel_reset.o
CC fs/eventpoll.o
CC [M] drivers/gpu/drm/xe/xe_pm.o
CC fs/anon_inodes.o
CC drivers/gpu/drm/i915/gt/intel_ring.o
AR drivers/hid/built-in.a
CC fs/signalfd.o
CC [M] drivers/gpu/drm/xe/xe_preempt_fence.o
CC drivers/gpu/drm/drm_format_helper.o
CC drivers/gpu/drm/drm_gem_atomic_helper.o
CC kernel/jump_label.o
CC fs/timerfd.o
CC [M] drivers/gpu/drm/xe/xe_pt.o
CC drivers/gpu/drm/drm_gem_framebuffer_helper.o
CC fs/eventfd.o
CC drivers/gpu/drm/i915/gt/intel_ring_submission.o
CC [M] drivers/gpu/drm/xe/xe_pt_walk.o
CC drivers/gpu/drm/i915/gt/intel_rps.o
CC kernel/context_tracking.o
CC drivers/gpu/drm/drm_kms_helper_common.o
CC [M] drivers/gpu/drm/xe/xe_pxp.o
CC drivers/gpu/drm/i915/gt/intel_sa_media.o
CC [M] drivers/gpu/drm/xe/xe_pxp_debugfs.o
CC drivers/gpu/drm/drm_modeset_helper.o
CC kernel/iomem.o
CC kernel/rseq.o
CC drivers/gpu/drm/drm_plane_helper.o
CC drivers/gpu/drm/i915/gt/intel_sseu.o
CC drivers/gpu/drm/drm_probe_helper.o
CC [M] drivers/gpu/drm/xe/xe_pxp_submit.o
CC drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
CC drivers/gpu/drm/i915/gt/intel_timeline.o
CC [M] drivers/gpu/drm/xe/xe_query.o
CC drivers/gpu/drm/drm_self_refresh_helper.o
CC [M] drivers/gpu/drm/xe/xe_range_fence.o
CC drivers/gpu/drm/i915/gt/intel_tlb.o
CC fs/aio.o
CC drivers/gpu/drm/drm_simple_kms_helper.o
CC drivers/gpu/drm/i915/gt/intel_wopcm.o
CC [M] drivers/gpu/drm/xe/xe_reg_sr.o
CC fs/locks.o
CC [M] drivers/gpu/drm/xe/xe_reg_whitelist.o
CC drivers/gpu/drm/i915/gt/intel_workarounds.o
CC fs/binfmt_misc.o
CC drivers/gpu/drm/bridge/panel.o
CC fs/binfmt_script.o
CC drivers/gpu/drm/drm_mipi_dsi.o
CC fs/binfmt_elf.o
CC [M] drivers/gpu/drm/xe/xe_ring_ops.o
CC fs/mbcache.o
CC [M] drivers/gpu/drm/drm_exec.o
CC drivers/gpu/drm/i915/gt/shmem_utils.o
CC [M] drivers/gpu/drm/xe/xe_rtp.o
CC fs/posix_acl.o
CC [M] drivers/gpu/drm/xe/xe_sa.o
CC [M] drivers/gpu/drm/drm_gpuvm.o
CC drivers/gpu/drm/i915/gt/sysfs_engines.o
CC [M] drivers/gpu/drm/xe/xe_sched_job.o
CC fs/coredump.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
CC [M] drivers/gpu/drm/xe/xe_shrinker.o
CC fs/drop_caches.o
CC drivers/gpu/drm/i915/gt/gen6_renderstate.o
AR net/mac80211/built-in.a
AR net/built-in.a
CC [M] drivers/gpu/drm/xe/xe_step.o
CC [M] drivers/gpu/drm/drm_suballoc.o
CC fs/sysctls.o
CC [M] drivers/gpu/drm/xe/xe_survivability_mode.o
CC drivers/gpu/drm/i915/gt/gen7_renderstate.o
CC fs/fhandle.o
AR kernel/built-in.a
CC [M] drivers/gpu/drm/drm_gem_ttm_helper.o
CC drivers/gpu/drm/i915/gt/gen8_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_sync.o
CC drivers/gpu/drm/i915/gt/gen9_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_tile.o
CC drivers/gpu/drm/i915/gem/i915_gem_busy.o
CC [M] drivers/gpu/drm/xe/xe_tile_sysfs.o
CC drivers/gpu/drm/i915/gem/i915_gem_clflush.o
CC [M] drivers/gpu/drm/xe/xe_trace.o
CC drivers/gpu/drm/i915/gem/i915_gem_context.o
CC [M] drivers/gpu/drm/xe/xe_trace_bo.o
CC drivers/gpu/drm/i915/gem/i915_gem_create.o
CC [M] drivers/gpu/drm/xe/xe_trace_guc.o
CC drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
CC [M] drivers/gpu/drm/xe/xe_trace_lrc.o
CC drivers/gpu/drm/i915/gem/i915_gem_domain.o
CC drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
CC [M] drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
CC [M] drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
CC drivers/gpu/drm/i915/gem/i915_gem_internal.o
CC [M] drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
CC drivers/gpu/drm/i915/gem/i915_gem_lmem.o
CC drivers/gpu/drm/i915/gem/i915_gem_mman.o
CC [M] drivers/gpu/drm/xe/xe_tuning.o
CC drivers/gpu/drm/i915/gem/i915_gem_object.o
CC [M] drivers/gpu/drm/xe/xe_uc.o
CC [M] drivers/gpu/drm/xe/xe_uc_fw.o
LD [M] drivers/gpu/drm/drm_suballoc_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_pages.o
CC [M] drivers/gpu/drm/xe/xe_vm.o
CC drivers/gpu/drm/i915/gem/i915_gem_phys.o
CC drivers/gpu/drm/i915/gem/i915_gem_pm.o
CC [M] drivers/gpu/drm/xe/xe_vram.o
CC drivers/gpu/drm/i915/gem/i915_gem_region.o
CC [M] drivers/gpu/drm/xe/xe_vram_freq.o
CC drivers/gpu/drm/i915/gem/i915_gem_shmem.o
CC drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
CC [M] drivers/gpu/drm/xe/xe_vsec.o
LD [M] drivers/gpu/drm/drm_ttm_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_stolen.o
CC [M] drivers/gpu/drm/xe/xe_wa.o
CC drivers/gpu/drm/i915/gem/i915_gem_throttle.o
CC drivers/gpu/drm/i915/gem/i915_gem_tiling.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm.o
CC [M] drivers/gpu/drm/xe/xe_wait_user_fence.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
CC [M] drivers/gpu/drm/xe/xe_wopcm.o
CC [M] drivers/gpu/drm/xe/xe_hmm.o
CC [M] drivers/gpu/drm/xe/xe_hwmon.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
CC drivers/gpu/drm/i915/gem/i915_gem_userptr.o
CC [M] drivers/gpu/drm/xe/xe_pmu.o
CC drivers/gpu/drm/i915/gem/i915_gem_wait.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf.o
CC [M] drivers/gpu/drm/xe/xe_guc_relay.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_memirq.o
CC drivers/gpu/drm/i915/i915_cmd_parser.o
CC drivers/gpu/drm/i915/i915_deps.o
CC [M] drivers/gpu/drm/xe/xe_sriov.o
CC drivers/gpu/drm/i915/i915_gem.o
CC [M] drivers/gpu/drm/xe/xe_sriov_vf.o
CC drivers/gpu/drm/i915/i915_gem_evict.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_irq.o
CC drivers/gpu/drm/i915/i915_gem_gtt.o
CC drivers/gpu/drm/i915/i915_gem_ww.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_utils.o
CC [M] drivers/gpu/drm/xe/display/intel_bo.o
CC drivers/gpu/drm/i915/i915_query.o
CC [M] drivers/gpu/drm/xe/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/i915_request.o
CC [M] drivers/gpu/drm/xe/display/intel_fbdev_fb.o
AR fs/built-in.a
CC [M] drivers/gpu/drm/xe/display/xe_display.o
CC drivers/gpu/drm/i915/i915_scheduler.o
CC [M] drivers/gpu/drm/xe/display/xe_display_misc.o
CC drivers/gpu/drm/i915/i915_trace_points.o
CC [M] drivers/gpu/drm/xe/display/xe_display_rpm.o
CC drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
CC [M] drivers/gpu/drm/xe/display/xe_display_rps.o
CC drivers/gpu/drm/i915/i915_vma.o
CC [M] drivers/gpu/drm/xe/display/xe_display_wa.o
CC drivers/gpu/drm/i915/i915_vma_resource.o
CC [M] drivers/gpu/drm/xe/display/xe_dsb_buffer.o
CC [M] drivers/gpu/drm/xe/display/xe_fb_pin.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
CC [M] drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
CC [M] drivers/gpu/drm/xe/display/xe_plane_initial.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
CC [M] drivers/gpu/drm/xe/display/xe_tdf.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_dram.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_pch.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_rom.o
CC [M] drivers/gpu/drm/xe/i915-display/icl_dsi.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_alpm.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.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_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_backlight.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bios.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cdclk.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cmtg.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_color.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_connector.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc.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 [M] drivers/gpu/drm/xe/i915-display/intel_cursor.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_conversion.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_device.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_driver.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_irq.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_params.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
CC drivers/gpu/drm/i915/gt/intel_gsc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power.o
CC drivers/gpu/drm/i915/i915_hwmon.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
CC drivers/gpu/drm/i915/display/hsw_ips.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
CC drivers/gpu/drm/i915/display/i9xx_plane.o
CC drivers/gpu/drm/i915/display/i9xx_display_sr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_trace.o
CC drivers/gpu/drm/i915/display/i9xx_wm.o
CC drivers/gpu/drm/i915/display/intel_alpm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_wa.o
CC drivers/gpu/drm/i915/display/intel_atomic.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dkl_phy.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 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_dmc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
CC drivers/gpu/drm/i915/display/intel_cdclk.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp.o
CC drivers/gpu/drm/i915/display/intel_cmtg.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 drivers/gpu/drm/i915/display/intel_color.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.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_dp_link_training.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
CC drivers/gpu/drm/i915/display/intel_crtc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_test.o
CC drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll.o
CC drivers/gpu/drm/i915/display/intel_cursor.o
CC drivers/gpu/drm/i915/display/intel_display.o
CC drivers/gpu/drm/i915/display/intel_display_conversion.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_drrs.o
CC drivers/gpu/drm/i915/display/intel_display_driver.o
CC drivers/gpu/drm/i915/display/intel_display_irq.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsb.o
CC drivers/gpu/drm/i915/display/intel_display_params.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi.o
CC drivers/gpu/drm/i915/display/intel_display_power.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
CC drivers/gpu/drm/i915/display/intel_display_power_map.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
CC drivers/gpu/drm/i915/display/intel_display_power_well.o
CC drivers/gpu/drm/i915/display/intel_display_reset.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_encoder.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fbc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fdi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
CC drivers/gpu/drm/i915/display/intel_display_rpm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_global_state.o
CC drivers/gpu/drm/i915/display/intel_display_rps.o
CC drivers/gpu/drm/i915/display/intel_display_snapshot.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_gmbus.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
CC drivers/gpu/drm/i915/display/intel_display_wa.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdmi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hti.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_link_bw.o
CC drivers/gpu/drm/i915/display/intel_dmc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_lspcon.o
CC drivers/gpu/drm/i915/display/intel_dmc_wl.o
CC drivers/gpu/drm/i915/display/intel_dpio_phy.o
CC drivers/gpu/drm/i915/display/intel_dpll.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_modeset_lock.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
CC drivers/gpu/drm/i915/display/intel_dpt_common.o
CC drivers/gpu/drm/i915/display/intel_drrs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_panel.o
CC drivers/gpu/drm/i915/display/intel_dsb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pfit.o
CC drivers/gpu/drm/i915/display/intel_dsb_buffer.o
CC drivers/gpu/drm/i915/display/intel_fb.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_fb_bo.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_quirks.o
CC drivers/gpu/drm/i915/display/intel_fb_pin.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_hdmi_pll.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
CC drivers/gpu/drm/i915/display/intel_fbc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_tc.o
CC drivers/gpu/drm/i915/display/intel_fdi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vblank.o
CC drivers/gpu/drm/i915/display/intel_fifo_underrun.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vdsc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vga.o
CC drivers/gpu/drm/i915/display/intel_frontbuffer.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vrr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_wm.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_scaler.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
CC drivers/gpu/drm/i915/display/intel_global_state.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_watermark.o
CC drivers/gpu/drm/i915/display/intel_hdcp.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
CC drivers/gpu/drm/i915/display/intel_hotplug.o
CC drivers/gpu/drm/i915/display/intel_hotplug_irq.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_acpi.o
CC drivers/gpu/drm/i915/display/intel_hti.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_opregion.o
CC [M] drivers/gpu/drm/xe/xe_debugfs.o
CC drivers/gpu/drm/i915/display/intel_link_bw.o
CC drivers/gpu/drm/i915/display/intel_load_detect.o
CC [M] drivers/gpu/drm/xe/xe_gt_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_gt_stats.o
CC drivers/gpu/drm/i915/display/intel_lpe_audio.o
CC [M] drivers/gpu/drm/xe/xe_guc_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_huc_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_uc_debugfs.o
CC drivers/gpu/drm/i915/display/intel_modeset_lock.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
CC drivers/gpu/drm/i915/display/intel_modeset_setup.o
CC drivers/gpu/drm/i915/display/intel_modeset_verify.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
CC drivers/gpu/drm/i915/display/intel_overlay.o
CC drivers/gpu/drm/i915/display/intel_pch_display.o
CC drivers/gpu/drm/i915/display/intel_pch_refclk.o
CC drivers/gpu/drm/i915/display/intel_plane_initial.o
CC drivers/gpu/drm/i915/display/intel_pmdemand.o
CC drivers/gpu/drm/i915/display/intel_psr.o
CC drivers/gpu/drm/i915/display/intel_quirks.o
CC drivers/gpu/drm/i915/display/intel_sprite.o
CC drivers/gpu/drm/i915/display/intel_sprite_uapi.o
CC drivers/gpu/drm/i915/display/intel_tc.o
CC drivers/gpu/drm/i915/display/intel_vblank.o
CC drivers/gpu/drm/i915/display/intel_vga.o
CC drivers/gpu/drm/i915/display/intel_wm.o
CC drivers/gpu/drm/i915/display/skl_scaler.o
CC drivers/gpu/drm/i915/display/skl_universal_plane.o
CC drivers/gpu/drm/i915/display/skl_watermark.o
CC drivers/gpu/drm/i915/display/intel_acpi.o
CC drivers/gpu/drm/i915/display/intel_opregion.o
CC drivers/gpu/drm/i915/display/intel_display_debugfs.o
CC drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
CC drivers/gpu/drm/i915/display/intel_pipe_crc.o
CC drivers/gpu/drm/i915/display/dvo_ch7017.o
CC drivers/gpu/drm/i915/display/dvo_ch7xxx.o
CC drivers/gpu/drm/i915/display/dvo_ivch.o
CC drivers/gpu/drm/i915/display/dvo_ns2501.o
CC drivers/gpu/drm/i915/display/dvo_sil164.o
CC drivers/gpu/drm/i915/display/dvo_tfp410.o
CC drivers/gpu/drm/i915/display/g4x_dp.o
CC drivers/gpu/drm/i915/display/g4x_hdmi.o
CC drivers/gpu/drm/i915/display/icl_dsi.o
CC drivers/gpu/drm/i915/display/intel_backlight.o
CC drivers/gpu/drm/i915/display/intel_crt.o
CC drivers/gpu/drm/i915/display/intel_cx0_phy.o
CC drivers/gpu/drm/i915/display/intel_ddi.o
CC drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
CC drivers/gpu/drm/i915/display/intel_display_device.o
CC drivers/gpu/drm/i915/display/intel_display_trace.o
CC drivers/gpu/drm/i915/display/intel_dkl_phy.o
CC drivers/gpu/drm/i915/display/intel_dp.o
CC drivers/gpu/drm/i915/display/intel_dp_aux.o
CC drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
CC drivers/gpu/drm/i915/display/intel_dp_hdcp.o
CC drivers/gpu/drm/i915/display/intel_dp_link_training.o
CC drivers/gpu/drm/i915/display/intel_dp_mst.o
CC drivers/gpu/drm/i915/display/intel_dp_test.o
CC drivers/gpu/drm/i915/display/intel_dsi.o
CC drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
CC drivers/gpu/drm/i915/display/intel_dsi_vbt.o
CC drivers/gpu/drm/i915/display/intel_dvo.o
CC drivers/gpu/drm/i915/display/intel_encoder.o
CC drivers/gpu/drm/i915/display/intel_gmbus.o
CC drivers/gpu/drm/i915/display/intel_hdmi.o
CC drivers/gpu/drm/i915/display/intel_lspcon.o
CC drivers/gpu/drm/i915/display/intel_lvds.o
CC drivers/gpu/drm/i915/display/intel_panel.o
CC drivers/gpu/drm/i915/display/intel_pfit.o
CC drivers/gpu/drm/i915/display/intel_pps.o
CC drivers/gpu/drm/i915/display/intel_qp_tables.o
CC drivers/gpu/drm/i915/display/intel_sdvo.o
CC drivers/gpu/drm/i915/display/intel_snps_hdmi_pll.o
CC drivers/gpu/drm/i915/display/intel_snps_phy.o
CC drivers/gpu/drm/i915/display/intel_tv.o
CC drivers/gpu/drm/i915/display/intel_vdsc.o
CC drivers/gpu/drm/i915/display/intel_vrr.o
CC drivers/gpu/drm/i915/display/vlv_dsi.o
CC drivers/gpu/drm/i915/display/vlv_dsi_pll.o
CC drivers/gpu/drm/i915/i915_perf.o
CC drivers/gpu/drm/i915/pxp/intel_pxp.o
CC drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
CC drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
CC drivers/gpu/drm/i915/i915_gpu_error.o
CC drivers/gpu/drm/i915/i915_vgpu.o
LD [M] drivers/gpu/drm/xe/xe.o
AR drivers/gpu/drm/i915/built-in.a
AR drivers/gpu/drm/built-in.a
AR drivers/gpu/built-in.a
AR drivers/built-in.a
AR built-in.a
AR vmlinux.a
LD vmlinux.o
OBJCOPY modules.builtin.modinfo
GEN modules.builtin
MODPOST Module.symvers
CC [M] fs/efivarfs/efivarfs.mod.o
CC .vmlinux.export.o
CC [M] .module-common.o
CC [M] drivers/gpu/drm/drm_exec.mod.o
CC [M] drivers/gpu/drm/drm_gpuvm.mod.o
CC [M] drivers/gpu/drm/drm_suballoc_helper.mod.o
CC [M] drivers/gpu/drm/drm_ttm_helper.mod.o
CC [M] drivers/gpu/drm/scheduler/gpu-sched.mod.o
CC [M] drivers/gpu/drm/xe/xe.mod.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
CC [M] net/netfilter/nf_log_syslog.mod.o
CC [M] net/netfilter/xt_mark.mod.o
CC [M] net/netfilter/xt_nat.mod.o
CC [M] net/netfilter/xt_LOG.mod.o
CC [M] net/netfilter/xt_MASQUERADE.mod.o
CC [M] net/netfilter/xt_addrtype.mod.o
CC [M] net/ipv4/netfilter/iptable_nat.mod.o
LD [M] fs/efivarfs/efivarfs.ko
LD [M] drivers/gpu/drm/drm_exec.ko
LD [M] drivers/thermal/intel/x86_pkg_temp_thermal.ko
LD [M] net/netfilter/nf_log_syslog.ko
LD [M] net/netfilter/xt_mark.ko
LD [M] net/netfilter/xt_nat.ko
LD [M] net/netfilter/xt_LOG.ko
LD [M] net/netfilter/xt_MASQUERADE.ko
LD [M] net/netfilter/xt_addrtype.ko
LD [M] net/ipv4/netfilter/iptable_nat.ko
LD [M] drivers/gpu/drm/drm_gpuvm.ko
LD [M] drivers/gpu/drm/drm_suballoc_helper.ko
LD [M] drivers/gpu/drm/drm_ttm_helper.ko
LD [M] drivers/gpu/drm/scheduler/gpu-sched.ko
LD [M] drivers/gpu/drm/xe/xe.ko
UPD include/generated/utsversion.h
CC init/version-timestamp.o
KSYMS .tmp_vmlinux0.kallsyms.S
AS .tmp_vmlinux0.kallsyms.o
LD .tmp_vmlinux1
NM .tmp_vmlinux1.syms
KSYMS .tmp_vmlinux1.kallsyms.S
AS .tmp_vmlinux1.kallsyms.o
LD .tmp_vmlinux2
NM .tmp_vmlinux2.syms
KSYMS .tmp_vmlinux2.kallsyms.S
AS .tmp_vmlinux2.kallsyms.o
LD vmlinux.unstripped
NM System.map
SORTTAB vmlinux.unstripped
RSTRIP vmlinux
CC arch/x86/boot/a20.o
AS arch/x86/boot/bioscall.o
CC arch/x86/boot/cmdline.o
AS arch/x86/boot/copy.o
HOSTCC arch/x86/boot/mkcpustr
CC arch/x86/boot/cpuflags.o
CC arch/x86/boot/cpucheck.o
CC arch/x86/boot/early_serial_console.o
CC arch/x86/boot/edd.o
CC arch/x86/boot/main.o
CC arch/x86/boot/memory.o
CC arch/x86/boot/pm.o
AS arch/x86/boot/pmjump.o
CC arch/x86/boot/printf.o
CC arch/x86/boot/regs.o
CC arch/x86/boot/string.o
CC arch/x86/boot/tty.o
CC arch/x86/boot/video.o
CC arch/x86/boot/video-mode.o
CC arch/x86/boot/version.o
CC arch/x86/boot/video-vga.o
CC arch/x86/boot/video-vesa.o
CC arch/x86/boot/video-bios.o
LDS arch/x86/boot/compressed/vmlinux.lds
AS arch/x86/boot/compressed/kernel_info.o
AS arch/x86/boot/compressed/head_32.o
VOFFSET arch/x86/boot/compressed/../voffset.h
CC arch/x86/boot/compressed/string.o
CC arch/x86/boot/compressed/cmdline.o
CC arch/x86/boot/compressed/error.o
OBJCOPY arch/x86/boot/compressed/vmlinux.bin
RELOCS arch/x86/boot/compressed/vmlinux.relocs
HOSTCC arch/x86/boot/compressed/mkpiggy
CC arch/x86/boot/compressed/cpuflags.o
CC arch/x86/boot/compressed/early_serial_console.o
CC arch/x86/boot/compressed/kaslr.o
CC arch/x86/boot/compressed/acpi.o
CC arch/x86/boot/compressed/efi.o
CPUSTR arch/x86/boot/cpustr.h
CC arch/x86/boot/cpu.o
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
CC arch/x86/boot/compressed/misc.o
MKPIGGY arch/x86/boot/compressed/piggy.S
AS arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
ZOFFSET arch/x86/boot/zoffset.h
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready (#1)
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
All hooks done
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ CI.checksparse: success for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (8 preceding siblings ...)
2025-04-10 16:15 ` ✓ CI.Hooks: " Patchwork
@ 2025-04-10 16:17 ` Patchwork
2025-04-10 16:53 ` ✓ Xe.CI.BAT: " Patchwork
2025-04-10 21:00 ` ✗ Xe.CI.Full: failure " Patchwork
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 16:17 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
State : success
== 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 457049ad31ee5b64dd86230518144d366c32bc04
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
Okay!
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ Xe.CI.BAT: success for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (9 preceding siblings ...)
2025-04-10 16:17 ` ✓ CI.checksparse: " Patchwork
@ 2025-04-10 16:53 ` Patchwork
2025-04-10 21:00 ` ✗ Xe.CI.Full: failure " Patchwork
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 16:53 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 4901 bytes --]
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
State : success
== Summary ==
CI Bug Log - changes from xe-2931-457049ad31ee5b64dd86230518144d366c32bc04_BAT -> xe-pw-146541v3_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (9 -> 8)
------------------------------
Missing (1): bat-adlp-vm
Known issues
------------
Here are the changes found in xe-pw-146541v3_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_evict@evict-beng-small-cm:
- bat-adlp-vf: NOTRUN -> [SKIP][1] ([Intel XE#261] / [Intel XE#688]) +9 other tests skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_evict@evict-beng-small-cm.html
* igt@xe_exec_fault_mode@twice-rebind:
- bat-adlp-vf: NOTRUN -> [SKIP][2] ([Intel XE#288]) +32 other tests skip
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_exec_fault_mode@twice-rebind.html
* igt@xe_gt_freq@freq_fixed_idle:
- bat-adlp-vf: NOTRUN -> [SKIP][3] ([Intel XE#2464]) +2 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_gt_freq@freq_fixed_idle.html
* igt@xe_live_ktest@xe_bo:
- bat-adlp-vf: NOTRUN -> [SKIP][4] ([Intel XE#2229] / [Intel XE#455]) +2 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_live_ktest@xe_bo.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- bat-adlp-vf: NOTRUN -> [SKIP][5] ([Intel XE#2229])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_mmap@vram:
- bat-adlp-vf: NOTRUN -> [SKIP][6] ([Intel XE#1008])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_mmap@vram.html
* igt@xe_pat@pat-index-xe2:
- bat-adlp-vf: NOTRUN -> [SKIP][7] ([Intel XE#977])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_pat@pat-index-xe2.html
* igt@xe_pat@pat-index-xehpc:
- bat-adlp-vf: NOTRUN -> [SKIP][8] ([Intel XE#2838] / [Intel XE#979])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelpg:
- bat-adlp-vf: NOTRUN -> [SKIP][9] ([Intel XE#979])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_pat@pat-index-xelpg.html
* igt@xe_pm_residency@gt-c6-on-idle:
- bat-adlp-vf: NOTRUN -> [SKIP][10] ([Intel XE#2468])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_pm_residency@gt-c6-on-idle.html
* igt@xe_sriov_flr@flr-vf1-clear:
- bat-adlp-vf: NOTRUN -> [SKIP][11] ([Intel XE#3342])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_sriov_flr@flr-vf1-clear.html
#### Possible fixes ####
* igt@xe_exec_basic@twice-bindexecqueue-userptr-rebind:
- bat-adlp-vf: [ABORT][12] ([Intel XE#3970]) -> [PASS][13]
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/bat-adlp-vf/igt@xe_exec_basic@twice-bindexecqueue-userptr-rebind.html
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/bat-adlp-vf/igt@xe_exec_basic@twice-bindexecqueue-userptr-rebind.html
[Intel XE#1008]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1008
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2464]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2464
[Intel XE#2468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2468
[Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
[Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
[Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
[Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
Build changes
-------------
* Linux: xe-2931-457049ad31ee5b64dd86230518144d366c32bc04 -> xe-pw-146541v3
IGT_8313: 8313
xe-2931-457049ad31ee5b64dd86230518144d366c32bc04: 457049ad31ee5b64dd86230518144d366c32bc04
xe-pw-146541v3: 146541v3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/index.html
[-- Attachment #2: Type: text/html, Size: 5864 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
2025-04-10 15:58 ` [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions Zhanjun Dong
@ 2025-04-10 17:50 ` Cavitt, Jonathan
2025-04-10 22:20 ` Dong, Zhanjun
2025-04-11 15:28 ` Michal Wajdeczko
1 sibling, 1 reply; 26+ messages in thread
From: Cavitt, Jonathan @ 2025-04-10 17:50 UTC (permalink / raw)
To: Dong, Zhanjun, intel-xe@lists.freedesktop.org, Wajdeczko, Michal
Cc: Dong, Zhanjun, Cavitt, Jonathan
-----Original Message-----
From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Zhanjun Dong
Sent: Thursday, April 10, 2025 8:59 AM
To: intel-xe@lists.freedesktop.org
Cc: Dong, Zhanjun <zhanjun.dong@intel.com>
Subject: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
>
> Add GuC LFD(Log Format Descriptors) related ABI definition.
> Add GuC log init config(LIC) ABI definition.
>
> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
This probably needs a second opinion, but I'm willing to tentatively
provide my RB for this patch. Just don't apply the series quite yet and
wait for additional reviews.
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> ---
> drivers/gpu/drm/xe/abi/guc_log_abi.h | 116 ++++++++++
> drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h | 265 +++++++++++++++++++++++
> 2 files changed, 381 insertions(+)
> create mode 100644 drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>
> diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h
> index 554630b7ccd9..0b0c5631da93 100644
> --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h
> +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h
> @@ -17,6 +17,122 @@ enum guc_log_buffer_type {
>
> #define GUC_LOG_BUFFER_TYPE_MAX 3
>
> +#define GUC_LOG_BUFFER_STATE_HEADER_LENGTH 4096
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG 0
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH 1
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CAPTURE 2
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT 3
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT 4
> +
> +#define GUC_LOG_INIT_CONFIG_LIC_MAGIC 0x8086900D
> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR 0x0001
> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR 0x0000
> +
> +/** Log Init Config KLV IDs. */
> +enum guc_log_lic_type_t {
> + /**
> + * GuC firmware version. Value is a 32 bit number represented by
> + * guc_sw_version_t.
> + */
> + GUC_LOG_LIC_TYPE_GUC_SW_VERSION = 0x1,
> + /**
> + * GuC device id. Value is a 32 bit. Refer BSpec symbol
> + * GUC_DEVICEID
> + */
> + GUC_LOG_LIC_TYPE_GUC_DEVICE_ID = 0x2,
> + /**
> + * GuC timestamp counter frequency. Value is a 32 bit number
> + * representing frequency in kilohertz. This timestamp is utilized
> + * in log entries, timer and for engine utilization tracking.
> + */
> + GUC_LOG_LIC_TYPE_TSC_FREQUENCY = 0x3,
> + /**
> + * HW GMD ID. Value is a 32 bit number representing graphics,
> + * media and display HW architecture IDs.
> + */
> + GUC_LOG_LIC_TYPE_GMD_ID = 0x4,
> + /** GuC build platform ID. Value is 32 bits. */
> + GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID = 0x5,
> +};
> +
> +#define GUC_LOG_LIC_TYPE_FIRST (GUC_LOG_LIC_TYPE_GUC_SW_VERSION)
> +#define GUC_LOG_LIC_TYPE_LAST (GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID + 1)
> +
> +/** struct guc_klv_generic_t - KLV with multiple DWs in an array */
> +struct guc_klv_generic_t {
> + /** @length: Length in Dwords of data. */
> + u16 length;
> + /** @key: Key value */
> + u16 key;
> + /** @value: Value for this key */
> + u32 value[] __counted_by(length);
> +} __packed;
> +
> +/**
> + * struct guc_sw_version_t - This structure describes the full version of
> + * a software component.
> + */
> +struct guc_sw_version_t {
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
> + /* BR[7:0] Patch version */
> + #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
> + /* BR[15:8] Minor version */
> + #define GUC_SW_VERSION_T_MINOR_VERSION GENMASK(15, 8)
> + /* BR[23:16] Major version */
> + #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
> + /* BR[31:24] Branch ID */
> + #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
Non-blocking:
Perhaps we should split the dw0 into the 4 components
it's comprised of? Say:
"""
#define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
#define GUC_SW_VERSION_T_MINIOR_VERSION GENMASK(15,8)
#define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
#define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
struct guc_sw_version_t {
/** @patch_version: Patch version */
u8 patch_version;
/** @minor_version: Minor version */
u8 minor_version;
/** @major_version: Major version */
u8 major_version;
/** @branch_id: branch ID */
u8 branch_id;
} __packed;
"""
Or is that not possible due to some architectural reason?
Same logic above applies to guc_lic_format_version_t, guc_logfile_lfd_t, and
guc_logfile_fmt_ver_t below.
> +} __packed;
> +
> +/**
> + * struct guc_lic_format_version_t - Log Init Config Structure Version.
> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
> + * than 1.12)
> + */
> +struct guc_lic_format_version_t {
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
> + /*
> + * BR[15:0] Log-Init-Config structure minor version. Must be
> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR
> + */
> + #define GUC_LIC_FORMAT_VERSION_T_MINOR_VERSION GENMASK(15, 0)
> + /*
> + * BR[31:16] Log-Init-Config structure major version. Must be
> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR
> + */
> + #define GUC_LIC_FORMAT_VERSION_T_MAJOR_VERSION GENMASK(31, 16)
> +} __packed;
> +
> +/**
> + * struct guc_log_init_config_t - GuC Log-Init-Config structure.
> + * This is populated by the GUC at log init time and is located in the log
> + * buffer as per the Log Buffer Layout (In Memory). The array of guc log
> + * buffer states plus this structure must not exceed 4KB
> + */
> +struct guc_log_init_config_t {
> + /**
> + * @lic_magic: A magic number set by GuC to identify that this
> + * structure contains valid information: lic_magic = 0x8086900D.
> + * Used to verify the information in this structure is valid.
> + */
> + u32 lic_magic;
> + /**
> + * @lic_ver: The version of the this structure. Detail description
> + * is guc_lic_format_version_t
> + */
> + struct guc_lic_format_version_t lic_ver;
> + /** @lic_dw_size: Number of Dws the `lic_data` array contains. */
> + u32 lic_dw_size;
> + /**
> + * @lic_data: Array of dwords representing a list of LIC KLVs of
> + * type guc_klv_generic_t with keys represented by
> + * guc_log_lic_type_t
> + */
> + u32 lic_data[] __counted_by(desc_dw_size);
> +} __packed;
> +
> /**
> * struct guc_log_buffer_state - GuC log buffer state
> *
> diff --git a/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
> new file mode 100644
> index 000000000000..b4002f099fd5
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
> @@ -0,0 +1,265 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright (c) 2025 Intel Corporation
> + */
> +
> +#ifndef _ABI_GUC_LOG_LFD_ABI_H_
> +#define _ABI_GUC_LOG_LFD_ABI_H_
> +
> +#include <linux/types.h>
> +
> +#include "abi/guc_log_abi.h"
> +
> +/* Magic keys define */
> +#define LFD_DRIVER_KEY_STREAMING 0x8086AAAA474C5346
> +#define LFD_LOG_BUFFER_MARKER_2 0xDEADFEED
> +#define LFD_CRASH_DUMP_BUFFER_MARKER_2 0x8086DEAD
Non-blocking:
These two magic keys should probably be aligned with the other keys below,
but I'm willing to concede that they may be out of alignment because of my
choice in mail viewer and not because they're also out of alignment in the
code itself.
> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_2 0xBEEFFEED
> +#define LFD_LOG_BUFFER_MARKER_1V2 0xCABBA9E6
> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_1V2 0xCABBA9F7
> +
> +#define GUC_LOGFILE_LFD_MAGIC upper_16_bits(LFD_CRASH_DUMP_BUFFER_MARKER_2)
> +
> +/** The current major version of GuC-Log-File format. */
> +#define GUC_LOG_FILE_FORMAT_VERSION_MAJOR 0x0001
> +/** The current minor version of GuC-Log-File format. */
> +#define GUC_LOG_FILE_FORMAT_VERSION_MINOR 0x0000
> +
> +/** Log format descriptor type */
> +enum guc_lfd_type_t {
> + /** Start of range for required LFDs from GuC */
> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_START = 0x1,
> + /**
> + * GuC Firmware Version structure. LFDs payload is
> + * guc_lfd_data_fw_version_t
> + */
> + GUC_LFD_TYPE_FW_VERSION = 0x1,
Non-blocking:
Enum values don't generally repeat themselves. You might
want to convert this into a series of defines, instead of trying
to fit this into an enum list.
Same with guc_lfd_os_type to a lesser extent, as well as all the
other enums in this patch.
> + /**
> + * GuC microcontroller device ID. LFDs payload is
> + * guc_lfd_data_guc_devid_t
> + */
> + GUC_LFD_TYPE_GUC_DEVICE_ID = 0x2,
> + /**
> + * Frequency of GuC timestamps. LFDs payload is
> + * guc_lfd_data_tsc_freq_t
> + */
> + GUC_LFD_TYPE_TSC_FREQUENCY = 0x3,
> + /** HW GMD ID. LFDs payload is guc_lfd_data_gmdid_t */
> + GUC_LFD_TYPE_GMD_ID = 0x4,
> + /**
> + * GuC build platform ID. LFDs payload is
> + * guc_lfd_data_build_platformid_t
> + */
> + GUC_LFD_TYPE_BUILD_PLATFORM_ID = 0x5,
> + /** End of this range */
> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_END = 0x1FFF,
> + /** Start of range for required LFDs from GuC */
> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_START = 0x2000,
> + /**
> + * Log-event-entries buffer. LFDs payload is
> + * guc_lfd_data_log_events_buf_t
> + */
> + GUC_LFD_TYPE_LOG_EVENTS_BUFFER = 0x2000,
> + /**
> + * GuC generated crash-dump blob. LFDs payload is
> + * guc_lfd_data_fw_crashdump_t
> + */
> + GUC_LFD_TYPE_FW_CRASH_DUMP = 0x2001,
> + /** End of this range */
> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_END = 0x3FFF,
> + /** Start of range for required KMD LFDs */
> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_START = 0x4000,
> + /**
> + * An identifier for the OS. LFDs payload is guc_lfd_data_os_id_t
> + */
> + GUC_LFD_TYPE_OS_ID = 0x4000,
> + /** End of this range */
> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_END = 0x5FFF,
> + /** Start of range for optional KMD LFDs */
> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_START = 0x6000,
> + /**
> + * Binary representation of GuC log-events schema. LFDs TLV
> + * payload is guc_lfd_data_binary_schema_t
> + */
> + GUC_LFD_TYPE_BINARY_SCHEMA_FORMAT = 0x6000,
> + /**
> + * ASCII string containing comments from the host/KMD. LFDs TLV
> + * payload is guc_lfd_data_host_comment_t
> + */
> + GUC_LFD_TYPE_HOST_COMMENT = 0x6001,
> + /** End of this range */
> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_END = 0x7FFF,
> + /** Start of reserved range */
> + GUC_LFD_TYPE_RESERVED_RANGE_START = 0x8000,
> + /** End of this range */
> + GUC_LFD_TYPE_RESERVED_RANGE_END = 0xFFFF,
> +};
> +
> +/** OS Type LFD-ID */
> +enum guc_lfd_os_type_t {
> + /** Windows OS */
> + GUC_LFD_OS_TYPE_OSID_WIN = 0x1,
> + /** Linux OS */
> + GUC_LFD_OS_TYPE_OSID_LIN = 0x2,
> + /** VMWare OS */
> + GUC_LFD_OS_TYPE_OSID_VMW = 0x3,
> + /** Other */
> + GUC_LFD_OS_TYPE_OSID_OTHER = 0x4,
> +};
All of the above defines and enums should probably be a part
of a separate xe/reg file. Say, xe_guc_log_lfd_desc.h?
Though I'd recommend getting a second opinion on this, as I
just recall it being a requirement for something I was working
on earlier. Though it might be a different case?
@Wajdeczko, Michal might be a better authority on this.
-Jonathan Cavitt
> +
> +/**
> + * struct guc_logfile_lfd_t - Log format descriptor (LFD).
> + * A type of KLV with custom field-sizes + magic numbers.
> + */
> +struct guc_logfile_lfd_t {
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
> + /*
> + * BR[15:0] Expected value: 0x8086. Helpful in detecting file
> + * errors.
> + */
> + #define GUC_LOGFILE_LFD_T_MAGIC GENMASK(15, 0)
> + /*
> + * BR[31:16] File descriptor type (the 'T' in TLV) is used to
> + * identify how to interpret `data` below. For the range of types,
> + * see guc_lfd_type_t
> + */
> + #define GUC_LOGFILE_LFD_T_DESC_TYPE GENMASK(31, 16)
> + /** @desc_dw_size: Number of dwords the `data` field contains. */
> + u32 desc_dw_size;
> + /** @data: Data defined by File descriptor type. */
> + u32 data[] __counted_by(desc_dw_size);
> +} __packed;
> +
> +/**
> + * struct guc_logfile_fmt_ver_t - GuC Log File Format Version.
> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
> + * than 1.12)
> + */
> +struct guc_logfile_fmt_ver_t {
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
> + /*
> + * BR[15:0] Guc-Log-File Format minor version. Must be
> + * GUC_LOG_FILE_FORMAT_VERSION_MINOR
> + */
> + #define GUC_LOGFILE_FMT_VER_T_MINOR_VERSION GENMASK(15, 0)
> + /*
> + * BR[31:16] Guc-Log-File Format major version. Must be
> + * GUC_LOG_FILE_FORMAT_VERSION_MAJOR
> + */
> + #define GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION GENMASK(31, 16)
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_guc_devid_t - GuC Device ID.
> + * This is mandatory fw LFD data
> + */
> +struct guc_lfd_data_guc_devid_t {
> + /**
> + * @guc_devid: GuC microcontroller device ID defined as described
> + * in GUC_LOG_LIC_TYPE_GUC_DEVICE_ID
> + */
> + u32 guc_devid;
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_tsc_freq_t - GuC TSC Fequency.
> + * This is mandatory fw LFD data
> + */
> +struct guc_lfd_data_tsc_freq_t {
> + /**
> + * @tsc_freq: GuC timestamp counter frequency as described in
> + * GUC_LOG_LIC_TYPE_TSC_FREQUENCY
> + */
> + u32 tsc_freq;
> +} __packed;
> +
> +/** struct guc_lfd_data_gmdid_t - GMD ID. */
> +struct guc_lfd_data_gmdid_t {
> + /** @gmd_id: GMD ID as described in GUC_LOG_LIC_TYPE_GMD_ID */
> + u32 gmd_id;
> +} __packed;
> +
> +/** struct guc_lfd_data_build_platformid_t - GuC build platform ID. */
> +struct guc_lfd_data_build_platformid_t {
> + /**
> + * @platform_build_id: GuC build platform ID as described in
> + * GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID
> + */
> + u32 platform_build_id;
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_log_events_buf_t - GuC Log Events Buffer.
> + * This is optional fw LFD data
> + */
> +struct guc_lfd_data_log_events_buf_t {
> + /**
> + * @log_events_format_version: version of GuC log format of buffer
> + */
> + u32 log_events_format_version;
> + /**
> + * @log_format_buf: If `log_format_version` == 1, array of
> + * guc_log_format_version_1_t. If `log_format_version` == 2, array
> + * of guc_log_format_version_2_t. Dword size determined by
> + * guc_logfile_lfd_t.`desc_dw_size` - 1
> + */
> + u32 log_format_buf[];
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_os_id_t - OS Version Information.
> + * This is mandatory host LFD data
> + */
> +struct guc_lfd_data_os_id_t {
> + /**
> + * @os_id: enum values to identify the OS brand (1=Windows,
> + * 2=Linux, etc..). See guc_lfd_os_type_t for the range of types
> + */
> + u32 os_id;
> + /**
> + * @build_version: ASCII string containing OS build version
> + * information based on os_id. String is padded with null
> + * characters to ensure its DWORD aligned. Dword size determined
> + * by guc_logfile_lfd_t.`desc_dw_size` - 1
> + */
> + char build_version[];
> +} __packed;
> +
> +/**
> + * struct guc_logfile_t - GuC Log Streaming-LFD-File Format.
> + * This structure encapsulates the layout of the guc-log-file format
> + */
> +struct guc_logfile_t {
> + /**
> + * @magic: A magic number set by producer of a GuC log file to
> + * identify that file is a valid guc-log-file containing a stream
> + * of LFDs: Expected value: 0x8086AAAA474C5346.
> + */
> + u64 magic;
> + /**
> + * @version: Version of this file format layout as per
> + * guc_logfile_fmt_ver_t
> + */
> + struct guc_logfile_fmt_ver_t version;
> + /**
> + * @lfd_stream: A stream of one or more guc_logfile_lfd_t LFD data
> + */
> + struct guc_logfile_lfd_t lfd_stream;
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_fw_version_t - GuC FW Version.
> + * This is mandatory fw LFD data
> + */
> +struct guc_lfd_data_fw_version_t {
> + /**
> + * @guc_sw_version: The full version of the GuC microkernel that
> + * generated the logs as described in
> + * GUC_LOG_LIC_TYPE_GUC_SW_VERSION.
> + */
> + struct guc_sw_version_t guc_sw_version;
> +} __packed;
> +
> +#endif
> --
> 2.34.1
>
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output
2025-04-10 15:58 ` [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output Zhanjun Dong
@ 2025-04-10 17:50 ` Cavitt, Jonathan
2025-04-10 22:45 ` Dong, Zhanjun
2025-04-11 15:34 ` Michal Wajdeczko
1 sibling, 1 reply; 26+ messages in thread
From: Cavitt, Jonathan @ 2025-04-10 17:50 UTC (permalink / raw)
To: Dong, Zhanjun, intel-xe@lists.freedesktop.org
Cc: Dong, Zhanjun, Cavitt, Jonathan
-----Original Message-----
From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Zhanjun Dong
Sent: Thursday, April 10, 2025 8:59 AM
To: intel-xe@lists.freedesktop.org
Cc: Dong, Zhanjun <zhanjun.dong@intel.com>
Subject: [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output
>
> Add new debugfs entry "guc_log_lfd", prepared for output guc log
> in LFD(Log Format Descriptors) format.
>
> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
Some non-blockers below, but otherwise:
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc_debugfs.c | 14 ++++++++++++
> drivers/gpu/drm/xe/xe_guc_log.c | 34 +++++++++++++++++++++++++++++
> drivers/gpu/drm/xe/xe_guc_log.h | 1 +
> 3 files changed, 49 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_debugfs.c b/drivers/gpu/drm/xe/xe_guc_debugfs.c
> index c569ff456e74..6449c9a69b8a 100644
> --- a/drivers/gpu/drm/xe/xe_guc_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_guc_debugfs.c
> @@ -48,6 +48,19 @@ static int guc_log(struct seq_file *m, void *data)
> return 0;
> }
>
> +static int guc_log_lfd(struct seq_file *m, void *data)
> +{
> + struct xe_guc *guc = node_to_guc(m->private);
> + struct xe_device *xe = guc_to_xe(guc);
> + struct drm_printer p = drm_seq_file_printer(m);
> +
> + xe_pm_runtime_get(xe);
> + xe_guc_log_print_lfd(&guc->log, &p);
> + xe_pm_runtime_put(xe);
> +
> + return 0;
> +}
> +
> static int guc_log_dmesg(struct seq_file *m, void *data)
> {
> struct xe_guc *guc = node_to_guc(m->private);
> @@ -89,6 +102,7 @@ static int guc_pc(struct seq_file *m, void *data)
> static const struct drm_info_list debugfs_list[] = {
> {"guc_info", guc_info, 0},
> {"guc_log", guc_log, 0},
> + {"guc_log_lfd", guc_log_lfd, 0},
> {"guc_log_dmesg", guc_log_dmesg, 0},
> {"guc_ctb", guc_ctb, 0},
> {"guc_pc", guc_pc, 0},
> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
> index 38039c411387..df849a0ee7e5 100644
> --- a/drivers/gpu/drm/xe/xe_guc_log.c
> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
> @@ -216,6 +216,26 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
> }
> }
>
> +static void
> +xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
> + struct xe_guc_log *log)
> +{
> + size_t remain;
> + int i;
> +
> + if (!snapshot)
> + return;
> +
> + remain = snapshot->size;
> + for (i = 0; i < snapshot->num_chunks; i++) {
> + size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
> +
> + /* To be add: Output snapshot in LFD format */
Non-blocking:
Debatably, one of the following two things should be done:
1) Squash this patch and the next patch together.
2) Swap the order of this patch and the next patch, such that patch
2 adds all the functionality needed for this function to operate, and
patch 3 implements static int guc_log_lfd and void xe_guc_log_print_lfd.
> +
> + remain -= size;
> + }
> +}
> +
> /**
> * xe_guc_log_print_dmesg - dump a copy of the GuC log to dmesg
> * @log: GuC log structure
> @@ -251,6 +271,20 @@ void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p)
> xe_guc_log_snapshot_free(snapshot);
> }
>
> +/**
> + * xe_guc_log_print_lfd - dump a copy of the GuC log to some useful location
Non-blocking:
It's a bit weird that specifying the log is being printed "to some useful location"
is the standard for this file, when this doesn't appear to be the case outside of
xe_guc_log.c. I wonder if it's because we have xe_guc_log_print_dmesg that
has to specify it's printing to dmesg?
-Jonathan Cavitt
> + * @log: GuC log structure
> + * @p: the printer object to output to
> + */
> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p)
> +{
> + struct xe_guc_log_snapshot *snapshot;
> +
> + snapshot = xe_guc_log_snapshot_capture(log, false);
> + xe_guc_log_snapshot_print_lfd(snapshot, p, log);
> + xe_guc_log_snapshot_free(snapshot);
> +}
> +
> int xe_guc_log_init(struct xe_guc_log *log)
> {
> struct xe_device *xe = log_to_xe(log);
> diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h
> index 5b896f5fafaf..37ff4d11e6cf 100644
> --- a/drivers/gpu/drm/xe/xe_guc_log.h
> +++ b/drivers/gpu/drm/xe/xe_guc_log.h
> @@ -40,6 +40,7 @@ struct xe_device;
>
> int xe_guc_log_init(struct xe_guc_log *log);
> void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p);
> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p);
> void xe_guc_log_print_dmesg(struct xe_guc_log *log);
> struct xe_guc_log_snapshot *xe_guc_log_snapshot_capture(struct xe_guc_log *log, bool atomic);
> void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p);
> --
> 2.34.1
>
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support
2025-04-10 15:58 ` [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support Zhanjun Dong
@ 2025-04-10 17:52 ` Cavitt, Jonathan
2025-04-11 16:14 ` Michal Wajdeczko
1 sibling, 0 replies; 26+ messages in thread
From: Cavitt, Jonathan @ 2025-04-10 17:52 UTC (permalink / raw)
To: Dong, Zhanjun, intel-xe@lists.freedesktop.org
Cc: Dong, Zhanjun, Cavitt, Jonathan
-----Original Message-----
From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Zhanjun Dong
Sent: Thursday, April 10, 2025 8:59 AM
To: intel-xe@lists.freedesktop.org
Cc: Dong, Zhanjun <zhanjun.dong@intel.com>
Subject: [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support
>
> Add support to output GuC log in LFD format.
>
> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
A lot of this admittedly goes a bit over my head, but after reading through
the change log in the cover letter, it doesn't seem like there were any major
changes necessary in this portion of the code, so I'm going to trust that the
previous reviewers were thorough enough and that this patch is correct.
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
-Jonathan Cavitt
> ---
> drivers/gpu/drm/xe/xe_guc_log.c | 344 +++++++++++++++++++++++++++++++-
> 1 file changed, 342 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
> index df849a0ee7e5..7cdf6bf238f3 100644
> --- a/drivers/gpu/drm/xe/xe_guc_log.c
> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
> @@ -7,8 +7,10 @@
>
> #include <linux/fault-inject.h>
>
> +#include <linux/utsname.h>
> #include <drm/drm_managed.h>
>
> +#include "abi/guc_log_lfd_abi.h"
> #include "regs/xe_guc_regs.h"
> #include "xe_bo.h"
> #include "xe_devcoredump.h"
> @@ -19,6 +21,57 @@
> #include "xe_mmio.h"
> #include "xe_module.h"
>
> +static struct guc_log_buffer_entry_markers {
> + u32 key[2];
> +} const entry_markers[4] = {
> + {{
> + LFD_LOG_BUFFER_MARKER_1V2,
> + LFD_LOG_BUFFER_MARKER_2
> + }},
> + {{
> + LFD_LOG_BUFFER_MARKER_1V2,
> + LFD_CRASH_DUMP_BUFFER_MARKER_2
> + }},
> + {{
> + LFD_STATE_CAPTURE_BUFFER_MARKER_1V2,
> + LFD_STATE_CAPTURE_BUFFER_MARKER_2
> + }},
> + {{
> + GUC_LOG_INIT_CONFIG_LIC_MAGIC,
> + ((GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR << 16)
> + | GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR)
> + }}
> +};
> +
> +static struct guc_log_buffer_entry_list {
> + u32 offset;
> + u32 rd_ptr;
> + u32 wr_ptr;
> + u32 buf_size;
> +} entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT];
> +
> +static const struct guc_logfile_lfd_t default_guc_logfile_lfd = {
> + .dw0 = FIELD_PREP_CONST(GUC_LOGFILE_LFD_T_MAGIC, GUC_LOGFILE_LFD_MAGIC)
> +};
> +
> +static const struct guc_logfile_t default_guc_logfile = {
> + .magic = LFD_DRIVER_KEY_STREAMING,
> + .version.dw0 = FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MINOR_VERSION,
> + GUC_LOG_FILE_FORMAT_VERSION_MINOR) |
> + FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION,
> + GUC_LOG_FILE_FORMAT_VERSION_MAJOR)
> +};
> +
> +struct guc_log_init_config_save_t {
> + /*
> + * Array of init config KLVs.
> + * Range from GUC_LOG_LIC_TYPE_FIRST to
> + * GUC_LOG_LIC_TYPE_LAST
> + */
> + u32 KLV[GUC_LOG_LIC_TYPE_LAST - GUC_LOG_LIC_TYPE_FIRST];
> + struct guc_log_buffer_state log_buf_state;
> +};
> +
> static struct xe_guc *
> log_to_guc(struct xe_guc_log *log)
> {
> @@ -216,21 +269,308 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
> }
> }
>
> +static int xe_guc_log_add_lfd_header(char *buf, int buf_size)
> +{
> + int len;
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t))
> + return -ENOMEM;
> +
> + len = sizeof(default_guc_logfile_lfd);
> + memcpy(buf, &default_guc_logfile_lfd, len);
> +
> + return len;
> +}
> +
> +static int xe_guc_log_add_payload(char *buf, int buf_size, u32 data_len, void *data)
> +{
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
> + return -ENOMEM;
> +
> + /* make length DW aligned */
> + lfd->desc_dw_size = data_len / sizeof(u32);
> + if (data_len / sizeof(u32))
> + lfd->desc_dw_size++;
> +
> + if (lfd->data != data)
> + memcpy(lfd->data, data, data_len);
> +
> + return lfd->desc_dw_size * 4;
> +}
> +
> +static int xe_guc_log_add_typed_payload(char *buf, int buf_size, u32 type,
> + u32 data_len, void *data)
> +{
> + int len;
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
> + return -ENOMEM;
> +
> + len = xe_guc_log_add_lfd_header(buf, buf_size);
> + lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, type);
> + len += xe_guc_log_add_payload(buf, buf_size, data_len, data);
> +
> + return len;
> +}
> +
> +static int xe_guc_log_add_os_id(char *buf, int buf_size, u32 id)
> +{
> + char *version;
> + int info_len;
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
> + struct guc_lfd_data_os_id_t *os_id = (struct guc_lfd_data_os_id_t *)lfd->data;
> +
> + os_id->os_id = id;
> +
> + version = init_utsname()->release;
> + info_len = strlen(version) + 1;
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + info_len)
> + return -ENOMEM;
> +
> + strscpy(os_id->build_version, version, info_len);
> +
> + return xe_guc_log_add_typed_payload(buf, buf_size, GUC_LFD_TYPE_OS_ID,
> + info_len + sizeof(*os_id), os_id);
> +}
> +
> +static int
> +xe_guc_log_add_log_event(char *buf, int buf_size, char *log_bin,
> + struct guc_log_init_config_save_t *config)
> +{
> + int len;
> + char *data;
> + u32 data_len;
> + struct guc_lfd_data_log_events_buf_t *events_buf;
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
> + struct guc_log_buffer_entry_list *entry;
> +
> + entry = &entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG];
> +
> + /* Skip empty log */
> + if (entry->rd_ptr == entry->wr_ptr)
> + return 0;
> +
> + len = xe_guc_log_add_lfd_header(buf, buf_size);
> + if (len < 0)
> + return len;
> +
> + buf_size -= len;
> + lfd = (struct guc_logfile_lfd_t *)buf;
> +
> + lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, GUC_LFD_TYPE_LOG_EVENTS_BUFFER);
> + events_buf = (struct guc_lfd_data_log_events_buf_t *)&lfd->data;
> + events_buf->log_events_format_version = config->log_buf_state.version;
> +
> + data = log_bin + entry->offset + entry->rd_ptr;
> + if (entry->rd_ptr < entry->wr_ptr) {
> + data_len = entry->wr_ptr - entry->rd_ptr;
> + if (data_len <= buf_size) {
> + memcpy(events_buf->log_format_buf, data, data_len);
> + buf_size -= data_len;
> + } else {
> + return -ENOMEM;
> + }
> + } else {
> + int cp_len;
> +
> + /* Copy rd to buf end 1st */
> + data_len = entry->buf_size - entry->rd_ptr;
> + if (data_len <= buf_size) {
> + memcpy(events_buf->log_format_buf, data, data_len);
> + buf_size -= data_len;
> + } else {
> + return -ENOMEM;
> + }
> +
> + /* Copy buf start to wr */
> + data = &log_bin[entry->offset];
> + cp_len = entry->wr_ptr;
> + if (cp_len <= buf_size - cp_len)
> + memcpy(&events_buf->log_format_buf[data_len / sizeof(u32)], data, cp_len);
> + else
> + return -ENOMEM;
> + data_len += cp_len;
> + }
> +
> + /* make length DW aligned */
> + lfd->desc_dw_size = data_len / sizeof(u32);
> + if (data_len % sizeof(u32))
> + lfd->desc_dw_size++;
> +
> + /* Addup log_events_format_version size */
> + lfd->desc_dw_size++;
> +
> + return len + lfd->desc_dw_size * sizeof(u32);
> +}
> +
> +static inline int lic_type_to_KLV_index(u32 lic_type)
> +{
> + XE_WARN_ON(lic_type < GUC_LOG_LIC_TYPE_FIRST || lic_type >= GUC_LOG_LIC_TYPE_LAST);
> +
> + return lic_type - GUC_LOG_LIC_TYPE_FIRST;
> +}
> +
> +static int xe_guc_log_add_klv(char *buf, int size, u32 lic_type,
> + struct guc_log_init_config_save_t *config)
> +{
> + /* LFD type must matches LIC type */
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_FW_VERSION != (int)GUC_LOG_LIC_TYPE_GUC_SW_VERSION);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_GUC_DEVICE_ID != (int)GUC_LOG_LIC_TYPE_GUC_DEVICE_ID);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_TSC_FREQUENCY != (int)GUC_LOG_LIC_TYPE_TSC_FREQUENCY);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_GMD_ID != (int)GUC_LOG_LIC_TYPE_GMD_ID);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_BUILD_PLATFORM_ID !=
> + (int)GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID);
> +
> + return xe_guc_log_add_typed_payload(buf, size, lic_type, sizeof(u32),
> + &config->KLV[lic_type_to_KLV_index(lic_type)]);
> +}
> +
> +static void xe_guc_log_loop_log_init(struct guc_log_init_config_t *init,
> + struct guc_log_init_config_save_t *config)
> +{
> + int i;
> + struct guc_klv_generic_t *p = (struct guc_klv_generic_t *)init->lic_data;
> +
> + for (i = 0; i < init->lic_dw_size;) {
> + if (p->key < GUC_LOG_LIC_TYPE_GUC_SW_VERSION || p->key >= GUC_LOG_LIC_TYPE_LAST)
> + break;
> + config->KLV[lic_type_to_KLV_index(p->key)] = p->value[0];
> + i += p->length + 1; /* +1DW to include kev(u16) and len(u16) */
> + p = (struct guc_klv_generic_t *)((u32 *)p + p->length + 1);
> + }
> +}
> +
> +static void xe_guc_log_load_log_buffer(u32 *guc_log, struct guc_log_init_config_save_t *config)
> +{
> + int i = 0;
> + u32 offset = GUC_LOG_BUFFER_STATE_HEADER_LENGTH;
> + struct guc_log_buffer_state *p = (struct guc_log_buffer_state *)guc_log;
> +
> + memset(entry_list, 0, sizeof(entry_list));
> + while (p) {
> + for (i = 0; i < GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT; i++) {
> + if (p->marker[0] == entry_markers[i].key[0] &&
> + p->marker[1] == entry_markers[i].key[1]) {
> + entry_list[i].offset = offset;
> + entry_list[i].rd_ptr = p->read_ptr;
> + entry_list[i].wr_ptr = p->write_ptr;
> + entry_list[i].buf_size = p->size;
> +
> + if (i == GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG)
> + config->log_buf_state = *p;
> +
> + if (i != GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT) {
> + offset += p->size;
> + p++;
> + } else {
> + /* Load log init config */
> + xe_guc_log_loop_log_init((struct guc_log_init_config_t *)p,
> + config);
> +
> + /* Init config is the last */
> + return;
> + }
> + }
> + }
> + if (i >= GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT)
> + break;
> + }
> +}
> +
> +static int xe_guc_log_save_to_lfd_buf(char *buf, int size, u32 *guc_log_bin,
> + struct xe_guc_log *log,
> + struct guc_log_init_config_save_t *config)
> +{
> + int index = 0, len = 0;
> + char *char_bin = (char *)guc_log_bin;
> + struct guc_logfile_t *guc_logfile;
> +
> + if (size < sizeof(struct guc_logfile_t))
> + return -ENOMEM;
> +
> + guc_logfile = (struct guc_logfile_t *)buf;
> + *guc_logfile = default_guc_logfile;
> + index = offsetof(struct guc_logfile_t, lfd_stream);
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_FW_VERSION, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_GUC_DEVICE_ID, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_TSC_FREQUENCY, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_GMD_ID, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID,
> + config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_os_id(&buf[index], size - index, GUC_LFD_OS_TYPE_OSID_LIN);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_log_event(&buf[index], size - index, char_bin, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + return index;
> +}
> +
> static void
> xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
> struct xe_guc_log *log)
> {
> size_t remain;
> int i;
> + struct guc_log_init_config_save_t init_config;
>
> if (!snapshot)
> return;
>
> remain = snapshot->size;
> + if (!remain)
> + return;
> +
> + drm_printf(p, "Kernel timestamp: 0x%08llX [%llu]\n", snapshot->ktime, snapshot->ktime);
> + drm_printf(p, "GuC timestamp: 0x%08llX [%llu]\n", snapshot->stamp, snapshot->stamp);
> + drm_printf(p, "Log level: %u\n", snapshot->level);
> +
> for (i = 0; i < snapshot->num_chunks; i++) {
> + int len = 0;
> size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
> -
> - /* To be add: Output snapshot in LFD format */
> + const char *prefix = i ? NULL : "[LOG].data";
> + char suffix = i == snapshot->num_chunks - 1 ? '\n' : 0;
> + char *lfd_buf = kzalloc(size, GFP_KERNEL);
> +
> + /* load from log bin */
> + xe_guc_log_load_log_buffer(snapshot->copy[i], &init_config);
> + /* Output to LFD format */
> + len = xe_guc_log_save_to_lfd_buf(lfd_buf, size, snapshot->copy[i], log,
> + &init_config);
> + if (len > 0)
> + xe_print_blob_ascii85(p, prefix, suffix, lfd_buf, 0, (size_t)len);
> +
> + kfree(lfd_buf);
> + XE_WARN_ON(len <= 0);
>
> remain -= size;
> }
> --
> 2.34.1
>
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: [PATCH v3 4/4] drm/xe/guc: Only add GuC crash dump if available
2025-04-10 15:58 ` [PATCH v3 4/4] drm/xe/guc: Only add GuC crash dump if available Zhanjun Dong
@ 2025-04-10 17:52 ` Cavitt, Jonathan
0 siblings, 0 replies; 26+ messages in thread
From: Cavitt, Jonathan @ 2025-04-10 17:52 UTC (permalink / raw)
To: Dong, Zhanjun, intel-xe@lists.freedesktop.org
Cc: Dong, Zhanjun, Cavitt, Jonathan
-----Original Message-----
From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Zhanjun Dong
Sent: Thursday, April 10, 2025 8:59 AM
To: intel-xe@lists.freedesktop.org
Cc: Dong, Zhanjun <zhanjun.dong@intel.com>
Subject: [PATCH v3 4/4] drm/xe/guc: Only add GuC crash dump if available
>
> Add GuC crash dump data empty check. LFD will only include crash dump
> section when data is not empty.
>
> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
LGTM, though I'm not sure why it was requested this be broken
into a separate patch.
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
-Jonathan Cavitt
> ---
> drivers/gpu/drm/xe/xe_guc_log.c | 35 +++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
> index 7cdf6bf238f3..1e5976a382be 100644
> --- a/drivers/gpu/drm/xe/xe_guc_log.c
> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
> @@ -407,6 +407,36 @@ xe_guc_log_add_log_event(char *buf, int buf_size, char *log_bin,
> return len + lfd->desc_dw_size * sizeof(u32);
> }
>
> +static int
> +xe_guc_log_add_crash_dump(char *buf, int buf_size, char *log_bin,
> + struct guc_log_init_config_save_t *config)
> +{
> + int i, dw_size;
> + u32 *buf32;
> + struct guc_log_buffer_entry_list *entry;
> +
> + entry = &entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH];
> +
> + /* Skip empty log */
> + if (!entry->buf_size)
> + return 0;
> +
> + buf32 = (u32 *)&log_bin[entry->offset];
> + dw_size = entry->buf_size / sizeof(u32);
> +
> + /* Check if crash dump section are all zero */
> + for (i = 0; i < dw_size; i++)
> + if (buf32[i])
> + break;
> +
> + /* Buffer has non-zero data? */
> + if (i < dw_size)
> + return xe_guc_log_add_typed_payload(buf, buf_size,
> + GUC_LFD_TYPE_FW_CRASH_DUMP,
> + entry->buf_size, buf32);
> + return 0;
> +}
> +
> static inline int lic_type_to_KLV_index(u32 lic_type)
> {
> XE_WARN_ON(lic_type < GUC_LOG_LIC_TYPE_FIRST || lic_type >= GUC_LOG_LIC_TYPE_LAST);
> @@ -532,6 +562,11 @@ static int xe_guc_log_save_to_lfd_buf(char *buf, int size, u32 *guc_log_bin,
> return len;
> index += len;
>
> + len = xe_guc_log_add_crash_dump(&buf[index], size - index, char_bin, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> return index;
> }
>
> --
> 2.34.1
>
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✗ Xe.CI.Full: failure for drm/xe/guc: Add LFD format output for guc log (rev3)
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
` (10 preceding siblings ...)
2025-04-10 16:53 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-04-10 21:00 ` Patchwork
11 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-04-10 21:00 UTC (permalink / raw)
To: Zhanjun Dong; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 64269 bytes --]
== Series Details ==
Series: drm/xe/guc: Add LFD format output for guc log (rev3)
URL : https://patchwork.freedesktop.org/series/146541/
State : failure
== Summary ==
CI Bug Log - changes from xe-2931-457049ad31ee5b64dd86230518144d366c32bc04_FULL -> xe-pw-146541v3_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-146541v3_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-146541v3_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-146541v3_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible:
- shard-bmg: [PASS][1] -> [SKIP][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-3/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
* igt@xe_fault_injection@inject-fault-probe-function-xe_sriov_init:
- shard-adlp: [PASS][3] -> [DMESG-WARN][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-8/igt@xe_fault_injection@inject-fault-probe-function-xe_sriov_init.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@xe_fault_injection@inject-fault-probe-function-xe_sriov_init.html
* igt@xe_pm@s4-mocs:
- shard-adlp: [PASS][5] -> [ABORT][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-8/igt@xe_pm@s4-mocs.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@xe_pm@s4-mocs.html
Known issues
------------
Here are the changes found in xe-pw-146541v3_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-6-4-mc-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][7] ([Intel XE#2550] / [Intel XE#3767]) +7 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-6-4-mc-ccs.html
* igt@kms_async_flips@invalid-async-flip:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#873])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-2/igt@kms_async_flips@invalid-async-flip.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][9] ([Intel XE#316])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][10] ([Intel XE#1407]) +2 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
- shard-bmg: NOTRUN -> [SKIP][11] ([Intel XE#2327])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-16bpp-rotate-0:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#1124]) +3 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_big_fb@y-tiled-16bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-adlp: [PASS][13] -> [DMESG-FAIL][14] ([Intel XE#4543]) +1 other test dmesg-fail
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-9/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#619])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#1477])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#1124]) +4 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][18] ([Intel XE#1124]) +1 other test skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-bmg: [PASS][19] -> [SKIP][20] ([Intel XE#2314] / [Intel XE#2894]) +1 other test skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-4-displays-1920x1080p:
- shard-dg2-set2: NOTRUN -> [SKIP][21] ([Intel XE#367])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_bw@linear-tiling-4-displays-1920x1080p.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][22] ([Intel XE#787]) +133 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][23] ([Intel XE#2887]) +4 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs@pipe-b-dp-2:
- shard-bmg: NOTRUN -> [SKIP][24] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-8/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs@pipe-b-dp-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][25] ([Intel XE#2669] / [Intel XE#3433]) +3 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][26] ([Intel XE#3862]) +1 other test incomplete
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#2887]) +4 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][28] ([Intel XE#4212] / [Intel XE#4502] / [Intel XE#4522])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4:
- shard-dg2-set2: [PASS][29] -> [INCOMPLETE][30] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) +1 other test incomplete
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][31] ([Intel XE#455] / [Intel XE#787]) +25 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs.html
* igt@kms_cdclk@mode-transition:
- shard-bmg: NOTRUN -> [SKIP][32] ([Intel XE#2724])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][33] ([Intel XE#4417]) +3 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_cdclk@mode-transition@pipe-b-edp-1.html
* igt@kms_chamelium_edid@dp-edid-resolution-list:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2252]) +2 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_chamelium_edid@dp-edid-resolution-list.html
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#373]) +2 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_chamelium_edid@dp-edid-resolution-list.html
* igt@kms_chamelium_hpd@hdmi-hpd-fast:
- shard-dg2-set2: NOTRUN -> [SKIP][36] ([Intel XE#373]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [FAIL][37] ([Intel XE#1178]) +1 other test fail
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-432/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html
* igt@kms_content_protection@content-type-change:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2341])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_content_protection@content-type-change.html
- shard-lnl: NOTRUN -> [SKIP][39] ([Intel XE#3278])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@srm@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][40] ([Intel XE#1178])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-6/igt@kms_content_protection@srm@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-random-32x10:
- shard-lnl: NOTRUN -> [SKIP][41] ([Intel XE#1424]) +2 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_cursor_crc@cursor-random-32x10.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#2321]) +1 other test skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_cursor_crc@cursor-sliding-64x21:
- shard-bmg: NOTRUN -> [SKIP][43] ([Intel XE#2320])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_cursor_crc@cursor-sliding-64x21.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic:
- shard-bmg: [PASS][44] -> [SKIP][45] ([Intel XE#2291]) +2 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#2291]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-lnl: NOTRUN -> [SKIP][47] ([Intel XE#309]) +5 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions:
- shard-dg2-set2: [PASS][48] -> [SKIP][49] ([Intel XE#309]) +5 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-436/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html
* igt@kms_cursor_legacy@forked-move:
- shard-adlp: [PASS][50] -> [DMESG-WARN][51] ([Intel XE#4173]) +2 other tests dmesg-warn
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-8/igt@kms_cursor_legacy@forked-move.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@kms_cursor_legacy@forked-move.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#323])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#2286])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#1508])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#1508])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dsc@dsc-basic:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2244])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_dsc@dsc-basic.html
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#2244])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_dsc@dsc-basic.html
* igt@kms_feature_discovery@display-2x:
- shard-bmg: [PASS][58] -> [SKIP][59] ([Intel XE#2373])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-7/igt@kms_feature_discovery@display-2x.html
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_feature_discovery@display-2x.html
* igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
- shard-dg2-set2: [PASS][60] -> [SKIP][61] ([Intel XE#310]) +6 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-463/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-dp2-hdmi-a3:
- shard-bmg: [PASS][62] -> [FAIL][63] ([Intel XE#3321]) +2 other tests fail
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-dp2-hdmi-a3.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-dp2-hdmi-a3.html
* igt@kms_flip@2x-flip-vs-wf_vblank:
- shard-bmg: [PASS][64] -> [SKIP][65] ([Intel XE#2316]) +1 other test skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-3/igt@kms_flip@2x-flip-vs-wf_vblank.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_flip@2x-flip-vs-wf_vblank.html
* igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ab-dp2-hdmi-a3:
- shard-bmg: [PASS][66] -> [FAIL][67] ([Intel XE#2882]) +1 other test fail
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-8/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ab-dp2-hdmi-a3.html
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-1/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ab-dp2-hdmi-a3.html
* igt@kms_flip@bo-too-big-interruptible@a-edp1:
- shard-lnl: NOTRUN -> [TIMEOUT][68] ([Intel XE#1504]) +1 other test timeout
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_flip@bo-too-big-interruptible@a-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-adlp: [PASS][69] -> [DMESG-WARN][70] ([Intel XE#2953] / [Intel XE#4173]) +1 other test dmesg-warn
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-6/igt@kms_flip@flip-vs-suspend-interruptible.html
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible.html
- shard-dg2-set2: [PASS][71] -> [INCOMPLETE][72] ([Intel XE#2049] / [Intel XE#2597]) +3 other tests incomplete
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-434/igt@kms_flip@flip-vs-suspend-interruptible.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-463/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][74] ([Intel XE#1401]) +1 other test skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][76] ([Intel XE#2293]) +1 other test skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt:
- shard-lnl: NOTRUN -> [SKIP][77] ([Intel XE#651]) +3 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#4141])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#2312]) +5 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render:
- shard-dg2-set2: [PASS][80] -> [SKIP][81] ([Intel XE#656]) +4 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-436/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-blt:
- shard-adlp: NOTRUN -> [SKIP][82] ([Intel XE#651]) +1 other test skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-msflip-blt:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#2311]) +4 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][84] ([Intel XE#651]) +9 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-adlp: NOTRUN -> [SKIP][85] ([Intel XE#656])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt:
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#656]) +13 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt:
- shard-adlp: NOTRUN -> [SKIP][87] ([Intel XE#653]) +1 other test skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#2313]) +8 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
- shard-dg2-set2: NOTRUN -> [SKIP][89] ([Intel XE#653]) +10 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
* igt@kms_hdmi_inject@inject-4k:
- shard-lnl: NOTRUN -> [SKIP][90] ([Intel XE#1470])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_hdmi_inject@inject-4k.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-lnl: NOTRUN -> [SKIP][91] ([Intel XE#1503])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_hdr@invalid-metadata-sizes.html
- shard-bmg: NOTRUN -> [SKIP][92] ([Intel XE#1503])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][93] ([Intel XE#2927])
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-dg2-set2: [PASS][94] -> [SKIP][95] ([Intel XE#4328])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-432/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-bmg: [PASS][96] -> [SKIP][97] ([Intel XE#4596])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-none.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c:
- shard-lnl: NOTRUN -> [SKIP][98] ([Intel XE#2763]) +11 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-b:
- shard-bmg: NOTRUN -> [SKIP][99] ([Intel XE#2763]) +4 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-b.html
* igt@kms_pm_dc@dc5-psr:
- shard-dg2-set2: NOTRUN -> [SKIP][100] ([Intel XE#1129])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_pm_dc@dc5-psr.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
- shard-dg2-set2: NOTRUN -> [SKIP][101] ([Intel XE#1489]) +3 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
- shard-lnl: NOTRUN -> [SKIP][102] ([Intel XE#2893])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-lnl: NOTRUN -> [SKIP][103] ([Intel XE#1128]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr2_su@page_flip-p010:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#2387]) +1 other test skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@fbc-psr-primary-blt:
- shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_psr@fbc-psr-primary-blt.html
* igt@kms_psr@fbc-psr2-sprite-blt:
- shard-lnl: NOTRUN -> [SKIP][106] ([Intel XE#1406])
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_psr@fbc-psr2-sprite-blt.html
* igt@kms_psr@fbc-psr2-sprite-blt@edp-1:
- shard-lnl: NOTRUN -> [SKIP][107] ([Intel XE#4609])
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_psr@fbc-psr2-sprite-blt@edp-1.html
* igt@kms_psr@psr2-primary-render:
- shard-dg2-set2: NOTRUN -> [SKIP][108] ([Intel XE#2850] / [Intel XE#929]) +4 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_psr@psr2-primary-render.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-270:
- shard-adlp: NOTRUN -> [SKIP][109] ([Intel XE#3414])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html
* igt@kms_rotation_crc@sprite-rotation-270:
- shard-dg2-set2: NOTRUN -> [SKIP][110] ([Intel XE#3414])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_rotation_crc@sprite-rotation-270.html
* igt@kms_vrr@flip-dpms:
- shard-dg2-set2: NOTRUN -> [SKIP][111] ([Intel XE#455]) +4 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_vrr@flip-dpms.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#756])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_writeback@writeback-pixel-formats.html
* igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
- shard-dg2-set2: NOTRUN -> [SKIP][113] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html
* igt@xe_eudebug@basic-vm-access-parameters-userptr:
- shard-bmg: NOTRUN -> [SKIP][114] ([Intel XE#2905] / [Intel XE#3889])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@xe_eudebug@basic-vm-access-parameters-userptr.html
- shard-lnl: NOTRUN -> [SKIP][115] ([Intel XE#2905] / [Intel XE#3889])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@xe_eudebug@basic-vm-access-parameters-userptr.html
* igt@xe_eudebug_online@breakpoint-not-in-debug-mode:
- shard-bmg: NOTRUN -> [SKIP][116] ([Intel XE#2905])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@xe_eudebug_online@breakpoint-not-in-debug-mode.html
* igt@xe_eudebug_online@set-breakpoint-sigint-debugger:
- shard-bmg: NOTRUN -> [SKIP][117] ([Intel XE#4577])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@xe_eudebug_online@set-breakpoint-sigint-debugger.html
- shard-lnl: NOTRUN -> [SKIP][118] ([Intel XE#4577])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@xe_eudebug_online@set-breakpoint-sigint-debugger.html
* igt@xe_eudebug_online@single-step:
- shard-dg2-set2: NOTRUN -> [SKIP][119] ([Intel XE#2905]) +3 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@xe_eudebug_online@single-step.html
* igt@xe_evict@evict-large-external-cm:
- shard-lnl: NOTRUN -> [SKIP][120] ([Intel XE#688]) +1 other test skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@xe_evict@evict-large-external-cm.html
* igt@xe_exec_basic@multigpu-no-exec-null-defer-bind:
- shard-dg2-set2: [PASS][121] -> [SKIP][122] ([Intel XE#1392]) +2 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-433/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
- shard-lnl: NOTRUN -> [SKIP][123] ([Intel XE#1392]) +1 other test skip
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
- shard-bmg: NOTRUN -> [SKIP][124] ([Intel XE#2322]) +1 other test skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
* igt@xe_exec_fault_mode@once-bindexecqueue-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][125] ([Intel XE#288]) +10 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@xe_exec_fault_mode@once-bindexecqueue-imm.html
* igt@xe_exec_fault_mode@once-bindexecqueue-userptr-invalidate:
- shard-adlp: NOTRUN -> [SKIP][126] ([Intel XE#288])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@xe_exec_fault_mode@once-bindexecqueue-userptr-invalidate.html
* igt@xe_exec_sip_eudebug@breakpoint-writesip-twice:
- shard-lnl: NOTRUN -> [SKIP][127] ([Intel XE#2905]) +3 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@xe_exec_sip_eudebug@breakpoint-writesip-twice.html
* igt@xe_media_fill@media-fill:
- shard-dg2-set2: NOTRUN -> [SKIP][128] ([Intel XE#560])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@xe_media_fill@media-fill.html
* igt@xe_oa@buffer-size:
- shard-lnl: [PASS][129] -> [FAIL][130] ([Intel XE#4541])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-lnl-1/igt@xe_oa@buffer-size.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-6/igt@xe_oa@buffer-size.html
* igt@xe_oa@buffer-size@rcs-0-128k:
- shard-lnl: NOTRUN -> [FAIL][131] ([Intel XE#4541])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-6/igt@xe_oa@buffer-size@rcs-0-128k.html
* igt@xe_oa@oa-regs-whitelisted:
- shard-dg2-set2: NOTRUN -> [SKIP][132] ([Intel XE#2541] / [Intel XE#3573]) +2 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@xe_oa@oa-regs-whitelisted.html
* igt@xe_pm@d3cold-basic-exec:
- shard-lnl: NOTRUN -> [SKIP][133] ([Intel XE#2284] / [Intel XE#366]) +1 other test skip
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@xe_pm@d3cold-basic-exec.html
* igt@xe_pm@d3cold-mmap-system:
- shard-dg2-set2: NOTRUN -> [SKIP][134] ([Intel XE#2284] / [Intel XE#366])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@xe_pm@d3cold-mmap-system.html
* igt@xe_pm@s3-d3cold-basic-exec:
- shard-bmg: NOTRUN -> [SKIP][135] ([Intel XE#2284]) +1 other test skip
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@xe_pm@s3-d3cold-basic-exec.html
* igt@xe_query@multigpu-query-hwconfig:
- shard-dg2-set2: NOTRUN -> [SKIP][136] ([Intel XE#944])
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@xe_query@multigpu-query-hwconfig.html
* igt@xe_query@multigpu-query-invalid-cs-cycles:
- shard-lnl: NOTRUN -> [SKIP][137] ([Intel XE#944])
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@xe_query@multigpu-query-invalid-cs-cycles.html
* igt@xe_query@query-cs-cycles:
- shard-bmg: [PASS][138] -> [FAIL][139] ([Intel XE#4564])
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-3/igt@xe_query@query-cs-cycles.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@xe_query@query-cs-cycles.html
* igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs:
- shard-dg2-set2: NOTRUN -> [SKIP][140] ([Intel XE#4130])
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
#### Possible fixes ####
* igt@core_hotunplug@hotunplug-rescan:
- shard-adlp: [DMESG-WARN][141] ([Intel XE#4173]) -> [PASS][142] +1 other test pass
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-6/igt@core_hotunplug@hotunplug-rescan.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-2/igt@core_hotunplug@hotunplug-rescan.html
* igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries-display-off:
- shard-lnl: [ABORT][143] ([Intel XE#4624]) -> [PASS][144]
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-lnl-8/igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries-display-off.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries-display-off.html
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-adlp: [DMESG-FAIL][145] ([Intel XE#4543]) -> [PASS][146]
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-9/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [INCOMPLETE][147] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124] / [Intel XE#4345]) -> [PASS][148]
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [INCOMPLETE][149] ([Intel XE#1727] / [Intel XE#3113]) -> [PASS][150] +1 other test pass
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-bmg: [SKIP][151] ([Intel XE#2291]) -> [PASS][152] +3 other tests pass
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
- shard-dg2-set2: [SKIP][153] ([Intel XE#309]) -> [PASS][154]
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-bmg: [FAIL][155] ([Intel XE#1475]) -> [PASS][156]
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_display_modes@extended-mode-basic:
- shard-bmg: [SKIP][157] ([Intel XE#4302]) -> [PASS][158]
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_display_modes@extended-mode-basic.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-8/igt@kms_display_modes@extended-mode-basic.html
- shard-dg2-set2: [SKIP][159] ([Intel XE#4302]) -> [PASS][160]
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_display_modes@extended-mode-basic.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
- shard-bmg: [SKIP][161] ([Intel XE#2316]) -> [PASS][162] +2 other tests pass
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-6/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
* igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible:
- shard-lnl: [FAIL][163] ([Intel XE#886]) -> [PASS][164] +1 other test pass
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-lnl-4/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-8/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a6:
- shard-dg2-set2: [FAIL][165] ([Intel XE#301]) -> [PASS][166] +5 other tests pass
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a6.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a6.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-bmg: [INCOMPLETE][167] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][168] +1 other test pass
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-6/igt@kms_flip@flip-vs-suspend-interruptible.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip@flip-vs-suspend@b-hdmi-a1:
- shard-adlp: [DMESG-WARN][169] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][170] +1 other test pass
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-1/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-2/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt:
- shard-dg2-set2: [SKIP][171] ([Intel XE#656]) -> [PASS][172] +2 other tests pass
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-bmg: [SKIP][173] ([Intel XE#1435]) -> [PASS][174]
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_setmode@invalid-clone-single-crtc.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-1/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing@pipe-a-hdmi-a-6-dp-4:
- shard-dg2-set2: [ABORT][175] -> [PASS][176] +1 other test pass
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-463/igt@kms_setmode@invalid-clone-single-crtc-stealing@pipe-a-hdmi-a-6-dp-4.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_setmode@invalid-clone-single-crtc-stealing@pipe-a-hdmi-a-6-dp-4.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing@pipe-b-hdmi-a-6-dp-4:
- shard-dg2-set2: [DMESG-WARN][177] ([Intel XE#4212]) -> [PASS][178]
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-463/igt@kms_setmode@invalid-clone-single-crtc-stealing@pipe-b-hdmi-a-6-dp-4.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@kms_setmode@invalid-clone-single-crtc-stealing@pipe-b-hdmi-a-6-dp-4.html
* igt@kms_vblank@wait-forked-busy@pipe-d-hdmi-a-3:
- shard-bmg: [INCOMPLETE][179] ([Intel XE#4488]) -> [PASS][180] +1 other test pass
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-7/igt@kms_vblank@wait-forked-busy@pipe-d-hdmi-a-3.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_vblank@wait-forked-busy@pipe-d-hdmi-a-3.html
* igt@kms_vrr@negative-basic:
- shard-bmg: [SKIP][181] ([Intel XE#1499]) -> [PASS][182]
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_vrr@negative-basic.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-8/igt@kms_vrr@negative-basic.html
- shard-dg2-set2: [SKIP][183] ([Intel XE#455]) -> [PASS][184]
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_vrr@negative-basic.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_vrr@negative-basic.html
* igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap:
- shard-dg2-set2: [SKIP][185] ([Intel XE#1392]) -> [PASS][186] +7 other tests pass
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-436/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
* igt@xe_pm@s4-vm-bind-prefetch:
- shard-adlp: [ABORT][187] ([Intel XE#1794]) -> [PASS][188]
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-adlp-9/igt@xe_pm@s4-vm-bind-prefetch.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-adlp-6/igt@xe_pm@s4-vm-bind-prefetch.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-lnl: [ABORT][189] ([Intel XE#1794]) -> [PASS][190]
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-lnl-2/igt@xe_pm@s4-vm-bind-unbind-all.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-lnl-4/igt@xe_pm@s4-vm-bind-unbind-all.html
#### Warnings ####
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-6:
- shard-dg2-set2: [SKIP][191] ([Intel XE#787]) -> [SKIP][192] ([Intel XE#455] / [Intel XE#787]) +10 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-436/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-6.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-6.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-d-hdmi-a-6:
- shard-dg2-set2: [SKIP][193] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][194] ([Intel XE#787]) +2 other tests skip
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-d-hdmi-a-6.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-d-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [INCOMPLETE][195] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124] / [Intel XE#4345]) -> [INCOMPLETE][196] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#4212] / [Intel XE#4522])
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-dg2-set2: [SKIP][197] ([Intel XE#4418]) -> [SKIP][198] ([Intel XE#4440])
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-436/igt@kms_cdclk@mode-transition-all-outputs.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_content_protection@legacy:
- shard-bmg: [FAIL][199] ([Intel XE#1178]) -> [SKIP][200] ([Intel XE#2341])
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-3/igt@kms_content_protection@legacy.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@srm:
- shard-bmg: [SKIP][201] ([Intel XE#2341]) -> [FAIL][202] ([Intel XE#1178])
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_content_protection@srm.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-6/igt@kms_content_protection@srm.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt:
- shard-bmg: [SKIP][203] ([Intel XE#2311]) -> [SKIP][204] ([Intel XE#2312]) +9 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][205] ([Intel XE#2312]) -> [SKIP][206] ([Intel XE#2311]) +15 other tests skip
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][207] ([Intel XE#4141]) -> [SKIP][208] ([Intel XE#2312]) +5 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
- shard-bmg: [SKIP][209] ([Intel XE#2312]) -> [SKIP][210] ([Intel XE#4141]) +5 other tests skip
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-pgflip-blt:
- shard-dg2-set2: [SKIP][211] ([Intel XE#651]) -> [SKIP][212] ([Intel XE#656]) +11 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-pgflip-blt.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2-set2: [SKIP][213] ([Intel XE#656]) -> [SKIP][214] ([Intel XE#651]) +4 other tests skip
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move:
- shard-bmg: [SKIP][215] ([Intel XE#2313]) -> [SKIP][216] ([Intel XE#2312]) +7 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
- shard-bmg: [SKIP][217] ([Intel XE#2312]) -> [SKIP][218] ([Intel XE#2313]) +17 other tests skip
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
- shard-dg2-set2: [SKIP][219] ([Intel XE#653]) -> [SKIP][220] ([Intel XE#656]) +14 other tests skip
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-render:
- shard-dg2-set2: [SKIP][221] ([Intel XE#656]) -> [SKIP][222] ([Intel XE#653]) +6 other tests skip
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-render.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-render.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][223] ([Intel XE#2426]) -> [SKIP][224] ([Intel XE#2509])
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2931-457049ad31ee5b64dd86230518144d366c32bc04/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1128
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1470]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1470
[Intel XE#1475]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1475
[Intel XE#1477]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1477
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1504
[Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#2550]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2550
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
[Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3767]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3767
[Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
[Intel XE#3889]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3889
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
[Intel XE#4328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4328
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
[Intel XE#4418]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4418
[Intel XE#4440]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4440
[Intel XE#4488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4488
[Intel XE#4502]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4502
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4541
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4564]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4564
[Intel XE#4577]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4577
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4624]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4624
[Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
[Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#873]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/873
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* Linux: xe-2931-457049ad31ee5b64dd86230518144d366c32bc04 -> xe-pw-146541v3
IGT_8313: 8313
xe-2931-457049ad31ee5b64dd86230518144d366c32bc04: 457049ad31ee5b64dd86230518144d366c32bc04
xe-pw-146541v3: 146541v3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-146541v3/index.html
[-- Attachment #2: Type: text/html, Size: 75701 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
2025-04-10 17:50 ` Cavitt, Jonathan
@ 2025-04-10 22:20 ` Dong, Zhanjun
2025-04-10 22:29 ` Cavitt, Jonathan
0 siblings, 1 reply; 26+ messages in thread
From: Dong, Zhanjun @ 2025-04-10 22:20 UTC (permalink / raw)
To: Cavitt, Jonathan, intel-xe@lists.freedesktop.org,
Wajdeczko, Michal
Thanks for take time to review.
Please see my inline comments below.
Regards,
Zhanjun Dong
On 2025-04-10 1:50 p.m., Cavitt, Jonathan wrote:
> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Zhanjun Dong
> Sent: Thursday, April 10, 2025 8:59 AM
> To: intel-xe@lists.freedesktop.org
> Cc: Dong, Zhanjun <zhanjun.dong@intel.com>
> Subject: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
>>
>> Add GuC LFD(Log Format Descriptors) related ABI definition.
>> Add GuC log init config(LIC) ABI definition.
>>
>> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
>
> This probably needs a second opinion, but I'm willing to tentatively
> provide my RB for this patch. Just don't apply the series quite yet and
> wait for additional reviews.
>
> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
>
>> ---
>> drivers/gpu/drm/xe/abi/guc_log_abi.h | 116 ++++++++++
>> drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h | 265 +++++++++++++++++++++++
>> 2 files changed, 381 insertions(+)
>> create mode 100644 drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>>
>> diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h
>> index 554630b7ccd9..0b0c5631da93 100644
>> --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h
>> +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h
>> @@ -17,6 +17,122 @@ enum guc_log_buffer_type {
>>
>> #define GUC_LOG_BUFFER_TYPE_MAX 3
>>
>> +#define GUC_LOG_BUFFER_STATE_HEADER_LENGTH 4096
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG 0
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH 1
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CAPTURE 2
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT 3
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT 4
>> +
>> +#define GUC_LOG_INIT_CONFIG_LIC_MAGIC 0x8086900D
>> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR 0x0001
>> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR 0x0000
>> +
>> +/** Log Init Config KLV IDs. */
>> +enum guc_log_lic_type_t {
>> + /**
>> + * GuC firmware version. Value is a 32 bit number represented by
>> + * guc_sw_version_t.
>> + */
>> + GUC_LOG_LIC_TYPE_GUC_SW_VERSION = 0x1,
>> + /**
>> + * GuC device id. Value is a 32 bit. Refer BSpec symbol
>> + * GUC_DEVICEID
>> + */
>> + GUC_LOG_LIC_TYPE_GUC_DEVICE_ID = 0x2,
>> + /**
>> + * GuC timestamp counter frequency. Value is a 32 bit number
>> + * representing frequency in kilohertz. This timestamp is utilized
>> + * in log entries, timer and for engine utilization tracking.
>> + */
>> + GUC_LOG_LIC_TYPE_TSC_FREQUENCY = 0x3,
>> + /**
>> + * HW GMD ID. Value is a 32 bit number representing graphics,
>> + * media and display HW architecture IDs.
>> + */
>> + GUC_LOG_LIC_TYPE_GMD_ID = 0x4,
>> + /** GuC build platform ID. Value is 32 bits. */
>> + GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID = 0x5,
>> +};
>> +
>> +#define GUC_LOG_LIC_TYPE_FIRST (GUC_LOG_LIC_TYPE_GUC_SW_VERSION)
>> +#define GUC_LOG_LIC_TYPE_LAST (GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID + 1)
>> +
>> +/** struct guc_klv_generic_t - KLV with multiple DWs in an array */
>> +struct guc_klv_generic_t {
>> + /** @length: Length in Dwords of data. */
>> + u16 length;
>> + /** @key: Key value */
>> + u16 key;
>> + /** @value: Value for this key */
>> + u32 value[] __counted_by(length);
>> +} __packed;
>> +
>> +/**
>> + * struct guc_sw_version_t - This structure describes the full version of
>> + * a software component.
>> + */
>> +struct guc_sw_version_t {
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>> + /* BR[7:0] Patch version */
>> + #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
>> + /* BR[15:8] Minor version */
>> + #define GUC_SW_VERSION_T_MINOR_VERSION GENMASK(15, 8)
>> + /* BR[23:16] Major version */
>> + #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
>> + /* BR[31:24] Branch ID */
>> + #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
>
> Non-blocking:
> Perhaps we should split the dw0 into the 4 components
> it's comprised of? Say:
> """
> #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
> #define GUC_SW_VERSION_T_MINIOR_VERSION GENMASK(15,8)
> #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
> #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
> struct guc_sw_version_t {
> /** @patch_version: Patch version */
> u8 patch_version;
> /** @minor_version: Minor version */
> u8 minor_version;
> /** @major_version: Major version */
> u8 major_version;
> /** @branch_id: branch ID */
> u8 branch_id;
> } __packed;
> """
> Or is that not possible due to some architectural reason?
Yes, for big and little endian, the byte order is reversed, that's why
Mattew suggest to swtich from bit field to bitmask to get it works for
both endian mode.>
> Same logic above applies to guc_lic_format_version_t, guc_logfile_lfd_t, and
> guc_logfile_fmt_ver_t below.>
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lic_format_version_t - Log Init Config Structure Version.
>> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
>> + * than 1.12)
>> + */
>> +struct guc_lic_format_version_t {
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>> + /*
>> + * BR[15:0] Log-Init-Config structure minor version. Must be
>> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR
>> + */
>> + #define GUC_LIC_FORMAT_VERSION_T_MINOR_VERSION GENMASK(15, 0)
>> + /*
>> + * BR[31:16] Log-Init-Config structure major version. Must be
>> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR
>> + */
>> + #define GUC_LIC_FORMAT_VERSION_T_MAJOR_VERSION GENMASK(31, 16)
>> +} __packed;
>> +
>> +/**
>> + * struct guc_log_init_config_t - GuC Log-Init-Config structure.
>> + * This is populated by the GUC at log init time and is located in the log
>> + * buffer as per the Log Buffer Layout (In Memory). The array of guc log
>> + * buffer states plus this structure must not exceed 4KB
>> + */
>> +struct guc_log_init_config_t {
>> + /**
>> + * @lic_magic: A magic number set by GuC to identify that this
>> + * structure contains valid information: lic_magic = 0x8086900D.
>> + * Used to verify the information in this structure is valid.
>> + */
>> + u32 lic_magic;
>> + /**
>> + * @lic_ver: The version of the this structure. Detail description
>> + * is guc_lic_format_version_t
>> + */
>> + struct guc_lic_format_version_t lic_ver;
>> + /** @lic_dw_size: Number of Dws the `lic_data` array contains. */
>> + u32 lic_dw_size;
>> + /**
>> + * @lic_data: Array of dwords representing a list of LIC KLVs of
>> + * type guc_klv_generic_t with keys represented by
>> + * guc_log_lic_type_t
>> + */
>> + u32 lic_data[] __counted_by(desc_dw_size);
>> +} __packed;
>> +
>> /**
>> * struct guc_log_buffer_state - GuC log buffer state
>> *
>> diff --git a/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>> new file mode 100644
>> index 000000000000..b4002f099fd5
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>> @@ -0,0 +1,265 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright (c) 2025 Intel Corporation
>> + */
>> +
>> +#ifndef _ABI_GUC_LOG_LFD_ABI_H_
>> +#define _ABI_GUC_LOG_LFD_ABI_H_
>> +
>> +#include <linux/types.h>
>> +
>> +#include "abi/guc_log_abi.h"
>> +
>> +/* Magic keys define */
>> +#define LFD_DRIVER_KEY_STREAMING 0x8086AAAA474C5346
>> +#define LFD_LOG_BUFFER_MARKER_2 0xDEADFEED
>> +#define LFD_CRASH_DUMP_BUFFER_MARKER_2 0x8086DEAD
>
> Non-blocking:
> These two magic keys should probably be aligned with the other keys below,
> but I'm willing to concede that they may be out of alignment because of my
> choice in mail viewer and not because they're also out of alignment in the
> code itself.
You are right, it is aligned in code.
>
>> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_2 0xBEEFFEED
>> +#define LFD_LOG_BUFFER_MARKER_1V2 0xCABBA9E6
>> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_1V2 0xCABBA9F7
>> +
>> +#define GUC_LOGFILE_LFD_MAGIC upper_16_bits(LFD_CRASH_DUMP_BUFFER_MARKER_2)
>> +
>> +/** The current major version of GuC-Log-File format. */
>> +#define GUC_LOG_FILE_FORMAT_VERSION_MAJOR 0x0001
>> +/** The current minor version of GuC-Log-File format. */
>> +#define GUC_LOG_FILE_FORMAT_VERSION_MINOR 0x0000
>> +
>> +/** Log format descriptor type */
>> +enum guc_lfd_type_t {
>> + /** Start of range for required LFDs from GuC */
>> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_START = 0x1,
>> + /**
>> + * GuC Firmware Version structure. LFDs payload is
>> + * guc_lfd_data_fw_version_t
>> + */
>> + GUC_LFD_TYPE_FW_VERSION = 0x1,
>
> Non-blocking:
> Enum values don't generally repeat themselves. You might
> want to convert this into a series of defines, instead of trying
> to fit this into an enum list.
>
> Same with guc_lfd_os_type to a lesser extent, as well as all the
> other enums in this patch.
This ABI header is generated from GuC interface spec, the spec is
designed for single platform, so some part might not followes typical
tradition for Linux.
Due to cross-platform support, I would leave it as is for easy to find
macro/enum in code vs spec.>
>> + /**
>> + * GuC microcontroller device ID. LFDs payload is
>> + * guc_lfd_data_guc_devid_t
>> + */
>> + GUC_LFD_TYPE_GUC_DEVICE_ID = 0x2,
>> + /**
>> + * Frequency of GuC timestamps. LFDs payload is
>> + * guc_lfd_data_tsc_freq_t
>> + */
>> + GUC_LFD_TYPE_TSC_FREQUENCY = 0x3,
>> + /** HW GMD ID. LFDs payload is guc_lfd_data_gmdid_t */
>> + GUC_LFD_TYPE_GMD_ID = 0x4,
>> + /**
>> + * GuC build platform ID. LFDs payload is
>> + * guc_lfd_data_build_platformid_t
>> + */
>> + GUC_LFD_TYPE_BUILD_PLATFORM_ID = 0x5,
>> + /** End of this range */
>> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_END = 0x1FFF,
>> + /** Start of range for required LFDs from GuC */
>> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_START = 0x2000,
>> + /**
>> + * Log-event-entries buffer. LFDs payload is
>> + * guc_lfd_data_log_events_buf_t
>> + */
>> + GUC_LFD_TYPE_LOG_EVENTS_BUFFER = 0x2000,
>> + /**
>> + * GuC generated crash-dump blob. LFDs payload is
>> + * guc_lfd_data_fw_crashdump_t
>> + */
>> + GUC_LFD_TYPE_FW_CRASH_DUMP = 0x2001,
>> + /** End of this range */
>> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_END = 0x3FFF,
>> + /** Start of range for required KMD LFDs */
>> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_START = 0x4000,
>> + /**
>> + * An identifier for the OS. LFDs payload is guc_lfd_data_os_id_t
>> + */
>> + GUC_LFD_TYPE_OS_ID = 0x4000,
>> + /** End of this range */
>> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_END = 0x5FFF,
>> + /** Start of range for optional KMD LFDs */
>> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_START = 0x6000,
>> + /**
>> + * Binary representation of GuC log-events schema. LFDs TLV
>> + * payload is guc_lfd_data_binary_schema_t
>> + */
>> + GUC_LFD_TYPE_BINARY_SCHEMA_FORMAT = 0x6000,
>> + /**
>> + * ASCII string containing comments from the host/KMD. LFDs TLV
>> + * payload is guc_lfd_data_host_comment_t
>> + */
>> + GUC_LFD_TYPE_HOST_COMMENT = 0x6001,
>> + /** End of this range */
>> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_END = 0x7FFF,
>> + /** Start of reserved range */
>> + GUC_LFD_TYPE_RESERVED_RANGE_START = 0x8000,
>> + /** End of this range */
>> + GUC_LFD_TYPE_RESERVED_RANGE_END = 0xFFFF,
>> +};
>> +
>> +/** OS Type LFD-ID */
>> +enum guc_lfd_os_type_t {
>> + /** Windows OS */
>> + GUC_LFD_OS_TYPE_OSID_WIN = 0x1,
>> + /** Linux OS */
>> + GUC_LFD_OS_TYPE_OSID_LIN = 0x2,
>> + /** VMWare OS */
>> + GUC_LFD_OS_TYPE_OSID_VMW = 0x3,
>> + /** Other */
>> + GUC_LFD_OS_TYPE_OSID_OTHER = 0x4,
>> +};
>
> All of the above defines and enums should probably be a part
> of a separate xe/reg file. Say, xe_guc_log_lfd_desc.h?
This OS type enum is part of the GuC interface spec.>
> Though I'd recommend getting a second opinion on this, as I
> just recall it being a requirement for something I was working
> on earlier. Though it might be a different case?
I didn't find similar defines (same os/value pair) from code right now.
Let me know if you found something.>
> @Wajdeczko, Michal might be a better authority on this.
>
> -Jonathan Cavitt
>
>> +
>> +/**
>> + * struct guc_logfile_lfd_t - Log format descriptor (LFD).
>> + * A type of KLV with custom field-sizes + magic numbers.
>> + */
>> +struct guc_logfile_lfd_t {
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>> + /*
>> + * BR[15:0] Expected value: 0x8086. Helpful in detecting file
>> + * errors.
>> + */
>> + #define GUC_LOGFILE_LFD_T_MAGIC GENMASK(15, 0)
>> + /*
>> + * BR[31:16] File descriptor type (the 'T' in TLV) is used to
>> + * identify how to interpret `data` below. For the range of types,
>> + * see guc_lfd_type_t
>> + */
>> + #define GUC_LOGFILE_LFD_T_DESC_TYPE GENMASK(31, 16)
>> + /** @desc_dw_size: Number of dwords the `data` field contains. */
>> + u32 desc_dw_size;
>> + /** @data: Data defined by File descriptor type. */
>> + u32 data[] __counted_by(desc_dw_size);
>> +} __packed;
>> +
>> +/**
>> + * struct guc_logfile_fmt_ver_t - GuC Log File Format Version.
>> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
>> + * than 1.12)
>> + */
>> +struct guc_logfile_fmt_ver_t {
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>> + /*
>> + * BR[15:0] Guc-Log-File Format minor version. Must be
>> + * GUC_LOG_FILE_FORMAT_VERSION_MINOR
>> + */
>> + #define GUC_LOGFILE_FMT_VER_T_MINOR_VERSION GENMASK(15, 0)
>> + /*
>> + * BR[31:16] Guc-Log-File Format major version. Must be
>> + * GUC_LOG_FILE_FORMAT_VERSION_MAJOR
>> + */
>> + #define GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION GENMASK(31, 16)
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_guc_devid_t - GuC Device ID.
>> + * This is mandatory fw LFD data
>> + */
>> +struct guc_lfd_data_guc_devid_t {
>> + /**
>> + * @guc_devid: GuC microcontroller device ID defined as described
>> + * in GUC_LOG_LIC_TYPE_GUC_DEVICE_ID
>> + */
>> + u32 guc_devid;
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_tsc_freq_t - GuC TSC Fequency.
>> + * This is mandatory fw LFD data
>> + */
>> +struct guc_lfd_data_tsc_freq_t {
>> + /**
>> + * @tsc_freq: GuC timestamp counter frequency as described in
>> + * GUC_LOG_LIC_TYPE_TSC_FREQUENCY
>> + */
>> + u32 tsc_freq;
>> +} __packed;
>> +
>> +/** struct guc_lfd_data_gmdid_t - GMD ID. */
>> +struct guc_lfd_data_gmdid_t {
>> + /** @gmd_id: GMD ID as described in GUC_LOG_LIC_TYPE_GMD_ID */
>> + u32 gmd_id;
>> +} __packed;
>> +
>> +/** struct guc_lfd_data_build_platformid_t - GuC build platform ID. */
>> +struct guc_lfd_data_build_platformid_t {
>> + /**
>> + * @platform_build_id: GuC build platform ID as described in
>> + * GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID
>> + */
>> + u32 platform_build_id;
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_log_events_buf_t - GuC Log Events Buffer.
>> + * This is optional fw LFD data
>> + */
>> +struct guc_lfd_data_log_events_buf_t {
>> + /**
>> + * @log_events_format_version: version of GuC log format of buffer
>> + */
>> + u32 log_events_format_version;
>> + /**
>> + * @log_format_buf: If `log_format_version` == 1, array of
>> + * guc_log_format_version_1_t. If `log_format_version` == 2, array
>> + * of guc_log_format_version_2_t. Dword size determined by
>> + * guc_logfile_lfd_t.`desc_dw_size` - 1
>> + */
>> + u32 log_format_buf[];
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_os_id_t - OS Version Information.
>> + * This is mandatory host LFD data
>> + */
>> +struct guc_lfd_data_os_id_t {
>> + /**
>> + * @os_id: enum values to identify the OS brand (1=Windows,
>> + * 2=Linux, etc..). See guc_lfd_os_type_t for the range of types
>> + */
>> + u32 os_id;
>> + /**
>> + * @build_version: ASCII string containing OS build version
>> + * information based on os_id. String is padded with null
>> + * characters to ensure its DWORD aligned. Dword size determined
>> + * by guc_logfile_lfd_t.`desc_dw_size` - 1
>> + */
>> + char build_version[];
>> +} __packed;
>> +
>> +/**
>> + * struct guc_logfile_t - GuC Log Streaming-LFD-File Format.
>> + * This structure encapsulates the layout of the guc-log-file format
>> + */
>> +struct guc_logfile_t {
>> + /**
>> + * @magic: A magic number set by producer of a GuC log file to
>> + * identify that file is a valid guc-log-file containing a stream
>> + * of LFDs: Expected value: 0x8086AAAA474C5346.
>> + */
>> + u64 magic;
>> + /**
>> + * @version: Version of this file format layout as per
>> + * guc_logfile_fmt_ver_t
>> + */
>> + struct guc_logfile_fmt_ver_t version;
>> + /**
>> + * @lfd_stream: A stream of one or more guc_logfile_lfd_t LFD data
>> + */
>> + struct guc_logfile_lfd_t lfd_stream;
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_fw_version_t - GuC FW Version.
>> + * This is mandatory fw LFD data
>> + */
>> +struct guc_lfd_data_fw_version_t {
>> + /**
>> + * @guc_sw_version: The full version of the GuC microkernel that
>> + * generated the logs as described in
>> + * GUC_LOG_LIC_TYPE_GUC_SW_VERSION.
>> + */
>> + struct guc_sw_version_t guc_sw_version;
>> +} __packed;
>> +
>> +#endif
>> --
>> 2.34.1
>>
>>
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
2025-04-10 22:20 ` Dong, Zhanjun
@ 2025-04-10 22:29 ` Cavitt, Jonathan
0 siblings, 0 replies; 26+ messages in thread
From: Cavitt, Jonathan @ 2025-04-10 22:29 UTC (permalink / raw)
To: Dong, Zhanjun, intel-xe@lists.freedesktop.org, Wajdeczko, Michal
Cc: Cavitt, Jonathan
-----Original Message-----
From: Dong, Zhanjun <zhanjun.dong@intel.com>
Sent: Thursday, April 10, 2025 3:20 PM
To: Cavitt, Jonathan <jonathan.cavitt@intel.com>; intel-xe@lists.freedesktop.org; Wajdeczko, Michal <Michal.Wajdeczko@intel.com>
Subject: Re: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
>
> Thanks for take time to review.
> Please see my inline comments below.
Yeah, those make sense. My Reviewed-by still stands, though I also still recommend getting
a second opinion on the last point, as I'm not the best authority on that kind of thing.
-Jonathan Cavitt
>
> Regards,
> Zhanjun Dong
>
> On 2025-04-10 1:50 p.m., Cavitt, Jonathan wrote:
> > -----Original Message-----
> > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Zhanjun Dong
> > Sent: Thursday, April 10, 2025 8:59 AM
> > To: intel-xe@lists.freedesktop.org
> > Cc: Dong, Zhanjun <zhanjun.dong@intel.com>
> > Subject: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
> >>
> >> Add GuC LFD(Log Format Descriptors) related ABI definition.
> >> Add GuC log init config(LIC) ABI definition.
> >>
> >> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
> >
> > This probably needs a second opinion, but I'm willing to tentatively
> > provide my RB for this patch. Just don't apply the series quite yet and
> > wait for additional reviews.
> >
> > Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> >
> >> ---
> >> drivers/gpu/drm/xe/abi/guc_log_abi.h | 116 ++++++++++
> >> drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h | 265 +++++++++++++++++++++++
> >> 2 files changed, 381 insertions(+)
> >> create mode 100644 drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
> >>
> >> diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h
> >> index 554630b7ccd9..0b0c5631da93 100644
> >> --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h
> >> +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h
> >> @@ -17,6 +17,122 @@ enum guc_log_buffer_type {
> >>
> >> #define GUC_LOG_BUFFER_TYPE_MAX 3
> >>
> >> +#define GUC_LOG_BUFFER_STATE_HEADER_LENGTH 4096
> >> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG 0
> >> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH 1
> >> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CAPTURE 2
> >> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT 3
> >> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT 4
> >> +
> >> +#define GUC_LOG_INIT_CONFIG_LIC_MAGIC 0x8086900D
> >> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR 0x0001
> >> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR 0x0000
> >> +
> >> +/** Log Init Config KLV IDs. */
> >> +enum guc_log_lic_type_t {
> >> + /**
> >> + * GuC firmware version. Value is a 32 bit number represented by
> >> + * guc_sw_version_t.
> >> + */
> >> + GUC_LOG_LIC_TYPE_GUC_SW_VERSION = 0x1,
> >> + /**
> >> + * GuC device id. Value is a 32 bit. Refer BSpec symbol
> >> + * GUC_DEVICEID
> >> + */
> >> + GUC_LOG_LIC_TYPE_GUC_DEVICE_ID = 0x2,
> >> + /**
> >> + * GuC timestamp counter frequency. Value is a 32 bit number
> >> + * representing frequency in kilohertz. This timestamp is utilized
> >> + * in log entries, timer and for engine utilization tracking.
> >> + */
> >> + GUC_LOG_LIC_TYPE_TSC_FREQUENCY = 0x3,
> >> + /**
> >> + * HW GMD ID. Value is a 32 bit number representing graphics,
> >> + * media and display HW architecture IDs.
> >> + */
> >> + GUC_LOG_LIC_TYPE_GMD_ID = 0x4,
> >> + /** GuC build platform ID. Value is 32 bits. */
> >> + GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID = 0x5,
> >> +};
> >> +
> >> +#define GUC_LOG_LIC_TYPE_FIRST (GUC_LOG_LIC_TYPE_GUC_SW_VERSION)
> >> +#define GUC_LOG_LIC_TYPE_LAST (GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID + 1)
> >> +
> >> +/** struct guc_klv_generic_t - KLV with multiple DWs in an array */
> >> +struct guc_klv_generic_t {
> >> + /** @length: Length in Dwords of data. */
> >> + u16 length;
> >> + /** @key: Key value */
> >> + u16 key;
> >> + /** @value: Value for this key */
> >> + u32 value[] __counted_by(length);
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_sw_version_t - This structure describes the full version of
> >> + * a software component.
> >> + */
> >> +struct guc_sw_version_t {
> >> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> >> + u32 dw0;
> >> + /* BR[7:0] Patch version */
> >> + #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
> >> + /* BR[15:8] Minor version */
> >> + #define GUC_SW_VERSION_T_MINOR_VERSION GENMASK(15, 8)
> >> + /* BR[23:16] Major version */
> >> + #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
> >> + /* BR[31:24] Branch ID */
> >> + #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
> >
> > Non-blocking:
> > Perhaps we should split the dw0 into the 4 components
> > it's comprised of? Say:
> > """
> > #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
> > #define GUC_SW_VERSION_T_MINIOR_VERSION GENMASK(15,8)
> > #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
> > #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
> > struct guc_sw_version_t {
> > /** @patch_version: Patch version */
> > u8 patch_version;
> > /** @minor_version: Minor version */
> > u8 minor_version;
> > /** @major_version: Major version */
> > u8 major_version;
> > /** @branch_id: branch ID */
> > u8 branch_id;
> > } __packed;
> > """
> > Or is that not possible due to some architectural reason?
> Yes, for big and little endian, the byte order is reversed, that's why
> Mattew suggest to swtich from bit field to bitmask to get it works for
> both endian mode.>
> > Same logic above applies to guc_lic_format_version_t, guc_logfile_lfd_t, and
> > guc_logfile_fmt_ver_t below.>
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_lic_format_version_t - Log Init Config Structure Version.
> >> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
> >> + * than 1.12)
> >> + */
> >> +struct guc_lic_format_version_t {
> >> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> >> + u32 dw0;
> >> + /*
> >> + * BR[15:0] Log-Init-Config structure minor version. Must be
> >> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR
> >> + */
> >> + #define GUC_LIC_FORMAT_VERSION_T_MINOR_VERSION GENMASK(15, 0)
> >> + /*
> >> + * BR[31:16] Log-Init-Config structure major version. Must be
> >> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR
> >> + */
> >> + #define GUC_LIC_FORMAT_VERSION_T_MAJOR_VERSION GENMASK(31, 16)
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_log_init_config_t - GuC Log-Init-Config structure.
> >> + * This is populated by the GUC at log init time and is located in the log
> >> + * buffer as per the Log Buffer Layout (In Memory). The array of guc log
> >> + * buffer states plus this structure must not exceed 4KB
> >> + */
> >> +struct guc_log_init_config_t {
> >> + /**
> >> + * @lic_magic: A magic number set by GuC to identify that this
> >> + * structure contains valid information: lic_magic = 0x8086900D.
> >> + * Used to verify the information in this structure is valid.
> >> + */
> >> + u32 lic_magic;
> >> + /**
> >> + * @lic_ver: The version of the this structure. Detail description
> >> + * is guc_lic_format_version_t
> >> + */
> >> + struct guc_lic_format_version_t lic_ver;
> >> + /** @lic_dw_size: Number of Dws the `lic_data` array contains. */
> >> + u32 lic_dw_size;
> >> + /**
> >> + * @lic_data: Array of dwords representing a list of LIC KLVs of
> >> + * type guc_klv_generic_t with keys represented by
> >> + * guc_log_lic_type_t
> >> + */
> >> + u32 lic_data[] __counted_by(desc_dw_size);
> >> +} __packed;
> >> +
> >> /**
> >> * struct guc_log_buffer_state - GuC log buffer state
> >> *
> >> diff --git a/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
> >> new file mode 100644
> >> index 000000000000..b4002f099fd5
> >> --- /dev/null
> >> +++ b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
> >> @@ -0,0 +1,265 @@
> >> +/* SPDX-License-Identifier: MIT */
> >> +/*
> >> + * Copyright (c) 2025 Intel Corporation
> >> + */
> >> +
> >> +#ifndef _ABI_GUC_LOG_LFD_ABI_H_
> >> +#define _ABI_GUC_LOG_LFD_ABI_H_
> >> +
> >> +#include <linux/types.h>
> >> +
> >> +#include "abi/guc_log_abi.h"
> >> +
> >> +/* Magic keys define */
> >> +#define LFD_DRIVER_KEY_STREAMING 0x8086AAAA474C5346
> >> +#define LFD_LOG_BUFFER_MARKER_2 0xDEADFEED
> >> +#define LFD_CRASH_DUMP_BUFFER_MARKER_2 0x8086DEAD
> >
> > Non-blocking:
> > These two magic keys should probably be aligned with the other keys below,
> > but I'm willing to concede that they may be out of alignment because of my
> > choice in mail viewer and not because they're also out of alignment in the
> > code itself.
> You are right, it is aligned in code.
>
> >
> >> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_2 0xBEEFFEED
> >> +#define LFD_LOG_BUFFER_MARKER_1V2 0xCABBA9E6
> >> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_1V2 0xCABBA9F7
> >> +
> >> +#define GUC_LOGFILE_LFD_MAGIC upper_16_bits(LFD_CRASH_DUMP_BUFFER_MARKER_2)
> >> +
> >> +/** The current major version of GuC-Log-File format. */
> >> +#define GUC_LOG_FILE_FORMAT_VERSION_MAJOR 0x0001
> >> +/** The current minor version of GuC-Log-File format. */
> >> +#define GUC_LOG_FILE_FORMAT_VERSION_MINOR 0x0000
> >> +
> >> +/** Log format descriptor type */
> >> +enum guc_lfd_type_t {
> >> + /** Start of range for required LFDs from GuC */
> >> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_START = 0x1,
> >> + /**
> >> + * GuC Firmware Version structure. LFDs payload is
> >> + * guc_lfd_data_fw_version_t
> >> + */
> >> + GUC_LFD_TYPE_FW_VERSION = 0x1,
> >
> > Non-blocking:
> > Enum values don't generally repeat themselves. You might
> > want to convert this into a series of defines, instead of trying
> > to fit this into an enum list.
> >
> > Same with guc_lfd_os_type to a lesser extent, as well as all the
> > other enums in this patch.
> This ABI header is generated from GuC interface spec, the spec is
> designed for single platform, so some part might not followes typical
> tradition for Linux.
> Due to cross-platform support, I would leave it as is for easy to find
> macro/enum in code vs spec.>
> >> + /**
> >> + * GuC microcontroller device ID. LFDs payload is
> >> + * guc_lfd_data_guc_devid_t
> >> + */
> >> + GUC_LFD_TYPE_GUC_DEVICE_ID = 0x2,
> >> + /**
> >> + * Frequency of GuC timestamps. LFDs payload is
> >> + * guc_lfd_data_tsc_freq_t
> >> + */
> >> + GUC_LFD_TYPE_TSC_FREQUENCY = 0x3,
> >> + /** HW GMD ID. LFDs payload is guc_lfd_data_gmdid_t */
> >> + GUC_LFD_TYPE_GMD_ID = 0x4,
> >> + /**
> >> + * GuC build platform ID. LFDs payload is
> >> + * guc_lfd_data_build_platformid_t
> >> + */
> >> + GUC_LFD_TYPE_BUILD_PLATFORM_ID = 0x5,
> >> + /** End of this range */
> >> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_END = 0x1FFF,
> >> + /** Start of range for required LFDs from GuC */
> >> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_START = 0x2000,
> >> + /**
> >> + * Log-event-entries buffer. LFDs payload is
> >> + * guc_lfd_data_log_events_buf_t
> >> + */
> >> + GUC_LFD_TYPE_LOG_EVENTS_BUFFER = 0x2000,
> >> + /**
> >> + * GuC generated crash-dump blob. LFDs payload is
> >> + * guc_lfd_data_fw_crashdump_t
> >> + */
> >> + GUC_LFD_TYPE_FW_CRASH_DUMP = 0x2001,
> >> + /** End of this range */
> >> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_END = 0x3FFF,
> >> + /** Start of range for required KMD LFDs */
> >> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_START = 0x4000,
> >> + /**
> >> + * An identifier for the OS. LFDs payload is guc_lfd_data_os_id_t
> >> + */
> >> + GUC_LFD_TYPE_OS_ID = 0x4000,
> >> + /** End of this range */
> >> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_END = 0x5FFF,
> >> + /** Start of range for optional KMD LFDs */
> >> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_START = 0x6000,
> >> + /**
> >> + * Binary representation of GuC log-events schema. LFDs TLV
> >> + * payload is guc_lfd_data_binary_schema_t
> >> + */
> >> + GUC_LFD_TYPE_BINARY_SCHEMA_FORMAT = 0x6000,
> >> + /**
> >> + * ASCII string containing comments from the host/KMD. LFDs TLV
> >> + * payload is guc_lfd_data_host_comment_t
> >> + */
> >> + GUC_LFD_TYPE_HOST_COMMENT = 0x6001,
> >> + /** End of this range */
> >> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_END = 0x7FFF,
> >> + /** Start of reserved range */
> >> + GUC_LFD_TYPE_RESERVED_RANGE_START = 0x8000,
> >> + /** End of this range */
> >> + GUC_LFD_TYPE_RESERVED_RANGE_END = 0xFFFF,
> >> +};
> >> +
> >> +/** OS Type LFD-ID */
> >> +enum guc_lfd_os_type_t {
> >> + /** Windows OS */
> >> + GUC_LFD_OS_TYPE_OSID_WIN = 0x1,
> >> + /** Linux OS */
> >> + GUC_LFD_OS_TYPE_OSID_LIN = 0x2,
> >> + /** VMWare OS */
> >> + GUC_LFD_OS_TYPE_OSID_VMW = 0x3,
> >> + /** Other */
> >> + GUC_LFD_OS_TYPE_OSID_OTHER = 0x4,
> >> +};
> >
> > All of the above defines and enums should probably be a part
> > of a separate xe/reg file. Say, xe_guc_log_lfd_desc.h?
> This OS type enum is part of the GuC interface spec.>
> > Though I'd recommend getting a second opinion on this, as I
> > just recall it being a requirement for something I was working
> > on earlier. Though it might be a different case?
> I didn't find similar defines (same os/value pair) from code right now.
> Let me know if you found something.>
> > @Wajdeczko, Michal might be a better authority on this.
> >
> > -Jonathan Cavitt
> >
> >> +
> >> +/**
> >> + * struct guc_logfile_lfd_t - Log format descriptor (LFD).
> >> + * A type of KLV with custom field-sizes + magic numbers.
> >> + */
> >> +struct guc_logfile_lfd_t {
> >> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> >> + u32 dw0;
> >> + /*
> >> + * BR[15:0] Expected value: 0x8086. Helpful in detecting file
> >> + * errors.
> >> + */
> >> + #define GUC_LOGFILE_LFD_T_MAGIC GENMASK(15, 0)
> >> + /*
> >> + * BR[31:16] File descriptor type (the 'T' in TLV) is used to
> >> + * identify how to interpret `data` below. For the range of types,
> >> + * see guc_lfd_type_t
> >> + */
> >> + #define GUC_LOGFILE_LFD_T_DESC_TYPE GENMASK(31, 16)
> >> + /** @desc_dw_size: Number of dwords the `data` field contains. */
> >> + u32 desc_dw_size;
> >> + /** @data: Data defined by File descriptor type. */
> >> + u32 data[] __counted_by(desc_dw_size);
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_logfile_fmt_ver_t - GuC Log File Format Version.
> >> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
> >> + * than 1.12)
> >> + */
> >> +struct guc_logfile_fmt_ver_t {
> >> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> >> + u32 dw0;
> >> + /*
> >> + * BR[15:0] Guc-Log-File Format minor version. Must be
> >> + * GUC_LOG_FILE_FORMAT_VERSION_MINOR
> >> + */
> >> + #define GUC_LOGFILE_FMT_VER_T_MINOR_VERSION GENMASK(15, 0)
> >> + /*
> >> + * BR[31:16] Guc-Log-File Format major version. Must be
> >> + * GUC_LOG_FILE_FORMAT_VERSION_MAJOR
> >> + */
> >> + #define GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION GENMASK(31, 16)
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_lfd_data_guc_devid_t - GuC Device ID.
> >> + * This is mandatory fw LFD data
> >> + */
> >> +struct guc_lfd_data_guc_devid_t {
> >> + /**
> >> + * @guc_devid: GuC microcontroller device ID defined as described
> >> + * in GUC_LOG_LIC_TYPE_GUC_DEVICE_ID
> >> + */
> >> + u32 guc_devid;
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_lfd_data_tsc_freq_t - GuC TSC Fequency.
> >> + * This is mandatory fw LFD data
> >> + */
> >> +struct guc_lfd_data_tsc_freq_t {
> >> + /**
> >> + * @tsc_freq: GuC timestamp counter frequency as described in
> >> + * GUC_LOG_LIC_TYPE_TSC_FREQUENCY
> >> + */
> >> + u32 tsc_freq;
> >> +} __packed;
> >> +
> >> +/** struct guc_lfd_data_gmdid_t - GMD ID. */
> >> +struct guc_lfd_data_gmdid_t {
> >> + /** @gmd_id: GMD ID as described in GUC_LOG_LIC_TYPE_GMD_ID */
> >> + u32 gmd_id;
> >> +} __packed;
> >> +
> >> +/** struct guc_lfd_data_build_platformid_t - GuC build platform ID. */
> >> +struct guc_lfd_data_build_platformid_t {
> >> + /**
> >> + * @platform_build_id: GuC build platform ID as described in
> >> + * GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID
> >> + */
> >> + u32 platform_build_id;
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_lfd_data_log_events_buf_t - GuC Log Events Buffer.
> >> + * This is optional fw LFD data
> >> + */
> >> +struct guc_lfd_data_log_events_buf_t {
> >> + /**
> >> + * @log_events_format_version: version of GuC log format of buffer
> >> + */
> >> + u32 log_events_format_version;
> >> + /**
> >> + * @log_format_buf: If `log_format_version` == 1, array of
> >> + * guc_log_format_version_1_t. If `log_format_version` == 2, array
> >> + * of guc_log_format_version_2_t. Dword size determined by
> >> + * guc_logfile_lfd_t.`desc_dw_size` - 1
> >> + */
> >> + u32 log_format_buf[];
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_lfd_data_os_id_t - OS Version Information.
> >> + * This is mandatory host LFD data
> >> + */
> >> +struct guc_lfd_data_os_id_t {
> >> + /**
> >> + * @os_id: enum values to identify the OS brand (1=Windows,
> >> + * 2=Linux, etc..). See guc_lfd_os_type_t for the range of types
> >> + */
> >> + u32 os_id;
> >> + /**
> >> + * @build_version: ASCII string containing OS build version
> >> + * information based on os_id. String is padded with null
> >> + * characters to ensure its DWORD aligned. Dword size determined
> >> + * by guc_logfile_lfd_t.`desc_dw_size` - 1
> >> + */
> >> + char build_version[];
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_logfile_t - GuC Log Streaming-LFD-File Format.
> >> + * This structure encapsulates the layout of the guc-log-file format
> >> + */
> >> +struct guc_logfile_t {
> >> + /**
> >> + * @magic: A magic number set by producer of a GuC log file to
> >> + * identify that file is a valid guc-log-file containing a stream
> >> + * of LFDs: Expected value: 0x8086AAAA474C5346.
> >> + */
> >> + u64 magic;
> >> + /**
> >> + * @version: Version of this file format layout as per
> >> + * guc_logfile_fmt_ver_t
> >> + */
> >> + struct guc_logfile_fmt_ver_t version;
> >> + /**
> >> + * @lfd_stream: A stream of one or more guc_logfile_lfd_t LFD data
> >> + */
> >> + struct guc_logfile_lfd_t lfd_stream;
> >> +} __packed;
> >> +
> >> +/**
> >> + * struct guc_lfd_data_fw_version_t - GuC FW Version.
> >> + * This is mandatory fw LFD data
> >> + */
> >> +struct guc_lfd_data_fw_version_t {
> >> + /**
> >> + * @guc_sw_version: The full version of the GuC microkernel that
> >> + * generated the logs as described in
> >> + * GUC_LOG_LIC_TYPE_GUC_SW_VERSION.
> >> + */
> >> + struct guc_sw_version_t guc_sw_version;
> >> +} __packed;
> >> +
> >> +#endif
> >> --
> >> 2.34.1
> >>
> >>
>
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output
2025-04-10 17:50 ` Cavitt, Jonathan
@ 2025-04-10 22:45 ` Dong, Zhanjun
0 siblings, 0 replies; 26+ messages in thread
From: Dong, Zhanjun @ 2025-04-10 22:45 UTC (permalink / raw)
To: Cavitt, Jonathan, intel-xe@lists.freedesktop.org
Thanks for take time to review.
Please see my inline comments below.
Regards,
Zhanjun Dong
On 2025-04-10 1:50 p.m., Cavitt, Jonathan wrote:
> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Zhanjun Dong
> Sent: Thursday, April 10, 2025 8:59 AM
> To: intel-xe@lists.freedesktop.org
> Cc: Dong, Zhanjun <zhanjun.dong@intel.com>
> Subject: [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output
>>
>> Add new debugfs entry "guc_log_lfd", prepared for output guc log
>> in LFD(Log Format Descriptors) format.
>>
>> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
>
> Some non-blockers below, but otherwise:
> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
>
>> ---
>> drivers/gpu/drm/xe/xe_guc_debugfs.c | 14 ++++++++++++
>> drivers/gpu/drm/xe/xe_guc_log.c | 34 +++++++++++++++++++++++++++++
>> drivers/gpu/drm/xe/xe_guc_log.h | 1 +
>> 3 files changed, 49 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_guc_debugfs.c b/drivers/gpu/drm/xe/xe_guc_debugfs.c
>> index c569ff456e74..6449c9a69b8a 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_debugfs.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_debugfs.c
>> @@ -48,6 +48,19 @@ static int guc_log(struct seq_file *m, void *data)
>> return 0;
>> }
>>
>> +static int guc_log_lfd(struct seq_file *m, void *data)
>> +{
>> + struct xe_guc *guc = node_to_guc(m->private);
>> + struct xe_device *xe = guc_to_xe(guc);
>> + struct drm_printer p = drm_seq_file_printer(m);
>> +
>> + xe_pm_runtime_get(xe);
>> + xe_guc_log_print_lfd(&guc->log, &p);
>> + xe_pm_runtime_put(xe);
>> +
>> + return 0;
>> +}
>> +
>> static int guc_log_dmesg(struct seq_file *m, void *data)
>> {
>> struct xe_guc *guc = node_to_guc(m->private);
>> @@ -89,6 +102,7 @@ static int guc_pc(struct seq_file *m, void *data)
>> static const struct drm_info_list debugfs_list[] = {
>> {"guc_info", guc_info, 0},
>> {"guc_log", guc_log, 0},
>> + {"guc_log_lfd", guc_log_lfd, 0},
>> {"guc_log_dmesg", guc_log_dmesg, 0},
>> {"guc_ctb", guc_ctb, 0},
>> {"guc_pc", guc_pc, 0},
>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
>> index 38039c411387..df849a0ee7e5 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_log.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
>> @@ -216,6 +216,26 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
>> }
>> }
>>
>> +static void
>> +xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
>> + struct xe_guc_log *log)
>> +{
>> + size_t remain;
>> + int i;
>> +
>> + if (!snapshot)
>> + return;
>> +
>> + remain = snapshot->size;
>> + for (i = 0; i < snapshot->num_chunks; i++) {
>> + size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
>> +
>> + /* To be add: Output snapshot in LFD format */
>
> Non-blocking:
> Debatably, one of the following two things should be done:
>
> 1) Squash this patch and the next patch together.
>
> 2) Swap the order of this patch and the next patch, such that patch
> 2 adds all the functionality needed for this function to operate, and
> patch 3 implements static int guc_log_lfd and void xe_guc_log_print_lfd.
From the previous version review comments, Matthew suggest to split
into more smaller patches to make it easy to review. Right now, patch 3
is already 400 lines.
For 2) I wonder it might trigger:
error: ‘foo’ defined but not used [-Werror=unused-function]
May be keep it as is?
>
>> +
>> + remain -= size;
>> + }
>> +}
>> +
>> /**
>> * xe_guc_log_print_dmesg - dump a copy of the GuC log to dmesg
>> * @log: GuC log structure
>> @@ -251,6 +271,20 @@ void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p)
>> xe_guc_log_snapshot_free(snapshot);
>> }
>>
>> +/**
>> + * xe_guc_log_print_lfd - dump a copy of the GuC log to some useful location
>
> Non-blocking:
> It's a bit weird that specifying the log is being printed "to some useful location"
> is the standard for this file, when this doesn't appear to be the case outside of
> xe_guc_log.c. I wonder if it's because we have xe_guc_log_print_dmesg that
> has to specify it's printing to dmesg?>
> -Jonathan Cavitt
Agree, we already have xe_guc_log_print_dmesg print to dmesg, new
xe_guc_log_print_lfd behaviors same as xe_guc_log_print to debugfs output.
>
>> + * @log: GuC log structure
>> + * @p: the printer object to output to
>> + */
>> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p)
>> +{
>> + struct xe_guc_log_snapshot *snapshot;
>> +
>> + snapshot = xe_guc_log_snapshot_capture(log, false);
>> + xe_guc_log_snapshot_print_lfd(snapshot, p, log);
>> + xe_guc_log_snapshot_free(snapshot);
>> +}
>> +
>> int xe_guc_log_init(struct xe_guc_log *log)
>> {
>> struct xe_device *xe = log_to_xe(log);
>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h
>> index 5b896f5fafaf..37ff4d11e6cf 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_log.h
>> +++ b/drivers/gpu/drm/xe/xe_guc_log.h
>> @@ -40,6 +40,7 @@ struct xe_device;
>>
>> int xe_guc_log_init(struct xe_guc_log *log);
>> void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p);
>> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p);
>> void xe_guc_log_print_dmesg(struct xe_guc_log *log);
>> struct xe_guc_log_snapshot *xe_guc_log_snapshot_capture(struct xe_guc_log *log, bool atomic);
>> void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p);
>> --
>> 2.34.1
>>
>>
A
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
2025-04-10 15:58 ` [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions Zhanjun Dong
2025-04-10 17:50 ` Cavitt, Jonathan
@ 2025-04-11 15:28 ` Michal Wajdeczko
2025-04-11 21:58 ` Dong, Zhanjun
1 sibling, 1 reply; 26+ messages in thread
From: Michal Wajdeczko @ 2025-04-11 15:28 UTC (permalink / raw)
To: Zhanjun Dong, intel-xe, Matthew Brost
On 10.04.2025 17:58, Zhanjun Dong wrote:
> Add GuC LFD(Log Format Descriptors) related ABI definition.
Add GuC LFD (Log Format Descriptors) related ABI definitions.
and IMO due to a size this deserves a separate patch.
> Add GuC log init config(LIC) ABI definition.
Add GuC Log Init Config (LIC) ABI definitions.
>
> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
> ---
> drivers/gpu/drm/xe/abi/guc_log_abi.h | 116 ++++++++++
> drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h | 265 +++++++++++++++++++++++
> 2 files changed, 381 insertions(+)
> create mode 100644 drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>
> diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h
> index 554630b7ccd9..0b0c5631da93 100644
> --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h
> +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h
> @@ -17,6 +17,122 @@ enum guc_log_buffer_type {
>
> #define GUC_LOG_BUFFER_TYPE_MAX 3
>
> +#define GUC_LOG_BUFFER_STATE_HEADER_LENGTH 4096
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG 0
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH 1
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CAPTURE 2
what's the relation of above #defs to enum guc_log_buffer_type, that
seems to be have similar enumerators
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT 3
> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT 4
> +
all below definitions seems to be about LIC and since LIC concept seems
to be less connected with the legacy struct guc_log_buffer_state then
maybe create separate guc_log_lic_abi.h file?
> +#define GUC_LOG_INIT_CONFIG_LIC_MAGIC 0x8086900D
> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR 0x0001
> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR 0x0000
> +
> +/** Log Init Config KLV IDs. */
this is not proper kernel-doc format
> +enum guc_log_lic_type_t {
please drop "_t" suffix
> + /**
> + * GuC firmware version. Value is a 32 bit number represented by
> + * guc_sw_version_t.
> + */
> + GUC_LOG_LIC_TYPE_GUC_SW_VERSION = 0x1,
> + /**
> + * GuC device id. Value is a 32 bit. Refer BSpec symbol
> + * GUC_DEVICEID
> + */
> + GUC_LOG_LIC_TYPE_GUC_DEVICE_ID = 0x2,
> + /**
> + * GuC timestamp counter frequency. Value is a 32 bit number
> + * representing frequency in kilohertz. This timestamp is utilized
> + * in log entries, timer and for engine utilization tracking.
> + */
> + GUC_LOG_LIC_TYPE_TSC_FREQUENCY = 0x3,
> + /**
> + * HW GMD ID. Value is a 32 bit number representing graphics,
> + * media and display HW architecture IDs.
> + */
> + GUC_LOG_LIC_TYPE_GMD_ID = 0x4,
> + /** GuC build platform ID. Value is 32 bits. */
> + GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID = 0x5,
well, none of above comments are proper kernel-doc, please fix
> +};
> +
> +#define GUC_LOG_LIC_TYPE_FIRST (GUC_LOG_LIC_TYPE_GUC_SW_VERSION)
> +#define GUC_LOG_LIC_TYPE_LAST (GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID + 1)
> +
> +/** struct guc_klv_generic_t - KLV with multiple DWs in an array */
> +struct guc_klv_generic_t {
> + /** @length: Length in Dwords of data. */
> + u16 length;
> + /** @key: Key value */
> + u16 key;
previously there were comments that due to different endianess we
shouldn't define struct in this way, what has changed?
> + /** @value: Value for this key */
> + u32 value[] __counted_by(length);
> +} __packed;
this looks like existing `GuC KLV`_ definition
shouldn't be moved there (if it's the same and really needed)
> +
> +/**
> + * struct guc_sw_version_t - This structure describes the full version of
> + * a software component.
> + */
> +struct guc_sw_version_t {
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
> + /* BR[7:0] Patch version */
> + #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
> + /* BR[15:8] Minor version */
> + #define GUC_SW_VERSION_T_MINOR_VERSION GENMASK(15, 8)
> + /* BR[23:16] Major version */
> + #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
> + /* BR[31:24] Branch ID */
> + #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
> +} __packed;
> +
> +/**
> + * struct guc_lic_format_version_t - Log Init Config Structure Version.
> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
> + * than 1.12)
> + */
> +struct guc_lic_format_version_t {
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
> + /*
> + * BR[15:0] Log-Init-Config structure minor version. Must be
> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR
> + */
> + #define GUC_LIC_FORMAT_VERSION_T_MINOR_VERSION GENMASK(15, 0)
> + /*
> + * BR[31:16] Log-Init-Config structure major version. Must be
> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR
> + */
> + #define GUC_LIC_FORMAT_VERSION_T_MAJOR_VERSION GENMASK(31, 16)
> +} __packed;
> +
> +/**
> + * struct guc_log_init_config_t - GuC Log-Init-Config structure.
> + * This is populated by the GUC at log init time and is located in the log
> + * buffer as per the Log Buffer Layout (In Memory). The array of guc log
> + * buffer states plus this structure must not exceed 4KB
> + */
> +struct guc_log_init_config_t {
> + /**
> + * @lic_magic: A magic number set by GuC to identify that this
> + * structure contains valid information: lic_magic = 0x8086900D.
> + * Used to verify the information in this structure is valid.
> + */
> + u32 lic_magic;
why do we have "lic_" prefix everywhere here?
this *is* a LIC struct, no point to repeat that
> + /**
> + * @lic_ver: The version of the this structure. Detail description
> + * is guc_lic_format_version_t
> + */
> + struct guc_lic_format_version_t lic_ver;
> + /** @lic_dw_size: Number of Dws the `lic_data` array contains. */
> + u32 lic_dw_size;
> + /**
> + * @lic_data: Array of dwords representing a list of LIC KLVs of
> + * type guc_klv_generic_t with keys represented by
> + * guc_log_lic_type_t
> + */
> + u32 lic_data[] __counted_by(desc_dw_size);
> +} __packed;
> +
> /**
> * struct guc_log_buffer_state - GuC log buffer state
> *
> diff --git a/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
> new file mode 100644
> index 000000000000..b4002f099fd5
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
> @@ -0,0 +1,265 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#ifndef _ABI_GUC_LOG_LFD_ABI_H_
> +#define _ABI_GUC_LOG_LFD_ABI_H_
> +
> +#include <linux/types.h>
> +
> +#include "abi/guc_log_abi.h"
> +
> +/* Magic keys define */
> +#define LFD_DRIVER_KEY_STREAMING 0x8086AAAA474C5346
> +#define LFD_LOG_BUFFER_MARKER_2 0xDEADFEED
> +#define LFD_CRASH_DUMP_BUFFER_MARKER_2 0x8086DEAD
> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_2 0xBEEFFEED
> +#define LFD_LOG_BUFFER_MARKER_1V2 0xCABBA9E6
> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_1V2 0xCABBA9F7
> +
> +#define GUC_LOGFILE_LFD_MAGIC upper_16_bits(LFD_CRASH_DUMP_BUFFER_MARKER_2)
upper_16_bits() requires #include <linux/wordpart.h>
but maybe we can avoid that by doing:
#define GUC_LOGFILE_LFD_MAGIC 0x8086
> +
> +/** The current major version of GuC-Log-File format. */
> +#define GUC_LOG_FILE_FORMAT_VERSION_MAJOR 0x0001
> +/** The current minor version of GuC-Log-File format. */
> +#define GUC_LOG_FILE_FORMAT_VERSION_MINOR 0x0000
> +
almost all kernel-doc (above/below) seem to be broken
> +/** Log format descriptor type */
> +enum guc_lfd_type_t {
> + /** Start of range for required LFDs from GuC */
> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_START = 0x1,
> + /**
> + * GuC Firmware Version structure. LFDs payload is
> + * guc_lfd_data_fw_version_t
> + */
> + GUC_LFD_TYPE_FW_VERSION = 0x1,
> + /**
> + * GuC microcontroller device ID. LFDs payload is
> + * guc_lfd_data_guc_devid_t
> + */
> + GUC_LFD_TYPE_GUC_DEVICE_ID = 0x2,
> + /**
> + * Frequency of GuC timestamps. LFDs payload is
> + * guc_lfd_data_tsc_freq_t
> + */
> + GUC_LFD_TYPE_TSC_FREQUENCY = 0x3,
> + /** HW GMD ID. LFDs payload is guc_lfd_data_gmdid_t */
> + GUC_LFD_TYPE_GMD_ID = 0x4,
> + /**
> + * GuC build platform ID. LFDs payload is
> + * guc_lfd_data_build_platformid_t
> + */
> + GUC_LFD_TYPE_BUILD_PLATFORM_ID = 0x5,
> + /** End of this range */
> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_END = 0x1FFF,
> + /** Start of range for required LFDs from GuC */
> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_START = 0x2000,
> + /**
> + * Log-event-entries buffer. LFDs payload is
> + * guc_lfd_data_log_events_buf_t
> + */
> + GUC_LFD_TYPE_LOG_EVENTS_BUFFER = 0x2000,
> + /**
> + * GuC generated crash-dump blob. LFDs payload is
> + * guc_lfd_data_fw_crashdump_t
> + */
> + GUC_LFD_TYPE_FW_CRASH_DUMP = 0x2001,
> + /** End of this range */
> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_END = 0x3FFF,
> + /** Start of range for required KMD LFDs */
> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_START = 0x4000,
> + /**
> + * An identifier for the OS. LFDs payload is guc_lfd_data_os_id_t
> + */
> + GUC_LFD_TYPE_OS_ID = 0x4000,
> + /** End of this range */
> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_END = 0x5FFF,
> + /** Start of range for optional KMD LFDs */
> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_START = 0x6000,
> + /**
> + * Binary representation of GuC log-events schema. LFDs TLV
> + * payload is guc_lfd_data_binary_schema_t
> + */
> + GUC_LFD_TYPE_BINARY_SCHEMA_FORMAT = 0x6000,
> + /**
> + * ASCII string containing comments from the host/KMD. LFDs TLV
> + * payload is guc_lfd_data_host_comment_t
> + */
> + GUC_LFD_TYPE_HOST_COMMENT = 0x6001,
> + /** End of this range */
> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_END = 0x7FFF,
> + /** Start of reserved range */
> + GUC_LFD_TYPE_RESERVED_RANGE_START = 0x8000,
> + /** End of this range */
> + GUC_LFD_TYPE_RESERVED_RANGE_END = 0xFFFF,
> +};
> +
> +/** OS Type LFD-ID */
> +enum guc_lfd_os_type_t {
> + /** Windows OS */
> + GUC_LFD_OS_TYPE_OSID_WIN = 0x1,
> + /** Linux OS */
> + GUC_LFD_OS_TYPE_OSID_LIN = 0x2,
> + /** VMWare OS */
> + GUC_LFD_OS_TYPE_OSID_VMW = 0x3,
> + /** Other */
> + GUC_LFD_OS_TYPE_OSID_OTHER = 0x4,
> +};
> +
> +/**
> + * struct guc_logfile_lfd_t - Log format descriptor (LFD).
> + * A type of KLV with custom field-sizes + magic numbers.
> + */
> +struct guc_logfile_lfd_t {
better name for this would be
struct guc_lfd_header
as later we have specific:
struct guc_lfd_data_xxx
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
usually we *do not* align member names with tabs
> + /*
> + * BR[15:0] Expected value: 0x8086. Helpful in detecting file
> + * errors.
> + */
> + #define GUC_LOGFILE_LFD_T_MAGIC GENMASK(15, 0)
> + /*
> + * BR[31:16] File descriptor type (the 'T' in TLV) is used to
> + * identify how to interpret `data` below. For the range of types,
> + * see guc_lfd_type_t
> + */
> + #define GUC_LOGFILE_LFD_T_DESC_TYPE GENMASK(31, 16)
> + /** @desc_dw_size: Number of dwords the `data` field contains. */
> + u32 desc_dw_size;
> + /** @data: Data defined by File descriptor type. */
> + u32 data[] __counted_by(desc_dw_size);
> +} __packed;
> +
> +/**
> + * struct guc_logfile_fmt_ver_t - GuC Log File Format Version.
> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
> + * than 1.12)
> + */
> +struct guc_logfile_fmt_ver_t {
> + /** @dw0: A 32 bits dword, contains multiple bit fields */
> + u32 dw0;
> + /*
> + * BR[15:0] Guc-Log-File Format minor version. Must be
> + * GUC_LOG_FILE_FORMAT_VERSION_MINOR
> + */
> + #define GUC_LOGFILE_FMT_VER_T_MINOR_VERSION GENMASK(15, 0)
> + /*
> + * BR[31:16] Guc-Log-File Format major version. Must be
> + * GUC_LOG_FILE_FORMAT_VERSION_MAJOR
> + */
> + #define GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION GENMASK(31, 16)
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_guc_devid_t - GuC Device ID.
> + * This is mandatory fw LFD data
> + */
> +struct guc_lfd_data_guc_devid_t {
> + /**
> + * @guc_devid: GuC microcontroller device ID defined as described
> + * in GUC_LOG_LIC_TYPE_GUC_DEVICE_ID
> + */
> + u32 guc_devid;
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_tsc_freq_t - GuC TSC Fequency.
> + * This is mandatory fw LFD data
> + */
> +struct guc_lfd_data_tsc_freq_t {
> + /**
> + * @tsc_freq: GuC timestamp counter frequency as described in
> + * GUC_LOG_LIC_TYPE_TSC_FREQUENCY
> + */
> + u32 tsc_freq;
> +} __packed;
> +
> +/** struct guc_lfd_data_gmdid_t - GMD ID. */
> +struct guc_lfd_data_gmdid_t {
> + /** @gmd_id: GMD ID as described in GUC_LOG_LIC_TYPE_GMD_ID */
> + u32 gmd_id;
> +} __packed;
> +
> +/** struct guc_lfd_data_build_platformid_t - GuC build platform ID. */
> +struct guc_lfd_data_build_platformid_t {
> + /**
> + * @platform_build_id: GuC build platform ID as described in
> + * GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID
> + */
> + u32 platform_build_id;
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_log_events_buf_t - GuC Log Events Buffer.
> + * This is optional fw LFD data
> + */
> +struct guc_lfd_data_log_events_buf_t {
> + /**
> + * @log_events_format_version: version of GuC log format of buffer
> + */
> + u32 log_events_format_version;
> + /**
> + * @log_format_buf: If `log_format_version` == 1, array of
> + * guc_log_format_version_1_t. If `log_format_version` == 2, array
> + * of guc_log_format_version_2_t. Dword size determined by
> + * guc_logfile_lfd_t.`desc_dw_size` - 1
> + */
> + u32 log_format_buf[];
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_os_id_t - OS Version Information.
> + * This is mandatory host LFD data
> + */
> +struct guc_lfd_data_os_id_t {
> + /**
> + * @os_id: enum values to identify the OS brand (1=Windows,
> + * 2=Linux, etc..). See guc_lfd_os_type_t for the range of types
> + */
> + u32 os_id;
> + /**
> + * @build_version: ASCII string containing OS build version
> + * information based on os_id. String is padded with null
> + * characters to ensure its DWORD aligned. Dword size determined
> + * by guc_logfile_lfd_t.`desc_dw_size` - 1
> + */
> + char build_version[];
> +} __packed;
> +
> +/**
> + * struct guc_logfile_t - GuC Log Streaming-LFD-File Format.
> + * This structure encapsulates the layout of the guc-log-file format
> + */
> +struct guc_logfile_t {
this should be the last definition, see below
and why its name does not have "LFD" tag?
> + /**
> + * @magic: A magic number set by producer of a GuC log file to
> + * identify that file is a valid guc-log-file containing a stream
> + * of LFDs: Expected value: 0x8086AAAA474C5346.
> + */
> + u64 magic;
> + /**
> + * @version: Version of this file format layout as per
> + * guc_logfile_fmt_ver_t
> + */
> + struct guc_logfile_fmt_ver_t version;
> + /**
> + * @lfd_stream: A stream of one or more guc_logfile_lfd_t LFD data
> + */
> + struct guc_logfile_lfd_t lfd_stream;
maybe this should be just
u32 stream[];
> +} __packed;
> +
> +/**
> + * struct guc_lfd_data_fw_version_t - GuC FW Version.
> + * This is mandatory fw LFD data
> + */
> +struct guc_lfd_data_fw_version_t {
shouldn't this struct be defined _before_ the guc_logfile_t ?
> + /**
> + * @guc_sw_version: The full version of the GuC microkernel that
> + * generated the logs as described in
> + * GUC_LOG_LIC_TYPE_GUC_SW_VERSION.
> + */
> + struct guc_sw_version_t guc_sw_version;
> +} __packed;
> +
> +#endif
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output
2025-04-10 15:58 ` [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output Zhanjun Dong
2025-04-10 17:50 ` Cavitt, Jonathan
@ 2025-04-11 15:34 ` Michal Wajdeczko
2025-04-11 22:40 ` Dong, Zhanjun
1 sibling, 1 reply; 26+ messages in thread
From: Michal Wajdeczko @ 2025-04-11 15:34 UTC (permalink / raw)
To: Zhanjun Dong, intel-xe
On 10.04.2025 17:58, Zhanjun Dong wrote:
> Add new debugfs entry "guc_log_lfd", prepared for output guc log
> in LFD(Log Format Descriptors) format.
>
> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc_debugfs.c | 14 ++++++++++++
> drivers/gpu/drm/xe/xe_guc_log.c | 34 +++++++++++++++++++++++++++++
> drivers/gpu/drm/xe/xe_guc_log.h | 1 +
> 3 files changed, 49 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_debugfs.c b/drivers/gpu/drm/xe/xe_guc_debugfs.c
> index c569ff456e74..6449c9a69b8a 100644
> --- a/drivers/gpu/drm/xe/xe_guc_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_guc_debugfs.c
> @@ -48,6 +48,19 @@ static int guc_log(struct seq_file *m, void *data)
> return 0;
> }
>
> +static int guc_log_lfd(struct seq_file *m, void *data)
this needs to be rebased due to commit e15826bb3c2c ("drm/xe/guc:
Refactor GuC debugfs initialization")
and placed in the pf_only[]
> +{
> + struct xe_guc *guc = node_to_guc(m->private);
> + struct xe_device *xe = guc_to_xe(guc);
> + struct drm_printer p = drm_seq_file_printer(m);
> +
> + xe_pm_runtime_get(xe);
> + xe_guc_log_print_lfd(&guc->log, &p);
> + xe_pm_runtime_put(xe);
> +
> + return 0;
> +}
> +
> static int guc_log_dmesg(struct seq_file *m, void *data)
> {
> struct xe_guc *guc = node_to_guc(m->private);
> @@ -89,6 +102,7 @@ static int guc_pc(struct seq_file *m, void *data)
> static const struct drm_info_list debugfs_list[] = {
> {"guc_info", guc_info, 0},
> {"guc_log", guc_log, 0},
> + {"guc_log_lfd", guc_log_lfd, 0},
> {"guc_log_dmesg", guc_log_dmesg, 0},
> {"guc_ctb", guc_ctb, 0},
> {"guc_pc", guc_pc, 0},
> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
> index 38039c411387..df849a0ee7e5 100644
> --- a/drivers/gpu/drm/xe/xe_guc_log.c
> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
> @@ -216,6 +216,26 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
> }
> }
>
> +static void
> +xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
> + struct xe_guc_log *log)
> +{
> + size_t remain;
> + int i;
> +
> + if (!snapshot)
> + return;
> +
> + remain = snapshot->size;
> + for (i = 0; i < snapshot->num_chunks; i++) {
> + size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
> +
> + /* To be add: Output snapshot in LFD format */
what's the point in adding debugfs entry without implementation?
add required function(s) and only *then* extend debugfs
> +
> + remain -= size;
> + }
> +}
> +
> /**
> * xe_guc_log_print_dmesg - dump a copy of the GuC log to dmesg
> * @log: GuC log structure
> @@ -251,6 +271,20 @@ void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p)
> xe_guc_log_snapshot_free(snapshot);
> }
>
> +/**
> + * xe_guc_log_print_lfd - dump a copy of the GuC log to some useful location
s/to some useful location/to the drm_printer
> + * @log: GuC log structure
> + * @p: the printer object to output to
> + */
> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p)
> +{
> + struct xe_guc_log_snapshot *snapshot;
> +
> + snapshot = xe_guc_log_snapshot_capture(log, false);
> + xe_guc_log_snapshot_print_lfd(snapshot, p, log);
> + xe_guc_log_snapshot_free(snapshot);
> +}
> +
> int xe_guc_log_init(struct xe_guc_log *log)
> {
> struct xe_device *xe = log_to_xe(log);
> diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h
> index 5b896f5fafaf..37ff4d11e6cf 100644
> --- a/drivers/gpu/drm/xe/xe_guc_log.h
> +++ b/drivers/gpu/drm/xe/xe_guc_log.h
> @@ -40,6 +40,7 @@ struct xe_device;
>
> int xe_guc_log_init(struct xe_guc_log *log);
> void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p);
> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p);
> void xe_guc_log_print_dmesg(struct xe_guc_log *log);
> struct xe_guc_log_snapshot *xe_guc_log_snapshot_capture(struct xe_guc_log *log, bool atomic);
> void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p);
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support
2025-04-10 15:58 ` [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support Zhanjun Dong
2025-04-10 17:52 ` Cavitt, Jonathan
@ 2025-04-11 16:14 ` Michal Wajdeczko
2025-04-11 22:58 ` Dong, Zhanjun
1 sibling, 1 reply; 26+ messages in thread
From: Michal Wajdeczko @ 2025-04-11 16:14 UTC (permalink / raw)
To: Zhanjun Dong, intel-xe
On 10.04.2025 17:58, Zhanjun Dong wrote:
> Add support to output GuC log in LFD format.
>
> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc_log.c | 344 +++++++++++++++++++++++++++++++-
> 1 file changed, 342 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
> index df849a0ee7e5..7cdf6bf238f3 100644
> --- a/drivers/gpu/drm/xe/xe_guc_log.c
> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
> @@ -7,8 +7,10 @@
>
> #include <linux/fault-inject.h>
>
> +#include <linux/utsname.h>
> #include <drm/drm_managed.h>
>
> +#include "abi/guc_log_lfd_abi.h"
> #include "regs/xe_guc_regs.h"
> #include "xe_bo.h"
> #include "xe_devcoredump.h"
> @@ -19,6 +21,57 @@
> #include "xe_mmio.h"
> #include "xe_module.h"
>
> +static struct guc_log_buffer_entry_markers {
> + u32 key[2];
> +} const entry_markers[4] = {
> + {{
> + LFD_LOG_BUFFER_MARKER_1V2,
> + LFD_LOG_BUFFER_MARKER_2
> + }},
> + {{
> + LFD_LOG_BUFFER_MARKER_1V2,
> + LFD_CRASH_DUMP_BUFFER_MARKER_2
> + }},
> + {{
> + LFD_STATE_CAPTURE_BUFFER_MARKER_1V2,
> + LFD_STATE_CAPTURE_BUFFER_MARKER_2
> + }},
> + {{
> + GUC_LOG_INIT_CONFIG_LIC_MAGIC,
> + ((GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR << 16)
> + | GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR)
> + }}
> +};
> +
> +static struct guc_log_buffer_entry_list {
> + u32 offset;
> + u32 rd_ptr;
> + u32 wr_ptr;
> + u32 buf_size;
> +} entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT];
> +
> +static const struct guc_logfile_lfd_t default_guc_logfile_lfd = {
> + .dw0 = FIELD_PREP_CONST(GUC_LOGFILE_LFD_T_MAGIC, GUC_LOGFILE_LFD_MAGIC)
> +};
> +
> +static const struct guc_logfile_t default_guc_logfile = {
> + .magic = LFD_DRIVER_KEY_STREAMING,
> + .version.dw0 = FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MINOR_VERSION,
> + GUC_LOG_FILE_FORMAT_VERSION_MINOR) |
> + FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION,
> + GUC_LOG_FILE_FORMAT_VERSION_MAJOR)
> +};
> +
> +struct guc_log_init_config_save_t {
don't use _t suffix
> + /*
> + * Array of init config KLVs.
> + * Range from GUC_LOG_LIC_TYPE_FIRST to
> + * GUC_LOG_LIC_TYPE_LAST
> + */
> + u32 KLV[GUC_LOG_LIC_TYPE_LAST - GUC_LOG_LIC_TYPE_FIRST];
> + struct guc_log_buffer_state log_buf_state;
> +};
> +
> static struct xe_guc *
> log_to_guc(struct xe_guc_log *log)
> {
> @@ -216,21 +269,308 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
> }
> }
>
> +static int xe_guc_log_add_lfd_header(char *buf, int buf_size)
> +{
> + int len;
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t))
> + return -ENOMEM;
> +
> + len = sizeof(default_guc_logfile_lfd);
> + memcpy(buf, &default_guc_logfile_lfd, len);
> +
> + return len;
> +}
> +
> +static int xe_guc_log_add_payload(char *buf, int buf_size, u32 data_len, void *data)
data likely should be const void *
> +{
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
maybe declare buf as void* so you will not need to cast it everywhere
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
> + return -ENOMEM;
> +
> + /* make length DW aligned */
> + lfd->desc_dw_size = data_len / sizeof(u32);
DIV_ROUND_UP ?
> + if (data_len / sizeof(u32))
> + lfd->desc_dw_size++;
> +
> + if (lfd->data != data)
hmm, what is this for ?
> + memcpy(lfd->data, data, data_len);
> +
> + return lfd->desc_dw_size * 4;
> +}
> +
> +static int xe_guc_log_add_typed_payload(char *buf, int buf_size, u32 type,
> + u32 data_len, void *data)
> +{
> + int len;
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
> + return -ENOMEM;
that seems to be repeating/duplicating what's done in
xe_guc_log_add_lfd_header
and
xe_guc_log_add_payload
can't we rely on above checks?
> +
> + len = xe_guc_log_add_lfd_header(buf, buf_size);
> + lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, type);
shouldn't this be done by xe_guc_log_add_lfd_header() ?
> + len += xe_guc_log_add_payload(buf, buf_size, data_len, data);
> +
> + return len;
> +}
> +
> +static int xe_guc_log_add_os_id(char *buf, int buf_size, u32 id)
> +{
> + char *version;
> + int info_len;
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
> + struct guc_lfd_data_os_id_t *os_id = (struct guc_lfd_data_os_id_t *)lfd->data;
vars should be declared in reverse-xmas-tree order (if possible)
> +
> + os_id->os_id = id;
> +
> + version = init_utsname()->release;
> + info_len = strlen(version) + 1;
> +
> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + info_len)
> + return -ENOMEM;
> +
> + strscpy(os_id->build_version, version, info_len);
> +
> + return xe_guc_log_add_typed_payload(buf, buf_size, GUC_LFD_TYPE_OS_ID,
> + info_len + sizeof(*os_id), os_id);
> +}
> +
> +static int
> +xe_guc_log_add_log_event(char *buf, int buf_size, char *log_bin,
> + struct guc_log_init_config_save_t *config)
> +{
> + int len;
> + char *data;
> + u32 data_len;
> + struct guc_lfd_data_log_events_buf_t *events_buf;
> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
> + struct guc_log_buffer_entry_list *entry;
> +
> + entry = &entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG];
> +
> + /* Skip empty log */
> + if (entry->rd_ptr == entry->wr_ptr)
> + return 0;
> +
> + len = xe_guc_log_add_lfd_header(buf, buf_size);
> + if (len < 0)
> + return len;
> +
> + buf_size -= len;
> + lfd = (struct guc_logfile_lfd_t *)buf;
> +
> + lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, GUC_LFD_TYPE_LOG_EVENTS_BUFFER);
> + events_buf = (struct guc_lfd_data_log_events_buf_t *)&lfd->data;
> + events_buf->log_events_format_version = config->log_buf_state.version;
> +
> + data = log_bin + entry->offset + entry->rd_ptr;
> + if (entry->rd_ptr < entry->wr_ptr) {
> + data_len = entry->wr_ptr - entry->rd_ptr;
> + if (data_len <= buf_size) {
> + memcpy(events_buf->log_format_buf, data, data_len);
> + buf_size -= data_len;
> + } else {
> + return -ENOMEM;
> + }
> + } else {
> + int cp_len;
> +
> + /* Copy rd to buf end 1st */
> + data_len = entry->buf_size - entry->rd_ptr;
> + if (data_len <= buf_size) {
> + memcpy(events_buf->log_format_buf, data, data_len);
> + buf_size -= data_len;
> + } else {
> + return -ENOMEM;
> + }
> +
> + /* Copy buf start to wr */
> + data = &log_bin[entry->offset];
> + cp_len = entry->wr_ptr;
> + if (cp_len <= buf_size - cp_len)
> + memcpy(&events_buf->log_format_buf[data_len / sizeof(u32)], data, cp_len);
> + else
> + return -ENOMEM;
> + data_len += cp_len;
> + }
> +
> + /* make length DW aligned */
> + lfd->desc_dw_size = data_len / sizeof(u32);
> + if (data_len % sizeof(u32))
> + lfd->desc_dw_size++;
> +
> + /* Addup log_events_format_version size */
> + lfd->desc_dw_size++;
> +
> + return len + lfd->desc_dw_size * sizeof(u32);
> +}
> +
> +static inline int lic_type_to_KLV_index(u32 lic_type)
> +{
> + XE_WARN_ON(lic_type < GUC_LOG_LIC_TYPE_FIRST || lic_type >= GUC_LOG_LIC_TYPE_LAST);
> +
> + return lic_type - GUC_LOG_LIC_TYPE_FIRST;
> +}
> +
> +static int xe_guc_log_add_klv(char *buf, int size, u32 lic_type,
> + struct guc_log_init_config_save_t *config)
> +{
> + /* LFD type must matches LIC type */
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_FW_VERSION != (int)GUC_LOG_LIC_TYPE_GUC_SW_VERSION);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_GUC_DEVICE_ID != (int)GUC_LOG_LIC_TYPE_GUC_DEVICE_ID);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_TSC_FREQUENCY != (int)GUC_LOG_LIC_TYPE_TSC_FREQUENCY);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_GMD_ID != (int)GUC_LOG_LIC_TYPE_GMD_ID);
> + BUILD_BUG_ON((int)GUC_LFD_TYPE_BUILD_PLATFORM_ID !=
> + (int)GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID);
maybe this could be moved to abi headers, as it doesn't seem to be
related to the implementation itself (both sides are ABI defs)
> +
> + return xe_guc_log_add_typed_payload(buf, size, lic_type, sizeof(u32),
> + &config->KLV[lic_type_to_KLV_index(lic_type)]);
> +}
> +
> +static void xe_guc_log_loop_log_init(struct guc_log_init_config_t *init,
> + struct guc_log_init_config_save_t *config)
> +{
> + int i;
> + struct guc_klv_generic_t *p = (struct guc_klv_generic_t *)init->lic_data;
> +
> + for (i = 0; i < init->lic_dw_size;) {
> + if (p->key < GUC_LOG_LIC_TYPE_GUC_SW_VERSION || p->key >= GUC_LOG_LIC_TYPE_LAST)
> + break;
> + config->KLV[lic_type_to_KLV_index(p->key)] = p->value[0];
> + i += p->length + 1; /* +1DW to include kev(u16) and len(u16) */
> + p = (struct guc_klv_generic_t *)((u32 *)p + p->length + 1);
> + }
> +}
> +
> +static void xe_guc_log_load_log_buffer(u32 *guc_log, struct guc_log_init_config_save_t *config)
> +{
> + int i = 0;
> + u32 offset = GUC_LOG_BUFFER_STATE_HEADER_LENGTH;
> + struct guc_log_buffer_state *p = (struct guc_log_buffer_state *)guc_log;
> +
> + memset(entry_list, 0, sizeof(entry_list));
> + while (p) {
> + for (i = 0; i < GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT; i++) {
> + if (p->marker[0] == entry_markers[i].key[0] &&
> + p->marker[1] == entry_markers[i].key[1]) {
> + entry_list[i].offset = offset;
> + entry_list[i].rd_ptr = p->read_ptr;
> + entry_list[i].wr_ptr = p->write_ptr;
> + entry_list[i].buf_size = p->size;
you can't use/modify static entry_list[] as could be accessed by several
driver instances at the same time!
> +
> + if (i == GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG)
> + config->log_buf_state = *p;
> +
> + if (i != GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT) {
> + offset += p->size;
> + p++;
> + } else {
> + /* Load log init config */
> + xe_guc_log_loop_log_init((struct guc_log_init_config_t *)p,
> + config);
> +
> + /* Init config is the last */
> + return;
> + }
> + }
> + }
> + if (i >= GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT)
> + break;
> + }
> +}
> +
> +static int xe_guc_log_save_to_lfd_buf(char *buf, int size, u32 *guc_log_bin,
> + struct xe_guc_log *log,
> + struct guc_log_init_config_save_t *config)
> +{
> + int index = 0, len = 0;
> + char *char_bin = (char *)guc_log_bin;
> + struct guc_logfile_t *guc_logfile;
> +
> + if (size < sizeof(struct guc_logfile_t))
> + return -ENOMEM;
> +
> + guc_logfile = (struct guc_logfile_t *)buf;
> + *guc_logfile = default_guc_logfile;
> + index = offsetof(struct guc_logfile_t, lfd_stream);
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_FW_VERSION, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_GUC_DEVICE_ID, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_TSC_FREQUENCY, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_GMD_ID, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID,
> + config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_os_id(&buf[index], size - index, GUC_LFD_OS_TYPE_OSID_LIN);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + len = xe_guc_log_add_log_event(&buf[index], size - index, char_bin, config);
> + if (len < 0)
> + return len;
> + index += len;
> +
> + return index;
> +}
> +
> static void
> xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
> struct xe_guc_log *log)
> {
> size_t remain;
> int i;
> + struct guc_log_init_config_save_t init_config;
>
> if (!snapshot)
> return;
>
> remain = snapshot->size;
> + if (!remain)
> + return;
> +
> + drm_printf(p, "Kernel timestamp: 0x%08llX [%llu]\n", snapshot->ktime, snapshot->ktime);
> + drm_printf(p, "GuC timestamp: 0x%08llX [%llu]\n", snapshot->stamp, snapshot->stamp);
> + drm_printf(p, "Log level: %u\n", snapshot->level);
what's the point in printing above in clear text and encode rest of the
info in binary LFD printed as ascii85?
I would expect that lfd function prints lfd-only stuff
> +
> for (i = 0; i < snapshot->num_chunks; i++) {
> + int len = 0;
> size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
> -
> - /* To be add: Output snapshot in LFD format */
> + const char *prefix = i ? NULL : "[LOG].data";
> + char suffix = i == snapshot->num_chunks - 1 ? '\n' : 0;
> + char *lfd_buf = kzalloc(size, GFP_KERNEL);
> +
> + /* load from log bin */
> + xe_guc_log_load_log_buffer(snapshot->copy[i], &init_config);
> + /* Output to LFD format */
> + len = xe_guc_log_save_to_lfd_buf(lfd_buf, size, snapshot->copy[i], log,
> + &init_config);
> + if (len > 0)
> + xe_print_blob_ascii85(p, prefix, suffix, lfd_buf, 0, (size_t)len);
> +
> + kfree(lfd_buf);
> + XE_WARN_ON(len <= 0);
what's the value of this XE_WARN ?
>
> remain -= size;
> }
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions
2025-04-11 15:28 ` Michal Wajdeczko
@ 2025-04-11 21:58 ` Dong, Zhanjun
0 siblings, 0 replies; 26+ messages in thread
From: Dong, Zhanjun @ 2025-04-11 21:58 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe, Matthew Brost
Thanks for take time to review.
Please see my inline comments below.
Regards,
Zhanjun Dong
On 2025-04-11 11:28 a.m., Michal Wajdeczko wrote:
>
>
> On 10.04.2025 17:58, Zhanjun Dong wrote:
>> Add GuC LFD(Log Format Descriptors) related ABI definition.
>
> Add GuC LFD (Log Format Descriptors) related ABI definitions.
>
> and IMO due to a size this deserves a separate patch.
Sure, will do>
>> Add GuC log init config(LIC) ABI definition.
>
> Add GuC Log Init Config (LIC) ABI definitions.
>
>>
>> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
>> ---
>> drivers/gpu/drm/xe/abi/guc_log_abi.h | 116 ++++++++++
>> drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h | 265 +++++++++++++++++++++++
>> 2 files changed, 381 insertions(+)
>> create mode 100644 drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>>
>> diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h
>> index 554630b7ccd9..0b0c5631da93 100644
>> --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h
>> +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h
>> @@ -17,6 +17,122 @@ enum guc_log_buffer_type {
>>
>> #define GUC_LOG_BUFFER_TYPE_MAX 3
>>
>> +#define GUC_LOG_BUFFER_STATE_HEADER_LENGTH 4096
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG 0
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH 1
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CAPTURE 2
>
> what's the relation of above #defs to enum guc_log_buffer_type, that
> seems to be have similar enumerators
They are 2 different types:
log buffer types, which has 3 sub type:
GUC_LOG_BUFFER_CRASH_DUMP, // 0
GUC_LOG_BUFFER_DEBUG, // 1
GUC_LOG_BUFFER_CAPTURE, // 2
vs
LIC header entry types, which has more sub type:
#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG 0
#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH 1
#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CAPTURE 2
#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT 3
For example, the crash related defines:
GUC_LOG_BUFFER_CRASH_DUMP, // 0
vs
GUC_LOG_BUFFER_STATE_HEADER_ENTRY_CRASH // 1
Make them quiet different.
>
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT 3
>> +#define GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT 4
>> +
>
> all below definitions seems to be about LIC and since LIC concept seems
> to be less connected with the legacy struct guc_log_buffer_state then
> maybe create separate guc_log_lic_abi.h file?
Sounds reasonable to be a separated abi file>
>> +#define GUC_LOG_INIT_CONFIG_LIC_MAGIC 0x8086900D
>> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR 0x0001
>> +#define GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR 0x0000
>> +
>> +/** Log Init Config KLV IDs. */
>
> this is not proper kernel-doc format
>
>> +enum guc_log_lic_type_t {
>
> please drop "_t" suffix
>
>> + /**
>> + * GuC firmware version. Value is a 32 bit number represented by
>> + * guc_sw_version_t.
>> + */
>> + GUC_LOG_LIC_TYPE_GUC_SW_VERSION = 0x1,
>> + /**
>> + * GuC device id. Value is a 32 bit. Refer BSpec symbol
>> + * GUC_DEVICEID
>> + */
>> + GUC_LOG_LIC_TYPE_GUC_DEVICE_ID = 0x2,
>> + /**
>> + * GuC timestamp counter frequency. Value is a 32 bit number
>> + * representing frequency in kilohertz. This timestamp is utilized
>> + * in log entries, timer and for engine utilization tracking.
>> + */
>> + GUC_LOG_LIC_TYPE_TSC_FREQUENCY = 0x3,
>> + /**
>> + * HW GMD ID. Value is a 32 bit number representing graphics,
>> + * media and display HW architecture IDs.
>> + */
>> + GUC_LOG_LIC_TYPE_GMD_ID = 0x4,
>> + /** GuC build platform ID. Value is 32 bits. */
>> + GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID = 0x5,
>
> well, none of above comments are proper kernel-doc, please fix
Will fix it>
>> +};
>> +
>> +#define GUC_LOG_LIC_TYPE_FIRST (GUC_LOG_LIC_TYPE_GUC_SW_VERSION)
>> +#define GUC_LOG_LIC_TYPE_LAST (GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID + 1)
>> +
>> +/** struct guc_klv_generic_t - KLV with multiple DWs in an array */
>> +struct guc_klv_generic_t {
>> + /** @length: Length in Dwords of data. */
>> + u16 length;
>> + /** @key: Key value */
>> + u16 key;
>
> previously there were comments that due to different endianess we
> shouldn't define struct in this way, what has changed?
>
>> + /** @value: Value for this key */
>> + u32 value[] __counted_by(length);
>> +} __packed;
>
> this looks like existing `GuC KLV`_ definition
> shouldn't be moved there (if it's the same and really needed)
Good point, we already has guc_klvs_abi.h, this struct definition will
be removed.
>
>> +
>> +/**
>> + * struct guc_sw_version_t - This structure describes the full version of
>> + * a software component.
>> + */
>> +struct guc_sw_version_t {
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>> + /* BR[7:0] Patch version */
>> + #define GUC_SW_VERSION_T_PATCH_VERSION GENMASK(7, 0)
>> + /* BR[15:8] Minor version */
>> + #define GUC_SW_VERSION_T_MINOR_VERSION GENMASK(15, 8)
>> + /* BR[23:16] Major version */
>> + #define GUC_SW_VERSION_T_MAJOR_VERSION GENMASK(23, 16)
>> + /* BR[31:24] Branch ID */
>> + #define GUC_SW_VERSION_T_BRANCH_ID GENMASK(31, 24)
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lic_format_version_t - Log Init Config Structure Version.
>> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
>> + * than 1.12)
>> + */
>> +struct guc_lic_format_version_t {
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>> + /*
>> + * BR[15:0] Log-Init-Config structure minor version. Must be
>> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR
>> + */
>> + #define GUC_LIC_FORMAT_VERSION_T_MINOR_VERSION GENMASK(15, 0)
>> + /*
>> + * BR[31:16] Log-Init-Config structure major version. Must be
>> + * GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR
>> + */
>> + #define GUC_LIC_FORMAT_VERSION_T_MAJOR_VERSION GENMASK(31, 16)
>> +} __packed;
>> +
>> +/**
>> + * struct guc_log_init_config_t - GuC Log-Init-Config structure.
>> + * This is populated by the GUC at log init time and is located in the log
>> + * buffer as per the Log Buffer Layout (In Memory). The array of guc log
>> + * buffer states plus this structure must not exceed 4KB
>> + */
>> +struct guc_log_init_config_t {
>> + /**
>> + * @lic_magic: A magic number set by GuC to identify that this
>> + * structure contains valid information: lic_magic = 0x8086900D.
>> + * Used to verify the information in this structure is valid.
>> + */
>> + u32 lic_magic;
>
> why do we have "lic_" prefix everywhere here?
> this *is* a LIC struct, no point to repeat that
Sure, will remove it.>
>> + /**
>> + * @lic_ver: The version of the this structure. Detail description
>> + * is guc_lic_format_version_t
>> + */
>> + struct guc_lic_format_version_t lic_ver;
>> + /** @lic_dw_size: Number of Dws the `lic_data` array contains. */
>> + u32 lic_dw_size;
>> + /**
>> + * @lic_data: Array of dwords representing a list of LIC KLVs of
>> + * type guc_klv_generic_t with keys represented by
>> + * guc_log_lic_type_t
>> + */
>> + u32 lic_data[] __counted_by(desc_dw_size);
>> +} __packed;
>> +
>> /**
>> * struct guc_log_buffer_state - GuC log buffer state
>> *
>> diff --git a/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>> new file mode 100644
>> index 000000000000..b4002f099fd5
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/abi/guc_log_lfd_abi.h
>> @@ -0,0 +1,265 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#ifndef _ABI_GUC_LOG_LFD_ABI_H_
>> +#define _ABI_GUC_LOG_LFD_ABI_H_
>> +
>> +#include <linux/types.h>
>> +
>> +#include "abi/guc_log_abi.h"
>> +
>> +/* Magic keys define */
>> +#define LFD_DRIVER_KEY_STREAMING 0x8086AAAA474C5346
>> +#define LFD_LOG_BUFFER_MARKER_2 0xDEADFEED
>> +#define LFD_CRASH_DUMP_BUFFER_MARKER_2 0x8086DEAD
>> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_2 0xBEEFFEED
>> +#define LFD_LOG_BUFFER_MARKER_1V2 0xCABBA9E6
>> +#define LFD_STATE_CAPTURE_BUFFER_MARKER_1V2 0xCABBA9F7
>> +
>> +#define GUC_LOGFILE_LFD_MAGIC upper_16_bits(LFD_CRASH_DUMP_BUFFER_MARKER_2)
>
> upper_16_bits() requires #include <linux/wordpart.h>
> but maybe we can avoid that by doing:
>
> #define GUC_LOGFILE_LFD_MAGIC 0x8086
Sure, we always want to reduce header file dependency. Will do this way>
>> +
>> +/** The current major version of GuC-Log-File format. */
>> +#define GUC_LOG_FILE_FORMAT_VERSION_MAJOR 0x0001
>> +/** The current minor version of GuC-Log-File format. */
>> +#define GUC_LOG_FILE_FORMAT_VERSION_MINOR 0x0000
>> +
>
> almost all kernel-doc (above/below) seem to be broken
All above are constant macro defines, not Object-like macro or
function-like macro.
From
https://docs.kernel.org/doc-guide/kernel-doc.html#including-kernel-doc-comments
I didn't find any special descriptions for constant macro, if you think
the above brokes, could you share me with an URL for the style
description or examples in any existing source code?
>
>> +/** Log format descriptor type */
>> +enum guc_lfd_type_t {
>> + /** Start of range for required LFDs from GuC */
>> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_START = 0x1,
>> + /**
>> + * GuC Firmware Version structure. LFDs payload is
>> + * guc_lfd_data_fw_version_t
>> + */
>> + GUC_LFD_TYPE_FW_VERSION = 0x1,
>> + /**
>> + * GuC microcontroller device ID. LFDs payload is
>> + * guc_lfd_data_guc_devid_t
>> + */
>> + GUC_LFD_TYPE_GUC_DEVICE_ID = 0x2,
>> + /**
>> + * Frequency of GuC timestamps. LFDs payload is
>> + * guc_lfd_data_tsc_freq_t
>> + */
>> + GUC_LFD_TYPE_TSC_FREQUENCY = 0x3,
>> + /** HW GMD ID. LFDs payload is guc_lfd_data_gmdid_t */
>> + GUC_LFD_TYPE_GMD_ID = 0x4,
>> + /**
>> + * GuC build platform ID. LFDs payload is
>> + * guc_lfd_data_build_platformid_t
>> + */
>> + GUC_LFD_TYPE_BUILD_PLATFORM_ID = 0x5,
>> + /** End of this range */
>> + GUC_LFD_TYPE_FW_REQUIRED_RANGE_END = 0x1FFF,
>> + /** Start of range for required LFDs from GuC */
>> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_START = 0x2000,
>> + /**
>> + * Log-event-entries buffer. LFDs payload is
>> + * guc_lfd_data_log_events_buf_t
>> + */
>> + GUC_LFD_TYPE_LOG_EVENTS_BUFFER = 0x2000,
>> + /**
>> + * GuC generated crash-dump blob. LFDs payload is
>> + * guc_lfd_data_fw_crashdump_t
>> + */
>> + GUC_LFD_TYPE_FW_CRASH_DUMP = 0x2001,
>> + /** End of this range */
>> + GUC_LFD_TYPE_FW_OPTIONAL_RANGE_END = 0x3FFF,
>> + /** Start of range for required KMD LFDs */
>> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_START = 0x4000,
>> + /**
>> + * An identifier for the OS. LFDs payload is guc_lfd_data_os_id_t
>> + */
>> + GUC_LFD_TYPE_OS_ID = 0x4000,
>> + /** End of this range */
>> + GUC_LFD_TYPE_KMD_REQUIRED_RANGE_END = 0x5FFF,
>> + /** Start of range for optional KMD LFDs */
>> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_START = 0x6000,
>> + /**
>> + * Binary representation of GuC log-events schema. LFDs TLV
>> + * payload is guc_lfd_data_binary_schema_t
>> + */
>> + GUC_LFD_TYPE_BINARY_SCHEMA_FORMAT = 0x6000,
>> + /**
>> + * ASCII string containing comments from the host/KMD. LFDs TLV
>> + * payload is guc_lfd_data_host_comment_t
>> + */
>> + GUC_LFD_TYPE_HOST_COMMENT = 0x6001,
>> + /** End of this range */
>> + GUC_LFD_TYPE_KMD_OPTIONAL_RANGE_END = 0x7FFF,
>> + /** Start of reserved range */
>> + GUC_LFD_TYPE_RESERVED_RANGE_START = 0x8000,
>> + /** End of this range */
>> + GUC_LFD_TYPE_RESERVED_RANGE_END = 0xFFFF,
>> +};
>> +
>> +/** OS Type LFD-ID */
>> +enum guc_lfd_os_type_t {
>> + /** Windows OS */
>> + GUC_LFD_OS_TYPE_OSID_WIN = 0x1,
>> + /** Linux OS */
>> + GUC_LFD_OS_TYPE_OSID_LIN = 0x2,
>> + /** VMWare OS */
>> + GUC_LFD_OS_TYPE_OSID_VMW = 0x3,
>> + /** Other */
>> + GUC_LFD_OS_TYPE_OSID_OTHER = 0x4,
>> +};
>> +
>> +/**
>> + * struct guc_logfile_lfd_t - Log format descriptor (LFD).
>> + * A type of KLV with custom field-sizes + magic numbers.
>> + */
>> +struct guc_logfile_lfd_t {
>
> better name for this would be
>
> struct guc_lfd_header
>
> as later we have specific:
>
> struct guc_lfd_data_xxx
>
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>
> usually we *do not* align member names with tabs
Sure, will remove tabs>
>> + /*
>> + * BR[15:0] Expected value: 0x8086. Helpful in detecting file
>> + * errors.
>> + */
>> + #define GUC_LOGFILE_LFD_T_MAGIC GENMASK(15, 0)
>> + /*
>> + * BR[31:16] File descriptor type (the 'T' in TLV) is used to
>> + * identify how to interpret `data` below. For the range of types,
>> + * see guc_lfd_type_t
>> + */
>> + #define GUC_LOGFILE_LFD_T_DESC_TYPE GENMASK(31, 16)
>> + /** @desc_dw_size: Number of dwords the `data` field contains. */
>> + u32 desc_dw_size;
>> + /** @data: Data defined by File descriptor type. */
>> + u32 data[] __counted_by(desc_dw_size);
>> +} __packed;
>> +
>> +/**
>> + * struct guc_logfile_fmt_ver_t - GuC Log File Format Version.
>> + * Major-Minor is not a fractional number (i.e. Ver 1.3 would be older
>> + * than 1.12)
>> + */
>> +struct guc_logfile_fmt_ver_t {
>> + /** @dw0: A 32 bits dword, contains multiple bit fields */
>> + u32 dw0;
>> + /*
>> + * BR[15:0] Guc-Log-File Format minor version. Must be
>> + * GUC_LOG_FILE_FORMAT_VERSION_MINOR
>> + */
>> + #define GUC_LOGFILE_FMT_VER_T_MINOR_VERSION GENMASK(15, 0)
>> + /*
>> + * BR[31:16] Guc-Log-File Format major version. Must be
>> + * GUC_LOG_FILE_FORMAT_VERSION_MAJOR
>> + */
>> + #define GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION GENMASK(31, 16)
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_guc_devid_t - GuC Device ID.
>> + * This is mandatory fw LFD data
>> + */
>> +struct guc_lfd_data_guc_devid_t {
>> + /**
>> + * @guc_devid: GuC microcontroller device ID defined as described
>> + * in GUC_LOG_LIC_TYPE_GUC_DEVICE_ID
>> + */
>> + u32 guc_devid;
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_tsc_freq_t - GuC TSC Fequency.
>> + * This is mandatory fw LFD data
>> + */
>> +struct guc_lfd_data_tsc_freq_t {
>> + /**
>> + * @tsc_freq: GuC timestamp counter frequency as described in
>> + * GUC_LOG_LIC_TYPE_TSC_FREQUENCY
>> + */
>> + u32 tsc_freq;
>> +} __packed;
>> +
>> +/** struct guc_lfd_data_gmdid_t - GMD ID. */
>> +struct guc_lfd_data_gmdid_t {
>> + /** @gmd_id: GMD ID as described in GUC_LOG_LIC_TYPE_GMD_ID */
>> + u32 gmd_id;
>> +} __packed;
>> +
>> +/** struct guc_lfd_data_build_platformid_t - GuC build platform ID. */
>> +struct guc_lfd_data_build_platformid_t {
>> + /**
>> + * @platform_build_id: GuC build platform ID as described in
>> + * GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID
>> + */
>> + u32 platform_build_id;
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_log_events_buf_t - GuC Log Events Buffer.
>> + * This is optional fw LFD data
>> + */
>> +struct guc_lfd_data_log_events_buf_t {
>> + /**
>> + * @log_events_format_version: version of GuC log format of buffer
>> + */
>> + u32 log_events_format_version;
>> + /**
>> + * @log_format_buf: If `log_format_version` == 1, array of
>> + * guc_log_format_version_1_t. If `log_format_version` == 2, array
>> + * of guc_log_format_version_2_t. Dword size determined by
>> + * guc_logfile_lfd_t.`desc_dw_size` - 1
>> + */
>> + u32 log_format_buf[];
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_os_id_t - OS Version Information.
>> + * This is mandatory host LFD data
>> + */
>> +struct guc_lfd_data_os_id_t {
>> + /**
>> + * @os_id: enum values to identify the OS brand (1=Windows,
>> + * 2=Linux, etc..). See guc_lfd_os_type_t for the range of types
>> + */
>> + u32 os_id;
>> + /**
>> + * @build_version: ASCII string containing OS build version
>> + * information based on os_id. String is padded with null
>> + * characters to ensure its DWORD aligned. Dword size determined
>> + * by guc_logfile_lfd_t.`desc_dw_size` - 1
>> + */
>> + char build_version[];
>> +} __packed;
>> +
>> +/**
>> + * struct guc_logfile_t - GuC Log Streaming-LFD-File Format.
>> + * This structure encapsulates the layout of the guc-log-file format
>> + */
>> +struct guc_logfile_t {
>
> this should be the last definition, see below
>
> and why its name does not have "LFD" tag?
My understand is this is the log structure, inside, it has LFD stream.
So we can expand it in future with more content types.>
>> + /**
>> + * @magic: A magic number set by producer of a GuC log file to
>> + * identify that file is a valid guc-log-file containing a stream
>> + * of LFDs: Expected value: 0x8086AAAA474C5346.
>> + */
>> + u64 magic;
>> + /**
>> + * @version: Version of this file format layout as per
>> + * guc_logfile_fmt_ver_t
>> + */
>> + struct guc_logfile_fmt_ver_t version;
>> + /**
>> + * @lfd_stream: A stream of one or more guc_logfile_lfd_t LFD data
>> + */
>> + struct guc_logfile_lfd_t lfd_stream;
>
> maybe this should be just
>
> u32 stream[];
>
If LFD stream is considered one kind of supported stream in whole log,
then keep the lfd_stream name make sense.
>> +} __packed;
>> +
>> +/**
>> + * struct guc_lfd_data_fw_version_t - GuC FW Version.
>> + * This is mandatory fw LFD data
>> + */
>> +struct guc_lfd_data_fw_version_t {
>
> shouldn't this struct be defined _before_ the guc_logfile_t ?
>
Sure, will do>> + /**
>> + * @guc_sw_version: The full version of the GuC microkernel that
>> + * generated the logs as described in
>> + * GUC_LOG_LIC_TYPE_GUC_SW_VERSION.
>> + */
>> + struct guc_sw_version_t guc_sw_version;
>> +} __packed;
>> +
>> +#endif
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output
2025-04-11 15:34 ` Michal Wajdeczko
@ 2025-04-11 22:40 ` Dong, Zhanjun
0 siblings, 0 replies; 26+ messages in thread
From: Dong, Zhanjun @ 2025-04-11 22:40 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
Thanks for take time to review.
Please see my inline comments below.
Regards,
Zhanjun Dong
On 2025-04-11 11:34 a.m., Michal Wajdeczko wrote:
>
>
> On 10.04.2025 17:58, Zhanjun Dong wrote:
>> Add new debugfs entry "guc_log_lfd", prepared for output guc log
>> in LFD(Log Format Descriptors) format.
>>
>> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_guc_debugfs.c | 14 ++++++++++++
>> drivers/gpu/drm/xe/xe_guc_log.c | 34 +++++++++++++++++++++++++++++
>> drivers/gpu/drm/xe/xe_guc_log.h | 1 +
>> 3 files changed, 49 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_guc_debugfs.c b/drivers/gpu/drm/xe/xe_guc_debugfs.c
>> index c569ff456e74..6449c9a69b8a 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_debugfs.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_debugfs.c
>> @@ -48,6 +48,19 @@ static int guc_log(struct seq_file *m, void *data)
>> return 0;
>> }
>>
>> +static int guc_log_lfd(struct seq_file *m, void *data)
>
> this needs to be rebased due to commit e15826bb3c2c ("drm/xe/guc:
> Refactor GuC debugfs initialization")
>
> and placed in the pf_only[]
sure, will rebase>
>> +{
>> + struct xe_guc *guc = node_to_guc(m->private);
>> + struct xe_device *xe = guc_to_xe(guc);
>> + struct drm_printer p = drm_seq_file_printer(m);
>> +
>> + xe_pm_runtime_get(xe);
>> + xe_guc_log_print_lfd(&guc->log, &p);
>> + xe_pm_runtime_put(xe);
>> +
>> + return 0;
>> +}
>> +
>> static int guc_log_dmesg(struct seq_file *m, void *data)
>> {
>> struct xe_guc *guc = node_to_guc(m->private);
>> @@ -89,6 +102,7 @@ static int guc_pc(struct seq_file *m, void *data)
>> static const struct drm_info_list debugfs_list[] = {
>> {"guc_info", guc_info, 0},
>> {"guc_log", guc_log, 0},
>> + {"guc_log_lfd", guc_log_lfd, 0},
>> {"guc_log_dmesg", guc_log_dmesg, 0},
>> {"guc_ctb", guc_ctb, 0},
>> {"guc_pc", guc_pc, 0},
>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
>> index 38039c411387..df849a0ee7e5 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_log.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
>> @@ -216,6 +216,26 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
>> }
>> }
>>
>> +static void
>> +xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
>> + struct xe_guc_log *log)
>> +{
>> + size_t remain;
>> + int i;
>> +
>> + if (!snapshot)
>> + return;
>> +
>> + remain = snapshot->size;
>> + for (i = 0; i < snapshot->num_chunks; i++) {
>> + size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
>> +
>> + /* To be add: Output snapshot in LFD format */
>
> what's the point in adding debugfs entry without implementation?
>
> add required function(s) and only *then* extend debugfs
To split into smaller patches as Matthew review comments
This is patch #2, #3 code will be called by #2, so this need to be add
first, reversed order will cause "xxx function not used" build error.>
>> +
>> + remain -= size;
>> + }
>> +}
>> +
>> /**
>> * xe_guc_log_print_dmesg - dump a copy of the GuC log to dmesg
>> * @log: GuC log structure
>> @@ -251,6 +271,20 @@ void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p)
>> xe_guc_log_snapshot_free(snapshot);
>> }
>>
>> +/**
>> + * xe_guc_log_print_lfd - dump a copy of the GuC log to some useful location
>
> s/to some useful location/to the drm_printer
sure, will do>
>> + * @log: GuC log structure
>> + * @p: the printer object to output to
>> + */
>> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p)
>> +{
>> + struct xe_guc_log_snapshot *snapshot;
>> +
>> + snapshot = xe_guc_log_snapshot_capture(log, false);
>> + xe_guc_log_snapshot_print_lfd(snapshot, p, log);
>> + xe_guc_log_snapshot_free(snapshot);
>> +}
>> +
>> int xe_guc_log_init(struct xe_guc_log *log)
>> {
>> struct xe_device *xe = log_to_xe(log);
>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h
>> index 5b896f5fafaf..37ff4d11e6cf 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_log.h
>> +++ b/drivers/gpu/drm/xe/xe_guc_log.h
>> @@ -40,6 +40,7 @@ struct xe_device;
>>
>> int xe_guc_log_init(struct xe_guc_log *log);
>> void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p);
>> +void xe_guc_log_print_lfd(struct xe_guc_log *log, struct drm_printer *p);
>> void xe_guc_log_print_dmesg(struct xe_guc_log *log);
>> struct xe_guc_log_snapshot *xe_guc_log_snapshot_capture(struct xe_guc_log *log, bool atomic);
>> void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p);
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support
2025-04-11 16:14 ` Michal Wajdeczko
@ 2025-04-11 22:58 ` Dong, Zhanjun
0 siblings, 0 replies; 26+ messages in thread
From: Dong, Zhanjun @ 2025-04-11 22:58 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
Thanks for take time to review.
Please see my inline comments below.
Regards,
Zhanjun Dong
On 2025-04-11 12:14 p.m., Michal Wajdeczko wrote:
>
>
> On 10.04.2025 17:58, Zhanjun Dong wrote:
>> Add support to output GuC log in LFD format.
>>
>> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_guc_log.c | 344 +++++++++++++++++++++++++++++++-
>> 1 file changed, 342 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
>> index df849a0ee7e5..7cdf6bf238f3 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_log.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_log.c
>> @@ -7,8 +7,10 @@
>>
>> #include <linux/fault-inject.h>
>>
>> +#include <linux/utsname.h>
>> #include <drm/drm_managed.h>
>>
>> +#include "abi/guc_log_lfd_abi.h"
>> #include "regs/xe_guc_regs.h"
>> #include "xe_bo.h"
>> #include "xe_devcoredump.h"
>> @@ -19,6 +21,57 @@
>> #include "xe_mmio.h"
>> #include "xe_module.h"
>>
>> +static struct guc_log_buffer_entry_markers {
>> + u32 key[2];
>> +} const entry_markers[4] = {
>> + {{
>> + LFD_LOG_BUFFER_MARKER_1V2,
>> + LFD_LOG_BUFFER_MARKER_2
>> + }},
>> + {{
>> + LFD_LOG_BUFFER_MARKER_1V2,
>> + LFD_CRASH_DUMP_BUFFER_MARKER_2
>> + }},
>> + {{
>> + LFD_STATE_CAPTURE_BUFFER_MARKER_1V2,
>> + LFD_STATE_CAPTURE_BUFFER_MARKER_2
>> + }},
>> + {{
>> + GUC_LOG_INIT_CONFIG_LIC_MAGIC,
>> + ((GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MAJOR << 16)
>> + | GUC_LOG_INIT_CONFIG_FORMAT_VERSION_MINOR)
>> + }}
>> +};
>> +
>> +static struct guc_log_buffer_entry_list {
>> + u32 offset;
>> + u32 rd_ptr;
>> + u32 wr_ptr;
>> + u32 buf_size;
>> +} entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT];
>> +
>> +static const struct guc_logfile_lfd_t default_guc_logfile_lfd = {
>> + .dw0 = FIELD_PREP_CONST(GUC_LOGFILE_LFD_T_MAGIC, GUC_LOGFILE_LFD_MAGIC)
>> +};
>> +
>> +static const struct guc_logfile_t default_guc_logfile = {
>> + .magic = LFD_DRIVER_KEY_STREAMING,
>> + .version.dw0 = FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MINOR_VERSION,
>> + GUC_LOG_FILE_FORMAT_VERSION_MINOR) |
>> + FIELD_PREP_CONST(GUC_LOGFILE_FMT_VER_T_MAJOR_VERSION,
>> + GUC_LOG_FILE_FORMAT_VERSION_MAJOR)
>> +};
>> +
>> +struct guc_log_init_config_save_t {
>
> don't use _t suffix
sure, to be removed>
>> + /*
>> + * Array of init config KLVs.
>> + * Range from GUC_LOG_LIC_TYPE_FIRST to
>> + * GUC_LOG_LIC_TYPE_LAST
>> + */
>> + u32 KLV[GUC_LOG_LIC_TYPE_LAST - GUC_LOG_LIC_TYPE_FIRST];
>> + struct guc_log_buffer_state log_buf_state;
>> +};
>> +
>> static struct xe_guc *
>> log_to_guc(struct xe_guc_log *log)
>> {
>> @@ -216,21 +269,308 @@ void xe_guc_log_snapshot_print(struct xe_guc_log_snapshot *snapshot, struct drm_
>> }
>> }
>>
>> +static int xe_guc_log_add_lfd_header(char *buf, int buf_size)
>> +{
>> + int len;
>> +
>> + if (buf_size < sizeof(struct guc_logfile_lfd_t))
>> + return -ENOMEM;
>> +
>> + len = sizeof(default_guc_logfile_lfd);
>> + memcpy(buf, &default_guc_logfile_lfd, len);
>> +
>> + return len;
>> +}
>> +
>> +static int xe_guc_log_add_payload(char *buf, int buf_size, u32 data_len, void *data)
>
> data likely should be const void *
>
>> +{
>> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
>
> maybe declare buf as void* so you will not need to cast it everywhere
Thanks, will do>
>> +
>> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
>> + return -ENOMEM;
>> +
>> + /* make length DW aligned */
>> + lfd->desc_dw_size = data_len / sizeof(u32);
>
> DIV_ROUND_UP ?
Good point, will try>
>> + if (data_len / sizeof(u32))
>> + lfd->desc_dw_size++;
>> +
>> + if (lfd->data != data)
>
> hmm, what is this for ?
Emm, will check, might not be needed.>
>> + memcpy(lfd->data, data, data_len);
>> +
>> + return lfd->desc_dw_size * 4;
>> +}
>> +
>> +static int xe_guc_log_add_typed_payload(char *buf, int buf_size, u32 type,
>> + u32 data_len, void *data)
>> +{
>> + int len;
>> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
>> +
>> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + data_len)
>> + return -ENOMEM;
>
> that seems to be repeating/duplicating what's done in
> xe_guc_log_add_lfd_header
> and
> xe_guc_log_add_payload
>
> can't we rely on above checks?
Good point, will be removed
>
>> +
>> + len = xe_guc_log_add_lfd_header(buf, buf_size);
>> + lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, type);
>
> shouldn't this be done by xe_guc_log_add_lfd_header() ?
Good point, to be changed to put type as a argument to
xe_guc_log_add_lfd_header>
>> + len += xe_guc_log_add_payload(buf, buf_size, data_len, data);
>> +
>> + return len;
>> +}
>> +
>> +static int xe_guc_log_add_os_id(char *buf, int buf_size, u32 id)
>> +{
>> + char *version;
>> + int info_len;
>> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
>> + struct guc_lfd_data_os_id_t *os_id = (struct guc_lfd_data_os_id_t *)lfd->data;
>
> vars should be declared in reverse-xmas-tree order (if possible)
will check/reorder>
>> +
>> + os_id->os_id = id;
>> +
>> + version = init_utsname()->release;
>> + info_len = strlen(version) + 1;
>> +
>> + if (buf_size < sizeof(struct guc_logfile_lfd_t) + info_len)
>> + return -ENOMEM;
>> +
>> + strscpy(os_id->build_version, version, info_len);
>> +
>> + return xe_guc_log_add_typed_payload(buf, buf_size, GUC_LFD_TYPE_OS_ID,
>> + info_len + sizeof(*os_id), os_id);
>> +}
>> +
>> +static int
>> +xe_guc_log_add_log_event(char *buf, int buf_size, char *log_bin,
>> + struct guc_log_init_config_save_t *config)
>> +{
>> + int len;
>> + char *data;
>> + u32 data_len;
>> + struct guc_lfd_data_log_events_buf_t *events_buf;
>> + struct guc_logfile_lfd_t *lfd = (struct guc_logfile_lfd_t *)buf;
>> + struct guc_log_buffer_entry_list *entry;
>> +
>> + entry = &entry_list[GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG];
>> +
>> + /* Skip empty log */
>> + if (entry->rd_ptr == entry->wr_ptr)
>> + return 0;
>> +
>> + len = xe_guc_log_add_lfd_header(buf, buf_size);
>> + if (len < 0)
>> + return len;
>> +
>> + buf_size -= len;
>> + lfd = (struct guc_logfile_lfd_t *)buf;
>> +
>> + lfd->dw0 |= FIELD_PREP(GUC_LOGFILE_LFD_T_DESC_TYPE, GUC_LFD_TYPE_LOG_EVENTS_BUFFER);
>> + events_buf = (struct guc_lfd_data_log_events_buf_t *)&lfd->data;
>> + events_buf->log_events_format_version = config->log_buf_state.version;
>> +
>> + data = log_bin + entry->offset + entry->rd_ptr;
>> + if (entry->rd_ptr < entry->wr_ptr) {
>> + data_len = entry->wr_ptr - entry->rd_ptr;
>> + if (data_len <= buf_size) {
>> + memcpy(events_buf->log_format_buf, data, data_len);
>> + buf_size -= data_len;
>> + } else {
>> + return -ENOMEM;
>> + }
>> + } else {
>> + int cp_len;
>> +
>> + /* Copy rd to buf end 1st */
>> + data_len = entry->buf_size - entry->rd_ptr;
>> + if (data_len <= buf_size) {
>> + memcpy(events_buf->log_format_buf, data, data_len);
>> + buf_size -= data_len;
>> + } else {
>> + return -ENOMEM;
>> + }
>> +
>> + /* Copy buf start to wr */
>> + data = &log_bin[entry->offset];
>> + cp_len = entry->wr_ptr;
>> + if (cp_len <= buf_size - cp_len)
>> + memcpy(&events_buf->log_format_buf[data_len / sizeof(u32)], data, cp_len);
>> + else
>> + return -ENOMEM;
>> + data_len += cp_len;
>> + }
>> +
>> + /* make length DW aligned */
>> + lfd->desc_dw_size = data_len / sizeof(u32);
>> + if (data_len % sizeof(u32))
>> + lfd->desc_dw_size++;
>> +
>> + /* Addup log_events_format_version size */
>> + lfd->desc_dw_size++;
>> +
>> + return len + lfd->desc_dw_size * sizeof(u32);
>> +}
>> +
>> +static inline int lic_type_to_KLV_index(u32 lic_type)
>> +{
>> + XE_WARN_ON(lic_type < GUC_LOG_LIC_TYPE_FIRST || lic_type >= GUC_LOG_LIC_TYPE_LAST);
>> +
>> + return lic_type - GUC_LOG_LIC_TYPE_FIRST;
>> +}
>> +
>> +static int xe_guc_log_add_klv(char *buf, int size, u32 lic_type,
>> + struct guc_log_init_config_save_t *config)
>> +{
>> + /* LFD type must matches LIC type */
>> + BUILD_BUG_ON((int)GUC_LFD_TYPE_FW_VERSION != (int)GUC_LOG_LIC_TYPE_GUC_SW_VERSION);
>> + BUILD_BUG_ON((int)GUC_LFD_TYPE_GUC_DEVICE_ID != (int)GUC_LOG_LIC_TYPE_GUC_DEVICE_ID);
>> + BUILD_BUG_ON((int)GUC_LFD_TYPE_TSC_FREQUENCY != (int)GUC_LOG_LIC_TYPE_TSC_FREQUENCY);
>> + BUILD_BUG_ON((int)GUC_LFD_TYPE_GMD_ID != (int)GUC_LOG_LIC_TYPE_GMD_ID);
>> + BUILD_BUG_ON((int)GUC_LFD_TYPE_BUILD_PLATFORM_ID !=
>> + (int)GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID);
>
> maybe this could be moved to abi headers, as it doesn't seem to be
> related to the implementation itself (both sides are ABI defs)
Sounds good>
>> +
>> + return xe_guc_log_add_typed_payload(buf, size, lic_type, sizeof(u32),
>> + &config->KLV[lic_type_to_KLV_index(lic_type)]);
>> +}
>> +
>> +static void xe_guc_log_loop_log_init(struct guc_log_init_config_t *init,
>> + struct guc_log_init_config_save_t *config)
>> +{
>> + int i;
>> + struct guc_klv_generic_t *p = (struct guc_klv_generic_t *)init->lic_data;
>> +
>> + for (i = 0; i < init->lic_dw_size;) {
>> + if (p->key < GUC_LOG_LIC_TYPE_GUC_SW_VERSION || p->key >= GUC_LOG_LIC_TYPE_LAST)
>> + break;
>> + config->KLV[lic_type_to_KLV_index(p->key)] = p->value[0];
>> + i += p->length + 1; /* +1DW to include kev(u16) and len(u16) */
>> + p = (struct guc_klv_generic_t *)((u32 *)p + p->length + 1);
>> + }
>> +}
>> +
>> +static void xe_guc_log_load_log_buffer(u32 *guc_log, struct guc_log_init_config_save_t *config)
>> +{
>> + int i = 0;
>> + u32 offset = GUC_LOG_BUFFER_STATE_HEADER_LENGTH;
>> + struct guc_log_buffer_state *p = (struct guc_log_buffer_state *)guc_log;
>> +
>> + memset(entry_list, 0, sizeof(entry_list));
>> + while (p) {
>> + for (i = 0; i < GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT; i++) {
>> + if (p->marker[0] == entry_markers[i].key[0] &&
>> + p->marker[1] == entry_markers[i].key[1]) {
>> + entry_list[i].offset = offset;
>> + entry_list[i].rd_ptr = p->read_ptr;
>> + entry_list[i].wr_ptr = p->write_ptr;
>> + entry_list[i].buf_size = p->size;
>
> you can't use/modify static entry_list[] as could be accessed by several
> driver instances at the same time!
Good point, this seems to be a bug. To be fixed.>
>> +
>> + if (i == GUC_LOG_BUFFER_STATE_HEADER_ENTRY_LOG)
>> + config->log_buf_state = *p;
>> +
>> + if (i != GUC_LOG_BUFFER_STATE_HEADER_ENTRY_INIT) {
>> + offset += p->size;
>> + p++;
>> + } else {
>> + /* Load log init config */
>> + xe_guc_log_loop_log_init((struct guc_log_init_config_t *)p,
>> + config);
>> +
>> + /* Init config is the last */
>> + return;
>> + }
>> + }
>> + }
>> + if (i >= GUC_LOG_BUFFER_STATE_HEADER_ENTRY_COUNT)
>> + break;
>> + }
>> +}
>> +
>> +static int xe_guc_log_save_to_lfd_buf(char *buf, int size, u32 *guc_log_bin,
>> + struct xe_guc_log *log,
>> + struct guc_log_init_config_save_t *config)
>> +{
>> + int index = 0, len = 0;
>> + char *char_bin = (char *)guc_log_bin;
>> + struct guc_logfile_t *guc_logfile;
>> +
>> + if (size < sizeof(struct guc_logfile_t))
>> + return -ENOMEM;
>> +
>> + guc_logfile = (struct guc_logfile_t *)buf;
>> + *guc_logfile = default_guc_logfile;
>> + index = offsetof(struct guc_logfile_t, lfd_stream);
>> +
>> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_FW_VERSION, config);
>> + if (len < 0)
>> + return len;
>> + index += len;
>> +
>> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_GUC_DEVICE_ID, config);
>> + if (len < 0)
>> + return len;
>> + index += len;
>> +
>> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LFD_TYPE_TSC_FREQUENCY, config);
>> + if (len < 0)
>> + return len;
>> + index += len;
>> +
>> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_GMD_ID, config);
>> + if (len < 0)
>> + return len;
>> + index += len;
>> +
>> + len = xe_guc_log_add_klv(&buf[index], size - index, GUC_LOG_LIC_TYPE_BUILD_PLATFORM_ID,
>> + config);
>> + if (len < 0)
>> + return len;
>> + index += len;
>> +
>> + len = xe_guc_log_add_os_id(&buf[index], size - index, GUC_LFD_OS_TYPE_OSID_LIN);
>> + if (len < 0)
>> + return len;
>> + index += len;
>> +
>> + len = xe_guc_log_add_log_event(&buf[index], size - index, char_bin, config);
>> + if (len < 0)
>> + return len;
>> + index += len;
>> +
>> + return index;
>> +}
>> +
>> static void
>> xe_guc_log_snapshot_print_lfd(struct xe_guc_log_snapshot *snapshot, struct drm_printer *p,
>> struct xe_guc_log *log)
>> {
>> size_t remain;
>> int i;
>> + struct guc_log_init_config_save_t init_config;
>>
>> if (!snapshot)
>> return;
>>
>> remain = snapshot->size;
>> + if (!remain)
>> + return;
>> +
>> + drm_printf(p, "Kernel timestamp: 0x%08llX [%llu]\n", snapshot->ktime, snapshot->ktime);
>> + drm_printf(p, "GuC timestamp: 0x%08llX [%llu]\n", snapshot->stamp, snapshot->stamp);
>> + drm_printf(p, "Log level: %u\n", snapshot->level);
>
> what's the point in printing above in clear text and encode rest of the
> info in binary LFD printed as ascii85?
Timestamp related GuC spec change review is in progress, before review
finished, print out here is for debug purpose and will be removed once
spec review finished.
The log level is a readable info to let user know the log level setting
quickly. If they are looking for level 5 details but got 3 here, no need
to dig into data, they need to redo test in level 5 again.
>
> I would expect that lfd function prints lfd-only stuff
> >> +
>> for (i = 0; i < snapshot->num_chunks; i++) {
>> + int len = 0;
>> size_t size = min(GUC_LOG_CHUNK_SIZE, remain);
>> -
>> - /* To be add: Output snapshot in LFD format */
>> + const char *prefix = i ? NULL : "[LOG].data";
>> + char suffix = i == snapshot->num_chunks - 1 ? '\n' : 0;
>> + char *lfd_buf = kzalloc(size, GFP_KERNEL);
>> +
>> + /* load from log bin */
>> + xe_guc_log_load_log_buffer(snapshot->copy[i], &init_config);
>> + /* Output to LFD format */
>> + len = xe_guc_log_save_to_lfd_buf(lfd_buf, size, snapshot->copy[i], log,
>> + &init_config);
>> + if (len > 0)
>> + xe_print_blob_ascii85(p, prefix, suffix, lfd_buf, 0, (size_t)len);
>> +
>> + kfree(lfd_buf);
>> + XE_WARN_ON(len <= 0);
>
> what's the value of this XE_WARN ?
Emm, seem only for out of memory, but no need for XE_WARN.
To be removed.>
>>
>> remain -= size;
>> }
>
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2025-04-11 22:58 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-10 15:58 [PATCH v3 0/4] drm/xe/guc: Add LFD format output for guc log Zhanjun Dong
2025-04-10 15:58 ` [PATCH v3 1/4] drm/xe/guc: Add LFD related abi definitions Zhanjun Dong
2025-04-10 17:50 ` Cavitt, Jonathan
2025-04-10 22:20 ` Dong, Zhanjun
2025-04-10 22:29 ` Cavitt, Jonathan
2025-04-11 15:28 ` Michal Wajdeczko
2025-04-11 21:58 ` Dong, Zhanjun
2025-04-10 15:58 ` [PATCH v3 2/4] drm/xe/guc: Add new debugfs entry for lfd format output Zhanjun Dong
2025-04-10 17:50 ` Cavitt, Jonathan
2025-04-10 22:45 ` Dong, Zhanjun
2025-04-11 15:34 ` Michal Wajdeczko
2025-04-11 22:40 ` Dong, Zhanjun
2025-04-10 15:58 ` [PATCH v3 3/4] drm/xe/guc: Add GuC log LFD format support Zhanjun Dong
2025-04-10 17:52 ` Cavitt, Jonathan
2025-04-11 16:14 ` Michal Wajdeczko
2025-04-11 22:58 ` Dong, Zhanjun
2025-04-10 15:58 ` [PATCH v3 4/4] drm/xe/guc: Only add GuC crash dump if available Zhanjun Dong
2025-04-10 17:52 ` Cavitt, Jonathan
2025-04-10 16:03 ` ✓ CI.Patch_applied: success for drm/xe/guc: Add LFD format output for guc log (rev3) Patchwork
2025-04-10 16:04 ` ✗ CI.checkpatch: warning " Patchwork
2025-04-10 16:05 ` ✓ CI.KUnit: success " Patchwork
2025-04-10 16:13 ` ✓ CI.Build: " Patchwork
2025-04-10 16:15 ` ✓ CI.Hooks: " Patchwork
2025-04-10 16:17 ` ✓ CI.checksparse: " Patchwork
2025-04-10 16:53 ` ✓ Xe.CI.BAT: " Patchwork
2025-04-10 21:00 ` ✗ Xe.CI.Full: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox