intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/5] MSI-X support
@ 2024-11-28 12:53 Ilia Levi
  2024-11-28 12:53 ` [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic Ilia Levi
                   ` (17 more replies)
  0 siblings, 18 replies; 28+ messages in thread
From: Ilia Levi @ 2024-11-28 12:53 UTC (permalink / raw)
  To: intel-xe
  Cc: ilia.levi, piotr.piorkowski, niranjana.vishwanathapura,
	koby.elbaz, yaron.avizrat


This patch set introduces MSI-X workflow.
This is a rework of previously published series 135422
(https://patchwork.freedesktop.org/series/135422/).

It includes:
1. Basic MSI-X workflow with GuC-to-host and "default MSI-X"
   interrupt handlers.
2. MSI-X interrupts allocator to allow dynamic resource management.
3. uAPI flag to xe_exec_queue_create_ioctl that allows creating
   an exec queue with its own MSI-X interrupt.


v2: Rebase + fix kernel doc issue
v3: Rebase + fix sriov_basic test failure
v4: Another attempt to fix sriov flows
v5:
 - Rebase
 - Optimize irq.enabled access (additional patch)
 - Check irq.enabled in new IRQ handlers
 - Code review comments (Piotr)

Dani Liberman (1):
  drm/xe/uapi: Support requesting unique MSI-X for exec queue

Ilia Levi (4):
  drm/xe: Make irq enabled flag atomic
  drm/xe/irq: Separate MSI and MSI-X flows
  drm/xe: Initial MSI-X support for HW engines
  drm/xe/irq: Manage MSI-X interrupts allocation

 drivers/gpu/drm/xe/display/ext/i915_irq.c |   2 +-
 drivers/gpu/drm/xe/regs/xe_engine_regs.h  |   3 +
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h   |   3 +
 drivers/gpu/drm/xe/xe_device.c            |   4 +-
 drivers/gpu/drm/xe/xe_device.h            |   3 +-
 drivers/gpu/drm/xe/xe_device_types.h      |  10 +-
 drivers/gpu/drm/xe/xe_exec_queue.c        |  59 +++-
 drivers/gpu/drm/xe/xe_exec_queue_types.h  |   4 +
 drivers/gpu/drm/xe/xe_execlist.c          |  10 +-
 drivers/gpu/drm/xe/xe_hw_engine.c         |   7 +-
 drivers/gpu/drm/xe/xe_irq.c               | 360 ++++++++++++++++++----
 drivers/gpu/drm/xe/xe_irq.h               |   9 +
 drivers/gpu/drm/xe/xe_lrc.c               |  24 +-
 drivers/gpu/drm/xe/xe_lrc.h               |   2 +-
 include/uapi/drm/xe_drm.h                 |   8 +-
 15 files changed, 432 insertions(+), 76 deletions(-)

-- 
2.43.2


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

* [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
@ 2024-11-28 12:53 ` Ilia Levi
  2024-12-02 18:32   ` Piotr Piórkowski
  2024-11-28 12:53 ` [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows Ilia Levi
                   ` (16 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Ilia Levi @ 2024-11-28 12:53 UTC (permalink / raw)
  To: intel-xe
  Cc: ilia.levi, piotr.piorkowski, niranjana.vishwanathapura,
	koby.elbaz, yaron.avizrat

The irq.enabled flag was protected by a spin lock (irq.lock).
By making it atomic we no longer need to wait for the spin lock in
irq handlers. This will become especially useful for MSI-X irq
handlers to prevent lock contention between different interrupts.

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
---
 drivers/gpu/drm/xe/display/ext/i915_irq.c |  2 +-
 drivers/gpu/drm/xe/xe_device_types.h      |  2 +-
 drivers/gpu/drm/xe/xe_irq.c               | 29 ++++++-----------------
 3 files changed, 9 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/ext/i915_irq.c b/drivers/gpu/drm/xe/display/ext/i915_irq.c
index a7dbc6554d69..0c0f4533c34f 100644
--- a/drivers/gpu/drm/xe/display/ext/i915_irq.c
+++ b/drivers/gpu/drm/xe/display/ext/i915_irq.c
@@ -64,7 +64,7 @@ bool intel_irqs_enabled(struct xe_device *xe)
 	 * But at this point the xe irq is better protected against races,
 	 * although the full solution would be protecting the i915 side.
 	 */
-	return xe->irq.enabled;
+	return atomic_read(&xe->irq.enabled);
 }
 
 void intel_synchronize_irq(struct xe_device *xe)
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 6a04f975ec16..7ee114c17552 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -347,7 +347,7 @@ struct xe_device {
 		spinlock_t lock;
 
 		/** @irq.enabled: interrupts enabled on this device */
-		bool enabled;
+		atomic_t enabled;
 	} irq;
 
 	/** @ttm: ttm device */
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 7bf7201529ac..1c509e66694d 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -348,12 +348,8 @@ static irqreturn_t xelp_irq_handler(int irq, void *arg)
 	unsigned long intr_dw[2];
 	u32 identity[32];
 
-	spin_lock(&xe->irq.lock);
-	if (!xe->irq.enabled) {
-		spin_unlock(&xe->irq.lock);
+	if (!atomic_read(&xe->irq.enabled))
 		return IRQ_NONE;
-	}
-	spin_unlock(&xe->irq.lock);
 
 	master_ctl = xelp_intr_disable(xe);
 	if (!master_ctl) {
@@ -417,12 +413,8 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
 
 	/* TODO: This really shouldn't be copied+pasted */
 
-	spin_lock(&xe->irq.lock);
-	if (!xe->irq.enabled) {
-		spin_unlock(&xe->irq.lock);
+	if (!atomic_read(&xe->irq.enabled))
 		return IRQ_NONE;
-	}
-	spin_unlock(&xe->irq.lock);
 
 	master_tile_ctl = dg1_intr_disable(xe);
 	if (!master_tile_ctl) {
@@ -644,12 +636,8 @@ static irqreturn_t vf_mem_irq_handler(int irq, void *arg)
 	struct xe_tile *tile;
 	unsigned int id;
 
-	spin_lock(&xe->irq.lock);
-	if (!xe->irq.enabled) {
-		spin_unlock(&xe->irq.lock);
+	if (!atomic_read(&xe->irq.enabled))
 		return IRQ_NONE;
-	}
-	spin_unlock(&xe->irq.lock);
 
 	for_each_tile(tile, xe, id)
 		xe_memirq_handler(&tile->memirq);
@@ -674,10 +662,9 @@ static void irq_uninstall(void *arg)
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
 	int irq;
 
-	if (!xe->irq.enabled)
+	if (!atomic_xchg(&xe->irq.enabled, 0))
 		return;
 
-	xe->irq.enabled = false;
 	xe_irq_reset(xe);
 
 	irq = pci_irq_vector(pdev, 0);
@@ -724,7 +711,7 @@ int xe_irq_install(struct xe_device *xe)
 		return err;
 	}
 
-	xe->irq.enabled = true;
+	atomic_set(&xe->irq.enabled, 1);
 
 	xe_irq_postinstall(xe);
 
@@ -744,9 +731,7 @@ void xe_irq_suspend(struct xe_device *xe)
 {
 	int irq = to_pci_dev(xe->drm.dev)->irq;
 
-	spin_lock_irq(&xe->irq.lock);
-	xe->irq.enabled = false; /* no new irqs */
-	spin_unlock_irq(&xe->irq.lock);
+	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
 
 	synchronize_irq(irq); /* flush irqs */
 	xe_irq_reset(xe); /* turn irqs off */
@@ -762,7 +747,7 @@ void xe_irq_resume(struct xe_device *xe)
 	 * 1. no irq will arrive before the postinstall
 	 * 2. display is not yet resumed
 	 */
-	xe->irq.enabled = true;
+	atomic_set(&xe->irq.enabled, 1);
 	xe_irq_reset(xe);
 	xe_irq_postinstall(xe); /* turn irqs on */
 
-- 
2.43.2


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

* [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
  2024-11-28 12:53 ` [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic Ilia Levi
@ 2024-11-28 12:53 ` Ilia Levi
  2024-12-02 18:59   ` Piotr Piórkowski
  2024-11-28 12:53 ` [PATCH v5 3/5] drm/xe: Initial MSI-X support for HW engines Ilia Levi
                   ` (15 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Ilia Levi @ 2024-11-28 12:53 UTC (permalink / raw)
  To: intel-xe
  Cc: ilia.levi, piotr.piorkowski, niranjana.vishwanathapura,
	koby.elbaz, yaron.avizrat

A new flow is added for devices that support MSI-X:
- MSI-X vector 0 is used for GuC-to-host interrupt
- MSI-X vector 1 (aka default MSI-X) is used for HW engines

The default MSI-X will be passed to the HW engines in a subsequent
patch.

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
---
 drivers/gpu/drm/xe/xe_device.c       |   4 +-
 drivers/gpu/drm/xe/xe_device.h       |   3 +-
 drivers/gpu/drm/xe/xe_device_types.h |   6 +
 drivers/gpu/drm/xe/xe_irq.c          | 257 +++++++++++++++++++++++----
 drivers/gpu/drm/xe/xe_irq.h          |   3 +
 5 files changed, 237 insertions(+), 36 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 930bb2750e2e..f1246fa8b5cc 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -325,7 +325,9 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
 	xe->info.revid = pdev->revision;
 	xe->info.force_execlist = xe_modparam.force_execlist;
 
-	spin_lock_init(&xe->irq.lock);
+	err = xe_irq_init(xe);
+	if (err)
+		goto err;
 
 	init_waitqueue_head(&xe->ufence_wq);
 
diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
index f1fbfe916867..fc3c2af3fb7f 100644
--- a/drivers/gpu/drm/xe/xe_device.h
+++ b/drivers/gpu/drm/xe/xe_device.h
@@ -157,8 +157,7 @@ static inline bool xe_device_has_sriov(struct xe_device *xe)
 
 static inline bool xe_device_has_msix(struct xe_device *xe)
 {
-	/* TODO: change this when MSI-X support is fully integrated */
-	return false;
+	return xe->irq.msix.nvec > 0;
 }
 
 static inline bool xe_device_has_memirq(struct xe_device *xe)
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 7ee114c17552..ed638067aa26 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -348,6 +348,12 @@ struct xe_device {
 
 		/** @irq.enabled: interrupts enabled on this device */
 		atomic_t enabled;
+
+		/** @irq.msix: irq info for platforms that support MSI-X */
+		struct {
+			/** @irq.msix.nvec: number of MSI-X interrupts */
+			u16 nvec;
+		} msix;
 	} irq;
 
 	/** @ttm: ttm device */
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 1c509e66694d..b8a0b9bbf24c 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -10,6 +10,7 @@
 #include <drm/drm_managed.h>
 
 #include "display/xe_display.h"
+#include "regs/xe_guc_regs.h"
 #include "regs/xe_irq_regs.h"
 #include "xe_device.h"
 #include "xe_drv.h"
@@ -29,6 +30,11 @@
 #define IIR(offset)				XE_REG(offset + 0x8)
 #define IER(offset)				XE_REG(offset + 0xc)
 
+static int xe_irq_msix_init(struct xe_device *xe);
+static void xe_irq_msix_free(struct xe_device *xe);
+static int xe_irq_msix_request_irqs(struct xe_device *xe);
+static void xe_irq_msix_synchronize_irq(struct xe_device *xe);
+
 static void assert_iir_is_zero(struct xe_mmio *mmio, struct xe_reg reg)
 {
 	u32 val = xe_mmio_read32(mmio, reg);
@@ -572,6 +578,11 @@ static void xe_irq_reset(struct xe_device *xe)
 	if (IS_SRIOV_VF(xe))
 		return vf_irq_reset(xe);
 
+	if (xe_device_uses_memirq(xe)) {
+		for_each_tile(tile, xe, id)
+			xe_memirq_reset(&tile->memirq);
+	}
+
 	for_each_tile(tile, xe, id) {
 		if (GRAPHICS_VERx100(xe) >= 1210)
 			dg1_irq_reset(tile);
@@ -614,6 +625,14 @@ static void xe_irq_postinstall(struct xe_device *xe)
 	if (IS_SRIOV_VF(xe))
 		return vf_irq_postinstall(xe);
 
+	if (xe_device_uses_memirq(xe)) {
+		struct xe_tile *tile;
+		unsigned int id;
+
+		for_each_tile(tile, xe, id)
+			xe_memirq_postinstall(&tile->memirq);
+	}
+
 	xe_display_irq_postinstall(xe, xe_root_mmio_gt(xe));
 
 	/*
@@ -656,60 +675,83 @@ static irq_handler_t xe_irq_handler(struct xe_device *xe)
 		return xelp_irq_handler;
 }
 
-static void irq_uninstall(void *arg)
+static int xe_irq_msi_request_irqs(struct xe_device *xe)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	irq_handler_t irq_handler;
+	int irq, err;
+
+	irq_handler = xe_irq_handler(xe);
+	if (!irq_handler) {
+		drm_err(&xe->drm, "No supported interrupt handler");
+		return -EINVAL;
+	}
+
+	irq = pci_irq_vector(pdev, 0);
+	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
+	if (err < 0) {
+		drm_err(&xe->drm, "Failed to request MSI IRQ %d\n", err);
+		return err;
+	}
+
+	return 0;
+}
+
+static void xe_irq_msi_free(struct xe_device *xe)
 {
-	struct xe_device *xe = arg;
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
 	int irq;
 
+	irq = pci_irq_vector(pdev, 0);
+	free_irq(irq, xe);
+}
+
+static void irq_uninstall(void *arg)
+{
+	struct xe_device *xe = arg;
+
 	if (!atomic_xchg(&xe->irq.enabled, 0))
 		return;
 
 	xe_irq_reset(xe);
 
-	irq = pci_irq_vector(pdev, 0);
-	free_irq(irq, xe);
+	if (xe_device_has_msix(xe))
+		xe_irq_msix_free(xe);
+	else
+		xe_irq_msi_free(xe);
+}
+
+int xe_irq_init(struct xe_device *xe)
+{
+	spin_lock_init(&xe->irq.lock);
+
+	return xe_irq_msix_init(xe);
 }
 
 int xe_irq_install(struct xe_device *xe)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
-	unsigned int irq_flags = PCI_IRQ_MSIX;
-	irq_handler_t irq_handler;
-	int err, irq, nvec;
-
-	irq_handler = xe_irq_handler(xe);
-	if (!irq_handler) {
-		drm_err(&xe->drm, "No supported interrupt handler");
-		return -EINVAL;
-	}
+	unsigned int irq_flags = PCI_IRQ_MSI;
+	int nvec = 1;
+	int err;
 
 	xe_irq_reset(xe);
 
-	nvec = pci_msix_vec_count(pdev);
-	if (nvec <= 0) {
-		if (nvec == -EINVAL) {
-			/* MSIX capability is not supported in the device, using MSI */
-			irq_flags = PCI_IRQ_MSI;
-			nvec = 1;
-		} else {
-			drm_err(&xe->drm, "MSIX: Failed getting count\n");
-			return nvec;
-		}
+	if (xe_device_has_msix(xe)) {
+		nvec = xe->irq.msix.nvec;
+		irq_flags = PCI_IRQ_MSIX;
 	}
 
 	err = pci_alloc_irq_vectors(pdev, nvec, nvec, irq_flags);
 	if (err < 0) {
-		drm_err(&xe->drm, "MSI/MSIX: Failed to enable support %d\n", err);
+		drm_err(&xe->drm, "Failed to allocate IRQ vectors: %d\n", err);
 		return err;
 	}
 
-	irq = pci_irq_vector(pdev, 0);
-	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
-	if (err < 0) {
-		drm_err(&xe->drm, "Failed to request MSI/MSIX IRQ %d\n", err);
+	err = xe_device_has_msix(xe) ? xe_irq_msix_request_irqs(xe) :
+					xe_irq_msi_request_irqs(xe);
+	if (err)
 		return err;
-	}
 
 	atomic_set(&xe->irq.enabled, 1);
 
@@ -722,18 +764,28 @@ int xe_irq_install(struct xe_device *xe)
 	return 0;
 
 free_irq_handler:
-	free_irq(irq, xe);
+	if (xe_device_has_msix(xe))
+		xe_irq_msix_free(xe);
+	else
+		xe_irq_msi_free(xe);
 
 	return err;
 }
 
-void xe_irq_suspend(struct xe_device *xe)
+static void xe_irq_msi_synchronize_irq(struct xe_device *xe)
 {
-	int irq = to_pci_dev(xe->drm.dev)->irq;
+	synchronize_irq(to_pci_dev(xe->drm.dev)->irq);
+}
 
+void xe_irq_suspend(struct xe_device *xe)
+{
 	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
 
-	synchronize_irq(irq); /* flush irqs */
+	/* flush irqs */
+	if (xe_device_has_msix(xe))
+		xe_irq_msix_synchronize_irq(xe);
+	else
+		xe_irq_msi_synchronize_irq(xe);
 	xe_irq_reset(xe); /* turn irqs off */
 }
 
@@ -754,3 +806,142 @@ void xe_irq_resume(struct xe_device *xe)
 	for_each_gt(gt, xe, id)
 		xe_irq_enable_hwe(gt);
 }
+
+/* MSI-X related definitions and functions below. */
+
+enum xe_irq_msix_static {
+	GUC2HOST_MSIX = 0,
+	DEFAULT_MSIX = XE_IRQ_DEFAULT_MSIX,
+	/* Must be last */
+	NUM_OF_STATIC_MSIX,
+};
+
+static int xe_irq_msix_init(struct xe_device *xe)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int nvec = pci_msix_vec_count(pdev);
+
+	if (nvec == -EINVAL)
+		return 0;  /* MSI */
+
+	if (nvec < 0) {
+		drm_err(&xe->drm, "Failed getting MSI-X vectors count: %d\n", nvec);
+		return nvec;
+	}
+
+	xe->irq.msix.nvec = nvec;
+	return 0;
+}
+
+static irqreturn_t guc2host_irq_handler(int irq, void *arg)
+{
+	struct xe_device *xe = arg;
+	struct xe_tile *tile;
+	u8 id;
+
+	if (!atomic_read(&xe->irq.enabled))
+		return IRQ_NONE;
+
+	for_each_tile(tile, xe, id)
+		xe_guc_irq_handler(&tile->primary_gt->uc.guc,
+				   GUC_INTR_GUC2HOST);
+
+	return IRQ_HANDLED;
+}
+
+static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
+{
+	unsigned int tile_id, gt_id;
+	struct xe_device *xe = arg;
+	struct xe_memirq *memirq;
+	struct xe_hw_engine *hwe;
+	enum xe_hw_engine_id id;
+	struct xe_tile *tile;
+	struct xe_gt *gt;
+
+	if (!atomic_read(&xe->irq.enabled))
+		return IRQ_NONE;
+
+	for_each_tile(tile, xe, tile_id) {
+		memirq = &tile->memirq;
+		if (!memirq->bo)
+			continue;
+
+		for_each_gt(gt, xe, gt_id) {
+			if (gt->tile != tile)
+				continue;
+
+			for_each_hw_engine(hwe, gt, id)
+				xe_memirq_hwe_handler(memirq, hwe);
+		}
+	}
+
+	return IRQ_HANDLED;
+}
+
+static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
+				   const char *name, u16 msix)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int ret, irq;
+
+	irq = pci_irq_vector(pdev, msix);
+	if (irq < 0)
+		return irq;
+
+	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
+	if (ret < 0)
+		return ret;
+
+	return 0;
+}
+
+static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int irq;
+
+	irq = pci_irq_vector(pdev, msix);
+	if (irq < 0) {
+		drm_err(&xe->drm, "MSI-X %u can't be released, there is no matching IRQ\n", msix);
+		return;
+	}
+
+	free_irq(irq, xe);
+}
+
+static int xe_irq_msix_request_irqs(struct xe_device *xe)
+{
+	int err;
+
+	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
+				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
+	if (err) {
+		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
+		return err;
+	}
+
+	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
+				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
+	if (err) {
+		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
+		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
+		return err;
+	}
+
+	return 0;
+}
+
+static void xe_irq_msix_free(struct xe_device *xe)
+{
+	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
+	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
+}
+
+static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+
+	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
+	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
+}
diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
index 067514e13675..24ff16111b96 100644
--- a/drivers/gpu/drm/xe/xe_irq.h
+++ b/drivers/gpu/drm/xe/xe_irq.h
@@ -6,10 +6,13 @@
 #ifndef _XE_IRQ_H_
 #define _XE_IRQ_H_
 
+#define XE_IRQ_DEFAULT_MSIX 1
+
 struct xe_device;
 struct xe_tile;
 struct xe_gt;
 
+int xe_irq_init(struct xe_device *xe);
 int xe_irq_install(struct xe_device *xe);
 void xe_irq_suspend(struct xe_device *xe);
 void xe_irq_resume(struct xe_device *xe);
-- 
2.43.2


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

* [PATCH v5 3/5] drm/xe: Initial MSI-X support for HW engines
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
  2024-11-28 12:53 ` [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic Ilia Levi
  2024-11-28 12:53 ` [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows Ilia Levi
@ 2024-11-28 12:53 ` Ilia Levi
  2024-12-02 19:15   ` Piotr Piórkowski
  2024-11-28 12:53 ` [PATCH v5 4/5] drm/xe/irq: Manage MSI-X interrupts allocation Ilia Levi
                   ` (14 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Ilia Levi @ 2024-11-28 12:53 UTC (permalink / raw)
  To: intel-xe
  Cc: ilia.levi, piotr.piorkowski, niranjana.vishwanathapura,
	koby.elbaz, yaron.avizrat

- Configure the HW engines to work with MSI-X
- Program the LRC to use memirq infra (similar to VF)
- CS_INT_VEC field added to the LRC

Bspec: 60342, 72547

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_engine_regs.h |  3 +++
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h  |  3 +++
 drivers/gpu/drm/xe/xe_exec_queue.c       |  4 +++-
 drivers/gpu/drm/xe/xe_exec_queue_types.h |  2 ++
 drivers/gpu/drm/xe/xe_execlist.c         | 10 +++++++---
 drivers/gpu/drm/xe/xe_hw_engine.c        |  7 +++++--
 drivers/gpu/drm/xe/xe_lrc.c              | 24 ++++++++++++++++++++----
 drivers/gpu/drm/xe/xe_lrc.h              |  2 +-
 8 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/xe/regs/xe_engine_regs.h b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
index 7c78496e6213..d86219dedde2 100644
--- a/drivers/gpu/drm/xe/regs/xe_engine_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
@@ -83,6 +83,8 @@
 #define RING_IMR(base)				XE_REG((base) + 0xa8)
 #define RING_INT_STATUS_RPT_PTR(base)		XE_REG((base) + 0xac)
 
+#define CS_INT_VEC(base)			XE_REG((base) + 0x1b8)
+
 #define RING_EIR(base)				XE_REG((base) + 0xb0)
 #define RING_EMR(base)				XE_REG((base) + 0xb4)
 #define RING_ESR(base)				XE_REG((base) + 0xb8)
@@ -138,6 +140,7 @@
 
 #define RING_MODE(base)				XE_REG((base) + 0x29c)
 #define   GFX_DISABLE_LEGACY_MODE		REG_BIT(3)
+#define   GFX_MSIX_INTERRUPT_ENABLE		REG_BIT(13)
 
 #define RING_TIMESTAMP(base)			XE_REG((base) + 0x358)
 
diff --git a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
index 045dfd09db99..57944f90bbf6 100644
--- a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
+++ b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
@@ -25,6 +25,9 @@
 #define CTX_INT_SRC_REPORT_REG		(CTX_LRI_INT_REPORT_PTR + 3)
 #define CTX_INT_SRC_REPORT_PTR		(CTX_LRI_INT_REPORT_PTR + 4)
 
+#define CTX_CS_INT_VEC_REG		0x5a
+#define CTX_CS_INT_VEC_DATA		(CTX_CS_INT_VEC_REG + 1)
+
 #define INDIRECT_CTX_RING_HEAD		(0x02 + 1)
 #define INDIRECT_CTX_RING_TAIL		(0x04 + 1)
 #define INDIRECT_CTX_RING_START		(0x06 + 1)
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index aab9e561153d..9c94be571900 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -16,6 +16,7 @@
 #include "xe_hw_engine_class_sysfs.h"
 #include "xe_hw_engine_group.h"
 #include "xe_hw_fence.h"
+#include "xe_irq.h"
 #include "xe_lrc.h"
 #include "xe_macros.h"
 #include "xe_migrate.h"
@@ -68,6 +69,7 @@ static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe,
 	q->gt = gt;
 	q->class = hwe->class;
 	q->width = width;
+	q->msix_vec = XE_IRQ_DEFAULT_MSIX;
 	q->logical_mask = logical_mask;
 	q->fence_irq = &gt->fence_irq[hwe->class];
 	q->ring_ops = gt->ring_ops[hwe->class];
@@ -117,7 +119,7 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q)
 	}
 
 	for (i = 0; i < q->width; ++i) {
-		q->lrc[i] = xe_lrc_create(q->hwe, q->vm, SZ_16K);
+		q->lrc[i] = xe_lrc_create(q->hwe, q->vm, SZ_16K, q->msix_vec);
 		if (IS_ERR(q->lrc[i])) {
 			err = PTR_ERR(q->lrc[i]);
 			goto err_unlock;
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index 1158b6062a6c..eec8f9935a58 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -63,6 +63,8 @@ struct xe_exec_queue {
 	char name[MAX_FENCE_NAME_LEN];
 	/** @width: width (number BB submitted per exec) of this exec queue */
 	u16 width;
+	/** @msix_vec: MSI-X vector (for platforms that support it) */
+	u16 msix_vec;
 	/** @fence_irq: fence IRQ used to signal job completion */
 	struct xe_hw_fence_irq *fence_irq;
 
diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execlist.c
index a8c416a48812..5ef96deaa881 100644
--- a/drivers/gpu/drm/xe/xe_execlist.c
+++ b/drivers/gpu/drm/xe/xe_execlist.c
@@ -17,6 +17,7 @@
 #include "xe_exec_queue.h"
 #include "xe_gt.h"
 #include "xe_hw_fence.h"
+#include "xe_irq.h"
 #include "xe_lrc.h"
 #include "xe_macros.h"
 #include "xe_mmio.h"
@@ -47,6 +48,7 @@ static void __start_lrc(struct xe_hw_engine *hwe, struct xe_lrc *lrc,
 	struct xe_mmio *mmio = &gt->mmio;
 	struct xe_device *xe = gt_to_xe(gt);
 	u64 lrc_desc;
+	u32 ring_mode = _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE);
 
 	lrc_desc = xe_lrc_descriptor(lrc);
 
@@ -80,8 +82,10 @@ static void __start_lrc(struct xe_hw_engine *hwe, struct xe_lrc *lrc,
 	xe_mmio_write32(mmio, RING_HWS_PGA(hwe->mmio_base),
 			xe_bo_ggtt_addr(hwe->hwsp));
 	xe_mmio_read32(mmio, RING_HWS_PGA(hwe->mmio_base));
-	xe_mmio_write32(mmio, RING_MODE(hwe->mmio_base),
-			_MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE));
+
+	if (xe_device_has_msix(gt_to_xe(hwe->gt)))
+		ring_mode |= _MASKED_BIT_ENABLE(GFX_MSIX_INTERRUPT_ENABLE);
+	xe_mmio_write32(mmio, RING_MODE(hwe->mmio_base), ring_mode);
 
 	xe_mmio_write32(mmio, RING_EXECLIST_SQ_CONTENTS_LO(hwe->mmio_base),
 			lower_32_bits(lrc_desc));
@@ -265,7 +269,7 @@ struct xe_execlist_port *xe_execlist_port_create(struct xe_device *xe,
 
 	port->hwe = hwe;
 
-	port->lrc = xe_lrc_create(hwe, NULL, SZ_16K);
+	port->lrc = xe_lrc_create(hwe, NULL, SZ_16K, XE_IRQ_DEFAULT_MSIX);
 	if (IS_ERR(port->lrc)) {
 		err = PTR_ERR(port->lrc);
 		goto err;
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index c4b0dc3be39c..0a1baaedff38 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -324,6 +324,7 @@ void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe)
 {
 	u32 ccs_mask =
 		xe_hw_engine_mask_per_class(hwe->gt, XE_ENGINE_CLASS_COMPUTE);
+	u32 ring_mode = _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE);
 
 	if (hwe->class == XE_ENGINE_CLASS_COMPUTE && ccs_mask)
 		xe_mmio_write32(&hwe->gt->mmio, RCU_MODE,
@@ -332,8 +333,10 @@ void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe)
 	xe_hw_engine_mmio_write32(hwe, RING_HWSTAM(0), ~0x0);
 	xe_hw_engine_mmio_write32(hwe, RING_HWS_PGA(0),
 				  xe_bo_ggtt_addr(hwe->hwsp));
-	xe_hw_engine_mmio_write32(hwe, RING_MODE(0),
-				  _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE));
+
+	if (xe_device_has_msix(gt_to_xe(hwe->gt)))
+		ring_mode |= _MASKED_BIT_ENABLE(GFX_MSIX_INTERRUPT_ENABLE);
+	xe_hw_engine_mmio_write32(hwe, RING_MODE(0), ring_mode);
 	xe_hw_engine_mmio_write32(hwe, RING_MI_MODE(0),
 				  _MASKED_BIT_DISABLE(STOP_RING));
 	xe_hw_engine_mmio_read32(hwe, RING_MI_MODE(0));
diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
index 22e58c6e2a35..bbb9ffbf6367 100644
--- a/drivers/gpu/drm/xe/xe_lrc.c
+++ b/drivers/gpu/drm/xe/xe_lrc.c
@@ -584,6 +584,7 @@ static void set_memory_based_intr(u32 *regs, struct xe_hw_engine *hwe)
 {
 	struct xe_memirq *memirq = &gt_to_tile(hwe->gt)->memirq;
 	struct xe_device *xe = gt_to_xe(hwe->gt);
+	u8 num_regs;
 
 	if (!xe_device_uses_memirq(xe))
 		return;
@@ -593,12 +594,18 @@ static void set_memory_based_intr(u32 *regs, struct xe_hw_engine *hwe)
 	regs[CTX_INT_MASK_ENABLE_REG] = RING_IMR(0).addr;
 	regs[CTX_INT_MASK_ENABLE_PTR] = xe_memirq_enable_ptr(memirq);
 
-	regs[CTX_LRI_INT_REPORT_PTR] = MI_LOAD_REGISTER_IMM | MI_LRI_NUM_REGS(2) |
+	num_regs = xe_device_has_msix(xe) ? 3 : 2;
+	regs[CTX_LRI_INT_REPORT_PTR] = MI_LOAD_REGISTER_IMM | MI_LRI_NUM_REGS(num_regs) |
 				       MI_LRI_LRM_CS_MMIO | MI_LRI_FORCE_POSTED;
 	regs[CTX_INT_STATUS_REPORT_REG] = RING_INT_STATUS_RPT_PTR(0).addr;
 	regs[CTX_INT_STATUS_REPORT_PTR] = xe_memirq_status_ptr(memirq, hwe);
 	regs[CTX_INT_SRC_REPORT_REG] = RING_INT_SRC_RPT_PTR(0).addr;
 	regs[CTX_INT_SRC_REPORT_PTR] = xe_memirq_source_ptr(memirq, hwe);
+
+	if (xe_device_has_msix(xe)) {
+		regs[CTX_CS_INT_VEC_REG] = CS_INT_VEC(0).addr;
+		/* CTX_CS_INT_VEC_DATA will be set in xe_lrc_init */
+	}
 }
 
 static int lrc_ring_mi_mode(struct xe_hw_engine *hwe)
@@ -876,7 +883,7 @@ static void xe_lrc_finish(struct xe_lrc *lrc)
 #define PVC_CTX_ACC_CTR_THOLD	(0x2a + 1)
 
 static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
-		       struct xe_vm *vm, u32 ring_size)
+		       struct xe_vm *vm, u32 ring_size, u16 msix_vec)
 {
 	struct xe_gt *gt = hwe->gt;
 	struct xe_tile *tile = gt_to_tile(gt);
@@ -945,6 +952,14 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 			xe_drm_client_add_bo(vm->xef->client, lrc->bo);
 	}
 
+	if (xe_device_has_msix(xe)) {
+		xe_lrc_write_ctx_reg(lrc, CTX_INT_STATUS_REPORT_PTR,
+				     xe_memirq_status_ptr(&tile->memirq, hwe));
+		xe_lrc_write_ctx_reg(lrc, CTX_INT_SRC_REPORT_PTR,
+				     xe_memirq_source_ptr(&tile->memirq, hwe));
+		xe_lrc_write_ctx_reg(lrc, CTX_CS_INT_VEC_DATA, msix_vec << 16 | msix_vec);
+	}
+
 	if (xe_gt_has_indirect_ring_state(gt)) {
 		xe_lrc_write_ctx_reg(lrc, CTX_INDIRECT_RING_STATE,
 				     __xe_lrc_indirect_ring_ggtt_addr(lrc));
@@ -1005,6 +1020,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
  * @hwe: Hardware Engine
  * @vm: The VM (address space)
  * @ring_size: LRC ring size
+ * @msix_vec: MSI-X interrupt vector (for platforms that support it)
  *
  * Allocate and initialize the Logical Ring Context (LRC).
  *
@@ -1012,7 +1028,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
  * upon failure.
  */
 struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
-			     u32 ring_size)
+			     u32 ring_size, u16 msix_vec)
 {
 	struct xe_lrc *lrc;
 	int err;
@@ -1021,7 +1037,7 @@ struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
 	if (!lrc)
 		return ERR_PTR(-ENOMEM);
 
-	err = xe_lrc_init(lrc, hwe, vm, ring_size);
+	err = xe_lrc_init(lrc, hwe, vm, ring_size, msix_vec);
 	if (err) {
 		kfree(lrc);
 		return ERR_PTR(err);
diff --git a/drivers/gpu/drm/xe/xe_lrc.h b/drivers/gpu/drm/xe/xe_lrc.h
index b459dcab8787..4206e6a8b50a 100644
--- a/drivers/gpu/drm/xe/xe_lrc.h
+++ b/drivers/gpu/drm/xe/xe_lrc.h
@@ -42,7 +42,7 @@ struct xe_lrc_snapshot {
 #define LRC_PPHWSP_SCRATCH_ADDR (0x34 * 4)
 
 struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
-			     u32 ring_size);
+			     u32 ring_size, u16 msix_vec);
 void xe_lrc_destroy(struct kref *ref);
 
 /**
-- 
2.43.2


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

* [PATCH v5 4/5] drm/xe/irq: Manage MSI-X interrupts allocation
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (2 preceding siblings ...)
  2024-11-28 12:53 ` [PATCH v5 3/5] drm/xe: Initial MSI-X support for HW engines Ilia Levi
@ 2024-11-28 12:53 ` Ilia Levi
  2024-12-05  9:07   ` Piotr Piórkowski
  2024-11-28 12:53 ` [PATCH v5 5/5] drm/xe/uapi: Support requesting unique MSI-X for exec queue Ilia Levi
                   ` (13 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Ilia Levi @ 2024-11-28 12:53 UTC (permalink / raw)
  To: intel-xe
  Cc: ilia.levi, piotr.piorkowski, niranjana.vishwanathapura,
	koby.elbaz, yaron.avizrat

Expose functions to request and free MSI-X interrupts.

The request has two flavors:
- Static MSI-X allocation, for known MSI-X interrupts (e.g. GuC-to-host)
- Dynamic MSI-X allocation, which uses the next available MSI-X interrupt

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
---
 drivers/gpu/drm/xe/xe_device_types.h |  2 +
 drivers/gpu/drm/xe/xe_irq.c          | 96 ++++++++++++++++++++++------
 drivers/gpu/drm/xe/xe_irq.h          |  5 ++
 3 files changed, 83 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index ed638067aa26..1a3ded5a97c1 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -353,6 +353,8 @@ struct xe_device {
 		struct {
 			/** @irq.msix.nvec: number of MSI-X interrupts */
 			u16 nvec;
+			/** @irq.msix.indexes: used to allocate MSI-X indexes */
+			struct xarray indexes;
 		} msix;
 	} irq;
 
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index b8a0b9bbf24c..32f5a67a917b 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -830,6 +830,7 @@ static int xe_irq_msix_init(struct xe_device *xe)
 	}
 
 	xe->irq.msix.nvec = nvec;
+	xa_init_flags(&xe->irq.msix.indexes, XA_FLAGS_ALLOC);
 	return 0;
 }
 
@@ -879,8 +880,32 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
 	return IRQ_HANDLED;
 }
 
-static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
-				   const char *name, u16 msix)
+static int xe_irq_msix_alloc_vector(struct xe_device *xe, void *irq_buf,
+				    bool dynamic_msix, u16 *msix)
+{
+	struct xa_limit limit;
+	int ret;
+	u32 id;
+
+	limit = (dynamic_msix) ? XA_LIMIT(NUM_OF_STATIC_MSIX, xe->irq.msix.nvec - 1) :
+				 XA_LIMIT(*msix, *msix);
+	ret = xa_alloc(&xe->irq.msix.indexes, &id, irq_buf, limit, GFP_KERNEL);
+	if (ret)
+		return ret;
+
+	if (dynamic_msix)
+		*msix = id;
+
+	return 0;
+}
+
+static void xe_irq_msix_release_vector(struct xe_device *xe, u16 msix)
+{
+	xa_erase(&xe->irq.msix.indexes, msix);
+}
+
+static int xe_irq_msix_request_irq_internal(struct xe_device *xe, irq_handler_t handler,
+					    void *irq_buf, const char *name, u16 msix)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
 	int ret, irq;
@@ -889,17 +914,41 @@ static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
 	if (irq < 0)
 		return irq;
 
-	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
+	ret = request_irq(irq, handler, IRQF_SHARED, name, irq_buf);
 	if (ret < 0)
 		return ret;
 
 	return 0;
 }
 
-static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
+int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
+			    const char *name, bool dynamic_msix, u16 *msix)
+{
+	int ret;
+
+	ret = xe_irq_msix_alloc_vector(xe, irq_buf, dynamic_msix, msix);
+	if (ret)
+		return ret;
+
+	ret = xe_irq_msix_request_irq_internal(xe, handler, irq_buf, name, *msix);
+	if (ret) {
+		drm_err(&xe->drm, "Failed to request IRQ for MSI-X %u\n", *msix);
+		xe_irq_msix_release_vector(xe, *msix);
+		return ret;
+	}
+
+	return 0;
+}
+
+void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
 	int irq;
+	void *irq_buf;
+
+	irq_buf = xa_load(&xe->irq.msix.indexes, msix);
+	if (!irq_buf)
+		return;
 
 	irq = pci_irq_vector(pdev, msix);
 	if (irq < 0) {
@@ -907,24 +956,25 @@ static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
 		return;
 	}
 
-	free_irq(irq, xe);
+	free_irq(irq, irq_buf);
+	xe_irq_msix_release_vector(xe, msix);
 }
 
-static int xe_irq_msix_request_irqs(struct xe_device *xe)
+int xe_irq_msix_request_irqs(struct xe_device *xe)
 {
 	int err;
+	u16 msix;
 
-	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
-				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
-	if (err) {
-		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
+	msix = GUC2HOST_MSIX;
+	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler, xe,
+				      DRIVER_NAME "-guc2host", false, &msix);
+	if (err)
 		return err;
-	}
 
-	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
-				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
+	msix = DEFAULT_MSIX;
+	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler, xe,
+				      DRIVER_NAME "-default-msix", false, &msix);
 	if (err) {
-		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
 		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
 		return err;
 	}
@@ -932,16 +982,22 @@ static int xe_irq_msix_request_irqs(struct xe_device *xe)
 	return 0;
 }
 
-static void xe_irq_msix_free(struct xe_device *xe)
+void xe_irq_msix_free(struct xe_device *xe)
 {
-	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
-	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
+	unsigned long msix;
+	u32 *dummy;
+
+	xa_for_each(&xe->irq.msix.indexes, msix, dummy)
+		xe_irq_msix_free_irq(xe, msix);
+	xa_destroy(&xe->irq.msix.indexes);
 }
 
-static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
+void xe_irq_msix_synchronize_irq(struct xe_device *xe)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	unsigned long msix;
+	u32 *dummy;
 
-	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
-	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
+	xa_for_each(&xe->irq.msix.indexes, msix, dummy)
+		synchronize_irq(pci_irq_vector(pdev, msix));
 }
diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
index 24ff16111b96..a28bd577ba52 100644
--- a/drivers/gpu/drm/xe/xe_irq.h
+++ b/drivers/gpu/drm/xe/xe_irq.h
@@ -6,6 +6,8 @@
 #ifndef _XE_IRQ_H_
 #define _XE_IRQ_H_
 
+#include <linux/interrupt.h>
+
 #define XE_IRQ_DEFAULT_MSIX 1
 
 struct xe_device;
@@ -17,5 +19,8 @@ int xe_irq_install(struct xe_device *xe);
 void xe_irq_suspend(struct xe_device *xe);
 void xe_irq_resume(struct xe_device *xe);
 void xe_irq_enable_hwe(struct xe_gt *gt);
+int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
+			    const char *name, bool dynamic_msix, u16 *msix);
+void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
 
 #endif
-- 
2.43.2


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

* [PATCH v5 5/5] drm/xe/uapi: Support requesting unique MSI-X for exec queue
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (3 preceding siblings ...)
  2024-11-28 12:53 ` [PATCH v5 4/5] drm/xe/irq: Manage MSI-X interrupts allocation Ilia Levi
@ 2024-11-28 12:53 ` Ilia Levi
  2024-12-05  9:00   ` Piotr Piórkowski
  2024-11-28 13:01 ` ✓ CI.Patch_applied: success for MSI-X support Patchwork
                   ` (12 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Ilia Levi @ 2024-11-28 12:53 UTC (permalink / raw)
  To: intel-xe
  Cc: ilia.levi, piotr.piorkowski, niranjana.vishwanathapura,
	koby.elbaz, yaron.avizrat, Dani Liberman

From: Dani Liberman <dliberman@habana.ai>

Unique MSI-X per exec queue will improve the performance of the
IRQ handler. In case no MSI-X is available, the uAPI will return
-EBUSY error and the user would be able to execute the uAPI again
without the flag (fallback to default MSI-X).

Co-developed-by: Ilia Levi <ilia.levi@intel.com>
Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Signed-off-by: Dani Liberman <dliberman@habana.ai>
---
 drivers/gpu/drm/xe/xe_exec_queue.c       | 57 +++++++++++++++++++++---
 drivers/gpu/drm/xe/xe_exec_queue_types.h |  2 +
 drivers/gpu/drm/xe/xe_irq.c              | 18 ++++++++
 drivers/gpu/drm/xe/xe_irq.h              |  1 +
 include/uapi/drm/xe_drm.h                |  8 +++-
 5 files changed, 80 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 9c94be571900..1478fdfbf3f7 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -12,6 +12,7 @@
 #include <uapi/drm/xe_drm.h>
 
 #include "xe_device.h"
+#include "xe_drv.h"
 #include "xe_gt.h"
 #include "xe_hw_engine_class_sysfs.h"
 #include "xe_hw_engine_group.h"
@@ -35,8 +36,46 @@ enum xe_exec_queue_sched_prop {
 static int exec_queue_user_extensions(struct xe_device *xe, struct xe_exec_queue *q,
 				      u64 extensions, int ext_number);
 
+static int xe_exec_queue_msix_init(struct xe_device *xe, struct xe_exec_queue *q, bool unique_msix)
+{
+	u16 msix;
+	int ret = 0;
+
+	if (!xe_device_has_msix(xe))
+		return 0;
+
+	if (!unique_msix) {
+		q->msix_vec = XE_IRQ_DEFAULT_MSIX;
+		return 0;
+	}
+
+	ret = xe_irq_msix_request_irq(xe, xe_irq_msix_hwe_handler, q,
+				      DRIVER_NAME "-exec-queue", true, &msix);
+	if (ret < 0) {
+		drm_dbg(&xe->drm, "Can't allocate unique MSI-X to exec queue (%d)\n", ret);
+		return ret;
+	}
+
+	q->msix_vec = msix;
+
+	return 0;
+}
+
+static void xe_exec_queue_msix_fini(struct xe_exec_queue *q)
+{
+	struct xe_device *xe = gt_to_xe(q->gt);
+
+	if (!xe_device_has_msix(xe))
+		return;
+
+	if (q->msix_vec && q->msix_vec != XE_IRQ_DEFAULT_MSIX)
+		xe_irq_msix_free_irq(xe, q->msix_vec);
+}
+
 static void __xe_exec_queue_free(struct xe_exec_queue *q)
 {
+	xe_exec_queue_msix_fini(q);
+
 	if (q->vm)
 		xe_vm_put(q->vm);
 
@@ -69,7 +108,12 @@ static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe,
 	q->gt = gt;
 	q->class = hwe->class;
 	q->width = width;
-	q->msix_vec = XE_IRQ_DEFAULT_MSIX;
+	err = xe_exec_queue_msix_init(xe, q, flags & EXEC_QUEUE_FLAG_UNIQUE_MSIX);
+	if (err) {
+		kfree(q);
+		return ERR_PTR(err);
+	}
+
 	q->logical_mask = logical_mask;
 	q->fence_irq = &gt->fence_irq[hwe->class];
 	q->ring_ops = gt->ring_ops[hwe->class];
@@ -547,13 +591,13 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 	struct xe_gt *gt;
 	struct xe_tile *tile;
 	struct xe_exec_queue *q = NULL;
+	u32 flags = 0;
 	u32 logical_mask;
 	u32 id;
 	u32 len;
 	int err;
 
-	if (XE_IOCTL_DBG(xe, args->flags) ||
-	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
+	if (XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
 		return -EINVAL;
 
 	len = args->width * args->num_placements;
@@ -569,6 +613,9 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 	if (XE_IOCTL_DBG(xe, eci[0].gt_id >= xe->info.gt_count))
 		return -EINVAL;
 
+	if (args->flags & DRM_XE_EXEC_QUEUE_CREATE_FLAG_UNIQUE_INTERRUPT_HINT)
+		flags |= EXEC_QUEUE_FLAG_UNIQUE_MSIX;
+
 	if (eci[0].engine_class == DRM_XE_ENGINE_CLASS_VM_BIND) {
 		if (XE_IOCTL_DBG(xe, args->width != 1) ||
 		    XE_IOCTL_DBG(xe, args->num_placements != 1) ||
@@ -577,8 +624,8 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 
 		for_each_tile(tile, xe, id) {
 			struct xe_exec_queue *new;
-			u32 flags = EXEC_QUEUE_FLAG_VM;
 
+			flags |= EXEC_QUEUE_FLAG_VM;
 			if (id)
 				flags |= EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD;
 
@@ -625,7 +672,7 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 		}
 
 		q = xe_exec_queue_create(xe, vm, logical_mask,
-					 args->width, hwe, 0,
+					 args->width, hwe, flags,
 					 args->extensions);
 		up_read(&vm->lock);
 		xe_vm_put(vm);
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index eec8f9935a58..6e419b572000 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -85,6 +85,8 @@ struct xe_exec_queue {
 #define EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD	BIT(3)
 /* kernel exec_queue only, set priority to highest level */
 #define EXEC_QUEUE_FLAG_HIGH_PRIORITY		BIT(4)
+/* queue with unique msix interrupt */
+#define EXEC_QUEUE_FLAG_UNIQUE_MSIX		BIT(5)
 
 	/**
 	 * @flags: flags for this exec queue, should statically setup aside from ban
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 32f5a67a917b..52829771c89b 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -14,6 +14,7 @@
 #include "regs/xe_irq_regs.h"
 #include "xe_device.h"
 #include "xe_drv.h"
+#include "xe_exec_queue_types.h"
 #include "xe_gsc_proxy.h"
 #include "xe_gt.h"
 #include "xe_guc.h"
@@ -880,6 +881,23 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
 	return IRQ_HANDLED;
 }
 
+/*
+ * In MSI-X mode command streamers raise an interrupt only as a result of
+ * MI_USER_INTERRUPT and MI_FLUSH_DW_NOTIFY commands.
+ */
+irqreturn_t xe_irq_msix_hwe_handler(int irq, void *arg)
+{
+	struct xe_exec_queue *q = arg;
+	struct xe_tile *tile = gt_to_tile(q->hwe->gt);
+
+	if (!atomic_read(&tile->xe->irq.enabled))
+		return IRQ_NONE;
+
+	xe_memirq_hwe_handler(&tile->memirq, q->hwe);
+
+	return IRQ_HANDLED;
+}
+
 static int xe_irq_msix_alloc_vector(struct xe_device *xe, void *irq_buf,
 				    bool dynamic_msix, u16 *msix)
 {
diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
index a28bd577ba52..47058e2d9d36 100644
--- a/drivers/gpu/drm/xe/xe_irq.h
+++ b/drivers/gpu/drm/xe/xe_irq.h
@@ -19,6 +19,7 @@ int xe_irq_install(struct xe_device *xe);
 void xe_irq_suspend(struct xe_device *xe);
 void xe_irq_resume(struct xe_device *xe);
 void xe_irq_enable_hwe(struct xe_gt *gt);
+irqreturn_t xe_irq_msix_hwe_handler(int irq, void *arg);
 int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
 			    const char *name, bool dynamic_msix, u16 *msix);
 void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 4a8a4a63e99c..5f32553b14fb 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -1123,7 +1123,13 @@ struct drm_xe_exec_queue_create {
 	/** @vm_id: VM to use for this exec queue */
 	__u32 vm_id;
 
-	/** @flags: MBZ */
+	/*
+	 * When creating exec queue in MSIX platforms, the user can request a unique MSIX interrupt
+	 * for the irq handler. If there is no available MSIX, -EBUSY will be returned.
+	 */
+#define	DRM_XE_EXEC_QUEUE_CREATE_FLAG_UNIQUE_INTERRUPT_HINT (0x1 << 0)
+
+	/** @flags: create queue flags */
 	__u32 flags;
 
 	/** @exec_queue_id: Returned exec queue ID */
-- 
2.43.2


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

* ✓ CI.Patch_applied: success for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (4 preceding siblings ...)
  2024-11-28 12:53 ` [PATCH v5 5/5] drm/xe/uapi: Support requesting unique MSI-X for exec queue Ilia Levi
@ 2024-11-28 13:01 ` Patchwork
  2024-11-28 13:01 ` ✓ CI.checkpatch: " Patchwork
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 13:01 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: f3f406165a3d drm-tip: 2024y-11m-28d-11h-38m-14s UTC integration manifest
=== git am output follows ===
Applying: drm/xe: Make irq enabled flag atomic
Applying: drm/xe/irq: Separate MSI and MSI-X flows
Applying: drm/xe: Initial MSI-X support for HW engines
Applying: drm/xe/irq: Manage MSI-X interrupts allocation
Applying: drm/xe/uapi: Support requesting unique MSI-X for exec queue



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

* ✓ CI.checkpatch: success for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (5 preceding siblings ...)
  2024-11-28 13:01 ` ✓ CI.Patch_applied: success for MSI-X support Patchwork
@ 2024-11-28 13:01 ` Patchwork
  2024-11-28 13:03 ` ✓ CI.KUnit: " Patchwork
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 13:01 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : success

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit bc0ef3dcacdbb7f02e8fb9e8b27ba4931e62816e
Author: Dani Liberman <dliberman@habana.ai>
Date:   Thu Nov 28 14:53:45 2024 +0200

    drm/xe/uapi: Support requesting unique MSI-X for exec queue
    
    Unique MSI-X per exec queue will improve the performance of the
    IRQ handler. In case no MSI-X is available, the uAPI will return
    -EBUSY error and the user would be able to execute the uAPI again
    without the flag (fallback to default MSI-X).
    
    Co-developed-by: Ilia Levi <ilia.levi@intel.com>
    Signed-off-by: Ilia Levi <ilia.levi@intel.com>
    Signed-off-by: Dani Liberman <dliberman@habana.ai>
+ /mt/dim checkpatch f3f406165a3d5f0fcb60be2060b7920ac385dc22 drm-intel
b3c83ccc4d87 drm/xe: Make irq enabled flag atomic
3652bf33d0e4 drm/xe/irq: Separate MSI and MSI-X flows
c10c8147f6ac drm/xe: Initial MSI-X support for HW engines
8a2227afc5fd drm/xe/irq: Manage MSI-X interrupts allocation
bc0ef3dcacdb drm/xe/uapi: Support requesting unique MSI-X for exec queue



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

* ✓ CI.KUnit: success for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (6 preceding siblings ...)
  2024-11-28 13:01 ` ✓ CI.checkpatch: " Patchwork
@ 2024-11-28 13:03 ` Patchwork
  2024-11-28 13:20 ` ✓ CI.Build: " Patchwork
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 13:03 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : success

== Summary ==

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

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

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

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

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

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

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



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

* ✓ CI.Build: success for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (7 preceding siblings ...)
  2024-11-28 13:03 ` ✓ CI.KUnit: " Patchwork
@ 2024-11-28 13:20 ` Patchwork
  2024-11-28 13:23 ` ✓ CI.Hooks: " Patchwork
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 13:20 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : success

== Summary ==

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



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

* ✓ CI.Hooks: success for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (8 preceding siblings ...)
  2024-11-28 13:20 ` ✓ CI.Build: " Patchwork
@ 2024-11-28 13:23 ` Patchwork
  2024-11-28 13:24 ` ✓ CI.checksparse: " Patchwork
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 13:23 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : success

== Summary ==

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

  GEN     Makefile

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

* ✓ CI.checksparse: success for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (9 preceding siblings ...)
  2024-11-28 13:23 ` ✓ CI.Hooks: " Patchwork
@ 2024-11-28 13:24 ` Patchwork
  2024-11-28 13:42 ` ✓ Xe.CI.BAT: " Patchwork
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 13:24 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : success

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast f3f406165a3d5f0fcb60be2060b7920ac385dc22
/root/linux/maintainer-tools/dim: line 2068: sparse: command not found
Sparse version: 
Fast mode used, each commit won't be checked separately.
Okay!

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



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

* ✓ Xe.CI.BAT: success for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (10 preceding siblings ...)
  2024-11-28 13:24 ` ✓ CI.checksparse: " Patchwork
@ 2024-11-28 13:42 ` Patchwork
  2024-11-28 15:39 ` ✗ Xe.CI.Full: failure " Patchwork
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 13:42 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe

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

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : success

== Summary ==

CI Bug Log - changes from xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22_BAT -> xe-pw-141880v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

  Here are the changes found in xe-pw-141880v1_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_frontbuffer_tracking@basic:
    - bat-adlp-7:         [PASS][1] -> [FAIL][2] ([Intel XE#1861])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html

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


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

  * IGT: IGT_8128 -> IGT_8129
  * Linux: xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22 -> xe-pw-141880v1

  IGT_8128: 8128
  IGT_8129: 363499a879fee5b9b7eda8acf7c772bce3423493 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22: f3f406165a3d5f0fcb60be2060b7920ac385dc22
  xe-pw-141880v1: 141880v1

== Logs ==

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

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

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

* ✗ Xe.CI.Full: failure for MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (11 preceding siblings ...)
  2024-11-28 13:42 ` ✓ Xe.CI.BAT: " Patchwork
@ 2024-11-28 15:39 ` Patchwork
  2024-12-13  7:25 ` [PATCH v6 0/4] " Ilia Levi
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-11-28 15:39 UTC (permalink / raw)
  To: Levi, Ilia; +Cc: intel-xe

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

== Series Details ==

Series: MSI-X support
URL   : https://patchwork.freedesktop.org/series/141880/
State : failure

== Summary ==

CI Bug Log - changes from xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22_full -> xe-pw-141880v1_full
====================================================

Summary
-------

  **FAILURE**

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

  

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

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-141880v1_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][1] +109 other tests dmesg-warn
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][2]
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
    - shard-bmg:          [PASS][3] -> [INCOMPLETE][4] +1 other test incomplete
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-7/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - shard-adlp:         [PASS][5] -> [ABORT][6] +1 other test abort
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-8/igt@kms_pipe_crc_basic@suspend-read-crc.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@xe_module_load@unload:
    - shard-bmg:          [PASS][7] -> [DMESG-WARN][8]
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_module_load@unload.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@xe_module_load@unload.html

  
#### Warnings ####

  * igt@kms_async_flips@async-flip-with-page-flip-events:
    - shard-dg2-set2:     [SKIP][9] ([Intel XE#2423] / [i915#2575]) -> [DMESG-WARN][10] +1 other test dmesg-warn
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_async_flips@async-flip-with-page-flip-events.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_async_flips@async-flip-with-page-flip-events.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc:
    - shard-dg2-set2:     [DMESG-WARN][11] ([Intel XE#1727]) -> [DMESG-WARN][12] +1 other test dmesg-warn
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [SKIP][13] ([Intel XE#2136]) -> [INCOMPLETE][14]
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a3:
    - shard-bmg:          [DMESG-WARN][15] ([Intel XE#3468]) -> [INCOMPLETE][16]
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a3.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a3.html

  * igt@xe_exec_balancer@many-cm-parallel-userptr-rebind:
    - shard-dg2-set2:     [SKIP][17] ([Intel XE#1130]) -> [FAIL][18]
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_exec_balancer@many-cm-parallel-userptr-rebind.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_exec_balancer@many-cm-parallel-userptr-rebind.html

  * igt@xe_vm@bind-array-conflict:
    - shard-dg2-set2:     [SKIP][19] ([Intel XE#1130]) -> [DMESG-WARN][20]
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_vm@bind-array-conflict.html
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_vm@bind-array-conflict.html

  * igt@xe_wedged@wedged-at-any-timeout:
    - shard-bmg:          [SKIP][21] ([Intel XE#1130]) -> [ABORT][22]
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_wedged@wedged-at-any-timeout.html
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-7/igt@xe_wedged@wedged-at-any-timeout.html

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

  Here are the changes found in xe-pw-141880v1_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@hotunbind-rebind:
    - shard-bmg:          [PASS][23] -> [SKIP][24] ([Intel XE#1885]) +1 other test skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@core_hotunplug@hotunbind-rebind.html
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@core_hotunplug@hotunbind-rebind.html

  * igt@fbdev@nullptr:
    - shard-bmg:          [PASS][25] -> [SKIP][26] ([Intel XE#2134]) +2 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@fbdev@nullptr.html
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@fbdev@nullptr.html

  * igt@kms_addfb_basic@unused-pitches:
    - shard-dg2-set2:     NOTRUN -> [SKIP][27] ([Intel XE#2423] / [i915#2575]) +5 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_addfb_basic@unused-pitches.html

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-adlp:         [PASS][28] -> [DMESG-FAIL][29] ([Intel XE#1033] / [Intel XE#1727]) +2 other tests dmesg-fail
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-2/igt@kms_async_flips@alternate-sync-async-flip.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-9/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-6-4-mc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][30] ([Intel XE#2550]) +23 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-6-4-mc-ccs.html

  * igt@kms_atomic_transition@modeset-transition-nonblocking-fencing:
    - shard-dg2-set2:     [PASS][31] -> [SKIP][32] ([Intel XE#2423] / [i915#2575]) +3 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_atomic_transition@modeset-transition-nonblocking-fencing.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_atomic_transition@modeset-transition-nonblocking-fencing.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][33] ([Intel XE#316])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#2327])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][35] ([Intel XE#1407]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-addfb:
    - shard-bmg:          [PASS][36] -> [SKIP][37] ([Intel XE#2136]) +12 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@kms_big_fb@x-tiled-addfb.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_big_fb@x-tiled-addfb.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][38] ([Intel XE#1124]) +3 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-adlp:         [PASS][39] -> [FAIL][40] ([Intel XE#1231])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][41] ([Intel XE#2136] / [Intel XE#2351]) +6 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#1124])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_big_fb@yf-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-adlp:         NOTRUN -> [SKIP][43] ([Intel XE#1124])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_bw@linear-tiling-1-displays-3840x2160p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][44] ([Intel XE#367]) +1 other test skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_bw@linear-tiling-1-displays-3840x2160p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][45] ([Intel XE#455] / [Intel XE#787]) +3 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][46] ([Intel XE#787]) +5 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1.html

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

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][48] ([Intel XE#2887]) +2 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs@pipe-b-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#2652] / [Intel XE#787]) +7 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs@pipe-b-dp-2.html

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

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][51] ([Intel XE#2907])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html

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

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

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][54] ([Intel XE#1727] / [Intel XE#3113])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html

  * igt@kms_cdclk@mode-transition@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#314]) +3 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@kms_cdclk@mode-transition@pipe-b-edp-1.html

  * igt@kms_cdclk@mode-transition@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][56] ([Intel XE#314]) +3 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_cdclk@mode-transition@pipe-d-dp-4.html

  * igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][57] ([Intel XE#1152]) +3 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html

  * igt@kms_chamelium_color@ctm-blue-to-red:
    - shard-lnl:          NOTRUN -> [SKIP][58] ([Intel XE#306])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-1/igt@kms_chamelium_color@ctm-blue-to-red.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-dg2-set2:     NOTRUN -> [SKIP][59] ([Intel XE#306])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_frames@dp-crc-multiple:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#2252])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_chamelium_frames@dp-crc-multiple.html

  * igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#373])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html

  * igt@kms_chamelium_frames@hdmi-frame-dump:
    - shard-dg2-set2:     NOTRUN -> [SKIP][62] ([Intel XE#373]) +2 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_chamelium_frames@hdmi-frame-dump.html

  * igt@kms_color@degamma@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][63] ([Intel XE#1727])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_color@degamma@pipe-a-hdmi-a-6.html

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

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#2390])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@srm@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][66] ([Intel XE#1178]) +3 other tests fail
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_content_protection@srm@pipe-a-dp-4.html

  * igt@kms_cursor_crc@cursor-onscreen-256x256:
    - shard-bmg:          [PASS][67] -> [DMESG-FAIL][68] ([Intel XE#3468]) +4 other tests dmesg-fail
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_cursor_crc@cursor-onscreen-256x256.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_cursor_crc@cursor-onscreen-256x256.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-adlp:         [PASS][69] -> [DMESG-WARN][70] ([Intel XE#2953] / [Intel XE#3086]) +2 other tests dmesg-warn
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-9/igt@kms_cursor_crc@cursor-onscreen-256x85.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-6/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-dg2-set2:     NOTRUN -> [SKIP][71] ([Intel XE#308])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-256x85:
    - shard-lnl:          NOTRUN -> [SKIP][72] ([Intel XE#1424])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_cursor_crc@cursor-random-256x85.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-adlp:         NOTRUN -> [SKIP][73] ([Intel XE#455]) +2 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-3/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-bmg:          [PASS][74] -> [SKIP][75] ([Intel XE#2291])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#309])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-adlp:         NOTRUN -> [SKIP][77] ([Intel XE#323])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-9/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [FAIL][78] ([Intel XE#2141]) +2 other tests fail
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-lnl:          NOTRUN -> [SKIP][79] ([Intel XE#3383])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-3/igt@kms_display_modes@extended-mode-basic.html

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

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-bmg:          [PASS][81] -> [SKIP][82] ([Intel XE#3070])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_dp_linktrain_fallback@dp-fallback.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-bmg:          NOTRUN -> [SKIP][83] ([Intel XE#2244])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-dg2-set2:     NOTRUN -> [SKIP][84] ([Intel XE#776])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_fbcon_fbt@psr-suspend.html

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

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a6-dp5:
    - shard-dg2-set2:     NOTRUN -> [FAIL][86] ([Intel XE#3321]) +3 other tests fail
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a6-dp5.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ad-dp2-hdmi-a3:
    - shard-bmg:          NOTRUN -> [FAIL][87] ([Intel XE#3321] / [Intel XE#3486])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ad-dp2-hdmi-a3.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3:
    - shard-bmg:          NOTRUN -> [FAIL][88] ([Intel XE#3486])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3.html

  * igt@kms_flip@2x-nonexisting-fb:
    - shard-bmg:          [PASS][89] -> [SKIP][90] ([Intel XE#2423]) +62 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_flip@2x-nonexisting-fb.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_flip@2x-nonexisting-fb.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-bmg:          [PASS][91] -> [DMESG-WARN][92] ([Intel XE#3468]) +11 other tests dmesg-warn
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@2x-plain-flip-interruptible@bd-dp2-hdmi-a3:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][93] ([Intel XE#877])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@2x-plain-flip-interruptible@bd-dp2-hdmi-a3.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-bmg:          [PASS][94] -> [SKIP][95] ([Intel XE#2316])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank@a-dp2:
    - shard-bmg:          NOTRUN -> [FAIL][96] ([Intel XE#2882])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_flip@flip-vs-absolute-wf_vblank@a-dp2.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [PASS][97] -> [FAIL][98] ([Intel XE#2882]) +1 other test fail
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp2:
    - shard-bmg:          [PASS][99] -> [FAIL][100] ([Intel XE#3486])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp2.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp2.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][101] ([Intel XE#301]) +5 other tests fail
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp4.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a6:
    - shard-dg2-set2:     NOTRUN -> [FAIL][102] ([Intel XE#3486])
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a6.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
    - shard-lnl:          [PASS][103] -> [FAIL][104] ([Intel XE#886]) +2 other tests fail
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html

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

  * igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][106] ([Intel XE#3468]) +1 other test dmesg-fail
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a6.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][107] ([Intel XE#1727] / [Intel XE#3468]) +3 other tests dmesg-fail
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a6.html

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

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

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][110] ([Intel XE#1401]) +1 other test skip
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
    - shard-adlp:         [PASS][112] -> [DMESG-FAIL][113] ([Intel XE#324]) +3 other tests dmesg-fail
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-1/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-8/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][115] ([Intel XE#2293]) +8 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][116] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-x:
    - shard-adlp:         [PASS][117] -> [FAIL][118] ([Intel XE#1874]) +4 other tests fail
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-x.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-x.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
    - shard-adlp:         [PASS][119] -> [FAIL][120] ([Intel XE#1861]) +3 other tests fail
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
    - shard-adlp:         NOTRUN -> [SKIP][121] ([Intel XE#656]) +2 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [FAIL][122] ([Intel XE#2333]) +3 other tests fail
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][123] ([Intel XE#2136]) +13 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][124] ([Intel XE#651]) +1 other test skip
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][125] ([Intel XE#651]) +5 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][126] ([Intel XE#2311]) +5 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
    - shard-bmg:          NOTRUN -> [SKIP][127] ([Intel XE#2313]) +5 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][128] ([Intel XE#653]) +6 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-onoff:
    - shard-lnl:          NOTRUN -> [SKIP][129] ([Intel XE#656]) +11 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][130] ([Intel XE#2312])
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][131] ([Intel XE#2927])
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256:
    - shard-dg2-set2:     NOTRUN -> [FAIL][132] ([Intel XE#616]) +2 other tests fail
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256.html

  * igt@kms_plane_lowres@tiling-4@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][133] ([Intel XE#1727]) +2 other tests dmesg-warn
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_plane_lowres@tiling-4@pipe-a-hdmi-a-6.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][134] ([Intel XE#361])
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format:
    - shard-dg2-set2:     NOTRUN -> [SKIP][135] ([Intel XE#2763] / [Intel XE#455]) +2 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b:
    - shard-dg2-set2:     NOTRUN -> [SKIP][136] ([Intel XE#2763]) +5 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25:
    - shard-adlp:         NOTRUN -> [SKIP][137] ([Intel XE#2763] / [Intel XE#455]) +1 other test skip
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-3/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c:
    - shard-adlp:         NOTRUN -> [SKIP][138] ([Intel XE#2763]) +2 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-3/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-c.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5:
    - shard-lnl:          NOTRUN -> [SKIP][139] ([Intel XE#2763]) +3 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-1/igt@kms_plane_scaling@planes-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-a:
    - shard-bmg:          NOTRUN -> [SKIP][140] ([Intel XE#2763]) +3 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-a.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
    - shard-bmg:          NOTRUN -> [SKIP][141] ([Intel XE#2423]) +22 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html

  * igt@kms_pm_dc@dc5-dpms:
    - shard-dg2-set2:     [PASS][142] -> [SKIP][143] ([Intel XE#2136])
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_pm_dc@dc5-dpms.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_pm_dc@dc5-dpms.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-lnl:          NOTRUN -> [FAIL][144] ([Intel XE#718])
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-1/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-dg2-set2:     NOTRUN -> [SKIP][145] ([Intel XE#3309])
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-lnl:          [PASS][146] -> [FAIL][147] ([Intel XE#1430])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-3/igt@kms_pm_dc@dc6-psr.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-4/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_lpsp@kms-lpsp@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [FAIL][148] ([Intel XE#3527])
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_pm_lpsp@kms-lpsp@pipe-a-hdmi-a-6.html

  * igt@kms_pm_rpm@basic-pci-d3-state:
    - shard-bmg:          NOTRUN -> [SKIP][149] ([Intel XE#2446])
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_pm_rpm@basic-pci-d3-state.html

  * igt@kms_pm_rpm@universal-planes:
    - shard-dg2-set2:     [PASS][150] -> [DMESG-WARN][151] ([Intel XE#2042] / [Intel XE#3468])
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_pm_rpm@universal-planes.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_pm_rpm@universal-planes.html

  * igt@kms_pm_rpm@universal-planes-dpms:
    - shard-lnl:          NOTRUN -> [DMESG-WARN][152] ([Intel XE#2042])
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_pm_rpm@universal-planes-dpms.html

  * igt@kms_pm_rpm@universal-planes-dpms@plane-59:
    - shard-lnl:          NOTRUN -> [DMESG-WARN][153] ([Intel XE#3184])
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_pm_rpm@universal-planes-dpms@plane-59.html

  * igt@kms_pm_rpm@universal-planes@plane-59:
    - shard-dg2-set2:     [PASS][154] -> [DMESG-WARN][155] ([Intel XE#3468]) +4 other tests dmesg-warn
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_pm_rpm@universal-planes@plane-59.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_pm_rpm@universal-planes@plane-59.html

  * igt@kms_pm_rpm@universal-planes@plane-77:
    - shard-dg2-set2:     [PASS][156] -> [DMESG-WARN][157] ([Intel XE#1727] / [Intel XE#3468])
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_pm_rpm@universal-planes@plane-77.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_pm_rpm@universal-planes@plane-77.html

  * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
    - shard-dg2-set2:     NOTRUN -> [SKIP][158] ([Intel XE#2136]) +8 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
    - shard-adlp:         NOTRUN -> [SKIP][159] ([Intel XE#1489])
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@pr-plane-move-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][160] ([Intel XE#2893]) +1 other test skip
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_psr2_sf@pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-bmg:          NOTRUN -> [SKIP][161] ([Intel XE#1489]) +1 other test skip
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr@fbc-pr-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][162] ([Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_psr@fbc-pr-dpms.html

  * igt@kms_psr@pr-no-drrs:
    - shard-lnl:          NOTRUN -> [SKIP][163] ([Intel XE#1406]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@kms_psr@pr-no-drrs.html

  * igt@kms_psr@pr-sprite-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][164] ([Intel XE#2234] / [Intel XE#2850]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_psr@pr-sprite-plane-onoff.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-bmg:          NOTRUN -> [SKIP][165] ([Intel XE#3414])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][166] ([Intel XE#3414]) +1 other test skip
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

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

  * igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1:
    - shard-lnl:          [PASS][168] -> [FAIL][169] ([Intel XE#899])
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-1/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-7/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html

  * igt@kms_vblank@query-busy-hang@pipe-d-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][170] ([Intel XE#3468]) +1 other test dmesg-warn
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_vblank@query-busy-hang@pipe-d-hdmi-a-3.html

  * igt@kms_vrr@cmrr:
    - shard-adlp:         NOTRUN -> [SKIP][171] ([Intel XE#2168])
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@kms_vrr@cmrr.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-dg2-set2:     NOTRUN -> [SKIP][172] ([Intel XE#756])
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_writeback@writeback-fb-id.html

  * igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
    - shard-dg2-set2:     NOTRUN -> [SKIP][173] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html

  * igt@xe_copy_basic@mem-set-linear-0xfd:
    - shard-adlp:         NOTRUN -> [SKIP][174] ([Intel XE#1126])
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@xe_copy_basic@mem-set-linear-0xfd.html

  * igt@xe_copy_basic@mem-set-linear-0xfffe:
    - shard-dg2-set2:     NOTRUN -> [SKIP][175] ([Intel XE#1126])
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_copy_basic@mem-set-linear-0xfffe.html

  * igt@xe_eudebug@basic-client-th:
    - shard-dg2-set2:     NOTRUN -> [SKIP][176] ([Intel XE#2905]) +2 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_eudebug@basic-client-th.html

  * igt@xe_eudebug_online@interrupt-reconnect:
    - shard-bmg:          NOTRUN -> [SKIP][177] ([Intel XE#2905]) +1 other test skip
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@xe_eudebug_online@interrupt-reconnect.html

  * igt@xe_evict@evict-mixed-threads-large:
    - shard-adlp:         NOTRUN -> [SKIP][178] ([Intel XE#261] / [Intel XE#688])
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-6/igt@xe_evict@evict-mixed-threads-large.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][179] ([Intel XE#1392])
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-no-exec-bindexecqueue:
    - shard-adlp:         NOTRUN -> [SKIP][180] ([Intel XE#1392])
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-9/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue.html

  * igt@xe_exec_basic@multigpu-once-null-defer-bind:
    - shard-bmg:          NOTRUN -> [SKIP][181] ([Intel XE#2322]) +4 other tests skip
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@xe_exec_basic@multigpu-once-null-defer-bind.html

  * igt@xe_exec_basic@twice-bindexecqueue-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][182] ([Intel XE#1130]) +22 other tests skip
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_exec_basic@twice-bindexecqueue-userptr-invalidate-race.html

  * igt@xe_exec_compute_mode@many-execqueues-bindexecqueue-rebind:
    - shard-dg2-set2:     NOTRUN -> [SKIP][183] ([Intel XE#1130]) +18 other tests skip
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_exec_compute_mode@many-execqueues-bindexecqueue-rebind.html

  * igt@xe_exec_fault_mode@once-bindexecqueue-rebind:
    - shard-dg2-set2:     NOTRUN -> [SKIP][184] ([Intel XE#288]) +4 other tests skip
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_exec_fault_mode@once-bindexecqueue-rebind.html

  * igt@xe_exec_fault_mode@once-bindexecqueue-rebind-imm:
    - shard-bmg:          [PASS][185] -> [DMESG-WARN][186] ([Intel XE#1727]) +2 other tests dmesg-warn
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@xe_exec_fault_mode@once-bindexecqueue-rebind-imm.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_exec_fault_mode@once-bindexecqueue-rebind-imm.html

  * igt@xe_exec_fault_mode@once-userptr-invalidate:
    - shard-adlp:         NOTRUN -> [SKIP][187] ([Intel XE#288]) +1 other test skip
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@xe_exec_fault_mode@once-userptr-invalidate.html

  * igt@xe_exec_sip_eudebug@breakpoint-writesip-twice:
    - shard-lnl:          NOTRUN -> [SKIP][188] ([Intel XE#2905]) +3 other tests skip
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-1/igt@xe_exec_sip_eudebug@breakpoint-writesip-twice.html

  * igt@xe_fault_injection@vm-create-fail-xe_exec_queue_create_bind:
    - shard-adlp:         [PASS][189] -> [DMESG-WARN][190] ([Intel XE#3086])
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-8/igt@xe_fault_injection@vm-create-fail-xe_exec_queue_create_bind.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-1/igt@xe_fault_injection@vm-create-fail-xe_exec_queue_create_bind.html

  * igt@xe_live_ktest@xe_bo:
    - shard-lnl:          [PASS][191] -> [SKIP][192] ([Intel XE#1192])
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-3/igt@xe_live_ktest@xe_bo.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@xe_live_ktest@xe_bo.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - shard-bmg:          [PASS][193] -> [SKIP][194] ([Intel XE#2229]) +1 other test skip
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  * igt@xe_oa@invalid-oa-metric-set-id:
    - shard-dg2-set2:     NOTRUN -> [SKIP][195] ([Intel XE#3573]) +1 other test skip
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_oa@invalid-oa-metric-set-id.html

  * igt@xe_oa@oa-regs-whitelisted@rcs-0:
    - shard-lnl:          [PASS][196] -> [FAIL][197] ([Intel XE#2514]) +1 other test fail
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-1/igt@xe_oa@oa-regs-whitelisted@rcs-0.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-1/igt@xe_oa@oa-regs-whitelisted@rcs-0.html

  * igt@xe_oa@unprivileged-single-ctx-counters:
    - shard-lnl:          NOTRUN -> [SKIP][198] ([Intel XE#2248])
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@xe_oa@unprivileged-single-ctx-counters.html

  * igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p:
    - shard-dg2-set2:     NOTRUN -> [FAIL][199] ([Intel XE#1173]) +1 other test fail
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p.html

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

  * igt@xe_pm@s3-basic:
    - shard-lnl:          NOTRUN -> [SKIP][201] ([Intel XE#584])
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-4/igt@xe_pm@s3-basic.html

  * igt@xe_pm@s3-vm-bind-prefetch:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][202] ([Intel XE#1727] / [Intel XE#3468] / [Intel XE#569])
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_pm@s3-vm-bind-prefetch.html

  * igt@xe_pm@s4-basic-exec:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][203] ([Intel XE#1727] / [Intel XE#3468]) +1 other test dmesg-warn
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_pm@s4-basic-exec.html

  * igt@xe_pm@s4-mocs:
    - shard-adlp:         [PASS][204] -> [ABORT][205] ([Intel XE#1794])
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-6/igt@xe_pm@s4-mocs.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-9/igt@xe_pm@s4-mocs.html

  * igt@xe_pm_residency@toggle-gt-c6:
    - shard-lnl:          NOTRUN -> [FAIL][206] ([Intel XE#958])
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-4/igt@xe_pm_residency@toggle-gt-c6.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-adlp:         NOTRUN -> [SKIP][207] ([Intel XE#944])
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-6/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

  * igt@xe_query@multigpu-query-uc-fw-version-guc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][208] ([Intel XE#944])
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_query@multigpu-query-uc-fw-version-guc.html

  * igt@xe_spin_batch@spin-all:
    - shard-bmg:          [PASS][209] -> [SKIP][210] ([Intel XE#1130]) +162 other tests skip
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@xe_spin_batch@spin-all.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_spin_batch@spin-all.html

  * igt@xe_spin_batch@spin-fixed-duration-with-preempter:
    - shard-adlp:         [PASS][211] -> [FAIL][212] ([Intel XE#1081])
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-1/igt@xe_spin_batch@spin-fixed-duration-with-preempter.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@xe_spin_batch@spin-fixed-duration-with-preempter.html

  * igt@xe_tlb@basic-tlb:
    - shard-adlp:         [PASS][213] -> [CRASH][214] ([Intel XE#3212])
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-6/igt@xe_tlb@basic-tlb.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-4/igt@xe_tlb@basic-tlb.html
    - shard-lnl:          [PASS][215] -> [CRASH][216] ([Intel XE#3212])
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-8/igt@xe_tlb@basic-tlb.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-3/igt@xe_tlb@basic-tlb.html

  * igt@xe_vm@large-binds-8388608:
    - shard-dg2-set2:     [PASS][217] -> [SKIP][218] ([Intel XE#1130]) +9 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@xe_vm@large-binds-8388608.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_vm@large-binds-8388608.html

  
#### Possible fixes ####

  * igt@core_getversion@all-cards:
    - shard-dg2-set2:     [FAIL][219] ([Intel XE#3440]) -> [PASS][220] +1 other test pass
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@core_getversion@all-cards.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@core_getversion@all-cards.html

  * igt@core_hotunplug@hotrebind:
    - shard-bmg:          [SKIP][221] ([Intel XE#1885]) -> [PASS][222] +1 other test pass
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@core_hotunplug@hotrebind.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@core_hotunplug@hotrebind.html

  * igt@core_hotunplug@hotunplug-rescan:
    - shard-dg2-set2:     [SKIP][223] ([Intel XE#1885]) -> [PASS][224] +3 other tests pass
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@core_hotunplug@hotunplug-rescan.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@core_hotunplug@hotunplug-rescan.html

  * igt@core_hotunplug@unplug-rescan:
    - shard-adlp:         [DMESG-WARN][225] ([Intel XE#3086]) -> [PASS][226]
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-9/igt@core_hotunplug@unplug-rescan.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@core_hotunplug@unplug-rescan.html

  * igt@core_setmaster@master-drop-set-shared-fd:
    - shard-bmg:          [SKIP][227] ([Intel XE#3453]) -> [PASS][228]
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@core_setmaster@master-drop-set-shared-fd.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@core_setmaster@master-drop-set-shared-fd.html

  * igt@core_setmaster@master-drop-set-user:
    - shard-dg2-set2:     [FAIL][229] ([Intel XE#3339]) -> [PASS][230]
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@core_setmaster@master-drop-set-user.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@core_setmaster@master-drop-set-user.html

  * igt@fbdev@info:
    - shard-dg2-set2:     [SKIP][231] ([Intel XE#2134]) -> [PASS][232] +3 other tests pass
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@fbdev@info.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@fbdev@info.html

  * igt@fbdev@unaligned-read:
    - shard-bmg:          [SKIP][233] ([Intel XE#2134]) -> [PASS][234] +1 other test pass
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@fbdev@unaligned-read.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@fbdev@unaligned-read.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-1-linear:
    - shard-adlp:         [DMESG-WARN][235] -> [PASS][236]
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-1-linear.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-3/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-1-linear.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-y:
    - shard-adlp:         [DMESG-WARN][237] ([Intel XE#324]) -> [PASS][238]
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-y.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-3/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-y.html

  * igt@kms_atomic@plane-invalid-params-fence:
    - shard-dg2-set2:     [SKIP][239] ([Intel XE#2423] / [i915#2575]) -> [PASS][240] +253 other tests pass
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_atomic@plane-invalid-params-fence.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_atomic@plane-invalid-params-fence.html

  * igt@kms_atomic_interruptible@legacy-cursor:
    - shard-bmg:          [DMESG-WARN][241] ([Intel XE#1727] / [Intel XE#3468]) -> [PASS][242] +5 other tests pass
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_atomic_interruptible@legacy-cursor.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_atomic_interruptible@legacy-cursor.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-adlp:         [FAIL][243] ([Intel XE#1426]) -> [PASS][244] +1 other test pass
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_atomic_transition@plane-all-transition-fencing:
    - shard-bmg:          [DMESG-WARN][245] ([Intel XE#2705] / [Intel XE#3468]) -> [PASS][246]
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_atomic_transition@plane-all-transition-fencing.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_atomic_transition@plane-all-transition-fencing.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-bmg:          [DMESG-FAIL][247] ([Intel XE#3468]) -> [PASS][248] +9 other tests pass
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-adlp:         [FAIL][249] ([Intel XE#1231]) -> [PASS][250] +3 other tests pass
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-adlp:         [FAIL][251] ([Intel XE#1231] / [Intel XE#3052]) -> [PASS][252]
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-6/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-adlp:         [FAIL][253] ([Intel XE#1874]) -> [PASS][254] +8 other tests pass
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
    - shard-bmg:          [SKIP][255] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][256]
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
    - shard-bmg:          [SKIP][257] ([Intel XE#2136]) -> [PASS][258] +15 other tests pass
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
    - shard-bmg:          [SKIP][259] ([Intel XE#2291]) -> [PASS][260]
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-toggle:
    - shard-bmg:          [SKIP][261] ([Intel XE#2423]) -> [PASS][262] +97 other tests pass
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html

  * igt@kms_flip@2x-absolute-wf_vblank:
    - shard-bmg:          [SKIP][263] ([Intel XE#2316]) -> [PASS][264] +2 other tests pass
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_flip@2x-absolute-wf_vblank.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_flip@2x-absolute-wf_vblank.html

  * igt@kms_force_connector_basic@force-connector-state:
    - shard-bmg:          [INCOMPLETE][265] ([Intel XE#1727] / [Intel XE#3468]) -> [PASS][266] +2 other tests pass
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_force_connector_basic@force-connector-state.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_force_connector_basic@force-connector-state.html

  * igt@kms_frontbuffer_tracking@basic:
    - shard-dg2-set2:     [SKIP][267] ([Intel XE#2351]) -> [PASS][268]
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_frontbuffer_tracking@basic.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][269] ([Intel XE#2136]) -> [PASS][270] +81 other tests pass
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2-set2:     [SKIP][271] ([Intel XE#2136] / [Intel XE#2351]) -> [PASS][272] +32 other tests pass
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-adlp:         [FAIL][273] ([Intel XE#1861]) -> [PASS][274] +1 other test pass
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_pm_dc@dc5-dpms:
    - shard-lnl:          [FAIL][275] ([Intel XE#718]) -> [PASS][276]
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-5/igt@kms_pm_dc@dc5-dpms.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-4/igt@kms_pm_dc@dc5-dpms.html

  * igt@kms_pm_dc@deep-pkgc:
    - shard-lnl:          [FAIL][277] ([Intel XE#2029]) -> [PASS][278]
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-1/igt@kms_pm_dc@deep-pkgc.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-3/igt@kms_pm_dc@deep-pkgc.html

  * igt@kms_pm_rpm@i2c:
    - shard-bmg:          [SKIP][279] ([Intel XE#2446]) -> [PASS][280] +2 other tests pass
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_pm_rpm@i2c.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_pm_rpm@i2c.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-dg2-set2:     [SKIP][281] ([Intel XE#2446]) -> [PASS][282] +6 other tests pass
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_pm_rpm@system-suspend-modeset.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_rotation_crc@sprite-rotation-180:
    - shard-lnl:          [DMESG-WARN][283] ([Intel XE#2055]) -> [PASS][284]
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-7/igt@kms_rotation_crc@sprite-rotation-180.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@kms_rotation_crc@sprite-rotation-180.html

  * igt@kms_sequence@queue-idle@pipe-c-hdmi-a-3:
    - shard-bmg:          [DMESG-WARN][285] ([Intel XE#3468]) -> [PASS][286] +52 other tests pass
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_sequence@queue-idle@pipe-c-hdmi-a-3.html
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_sequence@queue-idle@pipe-c-hdmi-a-3.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1:
    - shard-lnl:          [FAIL][287] ([Intel XE#899]) -> [PASS][288]
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-1/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-7/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html

  * igt@kms_vrr@cmrr@pipe-a-edp-1:
    - shard-lnl:          [FAIL][289] ([Intel XE#2159]) -> [PASS][290] +1 other test pass
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-1/igt@kms_vrr@cmrr@pipe-a-edp-1.html
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-3/igt@kms_vrr@cmrr@pipe-a-edp-1.html

  * igt@kms_vrr@max-min:
    - shard-lnl:          [FAIL][291] ([Intel XE#1522]) -> [PASS][292] +1 other test pass
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-5/igt@kms_vrr@max-min.html
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@kms_vrr@max-min.html

  * igt@testdisplay:
    - shard-dg2-set2:     [SKIP][293] ([Intel XE#2423]) -> [PASS][294] +2 other tests pass
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@testdisplay.html
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@testdisplay.html

  * igt@xe_drm_fdinfo@utilization-single-full-load-isolation:
    - shard-bmg:          [SKIP][295] ([Intel XE#1130]) -> [PASS][296] +207 other tests pass
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_drm_fdinfo@utilization-single-full-load-isolation.html
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@xe_drm_fdinfo@utilization-single-full-load-isolation.html

  * igt@xe_exec_basic@many-null-rebind:
    - shard-dg2-set2:     [SKIP][297] ([Intel XE#1130]) -> [PASS][298] +448 other tests pass
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_exec_basic@many-null-rebind.html
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_exec_basic@many-null-rebind.html

  * igt@xe_exec_reset@cm-close-fd:
    - shard-bmg:          [INCOMPLETE][299] -> [PASS][300]
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_exec_reset@cm-close-fd.html
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_exec_reset@cm-close-fd.html

  * igt@xe_exec_threads@threads-hang-userptr:
    - shard-lnl:          [ABORT][301] -> [PASS][302] +1 other test pass
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-4/igt@xe_exec_threads@threads-hang-userptr.html
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@xe_exec_threads@threads-hang-userptr.html

  * igt@xe_module_load@many-reload:
    - shard-bmg:          [DMESG-WARN][303] ([Intel XE#3467]) -> [PASS][304]
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@xe_module_load@many-reload.html
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_module_load@many-reload.html

  * igt@xe_oa@mmio-triggered-reports:
    - shard-lnl:          [FAIL][305] ([Intel XE#2249]) -> [PASS][306] +1 other test pass
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-7/igt@xe_oa@mmio-triggered-reports.html
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-8/igt@xe_oa@mmio-triggered-reports.html

  * igt@xe_oa@oa-formats@rcs-0:
    - shard-bmg:          [DMESG-WARN][307] ([Intel XE#1727]) -> [PASS][308] +5 other tests pass
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@xe_oa@oa-formats@rcs-0.html
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_oa@oa-formats@rcs-0.html

  * igt@xe_pm@s2idle-vm-bind-unbind-all:
    - shard-bmg:          [DMESG-WARN][309] ([Intel XE#1616] / [Intel XE#1727] / [Intel XE#3468]) -> [PASS][310]
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@xe_pm@s2idle-vm-bind-unbind-all.html
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_pm@s2idle-vm-bind-unbind-all.html

  * igt@xe_pm@s3-basic:
    - shard-bmg:          [DMESG-WARN][311] ([Intel XE#1727] / [Intel XE#3468] / [Intel XE#569]) -> [PASS][312]
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@xe_pm@s3-basic.html
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@xe_pm@s3-basic.html

  * igt@xe_pm@s3-mocs:
    - shard-bmg:          [DMESG-FAIL][313] ([Intel XE#1727] / [Intel XE#3468]) -> [PASS][314] +1 other test pass
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@xe_pm@s3-mocs.html
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_pm@s3-mocs.html

  * igt@xe_pm@s4-exec-after:
    - shard-adlp:         [ABORT][315] ([Intel XE#1358] / [Intel XE#1607]) -> [PASS][316]
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-adlp-9/igt@xe_pm@s4-exec-after.html
   [316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-adlp-6/igt@xe_pm@s4-exec-after.html

  * igt@xe_query@query-topology-l3-bank-mask:
    - shard-bmg:          [DMESG-WARN][317] -> [PASS][318] +2 other tests pass
   [317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@xe_query@query-topology-l3-bank-mask.html
   [318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@xe_query@query-topology-l3-bank-mask.html

  * igt@xe_spin_batch@spin-fixed-duration-with-preempter:
    - shard-lnl:          [FAIL][319] -> [PASS][320]
   [319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-3/igt@xe_spin_batch@spin-fixed-duration-with-preempter.html
   [320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-5/igt@xe_spin_batch@spin-fixed-duration-with-preempter.html

  
#### Warnings ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - shard-dg2-set2:     [SKIP][321] ([Intel XE#2423] / [i915#2575]) -> [SKIP][322] ([Intel XE#623])
   [321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
   [322]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-bmg:          [DMESG-FAIL][323] ([Intel XE#1727] / [Intel XE#3468]) -> [SKIP][324] ([Intel XE#2423])
   [323]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_async_flips@alternate-sync-async-flip.html
   [324]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_async_flips@invalid-async-flip:
    - shard-dg2-set2:     [SKIP][325] ([Intel XE#2423] / [i915#2575]) -> [SKIP][326] ([Intel XE#873])
   [325]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_async_flips@invalid-async-flip.html
   [326]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_async_flips@invalid-async-flip.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][327] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][328] ([Intel XE#316]) +2 other tests skip
   [327]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
   [328]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

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

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-bmg:          [SKIP][331] ([Intel XE#2136]) -> [SKIP][332] ([Intel XE#2327]) +7 other tests skip
   [331]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_big_fb@linear-32bpp-rotate-90.html
   [332]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-0:
    - shard-bmg:          [DMESG-FAIL][333] ([Intel XE#3468]) -> [SKIP][334] ([Intel XE#2136]) +3 other tests skip
   [333]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html
   [334]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][335] ([Intel XE#2136]) -> [SKIP][336] ([Intel XE#316]) +9 other tests skip
   [335]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
   [336]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-dg2-set2:     [SKIP][337] ([Intel XE#1124]) -> [SKIP][338] ([Intel XE#2136])
   [337]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
   [338]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-270:
    - shard-bmg:          [SKIP][339] ([Intel XE#1124]) -> [SKIP][340] ([Intel XE#2136]) +9 other tests skip
   [339]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html
   [340]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-90:
    - shard-bmg:          [SKIP][341] ([Intel XE#2136]) -> [SKIP][342] ([Intel XE#1124]) +9 other tests skip
   [341]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
   [342]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-7/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-dg2-set2:     [SKIP][343] ([Intel XE#2136]) -> [SKIP][344] ([Intel XE#610])
   [343]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
   [344]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-dg2-set2:     [SKIP][345] ([Intel XE#2136]) -> [SKIP][346] ([Intel XE#1124]) +23 other tests skip
   [345]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
   [346]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-dg2-set2:     [SKIP][347] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][348] ([Intel XE#619]) +1 other test skip
   [347]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_big_fb@yf-tiled-addfb.html
   [348]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-dg2-set2:     [SKIP][349] ([Intel XE#2136]) -> [SKIP][350] ([Intel XE#607])
   [349]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
   [350]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     [SKIP][351] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][352] ([Intel XE#1124]) +10 other tests skip
   [351]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [352]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
    - shard-bmg:          [SKIP][353] ([Intel XE#2423]) -> [SKIP][354] ([Intel XE#2314] / [Intel XE#2894]) +1 other test skip
   [353]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html
   [354]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
    - shard-bmg:          [SKIP][355] ([Intel XE#2314] / [Intel XE#2894]) -> [SKIP][356] ([Intel XE#2423]) +1 other test skip
   [355]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
   [356]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
    - shard-dg2-set2:     [SKIP][357] ([Intel XE#2423] / [i915#2575]) -> [SKIP][358] ([Intel XE#2191]) +4 other tests skip
   [357]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
   [358]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-1-displays-1920x1080p:
    - shard-dg2-set2:     [SKIP][359] ([Intel XE#2423] / [i915#2575]) -> [SKIP][360] ([Intel XE#367]) +8 other tests skip
   [359]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html
   [360]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html

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

  * igt@kms_bw@linear-tiling-3-displays-1920x1080p:
    - shard-bmg:          [SKIP][363] ([Intel XE#367]) -> [SKIP][364] ([Intel XE#2423]) +2 other tests skip
   [363]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_bw@linear-tiling-3-displays-1920x1080p.html
   [364]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_bw@linear-tiling-3-displays-1920x1080p.html
    - shard-dg2-set2:     [SKIP][365] ([Intel XE#367]) -> [SKIP][366] ([Intel XE#2423] / [i915#2575])
   [365]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_bw@linear-tiling-3-displays-1920x1080p.html
   [366]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_bw@linear-tiling-3-displays-1920x1080p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
    - shard-bmg:          [SKIP][367] ([Intel XE#2136]) -> [SKIP][368] ([Intel XE#2887]) +17 other tests skip
   [367]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html
   [368]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
    - shard-dg2-set2:     [SKIP][369] ([Intel XE#2136]) -> [SKIP][370] ([Intel XE#455] / [Intel XE#787]) +37 other tests skip
   [369]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html
   [370]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-dg2-set2:     [SKIP][371] ([Intel XE#2136]) -> [SKIP][372] ([Intel XE#2907]) +6 other tests skip
   [371]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
   [372]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
    - shard-bmg:          [SKIP][373] ([Intel XE#2136]) -> [SKIP][374] ([Intel XE#2652] / [Intel XE#787])
   [373]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
   [374]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
    - shard-dg2-set2:     [SKIP][375] ([Intel XE#2136]) -> [SKIP][376] ([Intel XE#3442])
   [375]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
   [376]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
    - shard-bmg:          [SKIP][377] ([Intel XE#3432]) -> [SKIP][378] ([Intel XE#2136]) +1 other test skip
   [377]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
   [378]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-bmg:          [SKIP][379] ([Intel XE#2136]) -> [SKIP][380] ([Intel XE#3432]) +2 other tests skip
   [379]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [380]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          [SKIP][381] ([Intel XE#2887]) -> [SKIP][382] ([Intel XE#2136]) +16 other tests skip
   [381]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html
   [382]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs:
    - shard-dg2-set2:     [SKIP][383] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][384] ([Intel XE#455] / [Intel XE#787]) +9 other tests skip
   [383]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs.html
   [384]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][385] ([Intel XE#2136]) -> [INCOMPLETE][386] ([Intel XE#1727])
   [385]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
   [386]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-bmg:          [SKIP][387] ([Intel XE#2724]) -> [SKIP][388] ([Intel XE#2136])
   [387]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_cdclk@mode-transition-all-outputs.html
   [388]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_cdclk@mode-transition-all-outputs.html
    - shard-dg2-set2:     [SKIP][389] ([Intel XE#314]) -> [SKIP][390] ([Intel XE#2136] / [Intel XE#2351])
   [389]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_cdclk@mode-transition-all-outputs.html
   [390]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-dg2-set2:     [SKIP][391] ([Intel XE#2136]) -> [DMESG-WARN][392] ([Intel XE#1727])
   [391]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_cdclk@plane-scaling.html
   [392]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_color@ctm-green-to-red:
    - shard-bmg:          [SKIP][393] ([Intel XE#2325]) -> [SKIP][394] ([Intel XE#2423])
   [393]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_chamelium_color@ctm-green-to-red.html
   [394]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_chamelium_color@ctm-green-to-red.html

  * igt@kms_chamelium_color@gamma:
    - shard-dg2-set2:     [SKIP][395] ([Intel XE#2423] / [i915#2575]) -> [SKIP][396] ([Intel XE#306]) +3 other tests skip
   [395]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_chamelium_color@gamma.html
   [396]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_chamelium_color@gamma.html

  * igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
    - shard-bmg:          [SKIP][397] ([Intel XE#2252]) -> [SKIP][398] ([Intel XE#2423]) +8 other tests skip
   [397]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
   [398]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html

  * igt@kms_chamelium_frames@hdmi-aspect-ratio:
    - shard-bmg:          [SKIP][399] ([Intel XE#2423]) -> [SKIP][400] ([Intel XE#2252]) +12 other tests skip
   [399]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_chamelium_frames@hdmi-aspect-ratio.html
   [400]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_chamelium_frames@hdmi-aspect-ratio.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     [SKIP][401] ([Intel XE#2423] / [i915#2575]) -> [SKIP][402] ([Intel XE#373]) +33 other tests skip
   [401]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_chamelium_hpd@vga-hpd.html
   [402]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_color@degamma:
    - shard-dg2-set2:     [SKIP][403] ([Intel XE#2423] / [i915#2575]) -> [INCOMPLETE][404] ([Intel XE#1727])
   [403]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_color@degamma.html
   [404]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_color@degamma.html

  * igt@kms_content_protection@atomic:
    - shard-bmg:          [SKIP][405] ([Intel XE#2423]) -> [FAIL][406] ([Intel XE#1178])
   [405]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_content_protection@atomic.html
   [406]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2-set2:     [SKIP][407] ([Intel XE#2423] / [i915#2575]) -> [FAIL][408] ([Intel XE#1178]) +1 other test fail
   [407]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_content_protection@atomic-dpms.html
   [408]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_content_protection@atomic-dpms.html
    - shard-bmg:          [INCOMPLETE][409] ([Intel XE#2715] / [Intel XE#3468]) -> [SKIP][410] ([Intel XE#2341])
   [409]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_content_protection@atomic-dpms.html
   [410]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2-set2:     [SKIP][411] ([Intel XE#2423] / [i915#2575]) -> [SKIP][412] ([Intel XE#307])
   [411]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_content_protection@dp-mst-lic-type-1.html
   [412]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-bmg:          [SKIP][413] ([Intel XE#2390]) -> [SKIP][414] ([Intel XE#2423]) +1 other test skip
   [413]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@kms_content_protection@dp-mst-type-1.html
   [414]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-bmg:          [FAIL][415] ([Intel XE#1178]) -> [SKIP][416] ([Intel XE#2423])
   [415]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_content_protection@legacy.html
   [416]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_content_protection@legacy.html
    - shard-dg2-set2:     [FAIL][417] ([Intel XE#1178]) -> [SKIP][418] ([Intel XE#2423] / [i915#2575])
   [417]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_content_protection@legacy.html
   [418]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-1:
    - shard-bmg:          [SKIP][419] ([Intel XE#2423]) -> [SKIP][420] ([Intel XE#2341])
   [419]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_content_protection@lic-type-1.html
   [420]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_content_protection@lic-type-1.html

  * igt@kms_content_protection@srm:
    - shard-bmg:          [SKIP][421] ([Intel XE#2341]) -> [FAIL][422] ([Intel XE#1178])
   [421]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_content_protection@srm.html
   [422]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@cursor-offscreen-128x42:
    - shard-bmg:          [SKIP][423] ([Intel XE#2423]) -> [SKIP][424] ([Intel XE#2320]) +7 other tests skip
   [423]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_cursor_crc@cursor-offscreen-128x42.html
   [424]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_cursor_crc@cursor-offscreen-128x42.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-bmg:          [SKIP][425] ([Intel XE#2321]) -> [SKIP][426] ([Intel XE#2423])
   [425]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_cursor_crc@cursor-offscreen-512x512.html
   [426]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2-set2:     [SKIP][427] ([Intel XE#2423] / [i915#2575]) -> [SKIP][428] ([Intel XE#308]) +4 other tests skip
   [427]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_cursor_crc@cursor-onscreen-512x170.html
   [428]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-256x256:
    - shard-bmg:          [DMESG-WARN][429] ([Intel XE#3468]) -> [SKIP][430] ([Intel XE#2423]) +1 other test skip
   [429]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_cursor_crc@cursor-random-256x256.html
   [430]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_cursor_crc@cursor-random-256x256.html

  * igt@kms_cursor_crc@cursor-random-32x32:
    - shard-bmg:          [SKIP][431] ([Intel XE#2320]) -> [SKIP][432] ([Intel XE#2423]) +2 other tests skip
   [431]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_cursor_crc@cursor-random-32x32.html
   [432]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_cursor_crc@cursor-random-32x32.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-bmg:          [SKIP][433] ([Intel XE#2423]) -> [SKIP][434] ([Intel XE#2321]) +2 other tests skip
   [433]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_cursor_crc@cursor-random-512x512.html
   [434]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-bmg:          [SKIP][435] ([Intel XE#2423]) -> [SKIP][436] ([Intel XE#2291])
   [435]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
   [436]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-bmg:          [SKIP][437] ([Intel XE#2286]) -> [SKIP][438] ([Intel XE#2423])
   [437]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
   [438]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-dg2-set2:     [SKIP][439] ([Intel XE#2423] / [i915#2575]) -> [SKIP][440] ([Intel XE#323]) +1 other test skip
   [439]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
   [440]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions:
    - shard-dg2-set2:     [SKIP][441] ([Intel XE#2423] / [i915#2575]) -> [INCOMPLETE][442] ([Intel XE#1727] / [Intel XE#3226])
   [441]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html
   [442]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-bmg:          [DMESG-WARN][443] ([Intel XE#877]) -> [SKIP][444] ([Intel XE#2291])
   [443]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
   [444]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-bmg:          [SKIP][445] ([Intel XE#2291]) -> [DMESG-WARN][446] ([Intel XE#877])
   [445]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
   [446]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
    - shard-bmg:          [SKIP][447] ([Intel XE#2244]) -> [SKIP][448] ([Intel XE#2136]) +1 other test skip
   [447]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
   [448]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html

  * igt@kms_dsc@dsc-with-output-formats:
    - shard-bmg:          [SKIP][449] ([Intel XE#2136]) -> [SKIP][450] ([Intel XE#2244])
   [449]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_dsc@dsc-with-output-formats.html
   [450]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_dsc@dsc-with-output-formats.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-bmg:          [FAIL][451] ([Intel XE#1695]) -> [SKIP][452] ([Intel XE#2136]) +1 other test skip
   [451]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_fbcon_fbt@fbc-suspend.html
   [452]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_fbcon_fbt@psr:
    - shard-bmg:          [SKIP][453] ([Intel XE#776]) -> [SKIP][454] ([Intel XE#2136])
   [453]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_fbcon_fbt@psr.html
   [454]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_fbcon_fbt@psr.html
    - shard-dg2-set2:     [SKIP][455] ([Intel XE#2136]) -> [SKIP][456] ([Intel XE#776])
   [455]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_fbcon_fbt@psr.html
   [456]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@display-3x:
    - shard-bmg:          [SKIP][457] ([Intel XE#2423]) -> [SKIP][458] ([Intel XE#2373])
   [457]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_feature_discovery@display-3x.html
   [458]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@display-4x:
    - shard-dg2-set2:     [SKIP][459] ([Intel XE#2423] / [i915#2575]) -> [SKIP][460] ([Intel XE#1138])
   [459]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_feature_discovery@display-4x.html
   [460]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@psr1:
    - shard-dg2-set2:     [SKIP][461] ([Intel XE#2423] / [i915#2575]) -> [SKIP][462] ([Intel XE#1135]) +1 other test skip
   [461]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_feature_discovery@psr1.html
   [462]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
    - shard-bmg:          [SKIP][463] ([Intel XE#2316]) -> [SKIP][464] ([Intel XE#2423])
   [463]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html
   [464]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-bmg:          [INCOMPLETE][465] ([Intel XE#2635]) -> [SKIP][466] ([Intel XE#2423])
   [465]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_flip@2x-flip-vs-expired-vblank.html
   [466]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [SKIP][467] ([Intel XE#2423]) -> [FAIL][468] ([Intel XE#2882])
   [467]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [468]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@2x-plain-flip-interruptible:
    - shard-bmg:          [SKIP][469] ([Intel XE#2423]) -> [DMESG-WARN][470] ([Intel XE#877])
   [469]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_flip@2x-plain-flip-interruptible.html
   [470]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip@2x-plain-flip-interruptible.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible:
    - shard-lnl:          [FAIL][471] ([Intel XE#886]) -> [FAIL][472] ([Intel XE#3149] / [Intel XE#886])
   [471]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-lnl-8/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible.html
   [472]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-lnl-4/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-dg2-set2:     [SKIP][473] ([Intel XE#2423] / [i915#2575]) -> [FAIL][474] ([Intel XE#301])
   [473]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [474]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-dg2-set2:     [SKIP][475] ([Intel XE#2423] / [i915#2575]) -> [DMESG-FAIL][476] ([Intel XE#1727] / [Intel XE#3468])
   [475]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_flip@flip-vs-suspend-interruptible.html
   [476]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible:
    - shard-bmg:          [DMESG-FAIL][477] ([Intel XE#3468]) -> [INCOMPLETE][478] ([Intel XE#2635])
   [477]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_flip@wf_vblank-ts-check-interruptible.html
   [478]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_flip@wf_vblank-ts-check-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
    - shard-bmg:          [SKIP][479] ([Intel XE#2293] / [Intel XE#2380]) -> [SKIP][480] ([Intel XE#2136]) +5 other tests skip
   [479]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
   [480]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-dg2-set2:     [SKIP][481] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][482] ([Intel XE#455]) +3 other tests skip
   [481]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
   [482]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
    - shard-bmg:          [SKIP][483] ([Intel XE#2136]) -> [SKIP][484] ([Intel XE#2293] / [Intel XE#2380]) +6 other tests skip
   [483]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
   [484]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-dg2-set2:     [SKIP][485] ([Intel XE#2136]) -> [SKIP][486] ([Intel XE#455]) +12 other tests skip
   [485]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
   [486]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - shard-dg2-set2:     [SKIP][487] ([Intel XE#2423] / [i915#2575]) -> [SKIP][488] ([i915#5274])
   [487]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_force_connector_basic@prune-stale-modes.html
   [488]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][489] ([Intel XE#2136]) -> [SKIP][490] ([Intel XE#2311]) +35 other tests skip
   [489]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen.html
   [490]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-dg2-set2:     [SKIP][491] ([Intel XE#651]) -> [SKIP][492] ([Intel XE#2136]) +1 other test skip
   [491]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
   [492]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][493] ([Intel XE#2311]) -> [SKIP][494] ([Intel XE#2312]) +3 other tests skip
   [493]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [494]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][495] ([Intel XE#2311]) -> [SKIP][496] ([Intel XE#2136]) +31 other tests skip
   [495]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
   [496]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-render:
    - shard-bmg:          [SKIP][497] ([Intel XE#2312]) -> [SKIP][498] ([Intel XE#2136]) +4 other tests skip
   [497]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-render.html
   [498]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-suspend:
    - shard-dg2-set2:     [SKIP][499] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][500] ([Intel XE#651]) +32 other tests skip
   [499]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_frontbuffer_tracking@drrs-suspend.html
   [500]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_frontbuffer_tracking@drrs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
    - shard-bmg:          [DMESG-FAIL][501] ([Intel XE#3468]) -> [FAIL][502] ([Intel XE#2333]) +4 other tests fail
   [501]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [502]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][503] ([Intel XE#2136]) -> [FAIL][504] ([Intel XE#2333]) +19 other tests fail
   [503]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html
   [504]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render:
    - shard-bmg:          [SKIP][505] ([Intel XE#2312]) -> [FAIL][506] ([Intel XE#2333])
   [505]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html
   [506]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move:
    - shard-bmg:          [SKIP][507] ([Intel XE#2136]) -> [INCOMPLETE][508] ([Intel XE#1727])
   [507]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html
   [508]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-render:
    - shard-bmg:          [FAIL][509] ([Intel XE#2333]) -> [SKIP][510] ([Intel XE#2312]) +3 other tests skip
   [509]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-render.html
   [510]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
    - shard-bmg:          [FAIL][511] ([Intel XE#2333]) -> [SKIP][512] ([Intel XE#2136]) +12 other tests skip
   [511]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
   [512]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-bmg:          [SKIP][513] ([Intel XE#2136]) -> [DMESG-FAIL][514] ([Intel XE#3468])
   [513]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [514]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-suspend.html
    - shard-dg2-set2:     [SKIP][515] ([Intel XE#2136]) -> [INCOMPLETE][516] ([Intel XE#3468])
   [515]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [516]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-dg2-set2:     [SKIP][517] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][518] ([Intel XE#658]) +1 other test skip
   [517]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
   [518]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
    - shard-dg2-set2:     [SKIP][519] ([Intel XE#2136]) -> [SKIP][520] ([Intel XE#651]) +57 other tests skip
   [519]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html
   [520]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-msflip-blt:
    - shard-bmg:          [SKIP][521] ([Intel XE#2312]) -> [SKIP][522] ([Intel XE#2311]) +3 other tests skip
   [521]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-msflip-blt.html
   [522]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
    - shard-bmg:          [SKIP][523] ([Intel XE#2352]) -> [SKIP][524] ([Intel XE#2136])
   [523]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
   [524]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt:
    - shard-bmg:          [SKIP][525] ([Intel XE#2313]) -> [SKIP][526] ([Intel XE#2136]) +33 other tests skip
   [525]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html
   [526]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][527] ([Intel XE#2136]) -> [SKIP][528] ([Intel XE#653]) +61 other tests skip
   [527]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
   [528]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][529] ([Intel XE#2312]) -> [SKIP][530] ([Intel XE#2313]) +6 other tests skip
   [529]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
   [530]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render:
    - shard-dg2-set2:     [SKIP][531] ([Intel XE#653]) -> [SKIP][532] ([Intel XE#2136])
   [531]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render.html
   [532]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-bmg:          [SKIP][533] ([Intel XE#2136]) -> [SKIP][534] ([Intel XE#2352])
   [533]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
   [534]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@plane-fbc-rte:
    - shard-dg2-set2:     [SKIP][535] ([Intel XE#2136]) -> [SKIP][536] ([Intel XE#1158])
   [535]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
   [536]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_frontbuffer_tracking@plane-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][537] ([Intel XE#2136]) -> [SKIP][538] ([Intel XE#2313]) +35 other tests skip
   [537]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html
   [538]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          [SKIP][539] ([Intel XE#2313]) -> [SKIP][540] ([Intel XE#2312]) +4 other tests skip
   [539]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
   [540]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
    - shard-dg2-set2:     [SKIP][541] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][542] ([Intel XE#653]) +29 other tests skip
   [541]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
   [542]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][543] ([Intel XE#2136]) -> [SKIP][544] ([Intel XE#2312]) +4 other tests skip
   [543]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
   [544]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][545] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][546] ([Intel XE#2423])
   [545]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_hdr@brightness-with-hdr.html
   [546]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-bmg:          [SKIP][547] ([Intel XE#2136]) -> [SKIP][548] ([Intel XE#2927]) +1 other test skip
   [547]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_joiner@basic-ultra-joiner.html
   [548]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-bmg:          [SKIP][549] ([Intel XE#346]) -> [SKIP][550] ([Intel XE#2136])
   [549]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_joiner@invalid-modeset-big-joiner.html
   [550]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_joiner@invalid-modeset-big-joiner.html
    - shard-dg2-set2:     [SKIP][551] ([Intel XE#2136]) -> [SKIP][552] ([Intel XE#346])
   [551]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_joiner@invalid-modeset-big-joiner.html
   [552]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-dg2-set2:     [SKIP][553] ([Intel XE#2136]) -> [SKIP][554] ([Intel XE#2925])
   [553]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
   [554]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-dg2-set2:     [SKIP][555] ([Intel XE#2136]) -> [SKIP][556] ([Intel XE#2927])
   [555]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_joiner@invalid-modeset-ultra-joiner.html
   [556]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_plane@pixel-format-source-clamping:
    - shard-dg2-set2:     [SKIP][557] ([Intel XE#2423] / [i915#2575]) -> [DMESG-WARN][558] ([Intel XE#2566])
   [557]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_plane@pixel-format-source-clamping.html
   [558]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_plane@pixel-format-source-clamping.html

  * igt@kms_plane_cursor@primary:
    - shard-dg2-set2:     [SKIP][559] ([Intel XE#2423] / [i915#2575]) -> [FAIL][560] ([Intel XE#616])
   [559]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_plane_cursor@primary.html
   [560]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_plane_cursor@primary.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-dg2-set2:     [SKIP][561] ([Intel XE#2423] / [i915#2575]) -> [DMESG-WARN][562] ([Intel XE#1727])
   [561]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_plane_lowres@tiling-4.html
   [562]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_plane_lowres@tiling-none:
    - shard-bmg:          [DMESG-FAIL][563] ([Intel XE#2705] / [Intel XE#3468]) -> [SKIP][564] ([Intel XE#2423])
   [563]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_plane_lowres@tiling-none.html
   [564]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_plane_lowres@tiling-none.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-dg2-set2:     [SKIP][565] ([Intel XE#455]) -> [SKIP][566] ([Intel XE#2423] / [i915#2575])
   [565]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_plane_lowres@tiling-y.html
   [566]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-bmg:          [SKIP][567] ([Intel XE#2393]) -> [SKIP][568] ([Intel XE#2423]) +1 other test skip
   [567]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_plane_lowres@tiling-yf.html
   [568]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-bmg:          [SKIP][569] ([Intel XE#2423]) -> [SKIP][570] ([Intel XE#2493])
   [569]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_plane_multiple@tiling-y.html
   [570]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-dg2-set2:     [SKIP][571] ([Intel XE#2423] / [i915#2575]) -> [FAIL][572] ([Intel XE#361])
   [571]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_plane_scaling@intel-max-src-size.html
   [572]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20:
    - shard-dg2-set2:     [SKIP][573] ([Intel XE#2423] / [i915#2575]) -> [SKIP][574] ([Intel XE#2763] / [Intel XE#455])
   [573]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20.html
   [574]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25:
    - shard-dg2-set2:     [SKIP][575] ([Intel XE#2763] / [Intel XE#455]) -> [SKIP][576] ([Intel XE#2423] / [i915#2575])
   [575]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25.html
   [576]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25:
    - shard-bmg:          [SKIP][577] ([Intel XE#2423]) -> [SKIP][578] ([Intel XE#2763])
   [577]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html
   [578]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5:
    - shard-bmg:          [INCOMPLETE][579] ([Intel XE#2566]) -> [SKIP][580] ([Intel XE#2423])
   [579]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html
   [580]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75:
    - shard-bmg:          [SKIP][581] ([Intel XE#2763]) -> [SKIP][582] ([Intel XE#2423]) +1 other test skip
   [581]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75.html
   [582]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-bmg:          [SKIP][583] ([Intel XE#2136]) -> [SKIP][584] ([Intel XE#870]) +1 other test skip
   [583]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_pm_backlight@bad-brightness.html
   [584]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-bmg:          [SKIP][585] ([Intel XE#2938]) -> [SKIP][586] ([Intel XE#2136])
   [585]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_pm_backlight@brightness-with-dpms.html
   [586]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2-set2:     [SKIP][587] ([Intel XE#2136]) -> [SKIP][588] ([Intel XE#870]) +3 other tests skip
   [587]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_pm_backlight@fade-with-suspend.html
   [588]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-dg2-set2:     [SKIP][589] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][590] ([Intel XE#1122])
   [589]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_pm_dc@dc3co-vpb-simulation.html
   [590]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-bmg:          [SKIP][591] ([Intel XE#2136]) -> [SKIP][592] ([Intel XE#3309])
   [591]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_pm_dc@dc5-retention-flops.html
   [592]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-dg2-set2:     [SKIP][593] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][594] ([Intel XE#908])
   [593]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_pm_dc@dc6-dpms.html
   [594]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-bmg:          [SKIP][595] ([Intel XE#2136]) -> [SKIP][596] ([Intel XE#2392])
   [595]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_pm_dc@dc6-psr.html
   [596]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_pm_dc@dc6-psr.html
    - shard-dg2-set2:     [SKIP][597] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][598] ([Intel XE#1129])
   [597]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_pm_dc@dc6-psr.html
   [598]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_dc@deep-pkgc:
    - shard-bmg:          [SKIP][599] ([Intel XE#2136]) -> [SKIP][600] ([Intel XE#2505])
   [599]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_pm_dc@deep-pkgc.html
   [600]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_pm_dc@deep-pkgc.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-dg2-set2:     [SKIP][601] ([Intel XE#2136]) -> [FAIL][602] ([Intel XE#3527])
   [601]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_pm_lpsp@kms-lpsp.html
   [602]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@basic-rte:
    - shard-dg2-set2:     [SKIP][603] ([Intel XE#2446]) -> [ABORT][604] ([Intel XE#3468])
   [603]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_pm_rpm@basic-rte.html
   [604]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_pm_rpm@basic-rte.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-bmg:          [SKIP][605] ([Intel XE#1439] / [Intel XE#3141]) -> [SKIP][606] ([Intel XE#2446]) +2 other tests skip
   [605]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_pm_rpm@dpms-lpsp.html
   [606]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_pm_rpm@dpms-lpsp.html
    - shard-dg2-set2:     [SKIP][607] ([Intel XE#2446]) -> [DMESG-WARN][608] ([Intel XE#3468])
   [607]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_pm_rpm@dpms-lpsp.html
   [608]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-bmg:          [SKIP][609] ([Intel XE#2446]) -> [SKIP][610] ([Intel XE#1439])
   [609]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
   [610]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-bmg:          [SKIP][611] ([Intel XE#2446]) -> [SKIP][612] ([Intel XE#1439] / [Intel XE#3141])
   [611]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_pm_rpm@modeset-lpsp.html
   [612]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_pm_rpm@modeset-stress-extra-wait:
    - shard-dg2-set2:     [SKIP][613] ([Intel XE#2446]) -> [DMESG-WARN][614] ([Intel XE#1727] / [Intel XE#3468])
   [613]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_pm_rpm@modeset-stress-extra-wait.html
   [614]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_pm_rpm@modeset-stress-extra-wait.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-bmg:          [SKIP][615] ([Intel XE#2136]) -> [SKIP][616] ([Intel XE#1489]) +6 other tests skip
   [615]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
   [616]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area:
    - shard-dg2-set2:     [SKIP][617] ([Intel XE#2136]) -> [SKIP][618] ([Intel XE#1489]) +26 other tests skip
   [617]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html
   [618]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
    - shard-bmg:          [SKIP][619] ([Intel XE#1489]) -> [SKIP][620] ([Intel XE#2136]) +8 other tests skip
   [619]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html
   [620]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-dg2-set2:     [SKIP][621] ([Intel XE#2136]) -> [SKIP][622] ([Intel XE#1122]) +1 other test skip
   [621]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_psr2_su@page_flip-nv12.html
   [622]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-bmg:          [SKIP][623] ([Intel XE#2136]) -> [SKIP][624] ([Intel XE#2387])
   [623]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_psr2_su@page_flip-xrgb8888.html
   [624]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-psr2-cursor-plane-move:
    - shard-bmg:          [SKIP][625] ([Intel XE#2234] / [Intel XE#2850]) -> [SKIP][626] ([Intel XE#2136]) +19 other tests skip
   [625]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_psr@fbc-psr2-cursor-plane-move.html
   [626]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_psr@fbc-psr2-cursor-plane-move.html

  * igt@kms_psr@fbc-psr2-primary-render:
    - shard-dg2-set2:     [SKIP][627] ([Intel XE#2136]) -> [SKIP][628] ([Intel XE#2850] / [Intel XE#929]) +31 other tests skip
   [627]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_psr@fbc-psr2-primary-render.html
   [628]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_psr@fbc-psr2-primary-render.html

  * igt@kms_psr@fbc-psr2-sprite-render:
    - shard-dg2-set2:     [SKIP][629] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][630] ([Intel XE#2136] / [Intel XE#2351])
   [629]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@kms_psr@fbc-psr2-sprite-render.html
   [630]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_psr@fbc-psr2-sprite-render.html

  * igt@kms_psr@psr-basic:
    - shard-bmg:          [SKIP][631] ([Intel XE#2136]) -> [SKIP][632] ([Intel XE#2234] / [Intel XE#2850]) +23 other tests skip
   [631]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_psr@psr-basic.html
   [632]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-7/igt@kms_psr@psr-basic.html

  * igt@kms_psr@psr-dpms:
    - shard-dg2-set2:     [SKIP][633] ([Intel XE#2136] / [Intel XE#2351]) -> [SKIP][634] ([Intel XE#2850] / [Intel XE#929]) +13 other tests skip
   [633]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_psr@psr-dpms.html
   [634]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_psr@psr-dpms.html

  * igt@kms_psr@psr-primary-page-flip:
    - shard-dg2-set2:     [SKIP][635] ([Intel XE#2351]) -> [SKIP][636] ([Intel XE#2850] / [Intel XE#929]) +2 other tests skip
   [635]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_psr@psr-primary-page-flip.html
   [636]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_psr@psr2-primary-render:
    - shard-bmg:          [SKIP][637] ([Intel XE#2234]) -> [SKIP][638] ([Intel XE#2136])
   [637]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_psr@psr2-primary-render.html
   [638]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_psr@psr2-primary-render.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-bmg:          [SKIP][639] ([Intel XE#2136]) -> [SKIP][640] ([Intel XE#2414])
   [639]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [640]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-7/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-dg2-set2:     [SKIP][641] ([Intel XE#2136]) -> [SKIP][642] ([Intel XE#2939])
   [641]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [642]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-dg2-set2:     [SKIP][643] ([Intel XE#2423] / [i915#2575]) -> [SKIP][644] ([Intel XE#3414]) +1 other test skip
   [643]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_rotation_crc@bad-pixel-format.html
   [644]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-bmg:          [SKIP][645] ([Intel XE#2423]) -> [SKIP][646] ([Intel XE#3414]) +2 other tests skip
   [645]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_rotation_crc@primary-rotation-270.html
   [646]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-3/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-bmg:          [SKIP][647] ([Intel XE#2330]) -> [SKIP][648] ([Intel XE#2423])
   [647]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
   [648]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-dg2-set2:     [SKIP][649] ([Intel XE#2423] / [i915#2575]) -> [SKIP][650] ([Intel XE#1127]) +1 other test skip
   [649]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
   [650]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-bmg:          [SKIP][651] ([Intel XE#3414]) -> [SKIP][652] ([Intel XE#2423]) +2 other tests skip
   [651]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
   [652]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_scaling_modes@scaling-mode-center:
    - shard-bmg:          [SKIP][653] ([Intel XE#2413]) -> [SKIP][654] ([Intel XE#2423]) +1 other test skip
   [653]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@kms_scaling_modes@scaling-mode-center.html
   [654]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_scaling_modes@scaling-mode-center.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2-set2:     [SKIP][655] ([Intel XE#2423] / [i915#2575]) -> [SKIP][656] ([Intel XE#1500])
   [655]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [656]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-dg2-set2:     [SKIP][657] ([Intel XE#2423] / [i915#2575]) -> [SKIP][658] ([Intel XE#330])
   [657]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_tv_load_detect@load-detect.html
   [658]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vblank@ts-continuation-idle-hang:
    - shard-bmg:          [SKIP][659] ([Intel XE#2423]) -> [DMESG-WARN][660] ([Intel XE#3468]) +1 other test dmesg-warn
   [659]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_vblank@ts-continuation-idle-hang.html
   [660]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_vblank@ts-continuation-idle-hang.html

  * igt@kms_vblank@wait-busy:
    - shard-bmg:          [DMESG-FAIL][661] ([Intel XE#3468]) -> [SKIP][662] ([Intel XE#2423]) +1 other test skip
   [661]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@kms_vblank@wait-busy.html
   [662]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_vblank@wait-busy.html

  * igt@kms_vrr@cmrr:
    - shard-bmg:          [SKIP][663] ([Intel XE#2423]) -> [SKIP][664] ([Intel XE#2168])
   [663]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_vrr@cmrr.html
   [664]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@kms_vrr@cmrr.html

  * igt@kms_vrr@flip-dpms:
    - shard-dg2-set2:     [SKIP][665] ([Intel XE#2423] / [i915#2575]) -> [SKIP][666] ([Intel XE#455]) +20 other tests skip
   [665]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@kms_vrr@flip-dpms.html
   [666]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@kms_vrr@flip-dpms.html

  * igt@kms_vrr@flip-suspend:
    - shard-bmg:          [SKIP][667] ([Intel XE#1499]) -> [SKIP][668] ([Intel XE#2423]) +2 other tests skip
   [667]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@kms_vrr@flip-suspend.html
   [668]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_vrr@flip-suspend.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-bmg:          [SKIP][669] ([Intel XE#2423]) -> [SKIP][670] ([Intel XE#1499]) +1 other test skip
   [669]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_vrr@seamless-rr-switch-virtual.html
   [670]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@kms_writeback@writeback-check-output-xrgb2101010:
    - shard-bmg:          [SKIP][671] ([Intel XE#756]) -> [SKIP][672] ([Intel XE#2423])
   [671]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@kms_writeback@writeback-check-output-xrgb2101010.html
   [672]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@kms_writeback@writeback-check-output-xrgb2101010.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-bmg:          [SKIP][673] ([Intel XE#2423]) -> [SKIP][674] ([Intel XE#756])
   [673]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@kms_writeback@writeback-invalid-parameters.html
   [674]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-dg2-set2:     [SKIP][675] ([Intel XE#2423] / [i915#2575]) -> [SKIP][676] ([Intel XE#756]) +3 other tests skip
   [675]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@kms_writeback@writeback-pixel-formats.html
   [676]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@kms_writeback@writeback-pixel-formats.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-bmg:          [SKIP][677] ([Intel XE#2423]) -> [SKIP][678] ([Intel XE#1091] / [Intel XE#2849])
   [677]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@sriov_basic@enable-vfs-autoprobe-off.html
   [678]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@xe_compute_preempt@compute-preempt-many:
    - shard-dg2-set2:     [SKIP][679] ([Intel XE#1130]) -> [SKIP][680] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
   [679]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_compute_preempt@compute-preempt-many.html
   [680]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_compute_preempt@compute-preempt-many.html

  * igt@xe_copy_basic@mem-copy-linear-0x3fff:
    - shard-dg2-set2:     [SKIP][681] ([Intel XE#1130]) -> [SKIP][682] ([Intel XE#1123]) +1 other test skip
   [681]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0x3fff.html
   [682]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_copy_basic@mem-copy-linear-0x3fff.html

  * igt@xe_eudebug@basic-close:
    - shard-dg2-set2:     [SKIP][683] ([Intel XE#1130]) -> [SKIP][684] ([Intel XE#2905]) +32 other tests skip
   [683]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_eudebug@basic-close.html
   [684]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_eudebug@basic-close.html

  * igt@xe_eudebug@basic-vm-bind-metadata-discovery:
    - shard-bmg:          [SKIP][685] ([Intel XE#2905]) -> [SKIP][686] ([Intel XE#1130]) +10 other tests skip
   [685]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-4/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html
   [686]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html

  * igt@xe_eudebug@discovery-empty:
    - shard-bmg:          [SKIP][687] ([Intel XE#1130]) -> [SKIP][688] ([Intel XE#2905]) +5 other tests skip
   [687]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_eudebug@discovery-empty.html
   [688]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_eudebug@discovery-empty.html

  * igt@xe_eudebug_online@basic-breakpoint:
    - shard-dg2-set2:     [SKIP][689] ([Intel XE#2905]) -> [SKIP][690] ([Intel XE#1130])
   [689]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@xe_eudebug_online@basic-breakpoint.html
   [690]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_eudebug_online@basic-breakpoint.html

  * igt@xe_evict@evict-beng-large-multi-vm-cm:
    - shard-bmg:          [DMESG-FAIL][691] ([Intel XE#3468]) -> [FAIL][692] ([Intel XE#2364])
   [691]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@xe_evict@evict-beng-large-multi-vm-cm.html
   [692]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@xe_evict@evict-beng-large-multi-vm-cm.html

  * igt@xe_evict@evict-beng-mixed-many-threads-large:
    - shard-dg2-set2:     [SKIP][693] ([Intel XE#1130]) -> [TIMEOUT][694] ([Intel XE#1473])
   [693]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_evict@evict-beng-mixed-many-threads-large.html
   [694]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_evict@evict-beng-mixed-many-threads-large.html
    - shard-bmg:          [SKIP][695] ([Intel XE#1130]) -> [TIMEOUT][696] ([Intel XE#1473])
   [695]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_evict@evict-beng-mixed-many-threads-large.html
   [696]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_evict@evict-beng-mixed-many-threads-large.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          [TIMEOUT][697] ([Intel XE#1473]) -> [SKIP][698] ([Intel XE#1130])
   [697]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@xe_evict@evict-mixed-many-threads-small.html
   [698]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_evict@evict-mixed-many-threads-small.html
    - shard-dg2-set2:     [SKIP][699] ([Intel XE#1130]) -> [INCOMPLETE][700] ([Intel XE#1473])
   [699]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_evict@evict-mixed-many-threads-small.html
   [700]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_exec_basic@many-execqueues-bindexecqueue-userptr-rebind:
    - shard-bmg:          [SKIP][701] ([Intel XE#1130]) -> [DMESG-WARN][702] ([Intel XE#3468]) +1 other test dmesg-warn
   [701]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_exec_basic@many-execqueues-bindexecqueue-userptr-rebind.html
   [702]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_exec_basic@many-execqueues-bindexecqueue-userptr-rebind.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
    - shard-bmg:          [SKIP][703] ([Intel XE#2322]) -> [SKIP][704] ([Intel XE#1130]) +11 other tests skip
   [703]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
   [704]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-bind:
    - shard-bmg:          [SKIP][705] ([Intel XE#1130]) -> [SKIP][706] ([Intel XE#2322]) +7 other tests skip
   [705]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_exec_basic@multigpu-once-basic-defer-bind.html
   [706]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_exec_basic@multigpu-once-basic-defer-bind.html

  * igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-prefetch:
    - shard-dg2-set2:     [SKIP][707] ([Intel XE#288]) -> [SKIP][708] ([Intel XE#1130])
   [707]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-prefetch.html
   [708]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-prefetch.html

  * igt@xe_exec_fault_mode@many-userptr-invalidate-race-imm:
    - shard-bmg:          [DMESG-WARN][709] ([Intel XE#1727]) -> [SKIP][710] ([Intel XE#1130]) +1 other test skip
   [709]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@xe_exec_fault_mode@many-userptr-invalidate-race-imm.html
   [710]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_exec_fault_mode@many-userptr-invalidate-race-imm.html

  * igt@xe_exec_fault_mode@many-userptr-rebind:
    - shard-bmg:          [DMESG-WARN][711] ([Intel XE#3468]) -> [SKIP][712] ([Intel XE#1130]) +9 other tests skip
   [711]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@xe_exec_fault_mode@many-userptr-rebind.html
   [712]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_exec_fault_mode@many-userptr-rebind.html

  * igt@xe_exec_fault_mode@once-invalid-userptr-fault:
    - shard-dg2-set2:     [SKIP][713] ([Intel XE#1130]) -> [SKIP][714] ([Intel XE#288]) +78 other tests skip
   [713]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html
   [714]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-lr:
    - shard-dg2-set2:     [SKIP][715] ([Intel XE#1130]) -> [SKIP][716] ([Intel XE#2360]) +3 other tests skip
   [715]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html
   [716]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html

  * igt@xe_fault_injection@inject-fault-probe-function-wait_for_lmem_ready:
    - shard-bmg:          [DMESG-WARN][717] ([Intel XE#3468]) -> [DMESG-WARN][718] ([Intel XE#3467])
   [717]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-wait_for_lmem_ready.html
   [718]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-wait_for_lmem_ready.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_device_create:
    - shard-bmg:          [DMESG-WARN][719] ([Intel XE#3467] / [Intel XE#3468]) -> [SKIP][720] ([Intel XE#1130])
   [719]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_fault_injection@inject-fault-probe-function-xe_device_create.html
   [720]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_fault_injection@inject-fault-probe-function-xe_device_create.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early:
    - shard-bmg:          [SKIP][721] ([Intel XE#1130]) -> [DMESG-WARN][722] ([Intel XE#3467]) +1 other test dmesg-warn
   [721]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early.html
   [722]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-4/igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ads_init:
    - shard-bmg:          [DMESG-WARN][723] ([Intel XE#3343] / [Intel XE#3468]) -> [DMESG-WARN][724] ([Intel XE#3343])
   [723]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ads_init.html
   [724]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ads_init.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ct_init:
    - shard-dg2-set2:     [SKIP][725] ([Intel XE#1130]) -> [DMESG-WARN][726] ([Intel XE#3343])
   [725]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ct_init.html
   [726]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ct_init.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_guc_log_init:
    - shard-bmg:          [DMESG-WARN][727] ([Intel XE#3343]) -> [SKIP][728] ([Intel XE#1130])
   [727]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_log_init.html
   [728]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_log_init.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_uc_fw_init:
    - shard-bmg:          [DMESG-WARN][729] ([Intel XE#3343] / [Intel XE#3468]) -> [SKIP][730] ([Intel XE#1130])
   [729]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_fault_injection@inject-fault-probe-function-xe_uc_fw_init.html
   [730]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_fault_injection@inject-fault-probe-function-xe_uc_fw_init.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_wa_init:
    - shard-dg2-set2:     [SKIP][731] ([Intel XE#1130]) -> [DMESG-WARN][732] ([Intel XE#3467]) +8 other tests dmesg-warn
   [731]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_fault_injection@inject-fault-probe-function-xe_wa_init.html
   [732]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_fault_injection@inject-fault-probe-function-xe_wa_init.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init:
    - shard-bmg:          [SKIP][733] ([Intel XE#1130]) -> [DMESG-WARN][734] ([Intel XE#3343])
   [733]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init.html
   [734]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-6/igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init.html

  * igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run:
    - shard-bmg:          [FAIL][735] ([Intel XE#3499]) -> [SKIP][736] ([Intel XE#1130])
   [735]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-5/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run.html
   [736]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run.html

  * igt@xe_fault_injection@vm-bind-fail-xe_vma_ops_alloc:
    - shard-bmg:          [DMESG-FAIL][737] ([Intel XE#3467]) -> [SKIP][738] ([Intel XE#1130]) +2 other tests skip
   [737]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-6/igt@xe_fault_injection@vm-bind-fail-xe_vma_ops_alloc.html
   [738]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_fault_injection@vm-bind-fail-xe_vma_ops_alloc.html

  * igt@xe_fault_injection@vm-create-fail-xe_pt_create:
    - shard-bmg:          [DMESG-WARN][739] ([Intel XE#3467] / [Intel XE#3468]) -> [DMESG-WARN][740] ([Intel XE#3467])
   [739]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html
   [740]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html

  * igt@xe_huc_copy@huc_copy:
    - shard-dg2-set2:     [SKIP][741] ([Intel XE#255]) -> [SKIP][742] ([Intel XE#1130])
   [741]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@xe_huc_copy@huc_copy.html
   [742]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_huc_copy@huc_copy.html

  * igt@xe_live_ktest@xe_bo:
    - shard-dg2-set2:     [INCOMPLETE][743] -> [SKIP][744] ([Intel XE#1192])
   [743]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_live_ktest@xe_bo.html
   [744]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_live_ktest@xe_bo.html

  * igt@xe_media_fill@media-fill:
    - shard-dg2-set2:     [SKIP][745] ([Intel XE#1130]) -> [SKIP][746] ([Intel XE#560])
   [745]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_media_fill@media-fill.html
   [746]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_media_fill@media-fill.html

  * igt@xe_module_load@reload:
    - shard-dg2-set2:     [FAIL][747] ([Intel XE#3546]) -> [DMESG-WARN][748] ([Intel XE#3467]) +1 other test dmesg-warn
   [747]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_module_load@reload.html
   [748]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_module_load@reload.html

  * igt@xe_module_load@reload-no-display:
    - shard-bmg:          [FAIL][749] -> [FAIL][750] ([Intel XE#3625])
   [749]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_module_load@reload-no-display.html
   [750]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_module_load@reload-no-display.html

  * igt@xe_oa@oa-tlb-invalidate:
    - shard-bmg:          [SKIP][751] ([Intel XE#1130]) -> [SKIP][752] ([Intel XE#2248])
   [751]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_oa@oa-tlb-invalidate.html
   [752]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_oa@oa-tlb-invalidate.html

  * igt@xe_oa@polling-small-buf:
    - shard-dg2-set2:     [SKIP][753] ([Intel XE#1130]) -> [SKIP][754] ([Intel XE#3573]) +21 other tests skip
   [753]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_oa@polling-small-buf.html
   [754]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_oa@polling-small-buf.html

  * igt@xe_pat@pat-index-xe2:
    - shard-dg2-set2:     [SKIP][755] ([Intel XE#1130]) -> [SKIP][756] ([Intel XE#977])
   [755]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_pat@pat-index-xe2.html
   [756]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_pat@pat-index-xe2.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-bmg:          [SKIP][757] ([Intel XE#1420]) -> [SKIP][758] ([Intel XE#1130])
   [757]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_pat@pat-index-xehpc.html
   [758]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelpg:
    - shard-bmg:          [SKIP][759] ([Intel XE#2236]) -> [SKIP][760] ([Intel XE#1130])
   [759]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_pat@pat-index-xelpg.html
   [760]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_peer2peer@read:
    - shard-dg2-set2:     [SKIP][761] ([Intel XE#1061]) -> [FAIL][762] ([Intel XE#1173]) +1 other test fail
   [761]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_peer2peer@read.html
   [762]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_peer2peer@read.html

  * igt@xe_pm@d3cold-basic:
    - shard-bmg:          [SKIP][763] ([Intel XE#1130]) -> [SKIP][764] ([Intel XE#2284])
   [763]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_pm@d3cold-basic.html
   [764]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_pm@d3cold-basic.html

  * igt@xe_pm@d3cold-mmap-vram:
    - shard-dg2-set2:     [SKIP][765] ([Intel XE#1130]) -> [SKIP][766] ([Intel XE#2284] / [Intel XE#366]) +5 other tests skip
   [765]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_pm@d3cold-mmap-vram.html
   [766]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_pm@d3cold-mmap-vram.html

  * igt@xe_pm@d3cold-mocs:
    - shard-bmg:          [SKIP][767] ([Intel XE#2284]) -> [SKIP][768] ([Intel XE#1130]) +1 other test skip
   [767]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_pm@d3cold-mocs.html
   [768]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_pm@d3cold-mocs.html
    - shard-dg2-set2:     [SKIP][769] ([Intel XE#1130]) -> [SKIP][770] ([Intel XE#2284])
   [769]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_pm@d3cold-mocs.html
   [770]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_pm@d3cold-mocs.html

  * igt@xe_pm@d3hot-mmap-system:
    - shard-dg2-set2:     [SKIP][771] ([Intel XE#1130]) -> [DMESG-WARN][772] ([Intel XE#3468])
   [771]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_pm@d3hot-mmap-system.html
   [772]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_pm@d3hot-mmap-system.html

  * igt@xe_pm@d3hot-multiple-execs:
    - shard-bmg:          [SKIP][773] ([Intel XE#1130]) -> [DMESG-WARN][774] ([Intel XE#1727] / [Intel XE#3468])
   [773]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_pm@d3hot-multiple-execs.html
   [774]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_pm@d3hot-multiple-execs.html

  * igt@xe_pm@s2idle-exec-after:
    - shard-bmg:          [DMESG-WARN][775] ([Intel XE#1727] / [Intel XE#3468]) -> [SKIP][776] ([Intel XE#1130])
   [775]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@xe_pm@s2idle-exec-after.html
   [776]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_pm@s2idle-exec-after.html

  * igt@xe_pm@s3-multiple-execs:
    - shard-dg2-set2:     [SKIP][777] ([Intel XE#1130]) -> [DMESG-WARN][778] ([Intel XE#1727] / [Intel XE#3468] / [Intel XE#569]) +1 other test dmesg-warn
   [777]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_pm@s3-multiple-execs.html
   [778]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_pm@s3-multiple-execs.html

  * igt@xe_pm@s4-basic:
    - shard-dg2-set2:     [SKIP][779] ([Intel XE#1130]) -> [DMESG-WARN][780] ([Intel XE#1727] / [Intel XE#3468]) +3 other tests dmesg-warn
   [779]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_pm@s4-basic.html
   [780]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_pm@s4-basic.html

  * igt@xe_pm@s4-vm-bind-userptr:
    - shard-dg2-set2:     [SKIP][781] ([Intel XE#1130]) -> [DMESG-WARN][782] ([Intel XE#1727] / [Intel XE#2280] / [Intel XE#3468])
   [781]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_pm@s4-vm-bind-userptr.html
   [782]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-434/igt@xe_pm@s4-vm-bind-userptr.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-dg2-set2:     [SKIP][783] ([Intel XE#1130]) -> [SKIP][784] ([Intel XE#579])
   [783]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_pm@vram-d3cold-threshold.html
   [784]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_pm_residency@gt-c6-freeze:
    - shard-dg2-set2:     [DMESG-WARN][785] ([Intel XE#1727] / [Intel XE#3088] / [Intel XE#3468]) -> [SKIP][786] ([Intel XE#1130])
   [785]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-435/igt@xe_pm_residency@gt-c6-freeze.html
   [786]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_pm_residency@gt-c6-freeze.html

  * igt@xe_query@multigpu-query-engines:
    - shard-dg2-set2:     [SKIP][787] ([Intel XE#1130]) -> [SKIP][788] ([Intel XE#944]) +9 other tests skip
   [787]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_query@multigpu-query-engines.html
   [788]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_query@multigpu-query-engines.html

  * igt@xe_query@multigpu-query-gt-list:
    - shard-bmg:          [SKIP][789] ([Intel XE#1130]) -> [SKIP][790] ([Intel XE#944]) +2 other tests skip
   [789]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_query@multigpu-query-gt-list.html
   [790]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-5/igt@xe_query@multigpu-query-gt-list.html

  * igt@xe_query@query-gt-list:
    - shard-dg2-set2:     [SKIP][791] ([Intel XE#1130]) -> [DMESG-WARN][792] ([Intel XE#1727]) +3 other tests dmesg-warn
   [791]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_query@query-gt-list.html
   [792]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_query@query-gt-list.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-dg2-set2:     [SKIP][793] ([Intel XE#1130]) -> [SKIP][794] ([Intel XE#3342])
   [793]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-434/igt@xe_sriov_flr@flr-vf1-clear.html
   [794]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_tlb@basic-tlb:
    - shard-bmg:          [SKIP][795] ([Intel XE#1130]) -> [CRASH][796] ([Intel XE#3212])
   [795]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-1/igt@xe_tlb@basic-tlb.html
   [796]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-2/igt@xe_tlb@basic-tlb.html
    - shard-dg2-set2:     [SKIP][797] ([Intel XE#1130]) -> [FAIL][798] ([Intel XE#2922])
   [797]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_tlb@basic-tlb.html
   [798]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-466/igt@xe_tlb@basic-tlb.html

  * igt@xe_vm@mmap-style-bind-either-side-partial-split-page-hammer:
    - shard-bmg:          [DMESG-WARN][799] -> [SKIP][800] ([Intel XE#1130])
   [799]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-7/igt@xe_vm@mmap-style-bind-either-side-partial-split-page-hammer.html
   [800]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_vm@mmap-style-bind-either-side-partial-split-page-hammer.html

  * igt@xe_wedged@basic-wedged:
    - shard-bmg:          [DMESG-WARN][801] ([Intel XE#2919]) -> [SKIP][802] ([Intel XE#1130])
   [801]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-bmg-3/igt@xe_wedged@basic-wedged.html
   [802]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-bmg-1/igt@xe_wedged@basic-wedged.html

  * igt@xe_wedged@wedged-at-any-timeout:
    - shard-dg2-set2:     [SKIP][803] ([Intel XE#1130]) -> [ABORT][804] ([Intel XE#3421])
   [803]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-466/igt@xe_wedged@wedged-at-any-timeout.html
   [804]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-435/igt@xe_wedged@wedged-at-any-timeout.html

  * igt@xe_wedged@wedged-mode-toggle:
    - shard-dg2-set2:     [SKIP][805] ([Intel XE#1130]) -> [ABORT][806] ([Intel XE#3075] / [Intel XE#3084])
   [805]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22/shard-dg2-436/igt@xe_wedged@wedged-mode-toggle.html
   [806]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141880v1/shard-dg2-436/igt@xe_wedged@wedged-mode-toggle.html

  
  [Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [Intel XE#1081]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1081
  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1130
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [Intel XE#1152]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1152
  [Intel XE#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158
  [Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
  [Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231
  [Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
  [Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1426
  [Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
  [Intel XE#1522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1522
  [Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607
  [Intel XE#1616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1616
  [Intel XE#1695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1695
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#1861]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1861
  [Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
  [Intel XE#1885]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1885
  [Intel XE#2029]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2029
  [Intel XE#2042]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2042
  [Intel XE#2055]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2055
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [Intel XE#2136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2136
  [Intel XE#2141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2141
  [Intel XE#2159]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2159
  [Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [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#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2248]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2248
  [Intel XE#2249]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2249
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2280
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
  [Intel XE#2333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2333
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351
  [Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2364
  [Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [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#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
  [Intel XE#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
  [Intel XE#2423]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2423
  [Intel XE#2446]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2446
  [Intel XE#2493]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2493
  [Intel XE#2505]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2505
  [Intel XE#2514]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2514
  [Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255
  [Intel XE#2550]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2550
  [Intel XE#2566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2566
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [Intel XE#2635]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2635
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
  [Intel XE#2715]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2715
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2919]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2919
  [Intel XE#2922]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2922
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
  [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#3052]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3052
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#3070]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3070
  [Intel XE#3075]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3075
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#3084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3084
  [Intel XE#3086]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3086
  [Intel XE#3088]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3088
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3184]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3184
  [Intel XE#3212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3212
  [Intel XE#3226]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3226
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
  [Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
  [Intel XE#3339]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3339
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3343
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3383
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3421
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3440]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3440
  [Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
  [Intel XE#3453]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3453
  [Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
  [Intel XE#3467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3467
  [Intel XE#3468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3468
  [Intel XE#3486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3486
  [Intel XE#3499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3499
  [Intel XE#3527]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3527
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#3546]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3546
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/361
  [Intel XE#3625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3625
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
  [Intel XE#569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/569
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [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#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
  [Intel XE#623]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/623
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#873]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/873
  [Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
  [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
  [Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
  [Intel XE#908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/908
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#958]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/958
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274


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

  * IGT: IGT_8128 -> IGT_8129
  * Linux: xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22 -> xe-pw-141880v1

  IGT_8128: 8128
  IGT_8129: 363499a879fee5b9b7eda8acf7c772bce3423493 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2289-f3f406165a3d5f0fcb60be2060b7920ac385dc22: f3f406165a3d5f0fcb60be2060b7920ac385dc22
  xe-pw-141880v1: 141880v1

== Logs ==

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

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

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

* Re: [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic
  2024-11-28 12:53 ` [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic Ilia Levi
@ 2024-12-02 18:32   ` Piotr Piórkowski
  2024-12-03 11:47     ` Levi, Ilia
  0 siblings, 1 reply; 28+ messages in thread
From: Piotr Piórkowski @ 2024-12-02 18:32 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:41 +0200]:
> The irq.enabled flag was protected by a spin lock (irq.lock).
> By making it atomic we no longer need to wait for the spin lock in
> irq handlers. This will become especially useful for MSI-X irq
> handlers to prevent lock contention between different interrupts.

I am not convinced that you can simply replace this spin_lock with an atomic.
Note that this spin lock is also used for whole blocks in the irq handler
(for example gt_irq_handler), and not only to access this flag.

Thanks,
Piotr


> 
> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
> ---
>  drivers/gpu/drm/xe/display/ext/i915_irq.c |  2 +-
>  drivers/gpu/drm/xe/xe_device_types.h      |  2 +-
>  drivers/gpu/drm/xe/xe_irq.c               | 29 ++++++-----------------
>  3 files changed, 9 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/ext/i915_irq.c b/drivers/gpu/drm/xe/display/ext/i915_irq.c
> index a7dbc6554d69..0c0f4533c34f 100644
> --- a/drivers/gpu/drm/xe/display/ext/i915_irq.c
> +++ b/drivers/gpu/drm/xe/display/ext/i915_irq.c
> @@ -64,7 +64,7 @@ bool intel_irqs_enabled(struct xe_device *xe)
>  	 * But at this point the xe irq is better protected against races,
>  	 * although the full solution would be protecting the i915 side.
>  	 */
> -	return xe->irq.enabled;
> +	return atomic_read(&xe->irq.enabled);
>  }
>  
>  void intel_synchronize_irq(struct xe_device *xe)
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 6a04f975ec16..7ee114c17552 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -347,7 +347,7 @@ struct xe_device {
>  		spinlock_t lock;
>  
>  		/** @irq.enabled: interrupts enabled on this device */
> -		bool enabled;
> +		atomic_t enabled;
>  	} irq;
>  
>  	/** @ttm: ttm device */
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index 7bf7201529ac..1c509e66694d 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -348,12 +348,8 @@ static irqreturn_t xelp_irq_handler(int irq, void *arg)
>  	unsigned long intr_dw[2];
>  	u32 identity[32];
>  
> -	spin_lock(&xe->irq.lock);
> -	if (!xe->irq.enabled) {
> -		spin_unlock(&xe->irq.lock);
> +	if (!atomic_read(&xe->irq.enabled))
>  		return IRQ_NONE;
> -	}
> -	spin_unlock(&xe->irq.lock);
>  
>  	master_ctl = xelp_intr_disable(xe);
>  	if (!master_ctl) {
> @@ -417,12 +413,8 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
>  
>  	/* TODO: This really shouldn't be copied+pasted */
>  
> -	spin_lock(&xe->irq.lock);
> -	if (!xe->irq.enabled) {
> -		spin_unlock(&xe->irq.lock);
> +	if (!atomic_read(&xe->irq.enabled))
>  		return IRQ_NONE;
> -	}
> -	spin_unlock(&xe->irq.lock);
>  
>  	master_tile_ctl = dg1_intr_disable(xe);
>  	if (!master_tile_ctl) {
> @@ -644,12 +636,8 @@ static irqreturn_t vf_mem_irq_handler(int irq, void *arg)
>  	struct xe_tile *tile;
>  	unsigned int id;
>  
> -	spin_lock(&xe->irq.lock);
> -	if (!xe->irq.enabled) {
> -		spin_unlock(&xe->irq.lock);
> +	if (!atomic_read(&xe->irq.enabled))
>  		return IRQ_NONE;
> -	}
> -	spin_unlock(&xe->irq.lock);
>  
>  	for_each_tile(tile, xe, id)
>  		xe_memirq_handler(&tile->memirq);
> @@ -674,10 +662,9 @@ static void irq_uninstall(void *arg)
>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>  	int irq;
>  
> -	if (!xe->irq.enabled)
> +	if (!atomic_xchg(&xe->irq.enabled, 0))
>  		return;
>  
> -	xe->irq.enabled = false;
>  	xe_irq_reset(xe);
>  
>  	irq = pci_irq_vector(pdev, 0);
> @@ -724,7 +711,7 @@ int xe_irq_install(struct xe_device *xe)
>  		return err;
>  	}
>  
> -	xe->irq.enabled = true;
> +	atomic_set(&xe->irq.enabled, 1);
>  
>  	xe_irq_postinstall(xe);
>  
> @@ -744,9 +731,7 @@ void xe_irq_suspend(struct xe_device *xe)
>  {
>  	int irq = to_pci_dev(xe->drm.dev)->irq;
>  
> -	spin_lock_irq(&xe->irq.lock);
> -	xe->irq.enabled = false; /* no new irqs */
> -	spin_unlock_irq(&xe->irq.lock);
> +	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
>  
>  	synchronize_irq(irq); /* flush irqs */
>  	xe_irq_reset(xe); /* turn irqs off */
> @@ -762,7 +747,7 @@ void xe_irq_resume(struct xe_device *xe)
>  	 * 1. no irq will arrive before the postinstall
>  	 * 2. display is not yet resumed
>  	 */
> -	xe->irq.enabled = true;
> +	atomic_set(&xe->irq.enabled, 1);
>  	xe_irq_reset(xe);
>  	xe_irq_postinstall(xe); /* turn irqs on */
>  
> -- 
> 2.43.2
> 

-- 

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

* Re: [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows
  2024-11-28 12:53 ` [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows Ilia Levi
@ 2024-12-02 18:59   ` Piotr Piórkowski
  2024-12-03  9:04     ` Levi, Ilia
  0 siblings, 1 reply; 28+ messages in thread
From: Piotr Piórkowski @ 2024-12-02 18:59 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:42 +0200]:
> A new flow is added for devices that support MSI-X:
> - MSI-X vector 0 is used for GuC-to-host interrupt
> - MSI-X vector 1 (aka default MSI-X) is used for HW engines
> 
> The default MSI-X will be passed to the HW engines in a subsequent
> patch.
> 
> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_device.c       |   4 +-
>  drivers/gpu/drm/xe/xe_device.h       |   3 +-
>  drivers/gpu/drm/xe/xe_device_types.h |   6 +
>  drivers/gpu/drm/xe/xe_irq.c          | 257 +++++++++++++++++++++++----
>  drivers/gpu/drm/xe/xe_irq.h          |   3 +
>  5 files changed, 237 insertions(+), 36 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 930bb2750e2e..f1246fa8b5cc 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -325,7 +325,9 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
>  	xe->info.revid = pdev->revision;
>  	xe->info.force_execlist = xe_modparam.force_execlist;
>  
> -	spin_lock_init(&xe->irq.lock);
> +	err = xe_irq_init(xe);
> +	if (err)
> +		goto err;
>  
>  	init_waitqueue_head(&xe->ufence_wq);
>  
> diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
> index f1fbfe916867..fc3c2af3fb7f 100644
> --- a/drivers/gpu/drm/xe/xe_device.h
> +++ b/drivers/gpu/drm/xe/xe_device.h
> @@ -157,8 +157,7 @@ static inline bool xe_device_has_sriov(struct xe_device *xe)
>  
>  static inline bool xe_device_has_msix(struct xe_device *xe)
>  {
I still think you should use the name xe_device_use_msix.

We use xe_device_has_* in case, when the capability based on Platform
version (for example xe_device_has_memirq) based on intel_device_info
(for example xe_device_has_sriov or xe_device_has_flat_css).

IMO in case you are basing it on a variable that you set yourself in init you should use
a different name (for example with “uses” instead of “has”)

My motivation is that for me xe_device_has-* is used when it is the capability of a given device
and we base on the information that intel_device_info or infromation about the platform version
provides us with.

> -	/* TODO: change this when MSI-X support is fully integrated */
> -	return false;
> +	return xe->irq.msix.nvec > 0;
>  }
>  
>  static inline bool xe_device_has_memirq(struct xe_device *xe)
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 7ee114c17552..ed638067aa26 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -348,6 +348,12 @@ struct xe_device {
>  
>  		/** @irq.enabled: interrupts enabled on this device */
>  		atomic_t enabled;
> +
> +		/** @irq.msix: irq info for platforms that support MSI-X */
> +		struct {
> +			/** @irq.msix.nvec: number of MSI-X interrupts */
> +			u16 nvec;
> +		} msix;
>  	} irq;
>  
>  	/** @ttm: ttm device */
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index 1c509e66694d..b8a0b9bbf24c 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -10,6 +10,7 @@
>  #include <drm/drm_managed.h>
>  
>  #include "display/xe_display.h"
> +#include "regs/xe_guc_regs.h"

I don't see why you are adding this header


Thanks,
Piotr
>  #include "regs/xe_irq_regs.h"
>  #include "xe_device.h"
>  #include "xe_drv.h"
> @@ -29,6 +30,11 @@
>  #define IIR(offset)				XE_REG(offset + 0x8)
>  #define IER(offset)				XE_REG(offset + 0xc)
>  
> +static int xe_irq_msix_init(struct xe_device *xe);
> +static void xe_irq_msix_free(struct xe_device *xe);
> +static int xe_irq_msix_request_irqs(struct xe_device *xe);
> +static void xe_irq_msix_synchronize_irq(struct xe_device *xe);
> +
>  static void assert_iir_is_zero(struct xe_mmio *mmio, struct xe_reg reg)
>  {
>  	u32 val = xe_mmio_read32(mmio, reg);
> @@ -572,6 +578,11 @@ static void xe_irq_reset(struct xe_device *xe)
>  	if (IS_SRIOV_VF(xe))
>  		return vf_irq_reset(xe);
>  
> +	if (xe_device_uses_memirq(xe)) {
> +		for_each_tile(tile, xe, id)
> +			xe_memirq_reset(&tile->memirq);
> +	}
> +
>  	for_each_tile(tile, xe, id) {
>  		if (GRAPHICS_VERx100(xe) >= 1210)
>  			dg1_irq_reset(tile);
> @@ -614,6 +625,14 @@ static void xe_irq_postinstall(struct xe_device *xe)
>  	if (IS_SRIOV_VF(xe))
>  		return vf_irq_postinstall(xe);
>  
> +	if (xe_device_uses_memirq(xe)) {
> +		struct xe_tile *tile;
> +		unsigned int id;
> +
> +		for_each_tile(tile, xe, id)
> +			xe_memirq_postinstall(&tile->memirq);
> +	}
> +
>  	xe_display_irq_postinstall(xe, xe_root_mmio_gt(xe));
>  
>  	/*
> @@ -656,60 +675,83 @@ static irq_handler_t xe_irq_handler(struct xe_device *xe)
>  		return xelp_irq_handler;
>  }
>  
> -static void irq_uninstall(void *arg)
> +static int xe_irq_msi_request_irqs(struct xe_device *xe)
> +{
> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> +	irq_handler_t irq_handler;
> +	int irq, err;
> +
> +	irq_handler = xe_irq_handler(xe);
> +	if (!irq_handler) {
> +		drm_err(&xe->drm, "No supported interrupt handler");
> +		return -EINVAL;
> +	}
> +
> +	irq = pci_irq_vector(pdev, 0);
> +	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
> +	if (err < 0) {
> +		drm_err(&xe->drm, "Failed to request MSI IRQ %d\n", err);
> +		return err;
> +	}
> +
> +	return 0;
> +}
> +
> +static void xe_irq_msi_free(struct xe_device *xe)
>  {
> -	struct xe_device *xe = arg;
>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>  	int irq;
>  
> +	irq = pci_irq_vector(pdev, 0);
> +	free_irq(irq, xe);
> +}
> +
> +static void irq_uninstall(void *arg)
> +{
> +	struct xe_device *xe = arg;
> +
>  	if (!atomic_xchg(&xe->irq.enabled, 0))
>  		return;
>  
>  	xe_irq_reset(xe);
>  
> -	irq = pci_irq_vector(pdev, 0);
> -	free_irq(irq, xe);
> +	if (xe_device_has_msix(xe))
> +		xe_irq_msix_free(xe);
> +	else
> +		xe_irq_msi_free(xe);
> +}
> +
> +int xe_irq_init(struct xe_device *xe)
> +{
> +	spin_lock_init(&xe->irq.lock);
> +
> +	return xe_irq_msix_init(xe);
>  }
>  
>  int xe_irq_install(struct xe_device *xe)
>  {
>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> -	unsigned int irq_flags = PCI_IRQ_MSIX;
> -	irq_handler_t irq_handler;
> -	int err, irq, nvec;
> -
> -	irq_handler = xe_irq_handler(xe);
> -	if (!irq_handler) {
> -		drm_err(&xe->drm, "No supported interrupt handler");
> -		return -EINVAL;
> -	}
> +	unsigned int irq_flags = PCI_IRQ_MSI;
> +	int nvec = 1;
> +	int err;
>  
>  	xe_irq_reset(xe);
>  
> -	nvec = pci_msix_vec_count(pdev);
> -	if (nvec <= 0) {
> -		if (nvec == -EINVAL) {
> -			/* MSIX capability is not supported in the device, using MSI */
> -			irq_flags = PCI_IRQ_MSI;
> -			nvec = 1;
> -		} else {
> -			drm_err(&xe->drm, "MSIX: Failed getting count\n");
> -			return nvec;
> -		}
> +	if (xe_device_has_msix(xe)) {
> +		nvec = xe->irq.msix.nvec;
> +		irq_flags = PCI_IRQ_MSIX;
>  	}
>  
>  	err = pci_alloc_irq_vectors(pdev, nvec, nvec, irq_flags);
>  	if (err < 0) {
> -		drm_err(&xe->drm, "MSI/MSIX: Failed to enable support %d\n", err);
> +		drm_err(&xe->drm, "Failed to allocate IRQ vectors: %d\n", err);
>  		return err;
>  	}
>  
> -	irq = pci_irq_vector(pdev, 0);
> -	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
> -	if (err < 0) {
> -		drm_err(&xe->drm, "Failed to request MSI/MSIX IRQ %d\n", err);
> +	err = xe_device_has_msix(xe) ? xe_irq_msix_request_irqs(xe) :
> +					xe_irq_msi_request_irqs(xe);
> +	if (err)
>  		return err;
> -	}
>  
>  	atomic_set(&xe->irq.enabled, 1);
>  
> @@ -722,18 +764,28 @@ int xe_irq_install(struct xe_device *xe)
>  	return 0;
>  
>  free_irq_handler:
> -	free_irq(irq, xe);
> +	if (xe_device_has_msix(xe))
> +		xe_irq_msix_free(xe);
> +	else
> +		xe_irq_msi_free(xe);
>  
>  	return err;
>  }
>  
> -void xe_irq_suspend(struct xe_device *xe)
> +static void xe_irq_msi_synchronize_irq(struct xe_device *xe)
>  {
> -	int irq = to_pci_dev(xe->drm.dev)->irq;
> +	synchronize_irq(to_pci_dev(xe->drm.dev)->irq);
> +}
>  
> +void xe_irq_suspend(struct xe_device *xe)
> +{
>  	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
>  
> -	synchronize_irq(irq); /* flush irqs */
> +	/* flush irqs */
> +	if (xe_device_has_msix(xe))
> +		xe_irq_msix_synchronize_irq(xe);
> +	else
> +		xe_irq_msi_synchronize_irq(xe);
>  	xe_irq_reset(xe); /* turn irqs off */
>  }
>  
> @@ -754,3 +806,142 @@ void xe_irq_resume(struct xe_device *xe)
>  	for_each_gt(gt, xe, id)
>  		xe_irq_enable_hwe(gt);
>  }
> +
> +/* MSI-X related definitions and functions below. */
> +
> +enum xe_irq_msix_static {
> +	GUC2HOST_MSIX = 0,
> +	DEFAULT_MSIX = XE_IRQ_DEFAULT_MSIX,
> +	/* Must be last */
> +	NUM_OF_STATIC_MSIX,
> +};
> +
> +static int xe_irq_msix_init(struct xe_device *xe)
> +{
> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> +	int nvec = pci_msix_vec_count(pdev);
> +
> +	if (nvec == -EINVAL)
> +		return 0;  /* MSI */
> +
> +	if (nvec < 0) {
> +		drm_err(&xe->drm, "Failed getting MSI-X vectors count: %d\n", nvec);
> +		return nvec;
> +	}
> +
> +	xe->irq.msix.nvec = nvec;
> +	return 0;
> +}
> +
> +static irqreturn_t guc2host_irq_handler(int irq, void *arg)
> +{
> +	struct xe_device *xe = arg;
> +	struct xe_tile *tile;
> +	u8 id;
> +
> +	if (!atomic_read(&xe->irq.enabled))
> +		return IRQ_NONE;
> +
> +	for_each_tile(tile, xe, id)
> +		xe_guc_irq_handler(&tile->primary_gt->uc.guc,
> +				   GUC_INTR_GUC2HOST);
> +
> +	return IRQ_HANDLED;
> +}
> +
> +static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
> +{
> +	unsigned int tile_id, gt_id;
> +	struct xe_device *xe = arg;
> +	struct xe_memirq *memirq;
> +	struct xe_hw_engine *hwe;
> +	enum xe_hw_engine_id id;
> +	struct xe_tile *tile;
> +	struct xe_gt *gt;
> +
> +	if (!atomic_read(&xe->irq.enabled))
> +		return IRQ_NONE;
> +
> +	for_each_tile(tile, xe, tile_id) {
> +		memirq = &tile->memirq;
> +		if (!memirq->bo)
> +			continue;
> +
> +		for_each_gt(gt, xe, gt_id) {
> +			if (gt->tile != tile)
> +				continue;
> +
> +			for_each_hw_engine(hwe, gt, id)
> +				xe_memirq_hwe_handler(memirq, hwe);
> +		}
> +	}
> +
> +	return IRQ_HANDLED;
> +}
> +
> +static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
> +				   const char *name, u16 msix)
> +{
> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> +	int ret, irq;
> +
> +	irq = pci_irq_vector(pdev, msix);
> +	if (irq < 0)
> +		return irq;
> +
> +	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
> +	if (ret < 0)
> +		return ret;
> +
> +	return 0;
> +}
> +
> +static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
> +{
> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> +	int irq;
> +
> +	irq = pci_irq_vector(pdev, msix);
> +	if (irq < 0) {
> +		drm_err(&xe->drm, "MSI-X %u can't be released, there is no matching IRQ\n", msix);
> +		return;
> +	}
> +
> +	free_irq(irq, xe);
> +}
> +
> +static int xe_irq_msix_request_irqs(struct xe_device *xe)
> +{
> +	int err;
> +
> +	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
> +				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
> +	if (err) {
> +		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
> +		return err;
> +	}
> +
> +	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
> +				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
> +	if (err) {
> +		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
> +		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
> +		return err;
> +	}
> +
> +	return 0;
> +}
> +
> +static void xe_irq_msix_free(struct xe_device *xe)
> +{
> +	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
> +	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
> +}
> +
> +static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
> +{
> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> +
> +	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
> +	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
> +}
> diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
> index 067514e13675..24ff16111b96 100644
> --- a/drivers/gpu/drm/xe/xe_irq.h
> +++ b/drivers/gpu/drm/xe/xe_irq.h
> @@ -6,10 +6,13 @@
>  #ifndef _XE_IRQ_H_
>  #define _XE_IRQ_H_
>  
> +#define XE_IRQ_DEFAULT_MSIX 1
> +
>  struct xe_device;
>  struct xe_tile;
>  struct xe_gt;
>  
> +int xe_irq_init(struct xe_device *xe);
>  int xe_irq_install(struct xe_device *xe);
>  void xe_irq_suspend(struct xe_device *xe);
>  void xe_irq_resume(struct xe_device *xe);
> -- 
> 2.43.2
> 

-- 

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

* Re: [PATCH v5 3/5] drm/xe: Initial MSI-X support for HW engines
  2024-11-28 12:53 ` [PATCH v5 3/5] drm/xe: Initial MSI-X support for HW engines Ilia Levi
@ 2024-12-02 19:15   ` Piotr Piórkowski
  0 siblings, 0 replies; 28+ messages in thread
From: Piotr Piórkowski @ 2024-12-02 19:15 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:43 +0200]:
> - Configure the HW engines to work with MSI-X
> - Program the LRC to use memirq infra (similar to VF)
> - CS_INT_VEC field added to the LRC
> 
> Bspec: 60342, 72547
> 
> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
> ---
>  drivers/gpu/drm/xe/regs/xe_engine_regs.h |  3 +++
>  drivers/gpu/drm/xe/regs/xe_lrc_layout.h  |  3 +++
>  drivers/gpu/drm/xe/xe_exec_queue.c       |  4 +++-
>  drivers/gpu/drm/xe/xe_exec_queue_types.h |  2 ++
>  drivers/gpu/drm/xe/xe_execlist.c         | 10 +++++++---
>  drivers/gpu/drm/xe/xe_hw_engine.c        |  7 +++++--
>  drivers/gpu/drm/xe/xe_lrc.c              | 24 ++++++++++++++++++++----
>  drivers/gpu/drm/xe/xe_lrc.h              |  2 +-
>  8 files changed, 44 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/regs/xe_engine_regs.h b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
> index 7c78496e6213..d86219dedde2 100644
> --- a/drivers/gpu/drm/xe/regs/xe_engine_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
> @@ -83,6 +83,8 @@
>  #define RING_IMR(base)				XE_REG((base) + 0xa8)
>  #define RING_INT_STATUS_RPT_PTR(base)		XE_REG((base) + 0xac)
>  
> +#define CS_INT_VEC(base)			XE_REG((base) + 0x1b8)
> +
>  #define RING_EIR(base)				XE_REG((base) + 0xb0)
>  #define RING_EMR(base)				XE_REG((base) + 0xb4)
>  #define RING_ESR(base)				XE_REG((base) + 0xb8)
> @@ -138,6 +140,7 @@
>  
>  #define RING_MODE(base)				XE_REG((base) + 0x29c)
>  #define   GFX_DISABLE_LEGACY_MODE		REG_BIT(3)
> +#define   GFX_MSIX_INTERRUPT_ENABLE		REG_BIT(13)
>  
>  #define RING_TIMESTAMP(base)			XE_REG((base) + 0x358)
>  
> diff --git a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
> index 045dfd09db99..57944f90bbf6 100644
> --- a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
> +++ b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
> @@ -25,6 +25,9 @@
>  #define CTX_INT_SRC_REPORT_REG		(CTX_LRI_INT_REPORT_PTR + 3)
>  #define CTX_INT_SRC_REPORT_PTR		(CTX_LRI_INT_REPORT_PTR + 4)
>  
> +#define CTX_CS_INT_VEC_REG		0x5a
> +#define CTX_CS_INT_VEC_DATA		(CTX_CS_INT_VEC_REG + 1)
> +
>  #define INDIRECT_CTX_RING_HEAD		(0x02 + 1)
>  #define INDIRECT_CTX_RING_TAIL		(0x04 + 1)
>  #define INDIRECT_CTX_RING_START		(0x06 + 1)
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index aab9e561153d..9c94be571900 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -16,6 +16,7 @@
>  #include "xe_hw_engine_class_sysfs.h"
>  #include "xe_hw_engine_group.h"
>  #include "xe_hw_fence.h"
> +#include "xe_irq.h"
>  #include "xe_lrc.h"
>  #include "xe_macros.h"
>  #include "xe_migrate.h"
> @@ -68,6 +69,7 @@ static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe,
>  	q->gt = gt;
>  	q->class = hwe->class;
>  	q->width = width;
> +	q->msix_vec = XE_IRQ_DEFAULT_MSIX;
>  	q->logical_mask = logical_mask;
>  	q->fence_irq = &gt->fence_irq[hwe->class];
>  	q->ring_ops = gt->ring_ops[hwe->class];
> @@ -117,7 +119,7 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q)
>  	}
>  
>  	for (i = 0; i < q->width; ++i) {
> -		q->lrc[i] = xe_lrc_create(q->hwe, q->vm, SZ_16K);
> +		q->lrc[i] = xe_lrc_create(q->hwe, q->vm, SZ_16K, q->msix_vec);
>  		if (IS_ERR(q->lrc[i])) {
>  			err = PTR_ERR(q->lrc[i]);
>  			goto err_unlock;
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> index 1158b6062a6c..eec8f9935a58 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> @@ -63,6 +63,8 @@ struct xe_exec_queue {
>  	char name[MAX_FENCE_NAME_LEN];
>  	/** @width: width (number BB submitted per exec) of this exec queue */
>  	u16 width;
> +	/** @msix_vec: MSI-X vector (for platforms that support it) */
> +	u16 msix_vec;
>  	/** @fence_irq: fence IRQ used to signal job completion */
>  	struct xe_hw_fence_irq *fence_irq;
>  
> diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execlist.c
> index a8c416a48812..5ef96deaa881 100644
> --- a/drivers/gpu/drm/xe/xe_execlist.c
> +++ b/drivers/gpu/drm/xe/xe_execlist.c
> @@ -17,6 +17,7 @@
>  #include "xe_exec_queue.h"
>  #include "xe_gt.h"
>  #include "xe_hw_fence.h"
> +#include "xe_irq.h"
>  #include "xe_lrc.h"
>  #include "xe_macros.h"
>  #include "xe_mmio.h"
> @@ -47,6 +48,7 @@ static void __start_lrc(struct xe_hw_engine *hwe, struct xe_lrc *lrc,
>  	struct xe_mmio *mmio = &gt->mmio;
>  	struct xe_device *xe = gt_to_xe(gt);
>  	u64 lrc_desc;
> +	u32 ring_mode = _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE);
>  
>  	lrc_desc = xe_lrc_descriptor(lrc);
>  
> @@ -80,8 +82,10 @@ static void __start_lrc(struct xe_hw_engine *hwe, struct xe_lrc *lrc,
>  	xe_mmio_write32(mmio, RING_HWS_PGA(hwe->mmio_base),
>  			xe_bo_ggtt_addr(hwe->hwsp));
>  	xe_mmio_read32(mmio, RING_HWS_PGA(hwe->mmio_base));
> -	xe_mmio_write32(mmio, RING_MODE(hwe->mmio_base),
> -			_MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE));
> +
> +	if (xe_device_has_msix(gt_to_xe(hwe->gt)))
> +		ring_mode |= _MASKED_BIT_ENABLE(GFX_MSIX_INTERRUPT_ENABLE);
> +	xe_mmio_write32(mmio, RING_MODE(hwe->mmio_base), ring_mode);
>  
>  	xe_mmio_write32(mmio, RING_EXECLIST_SQ_CONTENTS_LO(hwe->mmio_base),
>  			lower_32_bits(lrc_desc));
> @@ -265,7 +269,7 @@ struct xe_execlist_port *xe_execlist_port_create(struct xe_device *xe,
>  
>  	port->hwe = hwe;
>  
> -	port->lrc = xe_lrc_create(hwe, NULL, SZ_16K);
> +	port->lrc = xe_lrc_create(hwe, NULL, SZ_16K, XE_IRQ_DEFAULT_MSIX);
>  	if (IS_ERR(port->lrc)) {
>  		err = PTR_ERR(port->lrc);
>  		goto err;
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index c4b0dc3be39c..0a1baaedff38 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -324,6 +324,7 @@ void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe)
>  {
>  	u32 ccs_mask =
>  		xe_hw_engine_mask_per_class(hwe->gt, XE_ENGINE_CLASS_COMPUTE);
> +	u32 ring_mode = _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE);
>  
>  	if (hwe->class == XE_ENGINE_CLASS_COMPUTE && ccs_mask)
>  		xe_mmio_write32(&hwe->gt->mmio, RCU_MODE,
> @@ -332,8 +333,10 @@ void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe)
>  	xe_hw_engine_mmio_write32(hwe, RING_HWSTAM(0), ~0x0);
>  	xe_hw_engine_mmio_write32(hwe, RING_HWS_PGA(0),
>  				  xe_bo_ggtt_addr(hwe->hwsp));
> -	xe_hw_engine_mmio_write32(hwe, RING_MODE(0),
> -				  _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE));
> +
> +	if (xe_device_has_msix(gt_to_xe(hwe->gt)))
> +		ring_mode |= _MASKED_BIT_ENABLE(GFX_MSIX_INTERRUPT_ENABLE);
> +	xe_hw_engine_mmio_write32(hwe, RING_MODE(0), ring_mode);
>  	xe_hw_engine_mmio_write32(hwe, RING_MI_MODE(0),
>  				  _MASKED_BIT_DISABLE(STOP_RING));
>  	xe_hw_engine_mmio_read32(hwe, RING_MI_MODE(0));
> diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
> index 22e58c6e2a35..bbb9ffbf6367 100644
> --- a/drivers/gpu/drm/xe/xe_lrc.c
> +++ b/drivers/gpu/drm/xe/xe_lrc.c
> @@ -584,6 +584,7 @@ static void set_memory_based_intr(u32 *regs, struct xe_hw_engine *hwe)
>  {
>  	struct xe_memirq *memirq = &gt_to_tile(hwe->gt)->memirq;
>  	struct xe_device *xe = gt_to_xe(hwe->gt);
> +	u8 num_regs;
>  
>  	if (!xe_device_uses_memirq(xe))
>  		return;
> @@ -593,12 +594,18 @@ static void set_memory_based_intr(u32 *regs, struct xe_hw_engine *hwe)
>  	regs[CTX_INT_MASK_ENABLE_REG] = RING_IMR(0).addr;
>  	regs[CTX_INT_MASK_ENABLE_PTR] = xe_memirq_enable_ptr(memirq);
>  
> -	regs[CTX_LRI_INT_REPORT_PTR] = MI_LOAD_REGISTER_IMM | MI_LRI_NUM_REGS(2) |
> +	num_regs = xe_device_has_msix(xe) ? 3 : 2;
> +	regs[CTX_LRI_INT_REPORT_PTR] = MI_LOAD_REGISTER_IMM | MI_LRI_NUM_REGS(num_regs) |
>  				       MI_LRI_LRM_CS_MMIO | MI_LRI_FORCE_POSTED;
>  	regs[CTX_INT_STATUS_REPORT_REG] = RING_INT_STATUS_RPT_PTR(0).addr;
>  	regs[CTX_INT_STATUS_REPORT_PTR] = xe_memirq_status_ptr(memirq, hwe);
>  	regs[CTX_INT_SRC_REPORT_REG] = RING_INT_SRC_RPT_PTR(0).addr;
>  	regs[CTX_INT_SRC_REPORT_PTR] = xe_memirq_source_ptr(memirq, hwe);
> +
> +	if (xe_device_has_msix(xe)) {
> +		regs[CTX_CS_INT_VEC_REG] = CS_INT_VEC(0).addr;
> +		/* CTX_CS_INT_VEC_DATA will be set in xe_lrc_init */
> +	}
>  }
>  
>  static int lrc_ring_mi_mode(struct xe_hw_engine *hwe)
> @@ -876,7 +883,7 @@ static void xe_lrc_finish(struct xe_lrc *lrc)
>  #define PVC_CTX_ACC_CTR_THOLD	(0x2a + 1)
>  
>  static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
> -		       struct xe_vm *vm, u32 ring_size)
> +		       struct xe_vm *vm, u32 ring_size, u16 msix_vec)
>  {
>  	struct xe_gt *gt = hwe->gt;
>  	struct xe_tile *tile = gt_to_tile(gt);
> @@ -945,6 +952,14 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
>  			xe_drm_client_add_bo(vm->xef->client, lrc->bo);
>  	}
>  
> +	if (xe_device_has_msix(xe)) {
> +		xe_lrc_write_ctx_reg(lrc, CTX_INT_STATUS_REPORT_PTR,
> +				     xe_memirq_status_ptr(&tile->memirq, hwe));
> +		xe_lrc_write_ctx_reg(lrc, CTX_INT_SRC_REPORT_PTR,
> +				     xe_memirq_source_ptr(&tile->memirq, hwe));
> +		xe_lrc_write_ctx_reg(lrc, CTX_CS_INT_VEC_DATA, msix_vec << 16 | msix_vec);
> +	}
> +
>  	if (xe_gt_has_indirect_ring_state(gt)) {
>  		xe_lrc_write_ctx_reg(lrc, CTX_INDIRECT_RING_STATE,
>  				     __xe_lrc_indirect_ring_ggtt_addr(lrc));
> @@ -1005,6 +1020,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
>   * @hwe: Hardware Engine
>   * @vm: The VM (address space)
>   * @ring_size: LRC ring size
> + * @msix_vec: MSI-X interrupt vector (for platforms that support it)
>   *
>   * Allocate and initialize the Logical Ring Context (LRC).
>   *
> @@ -1012,7 +1028,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
>   * upon failure.
>   */
>  struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
> -			     u32 ring_size)
> +			     u32 ring_size, u16 msix_vec)
>  {
>  	struct xe_lrc *lrc;
>  	int err;
> @@ -1021,7 +1037,7 @@ struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
>  	if (!lrc)
>  		return ERR_PTR(-ENOMEM);
>  
> -	err = xe_lrc_init(lrc, hwe, vm, ring_size);
> +	err = xe_lrc_init(lrc, hwe, vm, ring_size, msix_vec);
>  	if (err) {
>  		kfree(lrc);
>  		return ERR_PTR(err);
> diff --git a/drivers/gpu/drm/xe/xe_lrc.h b/drivers/gpu/drm/xe/xe_lrc.h
> index b459dcab8787..4206e6a8b50a 100644
> --- a/drivers/gpu/drm/xe/xe_lrc.h
> +++ b/drivers/gpu/drm/xe/xe_lrc.h
> @@ -42,7 +42,7 @@ struct xe_lrc_snapshot {
>  #define LRC_PPHWSP_SCRATCH_ADDR (0x34 * 4)
>  
>  struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
> -			     u32 ring_size);
> +			     u32 ring_size, u16 msix_vec);
>  void xe_lrc_destroy(struct kref *ref);
>  
LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>

>  /**
> -- 
> 2.43.2
> 

-- 

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

* Re: [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows
  2024-12-02 18:59   ` Piotr Piórkowski
@ 2024-12-03  9:04     ` Levi, Ilia
  2024-12-05  8:35       ` Piotr Piórkowski
  0 siblings, 1 reply; 28+ messages in thread
From: Levi, Ilia @ 2024-12-03  9:04 UTC (permalink / raw)
  To: Piotr Piórkowski
  Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

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

On 02/12/2024 20:59, Piotr Piórkowski wrote:
> Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:42 +0200]:
>> A new flow is added for devices that support MSI-X:
>> - MSI-X vector 0 is used for GuC-to-host interrupt
>> - MSI-X vector 1 (aka default MSI-X) is used for HW engines
>>
>> The default MSI-X will be passed to the HW engines in a subsequent
>> patch.
>>
>> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/xe_device.c       |   4 +-
>>  drivers/gpu/drm/xe/xe_device.h       |   3 +-
>>  drivers/gpu/drm/xe/xe_device_types.h |   6 +
>>  drivers/gpu/drm/xe/xe_irq.c          | 257 +++++++++++++++++++++++----
>>  drivers/gpu/drm/xe/xe_irq.h          |   3 +
>>  5 files changed, 237 insertions(+), 36 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
>> index 930bb2750e2e..f1246fa8b5cc 100644
>> --- a/drivers/gpu/drm/xe/xe_device.c
>> +++ b/drivers/gpu/drm/xe/xe_device.c
>> @@ -325,7 +325,9 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
>>  	xe->info.revid = pdev->revision;
>>  	xe->info.force_execlist = xe_modparam.force_execlist;
>>  
>> -	spin_lock_init(&xe->irq.lock);
>> +	err = xe_irq_init(xe);
>> +	if (err)
>> +		goto err;
>>  
>>  	init_waitqueue_head(&xe->ufence_wq);
>>  
>> diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
>> index f1fbfe916867..fc3c2af3fb7f 100644
>> --- a/drivers/gpu/drm/xe/xe_device.h
>> +++ b/drivers/gpu/drm/xe/xe_device.h
>> @@ -157,8 +157,7 @@ static inline bool xe_device_has_sriov(struct xe_device *xe)
>>  
>>  static inline bool xe_device_has_msix(struct xe_device *xe)
>>  {
> I still think you should use the name xe_device_use_msix.
>
> We use xe_device_has_* in case, when the capability based on Platform
> version (for example xe_device_has_memirq) based on intel_device_info
> (for example xe_device_has_sriov or xe_device_has_flat_css).
>
> IMO in case you are basing it on a variable that you set yourself in init you should use
> a different name (for example with “uses” instead of “has”)
>
> My motivation is that for me xe_device_has-* is used when it is the capability of a given device
> and we base on the information that intel_device_info or infromation about the platform version
> provides us with.

As we discussed, it is akin to xe_device_has_flat_ccs - where xe->info.has_flat_ccs is set by probe_has_flat_ccs.
xe->irq.msix.nvec is set according to pci_msix_vec_count which reads MSI-X capability from the PCI.

>> -	/* TODO: change this when MSI-X support is fully integrated */
>> -	return false;
>> +	return xe->irq.msix.nvec > 0;
>>  }
>>  
>>  static inline bool xe_device_has_memirq(struct xe_device *xe)
>> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>> index 7ee114c17552..ed638067aa26 100644
>> --- a/drivers/gpu/drm/xe/xe_device_types.h
>> +++ b/drivers/gpu/drm/xe/xe_device_types.h
>> @@ -348,6 +348,12 @@ struct xe_device {
>>  
>>  		/** @irq.enabled: interrupts enabled on this device */
>>  		atomic_t enabled;
>> +
>> +		/** @irq.msix: irq info for platforms that support MSI-X */
>> +		struct {
>> +			/** @irq.msix.nvec: number of MSI-X interrupts */
>> +			u16 nvec;
>> +		} msix;
>>  	} irq;
>>  
>>  	/** @ttm: ttm device */
>> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
>> index 1c509e66694d..b8a0b9bbf24c 100644
>> --- a/drivers/gpu/drm/xe/xe_irq.c
>> +++ b/drivers/gpu/drm/xe/xe_irq.c
>> @@ -10,6 +10,7 @@
>>  #include <drm/drm_managed.h>
>>  
>>  #include "display/xe_display.h"
>> +#include "regs/xe_guc_regs.h"
> I don't see why you are adding this header

GUC_INTR_GUC2HOST is defined there. It was not needed before as it was called by gt_other_irq_handler (the type of the interrupt was read from the registers).
For MSI-X those registers are no longer set - and the only type of interrupt we expect on MSI-X vector 0 is guc-to-host.

>
> Thanks,
> Piotr
>>  #include "regs/xe_irq_regs.h"
>>  #include "xe_device.h"
>>  #include "xe_drv.h"
>> @@ -29,6 +30,11 @@
>>  #define IIR(offset)				XE_REG(offset + 0x8)
>>  #define IER(offset)				XE_REG(offset + 0xc)
>>  
>> +static int xe_irq_msix_init(struct xe_device *xe);
>> +static void xe_irq_msix_free(struct xe_device *xe);
>> +static int xe_irq_msix_request_irqs(struct xe_device *xe);
>> +static void xe_irq_msix_synchronize_irq(struct xe_device *xe);
>> +
>>  static void assert_iir_is_zero(struct xe_mmio *mmio, struct xe_reg reg)
>>  {
>>  	u32 val = xe_mmio_read32(mmio, reg);
>> @@ -572,6 +578,11 @@ static void xe_irq_reset(struct xe_device *xe)
>>  	if (IS_SRIOV_VF(xe))
>>  		return vf_irq_reset(xe);
>>  
>> +	if (xe_device_uses_memirq(xe)) {
>> +		for_each_tile(tile, xe, id)
>> +			xe_memirq_reset(&tile->memirq);
>> +	}
>> +
>>  	for_each_tile(tile, xe, id) {
>>  		if (GRAPHICS_VERx100(xe) >= 1210)
>>  			dg1_irq_reset(tile);
>> @@ -614,6 +625,14 @@ static void xe_irq_postinstall(struct xe_device *xe)
>>  	if (IS_SRIOV_VF(xe))
>>  		return vf_irq_postinstall(xe);
>>  
>> +	if (xe_device_uses_memirq(xe)) {
>> +		struct xe_tile *tile;
>> +		unsigned int id;
>> +
>> +		for_each_tile(tile, xe, id)
>> +			xe_memirq_postinstall(&tile->memirq);
>> +	}
>> +
>>  	xe_display_irq_postinstall(xe, xe_root_mmio_gt(xe));
>>  
>>  	/*
>> @@ -656,60 +675,83 @@ static irq_handler_t xe_irq_handler(struct xe_device *xe)
>>  		return xelp_irq_handler;
>>  }
>>  
>> -static void irq_uninstall(void *arg)
>> +static int xe_irq_msi_request_irqs(struct xe_device *xe)
>> +{
>> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>> +	irq_handler_t irq_handler;
>> +	int irq, err;
>> +
>> +	irq_handler = xe_irq_handler(xe);
>> +	if (!irq_handler) {
>> +		drm_err(&xe->drm, "No supported interrupt handler");
>> +		return -EINVAL;
>> +	}
>> +
>> +	irq = pci_irq_vector(pdev, 0);
>> +	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
>> +	if (err < 0) {
>> +		drm_err(&xe->drm, "Failed to request MSI IRQ %d\n", err);
>> +		return err;
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +static void xe_irq_msi_free(struct xe_device *xe)
>>  {
>> -	struct xe_device *xe = arg;
>>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>>  	int irq;
>>  
>> +	irq = pci_irq_vector(pdev, 0);
>> +	free_irq(irq, xe);
>> +}
>> +
>> +static void irq_uninstall(void *arg)
>> +{
>> +	struct xe_device *xe = arg;
>> +
>>  	if (!atomic_xchg(&xe->irq.enabled, 0))
>>  		return;
>>  
>>  	xe_irq_reset(xe);
>>  
>> -	irq = pci_irq_vector(pdev, 0);
>> -	free_irq(irq, xe);
>> +	if (xe_device_has_msix(xe))
>> +		xe_irq_msix_free(xe);
>> +	else
>> +		xe_irq_msi_free(xe);
>> +}
>> +
>> +int xe_irq_init(struct xe_device *xe)
>> +{
>> +	spin_lock_init(&xe->irq.lock);
>> +
>> +	return xe_irq_msix_init(xe);
>>  }
>>  
>>  int xe_irq_install(struct xe_device *xe)
>>  {
>>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>> -	unsigned int irq_flags = PCI_IRQ_MSIX;
>> -	irq_handler_t irq_handler;
>> -	int err, irq, nvec;
>> -
>> -	irq_handler = xe_irq_handler(xe);
>> -	if (!irq_handler) {
>> -		drm_err(&xe->drm, "No supported interrupt handler");
>> -		return -EINVAL;
>> -	}
>> +	unsigned int irq_flags = PCI_IRQ_MSI;
>> +	int nvec = 1;
>> +	int err;
>>  
>>  	xe_irq_reset(xe);
>>  
>> -	nvec = pci_msix_vec_count(pdev);
>> -	if (nvec <= 0) {
>> -		if (nvec == -EINVAL) {
>> -			/* MSIX capability is not supported in the device, using MSI */
>> -			irq_flags = PCI_IRQ_MSI;
>> -			nvec = 1;
>> -		} else {
>> -			drm_err(&xe->drm, "MSIX: Failed getting count\n");
>> -			return nvec;
>> -		}
>> +	if (xe_device_has_msix(xe)) {
>> +		nvec = xe->irq.msix.nvec;
>> +		irq_flags = PCI_IRQ_MSIX;
>>  	}
>>  
>>  	err = pci_alloc_irq_vectors(pdev, nvec, nvec, irq_flags);
>>  	if (err < 0) {
>> -		drm_err(&xe->drm, "MSI/MSIX: Failed to enable support %d\n", err);
>> +		drm_err(&xe->drm, "Failed to allocate IRQ vectors: %d\n", err);
>>  		return err;
>>  	}
>>  
>> -	irq = pci_irq_vector(pdev, 0);
>> -	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
>> -	if (err < 0) {
>> -		drm_err(&xe->drm, "Failed to request MSI/MSIX IRQ %d\n", err);
>> +	err = xe_device_has_msix(xe) ? xe_irq_msix_request_irqs(xe) :
>> +					xe_irq_msi_request_irqs(xe);
>> +	if (err)
>>  		return err;
>> -	}
>>  
>>  	atomic_set(&xe->irq.enabled, 1);
>>  
>> @@ -722,18 +764,28 @@ int xe_irq_install(struct xe_device *xe)
>>  	return 0;
>>  
>>  free_irq_handler:
>> -	free_irq(irq, xe);
>> +	if (xe_device_has_msix(xe))
>> +		xe_irq_msix_free(xe);
>> +	else
>> +		xe_irq_msi_free(xe);
>>  
>>  	return err;
>>  }
>>  
>> -void xe_irq_suspend(struct xe_device *xe)
>> +static void xe_irq_msi_synchronize_irq(struct xe_device *xe)
>>  {
>> -	int irq = to_pci_dev(xe->drm.dev)->irq;
>> +	synchronize_irq(to_pci_dev(xe->drm.dev)->irq);
>> +}
>>  
>> +void xe_irq_suspend(struct xe_device *xe)
>> +{
>>  	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
>>  
>> -	synchronize_irq(irq); /* flush irqs */
>> +	/* flush irqs */
>> +	if (xe_device_has_msix(xe))
>> +		xe_irq_msix_synchronize_irq(xe);
>> +	else
>> +		xe_irq_msi_synchronize_irq(xe);
>>  	xe_irq_reset(xe); /* turn irqs off */
>>  }
>>  
>> @@ -754,3 +806,142 @@ void xe_irq_resume(struct xe_device *xe)
>>  	for_each_gt(gt, xe, id)
>>  		xe_irq_enable_hwe(gt);
>>  }
>> +
>> +/* MSI-X related definitions and functions below. */
>> +
>> +enum xe_irq_msix_static {
>> +	GUC2HOST_MSIX = 0,
>> +	DEFAULT_MSIX = XE_IRQ_DEFAULT_MSIX,
>> +	/* Must be last */
>> +	NUM_OF_STATIC_MSIX,
>> +};
>> +
>> +static int xe_irq_msix_init(struct xe_device *xe)
>> +{
>> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>> +	int nvec = pci_msix_vec_count(pdev);
>> +
>> +	if (nvec == -EINVAL)
>> +		return 0;  /* MSI */
>> +
>> +	if (nvec < 0) {
>> +		drm_err(&xe->drm, "Failed getting MSI-X vectors count: %d\n", nvec);
>> +		return nvec;
>> +	}
>> +
>> +	xe->irq.msix.nvec = nvec;
>> +	return 0;
>> +}
>> +
>> +static irqreturn_t guc2host_irq_handler(int irq, void *arg)
>> +{
>> +	struct xe_device *xe = arg;
>> +	struct xe_tile *tile;
>> +	u8 id;
>> +
>> +	if (!atomic_read(&xe->irq.enabled))
>> +		return IRQ_NONE;
>> +
>> +	for_each_tile(tile, xe, id)
>> +		xe_guc_irq_handler(&tile->primary_gt->uc.guc,
>> +				   GUC_INTR_GUC2HOST);
>> +
>> +	return IRQ_HANDLED;
>> +}
>> +
>> +static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
>> +{
>> +	unsigned int tile_id, gt_id;
>> +	struct xe_device *xe = arg;
>> +	struct xe_memirq *memirq;
>> +	struct xe_hw_engine *hwe;
>> +	enum xe_hw_engine_id id;
>> +	struct xe_tile *tile;
>> +	struct xe_gt *gt;
>> +
>> +	if (!atomic_read(&xe->irq.enabled))
>> +		return IRQ_NONE;
>> +
>> +	for_each_tile(tile, xe, tile_id) {
>> +		memirq = &tile->memirq;
>> +		if (!memirq->bo)
>> +			continue;
>> +
>> +		for_each_gt(gt, xe, gt_id) {
>> +			if (gt->tile != tile)
>> +				continue;
>> +
>> +			for_each_hw_engine(hwe, gt, id)
>> +				xe_memirq_hwe_handler(memirq, hwe);
>> +		}
>> +	}
>> +
>> +	return IRQ_HANDLED;
>> +}
>> +
>> +static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
>> +				   const char *name, u16 msix)
>> +{
>> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>> +	int ret, irq;
>> +
>> +	irq = pci_irq_vector(pdev, msix);
>> +	if (irq < 0)
>> +		return irq;
>> +
>> +	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
>> +	if (ret < 0)
>> +		return ret;
>> +
>> +	return 0;
>> +}
>> +
>> +static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
>> +{
>> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>> +	int irq;
>> +
>> +	irq = pci_irq_vector(pdev, msix);
>> +	if (irq < 0) {
>> +		drm_err(&xe->drm, "MSI-X %u can't be released, there is no matching IRQ\n", msix);
>> +		return;
>> +	}
>> +
>> +	free_irq(irq, xe);
>> +}
>> +
>> +static int xe_irq_msix_request_irqs(struct xe_device *xe)
>> +{
>> +	int err;
>> +
>> +	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
>> +				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
>> +	if (err) {
>> +		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
>> +		return err;
>> +	}
>> +
>> +	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
>> +				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
>> +	if (err) {
>> +		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
>> +		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
>> +		return err;
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +static void xe_irq_msix_free(struct xe_device *xe)
>> +{
>> +	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
>> +	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
>> +}
>> +
>> +static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
>> +{
>> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>> +
>> +	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
>> +	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
>> +}
>> diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
>> index 067514e13675..24ff16111b96 100644
>> --- a/drivers/gpu/drm/xe/xe_irq.h
>> +++ b/drivers/gpu/drm/xe/xe_irq.h
>> @@ -6,10 +6,13 @@
>>  #ifndef _XE_IRQ_H_
>>  #define _XE_IRQ_H_
>>  
>> +#define XE_IRQ_DEFAULT_MSIX 1
>> +
>>  struct xe_device;
>>  struct xe_tile;
>>  struct xe_gt;
>>  
>> +int xe_irq_init(struct xe_device *xe);
>>  int xe_irq_install(struct xe_device *xe);
>>  void xe_irq_suspend(struct xe_device *xe);
>>  void xe_irq_resume(struct xe_device *xe);
>> -- 
>> 2.43.2
>>

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

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

* Re: [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic
  2024-12-02 18:32   ` Piotr Piórkowski
@ 2024-12-03 11:47     ` Levi, Ilia
  2024-12-05 17:24       ` Rodrigo Vivi
  0 siblings, 1 reply; 28+ messages in thread
From: Levi, Ilia @ 2024-12-03 11:47 UTC (permalink / raw)
  To: Piotr Piórkowski, rodrigo.vivi, matthew.auld
  Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

On 02/12/2024 20:32, Piotr Piórkowski wrote:
> Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:41 +0200]:
>> The irq.enabled flag was protected by a spin lock (irq.lock).
>> By making it atomic we no longer need to wait for the spin lock in
>> irq handlers. This will become especially useful for MSI-X irq
>> handlers to prevent lock contention between different interrupts.
> I am not convinced that you can simply replace this spin_lock with an atomic.
> Note that this spin lock is also used for whole blocks in the irq handler
> (for example gt_irq_handler), and not only to access this flag.

Yes, I saw that. However, irq.enabled is not accessed within those blocks, so imho there is no need in mutual exclusion between checking the flag and those blocks.
If I understand correctly, the role of irq.enabled flag is to prevent new irq handlers from running  once the interrupts have been turned off (e. g. as a result of suspension), while synchronize_irq waits for the already running irq handlers to finish. Making the flag atomic should achieve the same goal. I have left the spin lock to protect access to interrupt registers (and there's also some protection in xe_execlist_port_destroy), though I'm not sure when it is useful.

Adding Rodrigo and Matthew in case I'm missing something.
Thanks,
Ilia

>
> Thanks,
> Piotr
>
>
>> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/display/ext/i915_irq.c |  2 +-
>>  drivers/gpu/drm/xe/xe_device_types.h      |  2 +-
>>  drivers/gpu/drm/xe/xe_irq.c               | 29 ++++++-----------------
>>  3 files changed, 9 insertions(+), 24 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/display/ext/i915_irq.c b/drivers/gpu/drm/xe/display/ext/i915_irq.c
>> index a7dbc6554d69..0c0f4533c34f 100644
>> --- a/drivers/gpu/drm/xe/display/ext/i915_irq.c
>> +++ b/drivers/gpu/drm/xe/display/ext/i915_irq.c
>> @@ -64,7 +64,7 @@ bool intel_irqs_enabled(struct xe_device *xe)
>>  	 * But at this point the xe irq is better protected against races,
>>  	 * although the full solution would be protecting the i915 side.
>>  	 */
>> -	return xe->irq.enabled;
>> +	return atomic_read(&xe->irq.enabled);
>>  }
>>  
>>  void intel_synchronize_irq(struct xe_device *xe)
>> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>> index 6a04f975ec16..7ee114c17552 100644
>> --- a/drivers/gpu/drm/xe/xe_device_types.h
>> +++ b/drivers/gpu/drm/xe/xe_device_types.h
>> @@ -347,7 +347,7 @@ struct xe_device {
>>  		spinlock_t lock;
>>  
>>  		/** @irq.enabled: interrupts enabled on this device */
>> -		bool enabled;
>> +		atomic_t enabled;
>>  	} irq;
>>  
>>  	/** @ttm: ttm device */
>> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
>> index 7bf7201529ac..1c509e66694d 100644
>> --- a/drivers/gpu/drm/xe/xe_irq.c
>> +++ b/drivers/gpu/drm/xe/xe_irq.c
>> @@ -348,12 +348,8 @@ static irqreturn_t xelp_irq_handler(int irq, void *arg)
>>  	unsigned long intr_dw[2];
>>  	u32 identity[32];
>>  
>> -	spin_lock(&xe->irq.lock);
>> -	if (!xe->irq.enabled) {
>> -		spin_unlock(&xe->irq.lock);
>> +	if (!atomic_read(&xe->irq.enabled))
>>  		return IRQ_NONE;
>> -	}
>> -	spin_unlock(&xe->irq.lock);
>>  
>>  	master_ctl = xelp_intr_disable(xe);
>>  	if (!master_ctl) {
>> @@ -417,12 +413,8 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
>>  
>>  	/* TODO: This really shouldn't be copied+pasted */
>>  
>> -	spin_lock(&xe->irq.lock);
>> -	if (!xe->irq.enabled) {
>> -		spin_unlock(&xe->irq.lock);
>> +	if (!atomic_read(&xe->irq.enabled))
>>  		return IRQ_NONE;
>> -	}
>> -	spin_unlock(&xe->irq.lock);
>>  
>>  	master_tile_ctl = dg1_intr_disable(xe);
>>  	if (!master_tile_ctl) {
>> @@ -644,12 +636,8 @@ static irqreturn_t vf_mem_irq_handler(int irq, void *arg)
>>  	struct xe_tile *tile;
>>  	unsigned int id;
>>  
>> -	spin_lock(&xe->irq.lock);
>> -	if (!xe->irq.enabled) {
>> -		spin_unlock(&xe->irq.lock);
>> +	if (!atomic_read(&xe->irq.enabled))
>>  		return IRQ_NONE;
>> -	}
>> -	spin_unlock(&xe->irq.lock);
>>  
>>  	for_each_tile(tile, xe, id)
>>  		xe_memirq_handler(&tile->memirq);
>> @@ -674,10 +662,9 @@ static void irq_uninstall(void *arg)
>>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>>  	int irq;
>>  
>> -	if (!xe->irq.enabled)
>> +	if (!atomic_xchg(&xe->irq.enabled, 0))
>>  		return;
>>  
>> -	xe->irq.enabled = false;
>>  	xe_irq_reset(xe);
>>  
>>  	irq = pci_irq_vector(pdev, 0);
>> @@ -724,7 +711,7 @@ int xe_irq_install(struct xe_device *xe)
>>  		return err;
>>  	}
>>  
>> -	xe->irq.enabled = true;
>> +	atomic_set(&xe->irq.enabled, 1);
>>  
>>  	xe_irq_postinstall(xe);
>>  
>> @@ -744,9 +731,7 @@ void xe_irq_suspend(struct xe_device *xe)
>>  {
>>  	int irq = to_pci_dev(xe->drm.dev)->irq;
>>  
>> -	spin_lock_irq(&xe->irq.lock);
>> -	xe->irq.enabled = false; /* no new irqs */
>> -	spin_unlock_irq(&xe->irq.lock);
>> +	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
>>  
>>  	synchronize_irq(irq); /* flush irqs */
>>  	xe_irq_reset(xe); /* turn irqs off */
>> @@ -762,7 +747,7 @@ void xe_irq_resume(struct xe_device *xe)
>>  	 * 1. no irq will arrive before the postinstall
>>  	 * 2. display is not yet resumed
>>  	 */
>> -	xe->irq.enabled = true;
>> +	atomic_set(&xe->irq.enabled, 1);
>>  	xe_irq_reset(xe);
>>  	xe_irq_postinstall(xe); /* turn irqs on */
>>  
>> -- 
>> 2.43.2
>>


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

* Re: [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows
  2024-12-03  9:04     ` Levi, Ilia
@ 2024-12-05  8:35       ` Piotr Piórkowski
  0 siblings, 0 replies; 28+ messages in thread
From: Piotr Piórkowski @ 2024-12-05  8:35 UTC (permalink / raw)
  To: Levi, Ilia; +Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

Levi, Ilia <ilia.levi@intel.com> wrote on wto [2024-gru-03 11:04:14 +0200]:
> On 02/12/2024 20:59, Piotr Piórkowski wrote:
> > Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:42 +0200]:
> >> A new flow is added for devices that support MSI-X:
> >> - MSI-X vector 0 is used for GuC-to-host interrupt
> >> - MSI-X vector 1 (aka default MSI-X) is used for HW engines
> >>
> >> The default MSI-X will be passed to the HW engines in a subsequent
> >> patch.
> >>
> >> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
> >> ---
> >>  drivers/gpu/drm/xe/xe_device.c       |   4 +-
> >>  drivers/gpu/drm/xe/xe_device.h       |   3 +-
> >>  drivers/gpu/drm/xe/xe_device_types.h |   6 +
> >>  drivers/gpu/drm/xe/xe_irq.c          | 257 +++++++++++++++++++++++----
> >>  drivers/gpu/drm/xe/xe_irq.h          |   3 +
> >>  5 files changed, 237 insertions(+), 36 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> >> index 930bb2750e2e..f1246fa8b5cc 100644
> >> --- a/drivers/gpu/drm/xe/xe_device.c
> >> +++ b/drivers/gpu/drm/xe/xe_device.c
> >> @@ -325,7 +325,9 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
> >>  	xe->info.revid = pdev->revision;
> >>  	xe->info.force_execlist = xe_modparam.force_execlist;
> >>  
> >> -	spin_lock_init(&xe->irq.lock);
> >> +	err = xe_irq_init(xe);
> >> +	if (err)
> >> +		goto err;
> >>  
> >>  	init_waitqueue_head(&xe->ufence_wq);
> >>  
> >> diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
> >> index f1fbfe916867..fc3c2af3fb7f 100644
> >> --- a/drivers/gpu/drm/xe/xe_device.h
> >> +++ b/drivers/gpu/drm/xe/xe_device.h
> >> @@ -157,8 +157,7 @@ static inline bool xe_device_has_sriov(struct xe_device *xe)
> >>  
> >>  static inline bool xe_device_has_msix(struct xe_device *xe)
> >>  {
> > I still think you should use the name xe_device_use_msix.
> >
> > We use xe_device_has_* in case, when the capability based on Platform
> > version (for example xe_device_has_memirq) based on intel_device_info
> > (for example xe_device_has_sriov or xe_device_has_flat_css).
> >
> > IMO in case you are basing it on a variable that you set yourself in init you should use
> > a different name (for example with “uses” instead of “has”)
> >
> > My motivation is that for me xe_device_has-* is used when it is the capability of a given device
> > and we base on the information that intel_device_info or infromation about the platform version
> > provides us with.
> 
> As we discussed, it is akin to xe_device_has_flat_ccs - where xe->info.has_flat_ccs is set by probe_has_flat_ccs.
> xe->irq.msix.nvec is set according to pci_msix_vec_count which reads MSI-X capability from the PCI.
> 
> >> -	/* TODO: change this when MSI-X support is fully integrated */
> >> -	return false;
> >> +	return xe->irq.msix.nvec > 0;
> >>  }
> >>  
> >>  static inline bool xe_device_has_memirq(struct xe_device *xe)
> >> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> >> index 7ee114c17552..ed638067aa26 100644
> >> --- a/drivers/gpu/drm/xe/xe_device_types.h
> >> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> >> @@ -348,6 +348,12 @@ struct xe_device {
> >>  
> >>  		/** @irq.enabled: interrupts enabled on this device */
> >>  		atomic_t enabled;
> >> +
> >> +		/** @irq.msix: irq info for platforms that support MSI-X */
> >> +		struct {
> >> +			/** @irq.msix.nvec: number of MSI-X interrupts */
> >> +			u16 nvec;
> >> +		} msix;
> >>  	} irq;
> >>  
> >>  	/** @ttm: ttm device */
> >> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> >> index 1c509e66694d..b8a0b9bbf24c 100644
> >> --- a/drivers/gpu/drm/xe/xe_irq.c
> >> +++ b/drivers/gpu/drm/xe/xe_irq.c
> >> @@ -10,6 +10,7 @@
> >>  #include <drm/drm_managed.h>
> >>  
> >>  #include "display/xe_display.h"
> >> +#include "regs/xe_guc_regs.h"
> > I don't see why you are adding this header
> 
> GUC_INTR_GUC2HOST is defined there. It was not needed before as it was called by gt_other_irq_handler (the type of the interrupt was read from the registers).
> For MSI-X those registers are no longer set - and the only type of interrupt we expect on MSI-X vector 0 is guc-to-host.
> 
> >
> > Thanks,
> > Piotr

I'm ok with that:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>

> >>  #include "regs/xe_irq_regs.h"
> >>  #include "xe_device.h"
> >>  #include "xe_drv.h"
> >> @@ -29,6 +30,11 @@
> >>  #define IIR(offset)				XE_REG(offset + 0x8)
> >>  #define IER(offset)				XE_REG(offset + 0xc)
> >>  
> >> +static int xe_irq_msix_init(struct xe_device *xe);
> >> +static void xe_irq_msix_free(struct xe_device *xe);
> >> +static int xe_irq_msix_request_irqs(struct xe_device *xe);
> >> +static void xe_irq_msix_synchronize_irq(struct xe_device *xe);
> >> +
> >>  static void assert_iir_is_zero(struct xe_mmio *mmio, struct xe_reg reg)
> >>  {
> >>  	u32 val = xe_mmio_read32(mmio, reg);
> >> @@ -572,6 +578,11 @@ static void xe_irq_reset(struct xe_device *xe)
> >>  	if (IS_SRIOV_VF(xe))
> >>  		return vf_irq_reset(xe);
> >>  
> >> +	if (xe_device_uses_memirq(xe)) {
> >> +		for_each_tile(tile, xe, id)
> >> +			xe_memirq_reset(&tile->memirq);
> >> +	}
> >> +
> >>  	for_each_tile(tile, xe, id) {
> >>  		if (GRAPHICS_VERx100(xe) >= 1210)
> >>  			dg1_irq_reset(tile);
> >> @@ -614,6 +625,14 @@ static void xe_irq_postinstall(struct xe_device *xe)
> >>  	if (IS_SRIOV_VF(xe))
> >>  		return vf_irq_postinstall(xe);
> >>  
> >> +	if (xe_device_uses_memirq(xe)) {
> >> +		struct xe_tile *tile;
> >> +		unsigned int id;
> >> +
> >> +		for_each_tile(tile, xe, id)
> >> +			xe_memirq_postinstall(&tile->memirq);
> >> +	}
> >> +
> >>  	xe_display_irq_postinstall(xe, xe_root_mmio_gt(xe));
> >>  
> >>  	/*
> >> @@ -656,60 +675,83 @@ static irq_handler_t xe_irq_handler(struct xe_device *xe)
> >>  		return xelp_irq_handler;
> >>  }
> >>  
> >> -static void irq_uninstall(void *arg)
> >> +static int xe_irq_msi_request_irqs(struct xe_device *xe)
> >> +{
> >> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >> +	irq_handler_t irq_handler;
> >> +	int irq, err;
> >> +
> >> +	irq_handler = xe_irq_handler(xe);
> >> +	if (!irq_handler) {
> >> +		drm_err(&xe->drm, "No supported interrupt handler");
> >> +		return -EINVAL;
> >> +	}
> >> +
> >> +	irq = pci_irq_vector(pdev, 0);
> >> +	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
> >> +	if (err < 0) {
> >> +		drm_err(&xe->drm, "Failed to request MSI IRQ %d\n", err);
> >> +		return err;
> >> +	}
> >> +
> >> +	return 0;
> >> +}
> >> +
> >> +static void xe_irq_msi_free(struct xe_device *xe)
> >>  {
> >> -	struct xe_device *xe = arg;
> >>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >>  	int irq;
> >>  
> >> +	irq = pci_irq_vector(pdev, 0);
> >> +	free_irq(irq, xe);
> >> +}
> >> +
> >> +static void irq_uninstall(void *arg)
> >> +{
> >> +	struct xe_device *xe = arg;
> >> +
> >>  	if (!atomic_xchg(&xe->irq.enabled, 0))
> >>  		return;
> >>  
> >>  	xe_irq_reset(xe);
> >>  
> >> -	irq = pci_irq_vector(pdev, 0);
> >> -	free_irq(irq, xe);
> >> +	if (xe_device_has_msix(xe))
> >> +		xe_irq_msix_free(xe);
> >> +	else
> >> +		xe_irq_msi_free(xe);
> >> +}
> >> +
> >> +int xe_irq_init(struct xe_device *xe)
> >> +{
> >> +	spin_lock_init(&xe->irq.lock);
> >> +
> >> +	return xe_irq_msix_init(xe);
> >>  }
> >>  
> >>  int xe_irq_install(struct xe_device *xe)
> >>  {
> >>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >> -	unsigned int irq_flags = PCI_IRQ_MSIX;
> >> -	irq_handler_t irq_handler;
> >> -	int err, irq, nvec;
> >> -
> >> -	irq_handler = xe_irq_handler(xe);
> >> -	if (!irq_handler) {
> >> -		drm_err(&xe->drm, "No supported interrupt handler");
> >> -		return -EINVAL;
> >> -	}
> >> +	unsigned int irq_flags = PCI_IRQ_MSI;
> >> +	int nvec = 1;
> >> +	int err;
> >>  
> >>  	xe_irq_reset(xe);
> >>  
> >> -	nvec = pci_msix_vec_count(pdev);
> >> -	if (nvec <= 0) {
> >> -		if (nvec == -EINVAL) {
> >> -			/* MSIX capability is not supported in the device, using MSI */
> >> -			irq_flags = PCI_IRQ_MSI;
> >> -			nvec = 1;
> >> -		} else {
> >> -			drm_err(&xe->drm, "MSIX: Failed getting count\n");
> >> -			return nvec;
> >> -		}
> >> +	if (xe_device_has_msix(xe)) {
> >> +		nvec = xe->irq.msix.nvec;
> >> +		irq_flags = PCI_IRQ_MSIX;
> >>  	}
> >>  
> >>  	err = pci_alloc_irq_vectors(pdev, nvec, nvec, irq_flags);
> >>  	if (err < 0) {
> >> -		drm_err(&xe->drm, "MSI/MSIX: Failed to enable support %d\n", err);
> >> +		drm_err(&xe->drm, "Failed to allocate IRQ vectors: %d\n", err);
> >>  		return err;
> >>  	}
> >>  
> >> -	irq = pci_irq_vector(pdev, 0);
> >> -	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
> >> -	if (err < 0) {
> >> -		drm_err(&xe->drm, "Failed to request MSI/MSIX IRQ %d\n", err);
> >> +	err = xe_device_has_msix(xe) ? xe_irq_msix_request_irqs(xe) :
> >> +					xe_irq_msi_request_irqs(xe);
> >> +	if (err)
> >>  		return err;
> >> -	}
> >>  
> >>  	atomic_set(&xe->irq.enabled, 1);
> >>  
> >> @@ -722,18 +764,28 @@ int xe_irq_install(struct xe_device *xe)
> >>  	return 0;
> >>  
> >>  free_irq_handler:
> >> -	free_irq(irq, xe);
> >> +	if (xe_device_has_msix(xe))
> >> +		xe_irq_msix_free(xe);
> >> +	else
> >> +		xe_irq_msi_free(xe);
> >>  
> >>  	return err;
> >>  }
> >>  
> >> -void xe_irq_suspend(struct xe_device *xe)
> >> +static void xe_irq_msi_synchronize_irq(struct xe_device *xe)
> >>  {
> >> -	int irq = to_pci_dev(xe->drm.dev)->irq;
> >> +	synchronize_irq(to_pci_dev(xe->drm.dev)->irq);
> >> +}
> >>  
> >> +void xe_irq_suspend(struct xe_device *xe)
> >> +{
> >>  	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
> >>  
> >> -	synchronize_irq(irq); /* flush irqs */
> >> +	/* flush irqs */
> >> +	if (xe_device_has_msix(xe))
> >> +		xe_irq_msix_synchronize_irq(xe);
> >> +	else
> >> +		xe_irq_msi_synchronize_irq(xe);
> >>  	xe_irq_reset(xe); /* turn irqs off */
> >>  }
> >>  
> >> @@ -754,3 +806,142 @@ void xe_irq_resume(struct xe_device *xe)
> >>  	for_each_gt(gt, xe, id)
> >>  		xe_irq_enable_hwe(gt);
> >>  }
> >> +
> >> +/* MSI-X related definitions and functions below. */
> >> +
> >> +enum xe_irq_msix_static {
> >> +	GUC2HOST_MSIX = 0,
> >> +	DEFAULT_MSIX = XE_IRQ_DEFAULT_MSIX,
> >> +	/* Must be last */
> >> +	NUM_OF_STATIC_MSIX,
> >> +};
> >> +
> >> +static int xe_irq_msix_init(struct xe_device *xe)
> >> +{
> >> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >> +	int nvec = pci_msix_vec_count(pdev);
> >> +
> >> +	if (nvec == -EINVAL)
> >> +		return 0;  /* MSI */
> >> +
> >> +	if (nvec < 0) {
> >> +		drm_err(&xe->drm, "Failed getting MSI-X vectors count: %d\n", nvec);
> >> +		return nvec;
> >> +	}
> >> +
> >> +	xe->irq.msix.nvec = nvec;
> >> +	return 0;
> >> +}
> >> +
> >> +static irqreturn_t guc2host_irq_handler(int irq, void *arg)
> >> +{
> >> +	struct xe_device *xe = arg;
> >> +	struct xe_tile *tile;
> >> +	u8 id;
> >> +
> >> +	if (!atomic_read(&xe->irq.enabled))
> >> +		return IRQ_NONE;
> >> +
> >> +	for_each_tile(tile, xe, id)
> >> +		xe_guc_irq_handler(&tile->primary_gt->uc.guc,
> >> +				   GUC_INTR_GUC2HOST);
> >> +
> >> +	return IRQ_HANDLED;
> >> +}
> >> +
> >> +static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
> >> +{
> >> +	unsigned int tile_id, gt_id;
> >> +	struct xe_device *xe = arg;
> >> +	struct xe_memirq *memirq;
> >> +	struct xe_hw_engine *hwe;
> >> +	enum xe_hw_engine_id id;
> >> +	struct xe_tile *tile;
> >> +	struct xe_gt *gt;
> >> +
> >> +	if (!atomic_read(&xe->irq.enabled))
> >> +		return IRQ_NONE;
> >> +
> >> +	for_each_tile(tile, xe, tile_id) {
> >> +		memirq = &tile->memirq;
> >> +		if (!memirq->bo)
> >> +			continue;
> >> +
> >> +		for_each_gt(gt, xe, gt_id) {
> >> +			if (gt->tile != tile)
> >> +				continue;
> >> +
> >> +			for_each_hw_engine(hwe, gt, id)
> >> +				xe_memirq_hwe_handler(memirq, hwe);
> >> +		}
> >> +	}
> >> +
> >> +	return IRQ_HANDLED;
> >> +}
> >> +
> >> +static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
> >> +				   const char *name, u16 msix)
> >> +{
> >> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >> +	int ret, irq;
> >> +
> >> +	irq = pci_irq_vector(pdev, msix);
> >> +	if (irq < 0)
> >> +		return irq;
> >> +
> >> +	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
> >> +	if (ret < 0)
> >> +		return ret;
> >> +
> >> +	return 0;
> >> +}
> >> +
> >> +static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
> >> +{
> >> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >> +	int irq;
> >> +
> >> +	irq = pci_irq_vector(pdev, msix);
> >> +	if (irq < 0) {
> >> +		drm_err(&xe->drm, "MSI-X %u can't be released, there is no matching IRQ\n", msix);
> >> +		return;
> >> +	}
> >> +
> >> +	free_irq(irq, xe);
> >> +}
> >> +
> >> +static int xe_irq_msix_request_irqs(struct xe_device *xe)
> >> +{
> >> +	int err;
> >> +
> >> +	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
> >> +				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
> >> +	if (err) {
> >> +		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
> >> +		return err;
> >> +	}
> >> +
> >> +	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
> >> +				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
> >> +	if (err) {
> >> +		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
> >> +		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
> >> +		return err;
> >> +	}
> >> +
> >> +	return 0;
> >> +}
> >> +
> >> +static void xe_irq_msix_free(struct xe_device *xe)
> >> +{
> >> +	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
> >> +	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
> >> +}
> >> +
> >> +static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
> >> +{
> >> +	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >> +
> >> +	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
> >> +	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
> >> +}
> >> diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
> >> index 067514e13675..24ff16111b96 100644
> >> --- a/drivers/gpu/drm/xe/xe_irq.h
> >> +++ b/drivers/gpu/drm/xe/xe_irq.h
> >> @@ -6,10 +6,13 @@
> >>  #ifndef _XE_IRQ_H_
> >>  #define _XE_IRQ_H_
> >>  
> >> +#define XE_IRQ_DEFAULT_MSIX 1
> >> +
> >>  struct xe_device;
> >>  struct xe_tile;
> >>  struct xe_gt;
> >>  
> >> +int xe_irq_init(struct xe_device *xe);
> >>  int xe_irq_install(struct xe_device *xe);
> >>  void xe_irq_suspend(struct xe_device *xe);
> >>  void xe_irq_resume(struct xe_device *xe);
> >> -- 
> >> 2.43.2
> >>

-- 

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

* Re: [PATCH v5 5/5] drm/xe/uapi: Support requesting unique MSI-X for exec queue
  2024-11-28 12:53 ` [PATCH v5 5/5] drm/xe/uapi: Support requesting unique MSI-X for exec queue Ilia Levi
@ 2024-12-05  9:00   ` Piotr Piórkowski
  0 siblings, 0 replies; 28+ messages in thread
From: Piotr Piórkowski @ 2024-12-05  9:00 UTC (permalink / raw)
  To: Ilia Levi
  Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat,
	Dani Liberman

Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:45 +0200]:
> From: Dani Liberman <dliberman@habana.ai>
> 
> Unique MSI-X per exec queue will improve the performance of the
> IRQ handler. In case no MSI-X is available, the uAPI will return
> -EBUSY error and the user would be able to execute the uAPI again
> without the flag (fallback to default MSI-X).
> 
> Co-developed-by: Ilia Levi <ilia.levi@intel.com>
> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
> Signed-off-by: Dani Liberman <dliberman@habana.ai>
> ---
>  drivers/gpu/drm/xe/xe_exec_queue.c       | 57 +++++++++++++++++++++---
>  drivers/gpu/drm/xe/xe_exec_queue_types.h |  2 +
>  drivers/gpu/drm/xe/xe_irq.c              | 18 ++++++++
>  drivers/gpu/drm/xe/xe_irq.h              |  1 +
>  include/uapi/drm/xe_drm.h                |  8 +++-
>  5 files changed, 80 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 9c94be571900..1478fdfbf3f7 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -12,6 +12,7 @@
>  #include <uapi/drm/xe_drm.h>
>  
>  #include "xe_device.h"
> +#include "xe_drv.h"
>  #include "xe_gt.h"
>  #include "xe_hw_engine_class_sysfs.h"
>  #include "xe_hw_engine_group.h"
> @@ -35,8 +36,46 @@ enum xe_exec_queue_sched_prop {
>  static int exec_queue_user_extensions(struct xe_device *xe, struct xe_exec_queue *q,
>  				      u64 extensions, int ext_number);
>  
> +static int xe_exec_queue_msix_init(struct xe_device *xe, struct xe_exec_queue *q, bool unique_msix)
> +{
> +	u16 msix;
> +	int ret = 0;
NIT: It seems to me that in case you are expecting success or error in case of a function
it is better to use err instead of ret

> +
> +	if (!xe_device_has_msix(xe))
> +		return 0;
> +
> +	if (!unique_msix) {
> +		q->msix_vec = XE_IRQ_DEFAULT_MSIX;
> +		return 0;
> +	}
> +
> +	ret = xe_irq_msix_request_irq(xe, xe_irq_msix_hwe_handler, q,
> +				      DRIVER_NAME "-exec-queue", true, &msix);
> +	if (ret < 0) {
> +		drm_dbg(&xe->drm, "Can't allocate unique MSI-X to exec queue (%d)\n", ret);
> +		return ret;
> +	}
> +
> +	q->msix_vec = msix;
> +
> +	return 0;
> +}
> +
> +static void xe_exec_queue_msix_fini(struct xe_exec_queue *q)
> +{
> +	struct xe_device *xe = gt_to_xe(q->gt);
> +
> +	if (!xe_device_has_msix(xe))
> +		return;
> +
> +	if (q->msix_vec && q->msix_vec != XE_IRQ_DEFAULT_MSIX)
> +		xe_irq_msix_free_irq(xe, q->msix_vec);
> +}
> +
>  static void __xe_exec_queue_free(struct xe_exec_queue *q)
>  {
> +	xe_exec_queue_msix_fini(q);
> +
>  	if (q->vm)
>  		xe_vm_put(q->vm);
>  
> @@ -69,7 +108,12 @@ static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe,
>  	q->gt = gt;
>  	q->class = hwe->class;
>  	q->width = width;
> -	q->msix_vec = XE_IRQ_DEFAULT_MSIX;
> +	err = xe_exec_queue_msix_init(xe, q, flags & EXEC_QUEUE_FLAG_UNIQUE_MSIX);

NIT: You could use !! to highlight that you are casting an u32 to bool

	err = xe_exec_queue_msix_init(xe, q, !!(flags & EXEC_QUEUE_FLAG_UNIQUE_MSIX));

> +	if (err) {
> +		kfree(q);
> +		return ERR_PTR(err);
> +	}
> +
>  	q->logical_mask = logical_mask;
>  	q->fence_irq = &gt->fence_irq[hwe->class];
>  	q->ring_ops = gt->ring_ops[hwe->class];
> @@ -547,13 +591,13 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
>  	struct xe_gt *gt;
>  	struct xe_tile *tile;
>  	struct xe_exec_queue *q = NULL;
> +	u32 flags = 0;
>  	u32 logical_mask;
>  	u32 id;
>  	u32 len;
>  	int err;
>  
> -	if (XE_IOCTL_DBG(xe, args->flags) ||
> -	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
> +	if (XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
>  		return -EINVAL;
>  
>  	len = args->width * args->num_placements;
> @@ -569,6 +613,9 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
>  	if (XE_IOCTL_DBG(xe, eci[0].gt_id >= xe->info.gt_count))
>  		return -EINVAL;
>  
> +	if (args->flags & DRM_XE_EXEC_QUEUE_CREATE_FLAG_UNIQUE_INTERRUPT_HINT)
> +		flags |= EXEC_QUEUE_FLAG_UNIQUE_MSIX;
> +
>  	if (eci[0].engine_class == DRM_XE_ENGINE_CLASS_VM_BIND) {
>  		if (XE_IOCTL_DBG(xe, args->width != 1) ||
>  		    XE_IOCTL_DBG(xe, args->num_placements != 1) ||
> @@ -577,8 +624,8 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
>  
>  		for_each_tile(tile, xe, id) {
>  			struct xe_exec_queue *new;
> -			u32 flags = EXEC_QUEUE_FLAG_VM;
>  
> +			flags |= EXEC_QUEUE_FLAG_VM;
>  			if (id)
>  				flags |= EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD;
>  
> @@ -625,7 +672,7 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
>  		}
>  
>  		q = xe_exec_queue_create(xe, vm, logical_mask,
> -					 args->width, hwe, 0,
> +					 args->width, hwe, flags,
>  					 args->extensions);
>  		up_read(&vm->lock);
>  		xe_vm_put(vm);
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> index eec8f9935a58..6e419b572000 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> @@ -85,6 +85,8 @@ struct xe_exec_queue {
>  #define EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD	BIT(3)
>  /* kernel exec_queue only, set priority to highest level */
>  #define EXEC_QUEUE_FLAG_HIGH_PRIORITY		BIT(4)
> +/* queue with unique msix interrupt */
> +#define EXEC_QUEUE_FLAG_UNIQUE_MSIX		BIT(5)
>  
>  	/**
>  	 * @flags: flags for this exec queue, should statically setup aside from ban
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index 32f5a67a917b..52829771c89b 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -14,6 +14,7 @@
>  #include "regs/xe_irq_regs.h"
>  #include "xe_device.h"
>  #include "xe_drv.h"
> +#include "xe_exec_queue_types.h"
>  #include "xe_gsc_proxy.h"
>  #include "xe_gt.h"
>  #include "xe_guc.h"
> @@ -880,6 +881,23 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
>  	return IRQ_HANDLED;
>  }
>  
> +/*
> + * In MSI-X mode command streamers raise an interrupt only as a result of
> + * MI_USER_INTERRUPT and MI_FLUSH_DW_NOTIFY commands.
> + */
> +irqreturn_t xe_irq_msix_hwe_handler(int irq, void *arg)
> +{
> +	struct xe_exec_queue *q = arg;
> +	struct xe_tile *tile = gt_to_tile(q->hwe->gt);
> +
> +	if (!atomic_read(&tile->xe->irq.enabled))
> +		return IRQ_NONE;
> +
> +	xe_memirq_hwe_handler(&tile->memirq, q->hwe);
> +
> +	return IRQ_HANDLED;
> +}
> +
>  static int xe_irq_msix_alloc_vector(struct xe_device *xe, void *irq_buf,
>  				    bool dynamic_msix, u16 *msix)
>  {
> diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
> index a28bd577ba52..47058e2d9d36 100644
> --- a/drivers/gpu/drm/xe/xe_irq.h
> +++ b/drivers/gpu/drm/xe/xe_irq.h
> @@ -19,6 +19,7 @@ int xe_irq_install(struct xe_device *xe);
>  void xe_irq_suspend(struct xe_device *xe);
>  void xe_irq_resume(struct xe_device *xe);
>  void xe_irq_enable_hwe(struct xe_gt *gt);
> +irqreturn_t xe_irq_msix_hwe_handler(int irq, void *arg);
>  int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
>  			    const char *name, bool dynamic_msix, u16 *msix);
>  void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 4a8a4a63e99c..5f32553b14fb 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -1123,7 +1123,13 @@ struct drm_xe_exec_queue_create {
>  	/** @vm_id: VM to use for this exec queue */
>  	__u32 vm_id;
>  
> -	/** @flags: MBZ */
> +	/*
> +	 * When creating exec queue in MSIX platforms, the user can request a unique MSIX interrupt
> +	 * for the irq handler. If there is no available MSIX, -EBUSY will be returned.
> +	 */
> +#define	DRM_XE_EXEC_QUEUE_CREATE_FLAG_UNIQUE_INTERRUPT_HINT (0x1 << 0)
> +
> +	/** @flags: create queue flags */
>  	__u32 flags;
>  
>  	/** @exec_queue_id: Returned exec queue ID */
> -- 
> 2.43.2

Two minor comments above, but LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>


> 

-- 

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

* Re: [PATCH v5 4/5] drm/xe/irq: Manage MSI-X interrupts allocation
  2024-11-28 12:53 ` [PATCH v5 4/5] drm/xe/irq: Manage MSI-X interrupts allocation Ilia Levi
@ 2024-12-05  9:07   ` Piotr Piórkowski
  0 siblings, 0 replies; 28+ messages in thread
From: Piotr Piórkowski @ 2024-12-05  9:07 UTC (permalink / raw)
  To: Ilia Levi; +Cc: intel-xe, niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:44 +0200]:
> Expose functions to request and free MSI-X interrupts.
> 
> The request has two flavors:
> - Static MSI-X allocation, for known MSI-X interrupts (e.g. GuC-to-host)
> - Dynamic MSI-X allocation, which uses the next available MSI-X interrupt
> 
> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_device_types.h |  2 +
>  drivers/gpu/drm/xe/xe_irq.c          | 96 ++++++++++++++++++++++------
>  drivers/gpu/drm/xe/xe_irq.h          |  5 ++
>  3 files changed, 83 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index ed638067aa26..1a3ded5a97c1 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -353,6 +353,8 @@ struct xe_device {
>  		struct {
>  			/** @irq.msix.nvec: number of MSI-X interrupts */
>  			u16 nvec;
> +			/** @irq.msix.indexes: used to allocate MSI-X indexes */
> +			struct xarray indexes;
>  		} msix;
>  	} irq;
>  
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index b8a0b9bbf24c..32f5a67a917b 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -830,6 +830,7 @@ static int xe_irq_msix_init(struct xe_device *xe)
>  	}
>  
>  	xe->irq.msix.nvec = nvec;
> +	xa_init_flags(&xe->irq.msix.indexes, XA_FLAGS_ALLOC);
>  	return 0;
>  }
>  
> @@ -879,8 +880,32 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
>  	return IRQ_HANDLED;
>  }
>  
> -static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
> -				   const char *name, u16 msix)
> +static int xe_irq_msix_alloc_vector(struct xe_device *xe, void *irq_buf,
> +				    bool dynamic_msix, u16 *msix)
> +{
> +	struct xa_limit limit;
> +	int ret;
> +	u32 id;
> +
> +	limit = (dynamic_msix) ? XA_LIMIT(NUM_OF_STATIC_MSIX, xe->irq.msix.nvec - 1) :
> +				 XA_LIMIT(*msix, *msix);
> +	ret = xa_alloc(&xe->irq.msix.indexes, &id, irq_buf, limit, GFP_KERNEL);
> +	if (ret)
> +		return ret;
> +
> +	if (dynamic_msix)
> +		*msix = id;
> +
> +	return 0;
> +}
> +
> +static void xe_irq_msix_release_vector(struct xe_device *xe, u16 msix)
> +{
> +	xa_erase(&xe->irq.msix.indexes, msix);
> +}
> +
> +static int xe_irq_msix_request_irq_internal(struct xe_device *xe, irq_handler_t handler,
> +					    void *irq_buf, const char *name, u16 msix)
>  {
>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>  	int ret, irq;
> @@ -889,17 +914,41 @@ static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
>  	if (irq < 0)
>  		return irq;
>  
> -	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
> +	ret = request_irq(irq, handler, IRQF_SHARED, name, irq_buf);
>  	if (ret < 0)
>  		return ret;
>  
>  	return 0;
>  }
>  
> -static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
> +int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
> +			    const char *name, bool dynamic_msix, u16 *msix)
> +{
> +	int ret;
> +
> +	ret = xe_irq_msix_alloc_vector(xe, irq_buf, dynamic_msix, msix);
> +	if (ret)
> +		return ret;
> +
> +	ret = xe_irq_msix_request_irq_internal(xe, handler, irq_buf, name, *msix);
> +	if (ret) {
> +		drm_err(&xe->drm, "Failed to request IRQ for MSI-X %u\n", *msix);
> +		xe_irq_msix_release_vector(xe, *msix);
> +		return ret;
> +	}
> +
> +	return 0;
> +}
> +
> +void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
>  {
>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
>  	int irq;
> +	void *irq_buf;
> +
> +	irq_buf = xa_load(&xe->irq.msix.indexes, msix);
> +	if (!irq_buf)
> +		return;
>  
>  	irq = pci_irq_vector(pdev, msix);
>  	if (irq < 0) {
> @@ -907,24 +956,25 @@ static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
>  		return;
>  	}
>  
> -	free_irq(irq, xe);
> +	free_irq(irq, irq_buf);
> +	xe_irq_msix_release_vector(xe, msix);
>  }
>  
> -static int xe_irq_msix_request_irqs(struct xe_device *xe)
> +int xe_irq_msix_request_irqs(struct xe_device *xe)
>  {
>  	int err;
> +	u16 msix;
>  
> -	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
> -				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
> -	if (err) {
> -		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
> +	msix = GUC2HOST_MSIX;
> +	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler, xe,
> +				      DRIVER_NAME "-guc2host", false, &msix);
> +	if (err)
>  		return err;
> -	}
>  
> -	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
> -				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
> +	msix = DEFAULT_MSIX;
> +	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler, xe,
> +				      DRIVER_NAME "-default-msix", false, &msix);
>  	if (err) {
> -		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
>  		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
>  		return err;
>  	}
> @@ -932,16 +982,22 @@ static int xe_irq_msix_request_irqs(struct xe_device *xe)
>  	return 0;
>  }
>  
> -static void xe_irq_msix_free(struct xe_device *xe)
> +void xe_irq_msix_free(struct xe_device *xe)
>  {
> -	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
> -	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
> +	unsigned long msix;
> +	u32 *dummy;
> +
> +	xa_for_each(&xe->irq.msix.indexes, msix, dummy)
> +		xe_irq_msix_free_irq(xe, msix);
> +	xa_destroy(&xe->irq.msix.indexes);
>  }
>  
> -static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
> +void xe_irq_msix_synchronize_irq(struct xe_device *xe)
>  {
>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> +	unsigned long msix;
> +	u32 *dummy;
>  
> -	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
> -	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
> +	xa_for_each(&xe->irq.msix.indexes, msix, dummy)
> +		synchronize_irq(pci_irq_vector(pdev, msix));
>  }
> diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
> index 24ff16111b96..a28bd577ba52 100644
> --- a/drivers/gpu/drm/xe/xe_irq.h
> +++ b/drivers/gpu/drm/xe/xe_irq.h
> @@ -6,6 +6,8 @@
>  #ifndef _XE_IRQ_H_
>  #define _XE_IRQ_H_
>  
> +#include <linux/interrupt.h>
> +
>  #define XE_IRQ_DEFAULT_MSIX 1
>  
>  struct xe_device;
> @@ -17,5 +19,8 @@ int xe_irq_install(struct xe_device *xe);
>  void xe_irq_suspend(struct xe_device *xe);
>  void xe_irq_resume(struct xe_device *xe);
>  void xe_irq_enable_hwe(struct xe_gt *gt);
> +int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
> +			    const char *name, bool dynamic_msix, u16 *msix);
> +void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
>  
>  #endif

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

> -- 
> 2.43.2
> 

-- 

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

* Re: [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic
  2024-12-03 11:47     ` Levi, Ilia
@ 2024-12-05 17:24       ` Rodrigo Vivi
  0 siblings, 0 replies; 28+ messages in thread
From: Rodrigo Vivi @ 2024-12-05 17:24 UTC (permalink / raw)
  To: Levi, Ilia
  Cc: Piotr Piórkowski, matthew.auld, intel-xe,
	niranjana.vishwanathapura, koby.elbaz, yaron.avizrat

On Tue, Dec 03, 2024 at 01:47:42PM +0200, Levi, Ilia wrote:
> On 02/12/2024 20:32, Piotr Piórkowski wrote:
> > Ilia Levi <ilia.levi@intel.com> wrote on czw [2024-lis-28 14:53:41 +0200]:
> >> The irq.enabled flag was protected by a spin lock (irq.lock).
> >> By making it atomic we no longer need to wait for the spin lock in
> >> irq handlers. This will become especially useful for MSI-X irq
> >> handlers to prevent lock contention between different interrupts.
> > I am not convinced that you can simply replace this spin_lock with an atomic.
> > Note that this spin lock is also used for whole blocks in the irq handler
> > (for example gt_irq_handler), and not only to access this flag.
> 
> Yes, I saw that. However, irq.enabled is not accessed within those blocks, so imho there is no need in mutual exclusion between checking the flag and those blocks.
> If I understand correctly, the role of irq.enabled flag is to prevent new irq handlers from running  once the interrupts have been turned off (e. g. as a result of suspension), while synchronize_irq waits for the already running irq handlers to finish. Making the flag atomic should achieve the same goal. I have left the spin lock to protect access to interrupt registers (and there's also some protection in xe_execlist_port_destroy), though I'm not sure when it is useful.
> 
> Adding Rodrigo and Matthew in case I'm missing something.

I believe Ilia is right here and I was over-protective trying to use
the spinlock to also protect the enabled and not just the irq data
itself as its intended doc says.

I was concerned about display code, but then looking again to the code,
on i915 the enabled is not protected as well and not even an atomic,
so an atomic is a bonus here.

But we do need to test this patch here with display enabled.
Please ensure you also convert the irq.enabled at
drivers/gpu/drm/xe/display/ext/i915_irq.c
and kill that XXX comment section that I had written there,
because after this patch that argument makes even less sense.

Thanks,
Rodrigo.

> Thanks,
> Ilia
> 
> >
> > Thanks,
> > Piotr
> >
> >
> >> Signed-off-by: Ilia Levi <ilia.levi@intel.com>
> >> ---
> >>  drivers/gpu/drm/xe/display/ext/i915_irq.c |  2 +-
> >>  drivers/gpu/drm/xe/xe_device_types.h      |  2 +-
> >>  drivers/gpu/drm/xe/xe_irq.c               | 29 ++++++-----------------
> >>  3 files changed, 9 insertions(+), 24 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/xe/display/ext/i915_irq.c b/drivers/gpu/drm/xe/display/ext/i915_irq.c
> >> index a7dbc6554d69..0c0f4533c34f 100644
> >> --- a/drivers/gpu/drm/xe/display/ext/i915_irq.c
> >> +++ b/drivers/gpu/drm/xe/display/ext/i915_irq.c
> >> @@ -64,7 +64,7 @@ bool intel_irqs_enabled(struct xe_device *xe)
> >>  	 * But at this point the xe irq is better protected against races,
> >>  	 * although the full solution would be protecting the i915 side.
> >>  	 */
> >> -	return xe->irq.enabled;
> >> +	return atomic_read(&xe->irq.enabled);
> >>  }
> >>  
> >>  void intel_synchronize_irq(struct xe_device *xe)
> >> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> >> index 6a04f975ec16..7ee114c17552 100644
> >> --- a/drivers/gpu/drm/xe/xe_device_types.h
> >> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> >> @@ -347,7 +347,7 @@ struct xe_device {
> >>  		spinlock_t lock;
> >>  
> >>  		/** @irq.enabled: interrupts enabled on this device */
> >> -		bool enabled;
> >> +		atomic_t enabled;
> >>  	} irq;
> >>  
> >>  	/** @ttm: ttm device */
> >> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> >> index 7bf7201529ac..1c509e66694d 100644
> >> --- a/drivers/gpu/drm/xe/xe_irq.c
> >> +++ b/drivers/gpu/drm/xe/xe_irq.c
> >> @@ -348,12 +348,8 @@ static irqreturn_t xelp_irq_handler(int irq, void *arg)
> >>  	unsigned long intr_dw[2];
> >>  	u32 identity[32];
> >>  
> >> -	spin_lock(&xe->irq.lock);
> >> -	if (!xe->irq.enabled) {
> >> -		spin_unlock(&xe->irq.lock);
> >> +	if (!atomic_read(&xe->irq.enabled))
> >>  		return IRQ_NONE;
> >> -	}
> >> -	spin_unlock(&xe->irq.lock);
> >>  
> >>  	master_ctl = xelp_intr_disable(xe);
> >>  	if (!master_ctl) {
> >> @@ -417,12 +413,8 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
> >>  
> >>  	/* TODO: This really shouldn't be copied+pasted */
> >>  
> >> -	spin_lock(&xe->irq.lock);
> >> -	if (!xe->irq.enabled) {
> >> -		spin_unlock(&xe->irq.lock);
> >> +	if (!atomic_read(&xe->irq.enabled))
> >>  		return IRQ_NONE;
> >> -	}
> >> -	spin_unlock(&xe->irq.lock);
> >>  
> >>  	master_tile_ctl = dg1_intr_disable(xe);
> >>  	if (!master_tile_ctl) {
> >> @@ -644,12 +636,8 @@ static irqreturn_t vf_mem_irq_handler(int irq, void *arg)
> >>  	struct xe_tile *tile;
> >>  	unsigned int id;
> >>  
> >> -	spin_lock(&xe->irq.lock);
> >> -	if (!xe->irq.enabled) {
> >> -		spin_unlock(&xe->irq.lock);
> >> +	if (!atomic_read(&xe->irq.enabled))
> >>  		return IRQ_NONE;
> >> -	}
> >> -	spin_unlock(&xe->irq.lock);
> >>  
> >>  	for_each_tile(tile, xe, id)
> >>  		xe_memirq_handler(&tile->memirq);
> >> @@ -674,10 +662,9 @@ static void irq_uninstall(void *arg)
> >>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> >>  	int irq;
> >>  
> >> -	if (!xe->irq.enabled)
> >> +	if (!atomic_xchg(&xe->irq.enabled, 0))
> >>  		return;
> >>  
> >> -	xe->irq.enabled = false;
> >>  	xe_irq_reset(xe);
> >>  
> >>  	irq = pci_irq_vector(pdev, 0);
> >> @@ -724,7 +711,7 @@ int xe_irq_install(struct xe_device *xe)
> >>  		return err;
> >>  	}
> >>  
> >> -	xe->irq.enabled = true;
> >> +	atomic_set(&xe->irq.enabled, 1);
> >>  
> >>  	xe_irq_postinstall(xe);
> >>  
> >> @@ -744,9 +731,7 @@ void xe_irq_suspend(struct xe_device *xe)
> >>  {
> >>  	int irq = to_pci_dev(xe->drm.dev)->irq;
> >>  
> >> -	spin_lock_irq(&xe->irq.lock);
> >> -	xe->irq.enabled = false; /* no new irqs */
> >> -	spin_unlock_irq(&xe->irq.lock);
> >> +	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
> >>  
> >>  	synchronize_irq(irq); /* flush irqs */
> >>  	xe_irq_reset(xe); /* turn irqs off */
> >> @@ -762,7 +747,7 @@ void xe_irq_resume(struct xe_device *xe)
> >>  	 * 1. no irq will arrive before the postinstall
> >>  	 * 2. display is not yet resumed
> >>  	 */
> >> -	xe->irq.enabled = true;
> >> +	atomic_set(&xe->irq.enabled, 1);
> >>  	xe_irq_reset(xe);
> >>  	xe_irq_postinstall(xe); /* turn irqs on */
> >>  
> >> -- 
> >> 2.43.2
> >>
> 

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

* [PATCH v6 0/4] MSI-X support
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (12 preceding siblings ...)
  2024-11-28 15:39 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2024-12-13  7:25 ` Ilia Levi
  2024-12-13  7:25 ` [PATCH v6 1/4] drm/xe/irq: Separate MSI and MSI-X flows Ilia Levi
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Ilia Levi @ 2024-12-13  7:25 UTC (permalink / raw)
  To: intel-xe; +Cc: ilia.levi


This patch set introduces MSI-X workflow.
This is a rework of previously published series 135422
(https://patchwork.freedesktop.org/series/135422/) and a continuation
of series 140877 (https://patchwork.freedesktop.org/series/140877/).

It includes:
1. Basic MSI-X workflow with GuC-to-host and "default MSI-X"
   interrupt handlers.
2. MSI-X interrupts allocator to allow dynamic resource management.
3. uAPI flag to xe_exec_queue_create_ioctl that allows creating
   an exec queue with its own MSI-X interrupt.


v2: Rebase + fix kernel doc issue
v3: Rebase + fix sriov_basic test failure
v4: Another attempt to fix sriov flows
v5:
 - Rebase
 - Optimize irq.enabled access (additional patch)
 - Check irq.enabled in new IRQ handlers
 - Code review comments (Piotr)
v6:
 - Rebase
 - Remove merged patch
 - Cosmetic fix (Piotr)


Dani Liberman (1):
  drm/xe/uapi: Support requesting unique MSI-X for exec queue

Ilia Levi (3):
  drm/xe/irq: Separate MSI and MSI-X flows
  drm/xe: Initial MSI-X support for HW engines
  drm/xe/irq: Manage MSI-X interrupts allocation

 drivers/gpu/drm/xe/regs/xe_engine_regs.h |   3 +
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h  |   3 +
 drivers/gpu/drm/xe/xe_device.c           |   4 +-
 drivers/gpu/drm/xe/xe_device.h           |   3 +-
 drivers/gpu/drm/xe/xe_device_types.h     |   8 +
 drivers/gpu/drm/xe/xe_exec_queue.c       |  59 +++-
 drivers/gpu/drm/xe/xe_exec_queue_types.h |   4 +
 drivers/gpu/drm/xe/xe_execlist.c         |  10 +-
 drivers/gpu/drm/xe/xe_hw_engine.c        |   7 +-
 drivers/gpu/drm/xe/xe_irq.c              | 331 ++++++++++++++++++++---
 drivers/gpu/drm/xe/xe_irq.h              |   9 +
 drivers/gpu/drm/xe/xe_lrc.c              |  24 +-
 drivers/gpu/drm/xe/xe_lrc.h              |   2 +-
 include/uapi/drm/xe_drm.h                |   8 +-
 14 files changed, 423 insertions(+), 52 deletions(-)

-- 
2.43.2


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

* [PATCH v6 1/4] drm/xe/irq: Separate MSI and MSI-X flows
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (13 preceding siblings ...)
  2024-12-13  7:25 ` [PATCH v6 0/4] " Ilia Levi
@ 2024-12-13  7:25 ` Ilia Levi
  2024-12-13  7:25 ` [PATCH v6 2/4] drm/xe: Initial MSI-X support for HW engines Ilia Levi
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Ilia Levi @ 2024-12-13  7:25 UTC (permalink / raw)
  To: intel-xe; +Cc: ilia.levi, Piotr Piórkowski

A new flow is added for devices that support MSI-X:
- MSI-X vector 0 is used for GuC-to-host interrupt
- MSI-X vector 1 (aka default MSI-X) is used for HW engines

The default MSI-X will be passed to the HW engines in a subsequent
patch.

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
 drivers/gpu/drm/xe/xe_device.c       |   4 +-
 drivers/gpu/drm/xe/xe_device.h       |   3 +-
 drivers/gpu/drm/xe/xe_device_types.h |   6 +
 drivers/gpu/drm/xe/xe_irq.c          | 257 +++++++++++++++++++++++----
 drivers/gpu/drm/xe/xe_irq.h          |   3 +
 5 files changed, 237 insertions(+), 36 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 56d4ffb650da..bf36e4fb4679 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -325,7 +325,9 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
 	xe->info.revid = pdev->revision;
 	xe->info.force_execlist = xe_modparam.force_execlist;
 
-	spin_lock_init(&xe->irq.lock);
+	err = xe_irq_init(xe);
+	if (err)
+		goto err;
 
 	init_waitqueue_head(&xe->ufence_wq);
 
diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
index f1fbfe916867..fc3c2af3fb7f 100644
--- a/drivers/gpu/drm/xe/xe_device.h
+++ b/drivers/gpu/drm/xe/xe_device.h
@@ -157,8 +157,7 @@ static inline bool xe_device_has_sriov(struct xe_device *xe)
 
 static inline bool xe_device_has_msix(struct xe_device *xe)
 {
-	/* TODO: change this when MSI-X support is fully integrated */
-	return false;
+	return xe->irq.msix.nvec > 0;
 }
 
 static inline bool xe_device_has_memirq(struct xe_device *xe)
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index ace22e35e769..7b90df4e0021 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -348,6 +348,12 @@ struct xe_device {
 
 		/** @irq.enabled: interrupts enabled on this device */
 		atomic_t enabled;
+
+		/** @irq.msix: irq info for platforms that support MSI-X */
+		struct {
+			/** @irq.msix.nvec: number of MSI-X interrupts */
+			u16 nvec;
+		} msix;
 	} irq;
 
 	/** @ttm: ttm device */
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 1c509e66694d..b8a0b9bbf24c 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -10,6 +10,7 @@
 #include <drm/drm_managed.h>
 
 #include "display/xe_display.h"
+#include "regs/xe_guc_regs.h"
 #include "regs/xe_irq_regs.h"
 #include "xe_device.h"
 #include "xe_drv.h"
@@ -29,6 +30,11 @@
 #define IIR(offset)				XE_REG(offset + 0x8)
 #define IER(offset)				XE_REG(offset + 0xc)
 
+static int xe_irq_msix_init(struct xe_device *xe);
+static void xe_irq_msix_free(struct xe_device *xe);
+static int xe_irq_msix_request_irqs(struct xe_device *xe);
+static void xe_irq_msix_synchronize_irq(struct xe_device *xe);
+
 static void assert_iir_is_zero(struct xe_mmio *mmio, struct xe_reg reg)
 {
 	u32 val = xe_mmio_read32(mmio, reg);
@@ -572,6 +578,11 @@ static void xe_irq_reset(struct xe_device *xe)
 	if (IS_SRIOV_VF(xe))
 		return vf_irq_reset(xe);
 
+	if (xe_device_uses_memirq(xe)) {
+		for_each_tile(tile, xe, id)
+			xe_memirq_reset(&tile->memirq);
+	}
+
 	for_each_tile(tile, xe, id) {
 		if (GRAPHICS_VERx100(xe) >= 1210)
 			dg1_irq_reset(tile);
@@ -614,6 +625,14 @@ static void xe_irq_postinstall(struct xe_device *xe)
 	if (IS_SRIOV_VF(xe))
 		return vf_irq_postinstall(xe);
 
+	if (xe_device_uses_memirq(xe)) {
+		struct xe_tile *tile;
+		unsigned int id;
+
+		for_each_tile(tile, xe, id)
+			xe_memirq_postinstall(&tile->memirq);
+	}
+
 	xe_display_irq_postinstall(xe, xe_root_mmio_gt(xe));
 
 	/*
@@ -656,60 +675,83 @@ static irq_handler_t xe_irq_handler(struct xe_device *xe)
 		return xelp_irq_handler;
 }
 
-static void irq_uninstall(void *arg)
+static int xe_irq_msi_request_irqs(struct xe_device *xe)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	irq_handler_t irq_handler;
+	int irq, err;
+
+	irq_handler = xe_irq_handler(xe);
+	if (!irq_handler) {
+		drm_err(&xe->drm, "No supported interrupt handler");
+		return -EINVAL;
+	}
+
+	irq = pci_irq_vector(pdev, 0);
+	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
+	if (err < 0) {
+		drm_err(&xe->drm, "Failed to request MSI IRQ %d\n", err);
+		return err;
+	}
+
+	return 0;
+}
+
+static void xe_irq_msi_free(struct xe_device *xe)
 {
-	struct xe_device *xe = arg;
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
 	int irq;
 
+	irq = pci_irq_vector(pdev, 0);
+	free_irq(irq, xe);
+}
+
+static void irq_uninstall(void *arg)
+{
+	struct xe_device *xe = arg;
+
 	if (!atomic_xchg(&xe->irq.enabled, 0))
 		return;
 
 	xe_irq_reset(xe);
 
-	irq = pci_irq_vector(pdev, 0);
-	free_irq(irq, xe);
+	if (xe_device_has_msix(xe))
+		xe_irq_msix_free(xe);
+	else
+		xe_irq_msi_free(xe);
+}
+
+int xe_irq_init(struct xe_device *xe)
+{
+	spin_lock_init(&xe->irq.lock);
+
+	return xe_irq_msix_init(xe);
 }
 
 int xe_irq_install(struct xe_device *xe)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
-	unsigned int irq_flags = PCI_IRQ_MSIX;
-	irq_handler_t irq_handler;
-	int err, irq, nvec;
-
-	irq_handler = xe_irq_handler(xe);
-	if (!irq_handler) {
-		drm_err(&xe->drm, "No supported interrupt handler");
-		return -EINVAL;
-	}
+	unsigned int irq_flags = PCI_IRQ_MSI;
+	int nvec = 1;
+	int err;
 
 	xe_irq_reset(xe);
 
-	nvec = pci_msix_vec_count(pdev);
-	if (nvec <= 0) {
-		if (nvec == -EINVAL) {
-			/* MSIX capability is not supported in the device, using MSI */
-			irq_flags = PCI_IRQ_MSI;
-			nvec = 1;
-		} else {
-			drm_err(&xe->drm, "MSIX: Failed getting count\n");
-			return nvec;
-		}
+	if (xe_device_has_msix(xe)) {
+		nvec = xe->irq.msix.nvec;
+		irq_flags = PCI_IRQ_MSIX;
 	}
 
 	err = pci_alloc_irq_vectors(pdev, nvec, nvec, irq_flags);
 	if (err < 0) {
-		drm_err(&xe->drm, "MSI/MSIX: Failed to enable support %d\n", err);
+		drm_err(&xe->drm, "Failed to allocate IRQ vectors: %d\n", err);
 		return err;
 	}
 
-	irq = pci_irq_vector(pdev, 0);
-	err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
-	if (err < 0) {
-		drm_err(&xe->drm, "Failed to request MSI/MSIX IRQ %d\n", err);
+	err = xe_device_has_msix(xe) ? xe_irq_msix_request_irqs(xe) :
+					xe_irq_msi_request_irqs(xe);
+	if (err)
 		return err;
-	}
 
 	atomic_set(&xe->irq.enabled, 1);
 
@@ -722,18 +764,28 @@ int xe_irq_install(struct xe_device *xe)
 	return 0;
 
 free_irq_handler:
-	free_irq(irq, xe);
+	if (xe_device_has_msix(xe))
+		xe_irq_msix_free(xe);
+	else
+		xe_irq_msi_free(xe);
 
 	return err;
 }
 
-void xe_irq_suspend(struct xe_device *xe)
+static void xe_irq_msi_synchronize_irq(struct xe_device *xe)
 {
-	int irq = to_pci_dev(xe->drm.dev)->irq;
+	synchronize_irq(to_pci_dev(xe->drm.dev)->irq);
+}
 
+void xe_irq_suspend(struct xe_device *xe)
+{
 	atomic_set(&xe->irq.enabled, 0); /* no new irqs */
 
-	synchronize_irq(irq); /* flush irqs */
+	/* flush irqs */
+	if (xe_device_has_msix(xe))
+		xe_irq_msix_synchronize_irq(xe);
+	else
+		xe_irq_msi_synchronize_irq(xe);
 	xe_irq_reset(xe); /* turn irqs off */
 }
 
@@ -754,3 +806,142 @@ void xe_irq_resume(struct xe_device *xe)
 	for_each_gt(gt, xe, id)
 		xe_irq_enable_hwe(gt);
 }
+
+/* MSI-X related definitions and functions below. */
+
+enum xe_irq_msix_static {
+	GUC2HOST_MSIX = 0,
+	DEFAULT_MSIX = XE_IRQ_DEFAULT_MSIX,
+	/* Must be last */
+	NUM_OF_STATIC_MSIX,
+};
+
+static int xe_irq_msix_init(struct xe_device *xe)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int nvec = pci_msix_vec_count(pdev);
+
+	if (nvec == -EINVAL)
+		return 0;  /* MSI */
+
+	if (nvec < 0) {
+		drm_err(&xe->drm, "Failed getting MSI-X vectors count: %d\n", nvec);
+		return nvec;
+	}
+
+	xe->irq.msix.nvec = nvec;
+	return 0;
+}
+
+static irqreturn_t guc2host_irq_handler(int irq, void *arg)
+{
+	struct xe_device *xe = arg;
+	struct xe_tile *tile;
+	u8 id;
+
+	if (!atomic_read(&xe->irq.enabled))
+		return IRQ_NONE;
+
+	for_each_tile(tile, xe, id)
+		xe_guc_irq_handler(&tile->primary_gt->uc.guc,
+				   GUC_INTR_GUC2HOST);
+
+	return IRQ_HANDLED;
+}
+
+static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
+{
+	unsigned int tile_id, gt_id;
+	struct xe_device *xe = arg;
+	struct xe_memirq *memirq;
+	struct xe_hw_engine *hwe;
+	enum xe_hw_engine_id id;
+	struct xe_tile *tile;
+	struct xe_gt *gt;
+
+	if (!atomic_read(&xe->irq.enabled))
+		return IRQ_NONE;
+
+	for_each_tile(tile, xe, tile_id) {
+		memirq = &tile->memirq;
+		if (!memirq->bo)
+			continue;
+
+		for_each_gt(gt, xe, gt_id) {
+			if (gt->tile != tile)
+				continue;
+
+			for_each_hw_engine(hwe, gt, id)
+				xe_memirq_hwe_handler(memirq, hwe);
+		}
+	}
+
+	return IRQ_HANDLED;
+}
+
+static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
+				   const char *name, u16 msix)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int ret, irq;
+
+	irq = pci_irq_vector(pdev, msix);
+	if (irq < 0)
+		return irq;
+
+	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
+	if (ret < 0)
+		return ret;
+
+	return 0;
+}
+
+static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int irq;
+
+	irq = pci_irq_vector(pdev, msix);
+	if (irq < 0) {
+		drm_err(&xe->drm, "MSI-X %u can't be released, there is no matching IRQ\n", msix);
+		return;
+	}
+
+	free_irq(irq, xe);
+}
+
+static int xe_irq_msix_request_irqs(struct xe_device *xe)
+{
+	int err;
+
+	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
+				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
+	if (err) {
+		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
+		return err;
+	}
+
+	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
+				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
+	if (err) {
+		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
+		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
+		return err;
+	}
+
+	return 0;
+}
+
+static void xe_irq_msix_free(struct xe_device *xe)
+{
+	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
+	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
+}
+
+static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
+{
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+
+	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
+	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
+}
diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
index 067514e13675..24ff16111b96 100644
--- a/drivers/gpu/drm/xe/xe_irq.h
+++ b/drivers/gpu/drm/xe/xe_irq.h
@@ -6,10 +6,13 @@
 #ifndef _XE_IRQ_H_
 #define _XE_IRQ_H_
 
+#define XE_IRQ_DEFAULT_MSIX 1
+
 struct xe_device;
 struct xe_tile;
 struct xe_gt;
 
+int xe_irq_init(struct xe_device *xe);
 int xe_irq_install(struct xe_device *xe);
 void xe_irq_suspend(struct xe_device *xe);
 void xe_irq_resume(struct xe_device *xe);
-- 
2.43.2


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

* [PATCH v6 2/4] drm/xe: Initial MSI-X support for HW engines
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (14 preceding siblings ...)
  2024-12-13  7:25 ` [PATCH v6 1/4] drm/xe/irq: Separate MSI and MSI-X flows Ilia Levi
@ 2024-12-13  7:25 ` Ilia Levi
  2024-12-13  7:25 ` [PATCH v6 3/4] drm/xe/irq: Manage MSI-X interrupts allocation Ilia Levi
  2024-12-13  7:25 ` [PATCH v6 4/4] drm/xe/uapi: Support requesting unique MSI-X for exec queue Ilia Levi
  17 siblings, 0 replies; 28+ messages in thread
From: Ilia Levi @ 2024-12-13  7:25 UTC (permalink / raw)
  To: intel-xe; +Cc: ilia.levi, Piotr Piórkowski

- Configure the HW engines to work with MSI-X
- Program the LRC to use memirq infra (similar to VF)
- CS_INT_VEC field added to the LRC

Bspec: 60342, 72547

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_engine_regs.h |  3 +++
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h  |  3 +++
 drivers/gpu/drm/xe/xe_exec_queue.c       |  4 +++-
 drivers/gpu/drm/xe/xe_exec_queue_types.h |  2 ++
 drivers/gpu/drm/xe/xe_execlist.c         | 10 +++++++---
 drivers/gpu/drm/xe/xe_hw_engine.c        |  7 +++++--
 drivers/gpu/drm/xe/xe_lrc.c              | 24 ++++++++++++++++++++----
 drivers/gpu/drm/xe/xe_lrc.h              |  2 +-
 8 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/xe/regs/xe_engine_regs.h b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
index 7c78496e6213..d86219dedde2 100644
--- a/drivers/gpu/drm/xe/regs/xe_engine_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
@@ -83,6 +83,8 @@
 #define RING_IMR(base)				XE_REG((base) + 0xa8)
 #define RING_INT_STATUS_RPT_PTR(base)		XE_REG((base) + 0xac)
 
+#define CS_INT_VEC(base)			XE_REG((base) + 0x1b8)
+
 #define RING_EIR(base)				XE_REG((base) + 0xb0)
 #define RING_EMR(base)				XE_REG((base) + 0xb4)
 #define RING_ESR(base)				XE_REG((base) + 0xb8)
@@ -138,6 +140,7 @@
 
 #define RING_MODE(base)				XE_REG((base) + 0x29c)
 #define   GFX_DISABLE_LEGACY_MODE		REG_BIT(3)
+#define   GFX_MSIX_INTERRUPT_ENABLE		REG_BIT(13)
 
 #define RING_TIMESTAMP(base)			XE_REG((base) + 0x358)
 
diff --git a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
index 045dfd09db99..57944f90bbf6 100644
--- a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
+++ b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
@@ -25,6 +25,9 @@
 #define CTX_INT_SRC_REPORT_REG		(CTX_LRI_INT_REPORT_PTR + 3)
 #define CTX_INT_SRC_REPORT_PTR		(CTX_LRI_INT_REPORT_PTR + 4)
 
+#define CTX_CS_INT_VEC_REG		0x5a
+#define CTX_CS_INT_VEC_DATA		(CTX_CS_INT_VEC_REG + 1)
+
 #define INDIRECT_CTX_RING_HEAD		(0x02 + 1)
 #define INDIRECT_CTX_RING_TAIL		(0x04 + 1)
 #define INDIRECT_CTX_RING_START		(0x06 + 1)
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index aab9e561153d..9c94be571900 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -16,6 +16,7 @@
 #include "xe_hw_engine_class_sysfs.h"
 #include "xe_hw_engine_group.h"
 #include "xe_hw_fence.h"
+#include "xe_irq.h"
 #include "xe_lrc.h"
 #include "xe_macros.h"
 #include "xe_migrate.h"
@@ -68,6 +69,7 @@ static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe,
 	q->gt = gt;
 	q->class = hwe->class;
 	q->width = width;
+	q->msix_vec = XE_IRQ_DEFAULT_MSIX;
 	q->logical_mask = logical_mask;
 	q->fence_irq = &gt->fence_irq[hwe->class];
 	q->ring_ops = gt->ring_ops[hwe->class];
@@ -117,7 +119,7 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q)
 	}
 
 	for (i = 0; i < q->width; ++i) {
-		q->lrc[i] = xe_lrc_create(q->hwe, q->vm, SZ_16K);
+		q->lrc[i] = xe_lrc_create(q->hwe, q->vm, SZ_16K, q->msix_vec);
 		if (IS_ERR(q->lrc[i])) {
 			err = PTR_ERR(q->lrc[i]);
 			goto err_unlock;
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index 1158b6062a6c..eec8f9935a58 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -63,6 +63,8 @@ struct xe_exec_queue {
 	char name[MAX_FENCE_NAME_LEN];
 	/** @width: width (number BB submitted per exec) of this exec queue */
 	u16 width;
+	/** @msix_vec: MSI-X vector (for platforms that support it) */
+	u16 msix_vec;
 	/** @fence_irq: fence IRQ used to signal job completion */
 	struct xe_hw_fence_irq *fence_irq;
 
diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execlist.c
index a8c416a48812..5ef96deaa881 100644
--- a/drivers/gpu/drm/xe/xe_execlist.c
+++ b/drivers/gpu/drm/xe/xe_execlist.c
@@ -17,6 +17,7 @@
 #include "xe_exec_queue.h"
 #include "xe_gt.h"
 #include "xe_hw_fence.h"
+#include "xe_irq.h"
 #include "xe_lrc.h"
 #include "xe_macros.h"
 #include "xe_mmio.h"
@@ -47,6 +48,7 @@ static void __start_lrc(struct xe_hw_engine *hwe, struct xe_lrc *lrc,
 	struct xe_mmio *mmio = &gt->mmio;
 	struct xe_device *xe = gt_to_xe(gt);
 	u64 lrc_desc;
+	u32 ring_mode = _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE);
 
 	lrc_desc = xe_lrc_descriptor(lrc);
 
@@ -80,8 +82,10 @@ static void __start_lrc(struct xe_hw_engine *hwe, struct xe_lrc *lrc,
 	xe_mmio_write32(mmio, RING_HWS_PGA(hwe->mmio_base),
 			xe_bo_ggtt_addr(hwe->hwsp));
 	xe_mmio_read32(mmio, RING_HWS_PGA(hwe->mmio_base));
-	xe_mmio_write32(mmio, RING_MODE(hwe->mmio_base),
-			_MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE));
+
+	if (xe_device_has_msix(gt_to_xe(hwe->gt)))
+		ring_mode |= _MASKED_BIT_ENABLE(GFX_MSIX_INTERRUPT_ENABLE);
+	xe_mmio_write32(mmio, RING_MODE(hwe->mmio_base), ring_mode);
 
 	xe_mmio_write32(mmio, RING_EXECLIST_SQ_CONTENTS_LO(hwe->mmio_base),
 			lower_32_bits(lrc_desc));
@@ -265,7 +269,7 @@ struct xe_execlist_port *xe_execlist_port_create(struct xe_device *xe,
 
 	port->hwe = hwe;
 
-	port->lrc = xe_lrc_create(hwe, NULL, SZ_16K);
+	port->lrc = xe_lrc_create(hwe, NULL, SZ_16K, XE_IRQ_DEFAULT_MSIX);
 	if (IS_ERR(port->lrc)) {
 		err = PTR_ERR(port->lrc);
 		goto err;
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index b19366744148..4294aa600192 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -324,6 +324,7 @@ void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe)
 {
 	u32 ccs_mask =
 		xe_hw_engine_mask_per_class(hwe->gt, XE_ENGINE_CLASS_COMPUTE);
+	u32 ring_mode = _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE);
 
 	if (hwe->class == XE_ENGINE_CLASS_COMPUTE && ccs_mask)
 		xe_mmio_write32(&hwe->gt->mmio, RCU_MODE,
@@ -332,8 +333,10 @@ void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe)
 	xe_hw_engine_mmio_write32(hwe, RING_HWSTAM(0), ~0x0);
 	xe_hw_engine_mmio_write32(hwe, RING_HWS_PGA(0),
 				  xe_bo_ggtt_addr(hwe->hwsp));
-	xe_hw_engine_mmio_write32(hwe, RING_MODE(0),
-				  _MASKED_BIT_ENABLE(GFX_DISABLE_LEGACY_MODE));
+
+	if (xe_device_has_msix(gt_to_xe(hwe->gt)))
+		ring_mode |= _MASKED_BIT_ENABLE(GFX_MSIX_INTERRUPT_ENABLE);
+	xe_hw_engine_mmio_write32(hwe, RING_MODE(0), ring_mode);
 	xe_hw_engine_mmio_write32(hwe, RING_MI_MODE(0),
 				  _MASKED_BIT_DISABLE(STOP_RING));
 	xe_hw_engine_mmio_read32(hwe, RING_MI_MODE(0));
diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
index 22e58c6e2a35..bbb9ffbf6367 100644
--- a/drivers/gpu/drm/xe/xe_lrc.c
+++ b/drivers/gpu/drm/xe/xe_lrc.c
@@ -584,6 +584,7 @@ static void set_memory_based_intr(u32 *regs, struct xe_hw_engine *hwe)
 {
 	struct xe_memirq *memirq = &gt_to_tile(hwe->gt)->memirq;
 	struct xe_device *xe = gt_to_xe(hwe->gt);
+	u8 num_regs;
 
 	if (!xe_device_uses_memirq(xe))
 		return;
@@ -593,12 +594,18 @@ static void set_memory_based_intr(u32 *regs, struct xe_hw_engine *hwe)
 	regs[CTX_INT_MASK_ENABLE_REG] = RING_IMR(0).addr;
 	regs[CTX_INT_MASK_ENABLE_PTR] = xe_memirq_enable_ptr(memirq);
 
-	regs[CTX_LRI_INT_REPORT_PTR] = MI_LOAD_REGISTER_IMM | MI_LRI_NUM_REGS(2) |
+	num_regs = xe_device_has_msix(xe) ? 3 : 2;
+	regs[CTX_LRI_INT_REPORT_PTR] = MI_LOAD_REGISTER_IMM | MI_LRI_NUM_REGS(num_regs) |
 				       MI_LRI_LRM_CS_MMIO | MI_LRI_FORCE_POSTED;
 	regs[CTX_INT_STATUS_REPORT_REG] = RING_INT_STATUS_RPT_PTR(0).addr;
 	regs[CTX_INT_STATUS_REPORT_PTR] = xe_memirq_status_ptr(memirq, hwe);
 	regs[CTX_INT_SRC_REPORT_REG] = RING_INT_SRC_RPT_PTR(0).addr;
 	regs[CTX_INT_SRC_REPORT_PTR] = xe_memirq_source_ptr(memirq, hwe);
+
+	if (xe_device_has_msix(xe)) {
+		regs[CTX_CS_INT_VEC_REG] = CS_INT_VEC(0).addr;
+		/* CTX_CS_INT_VEC_DATA will be set in xe_lrc_init */
+	}
 }
 
 static int lrc_ring_mi_mode(struct xe_hw_engine *hwe)
@@ -876,7 +883,7 @@ static void xe_lrc_finish(struct xe_lrc *lrc)
 #define PVC_CTX_ACC_CTR_THOLD	(0x2a + 1)
 
 static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
-		       struct xe_vm *vm, u32 ring_size)
+		       struct xe_vm *vm, u32 ring_size, u16 msix_vec)
 {
 	struct xe_gt *gt = hwe->gt;
 	struct xe_tile *tile = gt_to_tile(gt);
@@ -945,6 +952,14 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 			xe_drm_client_add_bo(vm->xef->client, lrc->bo);
 	}
 
+	if (xe_device_has_msix(xe)) {
+		xe_lrc_write_ctx_reg(lrc, CTX_INT_STATUS_REPORT_PTR,
+				     xe_memirq_status_ptr(&tile->memirq, hwe));
+		xe_lrc_write_ctx_reg(lrc, CTX_INT_SRC_REPORT_PTR,
+				     xe_memirq_source_ptr(&tile->memirq, hwe));
+		xe_lrc_write_ctx_reg(lrc, CTX_CS_INT_VEC_DATA, msix_vec << 16 | msix_vec);
+	}
+
 	if (xe_gt_has_indirect_ring_state(gt)) {
 		xe_lrc_write_ctx_reg(lrc, CTX_INDIRECT_RING_STATE,
 				     __xe_lrc_indirect_ring_ggtt_addr(lrc));
@@ -1005,6 +1020,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
  * @hwe: Hardware Engine
  * @vm: The VM (address space)
  * @ring_size: LRC ring size
+ * @msix_vec: MSI-X interrupt vector (for platforms that support it)
  *
  * Allocate and initialize the Logical Ring Context (LRC).
  *
@@ -1012,7 +1028,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
  * upon failure.
  */
 struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
-			     u32 ring_size)
+			     u32 ring_size, u16 msix_vec)
 {
 	struct xe_lrc *lrc;
 	int err;
@@ -1021,7 +1037,7 @@ struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
 	if (!lrc)
 		return ERR_PTR(-ENOMEM);
 
-	err = xe_lrc_init(lrc, hwe, vm, ring_size);
+	err = xe_lrc_init(lrc, hwe, vm, ring_size, msix_vec);
 	if (err) {
 		kfree(lrc);
 		return ERR_PTR(err);
diff --git a/drivers/gpu/drm/xe/xe_lrc.h b/drivers/gpu/drm/xe/xe_lrc.h
index b459dcab8787..4206e6a8b50a 100644
--- a/drivers/gpu/drm/xe/xe_lrc.h
+++ b/drivers/gpu/drm/xe/xe_lrc.h
@@ -42,7 +42,7 @@ struct xe_lrc_snapshot {
 #define LRC_PPHWSP_SCRATCH_ADDR (0x34 * 4)
 
 struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm,
-			     u32 ring_size);
+			     u32 ring_size, u16 msix_vec);
 void xe_lrc_destroy(struct kref *ref);
 
 /**
-- 
2.43.2


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

* [PATCH v6 3/4] drm/xe/irq: Manage MSI-X interrupts allocation
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (15 preceding siblings ...)
  2024-12-13  7:25 ` [PATCH v6 2/4] drm/xe: Initial MSI-X support for HW engines Ilia Levi
@ 2024-12-13  7:25 ` Ilia Levi
  2024-12-13  7:25 ` [PATCH v6 4/4] drm/xe/uapi: Support requesting unique MSI-X for exec queue Ilia Levi
  17 siblings, 0 replies; 28+ messages in thread
From: Ilia Levi @ 2024-12-13  7:25 UTC (permalink / raw)
  To: intel-xe; +Cc: ilia.levi, Piotr Piórkowski

Expose functions to request and free MSI-X interrupts.

The request has two flavors:
- Static MSI-X allocation, for known MSI-X interrupts (e.g. GuC-to-host)
- Dynamic MSI-X allocation, which uses the next available MSI-X interrupt

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
 drivers/gpu/drm/xe/xe_device_types.h |  2 +
 drivers/gpu/drm/xe/xe_irq.c          | 96 ++++++++++++++++++++++------
 drivers/gpu/drm/xe/xe_irq.h          |  5 ++
 3 files changed, 83 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 7b90df4e0021..8a7b15972413 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -353,6 +353,8 @@ struct xe_device {
 		struct {
 			/** @irq.msix.nvec: number of MSI-X interrupts */
 			u16 nvec;
+			/** @irq.msix.indexes: used to allocate MSI-X indexes */
+			struct xarray indexes;
 		} msix;
 	} irq;
 
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index b8a0b9bbf24c..32f5a67a917b 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -830,6 +830,7 @@ static int xe_irq_msix_init(struct xe_device *xe)
 	}
 
 	xe->irq.msix.nvec = nvec;
+	xa_init_flags(&xe->irq.msix.indexes, XA_FLAGS_ALLOC);
 	return 0;
 }
 
@@ -879,8 +880,32 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
 	return IRQ_HANDLED;
 }
 
-static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
-				   const char *name, u16 msix)
+static int xe_irq_msix_alloc_vector(struct xe_device *xe, void *irq_buf,
+				    bool dynamic_msix, u16 *msix)
+{
+	struct xa_limit limit;
+	int ret;
+	u32 id;
+
+	limit = (dynamic_msix) ? XA_LIMIT(NUM_OF_STATIC_MSIX, xe->irq.msix.nvec - 1) :
+				 XA_LIMIT(*msix, *msix);
+	ret = xa_alloc(&xe->irq.msix.indexes, &id, irq_buf, limit, GFP_KERNEL);
+	if (ret)
+		return ret;
+
+	if (dynamic_msix)
+		*msix = id;
+
+	return 0;
+}
+
+static void xe_irq_msix_release_vector(struct xe_device *xe, u16 msix)
+{
+	xa_erase(&xe->irq.msix.indexes, msix);
+}
+
+static int xe_irq_msix_request_irq_internal(struct xe_device *xe, irq_handler_t handler,
+					    void *irq_buf, const char *name, u16 msix)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
 	int ret, irq;
@@ -889,17 +914,41 @@ static int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler,
 	if (irq < 0)
 		return irq;
 
-	ret = request_irq(irq, handler, IRQF_SHARED, name, xe);
+	ret = request_irq(irq, handler, IRQF_SHARED, name, irq_buf);
 	if (ret < 0)
 		return ret;
 
 	return 0;
 }
 
-static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
+int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
+			    const char *name, bool dynamic_msix, u16 *msix)
+{
+	int ret;
+
+	ret = xe_irq_msix_alloc_vector(xe, irq_buf, dynamic_msix, msix);
+	if (ret)
+		return ret;
+
+	ret = xe_irq_msix_request_irq_internal(xe, handler, irq_buf, name, *msix);
+	if (ret) {
+		drm_err(&xe->drm, "Failed to request IRQ for MSI-X %u\n", *msix);
+		xe_irq_msix_release_vector(xe, *msix);
+		return ret;
+	}
+
+	return 0;
+}
+
+void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
 	int irq;
+	void *irq_buf;
+
+	irq_buf = xa_load(&xe->irq.msix.indexes, msix);
+	if (!irq_buf)
+		return;
 
 	irq = pci_irq_vector(pdev, msix);
 	if (irq < 0) {
@@ -907,24 +956,25 @@ static void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
 		return;
 	}
 
-	free_irq(irq, xe);
+	free_irq(irq, irq_buf);
+	xe_irq_msix_release_vector(xe, msix);
 }
 
-static int xe_irq_msix_request_irqs(struct xe_device *xe)
+int xe_irq_msix_request_irqs(struct xe_device *xe)
 {
 	int err;
+	u16 msix;
 
-	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler,
-				      DRIVER_NAME "-guc2host", GUC2HOST_MSIX);
-	if (err) {
-		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", GUC2HOST_MSIX, err);
+	msix = GUC2HOST_MSIX;
+	err = xe_irq_msix_request_irq(xe, guc2host_irq_handler, xe,
+				      DRIVER_NAME "-guc2host", false, &msix);
+	if (err)
 		return err;
-	}
 
-	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler,
-				      DRIVER_NAME "-default-msix", DEFAULT_MSIX);
+	msix = DEFAULT_MSIX;
+	err = xe_irq_msix_request_irq(xe, xe_irq_msix_default_hwe_handler, xe,
+				      DRIVER_NAME "-default-msix", false, &msix);
 	if (err) {
-		drm_err(&xe->drm, "Failed to request MSI-X IRQ %d: %d\n", DEFAULT_MSIX, err);
 		xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
 		return err;
 	}
@@ -932,16 +982,22 @@ static int xe_irq_msix_request_irqs(struct xe_device *xe)
 	return 0;
 }
 
-static void xe_irq_msix_free(struct xe_device *xe)
+void xe_irq_msix_free(struct xe_device *xe)
 {
-	xe_irq_msix_free_irq(xe, GUC2HOST_MSIX);
-	xe_irq_msix_free_irq(xe, DEFAULT_MSIX);
+	unsigned long msix;
+	u32 *dummy;
+
+	xa_for_each(&xe->irq.msix.indexes, msix, dummy)
+		xe_irq_msix_free_irq(xe, msix);
+	xa_destroy(&xe->irq.msix.indexes);
 }
 
-static void xe_irq_msix_synchronize_irq(struct xe_device *xe)
+void xe_irq_msix_synchronize_irq(struct xe_device *xe)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	unsigned long msix;
+	u32 *dummy;
 
-	synchronize_irq(pci_irq_vector(pdev, GUC2HOST_MSIX));
-	synchronize_irq(pci_irq_vector(pdev, DEFAULT_MSIX));
+	xa_for_each(&xe->irq.msix.indexes, msix, dummy)
+		synchronize_irq(pci_irq_vector(pdev, msix));
 }
diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
index 24ff16111b96..a28bd577ba52 100644
--- a/drivers/gpu/drm/xe/xe_irq.h
+++ b/drivers/gpu/drm/xe/xe_irq.h
@@ -6,6 +6,8 @@
 #ifndef _XE_IRQ_H_
 #define _XE_IRQ_H_
 
+#include <linux/interrupt.h>
+
 #define XE_IRQ_DEFAULT_MSIX 1
 
 struct xe_device;
@@ -17,5 +19,8 @@ int xe_irq_install(struct xe_device *xe);
 void xe_irq_suspend(struct xe_device *xe);
 void xe_irq_resume(struct xe_device *xe);
 void xe_irq_enable_hwe(struct xe_gt *gt);
+int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
+			    const char *name, bool dynamic_msix, u16 *msix);
+void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
 
 #endif
-- 
2.43.2


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

* [PATCH v6 4/4] drm/xe/uapi: Support requesting unique MSI-X for exec queue
  2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
                   ` (16 preceding siblings ...)
  2024-12-13  7:25 ` [PATCH v6 3/4] drm/xe/irq: Manage MSI-X interrupts allocation Ilia Levi
@ 2024-12-13  7:25 ` Ilia Levi
  17 siblings, 0 replies; 28+ messages in thread
From: Ilia Levi @ 2024-12-13  7:25 UTC (permalink / raw)
  To: intel-xe; +Cc: ilia.levi, Dani Liberman, Piotr Piórkowski

From: Dani Liberman <dliberman@habana.ai>

Unique MSI-X per exec queue will improve the performance of the
IRQ handler. In case no MSI-X is available, the uAPI will return
-EBUSY error and the user would be able to execute the uAPI again
without the flag (fallback to default MSI-X).

Co-developed-by: Ilia Levi <ilia.levi@intel.com>
Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Signed-off-by: Dani Liberman <dliberman@habana.ai>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
 drivers/gpu/drm/xe/xe_exec_queue.c       | 57 +++++++++++++++++++++---
 drivers/gpu/drm/xe/xe_exec_queue_types.h |  2 +
 drivers/gpu/drm/xe/xe_irq.c              | 18 ++++++++
 drivers/gpu/drm/xe/xe_irq.h              |  1 +
 include/uapi/drm/xe_drm.h                |  8 +++-
 5 files changed, 80 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 9c94be571900..35ef75f9919f 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -12,6 +12,7 @@
 #include <uapi/drm/xe_drm.h>
 
 #include "xe_device.h"
+#include "xe_drv.h"
 #include "xe_gt.h"
 #include "xe_hw_engine_class_sysfs.h"
 #include "xe_hw_engine_group.h"
@@ -35,8 +36,46 @@ enum xe_exec_queue_sched_prop {
 static int exec_queue_user_extensions(struct xe_device *xe, struct xe_exec_queue *q,
 				      u64 extensions, int ext_number);
 
+static int xe_exec_queue_msix_init(struct xe_device *xe, struct xe_exec_queue *q, bool unique_msix)
+{
+	u16 msix;
+	int err;
+
+	if (!xe_device_has_msix(xe))
+		return 0;
+
+	if (!unique_msix) {
+		q->msix_vec = XE_IRQ_DEFAULT_MSIX;
+		return 0;
+	}
+
+	err = xe_irq_msix_request_irq(xe, xe_irq_msix_hwe_handler, q,
+				      DRIVER_NAME "-exec-queue", true, &msix);
+	if (err < 0) {
+		drm_dbg(&xe->drm, "Can't allocate unique MSI-X to exec queue (%d)\n", err);
+		return err;
+	}
+
+	q->msix_vec = msix;
+
+	return 0;
+}
+
+static void xe_exec_queue_msix_fini(struct xe_exec_queue *q)
+{
+	struct xe_device *xe = gt_to_xe(q->gt);
+
+	if (!xe_device_has_msix(xe))
+		return;
+
+	if (q->msix_vec && q->msix_vec != XE_IRQ_DEFAULT_MSIX)
+		xe_irq_msix_free_irq(xe, q->msix_vec);
+}
+
 static void __xe_exec_queue_free(struct xe_exec_queue *q)
 {
+	xe_exec_queue_msix_fini(q);
+
 	if (q->vm)
 		xe_vm_put(q->vm);
 
@@ -69,7 +108,12 @@ static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe,
 	q->gt = gt;
 	q->class = hwe->class;
 	q->width = width;
-	q->msix_vec = XE_IRQ_DEFAULT_MSIX;
+	err = xe_exec_queue_msix_init(xe, q, flags & EXEC_QUEUE_FLAG_UNIQUE_MSIX);
+	if (err) {
+		kfree(q);
+		return ERR_PTR(err);
+	}
+
 	q->logical_mask = logical_mask;
 	q->fence_irq = &gt->fence_irq[hwe->class];
 	q->ring_ops = gt->ring_ops[hwe->class];
@@ -547,13 +591,13 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 	struct xe_gt *gt;
 	struct xe_tile *tile;
 	struct xe_exec_queue *q = NULL;
+	u32 flags = 0;
 	u32 logical_mask;
 	u32 id;
 	u32 len;
 	int err;
 
-	if (XE_IOCTL_DBG(xe, args->flags) ||
-	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
+	if (XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
 		return -EINVAL;
 
 	len = args->width * args->num_placements;
@@ -569,6 +613,9 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 	if (XE_IOCTL_DBG(xe, eci[0].gt_id >= xe->info.gt_count))
 		return -EINVAL;
 
+	if (args->flags & DRM_XE_EXEC_QUEUE_CREATE_FLAG_UNIQUE_INTERRUPT_HINT)
+		flags |= EXEC_QUEUE_FLAG_UNIQUE_MSIX;
+
 	if (eci[0].engine_class == DRM_XE_ENGINE_CLASS_VM_BIND) {
 		if (XE_IOCTL_DBG(xe, args->width != 1) ||
 		    XE_IOCTL_DBG(xe, args->num_placements != 1) ||
@@ -577,8 +624,8 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 
 		for_each_tile(tile, xe, id) {
 			struct xe_exec_queue *new;
-			u32 flags = EXEC_QUEUE_FLAG_VM;
 
+			flags |= EXEC_QUEUE_FLAG_VM;
 			if (id)
 				flags |= EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD;
 
@@ -625,7 +672,7 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 		}
 
 		q = xe_exec_queue_create(xe, vm, logical_mask,
-					 args->width, hwe, 0,
+					 args->width, hwe, flags,
 					 args->extensions);
 		up_read(&vm->lock);
 		xe_vm_put(vm);
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index eec8f9935a58..6e419b572000 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -85,6 +85,8 @@ struct xe_exec_queue {
 #define EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD	BIT(3)
 /* kernel exec_queue only, set priority to highest level */
 #define EXEC_QUEUE_FLAG_HIGH_PRIORITY		BIT(4)
+/* queue with unique msix interrupt */
+#define EXEC_QUEUE_FLAG_UNIQUE_MSIX		BIT(5)
 
 	/**
 	 * @flags: flags for this exec queue, should statically setup aside from ban
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 32f5a67a917b..52829771c89b 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -14,6 +14,7 @@
 #include "regs/xe_irq_regs.h"
 #include "xe_device.h"
 #include "xe_drv.h"
+#include "xe_exec_queue_types.h"
 #include "xe_gsc_proxy.h"
 #include "xe_gt.h"
 #include "xe_guc.h"
@@ -880,6 +881,23 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
 	return IRQ_HANDLED;
 }
 
+/*
+ * In MSI-X mode command streamers raise an interrupt only as a result of
+ * MI_USER_INTERRUPT and MI_FLUSH_DW_NOTIFY commands.
+ */
+irqreturn_t xe_irq_msix_hwe_handler(int irq, void *arg)
+{
+	struct xe_exec_queue *q = arg;
+	struct xe_tile *tile = gt_to_tile(q->hwe->gt);
+
+	if (!atomic_read(&tile->xe->irq.enabled))
+		return IRQ_NONE;
+
+	xe_memirq_hwe_handler(&tile->memirq, q->hwe);
+
+	return IRQ_HANDLED;
+}
+
 static int xe_irq_msix_alloc_vector(struct xe_device *xe, void *irq_buf,
 				    bool dynamic_msix, u16 *msix)
 {
diff --git a/drivers/gpu/drm/xe/xe_irq.h b/drivers/gpu/drm/xe/xe_irq.h
index a28bd577ba52..47058e2d9d36 100644
--- a/drivers/gpu/drm/xe/xe_irq.h
+++ b/drivers/gpu/drm/xe/xe_irq.h
@@ -19,6 +19,7 @@ int xe_irq_install(struct xe_device *xe);
 void xe_irq_suspend(struct xe_device *xe);
 void xe_irq_resume(struct xe_device *xe);
 void xe_irq_enable_hwe(struct xe_gt *gt);
+irqreturn_t xe_irq_msix_hwe_handler(int irq, void *arg);
 int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
 			    const char *name, bool dynamic_msix, u16 *msix);
 void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 0383b52cbd86..d5e824355a5b 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -1123,7 +1123,13 @@ struct drm_xe_exec_queue_create {
 	/** @vm_id: VM to use for this exec queue */
 	__u32 vm_id;
 
-	/** @flags: MBZ */
+	/*
+	 * When creating exec queue in MSIX platforms, the user can request a unique MSIX interrupt
+	 * for the irq handler. If there is no available MSIX, -EBUSY will be returned.
+	 */
+#define	DRM_XE_EXEC_QUEUE_CREATE_FLAG_UNIQUE_INTERRUPT_HINT (0x1 << 0)
+
+	/** @flags: create queue flags */
 	__u32 flags;
 
 	/** @exec_queue_id: Returned exec queue ID */
-- 
2.43.2


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

end of thread, other threads:[~2024-12-13  7:26 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-28 12:53 [PATCH v5 0/5] MSI-X support Ilia Levi
2024-11-28 12:53 ` [PATCH v5 1/5] drm/xe: Make irq enabled flag atomic Ilia Levi
2024-12-02 18:32   ` Piotr Piórkowski
2024-12-03 11:47     ` Levi, Ilia
2024-12-05 17:24       ` Rodrigo Vivi
2024-11-28 12:53 ` [PATCH v5 2/5] drm/xe/irq: Separate MSI and MSI-X flows Ilia Levi
2024-12-02 18:59   ` Piotr Piórkowski
2024-12-03  9:04     ` Levi, Ilia
2024-12-05  8:35       ` Piotr Piórkowski
2024-11-28 12:53 ` [PATCH v5 3/5] drm/xe: Initial MSI-X support for HW engines Ilia Levi
2024-12-02 19:15   ` Piotr Piórkowski
2024-11-28 12:53 ` [PATCH v5 4/5] drm/xe/irq: Manage MSI-X interrupts allocation Ilia Levi
2024-12-05  9:07   ` Piotr Piórkowski
2024-11-28 12:53 ` [PATCH v5 5/5] drm/xe/uapi: Support requesting unique MSI-X for exec queue Ilia Levi
2024-12-05  9:00   ` Piotr Piórkowski
2024-11-28 13:01 ` ✓ CI.Patch_applied: success for MSI-X support Patchwork
2024-11-28 13:01 ` ✓ CI.checkpatch: " Patchwork
2024-11-28 13:03 ` ✓ CI.KUnit: " Patchwork
2024-11-28 13:20 ` ✓ CI.Build: " Patchwork
2024-11-28 13:23 ` ✓ CI.Hooks: " Patchwork
2024-11-28 13:24 ` ✓ CI.checksparse: " Patchwork
2024-11-28 13:42 ` ✓ Xe.CI.BAT: " Patchwork
2024-11-28 15:39 ` ✗ Xe.CI.Full: failure " Patchwork
2024-12-13  7:25 ` [PATCH v6 0/4] " Ilia Levi
2024-12-13  7:25 ` [PATCH v6 1/4] drm/xe/irq: Separate MSI and MSI-X flows Ilia Levi
2024-12-13  7:25 ` [PATCH v6 2/4] drm/xe: Initial MSI-X support for HW engines Ilia Levi
2024-12-13  7:25 ` [PATCH v6 3/4] drm/xe/irq: Manage MSI-X interrupts allocation Ilia Levi
2024-12-13  7:25 ` [PATCH v6 4/4] drm/xe/uapi: Support requesting unique MSI-X for exec queue Ilia Levi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).