Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] PF: Add support for MERT
@ 2025-10-31  8:04 Lukasz Laguna
  2025-10-31  8:04 ` [PATCH v2 1/4] drm/xe: Add device flag to indicate standalone MERT Lukasz Laguna
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Lukasz Laguna @ 2025-10-31  8:04 UTC (permalink / raw)
  To: intel-xe; +Cc: michal.wajdeczko, piotr.piorkowski, lukasz.laguna

The MERT subsystem manages memory accesses between host and device. On
the  Crescent Island platform, it requires direct management by the
driver.

Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>

Lukasz Laguna (4):
  drm/xe: Add device flag to indicate standalone MERT
  drm/xe/pf: Configure LMTT in MERT
  drm/xe/pf: Add TLB invalidation support for MERT
  drm/xe/pf: Handle MERT catastrophic errors

 drivers/gpu/drm/xe/Makefile            |  1 +
 drivers/gpu/drm/xe/regs/xe_irq_regs.h  |  1 +
 drivers/gpu/drm/xe/regs/xe_mert_regs.h | 21 +++++++
 drivers/gpu/drm/xe/xe_device.h         |  5 ++
 drivers/gpu/drm/xe/xe_device_types.h   |  6 ++
 drivers/gpu/drm/xe/xe_irq.c            |  2 +
 drivers/gpu/drm/xe/xe_lmtt.c           | 25 +++++++-
 drivers/gpu/drm/xe/xe_mert.c           | 82 ++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_mert.h           | 32 ++++++++++
 drivers/gpu/drm/xe/xe_pci.c            |  2 +
 drivers/gpu/drm/xe/xe_pci_types.h      |  1 +
 drivers/gpu/drm/xe/xe_sriov_pf.c       |  4 ++
 12 files changed, 179 insertions(+), 3 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_mert_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_mert.c
 create mode 100644 drivers/gpu/drm/xe/xe_mert.h

-- 
2.40.0


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

* [PATCH v2 1/4] drm/xe: Add device flag to indicate standalone MERT
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
@ 2025-10-31  8:04 ` Lukasz Laguna
  2025-10-31  8:04 ` [PATCH v2 2/4] drm/xe/pf: Configure LMTT in MERT Lukasz Laguna
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Lukasz Laguna @ 2025-10-31  8:04 UTC (permalink / raw)
  To: intel-xe; +Cc: michal.wajdeczko, piotr.piorkowski, lukasz.laguna

The MERT subsystem manages memory accesses between host and device. On
the Crescent Island platform, it requires direct management by the
driver.

Introduce a device flag and corresponding helpers to identify platforms
with standalone MERT, enabling proper initialization and handling.

Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 drivers/gpu/drm/xe/xe_device.h       | 5 +++++
 drivers/gpu/drm/xe/xe_device_types.h | 2 ++
 drivers/gpu/drm/xe/xe_pci.c          | 2 ++
 drivers/gpu/drm/xe/xe_pci_types.h    | 1 +
 4 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
index 32cc6323b7f6..6604b89330d5 100644
--- a/drivers/gpu/drm/xe/xe_device.h
+++ b/drivers/gpu/drm/xe/xe_device.h
@@ -172,6 +172,11 @@ static inline bool xe_device_has_lmtt(struct xe_device *xe)
 	return IS_DGFX(xe);
 }
 
+static inline bool xe_device_has_mert(struct xe_device *xe)
+{
+	return xe->info.has_mert;
+}
+
 u32 xe_device_ccs_bytes(struct xe_device *xe, u64 size);
 
 void xe_device_snapshot_print(struct xe_device *xe, struct drm_printer *p);
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index af0ce275b032..0b95d6539bc0 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -307,6 +307,8 @@ struct xe_device {
 		u8 has_mbx_power_limits:1;
 		/** @info.has_mem_copy_instr: Device supports MEM_COPY instruction */
 		u8 has_mem_copy_instr:1;
+		/** @info.has_mert: Device has standalone MERT */
+		u8 has_mert:1;
 		/** @info.has_pxp: Device has PXP support */
 		u8 has_pxp:1;
 		/** @info.has_range_tlb_inval: Has range based TLB invalidations */
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index aeae675c912b..1b02d4fd2cab 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -407,6 +407,7 @@ static const struct xe_device_desc cri_desc = {
 	.has_display = false,
 	.has_flat_ccs = false,
 	.has_mbx_power_limits = true,
+	.has_mert = true,
 	.has_sriov = true,
 	.max_gt_per_tile = 2,
 	.require_force_probe = true,
@@ -673,6 +674,7 @@ static int xe_info_init_early(struct xe_device *xe,
 	xe->info.has_heci_cscfi = desc->has_heci_cscfi;
 	xe->info.has_late_bind = desc->has_late_bind;
 	xe->info.has_llc = desc->has_llc;
+	xe->info.has_mert = desc->has_mert;
 	xe->info.has_pxp = desc->has_pxp;
 	xe->info.has_sriov = xe_configfs_primary_gt_allowed(to_pci_dev(xe->drm.dev)) &&
 		desc->has_sriov;
diff --git a/drivers/gpu/drm/xe/xe_pci_types.h b/drivers/gpu/drm/xe/xe_pci_types.h
index 9892c063a9c5..d89ee5d82439 100644
--- a/drivers/gpu/drm/xe/xe_pci_types.h
+++ b/drivers/gpu/drm/xe/xe_pci_types.h
@@ -47,6 +47,7 @@ struct xe_device_desc {
 	u8 has_llc:1;
 	u8 has_mbx_power_limits:1;
 	u8 has_mem_copy_instr:1;
+	u8 has_mert:1;
 	u8 has_pxp:1;
 	u8 has_sriov:1;
 	u8 needs_scratch:1;
-- 
2.40.0


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

* [PATCH v2 2/4] drm/xe/pf: Configure LMTT in MERT
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
  2025-10-31  8:04 ` [PATCH v2 1/4] drm/xe: Add device flag to indicate standalone MERT Lukasz Laguna
@ 2025-10-31  8:04 ` Lukasz Laguna
  2025-11-24 10:47   ` Piotr Piórkowski
  2025-10-31  8:05 ` [PATCH v2 3/4] drm/xe/pf: Add TLB invalidation support for MERT Lukasz Laguna
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 12+ messages in thread
From: Lukasz Laguna @ 2025-10-31  8:04 UTC (permalink / raw)
  To: intel-xe; +Cc: michal.wajdeczko, piotr.piorkowski, lukasz.laguna

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 2136 bytes --]

On platforms with standalone MERT, the PF driver needs to program LMTT
in MERT's LMEM_CFG register.

Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_mert_regs.h | 13 +++++++++++++
 drivers/gpu/drm/xe/xe_lmtt.c           | 10 +++++++++-
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_mert_regs.h

diff --git a/drivers/gpu/drm/xe/regs/xe_mert_regs.h b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
new file mode 100644
index 000000000000..5b7c15e08747
--- /dev/null
+++ b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef _XE_MERT_REGS_H_
+#define _XE_MERT_REGS_H_
+
+#include "regs/xe_reg_defs.h"
+
+#define MERT_LMEM_CFG				XE_REG(0x1448b0)
+
+#endif /* _XE_MERT_REGS_H_ */
diff --git a/drivers/gpu/drm/xe/xe_lmtt.c b/drivers/gpu/drm/xe/xe_lmtt.c
index 4dc1de482eee..f50c5a4b9edf 100644
--- a/drivers/gpu/drm/xe/xe_lmtt.c
+++ b/drivers/gpu/drm/xe/xe_lmtt.c
@@ -8,6 +8,7 @@
 #include <drm/drm_managed.h>
 
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_mert_regs.h"
 
 #include "xe_assert.h"
 #include "xe_bo.h"
@@ -17,6 +18,7 @@
 #include "xe_mmio.h"
 #include "xe_res_cursor.h"
 #include "xe_sriov.h"
+#include "xe_tile.h"
 #include "xe_tile_sriov_printk.h"
 
 /**
@@ -196,16 +198,22 @@ static void lmtt_setup_dir_ptr(struct xe_lmtt *lmtt)
 	struct xe_device *xe = tile_to_xe(tile);
 	dma_addr_t offset = xe_bo_main_addr(lmtt->pd->bo, XE_PAGE_SIZE);
 	struct xe_gt *gt;
+	u32 config;
 	u8 id;
 
 	lmtt_debug(lmtt, "DIR offset %pad\n", &offset);
 	lmtt_assert(lmtt, xe_bo_is_vram(lmtt->pd->bo));
 	lmtt_assert(lmtt, IS_ALIGNED(offset, SZ_64K));
 
+	config = LMEM_EN | REG_FIELD_PREP(LMTT_DIR_PTR, offset / SZ_64K);
+
 	for_each_gt_on_tile(gt, tile, id)
 		xe_mmio_write32(&gt->mmio,
 				GRAPHICS_VER(xe) >= 20 ? XE2_LMEM_CFG : LMEM_CFG,
-				LMEM_EN | REG_FIELD_PREP(LMTT_DIR_PTR, offset / SZ_64K));
+				config);
+
+	if (xe_device_has_mert(xe) && xe_tile_is_root(tile))
+		xe_mmio_write32(&tile->mmio, MERT_LMEM_CFG, config);
 }
 
 /**
-- 
2.40.0


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

* [PATCH v2 3/4] drm/xe/pf: Add TLB invalidation support for MERT
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
  2025-10-31  8:04 ` [PATCH v2 1/4] drm/xe: Add device flag to indicate standalone MERT Lukasz Laguna
  2025-10-31  8:04 ` [PATCH v2 2/4] drm/xe/pf: Configure LMTT in MERT Lukasz Laguna
@ 2025-10-31  8:05 ` Lukasz Laguna
  2025-11-24 13:43   ` Piotr Piórkowski
  2025-10-31  8:05 ` [PATCH v2 4/4] drm/xe/pf: Handle MERT catastrophic errors Lukasz Laguna
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 12+ messages in thread
From: Lukasz Laguna @ 2025-10-31  8:05 UTC (permalink / raw)
  To: intel-xe; +Cc: michal.wajdeczko, piotr.piorkowski, lukasz.laguna

Add support for triggering and handling MERT TLB invalidation. After
LMTT updates, the MERT TLB invalidation is initiated to ensure memory
translations remain coherent.

Completion of the invalidation is signaled via MERT interrupt (bit 13 in
the GFX master interrupt register). Detect and handle this interrupt to
properly synchronize the invalidation flow.

Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
---
v2:
 - squash commits (Matt Roper),
 - fix locking (Matt Brost, Lucas),
 - move the implementation to xe_mert.c (Michal Wajdeczko).
---
 drivers/gpu/drm/xe/Makefile            |  1 +
 drivers/gpu/drm/xe/regs/xe_irq_regs.h  |  1 +
 drivers/gpu/drm/xe/regs/xe_mert_regs.h |  3 ++
 drivers/gpu/drm/xe/xe_device_types.h   |  4 ++
 drivers/gpu/drm/xe/xe_irq.c            |  2 +
 drivers/gpu/drm/xe/xe_lmtt.c           | 15 +++++-
 drivers/gpu/drm/xe/xe_mert.c           | 71 ++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_mert.h           | 32 ++++++++++++
 drivers/gpu/drm/xe/xe_sriov_pf.c       |  4 ++
 9 files changed, 131 insertions(+), 2 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/xe_mert.c
 create mode 100644 drivers/gpu/drm/xe/xe_mert.h

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index bfc72f3dd61b..e2a7e460c2d9 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -172,6 +172,7 @@ xe-$(CONFIG_PCI_IOV) += \
 	xe_lmtt.o \
 	xe_lmtt_2l.o \
 	xe_lmtt_ml.o \
+	xe_mert.o \
 	xe_pci_sriov.o \
 	xe_sriov_pf.o \
 	xe_sriov_pf_control.o \
diff --git a/drivers/gpu/drm/xe/regs/xe_irq_regs.h b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
index 2f97662d958d..9d74f454d3ff 100644
--- a/drivers/gpu/drm/xe/regs/xe_irq_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
@@ -20,6 +20,7 @@
 #define   GU_MISC_IRQ				REG_BIT(29)
 #define   ERROR_IRQ(x)				REG_BIT(26 + (x))
 #define   DISPLAY_IRQ				REG_BIT(16)
+#define   SOC_H2DMEMINT_IRQ			REG_BIT(13)
 #define   I2C_IRQ				REG_BIT(12)
 #define   GT_DW_IRQ(x)				REG_BIT(x)
 
diff --git a/drivers/gpu/drm/xe/regs/xe_mert_regs.h b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
index 5b7c15e08747..aef66c04901d 100644
--- a/drivers/gpu/drm/xe/regs/xe_mert_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
@@ -10,4 +10,7 @@
 
 #define MERT_LMEM_CFG				XE_REG(0x1448b0)
 
+#define MERT_TLB_INV_DESC_A			XE_REG(0x14cf7c)
+#define   MERT_TLB_INV_DESC_A_VALID		REG_BIT(0)
+
 #endif /* _XE_MERT_REGS_H_ */
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 0b95d6539bc0..38623def6f30 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -17,6 +17,7 @@
 #include "xe_late_bind_fw_types.h"
 #include "xe_lmtt_types.h"
 #include "xe_memirq_types.h"
+#include "xe_mert.h"
 #include "xe_oa_types.h"
 #include "xe_platform_types.h"
 #include "xe_pmu_types.h"
@@ -219,6 +220,9 @@ struct xe_tile {
 
 	/** @debugfs: debugfs directory associated with this tile */
 	struct dentry *debugfs;
+
+	/** @mert: MERT-related data */
+	struct xe_mert mert;
 };
 
 /**
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index e5ed0242f7b1..919ef19149be 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -21,6 +21,7 @@
 #include "xe_hw_error.h"
 #include "xe_i2c.h"
 #include "xe_memirq.h"
+#include "xe_mert.h"
 #include "xe_mmio.h"
 #include "xe_pxp.h"
 #include "xe_sriov.h"
@@ -525,6 +526,7 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
 				xe_heci_csc_irq_handler(xe, master_ctl);
 			xe_display_irq_handler(xe, master_ctl);
 			xe_i2c_irq_handler(xe, master_ctl);
+			xe_mert_irq_handler(xe, master_ctl);
 			gu_misc_iir = gu_misc_irq_ack(xe, master_ctl);
 		}
 	}
diff --git a/drivers/gpu/drm/xe/xe_lmtt.c b/drivers/gpu/drm/xe/xe_lmtt.c
index f50c5a4b9edf..3059ea6525bc 100644
--- a/drivers/gpu/drm/xe/xe_lmtt.c
+++ b/drivers/gpu/drm/xe/xe_lmtt.c
@@ -15,6 +15,7 @@
 #include "xe_tlb_inval.h"
 #include "xe_lmtt.h"
 #include "xe_map.h"
+#include "xe_mert.h"
 #include "xe_mmio.h"
 #include "xe_res_cursor.h"
 #include "xe_sriov.h"
@@ -270,19 +271,29 @@ static int lmtt_invalidate_hw(struct xe_lmtt *lmtt)
  * @lmtt: the &xe_lmtt to invalidate
  *
  * Send requests to all GuCs on this tile to invalidate all TLBs.
+ * If the platform has a standalone MERT, also invalidate MERT's TLB.
  *
  * This function should be called only when running as a PF driver.
  */
 void xe_lmtt_invalidate_hw(struct xe_lmtt *lmtt)
 {
+	struct xe_tile *tile = lmtt_to_tile(lmtt);
+	struct xe_device *xe = lmtt_to_xe(lmtt);
 	int err;
 
-	lmtt_assert(lmtt, IS_SRIOV_PF(lmtt_to_xe(lmtt)));
+	lmtt_assert(lmtt, IS_SRIOV_PF(xe));
 
 	err = lmtt_invalidate_hw(lmtt);
 	if (err)
-		xe_tile_sriov_err(lmtt_to_tile(lmtt), "LMTT invalidation failed (%pe)",
+		xe_tile_sriov_err(tile, "LMTT invalidation failed (%pe)",
 				  ERR_PTR(err));
+
+	if (xe_device_has_mert(xe) && xe_tile_is_root(tile)) {
+		err = xe_mert_invalidate_lmtt(tile);
+		if (err)
+			xe_tile_sriov_err(tile, "MERT LMTT invalidation failed (%pe)",
+					  ERR_PTR(err));
+	}
 }
 
 static void lmtt_write_pte(struct xe_lmtt *lmtt, struct xe_lmtt_pt *pt,
diff --git a/drivers/gpu/drm/xe/xe_mert.c b/drivers/gpu/drm/xe/xe_mert.c
new file mode 100644
index 000000000000..304cc8421999
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_mert.c
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright(c) 2025, Intel Corporation. All rights reserved.
+ */
+
+#include "regs/xe_irq_regs.h"
+#include "regs/xe_mert_regs.h"
+
+#include "xe_device.h"
+#include "xe_mert.h"
+#include "xe_mmio.h"
+#include "xe_tile.h"
+
+/**
+ * xe_mert_invalidate_lmtt - Invalidate MERT LMTT
+ * @tile: the &xe_tile
+ *
+ * Trigger invalidation of the MERT LMTT and wait for completion.
+ *
+ * Return: 0 on success or -ETIMEDOUT in case of a timeout.
+ */
+int xe_mert_invalidate_lmtt(struct xe_tile *tile)
+{
+	struct xe_device *xe = tile_to_xe(tile);
+	struct xe_mert *mert = &tile->mert;
+	const long timeout = HZ / 4;
+	unsigned long flags;
+
+	xe_assert(xe, xe_device_has_mert(xe));
+	xe_assert(xe, xe_tile_is_root(tile));
+
+	spin_lock_irqsave(&mert->lock, flags);
+	if (!mert->tlb_inv_triggered) {
+		mert->tlb_inv_triggered = true;
+		reinit_completion(&mert->tlb_inv_done);
+		xe_mmio_write32(&tile->mmio, MERT_TLB_INV_DESC_A, MERT_TLB_INV_DESC_A_VALID);
+	}
+	spin_unlock_irqrestore(&mert->lock, flags);
+
+	if (!wait_for_completion_timeout(&mert->tlb_inv_done, timeout))
+		return -ETIMEDOUT;
+
+	return 0;
+}
+
+/**
+ * xe_mert_irq_handler - Handler for MERT interrupts
+ * @xe: the &xe_device
+ * @master_ctl: interrupt register
+ *
+ * Handle interrupts generated by MERT.
+ */
+void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl)
+{
+	struct xe_tile *tile = xe_device_get_root_tile(xe);
+	unsigned long flags;
+	u32 reg_val;
+
+	if (!(master_ctl & SOC_H2DMEMINT_IRQ))
+		return;
+
+	spin_lock_irqsave(&tile->mert.lock, flags);
+	if (tile->mert.tlb_inv_triggered) {
+		reg_val = xe_mmio_read32(&tile->mmio, MERT_TLB_INV_DESC_A);
+		if (!(reg_val & MERT_TLB_INV_DESC_A_VALID)) {
+			tile->mert.tlb_inv_triggered = false;
+			complete_all(&tile->mert.tlb_inv_done);
+		}
+	}
+	spin_unlock_irqrestore(&tile->mert.lock, flags);
+}
diff --git a/drivers/gpu/drm/xe/xe_mert.h b/drivers/gpu/drm/xe/xe_mert.h
new file mode 100644
index 000000000000..2e14c5dec008
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_mert.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright(c) 2025, Intel Corporation. All rights reserved.
+ */
+
+#ifndef __XE_MERT_H__
+#define __XE_MERT_H__
+
+#include <linux/completion.h>
+#include <linux/spinlock.h>
+#include <linux/types.h>
+
+struct xe_device;
+struct xe_tile;
+
+struct xe_mert {
+	/** @lock: protects the TLB invalidation status */
+	spinlock_t lock;
+	/** @tlb_inv_triggered: indicates if TLB invalidation was triggered */
+	bool tlb_inv_triggered;
+	/** @mert.tlb_inv_done: completion of TLB invalidation */
+	struct completion tlb_inv_done;
+};
+
+#ifdef CONFIG_PCI_IOV
+int xe_mert_invalidate_lmtt(struct xe_tile *tile);
+void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl);
+#else
+static inline void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl) { }
+#endif
+
+#endif /* __XE_MERT_H__ */
diff --git a/drivers/gpu/drm/xe/xe_sriov_pf.c b/drivers/gpu/drm/xe/xe_sriov_pf.c
index bc1ab9ee31d9..00e80f6d0634 100644
--- a/drivers/gpu/drm/xe/xe_sriov_pf.c
+++ b/drivers/gpu/drm/xe/xe_sriov_pf.c
@@ -88,6 +88,7 @@ bool xe_sriov_pf_readiness(struct xe_device *xe)
  */
 int xe_sriov_pf_init_early(struct xe_device *xe)
 {
+	struct xe_mert *mert = &xe_device_get_root_tile(xe)->mert;
 	int err;
 
 	xe_assert(xe, IS_SRIOV_PF(xe));
@@ -103,6 +104,9 @@ int xe_sriov_pf_init_early(struct xe_device *xe)
 
 	xe_sriov_pf_service_init(xe);
 
+	spin_lock_init(&mert->lock);
+	init_completion(&mert->tlb_inv_done);
+
 	return 0;
 }
 
-- 
2.40.0


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

* [PATCH v2 4/4] drm/xe/pf: Handle MERT catastrophic errors
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
                   ` (2 preceding siblings ...)
  2025-10-31  8:05 ` [PATCH v2 3/4] drm/xe/pf: Add TLB invalidation support for MERT Lukasz Laguna
@ 2025-10-31  8:05 ` Lukasz Laguna
  2025-11-24 13:52   ` Piotr Piórkowski
  2025-10-31  8:12 ` ✗ CI.checkpatch: warning for PF: Add support for MERT Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 12+ messages in thread
From: Lukasz Laguna @ 2025-10-31  8:05 UTC (permalink / raw)
  To: intel-xe; +Cc: michal.wajdeczko, piotr.piorkowski, lukasz.laguna

The MERT block triggers an interrupt when a catastrophic error occurs.
Update the interrupt handler to read the MERT catastrophic error type
and log appropriate debug message.

Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
---
v2:
 - rebase,
 - fix the VF ID extraction from the read value.
---
 drivers/gpu/drm/xe/regs/xe_mert_regs.h |  5 +++++
 drivers/gpu/drm/xe/xe_mert.c           | 11 +++++++++++
 2 files changed, 16 insertions(+)

diff --git a/drivers/gpu/drm/xe/regs/xe_mert_regs.h b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
index aef66c04901d..c345e11ceea8 100644
--- a/drivers/gpu/drm/xe/regs/xe_mert_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
@@ -10,6 +10,11 @@
 
 #define MERT_LMEM_CFG				XE_REG(0x1448b0)
 
+#define MERT_TLB_CT_INTR_ERR_ID_PORT		XE_REG(0x145190)
+#define   MERT_TLB_CT_VFID_MASK			REG_GENMASK(16, 9)
+#define   MERT_TLB_CT_ERROR_MASK		REG_GENMASK(5, 0)
+#define     MERT_TLB_CT_LMTT_FAULT		0x05
+
 #define MERT_TLB_INV_DESC_A			XE_REG(0x14cf7c)
 #define   MERT_TLB_INV_DESC_A_VALID		REG_BIT(0)
 
diff --git a/drivers/gpu/drm/xe/xe_mert.c b/drivers/gpu/drm/xe/xe_mert.c
index 304cc8421999..e5e0ad872506 100644
--- a/drivers/gpu/drm/xe/xe_mert.c
+++ b/drivers/gpu/drm/xe/xe_mert.c
@@ -55,10 +55,21 @@ void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl)
 	struct xe_tile *tile = xe_device_get_root_tile(xe);
 	unsigned long flags;
 	u32 reg_val;
+	u8 err;
 
 	if (!(master_ctl & SOC_H2DMEMINT_IRQ))
 		return;
 
+	reg_val = xe_mmio_read32(&tile->mmio, MERT_TLB_CT_INTR_ERR_ID_PORT);
+	xe_mmio_write32(&tile->mmio, MERT_TLB_CT_INTR_ERR_ID_PORT, 0);
+
+	err = reg_val & MERT_TLB_CT_ERROR_MASK;
+	if (err == MERT_TLB_CT_LMTT_FAULT)
+		drm_dbg(&xe->drm, "MERT catastrophic error: LMTT fault (VF%u)\n",
+			FIELD_GET(MERT_TLB_CT_VFID_MASK, reg_val));
+	else if (err)
+		drm_dbg(&xe->drm, "MERT catastrophic error: Unexpected fault (0x%x)\n", err);
+
 	spin_lock_irqsave(&tile->mert.lock, flags);
 	if (tile->mert.tlb_inv_triggered) {
 		reg_val = xe_mmio_read32(&tile->mmio, MERT_TLB_INV_DESC_A);
-- 
2.40.0


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

* ✗ CI.checkpatch: warning for PF: Add support for MERT
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
                   ` (3 preceding siblings ...)
  2025-10-31  8:05 ` [PATCH v2 4/4] drm/xe/pf: Handle MERT catastrophic errors Lukasz Laguna
@ 2025-10-31  8:12 ` Patchwork
  2025-10-31  8:14 ` ✓ CI.KUnit: success " Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2025-10-31  8:12 UTC (permalink / raw)
  To: Lukasz Laguna; +Cc: intel-xe

== Series Details ==

Series: PF: Add support for MERT
URL   : https://patchwork.freedesktop.org/series/156807/
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
f867e605613af1770f90c4b0afd4a8f06424d1f0
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 2122e716bd4ce42cb14e8bb88b1abf4b1eda3018
Author: Lukasz Laguna <lukasz.laguna@intel.com>
Date:   Fri Oct 31 09:05:01 2025 +0100

    drm/xe/pf: Handle MERT catastrophic errors
    
    The MERT block triggers an interrupt when a catastrophic error occurs.
    Update the interrupt handler to read the MERT catastrophic error type
    and log appropriate debug message.
    
    Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
+ /mt/dim checkpatch fbd719e0eb058dd8b23a734e199f52e81cd9f267 drm-intel
2e7691cf79a5 drm/xe: Add device flag to indicate standalone MERT
d3cf577f9572 drm/xe/pf: Configure LMTT in MERT
-:12: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#12: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 50 lines checked
c2de6d95825b drm/xe/pf: Add TLB invalidation support for MERT
-: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, 208 lines checked
2122e716bd4c drm/xe/pf: Handle MERT catastrophic errors



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

* ✓ CI.KUnit: success for PF: Add support for MERT
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
                   ` (4 preceding siblings ...)
  2025-10-31  8:12 ` ✗ CI.checkpatch: warning for PF: Add support for MERT Patchwork
@ 2025-10-31  8:14 ` Patchwork
  2025-10-31  9:29 ` ✓ Xe.CI.BAT: " Patchwork
  2025-10-31 19:25 ` ✓ Xe.CI.Full: " Patchwork
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2025-10-31  8:14 UTC (permalink / raw)
  To: Lukasz Laguna; +Cc: intel-xe

== Series Details ==

Series: PF: Add support for MERT
URL   : https://patchwork.freedesktop.org/series/156807/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[08:12:56] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:13:00] 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
[08:13:31] Starting KUnit Kernel (1/1)...
[08:13:31] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:13:31] ================== guc_buf (11 subtests) ===================
[08:13:31] [PASSED] test_smallest
[08:13:31] [PASSED] test_largest
[08:13:31] [PASSED] test_granular
[08:13:31] [PASSED] test_unique
[08:13:31] [PASSED] test_overlap
[08:13:31] [PASSED] test_reusable
[08:13:31] [PASSED] test_too_big
[08:13:31] [PASSED] test_flush
[08:13:31] [PASSED] test_lookup
[08:13:31] [PASSED] test_data
[08:13:31] [PASSED] test_class
[08:13:31] ===================== [PASSED] guc_buf =====================
[08:13:31] =================== guc_dbm (7 subtests) ===================
[08:13:31] [PASSED] test_empty
[08:13:31] [PASSED] test_default
[08:13:31] ======================== test_size  ========================
[08:13:31] [PASSED] 4
[08:13:31] [PASSED] 8
[08:13:31] [PASSED] 32
[08:13:31] [PASSED] 256
[08:13:31] ==================== [PASSED] test_size ====================
[08:13:31] ======================= test_reuse  ========================
[08:13:31] [PASSED] 4
[08:13:31] [PASSED] 8
[08:13:31] [PASSED] 32
[08:13:31] [PASSED] 256
[08:13:31] =================== [PASSED] test_reuse ====================
[08:13:31] =================== test_range_overlap  ====================
[08:13:31] [PASSED] 4
[08:13:31] [PASSED] 8
[08:13:31] [PASSED] 32
[08:13:31] [PASSED] 256
[08:13:31] =============== [PASSED] test_range_overlap ================
[08:13:31] =================== test_range_compact  ====================
[08:13:31] [PASSED] 4
[08:13:31] [PASSED] 8
[08:13:31] [PASSED] 32
[08:13:31] [PASSED] 256
[08:13:31] =============== [PASSED] test_range_compact ================
[08:13:31] ==================== test_range_spare  =====================
[08:13:31] [PASSED] 4
[08:13:31] [PASSED] 8
[08:13:31] [PASSED] 32
[08:13:31] [PASSED] 256
[08:13:31] ================ [PASSED] test_range_spare =================
[08:13:31] ===================== [PASSED] guc_dbm =====================
[08:13:31] =================== guc_idm (6 subtests) ===================
[08:13:31] [PASSED] bad_init
[08:13:31] [PASSED] no_init
[08:13:31] [PASSED] init_fini
[08:13:31] [PASSED] check_used
[08:13:31] [PASSED] check_quota
[08:13:31] [PASSED] check_all
[08:13:31] ===================== [PASSED] guc_idm =====================
[08:13:31] ================== no_relay (3 subtests) ===================
[08:13:31] [PASSED] xe_drops_guc2pf_if_not_ready
[08:13:31] [PASSED] xe_drops_guc2vf_if_not_ready
[08:13:31] [PASSED] xe_rejects_send_if_not_ready
[08:13:31] ==================== [PASSED] no_relay =====================
[08:13:31] ================== pf_relay (14 subtests) ==================
[08:13:31] [PASSED] pf_rejects_guc2pf_too_short
[08:13:31] [PASSED] pf_rejects_guc2pf_too_long
[08:13:31] [PASSED] pf_rejects_guc2pf_no_payload
[08:13:31] [PASSED] pf_fails_no_payload
[08:13:31] [PASSED] pf_fails_bad_origin
[08:13:31] [PASSED] pf_fails_bad_type
[08:13:31] [PASSED] pf_txn_reports_error
[08:13:31] [PASSED] pf_txn_sends_pf2guc
[08:13:31] [PASSED] pf_sends_pf2guc
[08:13:31] [SKIPPED] pf_loopback_nop
[08:13:31] [SKIPPED] pf_loopback_echo
[08:13:31] [SKIPPED] pf_loopback_fail
[08:13:31] [SKIPPED] pf_loopback_busy
[08:13:31] [SKIPPED] pf_loopback_retry
[08:13:31] ==================== [PASSED] pf_relay =====================
[08:13:31] ================== vf_relay (3 subtests) ===================
[08:13:31] [PASSED] vf_rejects_guc2vf_too_short
[08:13:31] [PASSED] vf_rejects_guc2vf_too_long
[08:13:31] [PASSED] vf_rejects_guc2vf_no_payload
[08:13:31] ==================== [PASSED] vf_relay =====================
[08:13:31] ===================== lmtt (1 subtest) =====================
[08:13:31] ======================== test_ops  =========================
[08:13:31] [PASSED] 2-level
[08:13:31] [PASSED] multi-level
[08:13:31] ==================== [PASSED] test_ops =====================
[08:13:31] ====================== [PASSED] lmtt =======================
[08:13:31] ================= pf_service (11 subtests) =================
[08:13:31] [PASSED] pf_negotiate_any
[08:13:31] [PASSED] pf_negotiate_base_match
[08:13:31] [PASSED] pf_negotiate_base_newer
[08:13:31] [PASSED] pf_negotiate_base_next
[08:13:31] [SKIPPED] pf_negotiate_base_older
[08:13:31] [PASSED] pf_negotiate_base_prev
[08:13:31] [PASSED] pf_negotiate_latest_match
[08:13:31] [PASSED] pf_negotiate_latest_newer
[08:13:31] [PASSED] pf_negotiate_latest_next
[08:13:31] [SKIPPED] pf_negotiate_latest_older
[08:13:31] [SKIPPED] pf_negotiate_latest_prev
[08:13:31] =================== [PASSED] pf_service ====================
[08:13:31] ================= xe_guc_g2g (2 subtests) ==================
[08:13:31] ============== xe_live_guc_g2g_kunit_default  ==============
[08:13:31] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[08:13:31] ============== xe_live_guc_g2g_kunit_allmem  ===============
[08:13:31] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[08:13:31] =================== [SKIPPED] xe_guc_g2g ===================
[08:13:31] =================== xe_mocs (2 subtests) ===================
[08:13:31] ================ xe_live_mocs_kernel_kunit  ================
[08:13:31] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[08:13:31] ================ xe_live_mocs_reset_kunit  =================
[08:13:31] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[08:13:31] ==================== [SKIPPED] xe_mocs =====================
[08:13:31] ================= xe_migrate (2 subtests) ==================
[08:13:31] ================= xe_migrate_sanity_kunit  =================
[08:13:31] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[08:13:31] ================== xe_validate_ccs_kunit  ==================
[08:13:31] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[08:13:31] =================== [SKIPPED] xe_migrate ===================
[08:13:31] ================== xe_dma_buf (1 subtest) ==================
[08:13:31] ==================== xe_dma_buf_kunit  =====================
[08:13:31] ================ [SKIPPED] xe_dma_buf_kunit ================
[08:13:31] =================== [SKIPPED] xe_dma_buf ===================
[08:13:31] ================= xe_bo_shrink (1 subtest) =================
[08:13:31] =================== xe_bo_shrink_kunit  ====================
[08:13:31] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[08:13:31] ================== [SKIPPED] xe_bo_shrink ==================
[08:13:31] ==================== xe_bo (2 subtests) ====================
[08:13:31] ================== xe_ccs_migrate_kunit  ===================
[08:13:31] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[08:13:31] ==================== xe_bo_evict_kunit  ====================
[08:13:31] =============== [SKIPPED] xe_bo_evict_kunit ================
[08:13:31] ===================== [SKIPPED] xe_bo ======================
[08:13:31] ==================== args (11 subtests) ====================
[08:13:31] [PASSED] count_args_test
[08:13:31] [PASSED] call_args_example
[08:13:31] [PASSED] call_args_test
[08:13:31] [PASSED] drop_first_arg_example
[08:13:31] [PASSED] drop_first_arg_test
[08:13:31] [PASSED] first_arg_example
[08:13:31] [PASSED] first_arg_test
[08:13:31] [PASSED] last_arg_example
[08:13:31] [PASSED] last_arg_test
[08:13:31] [PASSED] pick_arg_example
[08:13:31] [PASSED] sep_comma_example
[08:13:31] ====================== [PASSED] args =======================
[08:13:31] =================== xe_pci (3 subtests) ====================
[08:13:31] ==================== check_graphics_ip  ====================
[08:13:31] [PASSED] 12.00 Xe_LP
[08:13:31] [PASSED] 12.10 Xe_LP+
[08:13:31] [PASSED] 12.55 Xe_HPG
[08:13:31] [PASSED] 12.60 Xe_HPC
[08:13:31] [PASSED] 12.70 Xe_LPG
[08:13:31] [PASSED] 12.71 Xe_LPG
[08:13:31] [PASSED] 12.74 Xe_LPG+
[08:13:31] [PASSED] 20.01 Xe2_HPG
[08:13:31] [PASSED] 20.02 Xe2_HPG
[08:13:31] [PASSED] 20.04 Xe2_LPG
[08:13:31] [PASSED] 30.00 Xe3_LPG
[08:13:31] [PASSED] 30.01 Xe3_LPG
[08:13:31] [PASSED] 30.03 Xe3_LPG
[08:13:31] [PASSED] 30.04 Xe3_LPG
[08:13:31] [PASSED] 30.05 Xe3_LPG
[08:13:31] [PASSED] 35.11 Xe3p_XPC
[08:13:31] ================ [PASSED] check_graphics_ip ================
[08:13:31] ===================== check_media_ip  ======================
[08:13:31] [PASSED] 12.00 Xe_M
[08:13:31] [PASSED] 12.55 Xe_HPM
[08:13:31] [PASSED] 13.00 Xe_LPM+
[08:13:31] [PASSED] 13.01 Xe2_HPM
[08:13:31] [PASSED] 20.00 Xe2_LPM
[08:13:31] [PASSED] 30.00 Xe3_LPM
[08:13:31] [PASSED] 30.02 Xe3_LPM
[08:13:31] [PASSED] 35.00 Xe3p_LPM
[08:13:31] [PASSED] 35.03 Xe3p_HPM
[08:13:31] ================= [PASSED] check_media_ip ==================
[08:13:31] =================== check_platform_desc  ===================
[08:13:31] [PASSED] 0x9A60 (TIGERLAKE)
[08:13:31] [PASSED] 0x9A68 (TIGERLAKE)
[08:13:31] [PASSED] 0x9A70 (TIGERLAKE)
[08:13:31] [PASSED] 0x9A40 (TIGERLAKE)
[08:13:31] [PASSED] 0x9A49 (TIGERLAKE)
[08:13:31] [PASSED] 0x9A59 (TIGERLAKE)
[08:13:31] [PASSED] 0x9A78 (TIGERLAKE)
[08:13:31] [PASSED] 0x9AC0 (TIGERLAKE)
[08:13:31] [PASSED] 0x9AC9 (TIGERLAKE)
[08:13:31] [PASSED] 0x9AD9 (TIGERLAKE)
[08:13:31] [PASSED] 0x9AF8 (TIGERLAKE)
[08:13:31] [PASSED] 0x4C80 (ROCKETLAKE)
[08:13:31] [PASSED] 0x4C8A (ROCKETLAKE)
[08:13:31] [PASSED] 0x4C8B (ROCKETLAKE)
[08:13:31] [PASSED] 0x4C8C (ROCKETLAKE)
[08:13:31] [PASSED] 0x4C90 (ROCKETLAKE)
[08:13:31] [PASSED] 0x4C9A (ROCKETLAKE)
[08:13:31] [PASSED] 0x4680 (ALDERLAKE_S)
[08:13:31] [PASSED] 0x4682 (ALDERLAKE_S)
[08:13:31] [PASSED] 0x4688 (ALDERLAKE_S)
[08:13:31] [PASSED] 0x468A (ALDERLAKE_S)
[08:13:31] [PASSED] 0x468B (ALDERLAKE_S)
[08:13:31] [PASSED] 0x4690 (ALDERLAKE_S)
[08:13:31] [PASSED] 0x4692 (ALDERLAKE_S)
[08:13:31] [PASSED] 0x4693 (ALDERLAKE_S)
[08:13:31] [PASSED] 0x46A0 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46A1 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46A2 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46A3 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46A6 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46A8 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46AA (ALDERLAKE_P)
[08:13:31] [PASSED] 0x462A (ALDERLAKE_P)
[08:13:31] [PASSED] 0x4626 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x4628 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46B0 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46B1 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46B2 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46B3 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46C0 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46C1 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46C2 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46C3 (ALDERLAKE_P)
[08:13:31] [PASSED] 0x46D0 (ALDERLAKE_N)
[08:13:31] [PASSED] 0x46D1 (ALDERLAKE_N)
[08:13:31] [PASSED] 0x46D2 (ALDERLAKE_N)
[08:13:31] [PASSED] 0x46D3 (ALDERLAKE_N)
[08:13:31] [PASSED] 0x46D4 (ALDERLAKE_N)
[08:13:31] [PASSED] 0xA721 (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7A1 (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7A9 (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7AC (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7AD (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA720 (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7A0 (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7A8 (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7AA (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA7AB (ALDERLAKE_P)
[08:13:31] [PASSED] 0xA780 (ALDERLAKE_S)
[08:13:31] [PASSED] 0xA781 (ALDERLAKE_S)
[08:13:31] [PASSED] 0xA782 (ALDERLAKE_S)
[08:13:31] [PASSED] 0xA783 (ALDERLAKE_S)
[08:13:31] [PASSED] 0xA788 (ALDERLAKE_S)
[08:13:31] [PASSED] 0xA789 (ALDERLAKE_S)
[08:13:31] [PASSED] 0xA78A (ALDERLAKE_S)
[08:13:31] [PASSED] 0xA78B (ALDERLAKE_S)
[08:13:31] [PASSED] 0x4905 (DG1)
[08:13:31] [PASSED] 0x4906 (DG1)
[08:13:31] [PASSED] 0x4907 (DG1)
[08:13:31] [PASSED] 0x4908 (DG1)
[08:13:31] [PASSED] 0x4909 (DG1)
[08:13:31] [PASSED] 0x56C0 (DG2)
[08:13:31] [PASSED] 0x56C2 (DG2)
[08:13:31] [PASSED] 0x56C1 (DG2)
[08:13:31] [PASSED] 0x7D51 (METEORLAKE)
[08:13:31] [PASSED] 0x7DD1 (METEORLAKE)
[08:13:31] [PASSED] 0x7D41 (METEORLAKE)
[08:13:31] [PASSED] 0x7D67 (METEORLAKE)
[08:13:31] [PASSED] 0xB640 (METEORLAKE)
[08:13:31] [PASSED] 0x56A0 (DG2)
[08:13:31] [PASSED] 0x56A1 (DG2)
[08:13:31] [PASSED] 0x56A2 (DG2)
[08:13:31] [PASSED] 0x56BE (DG2)
[08:13:31] [PASSED] 0x56BF (DG2)
[08:13:31] [PASSED] 0x5690 (DG2)
[08:13:31] [PASSED] 0x5691 (DG2)
[08:13:31] [PASSED] 0x5692 (DG2)
[08:13:31] [PASSED] 0x56A5 (DG2)
[08:13:31] [PASSED] 0x56A6 (DG2)
[08:13:31] [PASSED] 0x56B0 (DG2)
[08:13:31] [PASSED] 0x56B1 (DG2)
[08:13:31] [PASSED] 0x56BA (DG2)
[08:13:31] [PASSED] 0x56BB (DG2)
[08:13:31] [PASSED] 0x56BC (DG2)
[08:13:31] [PASSED] 0x56BD (DG2)
[08:13:31] [PASSED] 0x5693 (DG2)
[08:13:31] [PASSED] 0x5694 (DG2)
[08:13:31] [PASSED] 0x5695 (DG2)
[08:13:31] [PASSED] 0x56A3 (DG2)
[08:13:31] [PASSED] 0x56A4 (DG2)
[08:13:31] [PASSED] 0x56B2 (DG2)
[08:13:31] [PASSED] 0x56B3 (DG2)
[08:13:31] [PASSED] 0x5696 (DG2)
[08:13:31] [PASSED] 0x5697 (DG2)
[08:13:31] [PASSED] 0xB69 (PVC)
[08:13:31] [PASSED] 0xB6E (PVC)
[08:13:31] [PASSED] 0xBD4 (PVC)
[08:13:31] [PASSED] 0xBD5 (PVC)
[08:13:31] [PASSED] 0xBD6 (PVC)
[08:13:31] [PASSED] 0xBD7 (PVC)
[08:13:31] [PASSED] 0xBD8 (PVC)
[08:13:31] [PASSED] 0xBD9 (PVC)
[08:13:31] [PASSED] 0xBDA (PVC)
[08:13:31] [PASSED] 0xBDB (PVC)
[08:13:31] [PASSED] 0xBE0 (PVC)
[08:13:31] [PASSED] 0xBE1 (PVC)
[08:13:31] [PASSED] 0xBE5 (PVC)
[08:13:31] [PASSED] 0x7D40 (METEORLAKE)
[08:13:31] [PASSED] 0x7D45 (METEORLAKE)
[08:13:31] [PASSED] 0x7D55 (METEORLAKE)
[08:13:31] [PASSED] 0x7D60 (METEORLAKE)
[08:13:31] [PASSED] 0x7DD5 (METEORLAKE)
[08:13:31] [PASSED] 0x6420 (LUNARLAKE)
[08:13:31] [PASSED] 0x64A0 (LUNARLAKE)
[08:13:31] [PASSED] 0x64B0 (LUNARLAKE)
[08:13:31] [PASSED] 0xE202 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE209 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE20B (BATTLEMAGE)
[08:13:31] [PASSED] 0xE20C (BATTLEMAGE)
[08:13:31] [PASSED] 0xE20D (BATTLEMAGE)
[08:13:31] [PASSED] 0xE210 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE211 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE212 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE216 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE220 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE221 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE222 (BATTLEMAGE)
[08:13:31] [PASSED] 0xE223 (BATTLEMAGE)
[08:13:31] [PASSED] 0xB080 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB081 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB082 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB083 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB084 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB085 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB086 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB087 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB08F (PANTHERLAKE)
[08:13:31] [PASSED] 0xB090 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB0A0 (PANTHERLAKE)
[08:13:31] [PASSED] 0xB0B0 (PANTHERLAKE)
[08:13:31] [PASSED] 0xFD80 (PANTHERLAKE)
[08:13:31] [PASSED] 0xFD81 (PANTHERLAKE)
[08:13:31] [PASSED] 0xD740 (NOVALAKE_S)
[08:13:31] [PASSED] 0xD741 (NOVALAKE_S)
[08:13:31] [PASSED] 0xD742 (NOVALAKE_S)
[08:13:31] [PASSED] 0xD743 (NOVALAKE_S)
[08:13:31] [PASSED] 0xD744 (NOVALAKE_S)
[08:13:31] [PASSED] 0xD745 (NOVALAKE_S)
[08:13:31] [PASSED] 0x674C (CRESCENTISLAND)
[08:13:31] =============== [PASSED] check_platform_desc ===============
[08:13:31] ===================== [PASSED] xe_pci ======================
[08:13:31] =================== xe_rtp (2 subtests) ====================
[08:13:31] =============== xe_rtp_process_to_sr_tests  ================
[08:13:31] [PASSED] coalesce-same-reg
[08:13:31] [PASSED] no-match-no-add
[08:13:31] [PASSED] match-or
[08:13:31] [PASSED] match-or-xfail
[08:13:31] [PASSED] no-match-no-add-multiple-rules
[08:13:31] [PASSED] two-regs-two-entries
[08:13:31] [PASSED] clr-one-set-other
[08:13:31] [PASSED] set-field
[08:13:31] [PASSED] conflict-duplicate
[08:13:31] [PASSED] conflict-not-disjoint
[08:13:31] [PASSED] conflict-reg-type
[08:13:31] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[08:13:31] ================== xe_rtp_process_tests  ===================
[08:13:31] [PASSED] active1
[08:13:31] [PASSED] active2
[08:13:31] [PASSED] active-inactive
[08:13:31] [PASSED] inactive-active
[08:13:31] [PASSED] inactive-1st_or_active-inactive
[08:13:31] [PASSED] inactive-2nd_or_active-inactive
[08:13:31] [PASSED] inactive-last_or_active-inactive
stty: 'standard input': Inappropriate ioctl for device
[08:13:31] [PASSED] inactive-no_or_active-inactive
[08:13:31] ============== [PASSED] xe_rtp_process_tests ===============
[08:13:31] ===================== [PASSED] xe_rtp ======================
[08:13:31] ==================== xe_wa (1 subtest) =====================
[08:13:31] ======================== xe_wa_gt  =========================
[08:13:31] [PASSED] TIGERLAKE B0
[08:13:31] [PASSED] DG1 A0
[08:13:31] [PASSED] DG1 B0
[08:13:31] [PASSED] ALDERLAKE_S A0
[08:13:31] [PASSED] ALDERLAKE_S B0
[08:13:31] [PASSED] ALDERLAKE_S C0
[08:13:31] [PASSED] ALDERLAKE_S D0
[08:13:31] [PASSED] ALDERLAKE_P A0
[08:13:31] [PASSED] ALDERLAKE_P B0
[08:13:31] [PASSED] ALDERLAKE_P C0
[08:13:31] [PASSED] ALDERLAKE_S RPLS D0
[08:13:31] [PASSED] ALDERLAKE_P RPLU E0
[08:13:31] [PASSED] DG2 G10 C0
[08:13:31] [PASSED] DG2 G11 B1
[08:13:31] [PASSED] DG2 G12 A1
[08:13:31] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:13:31] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:13:31] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[08:13:31] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[08:13:31] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[08:13:31] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[08:13:31] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[08:13:31] ==================== [PASSED] xe_wa_gt =====================
[08:13:31] ====================== [PASSED] xe_wa ======================
[08:13:31] ============================================================
[08:13:31] Testing complete. Ran 318 tests: passed: 300, skipped: 18
[08:13:31] Elapsed time: 35.129s total, 4.180s configuring, 30.583s building, 0.340s running

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

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

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



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

* ✓ Xe.CI.BAT: success for PF: Add support for MERT
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
                   ` (5 preceding siblings ...)
  2025-10-31  8:14 ` ✓ CI.KUnit: success " Patchwork
@ 2025-10-31  9:29 ` Patchwork
  2025-10-31 19:25 ` ✓ Xe.CI.Full: " Patchwork
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2025-10-31  9:29 UTC (permalink / raw)
  To: Lukasz Laguna; +Cc: intel-xe

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

== Series Details ==

Series: PF: Add support for MERT
URL   : https://patchwork.freedesktop.org/series/156807/
State : success

== Summary ==

CI Bug Log - changes from xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267_BAT -> xe-pw-156807v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (12 -> 12)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


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

  * Linux: xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267 -> xe-pw-156807v1

  IGT_8604: 8604
  xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267: fbd719e0eb058dd8b23a734e199f52e81cd9f267
  xe-pw-156807v1: 156807v1

== Logs ==

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

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

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

* ✓ Xe.CI.Full: success for PF: Add support for MERT
  2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
                   ` (6 preceding siblings ...)
  2025-10-31  9:29 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-10-31 19:25 ` Patchwork
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2025-10-31 19:25 UTC (permalink / raw)
  To: Lukasz Laguna; +Cc: intel-xe

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

== Series Details ==

Series: PF: Add support for MERT
URL   : https://patchwork.freedesktop.org/series/156807/
State : success

== Summary ==

CI Bug Log - changes from xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267_FULL -> xe-pw-156807v1_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

  Here are the changes found in xe-pw-156807v1_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_atomic_transition@modeset-transition:
    - shard-adlp:         [PASS][1] -> [DMESG-WARN][2] ([Intel XE#2953] / [Intel XE#4173]) +2 other tests dmesg-warn
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-adlp-6/igt@kms_atomic_transition@modeset-transition.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-adlp-9/igt@kms_atomic_transition@modeset-transition.html

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][3] ([Intel XE#2327]) +2 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_big_fb@linear-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][4] ([Intel XE#1124])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-463/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#1124]) +2 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#607])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-dg2-set2:     NOTRUN -> [SKIP][7] ([Intel XE#610])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-432/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
    - shard-bmg:          [PASS][8] -> [SKIP][9] ([Intel XE#2314] / [Intel XE#2894])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#2314] / [Intel XE#2894])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-1-displays-2160x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#367])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_bw@linear-tiling-1-displays-2160x1440p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#3432])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2887]) +4 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [PASS][14] -> [INCOMPLETE][15] ([Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [PASS][16] -> [INCOMPLETE][17] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-dg2-set2:     [PASS][18] -> [INCOMPLETE][19] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4:
    - shard-dg2-set2:     [PASS][20] -> [INCOMPLETE][21] ([Intel XE#2705] / [Intel XE#4212])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4.html
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
    - shard-dg2-set2:     [PASS][22] -> [INCOMPLETE][23] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-d-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#2652] / [Intel XE#787]) +8 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][25] ([Intel XE#455] / [Intel XE#787]) +3 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][26] ([Intel XE#787]) +13 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_chamelium_color@ctm-red-to-blue:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#2325]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_chamelium_color@ctm-red-to-blue.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#2252]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_content_protection@atomic@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][29] ([Intel XE#1178]) +1 other test fail
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-7/igt@kms_content_protection@atomic@pipe-a-dp-2.html

  * igt@kms_content_protection@uevent:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#2341])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#2321])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-32x32:
    - shard-dg2-set2:     NOTRUN -> [SKIP][32] ([Intel XE#455])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@kms_cursor_crc@cursor-random-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x10:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2320])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
    - shard-bmg:          [PASS][34] -> [SKIP][35] ([Intel XE#2291])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#1508])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_flip@2x-blocking-absolute-wf_vblank-interruptible:
    - shard-bmg:          NOTRUN -> [SKIP][37] ([Intel XE#2316]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_flip@2x-blocking-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
    - shard-bmg:          [PASS][38] -> [SKIP][39] ([Intel XE#2316]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [PASS][40] -> [FAIL][41] ([Intel XE#301]) +1 other test fail
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-suspend@d-dp4:
    - shard-dg2-set2:     [PASS][42] -> [INCOMPLETE][43] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-466/igt@kms_flip@flip-vs-suspend@d-dp4.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-434/igt@kms_flip@flip-vs-suspend@d-dp4.html

  * igt@kms_flip@flip-vs-wf_vblank-interruptible@c-hdmi-a1:
    - shard-adlp:         [PASS][44] -> [DMESG-WARN][45] ([Intel XE#4543]) +1 other test dmesg-warn
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-adlp-3/igt@kms_flip@flip-vs-wf_vblank-interruptible@c-hdmi-a1.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-adlp-1/igt@kms_flip@flip-vs-wf_vblank-interruptible@c-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#2293] / [Intel XE#2380])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][47] ([Intel XE#2293])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#2312]) +13 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen:
    - shard-dg2-set2:     NOTRUN -> [SKIP][49] ([Intel XE#651]) +2 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#6313])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#5390]) +1 other test skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#2311]) +4 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#2313]) +7 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][54] ([Intel XE#653]) +1 other test skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_hdr@invalid-hdr:
    - shard-dg2-set2:     [PASS][55] -> [SKIP][56] ([Intel XE#455])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-464/igt@kms_hdr@invalid-hdr.html

  * igt@kms_hdr@static-swap:
    - shard-bmg:          [PASS][57] -> [SKIP][58] ([Intel XE#1503])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_hdr@static-swap.html
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_hdr@static-swap.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#2927])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#2393])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-bmg:          [PASS][61] -> [SKIP][62] ([Intel XE#4596])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-2/igt@kms_plane_multiple@2x-tiling-4.html
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#2571])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-bmg:          NOTRUN -> [SKIP][64] ([Intel XE#2392])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#1406] / [Intel XE#1489]) +2 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr@fbc-pr-cursor-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +6 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_psr@fbc-pr-cursor-plane-onoff.html

  * igt@kms_psr@psr-cursor-plane-move:
    - shard-dg2-set2:     NOTRUN -> [SKIP][67] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][68] ([Intel XE#3414])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_setmode@clone-exclusive-crtc:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#1435]) +1 other test skip
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_setmode@clone-exclusive-crtc.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          NOTRUN -> [SKIP][70] ([Intel XE#2426])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern.html

  * igt@xe_eudebug@vm-bind-clear:
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#4837]) +3 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@xe_eudebug@vm-bind-clear.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap:
    - shard-bmg:          NOTRUN -> [SKIP][72] ([Intel XE#2322]) +2 other tests skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap.html

  * igt@xe_exec_fault_mode@many-bindexecqueue-userptr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][73] ([Intel XE#288]) +1 other test skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_exec_fault_mode@many-bindexecqueue-userptr.html

  * igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma:
    - shard-lnl:          [PASS][74] -> [FAIL][75] ([Intel XE#5625])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-lnl-2/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-lnl-2/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html

  * igt@xe_exec_system_allocator@threads-many-mmap-new-huge-nomemset:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#4943]) +6 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@xe_exec_system_allocator@threads-many-mmap-new-huge-nomemset.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-stride-malloc-madvise:
    - shard-dg2-set2:     NOTRUN -> [SKIP][77] ([Intel XE#4915]) +36 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-malloc-madvise.html

  * igt@xe_gt_freq@freq_fixed_idle:
    - shard-dg2-set2:     [PASS][78] -> [FAIL][79] ([Intel XE#6407])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-432/igt@xe_gt_freq@freq_fixed_idle.html
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-434/igt@xe_gt_freq@freq_fixed_idle.html

  * igt@xe_oa@tail-address-wrap:
    - shard-dg2-set2:     NOTRUN -> [SKIP][80] ([Intel XE#6032])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_oa@tail-address-wrap.html

  * igt@xe_pat@pat-index-xelpg:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#2236])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-bmg:          NOTRUN -> [SKIP][82] ([Intel XE#2284])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pmu@all-fn-engine-activity-load:
    - shard-dg2-set2:     NOTRUN -> [SKIP][83] ([Intel XE#4650])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_pmu@all-fn-engine-activity-load.html

  * igt@xe_pmu@fn-engine-activity-sched-if-idle@engine-drm_xe_engine_class_video_enhance1:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][84] ([Intel XE#3876] / [Intel XE#3970]) +1 other test dmesg-warn
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@xe_pmu@fn-engine-activity-sched-if-idle@engine-drm_xe_engine_class_video_enhance1.html

  * igt@xe_query@multigpu-query-uc-fw-version-huc:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#944]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@xe_query@multigpu-query-uc-fw-version-huc.html

  
#### Possible fixes ####

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
    - shard-adlp:         [FAIL][86] ([Intel XE#3908]) -> [PASS][87] +1 other test pass
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-adlp-4/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-adlp-4/igt@kms_atomic_transition@plane-toggle-modeset-transition.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-bmg:          [SKIP][88] ([Intel XE#2291]) -> [PASS][89] +2 other tests pass
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-2/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_flip@2x-flip-vs-suspend@bd-dp2-hdmi-a3:
    - shard-bmg:          [INCOMPLETE][90] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][91] +1 other test pass
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-8/igt@kms_flip@2x-flip-vs-suspend@bd-dp2-hdmi-a3.html
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-1/igt@kms_flip@2x-flip-vs-suspend@bd-dp2-hdmi-a3.html

  * igt@kms_flip@2x-nonexisting-fb:
    - shard-bmg:          [SKIP][92] ([Intel XE#2316]) -> [PASS][93] +8 other tests pass
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_flip@2x-nonexisting-fb.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-7/igt@kms_flip@2x-nonexisting-fb.html

  * igt@kms_flip@flip-vs-blocking-wf-vblank:
    - shard-adlp:         [DMESG-WARN][94] ([Intel XE#4543]) -> [PASS][95] +3 other tests pass
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-adlp-1/igt@kms_flip@flip-vs-blocking-wf-vblank.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-adlp-9/igt@kms_flip@flip-vs-blocking-wf-vblank.html

  * igt@kms_joiner@invalid-modeset-force-big-joiner:
    - shard-bmg:          [SKIP][96] ([Intel XE#3012]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-2/igt@kms_joiner@invalid-modeset-force-big-joiner.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-bmg:          [SKIP][98] ([Intel XE#4596]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-x.html

  * igt@kms_setmode@basic@pipe-b-edp-1:
    - shard-lnl:          [FAIL][100] ([Intel XE#6361]) -> [PASS][101] +1 other test pass
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-lnl-2/igt@kms_setmode@basic@pipe-b-edp-1.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-lnl-2/igt@kms_setmode@basic@pipe-b-edp-1.html

  * igt@kms_vblank@wait-idle-hang@pipe-a-hdmi-a-1:
    - shard-adlp:         [DMESG-WARN][102] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][103] +3 other tests pass
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-adlp-6/igt@kms_vblank@wait-idle-hang@pipe-a-hdmi-a-1.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-adlp-9/igt@kms_vblank@wait-idle-hang@pipe-a-hdmi-a-1.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          [INCOMPLETE][104] ([Intel XE#6321]) -> [PASS][105] +1 other test pass
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@xe_evict@evict-mixed-many-threads-small.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-5/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-rebind:
    - shard-dg2-set2:     [INCOMPLETE][106] -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-rebind.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-rebind.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv:
    - shard-dg2-set2:     [DMESG-WARN][108] ([Intel XE#5893]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html

  * igt@xe_module_load@load:
    - shard-dg2-set2:     ([PASS][110], [PASS][111], [PASS][112], [PASS][113], [PASS][114], [PASS][115], [PASS][116], [PASS][117], [PASS][118], [PASS][119], [PASS][120], [PASS][121], [PASS][122], [PASS][123], [SKIP][124], [PASS][125], [PASS][126], [PASS][127], [PASS][128], [PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135]) ([Intel XE#378]) -> ([PASS][136], [PASS][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [PASS][145], [PASS][146], [PASS][147], [PASS][148], [PASS][149], [PASS][150], [PASS][151], [PASS][152], [PASS][153], [PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160])
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@xe_module_load@load.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-464/igt@xe_module_load@load.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-466/igt@xe_module_load@load.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-466/igt@xe_module_load@load.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-435/igt@xe_module_load@load.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-464/igt@xe_module_load@load.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-432/igt@xe_module_load@load.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-464/igt@xe_module_load@load.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-435/igt@xe_module_load@load.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-434/igt@xe_module_load@load.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-434/igt@xe_module_load@load.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-434/igt@xe_module_load@load.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-463/igt@xe_module_load@load.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-466/igt@xe_module_load@load.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@xe_module_load@load.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-463/igt@xe_module_load@load.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-463/igt@xe_module_load@load.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-436/igt@xe_module_load@load.html
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-436/igt@xe_module_load@load.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-435/igt@xe_module_load@load.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-432/igt@xe_module_load@load.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-432/igt@xe_module_load@load.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-436/igt@xe_module_load@load.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@xe_module_load@load.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@xe_module_load@load.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-433/igt@xe_module_load@load.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-432/igt@xe_module_load@load.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-466/igt@xe_module_load@load.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-436/igt@xe_module_load@load.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-433/igt@xe_module_load@load.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-433/igt@xe_module_load@load.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-433/igt@xe_module_load@load.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-463/igt@xe_module_load@load.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-464/igt@xe_module_load@load.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-464/igt@xe_module_load@load.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-464/igt@xe_module_load@load.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-434/igt@xe_module_load@load.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-463/igt@xe_module_load@load.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-463/igt@xe_module_load@load.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-466/igt@xe_module_load@load.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_module_load@load.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_module_load@load.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-463/igt@xe_module_load@load.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@xe_module_load@load.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-432/igt@xe_module_load@load.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-436/igt@xe_module_load@load.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-434/igt@xe_module_load@load.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-432/igt@xe_module_load@load.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-434/igt@xe_module_load@load.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-466/igt@xe_module_load@load.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-466/igt@xe_module_load@load.html

  
#### Warnings ####

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][161] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345] / [Intel XE#6168]) -> [INCOMPLETE][162] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html

  * igt@kms_content_protection@atomic:
    - shard-bmg:          [SKIP][163] ([Intel XE#2341]) -> [FAIL][164] ([Intel XE#1178]) +1 other test fail
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_content_protection@atomic.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-7/igt@kms_content_protection@atomic.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][165] ([Intel XE#2311]) -> [SKIP][166] ([Intel XE#2312]) +5 other tests skip
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][167] ([Intel XE#5390]) -> [SKIP][168] ([Intel XE#2312]) +2 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][169] ([Intel XE#2312]) -> [SKIP][170] ([Intel XE#5390]) +6 other tests skip
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-move:
    - shard-bmg:          [SKIP][171] ([Intel XE#2312]) -> [SKIP][172] ([Intel XE#2311]) +14 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-move.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          [SKIP][173] ([Intel XE#2313]) -> [SKIP][174] ([Intel XE#2312]) +7 other tests skip
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          [SKIP][175] ([Intel XE#2312]) -> [SKIP][176] ([Intel XE#2313]) +16 other tests skip
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][177] ([Intel XE#3544]) -> [SKIP][178] ([Intel XE#3374] / [Intel XE#3544])
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-4/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-bmg:          [SKIP][179] ([Intel XE#5021]) -> [SKIP][180] ([Intel XE#4596])
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-y.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][181] ([Intel XE#2426]) -> [SKIP][182] ([Intel XE#2509])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156807v1/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#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [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#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
  [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#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#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [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#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
  [Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
  [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#2571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2571
  [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#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
  [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#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [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#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
  [Intel XE#3908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3908
  [Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
  [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#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
  [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#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
  [Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
  [Intel XE#5893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5893
  [Intel XE#6032]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6032
  [Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#6168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6168
  [Intel XE#6313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6313
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [Intel XE#6361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6361
  [Intel XE#6407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6407
  [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#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [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-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267 -> xe-pw-156807v1

  IGT_8604: 8604
  xe-4018-fbd719e0eb058dd8b23a734e199f52e81cd9f267: fbd719e0eb058dd8b23a734e199f52e81cd9f267
  xe-pw-156807v1: 156807v1

== Logs ==

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

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

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

* Re: [PATCH v2 2/4] drm/xe/pf: Configure LMTT in MERT
  2025-10-31  8:04 ` [PATCH v2 2/4] drm/xe/pf: Configure LMTT in MERT Lukasz Laguna
@ 2025-11-24 10:47   ` Piotr Piórkowski
  0 siblings, 0 replies; 12+ messages in thread
From: Piotr Piórkowski @ 2025-11-24 10:47 UTC (permalink / raw)
  To: Lukasz Laguna; +Cc: intel-xe, michal.wajdeczko

Lukasz Laguna <lukasz.laguna@intel.com> wrote on pią [2025-paź-31 09:04:59 +0100]:
> On platforms with standalone MERT, the PF driver needs to program LMTT
> in MERT's LMEM_CFG register.
> 
> Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
> ---
>  drivers/gpu/drm/xe/regs/xe_mert_regs.h | 13 +++++++++++++
>  drivers/gpu/drm/xe/xe_lmtt.c           | 10 +++++++++-
>  2 files changed, 22 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_mert_regs.h
> 
> diff --git a/drivers/gpu/drm/xe/regs/xe_mert_regs.h b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> new file mode 100644
> index 000000000000..5b7c15e08747
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> @@ -0,0 +1,13 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#ifndef _XE_MERT_REGS_H_
> +#define _XE_MERT_REGS_H_
> +
> +#include "regs/xe_reg_defs.h"
> +
> +#define MERT_LMEM_CFG				XE_REG(0x1448b0)
> +
> +#endif /* _XE_MERT_REGS_H_ */
> diff --git a/drivers/gpu/drm/xe/xe_lmtt.c b/drivers/gpu/drm/xe/xe_lmtt.c
> index 4dc1de482eee..f50c5a4b9edf 100644
> --- a/drivers/gpu/drm/xe/xe_lmtt.c
> +++ b/drivers/gpu/drm/xe/xe_lmtt.c
> @@ -8,6 +8,7 @@
>  #include <drm/drm_managed.h>
>  
>  #include "regs/xe_gt_regs.h"
> +#include "regs/xe_mert_regs.h"
>  
>  #include "xe_assert.h"
>  #include "xe_bo.h"
> @@ -17,6 +18,7 @@
>  #include "xe_mmio.h"
>  #include "xe_res_cursor.h"
>  #include "xe_sriov.h"
> +#include "xe_tile.h"
>  #include "xe_tile_sriov_printk.h"
>  
>  /**
> @@ -196,16 +198,22 @@ static void lmtt_setup_dir_ptr(struct xe_lmtt *lmtt)
>  	struct xe_device *xe = tile_to_xe(tile);
>  	dma_addr_t offset = xe_bo_main_addr(lmtt->pd->bo, XE_PAGE_SIZE);
>  	struct xe_gt *gt;
> +	u32 config;
>  	u8 id;
>  
>  	lmtt_debug(lmtt, "DIR offset %pad\n", &offset);
>  	lmtt_assert(lmtt, xe_bo_is_vram(lmtt->pd->bo));
>  	lmtt_assert(lmtt, IS_ALIGNED(offset, SZ_64K));
>  
> +	config = LMEM_EN | REG_FIELD_PREP(LMTT_DIR_PTR, offset / SZ_64K);
> +
>  	for_each_gt_on_tile(gt, tile, id)
>  		xe_mmio_write32(&gt->mmio,
>  				GRAPHICS_VER(xe) >= 20 ? XE2_LMEM_CFG : LMEM_CFG,
> -				LMEM_EN | REG_FIELD_PREP(LMTT_DIR_PTR, offset / SZ_64K));
> +				config);
> +
> +	if (xe_device_has_mert(xe) && xe_tile_is_root(tile))
> +		xe_mmio_write32(&tile->mmio, MERT_LMEM_CFG, config);
>  }

LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>


>  
>  /**
> -- 
> 2.40.0
> 

-- 

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

* Re: [PATCH v2 3/4] drm/xe/pf: Add TLB invalidation support for MERT
  2025-10-31  8:05 ` [PATCH v2 3/4] drm/xe/pf: Add TLB invalidation support for MERT Lukasz Laguna
@ 2025-11-24 13:43   ` Piotr Piórkowski
  0 siblings, 0 replies; 12+ messages in thread
From: Piotr Piórkowski @ 2025-11-24 13:43 UTC (permalink / raw)
  To: Lukasz Laguna; +Cc: intel-xe, michal.wajdeczko

Lukasz Laguna <lukasz.laguna@intel.com> wrote on pią [2025-paź-31 09:05:00 +0100]:
> Add support for triggering and handling MERT TLB invalidation. After
> LMTT updates, the MERT TLB invalidation is initiated to ensure memory
> translations remain coherent.
> 
> Completion of the invalidation is signaled via MERT interrupt (bit 13 in
> the GFX master interrupt register). Detect and handle this interrupt to
> properly synchronize the invalidation flow.
> 
> Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
> ---
> v2:
>  - squash commits (Matt Roper),
>  - fix locking (Matt Brost, Lucas),
>  - move the implementation to xe_mert.c (Michal Wajdeczko).
> ---
>  drivers/gpu/drm/xe/Makefile            |  1 +
>  drivers/gpu/drm/xe/regs/xe_irq_regs.h  |  1 +
>  drivers/gpu/drm/xe/regs/xe_mert_regs.h |  3 ++
>  drivers/gpu/drm/xe/xe_device_types.h   |  4 ++
>  drivers/gpu/drm/xe/xe_irq.c            |  2 +
>  drivers/gpu/drm/xe/xe_lmtt.c           | 15 +++++-
>  drivers/gpu/drm/xe/xe_mert.c           | 71 ++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_mert.h           | 32 ++++++++++++
>  drivers/gpu/drm/xe/xe_sriov_pf.c       |  4 ++
>  9 files changed, 131 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/gpu/drm/xe/xe_mert.c
>  create mode 100644 drivers/gpu/drm/xe/xe_mert.h
> 
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> index bfc72f3dd61b..e2a7e460c2d9 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -172,6 +172,7 @@ xe-$(CONFIG_PCI_IOV) += \
>  	xe_lmtt.o \
>  	xe_lmtt_2l.o \
>  	xe_lmtt_ml.o \
> +	xe_mert.o \
>  	xe_pci_sriov.o \
>  	xe_sriov_pf.o \
>  	xe_sriov_pf_control.o \
> diff --git a/drivers/gpu/drm/xe/regs/xe_irq_regs.h b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
> index 2f97662d958d..9d74f454d3ff 100644
> --- a/drivers/gpu/drm/xe/regs/xe_irq_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
> @@ -20,6 +20,7 @@
>  #define   GU_MISC_IRQ				REG_BIT(29)
>  #define   ERROR_IRQ(x)				REG_BIT(26 + (x))
>  #define   DISPLAY_IRQ				REG_BIT(16)
> +#define   SOC_H2DMEMINT_IRQ			REG_BIT(13)
>  #define   I2C_IRQ				REG_BIT(12)
>  #define   GT_DW_IRQ(x)				REG_BIT(x)
>  
> diff --git a/drivers/gpu/drm/xe/regs/xe_mert_regs.h b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> index 5b7c15e08747..aef66c04901d 100644
> --- a/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> @@ -10,4 +10,7 @@
>  
>  #define MERT_LMEM_CFG				XE_REG(0x1448b0)
>  
> +#define MERT_TLB_INV_DESC_A			XE_REG(0x14cf7c)
> +#define   MERT_TLB_INV_DESC_A_VALID		REG_BIT(0)
> +
>  #endif /* _XE_MERT_REGS_H_ */
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 0b95d6539bc0..38623def6f30 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -17,6 +17,7 @@
>  #include "xe_late_bind_fw_types.h"
>  #include "xe_lmtt_types.h"
>  #include "xe_memirq_types.h"
> +#include "xe_mert.h"
>  #include "xe_oa_types.h"
>  #include "xe_platform_types.h"
>  #include "xe_pmu_types.h"
> @@ -219,6 +220,9 @@ struct xe_tile {
>  
>  	/** @debugfs: debugfs directory associated with this tile */
>  	struct dentry *debugfs;
> +
> +	/** @mert: MERT-related data */
> +	struct xe_mert mert;
>  };
>  
>  /**
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index e5ed0242f7b1..919ef19149be 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -21,6 +21,7 @@
>  #include "xe_hw_error.h"
>  #include "xe_i2c.h"
>  #include "xe_memirq.h"
> +#include "xe_mert.h"
>  #include "xe_mmio.h"
>  #include "xe_pxp.h"
>  #include "xe_sriov.h"
> @@ -525,6 +526,7 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
>  				xe_heci_csc_irq_handler(xe, master_ctl);
>  			xe_display_irq_handler(xe, master_ctl);
>  			xe_i2c_irq_handler(xe, master_ctl);
> +			xe_mert_irq_handler(xe, master_ctl);
>  			gu_misc_iir = gu_misc_irq_ack(xe, master_ctl);
>  		}
>  	}
> diff --git a/drivers/gpu/drm/xe/xe_lmtt.c b/drivers/gpu/drm/xe/xe_lmtt.c
> index f50c5a4b9edf..3059ea6525bc 100644
> --- a/drivers/gpu/drm/xe/xe_lmtt.c
> +++ b/drivers/gpu/drm/xe/xe_lmtt.c
> @@ -15,6 +15,7 @@
>  #include "xe_tlb_inval.h"
>  #include "xe_lmtt.h"
>  #include "xe_map.h"
> +#include "xe_mert.h"
>  #include "xe_mmio.h"
>  #include "xe_res_cursor.h"
>  #include "xe_sriov.h"
> @@ -270,19 +271,29 @@ static int lmtt_invalidate_hw(struct xe_lmtt *lmtt)
>   * @lmtt: the &xe_lmtt to invalidate
>   *
>   * Send requests to all GuCs on this tile to invalidate all TLBs.
> + * If the platform has a standalone MERT, also invalidate MERT's TLB.
>   *
>   * This function should be called only when running as a PF driver.
>   */
>  void xe_lmtt_invalidate_hw(struct xe_lmtt *lmtt)
>  {
> +	struct xe_tile *tile = lmtt_to_tile(lmtt);
> +	struct xe_device *xe = lmtt_to_xe(lmtt);
>  	int err;
>  
> -	lmtt_assert(lmtt, IS_SRIOV_PF(lmtt_to_xe(lmtt)));
> +	lmtt_assert(lmtt, IS_SRIOV_PF(xe));
>  
>  	err = lmtt_invalidate_hw(lmtt);
>  	if (err)
> -		xe_tile_sriov_err(lmtt_to_tile(lmtt), "LMTT invalidation failed (%pe)",
> +		xe_tile_sriov_err(tile, "LMTT invalidation failed (%pe)",
>  				  ERR_PTR(err));
> +
> +	if (xe_device_has_mert(xe) && xe_tile_is_root(tile)) {
> +		err = xe_mert_invalidate_lmtt(tile);
> +		if (err)
> +			xe_tile_sriov_err(tile, "MERT LMTT invalidation failed (%pe)",
> +					  ERR_PTR(err));
> +	}
>  }
>  
>  static void lmtt_write_pte(struct xe_lmtt *lmtt, struct xe_lmtt_pt *pt,
> diff --git a/drivers/gpu/drm/xe/xe_mert.c b/drivers/gpu/drm/xe/xe_mert.c
> new file mode 100644
> index 000000000000..304cc8421999
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_mert.c
> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright(c) 2025, Intel Corporation. All rights reserved.
> + */
> +
> +#include "regs/xe_irq_regs.h"
> +#include "regs/xe_mert_regs.h"
> +
> +#include "xe_device.h"
> +#include "xe_mert.h"
> +#include "xe_mmio.h"
> +#include "xe_tile.h"
> +
> +/**
> + * xe_mert_invalidate_lmtt - Invalidate MERT LMTT
> + * @tile: the &xe_tile
> + *
> + * Trigger invalidation of the MERT LMTT and wait for completion.
> + *
> + * Return: 0 on success or -ETIMEDOUT in case of a timeout.
> + */
> +int xe_mert_invalidate_lmtt(struct xe_tile *tile)
> +{
> +	struct xe_device *xe = tile_to_xe(tile);
> +	struct xe_mert *mert = &tile->mert;
> +	const long timeout = HZ / 4;
> +	unsigned long flags;
> +
> +	xe_assert(xe, xe_device_has_mert(xe));
> +	xe_assert(xe, xe_tile_is_root(tile));
> +
> +	spin_lock_irqsave(&mert->lock, flags);
> +	if (!mert->tlb_inv_triggered) {
> +		mert->tlb_inv_triggered = true;
> +		reinit_completion(&mert->tlb_inv_done);
> +		xe_mmio_write32(&tile->mmio, MERT_TLB_INV_DESC_A, MERT_TLB_INV_DESC_A_VALID);
> +	}
> +	spin_unlock_irqrestore(&mert->lock, flags);
> +
> +	if (!wait_for_completion_timeout(&mert->tlb_inv_done, timeout))
> +		return -ETIMEDOUT;
> +
> +	return 0;
> +}
> +
> +/**
> + * xe_mert_irq_handler - Handler for MERT interrupts
> + * @xe: the &xe_device
> + * @master_ctl: interrupt register
> + *
> + * Handle interrupts generated by MERT.
> + */
> +void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl)
> +{
> +	struct xe_tile *tile = xe_device_get_root_tile(xe);
> +	unsigned long flags;
> +	u32 reg_val;
> +
> +	if (!(master_ctl & SOC_H2DMEMINT_IRQ))
> +		return;
> +
> +	spin_lock_irqsave(&tile->mert.lock, flags);
> +	if (tile->mert.tlb_inv_triggered) {
> +		reg_val = xe_mmio_read32(&tile->mmio, MERT_TLB_INV_DESC_A);
> +		if (!(reg_val & MERT_TLB_INV_DESC_A_VALID)) {
> +			tile->mert.tlb_inv_triggered = false;
> +			complete_all(&tile->mert.tlb_inv_done);
> +		}
> +	}
> +	spin_unlock_irqrestore(&tile->mert.lock, flags);
> +}
> diff --git a/drivers/gpu/drm/xe/xe_mert.h b/drivers/gpu/drm/xe/xe_mert.h
> new file mode 100644
> index 000000000000..2e14c5dec008
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_mert.h
> @@ -0,0 +1,32 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright(c) 2025, Intel Corporation. All rights reserved.
> + */
> +
> +#ifndef __XE_MERT_H__
> +#define __XE_MERT_H__
> +
> +#include <linux/completion.h>
> +#include <linux/spinlock.h>
> +#include <linux/types.h>
> +
> +struct xe_device;
> +struct xe_tile;
> +
> +struct xe_mert {
> +	/** @lock: protects the TLB invalidation status */
> +	spinlock_t lock;
> +	/** @tlb_inv_triggered: indicates if TLB invalidation was triggered */
> +	bool tlb_inv_triggered;
> +	/** @mert.tlb_inv_done: completion of TLB invalidation */
> +	struct completion tlb_inv_done;
> +};
> +
> +#ifdef CONFIG_PCI_IOV
> +int xe_mert_invalidate_lmtt(struct xe_tile *tile);
> +void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl);
> +#else
> +static inline void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl) { }
> +#endif
> +
> +#endif /* __XE_MERT_H__ */
> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf.c b/drivers/gpu/drm/xe/xe_sriov_pf.c
> index bc1ab9ee31d9..00e80f6d0634 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf.c
> @@ -88,6 +88,7 @@ bool xe_sriov_pf_readiness(struct xe_device *xe)
>   */
>  int xe_sriov_pf_init_early(struct xe_device *xe)
>  {
> +	struct xe_mert *mert = &xe_device_get_root_tile(xe)->mert;
>  	int err;
>  
>  	xe_assert(xe, IS_SRIOV_PF(xe));
> @@ -103,6 +104,9 @@ int xe_sriov_pf_init_early(struct xe_device *xe)
>  
>  	xe_sriov_pf_service_init(xe);
>  
> +	spin_lock_init(&mert->lock);
> +	init_completion(&mert->tlb_inv_done);
> +
>  	return 0;
>  }

LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>


>  
> -- 
> 2.40.0
> 

-- 

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

* Re: [PATCH v2 4/4] drm/xe/pf: Handle MERT catastrophic errors
  2025-10-31  8:05 ` [PATCH v2 4/4] drm/xe/pf: Handle MERT catastrophic errors Lukasz Laguna
@ 2025-11-24 13:52   ` Piotr Piórkowski
  0 siblings, 0 replies; 12+ messages in thread
From: Piotr Piórkowski @ 2025-11-24 13:52 UTC (permalink / raw)
  To: Lukasz Laguna; +Cc: intel-xe, michal.wajdeczko

Lukasz Laguna <lukasz.laguna@intel.com> wrote on pią [2025-paź-31 09:05:01 +0100]:
> The MERT block triggers an interrupt when a catastrophic error occurs.
> Update the interrupt handler to read the MERT catastrophic error type
> and log appropriate debug message.
> 
> Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
> ---
> v2:
>  - rebase,
>  - fix the VF ID extraction from the read value.
> ---
>  drivers/gpu/drm/xe/regs/xe_mert_regs.h |  5 +++++
>  drivers/gpu/drm/xe/xe_mert.c           | 11 +++++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/regs/xe_mert_regs.h b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> index aef66c04901d..c345e11ceea8 100644
> --- a/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_mert_regs.h
> @@ -10,6 +10,11 @@
>  
>  #define MERT_LMEM_CFG				XE_REG(0x1448b0)
>  
> +#define MERT_TLB_CT_INTR_ERR_ID_PORT		XE_REG(0x145190)
> +#define   MERT_TLB_CT_VFID_MASK			REG_GENMASK(16, 9)
> +#define   MERT_TLB_CT_ERROR_MASK		REG_GENMASK(5, 0)
> +#define     MERT_TLB_CT_LMTT_FAULT		0x05
> +
>  #define MERT_TLB_INV_DESC_A			XE_REG(0x14cf7c)
>  #define   MERT_TLB_INV_DESC_A_VALID		REG_BIT(0)
>  
> diff --git a/drivers/gpu/drm/xe/xe_mert.c b/drivers/gpu/drm/xe/xe_mert.c
> index 304cc8421999..e5e0ad872506 100644
> --- a/drivers/gpu/drm/xe/xe_mert.c
> +++ b/drivers/gpu/drm/xe/xe_mert.c
> @@ -55,10 +55,21 @@ void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl)
>  	struct xe_tile *tile = xe_device_get_root_tile(xe);
>  	unsigned long flags;
>  	u32 reg_val;
> +	u8 err;
>  
>  	if (!(master_ctl & SOC_H2DMEMINT_IRQ))
>  		return;
>  
> +	reg_val = xe_mmio_read32(&tile->mmio, MERT_TLB_CT_INTR_ERR_ID_PORT);
> +	xe_mmio_write32(&tile->mmio, MERT_TLB_CT_INTR_ERR_ID_PORT, 0);
> +
> +	err = reg_val & MERT_TLB_CT_ERROR_MASK;

NIT: To be consistent with the rest of the code, I would also use FIELD_GET here.


> +	if (err == MERT_TLB_CT_LMTT_FAULT)
> +		drm_dbg(&xe->drm, "MERT catastrophic error: LMTT fault (VF%u)\n",
> +			FIELD_GET(MERT_TLB_CT_VFID_MASK, reg_val));
> +	else if (err)
> +		drm_dbg(&xe->drm, "MERT catastrophic error: Unexpected fault (0x%x)\n", err);
> +
>  	spin_lock_irqsave(&tile->mert.lock, flags);
>  	if (tile->mert.tlb_inv_triggered) {
>  		reg_val = xe_mmio_read32(&tile->mmio, MERT_TLB_INV_DESC_A);

LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>

> -- 
> 2.40.0
> 

-- 

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

end of thread, other threads:[~2025-11-24 13:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-31  8:04 [PATCH v2 0/4] PF: Add support for MERT Lukasz Laguna
2025-10-31  8:04 ` [PATCH v2 1/4] drm/xe: Add device flag to indicate standalone MERT Lukasz Laguna
2025-10-31  8:04 ` [PATCH v2 2/4] drm/xe/pf: Configure LMTT in MERT Lukasz Laguna
2025-11-24 10:47   ` Piotr Piórkowski
2025-10-31  8:05 ` [PATCH v2 3/4] drm/xe/pf: Add TLB invalidation support for MERT Lukasz Laguna
2025-11-24 13:43   ` Piotr Piórkowski
2025-10-31  8:05 ` [PATCH v2 4/4] drm/xe/pf: Handle MERT catastrophic errors Lukasz Laguna
2025-11-24 13:52   ` Piotr Piórkowski
2025-10-31  8:12 ` ✗ CI.checkpatch: warning for PF: Add support for MERT Patchwork
2025-10-31  8:14 ` ✓ CI.KUnit: success " Patchwork
2025-10-31  9:29 ` ✓ Xe.CI.BAT: " Patchwork
2025-10-31 19:25 ` ✓ Xe.CI.Full: " Patchwork

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