intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device
@ 2025-06-04  9:35 Thomas Hellström
  2025-06-04  9:35 ` [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap Thomas Hellström
                   ` (11 more replies)
  0 siblings, 12 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-04  9:35 UTC (permalink / raw)
  To: intel-xe
  Cc: Thomas Hellström, dri-devel, himal.prasad.ghimiray, apopple,
	airlied, Simona Vetter, felix.kuehling, Matthew Brost,
	Christian König, dakr, Mrozek, Michal, Joonas Lahtinen

This patchset modifies the migration part of drm_gpusvm to drm_pagemap and
adds a populate_mm() op to drm_pagemap.

The idea is that the device that receives a pagefault determines if it wants to
migrate content and to where. It then calls the populate_mm() method of relevant
drm_pagemap.

This functionality was mostly already in place, but hard-coded for xe only without
going through a pagemap op. Since we might be dealing with separate devices moving
forward, it also now becomes the responsibilit of the populate_mm() op to
grab any necessary local device runtime pm references and keep them held while
its pages are present in an mm (struct mm_struct).

On thing to decide here is whether the populate_mm() callback should sit on a
struct drm_pagemap for now while we sort multi-device usability out or whether
we should add it (or something equivalent) to struct dev_pagemap.

v2:
- Rebase.

Matthew Brost (1):
  drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap

Thomas Hellström (2):
  drm/pagemap: Add a populate_mm op
  drm/xe: Implement and use the drm_pagemap populate_mm op

 Documentation/gpu/rfc/gpusvm.rst     |  12 +-
 drivers/gpu/drm/Makefile             |   6 +-
 drivers/gpu/drm/drm_gpusvm.c         | 760 +-----------------------
 drivers/gpu/drm/drm_pagemap.c        | 846 +++++++++++++++++++++++++++
 drivers/gpu/drm/xe/Kconfig           |  10 +-
 drivers/gpu/drm/xe/xe_bo_types.h     |   2 +-
 drivers/gpu/drm/xe/xe_device_types.h |   2 +-
 drivers/gpu/drm/xe/xe_svm.c          | 129 ++--
 drivers/gpu/drm/xe/xe_svm.h          |  10 +-
 drivers/gpu/drm/xe/xe_tile.h         |  11 +
 drivers/gpu/drm/xe/xe_vm.c           |   2 +-
 include/drm/drm_gpusvm.h             |  96 ---
 include/drm/drm_pagemap.h            | 135 +++++
 13 files changed, 1107 insertions(+), 914 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_pagemap.c

-- 
2.49.0


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

* [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
@ 2025-06-04  9:35 ` Thomas Hellström
  2025-06-04 15:45   ` kernel test robot
  2025-06-05 22:44   ` Matthew Brost
  2025-06-04  9:35 ` [PATCH v2 2/3] drm/pagemap: Add a populate_mm op Thomas Hellström
                   ` (10 subsequent siblings)
  11 siblings, 2 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-04  9:35 UTC (permalink / raw)
  To: intel-xe
  Cc: Matthew Brost, Thomas Hellström, dri-devel,
	himal.prasad.ghimiray, apopple, airlied, Simona Vetter,
	felix.kuehling, Christian König, dakr, Mrozek, Michal,
	Joonas Lahtinen

From: Matthew Brost <matthew.brost@intel.com>

The migration functionality and track-keeping of per-pagemap VRAM
mapped to the CPU mm is not per GPU_vm, but rather per pagemap.
This is also reflected by the functions not needing the drm_gpusvm
structures. So move to drm_pagemap.

With this, drm_gpusvm shouldn't really access the page zone-device-data
since its meaning is internal to drm_pagemap. Currently it's used to
reject mapping ranges backed by multiple drm_pagemap allocations.
For now, make the zone-device-data a void pointer.

Rename CONFIG_DRM_XE_DEVMEM_MIRROR to CONFIG_DRM_XE_PAGEMAP.

Matt is listed as author of this commit since he wrote most of the code,
and it makes sense to retain his git authorship.
Thomas mostly moved the code around.

Co-developed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 Documentation/gpu/rfc/gpusvm.rst     |  12 +-
 drivers/gpu/drm/Makefile             |   6 +-
 drivers/gpu/drm/drm_gpusvm.c         | 759 +------------------------
 drivers/gpu/drm/drm_pagemap.c        | 811 +++++++++++++++++++++++++++
 drivers/gpu/drm/xe/Kconfig           |  10 +-
 drivers/gpu/drm/xe/xe_bo_types.h     |   2 +-
 drivers/gpu/drm/xe/xe_device_types.h |   2 +-
 drivers/gpu/drm/xe/xe_svm.c          |  49 +-
 include/drm/drm_gpusvm.h             |  96 ----
 include/drm/drm_pagemap.h            | 101 ++++
 10 files changed, 974 insertions(+), 874 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_pagemap.c

diff --git a/Documentation/gpu/rfc/gpusvm.rst b/Documentation/gpu/rfc/gpusvm.rst
index bcf66a8137a6..469db1372f16 100644
--- a/Documentation/gpu/rfc/gpusvm.rst
+++ b/Documentation/gpu/rfc/gpusvm.rst
@@ -73,15 +73,21 @@ Overview of baseline design
 .. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
    :doc: Locking
 
-.. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
-   :doc: Migration
-
 .. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
    :doc: Partial Unmapping of Ranges
 
 .. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
    :doc: Examples
 
+Overview of drm_pagemap design
+==============================
+
+.. kernel-doc:: drivers/gpu/drm/drm_pagemap.c
+   :doc: Overview
+
+.. kernel-doc:: drivers/gpu/drm/drm_pagemap.c
+   :doc: Migration
+
 Possible future design features
 ===============================
 
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 4199715670b1..f9cde5717f85 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -104,7 +104,11 @@ obj-$(CONFIG_DRM_PANEL_BACKLIGHT_QUIRKS) += drm_panel_backlight_quirks.o
 #
 obj-$(CONFIG_DRM_EXEC) += drm_exec.o
 obj-$(CONFIG_DRM_GPUVM) += drm_gpuvm.o
-obj-$(CONFIG_DRM_GPUSVM) += drm_gpusvm.o
+
+drm_gpusvm_helper-y := \
+	drm_gpusvm.o\
+	drm_pagemap.o
+obj-$(CONFIG_DRM_GPUSVM) += drm_gpusvm_helper.o
 
 obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o
 
diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
index 7ff81aa0a1ca..ef81381609de 100644
--- a/drivers/gpu/drm/drm_gpusvm.c
+++ b/drivers/gpu/drm/drm_gpusvm.c
@@ -8,10 +8,9 @@
 
 #include <linux/dma-mapping.h>
 #include <linux/hmm.h>
+#include <linux/hugetlb_inline.h>
 #include <linux/memremap.h>
-#include <linux/migrate.h>
 #include <linux/mm_types.h>
-#include <linux/pagemap.h>
 #include <linux/slab.h>
 
 #include <drm/drm_device.h>
@@ -107,21 +106,6 @@
  * to add annotations to GPU SVM.
  */
 
-/**
- * DOC: Migration
- *
- * The migration support is quite simple, allowing migration between RAM and
- * device memory at the range granularity. For example, GPU SVM currently does
- * not support mixing RAM and device memory pages within a range. This means
- * that upon GPU fault, the entire range can be migrated to device memory, and
- * upon CPU fault, the entire range is migrated to RAM. Mixed RAM and device
- * memory storage within a range could be added in the future if required.
- *
- * The reasoning for only supporting range granularity is as follows: it
- * simplifies the implementation, and range sizes are driver-defined and should
- * be relatively small.
- */
-
 /**
  * DOC: Partial Unmapping of Ranges
  *
@@ -193,10 +177,9 @@
  *		if (driver_migration_policy(range)) {
  *			mmap_read_lock(mm);
  *			devmem = driver_alloc_devmem();
- *			err = drm_gpusvm_migrate_to_devmem(gpusvm, range,
- *							   devmem_allocation,
- *							   &ctx);
- *			mmap_read_unlock(mm);
+ *			err = drm_pagemap_migrate_to_devmem(devmem, gpusvm->mm, gpuva_start,
+ *                                                          gpuva_end, driver_pgmap_owner());
+ *                      mmap_read_unlock(mm);
  *			if (err)	// CPU mappings may have changed
  *				goto retry;
  *		}
@@ -288,97 +271,6 @@ npages_in_range(unsigned long start, unsigned long end)
 	return (end - start) >> PAGE_SHIFT;
 }
 
-/**
- * struct drm_gpusvm_zdd - GPU SVM zone device data
- *
- * @refcount: Reference count for the zdd
- * @devmem_allocation: device memory allocation
- * @device_private_page_owner: Device private pages owner
- *
- * This structure serves as a generic wrapper installed in
- * page->zone_device_data. It provides infrastructure for looking up a device
- * memory allocation upon CPU page fault and asynchronously releasing device
- * memory once the CPU has no page references. Asynchronous release is useful
- * because CPU page references can be dropped in IRQ contexts, while releasing
- * device memory likely requires sleeping locks.
- */
-struct drm_gpusvm_zdd {
-	struct kref refcount;
-	struct drm_gpusvm_devmem *devmem_allocation;
-	void *device_private_page_owner;
-};
-
-/**
- * drm_gpusvm_zdd_alloc() - Allocate a zdd structure.
- * @device_private_page_owner: Device private pages owner
- *
- * This function allocates and initializes a new zdd structure. It sets up the
- * reference count and initializes the destroy work.
- *
- * Return: Pointer to the allocated zdd on success, ERR_PTR() on failure.
- */
-static struct drm_gpusvm_zdd *
-drm_gpusvm_zdd_alloc(void *device_private_page_owner)
-{
-	struct drm_gpusvm_zdd *zdd;
-
-	zdd = kmalloc(sizeof(*zdd), GFP_KERNEL);
-	if (!zdd)
-		return NULL;
-
-	kref_init(&zdd->refcount);
-	zdd->devmem_allocation = NULL;
-	zdd->device_private_page_owner = device_private_page_owner;
-
-	return zdd;
-}
-
-/**
- * drm_gpusvm_zdd_get() - Get a reference to a zdd structure.
- * @zdd: Pointer to the zdd structure.
- *
- * This function increments the reference count of the provided zdd structure.
- *
- * Return: Pointer to the zdd structure.
- */
-static struct drm_gpusvm_zdd *drm_gpusvm_zdd_get(struct drm_gpusvm_zdd *zdd)
-{
-	kref_get(&zdd->refcount);
-	return zdd;
-}
-
-/**
- * drm_gpusvm_zdd_destroy() - Destroy a zdd structure.
- * @ref: Pointer to the reference count structure.
- *
- * This function queues the destroy_work of the zdd for asynchronous destruction.
- */
-static void drm_gpusvm_zdd_destroy(struct kref *ref)
-{
-	struct drm_gpusvm_zdd *zdd =
-		container_of(ref, struct drm_gpusvm_zdd, refcount);
-	struct drm_gpusvm_devmem *devmem = zdd->devmem_allocation;
-
-	if (devmem) {
-		complete_all(&devmem->detached);
-		if (devmem->ops->devmem_release)
-			devmem->ops->devmem_release(devmem);
-	}
-	kfree(zdd);
-}
-
-/**
- * drm_gpusvm_zdd_put() - Put a zdd reference.
- * @zdd: Pointer to the zdd structure.
- *
- * This function decrements the reference count of the provided zdd structure
- * and schedules its destruction if the count drops to zero.
- */
-static void drm_gpusvm_zdd_put(struct drm_gpusvm_zdd *zdd)
-{
-	kref_put(&zdd->refcount, drm_gpusvm_zdd_destroy);
-}
-
 /**
  * drm_gpusvm_range_find() - Find GPU SVM range from GPU SVM notifier
  * @notifier: Pointer to the GPU SVM notifier structure.
@@ -945,7 +837,7 @@ drm_gpusvm_range_chunk_size(struct drm_gpusvm *gpusvm,
 		 * process-many-malloc' fails. In the failure case, each process
 		 * mallocs 16k but the CPU VMA is ~128k which results in 64k SVM
 		 * ranges. When migrating the SVM ranges, some processes fail in
-		 * drm_gpusvm_migrate_to_devmem with 'migrate.cpages != npages'
+		 * drm_pagemap_migrate_to_devmem with 'migrate.cpages != npages'
 		 * and then upon drm_gpusvm_range_get_pages device pages from
 		 * other processes are collected + faulted in which creates all
 		 * sorts of problems. Unsure exactly how this happening, also
@@ -1363,7 +1255,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
 		.dev_private_owner = gpusvm->device_private_page_owner,
 	};
 	struct mm_struct *mm = gpusvm->mm;
-	struct drm_gpusvm_zdd *zdd;
+	void *zdd;
 	unsigned long timeout =
 		jiffies + msecs_to_jiffies(HMM_RANGE_DEFAULT_TIMEOUT);
 	unsigned long i, j;
@@ -1465,7 +1357,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
 				}
 
 				pagemap = page_pgmap(page);
-				dpagemap = zdd->devmem_allocation->dpagemap;
+				dpagemap = drm_pagemap_page_to_dpagemap(page);
 				if (drm_WARN_ON(gpusvm->drm, !dpagemap)) {
 					/*
 					 * Raced. This is not supposed to happen
@@ -1489,7 +1381,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
 		} else {
 			dma_addr_t addr;
 
-			if (is_zone_device_page(page) || zdd) {
+			if (is_zone_device_page(page) || pagemap) {
 				err = -EOPNOTSUPP;
 				goto err_unmap;
 			}
@@ -1517,7 +1409,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
 		flags.has_dma_mapping = true;
 	}
 
-	if (zdd) {
+	if (pagemap) {
 		flags.has_devmem_pages = true;
 		range->dpagemap = dpagemap;
 	}
@@ -1545,6 +1437,7 @@ EXPORT_SYMBOL_GPL(drm_gpusvm_range_get_pages);
 
 /**
  * drm_gpusvm_range_unmap_pages() - Unmap pages associated with a GPU SVM range
+ * drm_gpusvm_range_evict() - Evict GPU SVM range
  * @gpusvm: Pointer to the GPU SVM structure
  * @range: Pointer to the GPU SVM range structure
  * @ctx: GPU SVM context
@@ -1575,562 +1468,11 @@ void drm_gpusvm_range_unmap_pages(struct drm_gpusvm *gpusvm,
 EXPORT_SYMBOL_GPL(drm_gpusvm_range_unmap_pages);
 
 /**
- * drm_gpusvm_migration_unlock_put_page() - Put a migration page
- * @page: Pointer to the page to put
- *
- * This function unlocks and puts a page.
- */
-static void drm_gpusvm_migration_unlock_put_page(struct page *page)
-{
-	unlock_page(page);
-	put_page(page);
-}
-
-/**
- * drm_gpusvm_migration_unlock_put_pages() - Put migration pages
- * @npages: Number of pages
- * @migrate_pfn: Array of migrate page frame numbers
- *
- * This function unlocks and puts an array of pages.
- */
-static void drm_gpusvm_migration_unlock_put_pages(unsigned long npages,
-						  unsigned long *migrate_pfn)
-{
-	unsigned long i;
-
-	for (i = 0; i < npages; ++i) {
-		struct page *page;
-
-		if (!migrate_pfn[i])
-			continue;
-
-		page = migrate_pfn_to_page(migrate_pfn[i]);
-		drm_gpusvm_migration_unlock_put_page(page);
-		migrate_pfn[i] = 0;
-	}
-}
-
-/**
- * drm_gpusvm_get_devmem_page() - Get a reference to a device memory page
- * @page: Pointer to the page
- * @zdd: Pointer to the GPU SVM zone device data
- *
- * This function associates the given page with the specified GPU SVM zone
- * device data and initializes it for zone device usage.
- */
-static void drm_gpusvm_get_devmem_page(struct page *page,
-				       struct drm_gpusvm_zdd *zdd)
-{
-	page->zone_device_data = drm_gpusvm_zdd_get(zdd);
-	zone_device_page_init(page);
-}
-
-/**
- * drm_gpusvm_migrate_map_pages() - Map migration pages for GPU SVM migration
- * @dev: The device for which the pages are being mapped
- * @dma_addr: Array to store DMA addresses corresponding to mapped pages
- * @migrate_pfn: Array of migrate page frame numbers to map
- * @npages: Number of pages to map
- * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
- *
- * This function maps pages of memory for migration usage in GPU SVM. It
- * iterates over each page frame number provided in @migrate_pfn, maps the
- * corresponding page, and stores the DMA address in the provided @dma_addr
- * array.
- *
- * Return: 0 on success, -EFAULT if an error occurs during mapping.
- */
-static int drm_gpusvm_migrate_map_pages(struct device *dev,
-					dma_addr_t *dma_addr,
-					unsigned long *migrate_pfn,
-					unsigned long npages,
-					enum dma_data_direction dir)
-{
-	unsigned long i;
-
-	for (i = 0; i < npages; ++i) {
-		struct page *page = migrate_pfn_to_page(migrate_pfn[i]);
-
-		if (!page)
-			continue;
-
-		if (WARN_ON_ONCE(is_zone_device_page(page)))
-			return -EFAULT;
-
-		dma_addr[i] = dma_map_page(dev, page, 0, PAGE_SIZE, dir);
-		if (dma_mapping_error(dev, dma_addr[i]))
-			return -EFAULT;
-	}
-
-	return 0;
-}
-
-/**
- * drm_gpusvm_migrate_unmap_pages() - Unmap pages previously mapped for GPU SVM migration
- * @dev: The device for which the pages were mapped
- * @dma_addr: Array of DMA addresses corresponding to mapped pages
- * @npages: Number of pages to unmap
- * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
- *
- * This function unmaps previously mapped pages of memory for GPU Shared Virtual
- * Memory (SVM). It iterates over each DMA address provided in @dma_addr, checks
- * if it's valid and not already unmapped, and unmaps the corresponding page.
- */
-static void drm_gpusvm_migrate_unmap_pages(struct device *dev,
-					   dma_addr_t *dma_addr,
-					   unsigned long npages,
-					   enum dma_data_direction dir)
-{
-	unsigned long i;
-
-	for (i = 0; i < npages; ++i) {
-		if (!dma_addr[i] || dma_mapping_error(dev, dma_addr[i]))
-			continue;
-
-		dma_unmap_page(dev, dma_addr[i], PAGE_SIZE, dir);
-	}
-}
-
-/**
- * drm_gpusvm_migrate_to_devmem() - Migrate GPU SVM range to device memory
+ * drm_gpusvm_range_evict() - Evict GPU SVM range
  * @gpusvm: Pointer to the GPU SVM structure
- * @range: Pointer to the GPU SVM range structure
- * @devmem_allocation: Pointer to the device memory allocation. The caller
- *                     should hold a reference to the device memory allocation,
- *                     which should be dropped via ops->devmem_release or upon
- *                     the failure of this function.
- * @ctx: GPU SVM context
- *
- * This function migrates the specified GPU SVM range to device memory. It
- * performs the necessary setup and invokes the driver-specific operations for
- * migration to device memory. Upon successful return, @devmem_allocation can
- * safely reference @range until ops->devmem_release is called which only upon
- * successful return. Expected to be called while holding the mmap lock in read
- * mode.
- *
- * Return: 0 on success, negative error code on failure.
- */
-int drm_gpusvm_migrate_to_devmem(struct drm_gpusvm *gpusvm,
-				 struct drm_gpusvm_range *range,
-				 struct drm_gpusvm_devmem *devmem_allocation,
-				 const struct drm_gpusvm_ctx *ctx)
-{
-	const struct drm_gpusvm_devmem_ops *ops = devmem_allocation->ops;
-	unsigned long start = drm_gpusvm_range_start(range),
-		      end = drm_gpusvm_range_end(range);
-	struct migrate_vma migrate = {
-		.start		= start,
-		.end		= end,
-		.pgmap_owner	= gpusvm->device_private_page_owner,
-		.flags		= MIGRATE_VMA_SELECT_SYSTEM,
-	};
-	struct mm_struct *mm = gpusvm->mm;
-	unsigned long i, npages = npages_in_range(start, end);
-	struct vm_area_struct *vas;
-	struct drm_gpusvm_zdd *zdd = NULL;
-	struct page **pages;
-	dma_addr_t *dma_addr;
-	void *buf;
-	int err;
-
-	mmap_assert_locked(gpusvm->mm);
-
-	if (!range->flags.migrate_devmem)
-		return -EINVAL;
-
-	if (!ops->populate_devmem_pfn || !ops->copy_to_devmem ||
-	    !ops->copy_to_ram)
-		return -EOPNOTSUPP;
-
-	vas = vma_lookup(mm, start);
-	if (!vas) {
-		err = -ENOENT;
-		goto err_out;
-	}
-
-	if (end > vas->vm_end || start < vas->vm_start) {
-		err = -EINVAL;
-		goto err_out;
-	}
-
-	if (!vma_is_anonymous(vas)) {
-		err = -EBUSY;
-		goto err_out;
-	}
-
-	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
-		       sizeof(*pages), GFP_KERNEL);
-	if (!buf) {
-		err = -ENOMEM;
-		goto err_out;
-	}
-	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
-	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
-
-	zdd = drm_gpusvm_zdd_alloc(gpusvm->device_private_page_owner);
-	if (!zdd) {
-		err = -ENOMEM;
-		goto err_free;
-	}
-
-	migrate.vma = vas;
-	migrate.src = buf;
-	migrate.dst = migrate.src + npages;
-
-	err = migrate_vma_setup(&migrate);
-	if (err)
-		goto err_free;
-
-	if (!migrate.cpages) {
-		err = -EFAULT;
-		goto err_free;
-	}
-
-	if (migrate.cpages != npages) {
-		err = -EBUSY;
-		goto err_finalize;
-	}
-
-	err = ops->populate_devmem_pfn(devmem_allocation, npages, migrate.dst);
-	if (err)
-		goto err_finalize;
-
-	err = drm_gpusvm_migrate_map_pages(devmem_allocation->dev, dma_addr,
-					   migrate.src, npages, DMA_TO_DEVICE);
-	if (err)
-		goto err_finalize;
-
-	for (i = 0; i < npages; ++i) {
-		struct page *page = pfn_to_page(migrate.dst[i]);
-
-		pages[i] = page;
-		migrate.dst[i] = migrate_pfn(migrate.dst[i]);
-		drm_gpusvm_get_devmem_page(page, zdd);
-	}
-
-	err = ops->copy_to_devmem(pages, dma_addr, npages);
-	if (err)
-		goto err_finalize;
-
-	/* Upon success bind devmem allocation to range and zdd */
-	devmem_allocation->timeslice_expiration = get_jiffies_64() +
-		msecs_to_jiffies(ctx->timeslice_ms);
-	zdd->devmem_allocation = devmem_allocation;	/* Owns ref */
-
-err_finalize:
-	if (err)
-		drm_gpusvm_migration_unlock_put_pages(npages, migrate.dst);
-	migrate_vma_pages(&migrate);
-	migrate_vma_finalize(&migrate);
-	drm_gpusvm_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
-				       DMA_TO_DEVICE);
-err_free:
-	if (zdd)
-		drm_gpusvm_zdd_put(zdd);
-	kvfree(buf);
-err_out:
-	return err;
-}
-EXPORT_SYMBOL_GPL(drm_gpusvm_migrate_to_devmem);
-
-/**
- * drm_gpusvm_migrate_populate_ram_pfn() - Populate RAM PFNs for a VM area
- * @vas: Pointer to the VM area structure, can be NULL
- * @fault_page: Fault page
- * @npages: Number of pages to populate
- * @mpages: Number of pages to migrate
- * @src_mpfn: Source array of migrate PFNs
- * @mpfn: Array of migrate PFNs to populate
- * @addr: Start address for PFN allocation
- *
- * This function populates the RAM migrate page frame numbers (PFNs) for the
- * specified VM area structure. It allocates and locks pages in the VM area for
- * RAM usage. If vas is non-NULL use alloc_page_vma for allocation, if NULL use
- * alloc_page for allocation.
- *
- * Return: 0 on success, negative error code on failure.
- */
-static int drm_gpusvm_migrate_populate_ram_pfn(struct vm_area_struct *vas,
-					       struct page *fault_page,
-					       unsigned long npages,
-					       unsigned long *mpages,
-					       unsigned long *src_mpfn,
-					       unsigned long *mpfn,
-					       unsigned long addr)
-{
-	unsigned long i;
-
-	for (i = 0; i < npages; ++i, addr += PAGE_SIZE) {
-		struct page *page, *src_page;
-
-		if (!(src_mpfn[i] & MIGRATE_PFN_MIGRATE))
-			continue;
-
-		src_page = migrate_pfn_to_page(src_mpfn[i]);
-		if (!src_page)
-			continue;
-
-		if (fault_page) {
-			if (src_page->zone_device_data !=
-			    fault_page->zone_device_data)
-				continue;
-		}
-
-		if (vas)
-			page = alloc_page_vma(GFP_HIGHUSER, vas, addr);
-		else
-			page = alloc_page(GFP_HIGHUSER);
-
-		if (!page)
-			goto free_pages;
-
-		mpfn[i] = migrate_pfn(page_to_pfn(page));
-	}
-
-	for (i = 0; i < npages; ++i) {
-		struct page *page = migrate_pfn_to_page(mpfn[i]);
-
-		if (!page)
-			continue;
-
-		WARN_ON_ONCE(!trylock_page(page));
-		++*mpages;
-	}
-
-	return 0;
-
-free_pages:
-	for (i = 0; i < npages; ++i) {
-		struct page *page = migrate_pfn_to_page(mpfn[i]);
-
-		if (!page)
-			continue;
-
-		put_page(page);
-		mpfn[i] = 0;
-	}
-	return -ENOMEM;
-}
-
-/**
- * drm_gpusvm_evict_to_ram() - Evict GPU SVM range to RAM
- * @devmem_allocation: Pointer to the device memory allocation
- *
- * Similar to __drm_gpusvm_migrate_to_ram but does not require mmap lock and
- * migration done via migrate_device_* functions.
- *
- * Return: 0 on success, negative error code on failure.
- */
-int drm_gpusvm_evict_to_ram(struct drm_gpusvm_devmem *devmem_allocation)
-{
-	const struct drm_gpusvm_devmem_ops *ops = devmem_allocation->ops;
-	unsigned long npages, mpages = 0;
-	struct page **pages;
-	unsigned long *src, *dst;
-	dma_addr_t *dma_addr;
-	void *buf;
-	int i, err = 0;
-	unsigned int retry_count = 2;
-
-	npages = devmem_allocation->size >> PAGE_SHIFT;
-
-retry:
-	if (!mmget_not_zero(devmem_allocation->mm))
-		return -EFAULT;
-
-	buf = kvcalloc(npages, 2 * sizeof(*src) + sizeof(*dma_addr) +
-		       sizeof(*pages), GFP_KERNEL);
-	if (!buf) {
-		err = -ENOMEM;
-		goto err_out;
-	}
-	src = buf;
-	dst = buf + (sizeof(*src) * npages);
-	dma_addr = buf + (2 * sizeof(*src) * npages);
-	pages = buf + (2 * sizeof(*src) + sizeof(*dma_addr)) * npages;
-
-	err = ops->populate_devmem_pfn(devmem_allocation, npages, src);
-	if (err)
-		goto err_free;
-
-	err = migrate_device_pfns(src, npages);
-	if (err)
-		goto err_free;
-
-	err = drm_gpusvm_migrate_populate_ram_pfn(NULL, NULL, npages, &mpages,
-						  src, dst, 0);
-	if (err || !mpages)
-		goto err_finalize;
-
-	err = drm_gpusvm_migrate_map_pages(devmem_allocation->dev, dma_addr,
-					   dst, npages, DMA_FROM_DEVICE);
-	if (err)
-		goto err_finalize;
-
-	for (i = 0; i < npages; ++i)
-		pages[i] = migrate_pfn_to_page(src[i]);
-
-	err = ops->copy_to_ram(pages, dma_addr, npages);
-	if (err)
-		goto err_finalize;
-
-err_finalize:
-	if (err)
-		drm_gpusvm_migration_unlock_put_pages(npages, dst);
-	migrate_device_pages(src, dst, npages);
-	migrate_device_finalize(src, dst, npages);
-	drm_gpusvm_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
-				       DMA_FROM_DEVICE);
-err_free:
-	kvfree(buf);
-err_out:
-	mmput_async(devmem_allocation->mm);
-
-	if (completion_done(&devmem_allocation->detached))
-		return 0;
-
-	if (retry_count--) {
-		cond_resched();
-		goto retry;
-	}
-
-	return err ?: -EBUSY;
-}
-EXPORT_SYMBOL_GPL(drm_gpusvm_evict_to_ram);
-
-/**
- * __drm_gpusvm_migrate_to_ram() - Migrate GPU SVM range to RAM (internal)
- * @vas: Pointer to the VM area structure
- * @device_private_page_owner: Device private pages owner
- * @page: Pointer to the page for fault handling (can be NULL)
- * @fault_addr: Fault address
- * @size: Size of migration
- *
- * This internal function performs the migration of the specified GPU SVM range
- * to RAM. It sets up the migration, populates + dma maps RAM PFNs, and
- * invokes the driver-specific operations for migration to RAM.
- *
- * Return: 0 on success, negative error code on failure.
- */
-static int __drm_gpusvm_migrate_to_ram(struct vm_area_struct *vas,
-				       void *device_private_page_owner,
-				       struct page *page,
-				       unsigned long fault_addr,
-				       unsigned long size)
-{
-	struct migrate_vma migrate = {
-		.vma		= vas,
-		.pgmap_owner	= device_private_page_owner,
-		.flags		= MIGRATE_VMA_SELECT_DEVICE_PRIVATE |
-			MIGRATE_VMA_SELECT_DEVICE_COHERENT,
-		.fault_page	= page,
-	};
-	struct drm_gpusvm_zdd *zdd;
-	const struct drm_gpusvm_devmem_ops *ops;
-	struct device *dev = NULL;
-	unsigned long npages, mpages = 0;
-	struct page **pages;
-	dma_addr_t *dma_addr;
-	unsigned long start, end;
-	void *buf;
-	int i, err = 0;
-
-	if (page) {
-		zdd = page->zone_device_data;
-		if (time_before64(get_jiffies_64(),
-				  zdd->devmem_allocation->timeslice_expiration))
-			return 0;
-	}
-
-	start = ALIGN_DOWN(fault_addr, size);
-	end = ALIGN(fault_addr + 1, size);
-
-	/* Corner where VMA area struct has been partially unmapped */
-	if (start < vas->vm_start)
-		start = vas->vm_start;
-	if (end > vas->vm_end)
-		end = vas->vm_end;
-
-	migrate.start = start;
-	migrate.end = end;
-	npages = npages_in_range(start, end);
-
-	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
-		       sizeof(*pages), GFP_KERNEL);
-	if (!buf) {
-		err = -ENOMEM;
-		goto err_out;
-	}
-	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
-	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
-
-	migrate.vma = vas;
-	migrate.src = buf;
-	migrate.dst = migrate.src + npages;
-
-	err = migrate_vma_setup(&migrate);
-	if (err)
-		goto err_free;
-
-	/* Raced with another CPU fault, nothing to do */
-	if (!migrate.cpages)
-		goto err_free;
-
-	if (!page) {
-		for (i = 0; i < npages; ++i) {
-			if (!(migrate.src[i] & MIGRATE_PFN_MIGRATE))
-				continue;
-
-			page = migrate_pfn_to_page(migrate.src[i]);
-			break;
-		}
-
-		if (!page)
-			goto err_finalize;
-	}
-	zdd = page->zone_device_data;
-	ops = zdd->devmem_allocation->ops;
-	dev = zdd->devmem_allocation->dev;
-
-	err = drm_gpusvm_migrate_populate_ram_pfn(vas, page, npages, &mpages,
-						  migrate.src, migrate.dst,
-						  start);
-	if (err)
-		goto err_finalize;
-
-	err = drm_gpusvm_migrate_map_pages(dev, dma_addr, migrate.dst, npages,
-					   DMA_FROM_DEVICE);
-	if (err)
-		goto err_finalize;
-
-	for (i = 0; i < npages; ++i)
-		pages[i] = migrate_pfn_to_page(migrate.src[i]);
-
-	err = ops->copy_to_ram(pages, dma_addr, npages);
-	if (err)
-		goto err_finalize;
-
-err_finalize:
-	if (err)
-		drm_gpusvm_migration_unlock_put_pages(npages, migrate.dst);
-	migrate_vma_pages(&migrate);
-	migrate_vma_finalize(&migrate);
-	if (dev)
-		drm_gpusvm_migrate_unmap_pages(dev, dma_addr, npages,
-					       DMA_FROM_DEVICE);
-err_free:
-	kvfree(buf);
-err_out:
-
-	return err;
-}
-
-/**
- * drm_gpusvm_range_evict - Evict GPU SVM range
  * @range: Pointer to the GPU SVM range to be removed
  *
- * This function evicts the specified GPU SVM range. This function will not
- * evict coherent pages.
+ * This function evicts the specified GPU SVM range.
  *
  * Return: 0 on success, a negative error code on failure.
  */
@@ -2182,60 +1524,6 @@ int drm_gpusvm_range_evict(struct drm_gpusvm *gpusvm,
 }
 EXPORT_SYMBOL_GPL(drm_gpusvm_range_evict);
 
-/**
- * drm_gpusvm_page_free() - Put GPU SVM zone device data associated with a page
- * @page: Pointer to the page
- *
- * This function is a callback used to put the GPU SVM zone device data
- * associated with a page when it is being released.
- */
-static void drm_gpusvm_page_free(struct page *page)
-{
-	drm_gpusvm_zdd_put(page->zone_device_data);
-}
-
-/**
- * drm_gpusvm_migrate_to_ram() - Migrate GPU SVM range to RAM (page fault handler)
- * @vmf: Pointer to the fault information structure
- *
- * This function is a page fault handler used to migrate a GPU SVM range to RAM.
- * It retrieves the GPU SVM range information from the faulting page and invokes
- * the internal migration function to migrate the range back to RAM.
- *
- * Return: VM_FAULT_SIGBUS on failure, 0 on success.
- */
-static vm_fault_t drm_gpusvm_migrate_to_ram(struct vm_fault *vmf)
-{
-	struct drm_gpusvm_zdd *zdd = vmf->page->zone_device_data;
-	int err;
-
-	err = __drm_gpusvm_migrate_to_ram(vmf->vma,
-					  zdd->device_private_page_owner,
-					  vmf->page, vmf->address,
-					  zdd->devmem_allocation->size);
-
-	return err ? VM_FAULT_SIGBUS : 0;
-}
-
-/*
- * drm_gpusvm_pagemap_ops - Device page map operations for GPU SVM
- */
-static const struct dev_pagemap_ops drm_gpusvm_pagemap_ops = {
-	.page_free = drm_gpusvm_page_free,
-	.migrate_to_ram = drm_gpusvm_migrate_to_ram,
-};
-
-/**
- * drm_gpusvm_pagemap_ops_get() - Retrieve GPU SVM device page map operations
- *
- * Return: Pointer to the GPU SVM device page map operations structure.
- */
-const struct dev_pagemap_ops *drm_gpusvm_pagemap_ops_get(void)
-{
-	return &drm_gpusvm_pagemap_ops;
-}
-EXPORT_SYMBOL_GPL(drm_gpusvm_pagemap_ops_get);
-
 /**
  * drm_gpusvm_has_mapping() - Check if GPU SVM has mapping for the given address range
  * @gpusvm: Pointer to the GPU SVM structure.
@@ -2280,28 +1568,5 @@ void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
 }
 EXPORT_SYMBOL_GPL(drm_gpusvm_range_set_unmapped);
 
-/**
- * drm_gpusvm_devmem_init() - Initialize a GPU SVM device memory allocation
- *
- * @dev: Pointer to the device structure which device memory allocation belongs to
- * @mm: Pointer to the mm_struct for the address space
- * @ops: Pointer to the operations structure for GPU SVM device memory
- * @dpagemap: The struct drm_pagemap we're allocating from.
- * @size: Size of device memory allocation
- */
-void drm_gpusvm_devmem_init(struct drm_gpusvm_devmem *devmem_allocation,
-			    struct device *dev, struct mm_struct *mm,
-			    const struct drm_gpusvm_devmem_ops *ops,
-			    struct drm_pagemap *dpagemap, size_t size)
-{
-	init_completion(&devmem_allocation->detached);
-	devmem_allocation->dev = dev;
-	devmem_allocation->mm = mm;
-	devmem_allocation->ops = ops;
-	devmem_allocation->dpagemap = dpagemap;
-	devmem_allocation->size = size;
-}
-EXPORT_SYMBOL_GPL(drm_gpusvm_devmem_init);
-
 MODULE_DESCRIPTION("DRM GPUSVM");
 MODULE_LICENSE("GPL");
diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
new file mode 100644
index 000000000000..3551a50d7381
--- /dev/null
+++ b/drivers/gpu/drm/drm_pagemap.c
@@ -0,0 +1,811 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright © 2024-2025 Intel Corporation
+ */
+
+#include <linux/dma-mapping.h>
+#include <linux/migrate.h>
+#include <linux/pagemap.h>
+#include <drm/drm_pagemap.h>
+
+/**
+ * DOC: Overview
+ *
+ * The DRM pagemap layer is intended to augment the dev_pagemap functionality by
+ * providing a way to populate a struct mm_struct virtual range with device
+ * private pages and to provide helpers to abstract device memory allocations,
+ * to migrate memory back and forth between device memory and system RAM and
+ * to handle access (and in the future migration) between devices implementing
+ * a fast interconnect that is not necessarily visible to the rest of the
+ * system.
+ *
+ * Typically the DRM pagemap receives requests from one or more DRM GPU SVM
+ * instances to populate struct mm_struct virtual ranges with memory, and the
+ * migration is best effort only and may thus fail. The implementation should
+ * also handle device unbinding by blocking (return an -ENODEV) error for new
+ * population requests and after that migrate all device pages to system ram.
+ */
+
+/**
+ * DOC: Migration
+ * Migration granularity typically follows the GPU SVM range requests, but
+ * if there are clashes, due to races or due to the fact that multiple GPU
+ * SVM instances have different views of the ranges used, and because of that
+ * parts of a requested range is already present in the requested device memory,
+ * the implementation has a variety of options. It can fail and it can choose
+ * to populate only the part of the range that isn't already in device memory,
+ * and it can evict the range to system before trying to migrate. Ideally an
+ * implementation would just try to migrate the missing part of the range and
+ * allocate just enough memory to do so.
+ *
+ * When migrating to system memory as a response to a cpu fault or a device
+ * memory eviction request, currently a full device memory allocation is
+ * migrated back to system. Moving forward this might need improvement for
+ * situations where a single page needs bouncing between system memory and
+ * device memory due to, for example, atomic operations.
+ *
+ * Key DRM pagemap components:
+ *
+ * - Device Memory Allocations:
+ *      Embedded structure containing enough information for the drm_pagemap to
+ *      migrate to / from device memory.
+ *
+ * - Device Memory Operations:
+ *      Define the interface for driver-specific device memory operations
+ *      release memory, populate pfns, and copy to / from device memory.
+ */
+
+/**
+ * struct drm_pagemap_zdd - GPU SVM zone device data
+ *
+ * @refcount: Reference count for the zdd
+ * @devmem_allocation: device memory allocation
+ * @device_private_page_owner: Device private pages owner
+ *
+ * This structure serves as a generic wrapper installed in
+ * page->zone_device_data. It provides infrastructure for looking up a device
+ * memory allocation upon CPU page fault and asynchronously releasing device
+ * memory once the CPU has no page references. Asynchronous release is useful
+ * because CPU page references can be dropped in IRQ contexts, while releasing
+ * device memory likely requires sleeping locks.
+ */
+struct drm_pagemap_zdd {
+	struct kref refcount;
+	struct drm_pagemap_devmem *devmem_allocation;
+	void *device_private_page_owner;
+};
+
+/**
+ * drm_pagemap_zdd_alloc() - Allocate a zdd structure.
+ * @device_private_page_owner: Device private pages owner
+ *
+ * This function allocates and initializes a new zdd structure. It sets up the
+ * reference count and initializes the destroy work.
+ *
+ * Return: Pointer to the allocated zdd on success, ERR_PTR() on failure.
+ */
+static struct drm_pagemap_zdd *
+drm_pagemap_zdd_alloc(void *device_private_page_owner)
+{
+	struct drm_pagemap_zdd *zdd;
+
+	zdd = kmalloc(sizeof(*zdd), GFP_KERNEL);
+	if (!zdd)
+		return NULL;
+
+	kref_init(&zdd->refcount);
+	zdd->devmem_allocation = NULL;
+	zdd->device_private_page_owner = device_private_page_owner;
+
+	return zdd;
+}
+
+/**
+ * drm_pagemap_zdd_get() - Get a reference to a zdd structure.
+ * @zdd: Pointer to the zdd structure.
+ *
+ * This function increments the reference count of the provided zdd structure.
+ *
+ * Return: Pointer to the zdd structure.
+ */
+static struct drm_pagemap_zdd *drm_pagemap_zdd_get(struct drm_pagemap_zdd *zdd)
+{
+	kref_get(&zdd->refcount);
+	return zdd;
+}
+
+/**
+ * drm_pagemap_zdd_destroy() - Destroy a zdd structure.
+ * @ref: Pointer to the reference count structure.
+ *
+ * This function queues the destroy_work of the zdd for asynchronous destruction.
+ */
+static void drm_pagemap_zdd_destroy(struct kref *ref)
+{
+	struct drm_pagemap_zdd *zdd =
+		container_of(ref, struct drm_pagemap_zdd, refcount);
+	struct drm_pagemap_devmem *devmem = zdd->devmem_allocation;
+
+	if (devmem) {
+		complete_all(&devmem->detached);
+		if (devmem->ops->devmem_release)
+			devmem->ops->devmem_release(devmem);
+	}
+	kfree(zdd);
+}
+
+/**
+ * drm_pagemap_zdd_put() - Put a zdd reference.
+ * @zdd: Pointer to the zdd structure.
+ *
+ * This function decrements the reference count of the provided zdd structure
+ * and schedules its destruction if the count drops to zero.
+ */
+static void drm_pagemap_zdd_put(struct drm_pagemap_zdd *zdd)
+{
+	kref_put(&zdd->refcount, drm_pagemap_zdd_destroy);
+}
+
+/**
+ * drm_pagemap_migration_unlock_put_page() - Put a migration page
+ * @page: Pointer to the page to put
+ *
+ * This function unlocks and puts a page.
+ */
+static void drm_pagemap_migration_unlock_put_page(struct page *page)
+{
+	unlock_page(page);
+	put_page(page);
+}
+
+/**
+ * drm_pagemap_migration_unlock_put_pages() - Put migration pages
+ * @npages: Number of pages
+ * @migrate_pfn: Array of migrate page frame numbers
+ *
+ * This function unlocks and puts an array of pages.
+ */
+static void drm_pagemap_migration_unlock_put_pages(unsigned long npages,
+						   unsigned long *migrate_pfn)
+{
+	unsigned long i;
+
+	for (i = 0; i < npages; ++i) {
+		struct page *page;
+
+		if (!migrate_pfn[i])
+			continue;
+
+		page = migrate_pfn_to_page(migrate_pfn[i]);
+		drm_pagemap_migration_unlock_put_page(page);
+		migrate_pfn[i] = 0;
+	}
+}
+
+/**
+ * drm_pagemap_get_devmem_page() - Get a reference to a device memory page
+ * @page: Pointer to the page
+ * @zdd: Pointer to the GPU SVM zone device data
+ *
+ * This function associates the given page with the specified GPU SVM zone
+ * device data and initializes it for zone device usage.
+ */
+static void drm_pagemap_get_devmem_page(struct page *page,
+					struct drm_pagemap_zdd *zdd)
+{
+	page->zone_device_data = drm_pagemap_zdd_get(zdd);
+	zone_device_page_init(page);
+}
+
+/**
+ * drm_pagemap_migrate_map_pages() - Map migration pages for GPU SVM migration
+ * @dev: The device for which the pages are being mapped
+ * @dma_addr: Array to store DMA addresses corresponding to mapped pages
+ * @migrate_pfn: Array of migrate page frame numbers to map
+ * @npages: Number of pages to map
+ * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
+ *
+ * This function maps pages of memory for migration usage in GPU SVM. It
+ * iterates over each page frame number provided in @migrate_pfn, maps the
+ * corresponding page, and stores the DMA address in the provided @dma_addr
+ * array.
+ *
+ * Returns: 0 on success, -EFAULT if an error occurs during mapping.
+ */
+static int drm_pagemap_migrate_map_pages(struct device *dev,
+					 dma_addr_t *dma_addr,
+					 unsigned long *migrate_pfn,
+					 unsigned long npages,
+					 enum dma_data_direction dir)
+{
+	unsigned long i;
+
+	for (i = 0; i < npages; ++i) {
+		struct page *page = migrate_pfn_to_page(migrate_pfn[i]);
+
+		if (!page)
+			continue;
+
+		if (WARN_ON_ONCE(is_zone_device_page(page)))
+			return -EFAULT;
+
+		dma_addr[i] = dma_map_page(dev, page, 0, PAGE_SIZE, dir);
+		if (dma_mapping_error(dev, dma_addr[i]))
+			return -EFAULT;
+	}
+
+	return 0;
+}
+
+/**
+ * drm_pagemap_migrate_unmap_pages() - Unmap pages previously mapped for GPU SVM migration
+ * @dev: The device for which the pages were mapped
+ * @dma_addr: Array of DMA addresses corresponding to mapped pages
+ * @npages: Number of pages to unmap
+ * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
+ *
+ * This function unmaps previously mapped pages of memory for GPU Shared Virtual
+ * Memory (SVM). It iterates over each DMA address provided in @dma_addr, checks
+ * if it's valid and not already unmapped, and unmaps the corresponding page.
+ */
+static void drm_pagemap_migrate_unmap_pages(struct device *dev,
+					    dma_addr_t *dma_addr,
+					    unsigned long npages,
+					    enum dma_data_direction dir)
+{
+	unsigned long i;
+
+	for (i = 0; i < npages; ++i) {
+		if (!dma_addr[i] || dma_mapping_error(dev, dma_addr[i]))
+			continue;
+
+		dma_unmap_page(dev, dma_addr[i], PAGE_SIZE, dir);
+	}
+}
+
+static unsigned long
+npages_in_range(unsigned long start, unsigned long end)
+{
+	return (end - start) >> PAGE_SHIFT;
+}
+
+
+/**
+ * drm_pagemap_migrate_to_devmem() - Migrate a struct mm_struct range to device memory
+ * @devmem_allocation: The device memory allocation to migrate to.
+ * The caller should hold a reference to the device memory allocation,
+ * and the reference is consumed by this function unless it returns with
+ * an error.
+ * @mm: Pointer to the struct mm_struct.
+ * @start: Start of the virtual address range to migrate.
+ * @end: End of the virtual address range to migrate.
+ * @pgmap_owner: Not used currently, since only system memory is considered.
+ *
+ * This function migrates the specified virtual address range to device memory.
+ * It performs the necessary setup and invokes the driver-specific operations for
+ * migration to device memory. Expected to be called while holding the mmap lock in
+ * at least read mode.
+ *
+ * Return: %0 on success, negative error code on failure.
+ */
+
+/*
+ * @range: Pointer to the GPU SVM range structure
+ * @devmem_allocation: Pointer to the device memory allocation. The caller
+ *                     should hold a reference to the device memory allocation,
+ *                     which should be dropped via ops->devmem_release or upon
+ *                     the failure of this function.
+ * @ctx: GPU SVM context
+ *
+ * This function migrates the specified GPU SVM range to device memory. It
+ * performs the necessary setup and invokes the driver-specific operations for
+ * migration to device memory. Upon successful return, @devmem_allocation can
+ * safely reference @range until ops->devmem_release is called which only upon
+ * successful return. Expected to be called while holding the mmap lock in read
+ * mode.
+ *
+ * Return: 0 on success, negative error code on failure.
+ */
+int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem *devmem_allocation,
+				  struct mm_struct *mm,
+				  unsigned long start, unsigned long end,
+				  unsigned long timeslice_ms,
+				  void *pgmap_owner)
+{
+	const struct drm_pagemap_devmem_ops *ops = devmem_allocation->ops;
+	struct migrate_vma migrate = {
+		.start		= start,
+		.end		= end,
+		.pgmap_owner	= pgmap_owner,
+		.flags		= MIGRATE_VMA_SELECT_SYSTEM,
+	};
+	unsigned long i, npages = npages_in_range(start, end);
+	struct vm_area_struct *vas;
+	struct drm_pagemap_zdd *zdd = NULL;
+	struct page **pages;
+	dma_addr_t *dma_addr;
+	void *buf;
+	int err;
+
+	mmap_assert_locked(mm);
+
+	if (!ops->populate_devmem_pfn || !ops->copy_to_devmem ||
+	    !ops->copy_to_ram)
+		return -EOPNOTSUPP;
+
+	vas = vma_lookup(mm, start);
+	if (!vas) {
+		err = -ENOENT;
+		goto err_out;
+	}
+
+	if (end > vas->vm_end || start < vas->vm_start) {
+		err = -EINVAL;
+		goto err_out;
+	}
+
+	if (!vma_is_anonymous(vas)) {
+		err = -EBUSY;
+		goto err_out;
+	}
+
+	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
+		       sizeof(*pages), GFP_KERNEL);
+	if (!buf) {
+		err = -ENOMEM;
+		goto err_out;
+	}
+	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
+	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
+
+	zdd = drm_pagemap_zdd_alloc(pgmap_owner);
+	if (!zdd) {
+		err = -ENOMEM;
+		goto err_free;
+	}
+
+	migrate.vma = vas;
+	migrate.src = buf;
+	migrate.dst = migrate.src + npages;
+
+	err = migrate_vma_setup(&migrate);
+	if (err)
+		goto err_free;
+
+	if (!migrate.cpages) {
+		err = -EFAULT;
+		goto err_free;
+	}
+
+	if (migrate.cpages != npages) {
+		err = -EBUSY;
+		goto err_finalize;
+	}
+
+	err = ops->populate_devmem_pfn(devmem_allocation, npages, migrate.dst);
+	if (err)
+		goto err_finalize;
+
+	err = drm_pagemap_migrate_map_pages(devmem_allocation->dev, dma_addr,
+					   migrate.src, npages, DMA_TO_DEVICE);
+	if (err)
+		goto err_finalize;
+
+	for (i = 0; i < npages; ++i) {
+		struct page *page = pfn_to_page(migrate.dst[i]);
+
+		pages[i] = page;
+		migrate.dst[i] = migrate_pfn(migrate.dst[i]);
+		drm_pagemap_get_devmem_page(page, zdd);
+	}
+
+	err = ops->copy_to_devmem(pages, dma_addr, npages);
+	if (err)
+		goto err_finalize;
+
+	/* Upon success bind devmem allocation to range and zdd */
+	devmem_allocation->timeslice_expiration = get_jiffies_64() +
+		msecs_to_jiffies(timeslice_ms);
+	zdd->devmem_allocation = devmem_allocation;	/* Owns ref */
+
+err_finalize:
+	if (err)
+		drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
+	migrate_vma_pages(&migrate);
+	migrate_vma_finalize(&migrate);
+	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
+				       DMA_TO_DEVICE);
+err_free:
+	if (zdd)
+		drm_pagemap_zdd_put(zdd);
+	kvfree(buf);
+err_out:
+	return err;
+}
+EXPORT_SYMBOL_GPL(drm_pagemap_migrate_to_devmem);
+
+/**
+ * drm_pagemap_migrate_populate_ram_pfn() - Populate RAM PFNs for a VM area
+ * @vas: Pointer to the VM area structure, can be NULL
+ * @fault_page: Fault page
+ * @npages: Number of pages to populate
+ * @mpages: Number of pages to migrate
+ * @src_mpfn: Source array of migrate PFNs
+ * @mpfn: Array of migrate PFNs to populate
+ * @addr: Start address for PFN allocation
+ *
+ * This function populates the RAM migrate page frame numbers (PFNs) for the
+ * specified VM area structure. It allocates and locks pages in the VM area for
+ * RAM usage. If vas is non-NULL use alloc_page_vma for allocation, if NULL use
+ * alloc_page for allocation.
+ *
+ * Return: 0 on success, negative error code on failure.
+ */
+static int drm_pagemap_migrate_populate_ram_pfn(struct vm_area_struct *vas,
+					       struct page *fault_page,
+					       unsigned long npages,
+					       unsigned long *mpages,
+					       unsigned long *src_mpfn,
+					       unsigned long *mpfn,
+					       unsigned long addr)
+{
+	unsigned long i;
+
+	for (i = 0; i < npages; ++i, addr += PAGE_SIZE) {
+		struct page *page, *src_page;
+
+		if (!(src_mpfn[i] & MIGRATE_PFN_MIGRATE))
+			continue;
+
+		src_page = migrate_pfn_to_page(src_mpfn[i]);
+		if (!src_page)
+			continue;
+
+		if (fault_page) {
+			if (src_page->zone_device_data !=
+			    fault_page->zone_device_data)
+				continue;
+		}
+
+		if (vas)
+			page = alloc_page_vma(GFP_HIGHUSER, vas, addr);
+		else
+			page = alloc_page(GFP_HIGHUSER);
+
+		if (!page)
+			goto free_pages;
+
+		mpfn[i] = migrate_pfn(page_to_pfn(page));
+	}
+
+	for (i = 0; i < npages; ++i) {
+		struct page *page = migrate_pfn_to_page(mpfn[i]);
+
+		if (!page)
+			continue;
+
+		WARN_ON_ONCE(!trylock_page(page));
+		++*mpages;
+	}
+
+	return 0;
+
+free_pages:
+	for (i = 0; i < npages; ++i) {
+		struct page *page = migrate_pfn_to_page(mpfn[i]);
+
+		if (!page)
+			continue;
+
+		put_page(page);
+		mpfn[i] = 0;
+	}
+	return -ENOMEM;
+}
+
+/**
+ * drm_pagemap_evict_to_ram() - Evict GPU SVM range to RAM
+ * @devmem_allocation: Pointer to the device memory allocation
+ *
+ * Similar to __drm_pagemap_migrate_to_ram but does not require mmap lock and
+ * migration done via migrate_device_* functions.
+ *
+ * Return: 0 on success, negative error code on failure.
+ */
+int drm_pagemap_evict_to_ram(struct drm_pagemap_devmem *devmem_allocation)
+{
+	const struct drm_pagemap_devmem_ops *ops = devmem_allocation->ops;
+	unsigned long npages, mpages = 0;
+	struct page **pages;
+	unsigned long *src, *dst;
+	dma_addr_t *dma_addr;
+	void *buf;
+	int i, err = 0;
+	unsigned int retry_count = 2;
+
+	npages = devmem_allocation->size >> PAGE_SHIFT;
+
+retry:
+	if (!mmget_not_zero(devmem_allocation->mm))
+		return -EFAULT;
+
+	buf = kvcalloc(npages, 2 * sizeof(*src) + sizeof(*dma_addr) +
+		       sizeof(*pages), GFP_KERNEL);
+	if (!buf) {
+		err = -ENOMEM;
+		goto err_out;
+	}
+	src = buf;
+	dst = buf + (sizeof(*src) * npages);
+	dma_addr = buf + (2 * sizeof(*src) * npages);
+	pages = buf + (2 * sizeof(*src) + sizeof(*dma_addr)) * npages;
+
+	err = ops->populate_devmem_pfn(devmem_allocation, npages, src);
+	if (err)
+		goto err_free;
+
+	err = migrate_device_pfns(src, npages);
+	if (err)
+		goto err_free;
+
+	err = drm_pagemap_migrate_populate_ram_pfn(NULL, NULL, npages, &mpages,
+						  src, dst, 0);
+	if (err || !mpages)
+		goto err_finalize;
+
+	err = drm_pagemap_migrate_map_pages(devmem_allocation->dev, dma_addr,
+					   dst, npages, DMA_FROM_DEVICE);
+	if (err)
+		goto err_finalize;
+
+	for (i = 0; i < npages; ++i)
+		pages[i] = migrate_pfn_to_page(src[i]);
+
+	err = ops->copy_to_ram(pages, dma_addr, npages);
+	if (err)
+		goto err_finalize;
+
+err_finalize:
+	if (err)
+		drm_pagemap_migration_unlock_put_pages(npages, dst);
+	migrate_device_pages(src, dst, npages);
+	migrate_device_finalize(src, dst, npages);
+	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
+				       DMA_FROM_DEVICE);
+err_free:
+	kvfree(buf);
+err_out:
+	mmput_async(devmem_allocation->mm);
+
+	if (completion_done(&devmem_allocation->detached))
+		return 0;
+
+	if (retry_count--) {
+		cond_resched();
+		goto retry;
+	}
+
+	return err ?: -EBUSY;
+}
+EXPORT_SYMBOL_GPL(drm_pagemap_evict_to_ram);
+
+/**
+ * __drm_pagemap_migrate_to_ram() - Migrate GPU SVM range to RAM (internal)
+ * @vas: Pointer to the VM area structure
+ * @device_private_page_owner: Device private pages owner
+ * @page: Pointer to the page for fault handling (can be NULL)
+ * @fault_addr: Fault address
+ * @size: Size of migration
+ *
+ * This internal function performs the migration of the specified GPU SVM range
+ * to RAM. It sets up the migration, populates + dma maps RAM PFNs, and
+ * invokes the driver-specific operations for migration to RAM.
+ *
+ * Return: 0 on success, negative error code on failure.
+ */
+static int __drm_pagemap_migrate_to_ram(struct vm_area_struct *vas,
+				       void *device_private_page_owner,
+				       struct page *page,
+				       unsigned long fault_addr,
+				       unsigned long size)
+{
+	struct migrate_vma migrate = {
+		.vma		= vas,
+		.pgmap_owner	= device_private_page_owner,
+		.flags		= MIGRATE_VMA_SELECT_DEVICE_PRIVATE |
+			MIGRATE_VMA_SELECT_DEVICE_COHERENT,
+		.fault_page	= page,
+	};
+	struct drm_pagemap_zdd *zdd;
+	const struct drm_pagemap_devmem_ops *ops;
+	struct device *dev = NULL;
+	unsigned long npages, mpages = 0;
+	struct page **pages;
+	dma_addr_t *dma_addr;
+	unsigned long start, end;
+	void *buf;
+	int i, err = 0;
+
+	if (page) {
+		zdd = page->zone_device_data;
+		if (time_before64(get_jiffies_64(),
+				  zdd->devmem_allocation->timeslice_expiration))
+			return 0;
+	}
+
+	start = ALIGN_DOWN(fault_addr, size);
+	end = ALIGN(fault_addr + 1, size);
+
+	/* Corner where VMA area struct has been partially unmapped */
+	if (start < vas->vm_start)
+		start = vas->vm_start;
+	if (end > vas->vm_end)
+		end = vas->vm_end;
+
+	migrate.start = start;
+	migrate.end = end;
+	npages = npages_in_range(start, end);
+
+	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
+		       sizeof(*pages), GFP_KERNEL);
+	if (!buf) {
+		err = -ENOMEM;
+		goto err_out;
+	}
+	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
+	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
+
+	migrate.vma = vas;
+	migrate.src = buf;
+	migrate.dst = migrate.src + npages;
+
+	err = migrate_vma_setup(&migrate);
+	if (err)
+		goto err_free;
+
+	/* Raced with another CPU fault, nothing to do */
+	if (!migrate.cpages)
+		goto err_free;
+
+	if (!page) {
+		for (i = 0; i < npages; ++i) {
+			if (!(migrate.src[i] & MIGRATE_PFN_MIGRATE))
+				continue;
+
+			page = migrate_pfn_to_page(migrate.src[i]);
+			break;
+		}
+
+		if (!page)
+			goto err_finalize;
+	}
+	zdd = page->zone_device_data;
+	ops = zdd->devmem_allocation->ops;
+	dev = zdd->devmem_allocation->dev;
+
+	err = drm_pagemap_migrate_populate_ram_pfn(vas, page, npages, &mpages,
+						  migrate.src, migrate.dst,
+						  start);
+	if (err)
+		goto err_finalize;
+
+	err = drm_pagemap_migrate_map_pages(dev, dma_addr, migrate.dst, npages,
+					   DMA_FROM_DEVICE);
+	if (err)
+		goto err_finalize;
+
+	for (i = 0; i < npages; ++i)
+		pages[i] = migrate_pfn_to_page(migrate.src[i]);
+
+	err = ops->copy_to_ram(pages, dma_addr, npages);
+	if (err)
+		goto err_finalize;
+
+err_finalize:
+	if (err)
+		drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
+	migrate_vma_pages(&migrate);
+	migrate_vma_finalize(&migrate);
+	if (dev)
+		drm_pagemap_migrate_unmap_pages(dev, dma_addr, npages,
+					       DMA_FROM_DEVICE);
+err_free:
+	kvfree(buf);
+err_out:
+
+	return err;
+}
+
+/**
+ * drm_pagemap_page_free() - Put GPU SVM zone device data associated with a page
+ * @page: Pointer to the page
+ *
+ * This function is a callback used to put the GPU SVM zone device data
+ * associated with a page when it is being released.
+ */
+static void drm_pagemap_page_free(struct page *page)
+{
+	drm_pagemap_zdd_put(page->zone_device_data);
+}
+
+/**
+ * drm_pagemap_migrate_to_ram() - Migrate a virtual range to RAM (page fault handler)
+ * @vmf: Pointer to the fault information structure
+ *
+ * This function is a page fault handler used to migrate a virtual range
+ * to ram. The device memory allocation in which the device page is found is
+ * migrated in its entirety.
+ *
+ * Returns:
+ * VM_FAULT_SIGBUS on failure, 0 on success.
+ */
+static vm_fault_t drm_pagemap_migrate_to_ram(struct vm_fault *vmf)
+{
+	struct drm_pagemap_zdd *zdd = vmf->page->zone_device_data;
+	int err;
+
+	err = __drm_pagemap_migrate_to_ram(vmf->vma,
+					   zdd->device_private_page_owner,
+					   vmf->page, vmf->address,
+					   zdd->devmem_allocation->size);
+
+	return err ? VM_FAULT_SIGBUS : 0;
+}
+
+static const struct dev_pagemap_ops drm_pagemap_pagemap_ops = {
+	.page_free = drm_pagemap_page_free,
+	.migrate_to_ram = drm_pagemap_migrate_to_ram,
+};
+
+/**
+ * drm_pagemap_pagemap_ops_get() - Retrieve GPU SVM device page map operations
+ *
+ * Returns:
+ * Pointer to the GPU SVM device page map operations structure.
+ */
+const struct dev_pagemap_ops *drm_pagemap_pagemap_ops_get(void)
+{
+	return &drm_pagemap_pagemap_ops;
+}
+EXPORT_SYMBOL_GPL(drm_pagemap_pagemap_ops_get);
+
+/**
+ * drm_pagemap_devmem_init() - Initialize a drm_pagemap device memory allocation
+ *
+ * @devmem_allocation: The struct drm_pagemap_devmem to initialize.
+ * @dev: Pointer to the device structure which device memory allocation belongs to
+ * @mm: Pointer to the mm_struct for the address space
+ * @ops: Pointer to the operations structure for GPU SVM device memory
+ * @dpagemap: The struct drm_pagemap we're allocating from.
+ * @size: Size of device memory allocation
+ */
+void drm_pagemap_devmem_init(struct drm_pagemap_devmem *devmem_allocation,
+			     struct device *dev, struct mm_struct *mm,
+			     const struct drm_pagemap_devmem_ops *ops,
+			     struct drm_pagemap *dpagemap, size_t size)
+{
+	init_completion(&devmem_allocation->detached);
+	devmem_allocation->dev = dev;
+	devmem_allocation->mm = mm;
+	devmem_allocation->ops = ops;
+	devmem_allocation->dpagemap = dpagemap;
+	devmem_allocation->size = size;
+}
+EXPORT_SYMBOL_GPL(drm_pagemap_devmem_init);
+
+/**
+ * drm_pagemap_page_to_dpagemap() - Return a pointer the drm_pagemap of a page
+ * @page: The struct page.
+ *
+ * Return: A pointer to the struct drm_pagemap of a device private page that
+ * was populated from the struct drm_pagemap. If the page was *not* populated
+ * from a struct drm_pagemap, the result is undefined and the function call
+ * may result in dereferencing and invalid address.
+ */
+struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page)
+{
+	struct drm_pagemap_zdd *zdd = page->zone_device_data;
+
+	return zdd->devmem_allocation->dpagemap;
+}
+EXPORT_SYMBOL_GPL(drm_pagemap_page_to_dpagemap);
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index 98b46c534278..c7c71734460b 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -87,14 +87,16 @@ config DRM_XE_GPUSVM
 
 	  If in doubut say "Y".
 
-config DRM_XE_DEVMEM_MIRROR
-	bool "Enable device memory mirror"
+config DRM_XE_PAGEMAP
+	bool "Enable device memory pool for SVM"
 	depends on DRM_XE_GPUSVM
 	select GET_FREE_REGION
 	default y
 	help
-	  Disable this option only if you want to compile out without device
-	  memory mirror. Will reduce KMD memory footprint when disabled.
+	  Disable this option only if you don't want to expose local device
+	  memory for SVM. Will reduce KMD memory footprint when disabled.
+
+	  If in doubut say "Y".
 
 config DRM_XE_FORCE_PROBE
 	string "Force probe xe for selected Intel hardware IDs"
diff --git a/drivers/gpu/drm/xe/xe_bo_types.h b/drivers/gpu/drm/xe/xe_bo_types.h
index eb5e83c5f233..e0efaf23d051 100644
--- a/drivers/gpu/drm/xe/xe_bo_types.h
+++ b/drivers/gpu/drm/xe/xe_bo_types.h
@@ -86,7 +86,7 @@ struct xe_bo {
 	u16 cpu_caching;
 
 	/** @devmem_allocation: SVM device memory allocation */
-	struct drm_gpusvm_devmem devmem_allocation;
+	struct drm_pagemap_devmem devmem_allocation;
 
 	/** @vram_userfault_link: Link into @mem_access.vram_userfault.list */
 		struct list_head vram_userfault_link;
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index b93c04466637..67b7f733dd69 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -104,7 +104,7 @@ struct xe_vram_region {
 	void __iomem *mapping;
 	/** @ttm: VRAM TTM manager */
 	struct xe_ttm_vram_mgr ttm;
-#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
+#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
 	/** @pagemap: Used to remap device memory as ZONE_DEVICE */
 	struct dev_pagemap pagemap;
 	/**
diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index f27fb9b588de..e161ce3e67a1 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -329,7 +329,7 @@ static void xe_svm_garbage_collector_work_func(struct work_struct *w)
 	up_write(&vm->lock);
 }
 
-#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
+#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
 
 static struct xe_vram_region *page_to_vr(struct page *page)
 {
@@ -517,12 +517,12 @@ static int xe_svm_copy_to_ram(struct page **pages, dma_addr_t *dma_addr,
 	return xe_svm_copy(pages, dma_addr, npages, XE_SVM_COPY_TO_SRAM);
 }
 
-static struct xe_bo *to_xe_bo(struct drm_gpusvm_devmem *devmem_allocation)
+static struct xe_bo *to_xe_bo(struct drm_pagemap_devmem *devmem_allocation)
 {
 	return container_of(devmem_allocation, struct xe_bo, devmem_allocation);
 }
 
-static void xe_svm_devmem_release(struct drm_gpusvm_devmem *devmem_allocation)
+static void xe_svm_devmem_release(struct drm_pagemap_devmem *devmem_allocation)
 {
 	struct xe_bo *bo = to_xe_bo(devmem_allocation);
 
@@ -539,7 +539,7 @@ static struct drm_buddy *tile_to_buddy(struct xe_tile *tile)
 	return &tile->mem.vram.ttm.mm;
 }
 
-static int xe_svm_populate_devmem_pfn(struct drm_gpusvm_devmem *devmem_allocation,
+static int xe_svm_populate_devmem_pfn(struct drm_pagemap_devmem *devmem_allocation,
 				      unsigned long npages, unsigned long *pfn)
 {
 	struct xe_bo *bo = to_xe_bo(devmem_allocation);
@@ -562,7 +562,7 @@ static int xe_svm_populate_devmem_pfn(struct drm_gpusvm_devmem *devmem_allocatio
 	return 0;
 }
 
-static const struct drm_gpusvm_devmem_ops gpusvm_devmem_ops = {
+static const struct drm_pagemap_devmem_ops dpagemap_devmem_ops = {
 	.devmem_release = xe_svm_devmem_release,
 	.populate_devmem_pfn = xe_svm_populate_devmem_pfn,
 	.copy_to_devmem = xe_svm_copy_to_devmem,
@@ -714,7 +714,7 @@ u64 xe_svm_find_vma_start(struct xe_vm *vm, u64 start, u64 end, struct xe_vma *v
 					 min(end, xe_vma_end(vma)));
 }
 
-#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
+#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
 static struct xe_vram_region *tile_to_vr(struct xe_tile *tile)
 {
 	return &tile->mem.vram;
@@ -742,6 +742,9 @@ int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
 	ktime_t end = 0;
 	int err;
 
+	if (!range->base.flags.migrate_devmem)
+		return -EINVAL;
+
 	range_debug(range, "ALLOCATE VRAM");
 
 	if (!mmget_not_zero(mm))
@@ -761,19 +764,23 @@ int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
 		goto unlock;
 	}
 
-	drm_gpusvm_devmem_init(&bo->devmem_allocation,
-			       vm->xe->drm.dev, mm,
-			       &gpusvm_devmem_ops,
-			       &tile->mem.vram.dpagemap,
-			       xe_svm_range_size(range));
+	drm_pagemap_devmem_init(&bo->devmem_allocation,
+				vm->xe->drm.dev, mm,
+				&dpagemap_devmem_ops,
+				&tile->mem.vram.dpagemap,
+				xe_svm_range_size(range));
 
 	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)->blocks;
 	list_for_each_entry(block, blocks, link)
 		block->private = vr;
 
 	xe_bo_get(bo);
-	err = drm_gpusvm_migrate_to_devmem(&vm->svm.gpusvm, &range->base,
-					   &bo->devmem_allocation, ctx);
+	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation,
+					    mm,
+					    xe_svm_range_start(range),
+					    xe_svm_range_end(range),
+					    ctx->timeslice_ms,
+					    xe_svm_devm_owner(vm->xe));
 	if (err)
 		xe_svm_devmem_release(&bo->devmem_allocation);
 
@@ -848,13 +855,13 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
 	struct drm_gpusvm_ctx ctx = {
 		.read_only = xe_vma_read_only(vma),
 		.devmem_possible = IS_DGFX(vm->xe) &&
-			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR),
-		.check_pages_threshold = IS_DGFX(vm->xe) &&
-			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR) ? SZ_64K : 0,
+			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP),
+		.check_pages_threshold = IS_DGFX(vm->xe) &&		
+			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP) ? SZ_64K : 0,
 		.devmem_only = atomic && IS_DGFX(vm->xe) &&
-			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR),
+			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP),
 		.timeslice_ms = atomic && IS_DGFX(vm->xe) &&
-			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR) ?
+			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP) ?
 			vm->xe->atomic_svm_timeslice_ms : 0,
 	};
 	struct xe_svm_range *range;
@@ -992,7 +999,7 @@ bool xe_svm_has_mapping(struct xe_vm *vm, u64 start, u64 end)
  */
 int xe_svm_bo_evict(struct xe_bo *bo)
 {
-	return drm_gpusvm_evict_to_ram(&bo->devmem_allocation);
+	return drm_pagemap_evict_to_ram(&bo->devmem_allocation);
 }
 
 /**
@@ -1045,7 +1052,7 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
 	return err;
 }
 
-#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
+#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
 
 static struct drm_pagemap_device_addr
 xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
@@ -1102,7 +1109,7 @@ int xe_devm_add(struct xe_tile *tile, struct xe_vram_region *vr)
 	vr->pagemap.range.start = res->start;
 	vr->pagemap.range.end = res->end;
 	vr->pagemap.nr_range = 1;
-	vr->pagemap.ops = drm_gpusvm_pagemap_ops_get();
+	vr->pagemap.ops = drm_pagemap_pagemap_ops_get();
 	vr->pagemap.owner = xe_svm_devm_owner(xe);
 	addr = devm_memremap_pages(dev, &vr->pagemap);
 
diff --git a/include/drm/drm_gpusvm.h b/include/drm/drm_gpusvm.h
index 6a5156476bf4..4aedc5423aff 100644
--- a/include/drm/drm_gpusvm.h
+++ b/include/drm/drm_gpusvm.h
@@ -16,91 +16,9 @@ struct drm_gpusvm;
 struct drm_gpusvm_notifier;
 struct drm_gpusvm_ops;
 struct drm_gpusvm_range;
-struct drm_gpusvm_devmem;
 struct drm_pagemap;
 struct drm_pagemap_device_addr;
 
-/**
- * struct drm_gpusvm_devmem_ops - Operations structure for GPU SVM device memory
- *
- * This structure defines the operations for GPU Shared Virtual Memory (SVM)
- * device memory. These operations are provided by the GPU driver to manage device memory
- * allocations and perform operations such as migration between device memory and system
- * RAM.
- */
-struct drm_gpusvm_devmem_ops {
-	/**
-	 * @devmem_release: Release device memory allocation (optional)
-	 * @devmem_allocation: device memory allocation
-	 *
-	 * Release device memory allocation and drop a reference to device
-	 * memory allocation.
-	 */
-	void (*devmem_release)(struct drm_gpusvm_devmem *devmem_allocation);
-
-	/**
-	 * @populate_devmem_pfn: Populate device memory PFN (required for migration)
-	 * @devmem_allocation: device memory allocation
-	 * @npages: Number of pages to populate
-	 * @pfn: Array of page frame numbers to populate
-	 *
-	 * Populate device memory page frame numbers (PFN).
-	 *
-	 * Return: 0 on success, a negative error code on failure.
-	 */
-	int (*populate_devmem_pfn)(struct drm_gpusvm_devmem *devmem_allocation,
-				   unsigned long npages, unsigned long *pfn);
-
-	/**
-	 * @copy_to_devmem: Copy to device memory (required for migration)
-	 * @pages: Pointer to array of device memory pages (destination)
-	 * @dma_addr: Pointer to array of DMA addresses (source)
-	 * @npages: Number of pages to copy
-	 *
-	 * Copy pages to device memory.
-	 *
-	 * Return: 0 on success, a negative error code on failure.
-	 */
-	int (*copy_to_devmem)(struct page **pages,
-			      dma_addr_t *dma_addr,
-			      unsigned long npages);
-
-	/**
-	 * @copy_to_ram: Copy to system RAM (required for migration)
-	 * @pages: Pointer to array of device memory pages (source)
-	 * @dma_addr: Pointer to array of DMA addresses (destination)
-	 * @npages: Number of pages to copy
-	 *
-	 * Copy pages to system RAM.
-	 *
-	 * Return: 0 on success, a negative error code on failure.
-	 */
-	int (*copy_to_ram)(struct page **pages,
-			   dma_addr_t *dma_addr,
-			   unsigned long npages);
-};
-
-/**
- * struct drm_gpusvm_devmem - Structure representing a GPU SVM device memory allocation
- *
- * @dev: Pointer to the device structure which device memory allocation belongs to
- * @mm: Pointer to the mm_struct for the address space
- * @detached: device memory allocations is detached from device pages
- * @ops: Pointer to the operations structure for GPU SVM device memory
- * @dpagemap: The struct drm_pagemap of the pages this allocation belongs to.
- * @size: Size of device memory allocation
- * @timeslice_expiration: Timeslice expiration in jiffies
- */
-struct drm_gpusvm_devmem {
-	struct device *dev;
-	struct mm_struct *mm;
-	struct completion detached;
-	const struct drm_gpusvm_devmem_ops *ops;
-	struct drm_pagemap *dpagemap;
-	size_t size;
-	u64 timeslice_expiration;
-};
-
 /**
  * struct drm_gpusvm_ops - Operations structure for GPU SVM
  *
@@ -361,15 +279,6 @@ void drm_gpusvm_range_unmap_pages(struct drm_gpusvm *gpusvm,
 				  struct drm_gpusvm_range *range,
 				  const struct drm_gpusvm_ctx *ctx);
 
-int drm_gpusvm_migrate_to_devmem(struct drm_gpusvm *gpusvm,
-				 struct drm_gpusvm_range *range,
-				 struct drm_gpusvm_devmem *devmem_allocation,
-				 const struct drm_gpusvm_ctx *ctx);
-
-int drm_gpusvm_evict_to_ram(struct drm_gpusvm_devmem *devmem_allocation);
-
-const struct dev_pagemap_ops *drm_gpusvm_pagemap_ops_get(void);
-
 bool drm_gpusvm_has_mapping(struct drm_gpusvm *gpusvm, unsigned long start,
 			    unsigned long end);
 
@@ -380,11 +289,6 @@ drm_gpusvm_range_find(struct drm_gpusvm_notifier *notifier, unsigned long start,
 void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
 				   const struct mmu_notifier_range *mmu_range);
 
-void drm_gpusvm_devmem_init(struct drm_gpusvm_devmem *devmem_allocation,
-			    struct device *dev, struct mm_struct *mm,
-			    const struct drm_gpusvm_devmem_ops *ops,
-			    struct drm_pagemap *dpagemap, size_t size);
-
 #ifdef CONFIG_LOCKDEP
 /**
  * drm_gpusvm_driver_set_lock() - Set the lock protecting accesses to GPU SVM
diff --git a/include/drm/drm_pagemap.h b/include/drm/drm_pagemap.h
index 202c157ff4d7..dabc9c365df4 100644
--- a/include/drm/drm_pagemap.h
+++ b/include/drm/drm_pagemap.h
@@ -7,6 +7,7 @@
 #include <linux/types.h>
 
 struct drm_pagemap;
+struct drm_pagemap_zdd;
 struct device;
 
 /**
@@ -104,4 +105,104 @@ struct drm_pagemap {
 	struct device *dev;
 };
 
+struct drm_pagemap_devmem;
+
+/**
+ * struct drm_pagemap_devmem_ops - Operations structure for GPU SVM device memory
+ *
+ * This structure defines the operations for GPU Shared Virtual Memory (SVM)
+ * device memory. These operations are provided by the GPU driver to manage device memory
+ * allocations and perform operations such as migration between device memory and system
+ * RAM.
+ */
+struct drm_pagemap_devmem_ops {
+	/**
+	 * @devmem_release: Release device memory allocation (optional)
+	 * @devmem_allocation: device memory allocation
+	 *
+	 * Release device memory allocation and drop a reference to device
+	 * memory allocation.
+	 */
+	void (*devmem_release)(struct drm_pagemap_devmem *devmem_allocation);
+
+	/**
+	 * @populate_devmem_pfn: Populate device memory PFN (required for migration)
+	 * @devmem_allocation: device memory allocation
+	 * @npages: Number of pages to populate
+	 * @pfn: Array of page frame numbers to populate
+	 *
+	 * Populate device memory page frame numbers (PFN).
+	 *
+	 * Return: 0 on success, a negative error code on failure.
+	 */
+	int (*populate_devmem_pfn)(struct drm_pagemap_devmem *devmem_allocation,
+				   unsigned long npages, unsigned long *pfn);
+
+	/**
+	 * @copy_to_devmem: Copy to device memory (required for migration)
+	 * @pages: Pointer to array of device memory pages (destination)
+	 * @dma_addr: Pointer to array of DMA addresses (source)
+	 * @npages: Number of pages to copy
+	 *
+	 * Copy pages to device memory.
+	 *
+	 * Return: 0 on success, a negative error code on failure.
+	 */
+	int (*copy_to_devmem)(struct page **pages,
+			      dma_addr_t *dma_addr,
+			      unsigned long npages);
+
+	/**
+	 * @copy_to_ram: Copy to system RAM (required for migration)
+	 * @pages: Pointer to array of device memory pages (source)
+	 * @dma_addr: Pointer to array of DMA addresses (destination)
+	 * @npages: Number of pages to copy
+	 *
+	 * Copy pages to system RAM.
+	 *
+	 * Return: 0 on success, a negative error code on failure.
+	 */
+	int (*copy_to_ram)(struct page **pages,
+			   dma_addr_t *dma_addr,
+			   unsigned long npages);
+};
+
+/**
+ * struct drm_pagemap_devmem - Structure representing a GPU SVM device memory allocation
+ *
+ * @dev: Pointer to the device structure which device memory allocation belongs to
+ * @mm: Pointer to the mm_struct for the address space
+ * @detached: device memory allocations is detached from device pages
+ * @ops: Pointer to the operations structure for GPU SVM device memory
+ * @dpagemap: The struct drm_pagemap of the pages this allocation belongs to.
+ * @size: Size of device memory allocation
+ * @timeslice_expiration: Timeslice expiration in jiffies
+ */
+struct drm_pagemap_devmem {
+	struct device *dev;
+	struct mm_struct *mm;
+	struct completion detached;
+	const struct drm_pagemap_devmem_ops *ops;
+	struct drm_pagemap *dpagemap;
+	size_t size;
+	u64 timeslice_expiration;
+};
+
+int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem *devmem_allocation,
+				  struct mm_struct *mm,
+				  unsigned long start, unsigned long end,
+				  unsigned long timeslice_ms,
+				  void *pgmap_owner);
+
+int drm_pagemap_evict_to_ram(struct drm_pagemap_devmem *devmem_allocation);
+
+const struct dev_pagemap_ops *drm_pagemap_pagemap_ops_get(void);
+
+struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page);
+
+void drm_pagemap_devmem_init(struct drm_pagemap_devmem *devmem_allocation,
+			     struct device *dev, struct mm_struct *mm,
+			     const struct drm_pagemap_devmem_ops *ops,
+			     struct drm_pagemap *dpagemap, size_t size);
+
 #endif
-- 
2.49.0


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

* [PATCH v2 2/3] drm/pagemap: Add a populate_mm op
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
  2025-06-04  9:35 ` [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap Thomas Hellström
@ 2025-06-04  9:35 ` Thomas Hellström
  2025-06-04 21:06   ` kernel test robot
  2025-06-04 22:05   ` Matthew Brost
  2025-06-04  9:35 ` [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap " Thomas Hellström
                   ` (9 subsequent siblings)
  11 siblings, 2 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-04  9:35 UTC (permalink / raw)
  To: intel-xe
  Cc: Thomas Hellström, dri-devel, himal.prasad.ghimiray, apopple,
	airlied, Simona Vetter, felix.kuehling, Matthew Brost,
	Christian König, dakr, Mrozek, Michal, Joonas Lahtinen

Add an operation to populate a part of a drm_mm with device
private memory.

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 drivers/gpu/drm/drm_gpusvm.c  |  7 ++-----
 drivers/gpu/drm/drm_pagemap.c | 34 ++++++++++++++++++++++++++++++++++
 include/drm/drm_pagemap.h     | 34 ++++++++++++++++++++++++++++++++++
 3 files changed, 70 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
index ef81381609de..51afc8a9704d 100644
--- a/drivers/gpu/drm/drm_gpusvm.c
+++ b/drivers/gpu/drm/drm_gpusvm.c
@@ -175,11 +175,8 @@
  *		}
  *
  *		if (driver_migration_policy(range)) {
- *			mmap_read_lock(mm);
- *			devmem = driver_alloc_devmem();
- *			err = drm_pagemap_migrate_to_devmem(devmem, gpusvm->mm, gpuva_start,
- *                                                          gpuva_end, driver_pgmap_owner());
- *                      mmap_read_unlock(mm);
+ *			err = drm_pagemap_populate_mm(driver_choose_drm_pagemap(),
+ *                                                    gpuva_start, gpuva_end, gpusvm->mm);
  *			if (err)	// CPU mappings may have changed
  *				goto retry;
  *		}
diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
index 3551a50d7381..25395685a9b8 100644
--- a/drivers/gpu/drm/drm_pagemap.c
+++ b/drivers/gpu/drm/drm_pagemap.c
@@ -6,6 +6,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/migrate.h>
 #include <linux/pagemap.h>
+#include <drm/drm_drv.h>
 #include <drm/drm_pagemap.h>
 
 /**
@@ -809,3 +810,36 @@ struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page)
 	return zdd->devmem_allocation->dpagemap;
 }
 EXPORT_SYMBOL_GPL(drm_pagemap_page_to_dpagemap);
+
+/**
+ * drm_pagemap_populate_mm() - Populate a virtual range with device memory pages
+ * @dpagemap: Pointer to the drm_pagemap managing the device memory
+ * @start: Start of the virtual range to populate.
+ * @end: End of the virtual range to populate.
+ * @mm: Pointer to the virtual address space.
+ *
+ * Attempt to populate a virtual range with device memory pages,
+ * clearing them or migrating data from the existing pages if necessary.
+ * The function is best effort only, and implementations may vary
+ * in how hard they try to satisfy the request.
+ *
+ * Return: 0 on success, negative error code on error. If the hardware
+ * device was removed / unbound the function will return -ENODEV;
+ */
+int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
+			    unsigned long start, unsigned long end,
+			    struct mm_struct *mm,
+			    unsigned long timeslice_ms)
+{
+	int err;
+
+	if (!mmget_not_zero(mm))
+		return -EFAULT;
+	mmap_read_lock(mm);
+	err = dpagemap->ops->populate_mm(dpagemap, start, end, mm,
+					 timeslice_ms);
+	mmap_read_unlock(mm);
+	mmput(mm);
+
+	return err;
+}
diff --git a/include/drm/drm_pagemap.h b/include/drm/drm_pagemap.h
index dabc9c365df4..e5f20a1235be 100644
--- a/include/drm/drm_pagemap.h
+++ b/include/drm/drm_pagemap.h
@@ -92,6 +92,35 @@ struct drm_pagemap_ops {
 			     struct device *dev,
 			     struct drm_pagemap_device_addr addr);
 
+	/**
+	 * @populate_mm: Populate part of the mm with @dpagemap memory,
+	 * migrating existing data.
+	 * @dpagemap: The struct drm_pagemap managing the memory.
+	 * @start: The virtual start address in @mm
+	 * @end: The virtual end address in @mm
+	 * @mm: Pointer to a live mm. The caller must have an mmget()
+	 * reference.
+	 *
+	 * The caller will have the mm lock at least in read mode.
+	 * Note that there is no guarantee that the memory is resident
+	 * after the function returns, it's best effort only.
+	 * When the mm is not using the memory anymore,
+	 * it will be released. The struct drm_pagemap might have a
+	 * mechanism in place to reclaim the memory and the data will
+	 * then be migrated. Typically to system memory.
+	 * The implementation should hold sufficient runtime power-
+	 * references while pages are used in an address space and
+	 * should ideally guard against hardware device unbind in
+	 * a way such that device pages are migrated back to system
+	 * followed by device page removal. The implementation should
+	 * return -ENODEV after device removal.
+	 *
+	 * Return: 0 if successful. Negative error code on error.
+	 */
+	int (*populate_mm)(struct drm_pagemap *dpagemap,
+			   unsigned long start, unsigned long end,
+			   struct mm_struct *mm,
+			   unsigned long timeslice_ms);
 };
 
 /**
@@ -205,4 +234,9 @@ void drm_pagemap_devmem_init(struct drm_pagemap_devmem *devmem_allocation,
 			     const struct drm_pagemap_devmem_ops *ops,
 			     struct drm_pagemap *dpagemap, size_t size);
 
+int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
+			    unsigned long start, unsigned long end,
+			    struct mm_struct *mm,
+			    unsigned long timeslice_ms);
+
 #endif
-- 
2.49.0


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

* [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap populate_mm op
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
  2025-06-04  9:35 ` [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap Thomas Hellström
  2025-06-04  9:35 ` [PATCH v2 2/3] drm/pagemap: Add a populate_mm op Thomas Hellström
@ 2025-06-04  9:35 ` Thomas Hellström
  2025-06-04 15:04   ` Matthew Brost
  2025-06-05 22:16   ` Matthew Brost
  2025-06-04 10:01 ` [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Christian König
                   ` (8 subsequent siblings)
  11 siblings, 2 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-04  9:35 UTC (permalink / raw)
  To: intel-xe
  Cc: Thomas Hellström, dri-devel, himal.prasad.ghimiray, apopple,
	airlied, Simona Vetter, felix.kuehling, Matthew Brost,
	Christian König, dakr, Mrozek, Michal, Joonas Lahtinen

Add runtime PM since we might call populate_mm on a foreign device.
Also create the VRAM bos as ttm_bo_type_kernel. This avoids the
initial clearing and the creation of an mmap handle.

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 drivers/gpu/drm/drm_pagemap.c |   1 +
 drivers/gpu/drm/xe/xe_svm.c   | 104 ++++++++++++++++++++--------------
 drivers/gpu/drm/xe/xe_svm.h   |  10 ++--
 drivers/gpu/drm/xe/xe_tile.h  |  11 ++++
 drivers/gpu/drm/xe/xe_vm.c    |   2 +-
 5 files changed, 78 insertions(+), 50 deletions(-)

diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
index 25395685a9b8..94619be00d2a 100644
--- a/drivers/gpu/drm/drm_pagemap.c
+++ b/drivers/gpu/drm/drm_pagemap.c
@@ -843,3 +843,4 @@ int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
 
 	return err;
 }
+EXPORT_SYMBOL(drm_pagemap_populate_mm);
diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index e161ce3e67a1..a10aab3768d8 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -3,13 +3,17 @@
  * Copyright © 2024 Intel Corporation
  */
 
+#include <drm/drm_drv.h>
+
 #include "xe_bo.h"
 #include "xe_gt_stats.h"
 #include "xe_gt_tlb_invalidation.h"
 #include "xe_migrate.h"
 #include "xe_module.h"
+#include "xe_pm.h"
 #include "xe_pt.h"
 #include "xe_svm.h"
+#include "xe_tile.h"
 #include "xe_ttm_vram_mgr.h"
 #include "xe_vm.h"
 #include "xe_vm_types.h"
@@ -525,8 +529,10 @@ static struct xe_bo *to_xe_bo(struct drm_pagemap_devmem *devmem_allocation)
 static void xe_svm_devmem_release(struct drm_pagemap_devmem *devmem_allocation)
 {
 	struct xe_bo *bo = to_xe_bo(devmem_allocation);
+	struct xe_device *xe = xe_bo_device(bo);
 
 	xe_bo_put_async(bo);
+	xe_pm_runtime_put(xe);
 }
 
 static u64 block_offset_to_pfn(struct xe_vram_region *vr, u64 offset)
@@ -720,76 +726,63 @@ static struct xe_vram_region *tile_to_vr(struct xe_tile *tile)
 	return &tile->mem.vram;
 }
 
-/**
- * xe_svm_alloc_vram()- Allocate device memory pages for range,
- * migrating existing data.
- * @vm: The VM.
- * @tile: tile to allocate vram from
- * @range: SVM range
- * @ctx: DRM GPU SVM context
- *
- * Return: 0 on success, error code on failure.
- */
-int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
-		      struct xe_svm_range *range,
-		      const struct drm_gpusvm_ctx *ctx)
+static int xe_drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
+				      unsigned long start, unsigned long end,
+				      struct mm_struct *mm,
+				      unsigned long timeslice_ms)
 {
-	struct mm_struct *mm = vm->svm.gpusvm.mm;
+	struct xe_tile *tile = container_of(dpagemap, typeof(*tile), mem.vram.dpagemap);
+	struct xe_device *xe = tile_to_xe(tile);
+	struct device *dev = xe->drm.dev;
 	struct xe_vram_region *vr = tile_to_vr(tile);
 	struct drm_buddy_block *block;
 	struct list_head *blocks;
 	struct xe_bo *bo;
-	ktime_t end = 0;
-	int err;
-
-	if (!range->base.flags.migrate_devmem)
-		return -EINVAL;
+	ktime_t time_end = 0;
+	int err, idx;
 
-	range_debug(range, "ALLOCATE VRAM");
+	if (!drm_dev_enter(&xe->drm, &idx))
+		return -ENODEV;
 
-	if (!mmget_not_zero(mm))
-		return -EFAULT;
-	mmap_read_lock(mm);
+	xe_pm_runtime_get(xe);
 
-retry:
-	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL,
-				 xe_svm_range_size(range),
-				 ttm_bo_type_device,
+ retry:
+	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL, end - start,
+				 ttm_bo_type_kernel,
 				 XE_BO_FLAG_VRAM_IF_DGFX(tile) |
 				 XE_BO_FLAG_CPU_ADDR_MIRROR);
 	if (IS_ERR(bo)) {
 		err = PTR_ERR(bo);
-		if (xe_vm_validate_should_retry(NULL, err, &end))
+		if (xe_vm_validate_should_retry(NULL, err, &time_end))
 			goto retry;
-		goto unlock;
+		goto out_pm_put;
 	}
 
-	drm_pagemap_devmem_init(&bo->devmem_allocation,
-				vm->xe->drm.dev, mm,
+	drm_pagemap_devmem_init(&bo->devmem_allocation, dev, mm,
 				&dpagemap_devmem_ops,
 				&tile->mem.vram.dpagemap,
-				xe_svm_range_size(range));
+				end - start);
 
 	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)->blocks;
 	list_for_each_entry(block, blocks, link)
 		block->private = vr;
 
 	xe_bo_get(bo);
-	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation,
-					    mm,
-					    xe_svm_range_start(range),
-					    xe_svm_range_end(range),
-					    ctx->timeslice_ms,
-					    xe_svm_devm_owner(vm->xe));
+
+	/* Ensure the device has a pm ref while there are device pages active. */
+	xe_pm_runtime_get_noresume(xe);
+	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation, mm,
+					    start, end, timeslice_ms,
+					    xe_svm_devm_owner(xe));
 	if (err)
 		xe_svm_devmem_release(&bo->devmem_allocation);
 
 	xe_bo_unlock(bo);
 	xe_bo_put(bo);
 
-unlock:
-	mmap_read_unlock(mm);
-	mmput(mm);
+out_pm_put:
+	xe_pm_runtime_put(xe);
+	drm_dev_exit(idx);
 
 	return err;
 }
@@ -898,7 +891,7 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
 
 	if (--migrate_try_count >= 0 &&
 	    xe_svm_range_needs_migrate_to_vram(range, vma, IS_DGFX(vm->xe))) {
-		err = xe_svm_alloc_vram(vm, tile, range, &ctx);
+		err = xe_svm_alloc_vram(tile, range, &ctx);
 		ctx.timeslice_ms <<= 1;	/* Double timeslice if we have to retry */
 		if (err) {
 			if (migrate_try_count || !ctx.devmem_only) {
@@ -1054,6 +1047,30 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
 
 #if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
 
+/**
+ * xe_svm_alloc_vram()- Allocate device memory pages for range,
+ * migrating existing data.
+ * @vm: The VM.
+ * @tile: tile to allocate vram from
+ * @range: SVM range
+ * @ctx: DRM GPU SVM context
+ *
+ * Return: 0 on success, error code on failure.
+ */
+int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
+		      const struct drm_gpusvm_ctx *ctx)
+{
+	struct drm_pagemap *dpagemap;
+
+	range_debug(range, "ALLOCATE VRAM");
+
+	dpagemap = xe_tile_local_pagemap(tile);
+	return drm_pagemap_populate_mm(dpagemap, xe_svm_range_start(range),
+				       xe_svm_range_end(range),
+				       range->base.gpusvm->mm,
+				       ctx->timeslice_ms);
+}
+
 static struct drm_pagemap_device_addr
 xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
 			  struct device *dev,
@@ -1078,6 +1095,7 @@ xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
 
 static const struct drm_pagemap_ops xe_drm_pagemap_ops = {
 	.device_map = xe_drm_pagemap_device_map,
+	.populate_mm = xe_drm_pagemap_populate_mm,
 };
 
 /**
@@ -1130,7 +1148,7 @@ int xe_devm_add(struct xe_tile *tile, struct xe_vram_region *vr)
 	return 0;
 }
 #else
-int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
+int xe_svm_alloc_vram(struct xe_tile *tile,
 		      struct xe_svm_range *range,
 		      const struct drm_gpusvm_ctx *ctx)
 {
diff --git a/drivers/gpu/drm/xe/xe_svm.h b/drivers/gpu/drm/xe/xe_svm.h
index 19ce4f2754a7..da9a69ea0bb1 100644
--- a/drivers/gpu/drm/xe/xe_svm.h
+++ b/drivers/gpu/drm/xe/xe_svm.h
@@ -70,8 +70,7 @@ int xe_svm_bo_evict(struct xe_bo *bo);
 
 void xe_svm_range_debug(struct xe_svm_range *range, const char *operation);
 
-int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
-		      struct xe_svm_range *range,
+int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
 		      const struct drm_gpusvm_ctx *ctx);
 
 struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm, u64 addr,
@@ -237,10 +236,9 @@ void xe_svm_range_debug(struct xe_svm_range *range, const char *operation)
 {
 }
 
-static inline
-int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
-		      struct xe_svm_range *range,
-		      const struct drm_gpusvm_ctx *ctx)
+static inline int
+xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
+		  const struct drm_gpusvm_ctx *ctx)
 {
 	return -EOPNOTSUPP;
 }
diff --git a/drivers/gpu/drm/xe/xe_tile.h b/drivers/gpu/drm/xe/xe_tile.h
index eb939316d55b..066a3d0cea79 100644
--- a/drivers/gpu/drm/xe/xe_tile.h
+++ b/drivers/gpu/drm/xe/xe_tile.h
@@ -16,4 +16,15 @@ int xe_tile_init(struct xe_tile *tile);
 
 void xe_tile_migrate_wait(struct xe_tile *tile);
 
+#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
+static inline struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile)
+{
+	return &tile->mem.vram.dpagemap;
+}
+#else
+static inline struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile)
+{
+	return NULL;
+}
+#endif
 #endif
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 7140d8856bad..def493acb4d7 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2911,7 +2911,7 @@ static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_op *op)
 
 		if (xe_svm_range_needs_migrate_to_vram(svm_range, vma, region)) {
 			tile = &vm->xe->tiles[region_to_mem_type[region] - XE_PL_VRAM0];
-			err = xe_svm_alloc_vram(vm, tile, svm_range, &ctx);
+			err = xe_svm_alloc_vram(tile, svm_range, &ctx);
 			if (err) {
 				drm_dbg(&vm->xe->drm, "VRAM allocation failed, retry from userspace, asid=%u, gpusvm=%p, errno=%pe\n",
 					vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err));
-- 
2.49.0


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

* Re: [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (2 preceding siblings ...)
  2025-06-04  9:35 ` [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap " Thomas Hellström
@ 2025-06-04 10:01 ` Christian König
  2025-06-04 12:01   ` Thomas Hellström
  2025-06-04 11:26 ` ✓ CI.Patch_applied: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2) Patchwork
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Christian König @ 2025-06-04 10:01 UTC (permalink / raw)
  To: Thomas Hellström, intel-xe
  Cc: dri-devel, himal.prasad.ghimiray, apopple, airlied, Simona Vetter,
	felix.kuehling, Matthew Brost, dakr, Mrozek, Michal,
	Joonas Lahtinen, Kuehling, Felix, Yang, Philip

Hi Thomas,

please make sure to loop in Kuehling, Felix <Felix.Kuehling@amd.com> and Yang, Philip <Philip.Yang@amd.com> for that kind of stuff.

I'm absolutely not deep enough in the pagemap handling to judge any of that here.

Thanks,
Christian.

On 6/4/25 11:35, Thomas Hellström wrote:
> This patchset modifies the migration part of drm_gpusvm to drm_pagemap and
> adds a populate_mm() op to drm_pagemap.
> 
> The idea is that the device that receives a pagefault determines if it wants to
> migrate content and to where. It then calls the populate_mm() method of relevant
> drm_pagemap.
> 
> This functionality was mostly already in place, but hard-coded for xe only without
> going through a pagemap op. Since we might be dealing with separate devices moving
> forward, it also now becomes the responsibilit of the populate_mm() op to
> grab any necessary local device runtime pm references and keep them held while
> its pages are present in an mm (struct mm_struct).
> 
> On thing to decide here is whether the populate_mm() callback should sit on a
> struct drm_pagemap for now while we sort multi-device usability out or whether
> we should add it (or something equivalent) to struct dev_pagemap.
> 
> v2:
> - Rebase.
> 
> Matthew Brost (1):
>   drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
> 
> Thomas Hellström (2):
>   drm/pagemap: Add a populate_mm op
>   drm/xe: Implement and use the drm_pagemap populate_mm op
> 
>  Documentation/gpu/rfc/gpusvm.rst     |  12 +-
>  drivers/gpu/drm/Makefile             |   6 +-
>  drivers/gpu/drm/drm_gpusvm.c         | 760 +-----------------------
>  drivers/gpu/drm/drm_pagemap.c        | 846 +++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/Kconfig           |  10 +-
>  drivers/gpu/drm/xe/xe_bo_types.h     |   2 +-
>  drivers/gpu/drm/xe/xe_device_types.h |   2 +-
>  drivers/gpu/drm/xe/xe_svm.c          | 129 ++--
>  drivers/gpu/drm/xe/xe_svm.h          |  10 +-
>  drivers/gpu/drm/xe/xe_tile.h         |  11 +
>  drivers/gpu/drm/xe/xe_vm.c           |   2 +-
>  include/drm/drm_gpusvm.h             |  96 ---
>  include/drm/drm_pagemap.h            | 135 +++++
>  13 files changed, 1107 insertions(+), 914 deletions(-)
>  create mode 100644 drivers/gpu/drm/drm_pagemap.c
> 


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

* ✓ CI.Patch_applied: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (3 preceding siblings ...)
  2025-06-04 10:01 ` [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Christian König
@ 2025-06-04 11:26 ` Patchwork
  2025-06-04 11:27 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-04 11:26 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 6517275da428 drm-tip: 2025y-06m-04d-07h-29m-31s UTC integration manifest
=== git am output follows ===
.git/rebase-apply/patch:1891: trailing whitespace.
		.check_pages_threshold = IS_DGFX(vm->xe) &&		
warning: 1 line adds whitespace errors.
Applying: drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
Applying: drm/pagemap: Add a populate_mm op
Applying: drm/xe: Implement and use the drm_pagemap populate_mm op



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

* ✗ CI.checkpatch: warning for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (4 preceding siblings ...)
  2025-06-04 11:26 ` ✓ CI.Patch_applied: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2) Patchwork
@ 2025-06-04 11:27 ` Patchwork
  2025-06-04 11:28 ` ✓ CI.KUnit: success " Patchwork
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-04 11:27 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
202708c00696422fd217223bb679a353a5936e23
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit a9ef225fa9ffcfd9c2ca05ed667d63e053baf635
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date:   Wed Jun 4 11:35:36 2025 +0200

    drm/xe: Implement and use the drm_pagemap populate_mm op
    
    Add runtime PM since we might call populate_mm on a foreign device.
    Also create the VRAM bos as ttm_bo_type_kernel. This avoids the
    initial clearing and the creation of an mmap handle.
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
+ /mt/dim checkpatch 6517275da428d10d60b2762385ca7daa3a382754 drm-intel
10a1ca9ba720 drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
-:934: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#934: 
new file mode 100644

-:969: WARNING:REPEATED_WORD: Possible repeated word: 'Migration'
#969: FILE: drivers/gpu/drm/drm_pagemap.c:31:
+ * DOC: Migration
+ * Migration granularity typically follows the GPU SVM range requests, but

-:1210: CHECK:LINE_SPACING: Please don't use multiple blank lines
#1210: FILE: drivers/gpu/drm/drm_pagemap.c:272:
+
+

-:1328: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1328: FILE: drivers/gpu/drm/drm_pagemap.c:390:
+	err = drm_pagemap_migrate_map_pages(devmem_allocation->dev, dma_addr,
+					   migrate.src, npages, DMA_TO_DEVICE);

-:1355: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1355: FILE: drivers/gpu/drm/drm_pagemap.c:417:
+	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
+				       DMA_TO_DEVICE);

-:1383: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1383: FILE: drivers/gpu/drm/drm_pagemap.c:445:
+static int drm_pagemap_migrate_populate_ram_pfn(struct vm_area_struct *vas,
+					       struct page *fault_page,

-:1490: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1490: FILE: drivers/gpu/drm/drm_pagemap.c:552:
+	err = drm_pagemap_migrate_populate_ram_pfn(NULL, NULL, npages, &mpages,
+						  src, dst, 0);

-:1495: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1495: FILE: drivers/gpu/drm/drm_pagemap.c:557:
+	err = drm_pagemap_migrate_map_pages(devmem_allocation->dev, dma_addr,
+					   dst, npages, DMA_FROM_DEVICE);

-:1512: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1512: FILE: drivers/gpu/drm/drm_pagemap.c:574:
+	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
+				       DMA_FROM_DEVICE);

-:1545: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1545: FILE: drivers/gpu/drm/drm_pagemap.c:607:
+static int __drm_pagemap_migrate_to_ram(struct vm_area_struct *vas,
+				       void *device_private_page_owner,

-:1625: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1625: FILE: drivers/gpu/drm/drm_pagemap.c:687:
+	err = drm_pagemap_migrate_populate_ram_pfn(vas, page, npages, &mpages,
+						  migrate.src, migrate.dst,

-:1631: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1631: FILE: drivers/gpu/drm/drm_pagemap.c:693:
+	err = drm_pagemap_migrate_map_pages(dev, dma_addr, migrate.dst, npages,
+					   DMA_FROM_DEVICE);

-:1649: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1649: FILE: drivers/gpu/drm/drm_pagemap.c:711:
+		drm_pagemap_migrate_unmap_pages(dev, dma_addr, npages,
+					       DMA_FROM_DEVICE);

-:1760: WARNING:CONFIG_DESCRIPTION: please write a help paragraph that fully describes the config symbol with at least 4 lines
#1760: FILE: drivers/gpu/drm/xe/Kconfig:90:
+config DRM_XE_PAGEMAP
+	bool "Enable device memory pool for SVM"
 	depends on DRM_XE_GPUSVM
 	select GET_FREE_REGION
 	default y
 	help
+	  Disable this option only if you don't want to expose local device
+	  Disable this option only if you don't want to expose local device
+	  Disable this option only if you don't want to expose local device
+	  memory for SVM. Will reduce KMD memory footprint when disabled.
+
+	  If in doubut say "Y".
 
 config DRM_XE_FORCE_PROBE
 	string "Force probe xe for selected Intel hardware IDs"

-:1905: ERROR:TRAILING_WHITESPACE: trailing whitespace
#1905: FILE: drivers/gpu/drm/xe/xe_svm.c:859:
+^I^I.check_pages_threshold = IS_DGFX(vm->xe) &&^I^I$

-:2183: ERROR:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch author 'Matthew Brost <matthew.brost@intel.com>'

total: 2 errors, 3 warnings, 11 checks, 2079 lines checked
6494cc0808dd drm/pagemap: Add a populate_mm op
a9ef225fa9ff drm/xe: Implement and use the drm_pagemap populate_mm op



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

* ✓ CI.KUnit: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (5 preceding siblings ...)
  2025-06-04 11:27 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-06-04 11:28 ` Patchwork
  2025-06-04 11:39 ` ✓ CI.Build: " Patchwork
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-04 11:28 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[11:27:14] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:27:18] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[11:27:44] Starting KUnit Kernel (1/1)...
[11:27:44] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[11:27:44] ================== guc_buf (11 subtests) ===================
[11:27:44] [PASSED] test_smallest
[11:27:44] [PASSED] test_largest
[11:27:45] [PASSED] test_granular
[11:27:45] [PASSED] test_unique
[11:27:45] [PASSED] test_overlap
[11:27:45] [PASSED] test_reusable
[11:27:45] [PASSED] test_too_big
[11:27:45] [PASSED] test_flush
[11:27:45] [PASSED] test_lookup
[11:27:45] [PASSED] test_data
[11:27:45] [PASSED] test_class
[11:27:45] ===================== [PASSED] guc_buf =====================
[11:27:45] =================== guc_dbm (7 subtests) ===================
[11:27:45] [PASSED] test_empty
[11:27:45] [PASSED] test_default
[11:27:45] ======================== test_size  ========================
[11:27:45] [PASSED] 4
[11:27:45] [PASSED] 8
[11:27:45] [PASSED] 32
[11:27:45] [PASSED] 256
[11:27:45] ==================== [PASSED] test_size ====================
[11:27:45] ======================= test_reuse  ========================
[11:27:45] [PASSED] 4
[11:27:45] [PASSED] 8
[11:27:45] [PASSED] 32
[11:27:45] [PASSED] 256
[11:27:45] =================== [PASSED] test_reuse ====================
[11:27:45] =================== test_range_overlap  ====================
[11:27:45] [PASSED] 4
[11:27:45] [PASSED] 8
[11:27:45] [PASSED] 32
[11:27:45] [PASSED] 256
[11:27:45] =============== [PASSED] test_range_overlap ================
[11:27:45] =================== test_range_compact  ====================
[11:27:45] [PASSED] 4
[11:27:45] [PASSED] 8
[11:27:45] [PASSED] 32
[11:27:45] [PASSED] 256
[11:27:45] =============== [PASSED] test_range_compact ================
[11:27:45] ==================== test_range_spare  =====================
[11:27:45] [PASSED] 4
[11:27:45] [PASSED] 8
[11:27:45] [PASSED] 32
[11:27:45] [PASSED] 256
[11:27:45] ================ [PASSED] test_range_spare =================
[11:27:45] ===================== [PASSED] guc_dbm =====================
[11:27:45] =================== guc_idm (6 subtests) ===================
[11:27:45] [PASSED] bad_init
[11:27:45] [PASSED] no_init
[11:27:45] [PASSED] init_fini
[11:27:45] [PASSED] check_used
[11:27:45] [PASSED] check_quota
[11:27:45] [PASSED] check_all
[11:27:45] ===================== [PASSED] guc_idm =====================
[11:27:45] ================== no_relay (3 subtests) ===================
[11:27:45] [PASSED] xe_drops_guc2pf_if_not_ready
[11:27:45] [PASSED] xe_drops_guc2vf_if_not_ready
[11:27:45] [PASSED] xe_rejects_send_if_not_ready
[11:27:45] ==================== [PASSED] no_relay =====================
[11:27:45] ================== pf_relay (14 subtests) ==================
[11:27:45] [PASSED] pf_rejects_guc2pf_too_short
[11:27:45] [PASSED] pf_rejects_guc2pf_too_long
[11:27:45] [PASSED] pf_rejects_guc2pf_no_payload
[11:27:45] [PASSED] pf_fails_no_payload
[11:27:45] [PASSED] pf_fails_bad_origin
[11:27:45] [PASSED] pf_fails_bad_type
[11:27:45] [PASSED] pf_txn_reports_error
[11:27:45] [PASSED] pf_txn_sends_pf2guc
[11:27:45] [PASSED] pf_sends_pf2guc
[11:27:45] [SKIPPED] pf_loopback_nop
[11:27:45] [SKIPPED] pf_loopback_echo
[11:27:45] [SKIPPED] pf_loopback_fail
[11:27:45] [SKIPPED] pf_loopback_busy
[11:27:45] [SKIPPED] pf_loopback_retry
[11:27:45] ==================== [PASSED] pf_relay =====================
[11:27:45] ================== vf_relay (3 subtests) ===================
[11:27:45] [PASSED] vf_rejects_guc2vf_too_short
[11:27:45] [PASSED] vf_rejects_guc2vf_too_long
[11:27:45] [PASSED] vf_rejects_guc2vf_no_payload
[11:27:45] ==================== [PASSED] vf_relay =====================
[11:27:45] ================= pf_service (11 subtests) =================
[11:27:45] [PASSED] pf_negotiate_any
[11:27:45] [PASSED] pf_negotiate_base_match
[11:27:45] [PASSED] pf_negotiate_base_newer
[11:27:45] [PASSED] pf_negotiate_base_next
[11:27:45] [SKIPPED] pf_negotiate_base_older
[11:27:45] [PASSED] pf_negotiate_base_prev
[11:27:45] [PASSED] pf_negotiate_latest_match
[11:27:45] [PASSED] pf_negotiate_latest_newer
[11:27:45] [PASSED] pf_negotiate_latest_next
[11:27:45] [SKIPPED] pf_negotiate_latest_older
[11:27:45] [SKIPPED] pf_negotiate_latest_prev
[11:27:45] =================== [PASSED] pf_service ====================
[11:27:45] ===================== lmtt (1 subtest) =====================
[11:27:45] ======================== test_ops  =========================
[11:27:45] [PASSED] 2-level
[11:27:45] [PASSED] multi-level
[11:27:45] ==================== [PASSED] test_ops =====================
[11:27:45] ====================== [PASSED] lmtt =======================
[11:27:45] =================== xe_mocs (2 subtests) ===================
[11:27:45] ================ xe_live_mocs_kernel_kunit  ================
[11:27:45] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[11:27:45] ================ xe_live_mocs_reset_kunit  =================
[11:27:45] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[11:27:45] ==================== [SKIPPED] xe_mocs =====================
[11:27:45] ================= xe_migrate (2 subtests) ==================
[11:27:45] ================= xe_migrate_sanity_kunit  =================
[11:27:45] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[11:27:45] ================== xe_validate_ccs_kunit  ==================
[11:27:45] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[11:27:45] =================== [SKIPPED] xe_migrate ===================
[11:27:45] ================== xe_dma_buf (1 subtest) ==================
[11:27:45] ==================== xe_dma_buf_kunit  =====================
[11:27:45] ================ [SKIPPED] xe_dma_buf_kunit ================
[11:27:45] =================== [SKIPPED] xe_dma_buf ===================
[11:27:45] ================= xe_bo_shrink (1 subtest) =================
[11:27:45] =================== xe_bo_shrink_kunit  ====================
[11:27:45] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[11:27:45] ================== [SKIPPED] xe_bo_shrink ==================
[11:27:45] ==================== xe_bo (2 subtests) ====================
[11:27:45] ================== xe_ccs_migrate_kunit  ===================
[11:27:45] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[11:27:45] ==================== xe_bo_evict_kunit  ====================
[11:27:45] =============== [SKIPPED] xe_bo_evict_kunit ================
[11:27:45] ===================== [SKIPPED] xe_bo ======================
[11:27:45] ==================== args (11 subtests) ====================
[11:27:45] [PASSED] count_args_test
[11:27:45] [PASSED] call_args_example
[11:27:45] [PASSED] call_args_test
[11:27:45] [PASSED] drop_first_arg_example
[11:27:45] [PASSED] drop_first_arg_test
[11:27:45] [PASSED] first_arg_example
[11:27:45] [PASSED] first_arg_test
[11:27:45] [PASSED] last_arg_example
[11:27:45] [PASSED] last_arg_test
[11:27:45] [PASSED] pick_arg_example
[11:27:45] [PASSED] sep_comma_example
[11:27:45] ====================== [PASSED] args =======================
[11:27:45] =================== xe_pci (2 subtests) ====================
[11:27:45] [PASSED] xe_gmdid_graphics_ip
[11:27:45] [PASSED] xe_gmdid_media_ip
[11:27:45] ===================== [PASSED] xe_pci ======================
[11:27:45] =================== xe_rtp (2 subtests) ====================
[11:27:45] =============== xe_rtp_process_to_sr_tests  ================
[11:27:45] [PASSED] coalesce-same-reg
[11:27:45] [PASSED] no-match-no-add
[11:27:45] [PASSED] match-or
[11:27:45] [PASSED] match-or-xfail
[11:27:45] [PASSED] no-match-no-add-multiple-rules
[11:27:45] [PASSED] two-regs-two-entries
[11:27:45] [PASSED] clr-one-set-other
[11:27:45] [PASSED] set-field
[11:27:45] [PASSED] conflict-duplicate
[11:27:45] [PASSED] conflict-not-disjoint
stty: 'standard input': Inappropriate ioctl for device
[11:27:45] [PASSED] conflict-reg-type
[11:27:45] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[11:27:45] ================== xe_rtp_process_tests  ===================
[11:27:45] [PASSED] active1
[11:27:45] [PASSED] active2
[11:27:45] [PASSED] active-inactive
[11:27:45] [PASSED] inactive-active
[11:27:45] [PASSED] inactive-1st_or_active-inactive
[11:27:45] [PASSED] inactive-2nd_or_active-inactive
[11:27:45] [PASSED] inactive-last_or_active-inactive
[11:27:45] [PASSED] inactive-no_or_active-inactive
[11:27:45] ============== [PASSED] xe_rtp_process_tests ===============
[11:27:45] ===================== [PASSED] xe_rtp ======================
[11:27:45] ==================== xe_wa (1 subtest) =====================
[11:27:45] ======================== xe_wa_gt  =========================
[11:27:45] [PASSED] TIGERLAKE (B0)
[11:27:45] [PASSED] DG1 (A0)
[11:27:45] [PASSED] DG1 (B0)
[11:27:45] [PASSED] ALDERLAKE_S (A0)
[11:27:45] [PASSED] ALDERLAKE_S (B0)
[11:27:45] [PASSED] ALDERLAKE_S (C0)
[11:27:45] [PASSED] ALDERLAKE_S (D0)
[11:27:45] [PASSED] ALDERLAKE_P (A0)
[11:27:45] [PASSED] ALDERLAKE_P (B0)
[11:27:45] [PASSED] ALDERLAKE_P (C0)
[11:27:45] [PASSED] ALDERLAKE_S_RPLS (D0)
[11:27:45] [PASSED] ALDERLAKE_P_RPLU (E0)
[11:27:45] [PASSED] DG2_G10 (C0)
[11:27:45] [PASSED] DG2_G11 (B1)
[11:27:45] [PASSED] DG2_G12 (A1)
[11:27:45] [PASSED] METEORLAKE (g:A0, m:A0)
[11:27:45] [PASSED] METEORLAKE (g:A0, m:A0)
[11:27:45] [PASSED] METEORLAKE (g:A0, m:A0)
[11:27:45] [PASSED] LUNARLAKE (g:A0, m:A0)
[11:27:45] [PASSED] LUNARLAKE (g:B0, m:A0)
[11:27:45] [PASSED] BATTLEMAGE (g:A0, m:A1)
[11:27:45] ==================== [PASSED] xe_wa_gt =====================
[11:27:45] ====================== [PASSED] xe_wa ======================
[11:27:45] ============================================================
[11:27:45] Testing complete. Ran 133 tests: passed: 117, skipped: 16
[11:27:45] Elapsed time: 31.035s total, 4.153s configuring, 26.565s building, 0.296s running

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

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

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



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

* ✓ CI.Build: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (6 preceding siblings ...)
  2025-06-04 11:28 ` ✓ CI.KUnit: success " Patchwork
@ 2025-06-04 11:39 ` Patchwork
  2025-06-04 11:41 ` ✗ CI.Hooks: failure " Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-04 11:39 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
State : success

== Summary ==

INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx8111.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx4581.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx6110.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx8010.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx8025.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx8111.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx8581.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-s35390a.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-sd3078.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-stk17ta8.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-rx8581.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-s35390a.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-sd3078.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-tps6586x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-stk17ta8.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-tps6594.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-tps65910.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-wilco-ec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-wm831x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-tps6586x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-tps6594.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-tps65910.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-wilco-ec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-wm831x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-wm8350.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-x1205.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/algos/i2c-algo-bit.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/algos/i2c-algo-pca.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-wm8350.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/rtc/rtc-x1205.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/algos/i2c-algo-bit.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/algos/i2c-algo-pca.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-scmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ccgx-ucsi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ali1535.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ali1563.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ali15x3.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-scmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ccgx-ucsi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ali1535.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ali1563.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd756.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ali15x3.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd8111.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cht-wc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-i801.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd756.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd8111.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cht-wc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-i801.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-isch.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ismt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-nforce2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-isch.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-nvidia-gpu.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ismt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-nforce2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-piix4.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-sis5595.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-sis630.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-nvidia-gpu.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-sis96x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-via.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-piix4.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-sis5595.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-sis630.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viapro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-sis96x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-via.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viai2c-zhaoxin.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viai2c-common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd-mp2-pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viapro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viai2c-zhaoxin.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viai2c-common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd-mp2-pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd-mp2-plat.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cbus-gpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-designware-pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-gpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-kempld.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-amd-mp2-plat.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cbus-gpio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-designware-pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-gpio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-kempld.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ocores.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-pca-platform.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-simtec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-xiic.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ocores.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-pca-platform.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-simtec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-xiic.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-diolan-u2c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-dln2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ljca.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cp2615.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-diolan-u2c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-dln2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-ljca.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cp2615.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-parport.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-mchp-pci1xxxx.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-robotfuzz-osif.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-taos-evm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-tiny-usb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-parport.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-mchp-pci1xxxx.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-robotfuzz-osif.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-taos-evm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viperboard.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-tiny-usb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cros-ec-tunnel.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-mlxcpld.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-virtio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-viperboard.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-cros-ec-tunnel.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-mlxcpld.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/busses/i2c-virtio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-gpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-ltc4306.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-mlxcpld.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-pca9541.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-gpio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-ltc4306.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-mlxcpld.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-pca9541.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-pca954x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-reg.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/i2c-smbus.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/i2c-mux.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/i2c-stub.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-pca954x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/muxes/i2c-mux-reg.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/i2c-smbus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/i2c-mux.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i2c/i2c-stub.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/i3c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/i3c-master-cdns.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/dw-i3c-master.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/svc-i3c-master.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/i3c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/i3c-master-cdns.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/dw-i3c-master.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/svc-i3c-master.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-alink-dtu-m.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-anysee.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-apac-viewcomp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-alink-dtu-m.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-anysee.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-apac-viewcomp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-astrometa-t2hybrid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-astrometa-t2hybrid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-ati-x10.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-a16d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-cardbus.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-ati-x10.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-a16d.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-cardbus.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-m135a.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-rm-ks.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-m135a.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avermedia-rm-ks.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avertv-303.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-beelink-gs1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-beelink-mxiii.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-behold-columbus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-avertv-303.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-beelink-gs1.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-beelink-mxiii.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-behold.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-behold-columbus.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-budget-ci-old.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-cinergy-1400.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-cinergy.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-behold.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-budget-ci-old.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-cinergy-1400.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-cinergy.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-ct-90405.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-d680-dmb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-delock-61959.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dib0700-nec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-ct-90405.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-d680-dmb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-delock-61959.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dib0700-rc5.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dib0700-nec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-digittrade.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dm1105-nec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dib0700-rc5.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-digittrade.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dm1105-nec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dreambox.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dtt200u.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dreambox.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dvbsky.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dvico-mce.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dtt200u.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dvico-portable.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-em-terratec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dvbsky.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dvico-mce.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-encore-enltv2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-dvico-portable.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-em-terratec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-encore-enltv-fm53.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-encore-enltv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-encore-enltv2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-evga-indtube.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-encore-enltv-fm53.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-encore-enltv.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-eztv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-evga-indtube.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-flydvb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-flyvideo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-fusionhdtv-mce.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-eztv.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-gadmei-rm008z.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-flydvb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-flyvideo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-fusionhdtv-mce.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-geekbox.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-gadmei-rm008z.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-gotview7135.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-geekbox.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-hauppauge.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-hisi-poplar.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-gotview7135.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-hisi-tv-demo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-imon-mce.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-hauppauge.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-hisi-poplar.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-imon-pad.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-hisi-tv-demo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-imon-mce.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-imon-rsc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-iodata-bctv7e.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-imon-pad.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-it913x-v1.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-imon-rsc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-iodata-bctv7e.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-it913x-v2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kaiomy.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-it913x-v1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-khadas.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-khamsin.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/kallsyms
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/sorttable
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-it913x-v2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kaiomy.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/asn1_compiler
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kworld-315u.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-khadas.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kworld-pc150u.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-khamsin.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kworld-315u.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-leadtek-y04g0051.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kworld-pc150u.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-lme2510.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/basic/fixdep
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/genksyms/genksyms.o
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-manli.ko
  YACC    debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/genksyms/parse.tab.[ch]
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-leadtek-y04g0051.ko
  LEX     debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/genksyms/lex.lex.c
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-mecool-kiii-pro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-lme2510.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-mecool-kii-pro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-manli.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-medion-x10-digitainer.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-mecool-kiii-pro.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-medion-x10.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-mecool-kii-pro.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-medion-x10-or2x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-medion-x10-digitainer.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-minix-neo.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/selinux/mdp/mdp
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-medion-x10.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-digivox-iii.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-medion-x10-or2x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-digivox-ii.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-minix-neo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-digivox-iii.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-digivox-ii.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-mygica-utv3.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/sign-file
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-nebula.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/insert-sys-cert
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/mod/modpost.o
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/mod/file2alias.o
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-mygica-utv3.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/mod/sumversion.o
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-nebula.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/mod/symsearch.o
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-norwood.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-npgtech.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-odroid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pctv-sedna.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-norwood.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pine64.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-npgtech.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-odroid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pctv-sedna.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pinnacle-color.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pinnacle-grey.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pine64.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pinnacle-color.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pinnacle-grey.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview-002t.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview-mk12.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview-new.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview-002t.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview-mk12.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview-new.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pixelview.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-proteus-2309.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-purpletv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-proteus-2309.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pv951.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-purpletv.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-rc6-mce.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-pv951.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-reddo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-siemens-gigaset-rc20.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-rc6-mce.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-snapstream-firefly.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-streamzap.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-reddo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-siemens-gigaset-rc20.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-su3000.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-snapstream-firefly.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-streamzap.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tanix-tx3mini.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-su3000.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tanix-tx5max.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tanix-tx3mini.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tbs-nec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-technisat-ts35.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tanix-tx5max.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-technisat-usb2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tbs-nec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-technisat-ts35.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-c-pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-s2-hd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-technisat-usb2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-c-pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-s2-hd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-slim-2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-slim.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tevii-nec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-slim-2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tivo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-terratec-slim.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tevii-nec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-total-media-in-hand-02.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-total-media-in-hand.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tivo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-trekstor.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-total-media-in-hand-02.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-total-media-in-hand.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tt-1500.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-trekstor.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-twinhan1027.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-twinhan-dtv-cab-ci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-tt-1500.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-vega-s9x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-twinhan1027.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-twinhan-dtv-cab-ci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videomate-m1f.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videomate-s350.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-vega-s9x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videomate-tv-pvr.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videomate-m1f.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videomate-s350.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videostrong-kii-pro.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-wetek-hub.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videomate-tv-pvr.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-wetek-play2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-winfast.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-videostrong-kii-pro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-wetek-hub.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-wetek-play2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-winfast.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-x96max.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-xbox-360.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-x96max.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-xbox-360.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-xbox-dvd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-zx-irdec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/rc-core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-imon-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-xbox-dvd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/keymaps/rc-zx-irdec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-jvc-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/rc-core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-imon-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-mce_kbd-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-nec-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-jvc-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-rc5-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-mce_kbd-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-nec-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-rc6-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-rc5-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-rcmm-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-sanyo-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-rc6-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-sharp-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-rcmm-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-sanyo-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-sony-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-xmp-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-sharp-decoder.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ene_ir.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/fintek-cir.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-sony-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir-xmp-decoder.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ene_ir.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/fintek-cir.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/igorplugusb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/iguanair.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/imon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/imon_raw.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/igorplugusb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/iguanair.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/imon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/imon_raw.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ite-cir.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/mceusb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/nuvoton-cir.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/redrat3.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ite-cir.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/mceusb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/nuvoton-cir.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/serial_ir.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/streamzap.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/redrat3.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir_toy.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ttusbir.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/serial_ir.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/streamzap.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ir_toy.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/winbond-cir.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ttusbir.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ati_remote.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/rc-loopback.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/xbox_remote.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/winbond-cir.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/ati_remote.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/rc-loopback.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/core/cec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/rc/xbox_remote.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/i2c/ch7322.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/i2c/tda9950.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/platform/cros-ec/cros-ec-cec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/core/cec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/i2c/ch7322.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/i2c/tda9950.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/platform/cros-ec/cros-ec-cec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/platform/cec-gpio/cec-gpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/platform/seco/seco-cec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/usb/pulse8/pulse8-cec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/usb/rainshadow/rainshadow-cec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/pps/clients/pps-ldisc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/platform/cec-gpio/cec-gpio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/platform/seco/seco-cec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/usb/rainshadow/rainshadow-cec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/media/cec/usb/pulse8/pulse8-cec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/pps/clients/pps-ldisc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/pps/clients/pps_parport.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/pps/clients/pps-gpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_ines.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_kvm.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/pps/clients/pps_parport.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/pps/clients/pps-gpio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_ines.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_kvm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_vmclock.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_clockmatrix.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_fc3.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_idt82p33.ko
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/genksyms/parse.tab.o
  HOSTCC  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/genksyms/lex.lex.o
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_vmclock.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_clockmatrix.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_fc3.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_idt82p33.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_mock.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_vmw.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_ocp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/reset/atc260x-poweroff.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_mock.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_vmw.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ptp/ptp_ocp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/reset/atc260x-poweroff.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ip5xxx_power.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8925_power.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wm831x_backup.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wm831x_power.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ip5xxx_power.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8925_power.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wm831x_backup.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wm8350_power.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/test_power.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wm831x_power.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/88pm860x_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wm8350_power.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/adp5061.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/test_power.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cw2015_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/88pm860x_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2760_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/adp5061.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cw2015_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2780_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2760_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2781_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2780_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2782_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2781_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ltc2941-battery-gauge.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/goldfish_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ds2782_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/sbs-battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ltc2941-battery-gauge.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/goldfish_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/sbs-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/sbs-manager.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/sbs-battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq27xxx_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/sbs-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/sbs-manager.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq27xxx_battery_i2c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq27xxx_battery_hdq.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq27xxx_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq27xxx_battery_i2c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq27xxx_battery_hdq.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/da9030_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/da9052-battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/da9150-fg.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max17042_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max1720x_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/da9030_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/da9052-battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/da9150-fg.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max17042_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max1721x_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max1720x_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt5033_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt5033_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max1721x_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt5033_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt5033_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt9455_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt9467-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt9471.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/88pm860x_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt9455_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt9467-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/isp1704_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/rt9471.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8903_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/88pm860x_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/lp8727_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/isp1704_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8903_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/gpio-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/lp8727_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/lt3651-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ltc4162-l-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/gpio-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/lt3651-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ltc4162-l-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max14577_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max77693_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max77976_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max14577_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8997_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max77693_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max77976_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8998_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/mt6360_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8997_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq2415x_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/max8998_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/mt6360_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq24190_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq2415x_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq24257_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq24735-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq24190_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq2515x_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq24257_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq24735-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq25890_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq25980_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq2515x_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq256xx_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq25890_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq25980_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/smb347-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bq256xx_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/tps65090-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/axp288_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cros_charge-control.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/smb347-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/tps65090-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/axp288_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cros_usbpd-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cros_charge-control.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cros_peripheral_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bd99954-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cros_usbpd-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/cros_peripheral_charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/bd99954-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wilco-charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/surface_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/surface_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ug3105_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/wilco-charger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/surface_battery.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/surface_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/mm8013.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/ug3105_battery.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/sequencing/pwrseq-core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hwmon-vid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/acpi_power_meter.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus_atk0110.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/supply/mm8013.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/power/sequencing/pwrseq-core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hwmon-vid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/acpi_power_meter.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus-ec-sensors.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus_atk0110.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus_wmi_sensors.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hp-wmi-sensors.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asb100.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus-ec-sensors.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus_wmi_sensors.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hp-wmi-sensors.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83627hf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asb100.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83773g.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83792d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83793.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83627hf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83773g.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83795.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83792d.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83793.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83781d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83791d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/abituguru.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83795.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/abituguru3.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83781d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ad7314.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83791d.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/abituguru.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ad7414.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/abituguru3.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ad7314.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ad7418.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adc128d818.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ad7414.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adcxx.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ad7418.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adc128d818.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1025.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adcxx.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1026.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1029.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1031.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1177.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1025.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1026.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1029.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1031.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm1177.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm9240.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ads7828.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ads7871.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7x10.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7310.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adm9240.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ads7828.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ads7871.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7x10.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7310.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7410.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7411.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7462.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7470.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7410.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7411.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7462.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7470.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7475.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/aht10.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/applesmc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/aquacomputer_d5next.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/as370-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/adt7475.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/aht10.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/applesmc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/aquacomputer_d5next.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asc7621.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/as370-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus_rog_ryujin.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/atxp1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/axi-fan-control.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/chipcap2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asc7621.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/asus_rog_ryujin.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/atxp1.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/axi-fan-control.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/chipcap2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/coretemp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/corsair-cpro.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/corsair-psu.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/cros_ec_hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/coretemp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/corsair-cpro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/corsair-psu.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/cros_ec_hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/da9052-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/da9055-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/dell-smm-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/dme1737.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/da9052-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/da9055-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/dell-smm-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/dme1737.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/drivetemp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ds620.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ds1621.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc1403.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc2103.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/drivetemp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ds620.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ds1621.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc1403.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc2103.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc2305.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc6w201.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/f71805f.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/f71882fg.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc2305.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/emc6w201.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/f71805f.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/f75375s.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/f71882fg.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/fam15h_power.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/fschmd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ftsteutates.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/g760a.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/f75375s.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/fam15h_power.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/fschmd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ftsteutates.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/g760a.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/g762.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/gigabyte_waterforce.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/gl518sm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/gl520sm.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/g762.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/gigabyte_waterforce.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/gl518sm.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/gl520sm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hih6130.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hs3001.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/i5500_temp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/i5k_amb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ibmaem.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hih6130.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/hs3001.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/i5500_temp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/i5k_amb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ibmaem.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ibmpex.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina209.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina2xx.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina238.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ibmpex.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina209.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina2xx.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina3221.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/intel-m10-bmc-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina238.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/it87.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/jc42.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/k8temp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ina3221.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/intel-m10-bmc-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/it87.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/jc42.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/k8temp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/k10temp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lenovo-ec-sensors.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lineage-pem.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm63.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm70.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/k10temp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lenovo-ec-sensors.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lineage-pem.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm63.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm70.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm73.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm75.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm77.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm78.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm73.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm75.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm77.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm78.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm80.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm83.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm85.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm87.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm90.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm80.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm83.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm85.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm87.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm92.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm90.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm93.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm95234.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm95241.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm92.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm93.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm95234.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm95241.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm95245.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2945.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2947-core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2947-i2c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2947-spi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/lm95245.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2945.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2947-core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2947-i2c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2947-spi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2990.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2991.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2992.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4151.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2990.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2991.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc2992.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4151.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4215.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4222.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4245.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4260.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4261.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4215.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4222.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4245.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4260.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4282.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4261.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max1111.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max127.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max16065.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/ltc4282.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max1111.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max127.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max16065.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max1619.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max1668.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max197.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31722.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31730.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max1619.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max1668.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max197.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31722.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31730.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31760.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6620.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6621.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6639.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31760.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6620.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6621.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6639.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6650.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6697.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31790.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31827.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mc13783-adc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6650.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max6697.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31790.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/max31827.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mc13783-adc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mc34vr500.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mcp3021.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tc654.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tps23861.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mc34vr500.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mcp3021.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tc654.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tps23861.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mlxreg-fan.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/menf21bmc_hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mr75203.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6683.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6775-core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mlxreg-fan.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/menf21bmc_hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/mr75203.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6683.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6775-core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6775.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6775-i2c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct7802.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct7904.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6775.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct6775-i2c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct7802.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nct7904.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/npcm750-pwm-fan.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nzxt-kraken2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nzxt-kraken3.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nzxt-smart2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/npcm750-pwm-fan.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nzxt-kraken2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nzxt-kraken3.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/oxp-sensors.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/nzxt-smart2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pc87360.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pc87427.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pcf8591.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/oxp-sensors.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/powerz.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pc87360.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pc87427.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pcf8591.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/powr1220.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pt5161l.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/powerz.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pwm-fan.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sbtsi_temp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/powr1220.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pt5161l.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pwm-fan.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sbtsi_temp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sbrmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sch56xx-common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sch5627.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sch5636.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sbrmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht15.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht21.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sch56xx-common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sch5627.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sch5636.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht3x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht4x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht15.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht21.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/shtc1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sis5595.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht3x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sht4x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smpro-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/shtc1.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sis5595.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smsc47b397.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smsc47m1.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smpro-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smsc47m192.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/stts751.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smsc47b397.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smsc47m1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/surface_fan.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sy7636a-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/smsc47m192.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/stts751.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/amc6821.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/surface_fan.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/sy7636a-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tc74.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/thmc50.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/amc6821.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp102.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tc74.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/thmc50.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp103.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp108.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp102.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp401.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp421.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp103.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp108.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp464.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp401.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp421.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp513.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/via-cputemp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/via686a.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp464.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/vt1211.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/tmp513.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/via-cputemp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/vt8231.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/via686a.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83627ehf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/vt1211.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83l785ts.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83l786ng.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/vt8231.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83627ehf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/wm831x-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83l785ts.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/w83l786ng.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/wm8350-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/xgene-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/occ/occ-hwmon-common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/wm831x-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/occ/occ-p8-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/wm8350-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/xgene-hwmon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/occ/occ-hwmon-common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/peci/peci-cputemp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/occ/occ-p8-hwmon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/peci/peci-dimmtemp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pmbus_core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/peci/peci-cputemp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pmbus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/peci/peci-dimmtemp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pmbus_core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/acbel-fsg032.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/adm1266.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pmbus.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/adm1275.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/adp1050.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/acbel-fsg032.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/adm1266.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/bel-pfe.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/adm1275.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/adp1050.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/bpa-rs600.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/delta-ahe50dc-fan.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/bel-pfe.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/fsp-3y.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ibm-cffps.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/bpa-rs600.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/delta-ahe50dc-fan.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/dps920ab.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/fsp-3y.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ibm-cffps.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/inspur-ipsps.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ir35221.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ir36021.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/dps920ab.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/inspur-ipsps.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ir35221.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ir36021.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ir38064.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/irps5401.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/isl68137.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/lm25066.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ir38064.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/irps5401.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/isl68137.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/lt7182s.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/lm25066.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ltc2978.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ltc3815.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max15301.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/lt7182s.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ltc2978.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max16064.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ltc3815.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max15301.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max16601.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max20730.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max16064.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max20751.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max31785.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max16601.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max20730.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max34440.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max20751.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max31785.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max8688.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2856.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2888.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max34440.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2891.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/max8688.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2856.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2888.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2975.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2891.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2993.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp5023.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2975.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp2993.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp5023.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp5920.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp5990.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp9941.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mpq7932.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mpq8785.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp5920.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp5990.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mp9941.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mpq7932.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pli1209bc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/mpq8785.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pm6764tr.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pxe1610.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/q54sj108a2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pli1209bc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pm6764tr.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pxe1610.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/q54sj108a2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/stpddc60.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tda38640.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tps40422.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/stpddc60.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tda38640.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tps53679.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tps40422.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tps546d24.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ucd9000.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ucd9200.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/xdp710.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tps53679.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/tps546d24.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ucd9000.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/ucd9200.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/xdp710.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/xdpe12284.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/xdpe152c4.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/zl6100.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pim4328.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/xdpe12284.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/xdpe152c4.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/zl6100.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_powerclamp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hwmon/pmbus/pim4328.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/x86_pkg_temp_thermal.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_soc_dts_iosf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_soc_dts_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_powerclamp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/x86_pkg_temp_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_soc_dts_iosf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3400_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_soc_dts_thermal.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3402_thermal.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3403_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3400_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3402_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3403_thermal.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_device.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3401_thermal.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci_legacy.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_device.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3401_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci_legacy.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_rapl.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_wt_req.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_wt_hint.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_rapl.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_wt_req.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_wt_hint.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_power_floor.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3406_thermal.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_bxt_pmic_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/processor_thermal_power_floor.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/int3406_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_pch_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_bxt_pmic_thermal.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_tcc_cooling.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pretimeout_panic.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pcwd_pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_pch_thermal.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/thermal/intel/intel_tcc_cooling.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wdt_pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pretimeout_panic.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pcwd_pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pcwd_usb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/cadence_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/twl4030_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wdt_pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/dw_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pcwd_usb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/cadence_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/twl4030_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/retu_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/dw_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/acquirewdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/advantechwdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/advantech_ec_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/retu_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/acquirewdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/advantechwdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/alim1535_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/advantech_ec_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/alim7101_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ebc-c384_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/exar_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/alim1535_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/alim7101_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ebc-c384_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/exar_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/f71808e_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sp5100_tco.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sbc_fitpc2_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/eurotechwdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ib700wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/f71808e_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sp5100_tco.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sbc_fitpc2_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/eurotechwdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ib700wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ibmasr.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wafer5823wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/i6300esb.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ie6xx_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ibmasr.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wafer5823wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/i6300esb.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ie6xx_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/iTCO_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/lenovo_se10_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/iTCO_vendor_support.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/it8712f_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/it87_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/iTCO_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/lenovo_se10_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/iTCO_vendor_support.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/it8712f_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/it87_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/hpwdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/kempld_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sc1200wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pc87413_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/hpwdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/kempld_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sc1200wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/pc87413_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/nv_tco.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sbc60xxwdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sch311x_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/smsc37b787_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/nv_tco.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sbc60xxwdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sch311x_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/tqmx86_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/smsc37b787_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/via_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/w83627hf_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/w83877f_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/w83977f_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/tqmx86_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/via_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/w83627hf_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/w83877f_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/w83977f_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/machzwd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sbc_epx_c3.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/mei_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ni903x_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/machzwd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/sbc_epx_c3.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/mei_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/nic7018_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ni903x_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/mlx_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/simatic-ipc-wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/of_xilinx_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/mena21_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/nic7018_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/mlx_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/simatic-ipc-wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/of_xilinx_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/xen_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/mena21_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/cros_ec_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9052_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9055_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/xen_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/cros_ec_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9052_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9055_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9062_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9063_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wdat_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wm831x_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9062_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/da9063_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wdat_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wm831x_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wm8350_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/max63xx_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ziirave_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/menf21bmc_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/menz69_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/wm8350_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/max63xx_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/ziirave_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/menf21bmc_wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/menz69_wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/rave-sp-wdt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid0.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid10.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/watchdog/rave-sp-wdt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid0.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid456.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid10.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/bcache/bcache.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-unstripe.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-bufio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-bio-prison.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-crypt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/raid456.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-unstripe.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-bufio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-bio-prison.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/bcache/bcache.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-delay.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-crypt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-flakey.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-multipath.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-round-robin.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-queue-length.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-delay.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-flakey.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-multipath.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-round-robin.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-queue-length.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-service-time.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-historical-service-time.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-io-affinity.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-switch.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-service-time.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-historical-service-time.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-io-affinity.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-switch.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-snapshot.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/persistent-data/dm-persistent-data.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-mirror.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-log.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-region-hash.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-snapshot.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/persistent-data/dm-persistent-data.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-mirror.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-log.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-log-userspace.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-region-hash.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-zero.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-raid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-thin-pool.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-verity.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-vdo/dm-vdo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-log-userspace.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-zero.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-raid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-thin-pool.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-verity.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-cache.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-cache-smq.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-ebs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-era.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-vdo/dm-vdo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-cache.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-cache-smq.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-ebs.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-era.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-clone.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-log-writes.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-integrity.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-zoned.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-writecache.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-clone.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-log-writes.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-integrity.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-zoned.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/md/dm-writecache.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/edac_mce_amd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i5100_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i5400_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i7300_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i7core_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/edac_mce_amd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i5100_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i5400_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i7300_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i7core_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/sb_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/pnd2_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/igen6_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/e752x_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/sb_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/pnd2_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/igen6_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i82975x_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/e752x_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i3000_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i3200_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/ie31200_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/x38_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i82975x_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i3000_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i3200_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/ie31200_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/x38_edac.ko
  HOSTLD  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/genksyms/genksyms
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/amd64_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/skx_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/skx_edac_common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i10nm_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/amd64_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/skx_edac.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/skx_edac_common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpufreq/speedstep-lib.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/edac/i10nm_edac.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpufreq/p4-clockmod.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpufreq/amd_freq_sensitivity.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpuidle/cpuidle-haltpoll.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/core/mmc_block.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpufreq/speedstep-lib.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpufreq/p4-clockmod.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpufreq/amd_freq_sensitivity.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/cpuidle/cpuidle-haltpoll.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/core/mmc_block.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/core/sdio_uart.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/sdhci_f_sdh30.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/wbsd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/alcor.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/core/sdio_uart.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/sdhci_f_sdh30.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/wbsd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/alcor.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/mtk-sd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/tifm_sd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/mmc_spi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/of_mmc_spi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/mtk-sd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/tifm_sd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/mmc_spi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/of_mmc_spi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/cb710-mmc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/via-sdmmc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/vub300.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/ushc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/usdhi6rol0.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/cb710-mmc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/via-sdmmc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/vub300.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/ushc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/usdhi6rol0.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/toshsd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/mmc_hsq.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/toshsd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/mmc_hsq.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/sdhci-xenon-driver.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/core/ufshcd-core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/tc-dwc-g210-pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/ufshcd-dwc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/mmc/host/sdhci-xenon-driver.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/tc-dwc-g210.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/tc-dwc-g210-pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/cdns-pltfrm.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/core/ufshcd-core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/ufshcd-dwc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/ufshcd-pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/ufshcd-pltfrm.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/tc-dwc-g210.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/cdns-pltfrm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/cirrus/cs_dsp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/ufshcd-pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/ufs/host/ufshcd-pltfrm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/efi-pstore.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/efibc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/cirrus/cs_dsp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/test/efi_test.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/capsule-loader.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/efi-pstore.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/efibc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/iscsi_ibft.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/test/efi_test.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/efi/capsule-loader.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/qemu_fw_cfg.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/ccp/ccp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/iscsi_ibft.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/ccp/ccp-crypto.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/firmware/qemu_fw_cfg.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/inside-secure/crypto_safexcel.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_common/intel_qat.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/ccp/ccp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_dh895xcc/qat_dh895xcc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/ccp/ccp-crypto.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c3xxx/qat_c3xxx.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/inside-secure/crypto_safexcel.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c62x/qat_c62x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_dh895xcc/qat_dh895xcc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_4xxx/qat_4xxx.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_420xx/qat_420xx.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c3xxx/qat_c3xxx.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_common/intel_qat.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_dh895xccvf/qat_dh895xccvf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c62x/qat_c62x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_4xxx/qat_4xxx.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c3xxxvf/qat_c3xxxvf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_420xx/qat_420xx.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_dh895xccvf/qat_dh895xccvf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c62xvf/qat_c62xvf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/iaa/iaa_crypto.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c3xxxvf/qat_c3xxxvf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/atmel-i2c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/qat/qat_c62xvf/qat_c62xvf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/intel/iaa/iaa_crypto.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/atmel-ecc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/atmel-sha204a.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/atmel-i2c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/cavium/nitrox/n5pf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/atmel-ecc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/padlock-aes.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/atmel-sha204a.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/padlock-sha.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/virtio/virtio_crypto.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/cavium/nitrox/n5pf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/padlock-aes.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/amlogic/amlogic-gxl-crypto.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/padlock-sha.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/virtio/virtio_crypto.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/uhid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/crypto/amlogic/amlogic-gxl-crypto.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-generic.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-a4tech.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/uhid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-accutouch.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-generic.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-alps.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-a4tech.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-apple.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-asus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-accutouch.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-belkin.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-alps.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cherry.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-apple.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-asus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-belkin.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-chicony.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cherry.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-corsair.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-corsair-void.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cougar.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-chicony.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-corsair.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-corsair-void.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cp2112.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cougar.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cypress.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-elan.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-elecom.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-elo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cp2112.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-cypress.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-elan.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-elecom.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-ft260.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-elo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-glorious.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-vivaldi-common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-google-hammer.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-ft260.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-glorious.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-vivaldi-common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-google-hammer.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-vivaldi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-holtek-kbd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-holtek-mouse.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-holtekff.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-vivaldi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-holtek-kbd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-holtek-mouse.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-ite.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-holtekff.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-jabra.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-kensington.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-keytouch.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-ite.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-jabra.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-kensington.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-lenovo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-keytouch.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-logitech.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-lg-g15.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-logitech-dj.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-lenovo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-logitech-hidpp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-logitech.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-lg-g15.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-magicmouse.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-logitech-dj.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-mcp2200.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-mcp2221.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-logitech-hidpp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-microsoft.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-magicmouse.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-mcp2200.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-mcp2221.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-monterey.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-multitouch.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-microsoft.ko
dpkg-deb: building package 'linux-libc-dev' in '../linux-libc-dev_6.15.0-ga9ef225fa9ff-2_amd64.deb'.
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-ntrig.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-penmount.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-monterey.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-multitouch.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-ntrig.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-plantronics.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-penmount.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-primax.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-razer.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-plantronics.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-redragon.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-primax.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-razer.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-arvo.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-redragon.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-isku.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-kone.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-arvo.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-koneplus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-isku.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-kone.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-konepure.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-kovaplus.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-koneplus.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-lua.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-konepure.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-kovaplus.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-pyra.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-ryos.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-lua.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-savu.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-rmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-pyra.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-ryos.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-saitek.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-roccat-savu.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-rmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-samsung.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-semitek.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-saitek.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-sigmamicro.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-steam.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-samsung.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-semitek.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-topre.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-sigmamicro.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-steam.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-xiaomi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-topre.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-sensor-hub.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-xiaomi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-sensor-custom.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-sensor-hub.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/usbhid/usbhid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/usbhid/usbkbd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/hid-sensor-custom.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/usbhid/usbmouse.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/i2c-hid/i2c-hid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/usbhid/usbhid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/usbhid/usbkbd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/i2c-hid/i2c-hid-acpi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/usbhid/usbmouse.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/i2c-hid/i2c-hid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/i2c-hid/i2c-hid-of.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ishtp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/i2c-hid/i2c-hid-acpi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/i2c-hid/i2c-hid-of.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ish-ipc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ishtp.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ishtp-hid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ishtp-loader.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ish-ipc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/amd-sfh-hid/amd_sfh.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/surface-hid/surface_hid_core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ishtp-hid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/surface-hid/surface_kbd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/intel-ish-hid/intel-ishtp-loader.ko
  HOSTLD  debian/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/usr/src/linux-headers-6.15.0-lgci-xe-ga9ef225fa9ff/scripts/mod/modpost
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/vme_user/vme_user.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/vme_user/vme_tsi148.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/amd-sfh-hid/amd_sfh.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/surface-hid/surface_hid_core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/hid/surface-hid/surface_kbd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/vme_user/vme_fake.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/vme_user/vme_user.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fbtft.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/vme_user/vme_tsi148.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_agm1264k-fl.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/vme_user/vme_fake.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_bd663474.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fbtft.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8340bn.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_agm1264k-fl.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_bd663474.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8347d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8353d.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8340bn.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8357d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9163.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8347d.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8353d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9320.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_hx8357d.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9163.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9325.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9340.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9320.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9341.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9325.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9340.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9481.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9486.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9341.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_pcd8544.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ra8875.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9481.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ili9486.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_s6d02a1.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_pcd8544.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ra8875.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_s6d1121.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_seps525.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_s6d02a1.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_sh1106.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1289.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_s6d1121.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_seps525.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1305.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_sh1106.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1289.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1306.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1325.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1331.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1305.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1306.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1351.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1325.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1331.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_st7735r.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_st7789v.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_ssd1351.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_tinylcd.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_st7735r.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_st7789v.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_tls8204.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_uc1611.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_tinylcd.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_uc1701.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_upd161704.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/most/net/most_net.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_tls8204.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_uc1611.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_uc1701.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/fbtft/fb_upd161704.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/most/i2c/most_i2c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/most/net/most_net.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/amd/pmc/amd-pmc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/amd/pmf/amd-pmf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/staging/most/i2c/most_i2c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/alienware-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/amd/pmc/amd-pmc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/amd/pmf/amd-pmf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dcdbas.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell_rbu.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/alienware-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-pc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dcdbas.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-smbios.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell_rbu.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-pc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-smo8800.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-smbios.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-lis3lv02d.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-smo8800.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-aio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-lis3lv02d.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-descriptor.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-ddv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-aio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-led.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-descriptor.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-ddv.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hp/hp_accel.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-led.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hp/hp-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hp/hp-bioscfg/hp-bioscfg.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hp/hp_accel.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/atomisp2/intel_atomisp2_led.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hp/hp-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hp/hp-bioscfg/hp-bioscfg.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/atomisp2/intel_atomisp2_pm.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/wmi/intel-wmi-sbl-fw-update.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/atomisp2/intel_atomisp2_led.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/wmi/intel-wmi-thunderbolt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/atomisp2/intel_atomisp2_pm.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/wmi/intel-wmi-sbl-fw-update.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/ifs/intel_ifs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int1092/intel_sar.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/wmi/intel-wmi-thunderbolt.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int3472/intel_skl_int3472_discrete.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/ifs/intel_ifs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int3472/intel_skl_int3472_tps68470.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int1092/intel_sar.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int3472/intel_skl_int3472_common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int3472/intel_skl_int3472_discrete.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmc/intel_pmc_core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int3472/intel_skl_int3472_tps68470.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmc/intel_pmc_core_pltdrv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/int3472/intel_skl_int3472_common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmt/pmt_class.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmc/intel_pmc_core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmc/intel_pmc_core_pltdrv.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmt/pmt_telemetry.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmt/pmt_crashlog.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmt/pmt_class.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_mmio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmt/pmt_telemetry.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/pmt/pmt_crashlog.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_mbox_pci.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_mmio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_mbox_msr.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_tpmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_mbox_pci.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/telemetry/intel_telemetry_core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_if_mbox_msr.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/speed_select_if/isst_tpmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/telemetry/intel_telemetry_pltdrv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/telemetry/intel_telemetry_core.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/telemetry/intel_telemetry_debugfs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/telemetry/intel_telemetry_pltdrv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/telemetry/intel_telemetry_debugfs.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-tpmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-hid.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-vbtn.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-int0002_vgpio.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-tpmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-ishtp_eclite.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-hid.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-vbtn.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-int0002_vgpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-sdsi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-vsec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-ishtp_eclite.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-bytcrc_pwrsrc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-bxtwc_tmu.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-sdsi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-vsec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-bytcrc_pwrsrc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-bxtwc_tmu.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-chtdc_ti_pwrbtn.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-chtwc_int33fe.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-crystal_cove_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-mrfld_pwrbtn.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-chtdc_ti_pwrbtn.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-chtwc_int33fe.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-crystal_cove_charger.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-punit_ipc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-mrfld_pwrbtn.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-plr_tpmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-tpmi_power_domains.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-vsec_tpmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-punit_ipc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-plr_tpmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-tpmi_power_domains.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-vsec_tpmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-smartconnect.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/wmi-bmof.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/huawei-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/mxm-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel/intel-smartconnect.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/wmi-bmof.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/huawei-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/nvidia-wmi-ec-backlight.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/mxm-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/xiaomi-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/gigabyte-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/acerhdf.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/nvidia-wmi-ec-backlight.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/xiaomi-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/gigabyte-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/acerhdf.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/acer-wireless.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/acer-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/adv_swbutton.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/apple-gmux.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/acer-wireless.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/acer-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/adv_swbutton.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/apple-gmux.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-wireless.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-nb-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-tf103c-dock.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-wireless.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/eeepc-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-nb-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/asus-tf103c-dock.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/eeepc-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/meraki-mx100.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/eeepc-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/fujitsu-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/fujitsu-tablet.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/eeepc-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/meraki-mx100.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/gpd-pocket-fan.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/fujitsu-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/fujitsu-tablet.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/uv_sysfs.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/gpd-pocket-fan.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/ibm_rtl.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hdaps.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/thinkpad_acpi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/uv_sysfs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/think-lmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/ibm_rtl.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/hdaps.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lenovo-yogabook.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/thinkpad_acpi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/think-lmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lenovo-wmi-camera.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lenovo-yogabook.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/quickstart.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lenovo-wmi-camera.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/meegopad_anx7428.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/msi-ec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/quickstart.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/msi-wmi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/meegopad_anx7428.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/msi-ec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/msi-wmi-platform.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/msi-wmi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/pcengines-apuv2.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/barco-p50-gpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/samsung-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/msi-wmi-platform.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/samsung-q10.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/pcengines-apuv2.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/barco-p50-gpio.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/toshiba_bluetooth.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/samsung-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/toshiba_haps.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/samsung-q10.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/inspur_platform_profile.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/toshiba_bluetooth.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/toshiba_haps.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/classmate-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/inspur_platform_profile.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lg-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/panasonic-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/classmate-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/system76_acpi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/lg-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/topstar-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/panasonic-laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/firmware_attributes_class.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/serial-multi-instantiate.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/system76_acpi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/wireless-hotkey.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/topstar-laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/firmware_attributes_class.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/x86-android-tablets/vexia_atla10_ec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/serial-multi-instantiate.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/wireless-hotkey.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/x86-android-tablets/x86-android-tablets.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel_ips.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/x86-android-tablets/vexia_atla10_ec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel_scu_pltdrv.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/x86-android-tablets/x86-android-tablets.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel_scu_ipcutil.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel_ips.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel_scu_pltdrv.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/intel_scu_ipcutil.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt-apollolake.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt-elkhartlake.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt-apollolake.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/silicom-platform.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt-elkhartlake.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/winmate-fm07-keys.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/sel3350-platform.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/siemens/simatic-ipc-batt-f7188x.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/silicom-platform.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlx-platform.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/winmate-fm07-keys.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/x86/sel3350-platform.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlxreg-hotplug.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlxreg-io.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlxreg-lc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlx-platform.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlxreg-hotplug.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlxreg-io.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/nvsw-sn2201.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/mlxreg-lc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_acpi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_laptop.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_privacy_screen.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/mellanox/nvsw-sn2201.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_acpi.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_laptop.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_privacy_screen.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_pstore.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_tbmc.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_i2c.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_pstore.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/chromeos_tbmc.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_ishtp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_i2c.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_typec_switch.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_spi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_uart.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_ishtp.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_typec_switch.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_spi.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros-ec-typec.ko
  STRIP   debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_uart.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/chrome/cros_ec_lpcs.ko
  INSTALL debian/linux-image-6.15.0-lgci-xe-ga9ef225fa9ff/lib/modules/6.15.0-lgci-xe-ga9ef225fa9ff/kernel/drivers/platform/



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

* ✗ CI.Hooks: failure for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (7 preceding siblings ...)
  2025-06-04 11:39 ` ✓ CI.Build: " Patchwork
@ 2025-06-04 11:41 ` Patchwork
  2025-06-04 11:43 ` ✓ CI.checksparse: success " Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-04 11:41 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
State : failure

== Summary ==

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

  GEN     Makefile
#
# configuration written to .config
#
Value requested for CONFIG_HAVE_UID16 not in final .config
Requested value:  CONFIG_HAVE_UID16=y
Actual value:     

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

* ✓ CI.checksparse: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (8 preceding siblings ...)
  2025-06-04 11:41 ` ✗ CI.Hooks: failure " Patchwork
@ 2025-06-04 11:43 ` Patchwork
  2025-06-04 12:04 ` ✓ Xe.CI.BAT: " Patchwork
  2025-06-05  6:25 ` ✗ Xe.CI.Full: failure " Patchwork
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-04 11:43 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
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 6517275da428d10d60b2762385ca7daa3a382754
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
Okay!

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



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

* Re: [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device
  2025-06-04 10:01 ` [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Christian König
@ 2025-06-04 12:01   ` Thomas Hellström
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-04 12:01 UTC (permalink / raw)
  To: Christian König, intel-xe
  Cc: dri-devel, himal.prasad.ghimiray, apopple, airlied, Simona Vetter,
	felix.kuehling, Matthew Brost, dakr, Mrozek, Michal,
	Joonas Lahtinen, Yang, Philip

Hi,

On Wed, 2025-06-04 at 12:01 +0200, Christian König wrote:
> Hi Thomas,
> 
> please make sure to loop in Kuehling, Felix <Felix.Kuehling@amd.com>
> and Yang, Philip <Philip.Yang@amd.com> for that kind of stuff.
> 
> I'm absolutely not deep enough in the pagemap handling to judge any
> of that here.
> 
> Thanks,
> Christian.

Sure, Felix was CC'd and I'll make sure Philip will be CC'd on the next
revision.

Thanks,
Thomas


> 
> On 6/4/25 11:35, Thomas Hellström wrote:
> > This patchset modifies the migration part of drm_gpusvm to
> > drm_pagemap and
> > adds a populate_mm() op to drm_pagemap.
> > 
> > The idea is that the device that receives a pagefault determines if
> > it wants to
> > migrate content and to where. It then calls the populate_mm()
> > method of relevant
> > drm_pagemap.
> > 
> > This functionality was mostly already in place, but hard-coded for
> > xe only without
> > going through a pagemap op. Since we might be dealing with separate
> > devices moving
> > forward, it also now becomes the responsibilit of the populate_mm()
> > op to
> > grab any necessary local device runtime pm references and keep them
> > held while
> > its pages are present in an mm (struct mm_struct).
> > 
> > On thing to decide here is whether the populate_mm() callback
> > should sit on a
> > struct drm_pagemap for now while we sort multi-device usability out
> > or whether
> > we should add it (or something equivalent) to struct dev_pagemap.
> > 
> > v2:
> > - Rebase.
> > 
> > Matthew Brost (1):
> >   drm/gpusvm, drm/pagemap: Move migration functionality to
> > drm_pagemap
> > 
> > Thomas Hellström (2):
> >   drm/pagemap: Add a populate_mm op
> >   drm/xe: Implement and use the drm_pagemap populate_mm op
> > 
> >  Documentation/gpu/rfc/gpusvm.rst     |  12 +-
> >  drivers/gpu/drm/Makefile             |   6 +-
> >  drivers/gpu/drm/drm_gpusvm.c         | 760 +----------------------
> > -
> >  drivers/gpu/drm/drm_pagemap.c        | 846
> > +++++++++++++++++++++++++++
> >  drivers/gpu/drm/xe/Kconfig           |  10 +-
> >  drivers/gpu/drm/xe/xe_bo_types.h     |   2 +-
> >  drivers/gpu/drm/xe/xe_device_types.h |   2 +-
> >  drivers/gpu/drm/xe/xe_svm.c          | 129 ++--
> >  drivers/gpu/drm/xe/xe_svm.h          |  10 +-
> >  drivers/gpu/drm/xe/xe_tile.h         |  11 +
> >  drivers/gpu/drm/xe/xe_vm.c           |   2 +-
> >  include/drm/drm_gpusvm.h             |  96 ---
> >  include/drm/drm_pagemap.h            | 135 +++++
> >  13 files changed, 1107 insertions(+), 914 deletions(-)
> >  create mode 100644 drivers/gpu/drm/drm_pagemap.c
> > 
> 


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

* ✓ Xe.CI.BAT: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (9 preceding siblings ...)
  2025-06-04 11:43 ` ✓ CI.checksparse: success " Patchwork
@ 2025-06-04 12:04 ` Patchwork
  2025-06-05  6:25 ` ✗ Xe.CI.Full: failure " Patchwork
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-04 12:04 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

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

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
State : success

== Summary ==

CI Bug Log - changes from xe-3191-6517275da428d10d60b2762385ca7daa3a382754_BAT -> xe-pw-147902v2_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (8 -> 7)
------------------------------

  Missing    (1): bat-adlp-vm 


Changes
-------

  No changes found


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

  * IGT: IGT_8393 -> IGT_8394
  * Linux: xe-3191-6517275da428d10d60b2762385ca7daa3a382754 -> xe-pw-147902v2

  IGT_8393: 6a256bfe3025b94fcef3757e4edd6b2198cecf63 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8394: 8394
  xe-3191-6517275da428d10d60b2762385ca7daa3a382754: 6517275da428d10d60b2762385ca7daa3a382754
  xe-pw-147902v2: 147902v2

== Logs ==

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

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

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

* Re: [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap populate_mm op
  2025-06-04  9:35 ` [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap " Thomas Hellström
@ 2025-06-04 15:04   ` Matthew Brost
  2025-06-05  7:37     ` Thomas Hellström
  2025-06-05 22:16   ` Matthew Brost
  1 sibling, 1 reply; 24+ messages in thread
From: Matthew Brost @ 2025-06-04 15:04 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Wed, Jun 04, 2025 at 11:35:36AM +0200, Thomas Hellström wrote:
> Add runtime PM since we might call populate_mm on a foreign device.

I think taking a runtime PM will fix hard to hit splat [1] too.

[1] https://patchwork.freedesktop.org/patch/648954/?series=147849&rev=1

> Also create the VRAM bos as ttm_bo_type_kernel. This avoids the
> initial clearing and the creation of an mmap handle.
> 
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  drivers/gpu/drm/drm_pagemap.c |   1 +
>  drivers/gpu/drm/xe/xe_svm.c   | 104 ++++++++++++++++++++--------------
>  drivers/gpu/drm/xe/xe_svm.h   |  10 ++--
>  drivers/gpu/drm/xe/xe_tile.h  |  11 ++++
>  drivers/gpu/drm/xe/xe_vm.c    |   2 +-
>  5 files changed, 78 insertions(+), 50 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
> index 25395685a9b8..94619be00d2a 100644
> --- a/drivers/gpu/drm/drm_pagemap.c
> +++ b/drivers/gpu/drm/drm_pagemap.c
> @@ -843,3 +843,4 @@ int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
>  
>  	return err;
>  }
> +EXPORT_SYMBOL(drm_pagemap_populate_mm);
> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
> index e161ce3e67a1..a10aab3768d8 100644
> --- a/drivers/gpu/drm/xe/xe_svm.c
> +++ b/drivers/gpu/drm/xe/xe_svm.c
> @@ -3,13 +3,17 @@
>   * Copyright © 2024 Intel Corporation
>   */
>  
> +#include <drm/drm_drv.h>
> +
>  #include "xe_bo.h"
>  #include "xe_gt_stats.h"
>  #include "xe_gt_tlb_invalidation.h"
>  #include "xe_migrate.h"
>  #include "xe_module.h"
> +#include "xe_pm.h"
>  #include "xe_pt.h"
>  #include "xe_svm.h"
> +#include "xe_tile.h"
>  #include "xe_ttm_vram_mgr.h"
>  #include "xe_vm.h"
>  #include "xe_vm_types.h"
> @@ -525,8 +529,10 @@ static struct xe_bo *to_xe_bo(struct drm_pagemap_devmem *devmem_allocation)
>  static void xe_svm_devmem_release(struct drm_pagemap_devmem *devmem_allocation)
>  {
>  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
> +	struct xe_device *xe = xe_bo_device(bo);
>  
>  	xe_bo_put_async(bo);
> +	xe_pm_runtime_put(xe);
>  }
>  
>  static u64 block_offset_to_pfn(struct xe_vram_region *vr, u64 offset)
> @@ -720,76 +726,63 @@ static struct xe_vram_region *tile_to_vr(struct xe_tile *tile)
>  	return &tile->mem.vram;
>  }
>  
> -/**
> - * xe_svm_alloc_vram()- Allocate device memory pages for range,
> - * migrating existing data.
> - * @vm: The VM.
> - * @tile: tile to allocate vram from
> - * @range: SVM range
> - * @ctx: DRM GPU SVM context
> - *
> - * Return: 0 on success, error code on failure.
> - */
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> -		      struct xe_svm_range *range,
> -		      const struct drm_gpusvm_ctx *ctx)
> +static int xe_drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
> +				      unsigned long start, unsigned long end,
> +				      struct mm_struct *mm,
> +				      unsigned long timeslice_ms)
>  {
> -	struct mm_struct *mm = vm->svm.gpusvm.mm;
> +	struct xe_tile *tile = container_of(dpagemap, typeof(*tile), mem.vram.dpagemap);

I think this is going to chnage here [2] making mem.vram a pointer.
Maybe a helper to go from dpagemap -> tile to future proof a little. I
think once [2] lands, we will need to pick the root tile here. 

[2] https://patchwork.freedesktop.org/series/149503/

> +	struct xe_device *xe = tile_to_xe(tile);
> +	struct device *dev = xe->drm.dev;
>  	struct xe_vram_region *vr = tile_to_vr(tile);
>  	struct drm_buddy_block *block;
>  	struct list_head *blocks;
>  	struct xe_bo *bo;
> -	ktime_t end = 0;
> -	int err;
> -
> -	if (!range->base.flags.migrate_devmem)
> -		return -EINVAL;
> +	ktime_t time_end = 0;
> +	int err, idx;
>  
> -	range_debug(range, "ALLOCATE VRAM");
> +	if (!drm_dev_enter(&xe->drm, &idx))
> +		return -ENODEV;
>  
> -	if (!mmget_not_zero(mm))
> -		return -EFAULT;
> -	mmap_read_lock(mm);
> +	xe_pm_runtime_get(xe);

A forgien device might not be awake so is that why you are using
xe_pm_runtime_get rather than xe_pm_runtime_get_noresume? We only have
the MMAP lock here so assuming that is safe with our runtime PM flow.

>  
> -retry:
> -	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL,
> -				 xe_svm_range_size(range),
> -				 ttm_bo_type_device,
> + retry:
> +	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL, end - start,
> +				 ttm_bo_type_kernel,
>  				 XE_BO_FLAG_VRAM_IF_DGFX(tile) |
>  				 XE_BO_FLAG_CPU_ADDR_MIRROR);
>  	if (IS_ERR(bo)) {
>  		err = PTR_ERR(bo);
> -		if (xe_vm_validate_should_retry(NULL, err, &end))
> +		if (xe_vm_validate_should_retry(NULL, err, &time_end))
>  			goto retry;
> -		goto unlock;
> +		goto out_pm_put;
>  	}
>  
> -	drm_pagemap_devmem_init(&bo->devmem_allocation,
> -				vm->xe->drm.dev, mm,
> +	drm_pagemap_devmem_init(&bo->devmem_allocation, dev, mm,
>  				&dpagemap_devmem_ops,
>  				&tile->mem.vram.dpagemap,
> -				xe_svm_range_size(range));
> +				end - start);
>  
>  	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)->blocks;
>  	list_for_each_entry(block, blocks, link)
>  		block->private = vr;
>  
>  	xe_bo_get(bo);
> -	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation,
> -					    mm,
> -					    xe_svm_range_start(range),
> -					    xe_svm_range_end(range),
> -					    ctx->timeslice_ms,
> -					    xe_svm_devm_owner(vm->xe));
> +
> +	/* Ensure the device has a pm ref while there are device pages active. */
> +	xe_pm_runtime_get_noresume(xe);
> +	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation, mm,
> +					    start, end, timeslice_ms,
> +					    xe_svm_devm_owner(xe));
>  	if (err)
>  		xe_svm_devmem_release(&bo->devmem_allocation);
>  
>  	xe_bo_unlock(bo);
>  	xe_bo_put(bo);
>  
> -unlock:
> -	mmap_read_unlock(mm);
> -	mmput(mm);
> +out_pm_put:
> +	xe_pm_runtime_put(xe);
> +	drm_dev_exit(idx);
>  
>  	return err;
>  }
> @@ -898,7 +891,7 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
>  
>  	if (--migrate_try_count >= 0 &&
>  	    xe_svm_range_needs_migrate_to_vram(range, vma, IS_DGFX(vm->xe))) {
> -		err = xe_svm_alloc_vram(vm, tile, range, &ctx);
> +		err = xe_svm_alloc_vram(tile, range, &ctx);
>  		ctx.timeslice_ms <<= 1;	/* Double timeslice if we have to retry */
>  		if (err) {
>  			if (migrate_try_count || !ctx.devmem_only) {
> @@ -1054,6 +1047,30 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>  
>  #if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
>  
> +/**
> + * xe_svm_alloc_vram()- Allocate device memory pages for range,
> + * migrating existing data.
> + * @vm: The VM.
> + * @tile: tile to allocate vram from
> + * @range: SVM range
> + * @ctx: DRM GPU SVM context
> + *
> + * Return: 0 on success, error code on failure.
> + */
> +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
> +		      const struct drm_gpusvm_ctx *ctx)
> +{
> +	struct drm_pagemap *dpagemap;
> +
> +	range_debug(range, "ALLOCATE VRAM");
> +

	if (!range->base.flags.migrate_devmem)
		return -EINVAL;

Or I guess an assert would work too as caller should have check this
field.

Matt

> +	dpagemap = xe_tile_local_pagemap(tile);
> +	return drm_pagemap_populate_mm(dpagemap, xe_svm_range_start(range),
> +				       xe_svm_range_end(range),
> +				       range->base.gpusvm->mm,
> +				       ctx->timeslice_ms);
> +}
> +
>  static struct drm_pagemap_device_addr
>  xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
>  			  struct device *dev,
> @@ -1078,6 +1095,7 @@ xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
>  
>  static const struct drm_pagemap_ops xe_drm_pagemap_ops = {
>  	.device_map = xe_drm_pagemap_device_map,
> +	.populate_mm = xe_drm_pagemap_populate_mm,
>  };
>  
>  /**
> @@ -1130,7 +1148,7 @@ int xe_devm_add(struct xe_tile *tile, struct xe_vram_region *vr)
>  	return 0;
>  }
>  #else
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> +int xe_svm_alloc_vram(struct xe_tile *tile,
>  		      struct xe_svm_range *range,
>  		      const struct drm_gpusvm_ctx *ctx)
>  {
> diff --git a/drivers/gpu/drm/xe/xe_svm.h b/drivers/gpu/drm/xe/xe_svm.h
> index 19ce4f2754a7..da9a69ea0bb1 100644
> --- a/drivers/gpu/drm/xe/xe_svm.h
> +++ b/drivers/gpu/drm/xe/xe_svm.h
> @@ -70,8 +70,7 @@ int xe_svm_bo_evict(struct xe_bo *bo);
>  
>  void xe_svm_range_debug(struct xe_svm_range *range, const char *operation);
>  
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> -		      struct xe_svm_range *range,
> +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
>  		      const struct drm_gpusvm_ctx *ctx);
>  
>  struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm, u64 addr,
> @@ -237,10 +236,9 @@ void xe_svm_range_debug(struct xe_svm_range *range, const char *operation)
>  {
>  }
>  
> -static inline
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> -		      struct xe_svm_range *range,
> -		      const struct drm_gpusvm_ctx *ctx)
> +static inline int
> +xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
> +		  const struct drm_gpusvm_ctx *ctx)
>  {
>  	return -EOPNOTSUPP;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_tile.h b/drivers/gpu/drm/xe/xe_tile.h
> index eb939316d55b..066a3d0cea79 100644
> --- a/drivers/gpu/drm/xe/xe_tile.h
> +++ b/drivers/gpu/drm/xe/xe_tile.h
> @@ -16,4 +16,15 @@ int xe_tile_init(struct xe_tile *tile);
>  
>  void xe_tile_migrate_wait(struct xe_tile *tile);
>  
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> +static inline struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile)
> +{
> +	return &tile->mem.vram.dpagemap;
> +}
> +#else
> +static inline struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile)
> +{
> +	return NULL;
> +}
> +#endif
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 7140d8856bad..def493acb4d7 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -2911,7 +2911,7 @@ static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_op *op)
>  
>  		if (xe_svm_range_needs_migrate_to_vram(svm_range, vma, region)) {
>  			tile = &vm->xe->tiles[region_to_mem_type[region] - XE_PL_VRAM0];
> -			err = xe_svm_alloc_vram(vm, tile, svm_range, &ctx);
> +			err = xe_svm_alloc_vram(tile, svm_range, &ctx);
>  			if (err) {
>  				drm_dbg(&vm->xe->drm, "VRAM allocation failed, retry from userspace, asid=%u, gpusvm=%p, errno=%pe\n",
>  					vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err));
> -- 
> 2.49.0
> 

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

* Re: [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
  2025-06-04  9:35 ` [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap Thomas Hellström
@ 2025-06-04 15:45   ` kernel test robot
  2025-06-05 22:44   ` Matthew Brost
  1 sibling, 0 replies; 24+ messages in thread
From: kernel test robot @ 2025-06-04 15:45 UTC (permalink / raw)
  To: Thomas Hellström, intel-xe
  Cc: oe-kbuild-all, Matthew Brost, Thomas Hellström, dri-devel,
	himal.prasad.ghimiray, apopple, airlied, Simona Vetter,
	felix.kuehling, Christian König, dakr, Mrozek, Michal,
	Joonas Lahtinen

Hi Thomas,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-xe/drm-xe-next]
[also build test ERROR on next-20250604]
[cannot apply to linus/master v6.15]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Thomas-Hellstr-m/drm-gpusvm-drm-pagemap-Move-migration-functionality-to-drm_pagemap/20250604-173757
base:   https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link:    https://lore.kernel.org/r/20250604093536.95982-2-thomas.hellstrom%40linux.intel.com
patch subject: [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20250604/202506042352.xDT1ySBT-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250604/202506042352.xDT1ySBT-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506042352.xDT1ySBT-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   loongarch64-linux-ld: arch/loongarch/kernel/head.o: relocation R_LARCH_B26 overflow 0xffffffffef55fa70
   arch/loongarch/kernel/head.o: in function `smpboot_entry':
>> (.ref.text+0x160): relocation truncated to fit: R_LARCH_B26 against symbol `start_secondary' defined in .text section in arch/loongarch/kernel/smp.o
   loongarch64-linux-ld: final link failed: bad value
--
>> drivers/gpu/drm/drm_pagemap.c:314: warning: Function parameter or struct member 'timeslice_ms' not described in 'drm_pagemap_migrate_to_devmem'


vim +314 drivers/gpu/drm/drm_pagemap.c

   271	
   272	
   273	/**
   274	 * drm_pagemap_migrate_to_devmem() - Migrate a struct mm_struct range to device memory
   275	 * @devmem_allocation: The device memory allocation to migrate to.
   276	 * The caller should hold a reference to the device memory allocation,
   277	 * and the reference is consumed by this function unless it returns with
   278	 * an error.
   279	 * @mm: Pointer to the struct mm_struct.
   280	 * @start: Start of the virtual address range to migrate.
   281	 * @end: End of the virtual address range to migrate.
   282	 * @pgmap_owner: Not used currently, since only system memory is considered.
   283	 *
   284	 * This function migrates the specified virtual address range to device memory.
   285	 * It performs the necessary setup and invokes the driver-specific operations for
   286	 * migration to device memory. Expected to be called while holding the mmap lock in
   287	 * at least read mode.
   288	 *
   289	 * Return: %0 on success, negative error code on failure.
   290	 */
   291	
   292	/*
   293	 * @range: Pointer to the GPU SVM range structure
   294	 * @devmem_allocation: Pointer to the device memory allocation. The caller
   295	 *                     should hold a reference to the device memory allocation,
   296	 *                     which should be dropped via ops->devmem_release or upon
   297	 *                     the failure of this function.
   298	 * @ctx: GPU SVM context
   299	 *
   300	 * This function migrates the specified GPU SVM range to device memory. It
   301	 * performs the necessary setup and invokes the driver-specific operations for
   302	 * migration to device memory. Upon successful return, @devmem_allocation can
   303	 * safely reference @range until ops->devmem_release is called which only upon
   304	 * successful return. Expected to be called while holding the mmap lock in read
   305	 * mode.
   306	 *
   307	 * Return: 0 on success, negative error code on failure.
   308	 */
   309	int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem *devmem_allocation,
   310					  struct mm_struct *mm,
   311					  unsigned long start, unsigned long end,
   312					  unsigned long timeslice_ms,
   313					  void *pgmap_owner)
 > 314	{
   315		const struct drm_pagemap_devmem_ops *ops = devmem_allocation->ops;
   316		struct migrate_vma migrate = {
   317			.start		= start,
   318			.end		= end,
   319			.pgmap_owner	= pgmap_owner,
   320			.flags		= MIGRATE_VMA_SELECT_SYSTEM,
   321		};
   322		unsigned long i, npages = npages_in_range(start, end);
   323		struct vm_area_struct *vas;
   324		struct drm_pagemap_zdd *zdd = NULL;
   325		struct page **pages;
   326		dma_addr_t *dma_addr;
   327		void *buf;
   328		int err;
   329	
   330		mmap_assert_locked(mm);
   331	
   332		if (!ops->populate_devmem_pfn || !ops->copy_to_devmem ||
   333		    !ops->copy_to_ram)
   334			return -EOPNOTSUPP;
   335	
   336		vas = vma_lookup(mm, start);
   337		if (!vas) {
   338			err = -ENOENT;
   339			goto err_out;
   340		}
   341	
   342		if (end > vas->vm_end || start < vas->vm_start) {
   343			err = -EINVAL;
   344			goto err_out;
   345		}
   346	
   347		if (!vma_is_anonymous(vas)) {
   348			err = -EBUSY;
   349			goto err_out;
   350		}
   351	
   352		buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
   353			       sizeof(*pages), GFP_KERNEL);
   354		if (!buf) {
   355			err = -ENOMEM;
   356			goto err_out;
   357		}
   358		dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
   359		pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
   360	
   361		zdd = drm_pagemap_zdd_alloc(pgmap_owner);
   362		if (!zdd) {
   363			err = -ENOMEM;
   364			goto err_free;
   365		}
   366	
   367		migrate.vma = vas;
   368		migrate.src = buf;
   369		migrate.dst = migrate.src + npages;
   370	
   371		err = migrate_vma_setup(&migrate);
   372		if (err)
   373			goto err_free;
   374	
   375		if (!migrate.cpages) {
   376			err = -EFAULT;
   377			goto err_free;
   378		}
   379	
   380		if (migrate.cpages != npages) {
   381			err = -EBUSY;
   382			goto err_finalize;
   383		}
   384	
   385		err = ops->populate_devmem_pfn(devmem_allocation, npages, migrate.dst);
   386		if (err)
   387			goto err_finalize;
   388	
   389		err = drm_pagemap_migrate_map_pages(devmem_allocation->dev, dma_addr,
   390						   migrate.src, npages, DMA_TO_DEVICE);
   391		if (err)
   392			goto err_finalize;
   393	
   394		for (i = 0; i < npages; ++i) {
   395			struct page *page = pfn_to_page(migrate.dst[i]);
   396	
   397			pages[i] = page;
   398			migrate.dst[i] = migrate_pfn(migrate.dst[i]);
   399			drm_pagemap_get_devmem_page(page, zdd);
   400		}
   401	
   402		err = ops->copy_to_devmem(pages, dma_addr, npages);
   403		if (err)
   404			goto err_finalize;
   405	
   406		/* Upon success bind devmem allocation to range and zdd */
   407		devmem_allocation->timeslice_expiration = get_jiffies_64() +
   408			msecs_to_jiffies(timeslice_ms);
   409		zdd->devmem_allocation = devmem_allocation;	/* Owns ref */
   410	
   411	err_finalize:
   412		if (err)
   413			drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
   414		migrate_vma_pages(&migrate);
   415		migrate_vma_finalize(&migrate);
   416		drm_pagemap_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
   417					       DMA_TO_DEVICE);
   418	err_free:
   419		if (zdd)
   420			drm_pagemap_zdd_put(zdd);
   421		kvfree(buf);
   422	err_out:
   423		return err;
   424	}
   425	EXPORT_SYMBOL_GPL(drm_pagemap_migrate_to_devmem);
   426	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v2 2/3] drm/pagemap: Add a populate_mm op
  2025-06-04  9:35 ` [PATCH v2 2/3] drm/pagemap: Add a populate_mm op Thomas Hellström
@ 2025-06-04 21:06   ` kernel test robot
  2025-06-04 22:05   ` Matthew Brost
  1 sibling, 0 replies; 24+ messages in thread
From: kernel test robot @ 2025-06-04 21:06 UTC (permalink / raw)
  To: Thomas Hellström, intel-xe
  Cc: oe-kbuild-all, Thomas Hellström, dri-devel,
	himal.prasad.ghimiray, apopple, airlied, Simona Vetter,
	felix.kuehling, Matthew Brost, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

Hi Thomas,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-xe/drm-xe-next]
[also build test ERROR on next-20250604]
[cannot apply to linus/master v6.15]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Thomas-Hellstr-m/drm-gpusvm-drm-pagemap-Move-migration-functionality-to-drm_pagemap/20250604-173757
base:   https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link:    https://lore.kernel.org/r/20250604093536.95982-3-thomas.hellstrom%40linux.intel.com
patch subject: [PATCH v2 2/3] drm/pagemap: Add a populate_mm op
config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20250605/202506050405.9sHdzAlO-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250605/202506050405.9sHdzAlO-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506050405.9sHdzAlO-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   drivers/gpu/drm/drm_pagemap.c:315: warning: Function parameter or struct member 'timeslice_ms' not described in 'drm_pagemap_migrate_to_devmem'
>> drivers/gpu/drm/drm_pagemap.c:833: warning: Function parameter or struct member 'timeslice_ms' not described in 'drm_pagemap_populate_mm'
--
   loongarch64-linux-ld: arch/loongarch/kernel/head.o: relocation R_LARCH_B26 overflow 0xffffffffef55fa70
   arch/loongarch/kernel/head.o: in function `smpboot_entry':
>> (.ref.text+0x160): relocation truncated to fit: R_LARCH_B26 against symbol `start_secondary' defined in .text section in arch/loongarch/kernel/smp.o
   loongarch64-linux-ld: final link failed: bad value


vim +833 drivers/gpu/drm/drm_pagemap.c

   813	
   814	/**
   815	 * drm_pagemap_populate_mm() - Populate a virtual range with device memory pages
   816	 * @dpagemap: Pointer to the drm_pagemap managing the device memory
   817	 * @start: Start of the virtual range to populate.
   818	 * @end: End of the virtual range to populate.
   819	 * @mm: Pointer to the virtual address space.
   820	 *
   821	 * Attempt to populate a virtual range with device memory pages,
   822	 * clearing them or migrating data from the existing pages if necessary.
   823	 * The function is best effort only, and implementations may vary
   824	 * in how hard they try to satisfy the request.
   825	 *
   826	 * Return: 0 on success, negative error code on error. If the hardware
   827	 * device was removed / unbound the function will return -ENODEV;
   828	 */
   829	int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
   830				    unsigned long start, unsigned long end,
   831				    struct mm_struct *mm,
   832				    unsigned long timeslice_ms)
 > 833	{

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v2 2/3] drm/pagemap: Add a populate_mm op
  2025-06-04  9:35 ` [PATCH v2 2/3] drm/pagemap: Add a populate_mm op Thomas Hellström
  2025-06-04 21:06   ` kernel test robot
@ 2025-06-04 22:05   ` Matthew Brost
  2025-06-05  7:40     ` Thomas Hellström
  1 sibling, 1 reply; 24+ messages in thread
From: Matthew Brost @ 2025-06-04 22:05 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Wed, Jun 04, 2025 at 11:35:35AM +0200, Thomas Hellström wrote:
> Add an operation to populate a part of a drm_mm with device
> private memory.
> 

With the kernel doc fixed:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>

> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  drivers/gpu/drm/drm_gpusvm.c  |  7 ++-----
>  drivers/gpu/drm/drm_pagemap.c | 34 ++++++++++++++++++++++++++++++++++
>  include/drm/drm_pagemap.h     | 34 ++++++++++++++++++++++++++++++++++
>  3 files changed, 70 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
> index ef81381609de..51afc8a9704d 100644
> --- a/drivers/gpu/drm/drm_gpusvm.c
> +++ b/drivers/gpu/drm/drm_gpusvm.c
> @@ -175,11 +175,8 @@
>   *		}
>   *
>   *		if (driver_migration_policy(range)) {
> - *			mmap_read_lock(mm);
> - *			devmem = driver_alloc_devmem();
> - *			err = drm_pagemap_migrate_to_devmem(devmem, gpusvm->mm, gpuva_start,
> - *                                                          gpuva_end, driver_pgmap_owner());
> - *                      mmap_read_unlock(mm);
> + *			err = drm_pagemap_populate_mm(driver_choose_drm_pagemap(),
> + *                                                    gpuva_start, gpuva_end, gpusvm->mm);
>   *			if (err)	// CPU mappings may have changed
>   *				goto retry;
>   *		}
> diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
> index 3551a50d7381..25395685a9b8 100644
> --- a/drivers/gpu/drm/drm_pagemap.c
> +++ b/drivers/gpu/drm/drm_pagemap.c
> @@ -6,6 +6,7 @@
>  #include <linux/dma-mapping.h>
>  #include <linux/migrate.h>
>  #include <linux/pagemap.h>
> +#include <drm/drm_drv.h>
>  #include <drm/drm_pagemap.h>
>  
>  /**
> @@ -809,3 +810,36 @@ struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page)
>  	return zdd->devmem_allocation->dpagemap;
>  }
>  EXPORT_SYMBOL_GPL(drm_pagemap_page_to_dpagemap);
> +
> +/**
> + * drm_pagemap_populate_mm() - Populate a virtual range with device memory pages
> + * @dpagemap: Pointer to the drm_pagemap managing the device memory
> + * @start: Start of the virtual range to populate.
> + * @end: End of the virtual range to populate.
> + * @mm: Pointer to the virtual address space.
> + *
> + * Attempt to populate a virtual range with device memory pages,
> + * clearing them or migrating data from the existing pages if necessary.
> + * The function is best effort only, and implementations may vary
> + * in how hard they try to satisfy the request.
> + *
> + * Return: 0 on success, negative error code on error. If the hardware
> + * device was removed / unbound the function will return -ENODEV;
> + */
> +int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
> +			    unsigned long start, unsigned long end,
> +			    struct mm_struct *mm,
> +			    unsigned long timeslice_ms)
> +{
> +	int err;
> +
> +	if (!mmget_not_zero(mm))
> +		return -EFAULT;
> +	mmap_read_lock(mm);
> +	err = dpagemap->ops->populate_mm(dpagemap, start, end, mm,
> +					 timeslice_ms);
> +	mmap_read_unlock(mm);
> +	mmput(mm);
> +
> +	return err;
> +}
> diff --git a/include/drm/drm_pagemap.h b/include/drm/drm_pagemap.h
> index dabc9c365df4..e5f20a1235be 100644
> --- a/include/drm/drm_pagemap.h
> +++ b/include/drm/drm_pagemap.h
> @@ -92,6 +92,35 @@ struct drm_pagemap_ops {
>  			     struct device *dev,
>  			     struct drm_pagemap_device_addr addr);
>  
> +	/**
> +	 * @populate_mm: Populate part of the mm with @dpagemap memory,
> +	 * migrating existing data.
> +	 * @dpagemap: The struct drm_pagemap managing the memory.
> +	 * @start: The virtual start address in @mm
> +	 * @end: The virtual end address in @mm
> +	 * @mm: Pointer to a live mm. The caller must have an mmget()
> +	 * reference.
> +	 *
> +	 * The caller will have the mm lock at least in read mode.
> +	 * Note that there is no guarantee that the memory is resident
> +	 * after the function returns, it's best effort only.
> +	 * When the mm is not using the memory anymore,
> +	 * it will be released. The struct drm_pagemap might have a
> +	 * mechanism in place to reclaim the memory and the data will
> +	 * then be migrated. Typically to system memory.
> +	 * The implementation should hold sufficient runtime power-
> +	 * references while pages are used in an address space and
> +	 * should ideally guard against hardware device unbind in
> +	 * a way such that device pages are migrated back to system
> +	 * followed by device page removal. The implementation should
> +	 * return -ENODEV after device removal.
> +	 *
> +	 * Return: 0 if successful. Negative error code on error.
> +	 */
> +	int (*populate_mm)(struct drm_pagemap *dpagemap,
> +			   unsigned long start, unsigned long end,
> +			   struct mm_struct *mm,
> +			   unsigned long timeslice_ms);
>  };
>  
>  /**
> @@ -205,4 +234,9 @@ void drm_pagemap_devmem_init(struct drm_pagemap_devmem *devmem_allocation,
>  			     const struct drm_pagemap_devmem_ops *ops,
>  			     struct drm_pagemap *dpagemap, size_t size);
>  
> +int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
> +			    unsigned long start, unsigned long end,
> +			    struct mm_struct *mm,
> +			    unsigned long timeslice_ms);
> +
>  #endif
> -- 
> 2.49.0
> 

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

* ✗ Xe.CI.Full: failure for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
  2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
                   ` (10 preceding siblings ...)
  2025-06-04 12:04 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-06-05  6:25 ` Patchwork
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2025-06-05  6:25 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

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

== Series Details ==

Series: drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2)
URL   : https://patchwork.freedesktop.org/series/147902/
State : failure

== Summary ==

CI Bug Log - changes from xe-3191-6517275da428d10d60b2762385ca7daa3a382754_FULL -> xe-pw-147902v2_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-147902v2_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-147902v2_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-147902v2_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@core_hotunplug@hotrebind:
    - shard-bmg:          [PASS][1] -> [ABORT][2] +2 other tests abort
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@core_hotunplug@hotrebind.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@core_hotunplug@hotrebind.html

  * igt@kms_flip@absolute-wf_vblank-interruptible@a-hdmi-a3:
    - shard-bmg:          [PASS][3] -> [DMESG-WARN][4] +39 other tests dmesg-warn
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-3/igt@kms_flip@absolute-wf_vblank-interruptible@a-hdmi-a3.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_flip@absolute-wf_vblank-interruptible@a-hdmi-a3.html

  * igt@kms_flip@flip-vs-panning@a-dp2:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][5] +20 other tests dmesg-warn
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_flip@flip-vs-panning@a-dp2.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen:
    - shard-lnl:          [PASS][6] -> [DMESG-WARN][7] +48 other tests dmesg-warn
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_vblank@ts-continuation-modeset-rpm@pipe-d-hdmi-a-3:
    - shard-bmg:          [PASS][8] -> [SKIP][9] +5 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-2/igt@kms_vblank@ts-continuation-modeset-rpm@pipe-d-hdmi-a-3.html
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_vblank@ts-continuation-modeset-rpm@pipe-d-hdmi-a-3.html

  * igt@xe_exec_compute_mode@non-blocking:
    - shard-lnl:          NOTRUN -> [TIMEOUT][10]
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-1/igt@xe_exec_compute_mode@non-blocking.html

  * igt@xe_exec_system_allocator@many-large-execqueues-new-race-nomemset:
    - shard-bmg:          NOTRUN -> [DMESG-FAIL][11] +8 other tests dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@xe_exec_system_allocator@many-large-execqueues-new-race-nomemset.html

  * igt@xe_exec_system_allocator@many-large-mmap-shared-remap-dontunmap-eocheck:
    - shard-bmg:          [PASS][12] -> [DMESG-FAIL][13] +24 other tests dmesg-fail
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@xe_exec_system_allocator@many-large-mmap-shared-remap-dontunmap-eocheck.html
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@xe_exec_system_allocator@many-large-mmap-shared-remap-dontunmap-eocheck.html

  * igt@xe_exec_system_allocator@once-large-mmap-file-nomemset:
    - shard-bmg:          NOTRUN -> [FAIL][14] +4 other tests fail
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@xe_exec_system_allocator@once-large-mmap-file-nomemset.html

  * igt@xe_exec_system_allocator@partial-middle-munmap-cpu-fault:
    - shard-lnl:          [PASS][15] -> [DMESG-FAIL][16] +29 other tests dmesg-fail
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-1/igt@xe_exec_system_allocator@partial-middle-munmap-cpu-fault.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-7/igt@xe_exec_system_allocator@partial-middle-munmap-cpu-fault.html

  * igt@xe_exec_system_allocator@process-many-execqueues-mmap-remap:
    - shard-lnl:          [PASS][17] -> [INCOMPLETE][18] +906 other tests incomplete
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-8/igt@xe_exec_system_allocator@process-many-execqueues-mmap-remap.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@xe_exec_system_allocator@process-many-execqueues-mmap-remap.html

  * igt@xe_exec_system_allocator@process-many-large-mmap-nomemset:
    - shard-bmg:          [PASS][19] -> [INCOMPLETE][20] +829 other tests incomplete
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@xe_exec_system_allocator@process-many-large-mmap-nomemset.html
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@xe_exec_system_allocator@process-many-large-mmap-nomemset.html

  * igt@xe_exec_system_allocator@process-many-mmap-file-nomemset:
    - shard-bmg:          [PASS][21] -> [FAIL][22] +18 other tests fail
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@xe_exec_system_allocator@process-many-mmap-file-nomemset.html
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@xe_exec_system_allocator@process-many-mmap-file-nomemset.html

  * igt@xe_exec_system_allocator@process-many-mmap-race:
    - shard-lnl:          NOTRUN -> [FAIL][23] +8 other tests fail
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@xe_exec_system_allocator@process-many-mmap-race.html

  * igt@xe_exec_system_allocator@process-many-stride-new-busy-nomemset:
    - shard-lnl:          [PASS][24] -> [FAIL][25] +48 other tests fail
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-2/igt@xe_exec_system_allocator@process-many-stride-new-busy-nomemset.html
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@xe_exec_system_allocator@process-many-stride-new-busy-nomemset.html

  * igt@xe_exec_system_allocator@threads-many-large-new:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][26] +223 other tests incomplete
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@xe_exec_system_allocator@threads-many-large-new.html

  * igt@xe_exec_system_allocator@twice-large-malloc-bo-unmap-nomemset:
    - shard-lnl:          NOTRUN -> [INCOMPLETE][27] +121 other tests incomplete
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@xe_exec_system_allocator@twice-large-malloc-bo-unmap-nomemset.html

  * igt@xe_exec_threads@threads-hang-fd-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [DMESG-WARN][28] +6 other tests dmesg-warn
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@xe_exec_threads@threads-hang-fd-userptr-invalidate-race.html

  * igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run:
    - shard-lnl:          [PASS][29] -> [ABORT][30] +2 other tests abort
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-2/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run.html
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-7/igt@xe_fault_injection@vm-bind-fail-xe_pt_update_ops_run.html

  * igt@xe_pmu@gt-frequency:
    - shard-lnl:          [PASS][31] -> [TIMEOUT][32] +2 other tests timeout
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-7/igt@xe_pmu@gt-frequency.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@xe_pmu@gt-frequency.html

  * igt@xe_vm@munmap-style-unbind-all:
    - shard-lnl:          NOTRUN -> [DMESG-FAIL][33]
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@xe_vm@munmap-style-unbind-all.html

  
#### Warnings ####

  * igt@kms_content_protection@legacy:
    - shard-bmg:          [FAIL][34] ([Intel XE#1178]) -> [DMESG-FAIL][35]
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-2/igt@kms_content_protection@legacy.html
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_content_protection@legacy.html

  * igt@kms_flip@2x-plain-flip-ts-check:
    - shard-bmg:          [SKIP][36] ([Intel XE#2316]) -> [DMESG-WARN][37]
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-6/igt@kms_flip@2x-plain-flip-ts-check.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_flip@2x-plain-flip-ts-check.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [FAIL][38] ([Intel XE#718]) -> [DMESG-WARN][39]
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-4/igt@kms_pm_dc@dc6-dpms.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@kms_pm_dc@dc6-dpms.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@xe_copy_basic@mem-page-copy-1}:
    - shard-lnl:          [PASS][40] -> [DMESG-WARN][41]
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-5/igt@xe_copy_basic@mem-page-copy-1.html
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-7/igt@xe_copy_basic@mem-page-copy-1.html

  * {igt@xe_copy_basic@mem-set-linear-0x8fffe}:
    - shard-dg2-set2:     [SKIP][42] ([Intel XE#5173]) -> [SKIP][43]
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0x8fffe.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0x8fffe.html

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

  Here are the changes found in xe-pw-147902v2_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-adlp:         NOTRUN -> [SKIP][44] ([Intel XE#3157])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-1/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
    - shard-lnl:          [PASS][45] -> [FAIL][46] ([Intel XE#911]) +3 other tests fail
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-4/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html

  * igt@kms_async_flips@invalid-async-flip-atomic@pipe-b-hdmi-a-1:
    - shard-adlp:         [PASS][47] -> [DMESG-WARN][48] ([Intel XE#4543]) +1 other test dmesg-warn
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-adlp-8/igt@kms_async_flips@invalid-async-flip-atomic@pipe-b-hdmi-a-1.html
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@kms_async_flips@invalid-async-flip-atomic@pipe-b-hdmi-a-1.html

  * igt@kms_async_flips@test-cursor-atomic:
    - shard-lnl:          NOTRUN -> [SKIP][49] ([Intel XE#664])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_async_flips@test-cursor-atomic.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-lnl:          NOTRUN -> [FAIL][50] ([Intel XE#3908]) +1 other test fail
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#2370])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-90:
    - shard-lnl:          NOTRUN -> [SKIP][52] ([Intel XE#1407]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-dg2-set2:     [PASS][53] -> [SKIP][54] ([Intel XE#2351] / [Intel XE#4208])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-463/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][55] ([Intel XE#316]) +5 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@kms_big_fb@linear-32bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#2327]) +1 other test skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-adlp:         NOTRUN -> [SKIP][57] ([Intel XE#316]) +1 other test skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-8/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

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

  * igt@kms_big_fb@y-tiled-8bpp-rotate-180:
    - shard-adlp:         NOTRUN -> [DMESG-FAIL][59] ([Intel XE#4543]) +3 other tests dmesg-fail
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-4/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-addfb:
    - shard-dg2-set2:     NOTRUN -> [SKIP][60] ([Intel XE#619])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_big_fb@y-tiled-addfb.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][61] ([Intel XE#2953] / [Intel XE#4173]) +1 other test dmesg-warn
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-1/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#610]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][63] ([Intel XE#610])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][64] ([Intel XE#1124]) +10 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html

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

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-adlp:         NOTRUN -> [SKIP][66] ([Intel XE#1124])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][67] ([Intel XE#1124]) +4 other tests skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
    - shard-lnl:          NOTRUN -> [SKIP][68] ([Intel XE#2191]) +2 other tests skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#2314] / [Intel XE#2894])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_bw@connected-linear-tiling-3-displays-2560x1440p.html

  * igt@kms_bw@linear-tiling-1-displays-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][70] ([Intel XE#367])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_bw@linear-tiling-1-displays-3840x2160p.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][71] ([Intel XE#367]) +1 other test skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_bw@linear-tiling-1-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-2-displays-2560x1440p:
    - shard-adlp:         NOTRUN -> [SKIP][72] ([Intel XE#367]) +1 other test skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][73] ([Intel XE#787]) +26 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-9/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][74] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][75] ([Intel XE#455] / [Intel XE#787]) +43 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html

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

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#3432]) +1 other test skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#3432])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][79] ([Intel XE#787]) +181 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][80] ([Intel XE#2907])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [PASS][81] -> [INCOMPLETE][82] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][83] ([Intel XE#2887]) +15 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-2:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][84] ([Intel XE#4212])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-d-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][85] ([Intel XE#455] / [Intel XE#787]) +17 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-8/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_cdclk@mode-transition@pipe-a-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][86] ([Intel XE#4417]) +3 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_cdclk@mode-transition@pipe-a-dp-2.html

  * igt@kms_chamelium_audio@hdmi-audio-edid:
    - shard-bmg:          NOTRUN -> [SKIP][87] ([Intel XE#2252]) +10 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_chamelium_audio@hdmi-audio-edid.html

  * igt@kms_chamelium_color@ctm-red-to-blue:
    - shard-dg2-set2:     NOTRUN -> [SKIP][88] ([Intel XE#306]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@kms_chamelium_color@ctm-red-to-blue.html

  * igt@kms_chamelium_color@degamma:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#2325])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_chamelium_color@degamma.html
    - shard-adlp:         NOTRUN -> [SKIP][90] ([Intel XE#306])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-9/igt@kms_chamelium_color@degamma.html
    - shard-lnl:          NOTRUN -> [SKIP][91] ([Intel XE#306])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@kms_chamelium_color@degamma.html

  * igt@kms_chamelium_edid@dp-edid-read:
    - shard-adlp:         NOTRUN -> [SKIP][92] ([Intel XE#373]) +3 other tests skip
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-4/igt@kms_chamelium_edid@dp-edid-read.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     NOTRUN -> [SKIP][93] ([Intel XE#373]) +13 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_chamelium_hpd@vga-hpd.html
    - shard-lnl:          NOTRUN -> [SKIP][94] ([Intel XE#373]) +7 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-7/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_content_protection@atomic:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#5176]) +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@kms_content_protection@atomic.html

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

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

  * igt@kms_content_protection@legacy:
    - shard-adlp:         NOTRUN -> [SKIP][98] ([Intel XE#455]) +9 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-8/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@legacy@pipe-a-dp-2:
    - shard-dg2-set2:     NOTRUN -> [FAIL][99] ([Intel XE#1178]) +3 other tests fail
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_content_protection@legacy@pipe-a-dp-2.html

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

  * igt@kms_content_protection@uevent@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][101] ([Intel XE#1188])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_content_protection@uevent@pipe-a-dp-2.html

  * igt@kms_cursor_crc@cursor-alpha-transparent@pipe-a-hdmi-a-1:
    - shard-adlp:         [PASS][102] -> [DMESG-WARN][103] ([Intel XE#2953] / [Intel XE#4173]) +1 other test dmesg-warn
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-adlp-9/igt@kms_cursor_crc@cursor-alpha-transparent@pipe-a-hdmi-a-1.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-4/igt@kms_cursor_crc@cursor-alpha-transparent@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-offscreen-128x42:
    - shard-bmg:          NOTRUN -> [SKIP][104] ([Intel XE#2320]) +6 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_cursor_crc@cursor-offscreen-128x42.html

  * igt@kms_cursor_crc@cursor-random-128x42:
    - shard-lnl:          NOTRUN -> [SKIP][105] ([Intel XE#1424]) +2 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@kms_cursor_crc@cursor-random-128x42.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-bmg:          NOTRUN -> [SKIP][106] ([Intel XE#2321]) +1 other test skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-lnl:          NOTRUN -> [SKIP][107] ([Intel XE#2321])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-128x42:
    - shard-dg2-set2:     [PASS][108] -> [SKIP][109] ([Intel XE#4208] / [i915#2575]) +11 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-435/igt@kms_cursor_crc@cursor-rapid-movement-128x42.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_cursor_crc@cursor-rapid-movement-128x42.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-adlp:         NOTRUN -> [SKIP][110] ([Intel XE#308])
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions:
    - shard-adlp:         NOTRUN -> [SKIP][111] ([Intel XE#309])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#2291])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
    - shard-bmg:          [PASS][113] -> [SKIP][114] ([Intel XE#2291]) +4 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2-set2:     NOTRUN -> [SKIP][115] ([Intel XE#323]) +1 other test skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
    - shard-bmg:          NOTRUN -> [SKIP][116] ([Intel XE#2286]) +1 other test skip
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-lnl:          NOTRUN -> [SKIP][117] ([Intel XE#4302])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-7/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-bmg:          [PASS][118] -> [SKIP][119] ([Intel XE#4354])
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@kms_dp_link_training@non-uhbr-sst.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-lnl:          NOTRUN -> [SKIP][120] ([Intel XE#4354])
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dp_link_training@uhbr-sst:
    - shard-bmg:          NOTRUN -> [SKIP][121] ([Intel XE#4354]) +1 other test skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_dp_link_training@uhbr-sst.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-dg2-set2:     NOTRUN -> [SKIP][122] ([Intel XE#4331])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area:
    - shard-adlp:         NOTRUN -> [SKIP][123] ([Intel XE#4422])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html

  * igt@kms_feature_discovery@chamelium:
    - shard-dg2-set2:     NOTRUN -> [SKIP][124] ([Intel XE#701])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-bmg:          NOTRUN -> [SKIP][125] ([Intel XE#2375])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_feature_discovery@psr2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][126] ([Intel XE#1135])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-blocking-absolute-wf_vblank-interruptible:
    - shard-lnl:          NOTRUN -> [SKIP][127] ([Intel XE#1421]) +5 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@kms_flip@2x-blocking-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-adlp:         NOTRUN -> [SKIP][128] ([Intel XE#310])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@kms_flip@2x-flip-vs-expired-vblank.html

  * igt@kms_flip@2x-plain-flip:
    - shard-bmg:          [PASS][129] -> [SKIP][130] ([Intel XE#2316]) +5 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-2/igt@kms_flip@2x-plain-flip.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6:
    - shard-dg2-set2:     [PASS][131] -> [FAIL][132] ([Intel XE#301]) +1 other test fail
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][133] ([Intel XE#1397] / [Intel XE#1745])
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling.html

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

  * igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling:
    - shard-dg2-set2:     NOTRUN -> [SKIP][135] ([Intel XE#2351] / [Intel XE#4208]) +2 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][136] ([Intel XE#1401] / [Intel XE#1745])
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][137] ([Intel XE#1401])
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
    - shard-adlp:         [PASS][138] -> [DMESG-FAIL][139] ([Intel XE#4543] / [Intel XE#4921]) +1 other test dmesg-fail
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-adlp-8/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-9/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html

  * igt@kms_force_connector_basic@force-connector-state:
    - shard-lnl:          NOTRUN -> [SKIP][140] ([Intel XE#352])
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@kms_force_connector_basic@force-connector-state.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
    - shard-adlp:         NOTRUN -> [SKIP][141] ([Intel XE#656]) +14 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt:
    - shard-adlp:         [PASS][142] -> [DMESG-FAIL][143] ([Intel XE#4543]) +6 other tests dmesg-fail
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-adlp-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     [PASS][144] -> [SKIP][145] ([Intel XE#4208]) +20 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-433/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          NOTRUN -> [SKIP][146] ([Intel XE#4141]) +10 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][147] ([Intel XE#2312]) +20 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-dg2-set2:     NOTRUN -> [SKIP][148] ([Intel XE#658]) +1 other test skip
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][149] ([Intel XE#651]) +34 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][150] ([Intel XE#651]) +5 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][151] ([Intel XE#2311]) +23 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-shrfb-scaledprimary:
    - shard-adlp:         NOTRUN -> [SKIP][152] ([Intel XE#651]) +8 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcdrrs-shrfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][153] ([Intel XE#2313]) +22 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][154] ([Intel XE#656]) +23 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-slowdraw:
    - shard-dg2-set2:     NOTRUN -> [SKIP][155] ([Intel XE#653]) +32 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][156] ([Intel XE#2352])
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
    - shard-lnl:          NOTRUN -> [SKIP][157] ([Intel XE#1469])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary:
    - shard-adlp:         NOTRUN -> [SKIP][158] ([Intel XE#653]) +6 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-9/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html

  * igt@kms_getfb@getfb-reject-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][159] ([Intel XE#605])
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_getfb@getfb-reject-ccs.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          NOTRUN -> [SKIP][160] ([Intel XE#1503])
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_hdr@invalid-hdr.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][161] ([Intel XE#4298])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-adlp:         NOTRUN -> [SKIP][162] ([Intel XE#2927])
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-2/igt@kms_joiner@basic-ultra-joiner.html
    - shard-bmg:          NOTRUN -> [SKIP][163] ([Intel XE#2927])
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_joiner@basic-ultra-joiner.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][164] ([Intel XE#2927])
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_joiner@basic-ultra-joiner.html
    - shard-lnl:          NOTRUN -> [SKIP][165] ([Intel XE#2927])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][166] ([Intel XE#346])
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][167] ([Intel XE#2934])
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-dg2-set2:     NOTRUN -> [SKIP][168] ([Intel XE#455]) +17 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@kms_panel_fitting@atomic-fastset.html
    - shard-bmg:          NOTRUN -> [SKIP][169] ([Intel XE#2486])
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_plane@pixel-format:
    - shard-adlp:         NOTRUN -> [INCOMPLETE][170] ([Intel XE#1035])
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-4/igt@kms_plane@pixel-format.html

  * igt@kms_plane@pixel-format@pipe-a-plane-3:
    - shard-adlp:         NOTRUN -> [WARN][171] ([Intel XE#2078]) +1 other test warn
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-4/igt@kms_plane@pixel-format@pipe-a-plane-3.html

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

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-bmg:          [PASS][173] -> [SKIP][174] ([Intel XE#4596])
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@kms_plane_multiple@2x-tiling-4.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][175] ([Intel XE#5020])
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_plane_multiple@tiling-y.html

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

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][177] ([Intel XE#2938])
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2-set2:     NOTRUN -> [SKIP][178] ([Intel XE#870]) +1 other test skip
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-bmg:          NOTRUN -> [SKIP][179] ([Intel XE#2391])
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_pm_dc@dc3co-vpb-simulation.html
    - shard-lnl:          NOTRUN -> [SKIP][180] ([Intel XE#736])
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-1/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-adlp:         NOTRUN -> [SKIP][181] ([Intel XE#3309])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-adlp:         NOTRUN -> [FAIL][182] ([Intel XE#718])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-9/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][183] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836]) +1 other test skip
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_pm_rpm@modeset-lpsp.html

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

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf:
    - shard-lnl:          NOTRUN -> [SKIP][185] ([Intel XE#2893] / [Intel XE#4608])
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][186] ([Intel XE#4608]) +1 other test skip
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-a-edp-1.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
    - shard-adlp:         NOTRUN -> [SKIP][187] ([Intel XE#1489]) +3 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-4/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-plane-move-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][188] ([Intel XE#2893])
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@kms_psr2_sf@pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][189] ([Intel XE#1489]) +7 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-dg2-set2:     NOTRUN -> [SKIP][190] ([Intel XE#1122])
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_psr2_su@page_flip-nv12.html
    - shard-bmg:          NOTRUN -> [SKIP][191] ([Intel XE#2387])
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr@fbc-psr2-primary-blt@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][192] ([Intel XE#4609]) +1 other test skip
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@kms_psr@fbc-psr2-primary-blt@edp-1.html

  * igt@kms_psr@fbc-psr2-sprite-render:
    - shard-adlp:         NOTRUN -> [SKIP][193] ([Intel XE#2850] / [Intel XE#929]) +7 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-2/igt@kms_psr@fbc-psr2-sprite-render.html

  * igt@kms_psr@pr-primary-blt:
    - shard-lnl:          NOTRUN -> [SKIP][194] ([Intel XE#1406]) +3 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@kms_psr@pr-primary-blt.html

  * igt@kms_psr@pr-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][195] ([Intel XE#2234] / [Intel XE#2850]) +16 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_psr@pr-suspend.html

  * igt@kms_psr@psr-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][196] ([Intel XE#2850] / [Intel XE#929]) +15 other tests skip
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@kms_psr@psr-dpms.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][197] ([Intel XE#1127]) +1 other test skip
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

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

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-bmg:          NOTRUN -> [SKIP][199] ([Intel XE#2330])
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-lnl:          NOTRUN -> [SKIP][200] ([Intel XE#1127])
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-bmg:          NOTRUN -> [SKIP][201] ([Intel XE#3414] / [Intel XE#3904]) +1 other test skip
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
    - shard-lnl:          NOTRUN -> [SKIP][202] ([Intel XE#3414] / [Intel XE#3904])
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_rotation_crc@sprite-rotation-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][203] ([Intel XE#4208] / [i915#2575]) +5 other tests skip
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_rotation_crc@sprite-rotation-180.html

  * igt@kms_setmode@clone-exclusive-crtc:
    - shard-lnl:          NOTRUN -> [SKIP][204] ([Intel XE#1435])
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-1/igt@kms_setmode@clone-exclusive-crtc.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          NOTRUN -> [SKIP][205] ([Intel XE#2426])
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern.html
    - shard-dg2-set2:     NOTRUN -> [FAIL][206] ([Intel XE#1729])
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2-set2:     NOTRUN -> [SKIP][207] ([Intel XE#362])
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

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

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-lnl:          NOTRUN -> [SKIP][209] ([Intel XE#1091] / [Intel XE#2849])
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
    - shard-bmg:          NOTRUN -> [SKIP][210] ([Intel XE#1091] / [Intel XE#2849])
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  * igt@xe_compute_preempt@compute-preempt-many:
    - shard-dg2-set2:     NOTRUN -> [SKIP][211] ([Intel XE#1280] / [Intel XE#455]) +3 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@xe_compute_preempt@compute-preempt-many.html

  * igt@xe_copy_basic@mem-copy-linear-0x369:
    - shard-adlp:         NOTRUN -> [SKIP][212] ([Intel XE#1123]) +1 other test skip
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@xe_copy_basic@mem-copy-linear-0x369.html

  * igt@xe_copy_basic@mem-set-linear-0xfd:
    - shard-dg2-set2:     NOTRUN -> [SKIP][213] ([Intel XE#1126])
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@xe_copy_basic@mem-set-linear-0xfd.html

  * igt@xe_eu_stall@blocking-re-enable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][214] ([Intel XE#4497]) +1 other test skip
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@xe_eu_stall@blocking-re-enable.html

  * igt@xe_eudebug@vm-bind-clear-faultable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][215] ([Intel XE#4837]) +14 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@xe_eudebug@vm-bind-clear-faultable.html

  * igt@xe_eudebug_online@single-step:
    - shard-adlp:         NOTRUN -> [SKIP][216] ([Intel XE#4837]) +4 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@xe_eudebug_online@single-step.html
    - shard-bmg:          NOTRUN -> [SKIP][217] ([Intel XE#4837]) +11 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@xe_eudebug_online@single-step.html

  * igt@xe_evict@evict-large:
    - shard-adlp:         NOTRUN -> [SKIP][218] ([Intel XE#261] / [Intel XE#688]) +1 other test skip
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-4/igt@xe_evict@evict-large.html

  * igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-reopen:
    - shard-lnl:          NOTRUN -> [SKIP][219] ([Intel XE#688]) +2 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-reopen.html

  * igt@xe_exec_basic@multigpu-no-exec-basic-defer-bind:
    - shard-adlp:         NOTRUN -> [SKIP][220] ([Intel XE#1392]) +4 other tests skip
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@xe_exec_basic@multigpu-no-exec-basic-defer-bind.html

  * igt@xe_exec_basic@multigpu-no-exec-null-defer-bind:
    - shard-dg2-set2:     [PASS][221] -> [SKIP][222] ([Intel XE#1392]) +5 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-434/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][223] ([Intel XE#2322]) +9 other tests skip
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][224] ([Intel XE#1392]) +1 other test skip
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind.html

  * igt@xe_exec_basic@multigpu-once-null-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][225] ([Intel XE#1392]) +3 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@xe_exec_basic@multigpu-once-null-rebind.html

  * igt@xe_exec_fault_mode@once-invalid-userptr-fault:
    - shard-dg2-set2:     NOTRUN -> [SKIP][226] ([Intel XE#288]) +30 other tests skip
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html

  * igt@xe_exec_fault_mode@once-userptr-invalidate-prefetch:
    - shard-adlp:         NOTRUN -> [SKIP][227] ([Intel XE#288]) +11 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-2/igt@xe_exec_fault_mode@once-userptr-invalidate-prefetch.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence:
    - shard-dg2-set2:     NOTRUN -> [SKIP][228] ([Intel XE#2360])
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence.html

  * igt@xe_exec_sip_eudebug@wait-writesip-nodebug:
    - shard-lnl:          NOTRUN -> [SKIP][229] ([Intel XE#4837]) +5 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-7/igt@xe_exec_sip_eudebug@wait-writesip-nodebug.html

  * igt@xe_exec_system_allocator@many-execqueues-malloc-fork-read:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][230] ([Intel XE#5111])
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@xe_exec_system_allocator@many-execqueues-malloc-fork-read.html

  * igt@xe_exec_system_allocator@many-mmap-free-race:
    - shard-adlp:         NOTRUN -> [SKIP][231] ([Intel XE#4915]) +115 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@xe_exec_system_allocator@many-mmap-free-race.html

  * igt@xe_exec_system_allocator@many-stride-mmap-huge-nomemset:
    - shard-lnl:          NOTRUN -> [SKIP][232] ([Intel XE#4943]) +8 other tests skip
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@xe_exec_system_allocator@many-stride-mmap-huge-nomemset.html

  * igt@xe_exec_system_allocator@threads-many-large-execqueues-malloc-mlock-nomemset:
    - shard-dg2-set2:     NOTRUN -> [SKIP][233] ([Intel XE#4915]) +306 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@xe_exec_system_allocator@threads-many-large-execqueues-malloc-mlock-nomemset.html

  * igt@xe_exec_system_allocator@threads-many-stride-mmap-remap-dontunmap:
    - shard-bmg:          [PASS][234] -> [INCOMPLETE][235] ([Intel XE#5111]) +1 other test incomplete
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@xe_exec_system_allocator@threads-many-stride-mmap-remap-dontunmap.html
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@xe_exec_system_allocator@threads-many-stride-mmap-remap-dontunmap.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-new-huge:
    - shard-bmg:          NOTRUN -> [SKIP][236] ([Intel XE#4943]) +26 other tests skip
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-new-huge.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-nomemset:
    - shard-lnl:          [PASS][237] -> [INCOMPLETE][238] ([Intel XE#5111]) +1 other test incomplete
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-5/igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-nomemset.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-3/igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-nomemset.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-shared-nomemset:
    - shard-dg2-set2:     NOTRUN -> [SKIP][239] ([Intel XE#4208]) +20 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-shared-nomemset.html

  * igt@xe_exec_threads@threads-hang-fd-rebind:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][240] ([Intel XE#3876])
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@xe_exec_threads@threads-hang-fd-rebind.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
    - shard-dg2-set2:     NOTRUN -> [ABORT][241] ([Intel XE#4917])
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - shard-bmg:          NOTRUN -> [SKIP][242] ([Intel XE#2229])
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_mmap@vram:
    - shard-lnl:          NOTRUN -> [SKIP][243] ([Intel XE#1416])
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-1/igt@xe_mmap@vram.html
    - shard-adlp:         NOTRUN -> [SKIP][244] ([Intel XE#1008])
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-2/igt@xe_mmap@vram.html

  * igt@xe_module_load@force-load:
    - shard-dg2-set2:     NOTRUN -> [SKIP][245] ([Intel XE#378])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@xe_module_load@force-load.html

  * igt@xe_oa@non-privileged-access-vaddr:
    - shard-adlp:         NOTRUN -> [SKIP][246] ([Intel XE#2541] / [Intel XE#3573])
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@xe_oa@non-privileged-access-vaddr.html

  * igt@xe_oa@oa-tlb-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][247] ([Intel XE#2248])
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@xe_oa@oa-tlb-invalidate.html

  * igt@xe_oa@oa-unit-exclusive-stream-sample-oa:
    - shard-dg2-set2:     NOTRUN -> [SKIP][248] ([Intel XE#2541] / [Intel XE#3573]) +5 other tests skip
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@xe_oa@oa-unit-exclusive-stream-sample-oa.html

  * igt@xe_oa@syncs-ufence-wait:
    - shard-adlp:         NOTRUN -> [SKIP][249] ([Intel XE#2541] / [Intel XE#3573] / [Intel XE#4501]) +1 other test skip
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-2/igt@xe_oa@syncs-ufence-wait.html

  * igt@xe_oa@syncs-ufence-wait-cfg:
    - shard-dg2-set2:     NOTRUN -> [SKIP][250] ([Intel XE#2541] / [Intel XE#3573] / [Intel XE#4501]) +1 other test skip
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@xe_oa@syncs-ufence-wait-cfg.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][251] ([Intel XE#2838] / [Intel XE#979])
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p:
    - shard-dg2-set2:     NOTRUN -> [FAIL][252] ([Intel XE#1173])
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p.html

  * igt@xe_pm@d3cold-mmap-system:
    - shard-adlp:         NOTRUN -> [SKIP][253] ([Intel XE#2284] / [Intel XE#366])
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@xe_pm@d3cold-mmap-system.html

  * igt@xe_pm@d3cold-multiple-execs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][254] ([Intel XE#2284] / [Intel XE#366])
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@xe_pm@d3cold-multiple-execs.html

  * igt@xe_pm@s3-d3cold-basic-exec:
    - shard-bmg:          NOTRUN -> [SKIP][255] ([Intel XE#2284]) +1 other test skip
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@xe_pm@s3-d3cold-basic-exec.html
    - shard-lnl:          NOTRUN -> [SKIP][256] ([Intel XE#2284] / [Intel XE#366])
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@xe_pm@s3-d3cold-basic-exec.html

  * igt@xe_pm@s3-multiple-execs:
    - shard-bmg:          [PASS][257] -> [DMESG-WARN][258] ([Intel XE#569]) +1 other test dmesg-warn
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@xe_pm@s3-multiple-execs.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@xe_pm@s3-multiple-execs.html

  * igt@xe_pm@s4-multiple-execs:
    - shard-adlp:         [PASS][259] -> [ABORT][260] ([Intel XE#1794])
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-adlp-6/igt@xe_pm@s4-multiple-execs.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-9/igt@xe_pm@s4-multiple-execs.html

  * igt@xe_pm_residency@cpg-basic:
    - shard-lnl:          NOTRUN -> [SKIP][261] ([Intel XE#584])
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@xe_pm_residency@cpg-basic.html

  * igt@xe_pmu@fn-engine-activity-sched-if-idle:
    - shard-lnl:          NOTRUN -> [SKIP][262] ([Intel XE#4650])
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
    - shard-bmg:          NOTRUN -> [SKIP][263] ([Intel XE#4650]) +1 other test skip
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][264] ([Intel XE#4650])
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@xe_pmu@fn-engine-activity-sched-if-idle.html

  * igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
    - shard-adlp:         NOTRUN -> [SKIP][265] ([Intel XE#4733])
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-2/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html

  * igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq:
    - shard-bmg:          NOTRUN -> [SKIP][266] ([Intel XE#4733]) +2 other tests skip
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq.html

  * igt@xe_pxp@pxp-termination-key-update-post-rpm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][267] ([Intel XE#4733]) +3 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@xe_pxp@pxp-termination-key-update-post-rpm.html

  * igt@xe_query@multigpu-query-cs-cycles:
    - shard-bmg:          NOTRUN -> [SKIP][268] ([Intel XE#944]) +1 other test skip
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@xe_query@multigpu-query-cs-cycles.html

  * igt@xe_query@multigpu-query-invalid-cs-cycles:
    - shard-dg2-set2:     NOTRUN -> [SKIP][269] ([Intel XE#944]) +1 other test skip
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@xe_query@multigpu-query-invalid-cs-cycles.html
    - shard-lnl:          NOTRUN -> [SKIP][270] ([Intel XE#944]) +1 other test skip
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-2/igt@xe_query@multigpu-query-invalid-cs-cycles.html

  * igt@xe_render_copy@render-stress-2-copies:
    - shard-dg2-set2:     NOTRUN -> [SKIP][271] ([Intel XE#4814])
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@xe_render_copy@render-stress-2-copies.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-bmg:          NOTRUN -> [SKIP][272] ([Intel XE#3342])
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets:
    - shard-bmg:          NOTRUN -> [SKIP][273] ([Intel XE#4351])
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html

  
#### Possible fixes ####

  * igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y:
    - shard-adlp:         [DMESG-WARN][274] ([Intel XE#4543]) -> [PASS][275] +7 other tests pass
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-adlp-2/igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y.html
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-6/igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         [DMESG-FAIL][276] ([Intel XE#4543]) -> [PASS][277] +7 other tests pass
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-adlp-4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-adlp-3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
    - shard-bmg:          [SKIP][278] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][279]
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][280] ([Intel XE#3862]) -> [PASS][281] +1 other test pass
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size:
    - shard-bmg:          [SKIP][282] ([Intel XE#2291]) -> [PASS][283] +3 other tests pass
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html

  * igt@kms_feature_discovery@display-2x:
    - shard-bmg:          [SKIP][284] ([Intel XE#2373]) -> [PASS][285]
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@kms_feature_discovery@display-2x.html
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_feature_discovery@display-2x.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop:
    - shard-bmg:          [SKIP][286] ([Intel XE#2316]) -> [PASS][287] +4 other tests pass
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_flip@2x-flip-vs-dpms-on-nop.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [FAIL][288] ([Intel XE#3321]) -> [PASS][289] +1 other test pass
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp4:
    - shard-dg2-set2:     [FAIL][290] ([Intel XE#301]) -> [PASS][291] +6 other tests pass
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp4.html
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp4.html

  * igt@kms_flip@flip-vs-expired-vblank@c-dp4:
    - shard-dg2-set2:     [FAIL][292] ([Intel XE#301] / [Intel XE#3321]) -> [PASS][293] +1 other test pass
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank@c-dp4.html
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-433/igt@kms_flip@flip-vs-expired-vblank@c-dp4.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-bmg:          [INCOMPLETE][294] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][295] +1 other test pass
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-7/igt@kms_flip@flip-vs-suspend.html
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64:
    - shard-dg2-set2:     [FAIL][296] ([Intel XE#616]) -> [PASS][297] +1 other test pass
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-433/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-bmg:          [SKIP][298] ([Intel XE#4596]) -> [PASS][299]
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-none.html
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-none.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-lnl:          [FAIL][300] ([Intel XE#718]) -> [PASS][301]
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-3/igt@kms_pm_dc@dc5-psr.html
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-7/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_setmode@basic@pipe-b-edp-1:
    - shard-lnl:          [FAIL][302] ([Intel XE#2883]) -> [PASS][303] +2 other tests pass
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-4/igt@kms_setmode@basic@pipe-b-edp-1.html
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-5/igt@kms_setmode@basic@pipe-b-edp-1.html

  * igt@kms_vrr@cmrr@pipe-a-edp-1:
    - shard-lnl:          [FAIL][304] ([Intel XE#4459]) -> [PASS][305] +1 other test pass
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-7/igt@kms_vrr@cmrr@pipe-a-edp-1.html
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-8/igt@kms_vrr@cmrr@pipe-a-edp-1.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race:
    - shard-dg2-set2:     [SKIP][306] ([Intel XE#1392]) -> [PASS][307] +3 other tests pass
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race.html
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-436/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race.html

  * igt@xe_exec_compute_mode@twice-bindexecqueue-userptr-invalidate:
    - shard-dg2-set2:     [INCOMPLETE][308] -> [PASS][309]
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-436/igt@xe_exec_compute_mode@twice-bindexecqueue-userptr-invalidate.html
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-432/igt@xe_exec_compute_mode@twice-bindexecqueue-userptr-invalidate.html

  * igt@xe_pm@s4-mocs:
    - shard-lnl:          [ABORT][310] ([Intel XE#1794]) -> [PASS][311]
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-lnl-2/igt@xe_pm@s4-mocs.html
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-lnl-4/igt@xe_pm@s4-mocs.html

  * igt@xe_pmu@gt-frequency:
    - shard-dg2-set2:     [FAIL][312] ([Intel XE#4819]) -> [PASS][313] +1 other test pass
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-435/igt@xe_pmu@gt-frequency.html
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@xe_pmu@gt-frequency.html

  
#### Warnings ####

  * igt@kms_big_fb@4-tiled-32bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][314] ([Intel XE#316]) -> [SKIP][315] ([Intel XE#4208])
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-435/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg2-set2:     [SKIP][316] ([Intel XE#1124]) -> [SKIP][317] ([Intel XE#2351] / [Intel XE#4208])
   [316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-436/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs:
    - shard-dg2-set2:     [SKIP][318] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][319] ([Intel XE#2351] / [Intel XE#4208])
   [318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-463/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs.html
   [319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs:
    - shard-dg2-set2:     [SKIP][320] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][321] ([Intel XE#4208])
   [320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-434/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html
   [321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-dg2-set2:     [SKIP][322] ([Intel XE#306]) -> [SKIP][323] ([Intel XE#4208] / [i915#2575])
   [322]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-435/igt@kms_chamelium_color@ctm-0-50.html
   [323]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_hpd@hdmi-hpd-fast:
    - shard-dg2-set2:     [SKIP][324] ([Intel XE#373]) -> [SKIP][325] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [324]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-463/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
   [325]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_chamelium_hpd@hdmi-hpd-fast.html

  * igt@kms_content_protection@lic-type-0:
    - shard-bmg:          [FAIL][326] ([Intel XE#1178]) -> [SKIP][327] ([Intel XE#2341])
   [326]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-2/igt@kms_content_protection@lic-type-0.html
   [327]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-1/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@uevent:
    - shard-bmg:          [SKIP][328] ([Intel XE#2341]) -> [FAIL][329] ([Intel XE#1188])
   [328]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-6/igt@kms_content_protection@uevent.html
   [329]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-sliding-max-size:
    - shard-dg2-set2:     [SKIP][330] ([Intel XE#455]) -> [SKIP][331] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [330]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-433/igt@kms_cursor_crc@cursor-sliding-max-size.html
   [331]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_cursor_crc@cursor-sliding-max-size.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-dg2-set2:     [FAIL][332] ([Intel XE#301]) -> [SKIP][333] ([Intel XE#4208] / [i915#2575])
   [332]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-435/igt@kms_flip@2x-flip-vs-expired-vblank.html
   [333]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_flip@2x-flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render:
    - shard-dg2-set2:     [SKIP][334] ([Intel XE#651]) -> [SKIP][335] ([Intel XE#4208])
   [334]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render.html
   [335]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][336] ([Intel XE#2311]) -> [SKIP][337] ([Intel XE#2312]) +15 other tests skip
   [336]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [337]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][338] ([Intel XE#4141]) -> [SKIP][339] ([Intel XE#2312]) +6 other tests skip
   [338]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
   [339]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][340] ([Intel XE#2312]) -> [SKIP][341] ([Intel XE#4141]) +11 other tests skip
   [340]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [341]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render:
    - shard-dg2-set2:     [SKIP][342] ([Intel XE#651]) -> [SKIP][343] ([Intel XE#2351] / [Intel XE#4208])
   [342]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render.html
   [343]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/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:          [SKIP][344] ([Intel XE#2312]) -> [SKIP][345] ([Intel XE#2311]) +22 other tests skip
   [344]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html
   [345]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt:
    - shard-dg2-set2:     [SKIP][346] ([Intel XE#653]) -> [SKIP][347] ([Intel XE#4208]) +2 other tests skip
   [346]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html
   [347]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          [SKIP][348] ([Intel XE#2312]) -> [SKIP][349] ([Intel XE#2313]) +16 other tests skip
   [348]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html
   [349]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          [SKIP][350] ([Intel XE#2313]) -> [SKIP][351] ([Intel XE#2312]) +9 other tests skip
   [350]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html
   [351]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-bmg:          [SKIP][352] ([Intel XE#4596]) -> [SKIP][353] ([Intel XE#5021])
   [352]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-bmg-1/igt@kms_plane_multiple@2x-tiling-y.html
   [353]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_psr@fbc-psr-cursor-plane-onoff:
    - shard-dg2-set2:     [SKIP][354] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][355] ([Intel XE#4208]) +1 other test skip
   [354]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-433/igt@kms_psr@fbc-psr-cursor-plane-onoff.html
   [355]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_psr@fbc-psr-cursor-plane-onoff.html

  * igt@kms_rotation_crc@sprite-rotation-90:
    - shard-dg2-set2:     [SKIP][356] ([Intel XE#3414]) -> [SKIP][357] ([Intel XE#4208] / [i915#2575])
   [356]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-433/igt@kms_rotation_crc@sprite-rotation-90.html
   [357]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@kms_rotation_crc@sprite-rotation-90.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-lr:
    - shard-dg2-set2:     [SKIP][358] ([Intel XE#2360]) -> [SKIP][359] ([Intel XE#4208])
   [358]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-433/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html
   [359]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-race-nomemset:
    - shard-dg2-set2:     [SKIP][360] ([Intel XE#4915]) -> [SKIP][361] ([Intel XE#4208]) +24 other tests skip
   [360]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-463/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-race-nomemset.html
   [361]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-434/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-race-nomemset.html

  * igt@xe_peer2peer@read:
    - shard-dg2-set2:     [SKIP][362] ([Intel XE#1061]) -> [FAIL][363] ([Intel XE#1173])
   [362]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3191-6517275da428d10d60b2762385ca7daa3a382754/shard-dg2-432/igt@xe_peer2peer@read.html
   [363]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-147902v2/shard-dg2-463/igt@xe_peer2peer@read.html

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

  [Intel XE#1008]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1008
  [Intel XE#1035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1035
  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [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#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [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#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
  [Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#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#1416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1416
  [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#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1469
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2078
  [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#2248]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2248
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#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#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#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
  [Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
  [Intel XE#2375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2375
  [Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
  [Intel XE#2391]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2391
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
  [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [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#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
  [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#2883]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2883
  [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#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3157]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3157
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
  [Intel XE#352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/352
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [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#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
  [Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#3908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3908
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
  [Intel XE#4208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4208
  [Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
  [Intel XE#4298]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4298
  [Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
  [Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
  [Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
  [Intel XE#4497]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4497
  [Intel XE#4501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4501
  [Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
  [Intel XE#4819]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4819
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4917
  [Intel XE#4921]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4921
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#5111]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5111
  [Intel XE#5172]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5172
  [Intel XE#5173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5173
  [Intel XE#5176]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5176
  [Intel XE#569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/569
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#605]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/605
  [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#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#664]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/664
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#736]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/736
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
  [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#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575


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

  * IGT: IGT_8393 -> IGT_8394
  * Linux: xe-3191-6517275da428d10d60b2762385ca7daa3a382754 -> xe-pw-147902v2

  IGT_8393: 6a256bfe3025b94fcef3757e4edd6b2198cecf63 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8394: 8394
  xe-3191-6517275da428d10d60b2762385ca7daa3a382754: 6517275da428d10d60b2762385ca7daa3a382754
  xe-pw-147902v2: 147902v2

== Logs ==

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

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

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

* Re: [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap populate_mm op
  2025-06-04 15:04   ` Matthew Brost
@ 2025-06-05  7:37     ` Thomas Hellström
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-05  7:37 UTC (permalink / raw)
  To: Matthew Brost
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Wed, 2025-06-04 at 08:04 -0700, Matthew Brost wrote:
> On Wed, Jun 04, 2025 at 11:35:36AM +0200, Thomas Hellström wrote:
> > Add runtime PM since we might call populate_mm on a foreign device.
> 
> I think taking a runtime PM will fix hard to hit splat [1] too.
> 
> [1]
> https://patchwork.freedesktop.org/patch/648954/?series=147849&rev=1
> 
> > Also create the VRAM bos as ttm_bo_type_kernel. This avoids the
> > initial clearing and the creation of an mmap handle.
> > 
> > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > ---
> >  drivers/gpu/drm/drm_pagemap.c |   1 +
> >  drivers/gpu/drm/xe/xe_svm.c   | 104 ++++++++++++++++++++----------
> > ----
> >  drivers/gpu/drm/xe/xe_svm.h   |  10 ++--
> >  drivers/gpu/drm/xe/xe_tile.h  |  11 ++++
> >  drivers/gpu/drm/xe/xe_vm.c    |   2 +-
> >  5 files changed, 78 insertions(+), 50 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_pagemap.c
> > b/drivers/gpu/drm/drm_pagemap.c
> > index 25395685a9b8..94619be00d2a 100644
> > --- a/drivers/gpu/drm/drm_pagemap.c
> > +++ b/drivers/gpu/drm/drm_pagemap.c
> > @@ -843,3 +843,4 @@ int drm_pagemap_populate_mm(struct drm_pagemap
> > *dpagemap,
> >  
> >  	return err;
> >  }
> > +EXPORT_SYMBOL(drm_pagemap_populate_mm);
> > diff --git a/drivers/gpu/drm/xe/xe_svm.c
> > b/drivers/gpu/drm/xe/xe_svm.c
> > index e161ce3e67a1..a10aab3768d8 100644
> > --- a/drivers/gpu/drm/xe/xe_svm.c
> > +++ b/drivers/gpu/drm/xe/xe_svm.c
> > @@ -3,13 +3,17 @@
> >   * Copyright © 2024 Intel Corporation
> >   */
> >  
> > +#include <drm/drm_drv.h>
> > +
> >  #include "xe_bo.h"
> >  #include "xe_gt_stats.h"
> >  #include "xe_gt_tlb_invalidation.h"
> >  #include "xe_migrate.h"
> >  #include "xe_module.h"
> > +#include "xe_pm.h"
> >  #include "xe_pt.h"
> >  #include "xe_svm.h"
> > +#include "xe_tile.h"
> >  #include "xe_ttm_vram_mgr.h"
> >  #include "xe_vm.h"
> >  #include "xe_vm_types.h"
> > @@ -525,8 +529,10 @@ static struct xe_bo *to_xe_bo(struct
> > drm_pagemap_devmem *devmem_allocation)
> >  static void xe_svm_devmem_release(struct drm_pagemap_devmem
> > *devmem_allocation)
> >  {
> >  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
> > +	struct xe_device *xe = xe_bo_device(bo);
> >  
> >  	xe_bo_put_async(bo);
> > +	xe_pm_runtime_put(xe);
> >  }
> >  
> >  static u64 block_offset_to_pfn(struct xe_vram_region *vr, u64
> > offset)
> > @@ -720,76 +726,63 @@ static struct xe_vram_region
> > *tile_to_vr(struct xe_tile *tile)
> >  	return &tile->mem.vram;
> >  }
> >  
> > -/**
> > - * xe_svm_alloc_vram()- Allocate device memory pages for range,
> > - * migrating existing data.
> > - * @vm: The VM.
> > - * @tile: tile to allocate vram from
> > - * @range: SVM range
> > - * @ctx: DRM GPU SVM context
> > - *
> > - * Return: 0 on success, error code on failure.
> > - */
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > -		      struct xe_svm_range *range,
> > -		      const struct drm_gpusvm_ctx *ctx)
> > +static int xe_drm_pagemap_populate_mm(struct drm_pagemap
> > *dpagemap,
> > +				      unsigned long start,
> > unsigned long end,
> > +				      struct mm_struct *mm,
> > +				      unsigned long timeslice_ms)
> >  {
> > -	struct mm_struct *mm = vm->svm.gpusvm.mm;
> > +	struct xe_tile *tile = container_of(dpagemap,
> > typeof(*tile), mem.vram.dpagemap);
> 
> I think this is going to chnage here [2] making mem.vram a pointer.
> Maybe a helper to go from dpagemap -> tile to future proof a little.
> I
> think once [2] lands, we will need to pick the root tile here. 
> 
> [2] https://patchwork.freedesktop.org/series/149503/

OK, Yes I think such a helper is part of later patches in the
multidevice series not posted yet pending madvise.

In any case we probably need to associate a dpagemap with a vram region
and then figure out what to use for migration.

> 
> > +	struct xe_device *xe = tile_to_xe(tile);
> > +	struct device *dev = xe->drm.dev;
> >  	struct xe_vram_region *vr = tile_to_vr(tile);
> >  	struct drm_buddy_block *block;
> >  	struct list_head *blocks;
> >  	struct xe_bo *bo;
> > -	ktime_t end = 0;
> > -	int err;
> > -
> > -	if (!range->base.flags.migrate_devmem)
> > -		return -EINVAL;
> > +	ktime_t time_end = 0;
> > +	int err, idx;
> >  
> > -	range_debug(range, "ALLOCATE VRAM");
> > +	if (!drm_dev_enter(&xe->drm, &idx))
> > +		return -ENODEV;
> >  
> > -	if (!mmget_not_zero(mm))
> > -		return -EFAULT;
> > -	mmap_read_lock(mm);
> > +	xe_pm_runtime_get(xe);
> 
> A forgien device might not be awake so is that why you are using
> xe_pm_runtime_get rather than xe_pm_runtime_get_noresume?

Yes exactly.

>  We only have
> the MMAP lock here so assuming that is safe with our runtime PM flow.

It should. We use the same in the CPU fault handle.

> 
> >  
> > -retry:
> > -	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL,
> > -				 xe_svm_range_size(range),
> > -				 ttm_bo_type_device,
> > + retry:
> > +	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL, end
> > - start,
> > +				 ttm_bo_type_kernel,
> >  				 XE_BO_FLAG_VRAM_IF_DGFX(tile) |
> >  				 XE_BO_FLAG_CPU_ADDR_MIRROR);
> >  	if (IS_ERR(bo)) {
> >  		err = PTR_ERR(bo);
> > -		if (xe_vm_validate_should_retry(NULL, err, &end))
> > +		if (xe_vm_validate_should_retry(NULL, err,
> > &time_end))
> >  			goto retry;
> > -		goto unlock;
> > +		goto out_pm_put;
> >  	}
> >  
> > -	drm_pagemap_devmem_init(&bo->devmem_allocation,
> > -				vm->xe->drm.dev, mm,
> > +	drm_pagemap_devmem_init(&bo->devmem_allocation, dev, mm,
> >  				&dpagemap_devmem_ops,
> >  				&tile->mem.vram.dpagemap,
> > -				xe_svm_range_size(range));
> > +				end - start);
> >  
> >  	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)-
> > >blocks;
> >  	list_for_each_entry(block, blocks, link)
> >  		block->private = vr;
> >  
> >  	xe_bo_get(bo);
> > -	err = drm_pagemap_migrate_to_devmem(&bo-
> > >devmem_allocation,
> > -					    mm,
> > -					   
> > xe_svm_range_start(range),
> > -					   
> > xe_svm_range_end(range),
> > -					    ctx->timeslice_ms,
> > -					    xe_svm_devm_owner(vm-
> > >xe));
> > +
> > +	/* Ensure the device has a pm ref while there are device
> > pages active. */
> > +	xe_pm_runtime_get_noresume(xe);
> > +	err = drm_pagemap_migrate_to_devmem(&bo-
> > >devmem_allocation, mm,
> > +					    start, end,
> > timeslice_ms,
> > +					   
> > xe_svm_devm_owner(xe));
> >  	if (err)
> >  		xe_svm_devmem_release(&bo->devmem_allocation);
> >  
> >  	xe_bo_unlock(bo);
> >  	xe_bo_put(bo);
> >  
> > -unlock:
> > -	mmap_read_unlock(mm);
> > -	mmput(mm);
> > +out_pm_put:
> > +	xe_pm_runtime_put(xe);
> > +	drm_dev_exit(idx);
> >  
> >  	return err;
> >  }
> > @@ -898,7 +891,7 @@ int xe_svm_handle_pagefault(struct xe_vm *vm,
> > struct xe_vma *vma,
> >  
> >  	if (--migrate_try_count >= 0 &&
> >  	    xe_svm_range_needs_migrate_to_vram(range, vma,
> > IS_DGFX(vm->xe))) {
> > -		err = xe_svm_alloc_vram(vm, tile, range, &ctx);
> > +		err = xe_svm_alloc_vram(tile, range, &ctx);
> >  		ctx.timeslice_ms <<= 1;	/* Double
> > timeslice if we have to retry */
> >  		if (err) {
> >  			if (migrate_try_count || !ctx.devmem_only)
> > {
> > @@ -1054,6 +1047,30 @@ int xe_svm_range_get_pages(struct xe_vm *vm,
> > struct xe_svm_range *range,
> >  
> >  #if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> >  
> > +/**
> > + * xe_svm_alloc_vram()- Allocate device memory pages for range,
> > + * migrating existing data.
> > + * @vm: The VM.
> > + * @tile: tile to allocate vram from
> > + * @range: SVM range
> > + * @ctx: DRM GPU SVM context
> > + *
> > + * Return: 0 on success, error code on failure.
> > + */
> > +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range
> > *range,
> > +		      const struct drm_gpusvm_ctx *ctx)
> > +{
> > +	struct drm_pagemap *dpagemap;
> > +
> > +	range_debug(range, "ALLOCATE VRAM");
> > +
> 
> 	if (!range->base.flags.migrate_devmem)
> 		return -EINVAL;
> 
> Or I guess an assert would work too as caller should have check this
> field.

Sure. Will fix.
/Thomas


> 
> Matt
> 
> > +	dpagemap = xe_tile_local_pagemap(tile);
> > +	return drm_pagemap_populate_mm(dpagemap,
> > xe_svm_range_start(range),
> > +				       xe_svm_range_end(range),
> > +				       range->base.gpusvm->mm,
> > +				       ctx->timeslice_ms);
> > +}
> > +
> >  static struct drm_pagemap_device_addr
> >  xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
> >  			  struct device *dev,
> > @@ -1078,6 +1095,7 @@ xe_drm_pagemap_device_map(struct drm_pagemap
> > *dpagemap,
> >  
> >  static const struct drm_pagemap_ops xe_drm_pagemap_ops = {
> >  	.device_map = xe_drm_pagemap_device_map,
> > +	.populate_mm = xe_drm_pagemap_populate_mm,
> >  };
> >  
> >  /**
> > @@ -1130,7 +1148,7 @@ int xe_devm_add(struct xe_tile *tile, struct
> > xe_vram_region *vr)
> >  	return 0;
> >  }
> >  #else
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > +int xe_svm_alloc_vram(struct xe_tile *tile,
> >  		      struct xe_svm_range *range,
> >  		      const struct drm_gpusvm_ctx *ctx)
> >  {
> > diff --git a/drivers/gpu/drm/xe/xe_svm.h
> > b/drivers/gpu/drm/xe/xe_svm.h
> > index 19ce4f2754a7..da9a69ea0bb1 100644
> > --- a/drivers/gpu/drm/xe/xe_svm.h
> > +++ b/drivers/gpu/drm/xe/xe_svm.h
> > @@ -70,8 +70,7 @@ int xe_svm_bo_evict(struct xe_bo *bo);
> >  
> >  void xe_svm_range_debug(struct xe_svm_range *range, const char
> > *operation);
> >  
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > -		      struct xe_svm_range *range,
> > +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range
> > *range,
> >  		      const struct drm_gpusvm_ctx *ctx);
> >  
> >  struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm,
> > u64 addr,
> > @@ -237,10 +236,9 @@ void xe_svm_range_debug(struct xe_svm_range
> > *range, const char *operation)
> >  {
> >  }
> >  
> > -static inline
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > -		      struct xe_svm_range *range,
> > -		      const struct drm_gpusvm_ctx *ctx)
> > +static inline int
> > +xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range
> > *range,
> > +		  const struct drm_gpusvm_ctx *ctx)
> >  {
> >  	return -EOPNOTSUPP;
> >  }
> > diff --git a/drivers/gpu/drm/xe/xe_tile.h
> > b/drivers/gpu/drm/xe/xe_tile.h
> > index eb939316d55b..066a3d0cea79 100644
> > --- a/drivers/gpu/drm/xe/xe_tile.h
> > +++ b/drivers/gpu/drm/xe/xe_tile.h
> > @@ -16,4 +16,15 @@ int xe_tile_init(struct xe_tile *tile);
> >  
> >  void xe_tile_migrate_wait(struct xe_tile *tile);
> >  
> > +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> > +static inline struct drm_pagemap *xe_tile_local_pagemap(struct
> > xe_tile *tile)
> > +{
> > +	return &tile->mem.vram.dpagemap;
> > +}
> > +#else
> > +static inline struct drm_pagemap *xe_tile_local_pagemap(struct
> > xe_tile *tile)
> > +{
> > +	return NULL;
> > +}
> > +#endif
> >  #endif
> > diff --git a/drivers/gpu/drm/xe/xe_vm.c
> > b/drivers/gpu/drm/xe/xe_vm.c
> > index 7140d8856bad..def493acb4d7 100644
> > --- a/drivers/gpu/drm/xe/xe_vm.c
> > +++ b/drivers/gpu/drm/xe/xe_vm.c
> > @@ -2911,7 +2911,7 @@ static int prefetch_ranges(struct xe_vm *vm,
> > struct xe_vma_op *op)
> >  
> >  		if (xe_svm_range_needs_migrate_to_vram(svm_range,
> > vma, region)) {
> >  			tile = &vm->xe-
> > >tiles[region_to_mem_type[region] - XE_PL_VRAM0];
> > -			err = xe_svm_alloc_vram(vm, tile,
> > svm_range, &ctx);
> > +			err = xe_svm_alloc_vram(tile, svm_range,
> > &ctx);
> >  			if (err) {
> >  				drm_dbg(&vm->xe->drm, "VRAM
> > allocation failed, retry from userspace, asid=%u, gpusvm=%p,
> > errno=%pe\n",
> >  					vm->usm.asid, &vm-
> > >svm.gpusvm, ERR_PTR(err));
> > -- 
> > 2.49.0
> > 


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

* Re: [PATCH v2 2/3] drm/pagemap: Add a populate_mm op
  2025-06-04 22:05   ` Matthew Brost
@ 2025-06-05  7:40     ` Thomas Hellström
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-05  7:40 UTC (permalink / raw)
  To: Matthew Brost
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Wed, 2025-06-04 at 15:05 -0700, Matthew Brost wrote:
> On Wed, Jun 04, 2025 at 11:35:35AM +0200, Thomas Hellström wrote:
> > Add an operation to populate a part of a drm_mm with device
> > private memory.
> > 
> 
> With the kernel doc fixed:
> Reviewed-by: Matthew Brost <matthew.brost@intel.com>

Thanks for reviewing,
Thomas

> 
> > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > ---
> >  drivers/gpu/drm/drm_gpusvm.c  |  7 ++-----
> >  drivers/gpu/drm/drm_pagemap.c | 34
> > ++++++++++++++++++++++++++++++++++
> >  include/drm/drm_pagemap.h     | 34
> > ++++++++++++++++++++++++++++++++++
> >  3 files changed, 70 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_gpusvm.c
> > b/drivers/gpu/drm/drm_gpusvm.c
> > index ef81381609de..51afc8a9704d 100644
> > --- a/drivers/gpu/drm/drm_gpusvm.c
> > +++ b/drivers/gpu/drm/drm_gpusvm.c
> > @@ -175,11 +175,8 @@
> >   *		}
> >   *
> >   *		if (driver_migration_policy(range)) {
> > - *			mmap_read_lock(mm);
> > - *			devmem = driver_alloc_devmem();
> > - *			err =
> > drm_pagemap_migrate_to_devmem(devmem, gpusvm->mm, gpuva_start,
> > - *                                                         
> > gpuva_end, driver_pgmap_owner());
> > - *                      mmap_read_unlock(mm);
> > + *			err =
> > drm_pagemap_populate_mm(driver_choose_drm_pagemap(),
> > + *                                                    gpuva_start,
> > gpuva_end, gpusvm->mm);
> >   *			if (err)	// CPU mappings may have
> > changed
> >   *				goto retry;
> >   *		}
> > diff --git a/drivers/gpu/drm/drm_pagemap.c
> > b/drivers/gpu/drm/drm_pagemap.c
> > index 3551a50d7381..25395685a9b8 100644
> > --- a/drivers/gpu/drm/drm_pagemap.c
> > +++ b/drivers/gpu/drm/drm_pagemap.c
> > @@ -6,6 +6,7 @@
> >  #include <linux/dma-mapping.h>
> >  #include <linux/migrate.h>
> >  #include <linux/pagemap.h>
> > +#include <drm/drm_drv.h>
> >  #include <drm/drm_pagemap.h>
> >  
> >  /**
> > @@ -809,3 +810,36 @@ struct drm_pagemap
> > *drm_pagemap_page_to_dpagemap(struct page *page)
> >  	return zdd->devmem_allocation->dpagemap;
> >  }
> >  EXPORT_SYMBOL_GPL(drm_pagemap_page_to_dpagemap);
> > +
> > +/**
> > + * drm_pagemap_populate_mm() - Populate a virtual range with
> > device memory pages
> > + * @dpagemap: Pointer to the drm_pagemap managing the device
> > memory
> > + * @start: Start of the virtual range to populate.
> > + * @end: End of the virtual range to populate.
> > + * @mm: Pointer to the virtual address space.
> > + *
> > + * Attempt to populate a virtual range with device memory pages,
> > + * clearing them or migrating data from the existing pages if
> > necessary.
> > + * The function is best effort only, and implementations may vary
> > + * in how hard they try to satisfy the request.
> > + *
> > + * Return: 0 on success, negative error code on error. If the
> > hardware
> > + * device was removed / unbound the function will return -ENODEV;
> > + */
> > +int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
> > +			    unsigned long start, unsigned long
> > end,
> > +			    struct mm_struct *mm,
> > +			    unsigned long timeslice_ms)
> > +{
> > +	int err;
> > +
> > +	if (!mmget_not_zero(mm))
> > +		return -EFAULT;
> > +	mmap_read_lock(mm);
> > +	err = dpagemap->ops->populate_mm(dpagemap, start, end, mm,
> > +					 timeslice_ms);
> > +	mmap_read_unlock(mm);
> > +	mmput(mm);
> > +
> > +	return err;
> > +}
> > diff --git a/include/drm/drm_pagemap.h b/include/drm/drm_pagemap.h
> > index dabc9c365df4..e5f20a1235be 100644
> > --- a/include/drm/drm_pagemap.h
> > +++ b/include/drm/drm_pagemap.h
> > @@ -92,6 +92,35 @@ struct drm_pagemap_ops {
> >  			     struct device *dev,
> >  			     struct drm_pagemap_device_addr addr);
> >  
> > +	/**
> > +	 * @populate_mm: Populate part of the mm with @dpagemap
> > memory,
> > +	 * migrating existing data.
> > +	 * @dpagemap: The struct drm_pagemap managing the memory.
> > +	 * @start: The virtual start address in @mm
> > +	 * @end: The virtual end address in @mm
> > +	 * @mm: Pointer to a live mm. The caller must have an
> > mmget()
> > +	 * reference.
> > +	 *
> > +	 * The caller will have the mm lock at least in read mode.
> > +	 * Note that there is no guarantee that the memory is
> > resident
> > +	 * after the function returns, it's best effort only.
> > +	 * When the mm is not using the memory anymore,
> > +	 * it will be released. The struct drm_pagemap might have
> > a
> > +	 * mechanism in place to reclaim the memory and the data
> > will
> > +	 * then be migrated. Typically to system memory.
> > +	 * The implementation should hold sufficient runtime
> > power-
> > +	 * references while pages are used in an address space and
> > +	 * should ideally guard against hardware device unbind in
> > +	 * a way such that device pages are migrated back to
> > system
> > +	 * followed by device page removal. The implementation
> > should
> > +	 * return -ENODEV after device removal.
> > +	 *
> > +	 * Return: 0 if successful. Negative error code on error.
> > +	 */
> > +	int (*populate_mm)(struct drm_pagemap *dpagemap,
> > +			   unsigned long start, unsigned long end,
> > +			   struct mm_struct *mm,
> > +			   unsigned long timeslice_ms);
> >  };
> >  
> >  /**
> > @@ -205,4 +234,9 @@ void drm_pagemap_devmem_init(struct
> > drm_pagemap_devmem *devmem_allocation,
> >  			     const struct drm_pagemap_devmem_ops
> > *ops,
> >  			     struct drm_pagemap *dpagemap, size_t
> > size);
> >  
> > +int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
> > +			    unsigned long start, unsigned long
> > end,
> > +			    struct mm_struct *mm,
> > +			    unsigned long timeslice_ms);
> > +
> >  #endif
> > -- 
> > 2.49.0
> > 


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

* Re: [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap populate_mm op
  2025-06-04  9:35 ` [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap " Thomas Hellström
  2025-06-04 15:04   ` Matthew Brost
@ 2025-06-05 22:16   ` Matthew Brost
  2025-06-13 10:16     ` Thomas Hellström
  1 sibling, 1 reply; 24+ messages in thread
From: Matthew Brost @ 2025-06-05 22:16 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Wed, Jun 04, 2025 at 11:35:36AM +0200, Thomas Hellström wrote:
> Add runtime PM since we might call populate_mm on a foreign device.
> Also create the VRAM bos as ttm_bo_type_kernel. This avoids the
> initial clearing and the creation of an mmap handle.
> 

I didn't read this part - skipping the initial clears. Discussed this on
a private chat but to recap we need initial clears as copies for
non-faulted in CPU pages are skipped which could result in another
processes data being exposed in VRAM. We could only issue a clear if a
non-faulted in page is found in xe_svm_copy or IIRC there was some work
flying around to clear VRAM upon free, not sure if that ever landed - I
believe AMD does clear on free their driver + buddy allocator has the
concept of dirty blocks.

Matt 

> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  drivers/gpu/drm/drm_pagemap.c |   1 +
>  drivers/gpu/drm/xe/xe_svm.c   | 104 ++++++++++++++++++++--------------
>  drivers/gpu/drm/xe/xe_svm.h   |  10 ++--
>  drivers/gpu/drm/xe/xe_tile.h  |  11 ++++
>  drivers/gpu/drm/xe/xe_vm.c    |   2 +-
>  5 files changed, 78 insertions(+), 50 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
> index 25395685a9b8..94619be00d2a 100644
> --- a/drivers/gpu/drm/drm_pagemap.c
> +++ b/drivers/gpu/drm/drm_pagemap.c
> @@ -843,3 +843,4 @@ int drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
>  
>  	return err;
>  }
> +EXPORT_SYMBOL(drm_pagemap_populate_mm);
> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
> index e161ce3e67a1..a10aab3768d8 100644
> --- a/drivers/gpu/drm/xe/xe_svm.c
> +++ b/drivers/gpu/drm/xe/xe_svm.c
> @@ -3,13 +3,17 @@
>   * Copyright © 2024 Intel Corporation
>   */
>  
> +#include <drm/drm_drv.h>
> +
>  #include "xe_bo.h"
>  #include "xe_gt_stats.h"
>  #include "xe_gt_tlb_invalidation.h"
>  #include "xe_migrate.h"
>  #include "xe_module.h"
> +#include "xe_pm.h"
>  #include "xe_pt.h"
>  #include "xe_svm.h"
> +#include "xe_tile.h"
>  #include "xe_ttm_vram_mgr.h"
>  #include "xe_vm.h"
>  #include "xe_vm_types.h"
> @@ -525,8 +529,10 @@ static struct xe_bo *to_xe_bo(struct drm_pagemap_devmem *devmem_allocation)
>  static void xe_svm_devmem_release(struct drm_pagemap_devmem *devmem_allocation)
>  {
>  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
> +	struct xe_device *xe = xe_bo_device(bo);
>  
>  	xe_bo_put_async(bo);
> +	xe_pm_runtime_put(xe);
>  }
>  
>  static u64 block_offset_to_pfn(struct xe_vram_region *vr, u64 offset)
> @@ -720,76 +726,63 @@ static struct xe_vram_region *tile_to_vr(struct xe_tile *tile)
>  	return &tile->mem.vram;
>  }
>  
> -/**
> - * xe_svm_alloc_vram()- Allocate device memory pages for range,
> - * migrating existing data.
> - * @vm: The VM.
> - * @tile: tile to allocate vram from
> - * @range: SVM range
> - * @ctx: DRM GPU SVM context
> - *
> - * Return: 0 on success, error code on failure.
> - */
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> -		      struct xe_svm_range *range,
> -		      const struct drm_gpusvm_ctx *ctx)
> +static int xe_drm_pagemap_populate_mm(struct drm_pagemap *dpagemap,
> +				      unsigned long start, unsigned long end,
> +				      struct mm_struct *mm,
> +				      unsigned long timeslice_ms)
>  {
> -	struct mm_struct *mm = vm->svm.gpusvm.mm;
> +	struct xe_tile *tile = container_of(dpagemap, typeof(*tile), mem.vram.dpagemap);
> +	struct xe_device *xe = tile_to_xe(tile);
> +	struct device *dev = xe->drm.dev;
>  	struct xe_vram_region *vr = tile_to_vr(tile);
>  	struct drm_buddy_block *block;
>  	struct list_head *blocks;
>  	struct xe_bo *bo;
> -	ktime_t end = 0;
> -	int err;
> -
> -	if (!range->base.flags.migrate_devmem)
> -		return -EINVAL;
> +	ktime_t time_end = 0;
> +	int err, idx;
>  
> -	range_debug(range, "ALLOCATE VRAM");
> +	if (!drm_dev_enter(&xe->drm, &idx))
> +		return -ENODEV;
>  
> -	if (!mmget_not_zero(mm))
> -		return -EFAULT;
> -	mmap_read_lock(mm);
> +	xe_pm_runtime_get(xe);
>  
> -retry:
> -	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL,
> -				 xe_svm_range_size(range),
> -				 ttm_bo_type_device,
> + retry:
> +	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL, end - start,
> +				 ttm_bo_type_kernel,
>  				 XE_BO_FLAG_VRAM_IF_DGFX(tile) |
>  				 XE_BO_FLAG_CPU_ADDR_MIRROR);
>  	if (IS_ERR(bo)) {
>  		err = PTR_ERR(bo);
> -		if (xe_vm_validate_should_retry(NULL, err, &end))
> +		if (xe_vm_validate_should_retry(NULL, err, &time_end))
>  			goto retry;
> -		goto unlock;
> +		goto out_pm_put;
>  	}
>  
> -	drm_pagemap_devmem_init(&bo->devmem_allocation,
> -				vm->xe->drm.dev, mm,
> +	drm_pagemap_devmem_init(&bo->devmem_allocation, dev, mm,
>  				&dpagemap_devmem_ops,
>  				&tile->mem.vram.dpagemap,
> -				xe_svm_range_size(range));
> +				end - start);
>  
>  	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)->blocks;
>  	list_for_each_entry(block, blocks, link)
>  		block->private = vr;
>  
>  	xe_bo_get(bo);
> -	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation,
> -					    mm,
> -					    xe_svm_range_start(range),
> -					    xe_svm_range_end(range),
> -					    ctx->timeslice_ms,
> -					    xe_svm_devm_owner(vm->xe));
> +
> +	/* Ensure the device has a pm ref while there are device pages active. */
> +	xe_pm_runtime_get_noresume(xe);
> +	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation, mm,
> +					    start, end, timeslice_ms,
> +					    xe_svm_devm_owner(xe));
>  	if (err)
>  		xe_svm_devmem_release(&bo->devmem_allocation);
>  
>  	xe_bo_unlock(bo);
>  	xe_bo_put(bo);
>  
> -unlock:
> -	mmap_read_unlock(mm);
> -	mmput(mm);
> +out_pm_put:
> +	xe_pm_runtime_put(xe);
> +	drm_dev_exit(idx);
>  
>  	return err;
>  }
> @@ -898,7 +891,7 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
>  
>  	if (--migrate_try_count >= 0 &&
>  	    xe_svm_range_needs_migrate_to_vram(range, vma, IS_DGFX(vm->xe))) {
> -		err = xe_svm_alloc_vram(vm, tile, range, &ctx);
> +		err = xe_svm_alloc_vram(tile, range, &ctx);
>  		ctx.timeslice_ms <<= 1;	/* Double timeslice if we have to retry */
>  		if (err) {
>  			if (migrate_try_count || !ctx.devmem_only) {
> @@ -1054,6 +1047,30 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>  
>  #if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
>  
> +/**
> + * xe_svm_alloc_vram()- Allocate device memory pages for range,
> + * migrating existing data.
> + * @vm: The VM.
> + * @tile: tile to allocate vram from
> + * @range: SVM range
> + * @ctx: DRM GPU SVM context
> + *
> + * Return: 0 on success, error code on failure.
> + */
> +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
> +		      const struct drm_gpusvm_ctx *ctx)
> +{
> +	struct drm_pagemap *dpagemap;
> +
> +	range_debug(range, "ALLOCATE VRAM");
> +
> +	dpagemap = xe_tile_local_pagemap(tile);
> +	return drm_pagemap_populate_mm(dpagemap, xe_svm_range_start(range),
> +				       xe_svm_range_end(range),
> +				       range->base.gpusvm->mm,
> +				       ctx->timeslice_ms);
> +}
> +
>  static struct drm_pagemap_device_addr
>  xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
>  			  struct device *dev,
> @@ -1078,6 +1095,7 @@ xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
>  
>  static const struct drm_pagemap_ops xe_drm_pagemap_ops = {
>  	.device_map = xe_drm_pagemap_device_map,
> +	.populate_mm = xe_drm_pagemap_populate_mm,
>  };
>  
>  /**
> @@ -1130,7 +1148,7 @@ int xe_devm_add(struct xe_tile *tile, struct xe_vram_region *vr)
>  	return 0;
>  }
>  #else
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> +int xe_svm_alloc_vram(struct xe_tile *tile,
>  		      struct xe_svm_range *range,
>  		      const struct drm_gpusvm_ctx *ctx)
>  {
> diff --git a/drivers/gpu/drm/xe/xe_svm.h b/drivers/gpu/drm/xe/xe_svm.h
> index 19ce4f2754a7..da9a69ea0bb1 100644
> --- a/drivers/gpu/drm/xe/xe_svm.h
> +++ b/drivers/gpu/drm/xe/xe_svm.h
> @@ -70,8 +70,7 @@ int xe_svm_bo_evict(struct xe_bo *bo);
>  
>  void xe_svm_range_debug(struct xe_svm_range *range, const char *operation);
>  
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> -		      struct xe_svm_range *range,
> +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
>  		      const struct drm_gpusvm_ctx *ctx);
>  
>  struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm, u64 addr,
> @@ -237,10 +236,9 @@ void xe_svm_range_debug(struct xe_svm_range *range, const char *operation)
>  {
>  }
>  
> -static inline
> -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> -		      struct xe_svm_range *range,
> -		      const struct drm_gpusvm_ctx *ctx)
> +static inline int
> +xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range *range,
> +		  const struct drm_gpusvm_ctx *ctx)
>  {
>  	return -EOPNOTSUPP;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_tile.h b/drivers/gpu/drm/xe/xe_tile.h
> index eb939316d55b..066a3d0cea79 100644
> --- a/drivers/gpu/drm/xe/xe_tile.h
> +++ b/drivers/gpu/drm/xe/xe_tile.h
> @@ -16,4 +16,15 @@ int xe_tile_init(struct xe_tile *tile);
>  
>  void xe_tile_migrate_wait(struct xe_tile *tile);
>  
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> +static inline struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile)
> +{
> +	return &tile->mem.vram.dpagemap;
> +}
> +#else
> +static inline struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile)
> +{
> +	return NULL;
> +}
> +#endif
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 7140d8856bad..def493acb4d7 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -2911,7 +2911,7 @@ static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_op *op)
>  
>  		if (xe_svm_range_needs_migrate_to_vram(svm_range, vma, region)) {
>  			tile = &vm->xe->tiles[region_to_mem_type[region] - XE_PL_VRAM0];
> -			err = xe_svm_alloc_vram(vm, tile, svm_range, &ctx);
> +			err = xe_svm_alloc_vram(tile, svm_range, &ctx);
>  			if (err) {
>  				drm_dbg(&vm->xe->drm, "VRAM allocation failed, retry from userspace, asid=%u, gpusvm=%p, errno=%pe\n",
>  					vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err));
> -- 
> 2.49.0
> 

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

* Re: [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
  2025-06-04  9:35 ` [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap Thomas Hellström
  2025-06-04 15:45   ` kernel test robot
@ 2025-06-05 22:44   ` Matthew Brost
  2025-06-13 10:01     ` Thomas Hellström
  1 sibling, 1 reply; 24+ messages in thread
From: Matthew Brost @ 2025-06-05 22:44 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Wed, Jun 04, 2025 at 11:35:34AM +0200, Thomas Hellström wrote:
> From: Matthew Brost <matthew.brost@intel.com>
> 
> The migration functionality and track-keeping of per-pagemap VRAM
> mapped to the CPU mm is not per GPU_vm, but rather per pagemap.
> This is also reflected by the functions not needing the drm_gpusvm
> structures. So move to drm_pagemap.
> 
> With this, drm_gpusvm shouldn't really access the page zone-device-data
> since its meaning is internal to drm_pagemap. Currently it's used to
> reject mapping ranges backed by multiple drm_pagemap allocations.
> For now, make the zone-device-data a void pointer.
> 
> Rename CONFIG_DRM_XE_DEVMEM_MIRROR to CONFIG_DRM_XE_PAGEMAP.
> 
> Matt is listed as author of this commit since he wrote most of the code,
> and it makes sense to retain his git authorship.
> Thomas mostly moved the code around.
> 

Kernel test robot has kernel doc fixes. A couple questions / comments on
the new doc below.

> Co-developed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  Documentation/gpu/rfc/gpusvm.rst     |  12 +-
>  drivers/gpu/drm/Makefile             |   6 +-
>  drivers/gpu/drm/drm_gpusvm.c         | 759 +------------------------
>  drivers/gpu/drm/drm_pagemap.c        | 811 +++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/Kconfig           |  10 +-
>  drivers/gpu/drm/xe/xe_bo_types.h     |   2 +-
>  drivers/gpu/drm/xe/xe_device_types.h |   2 +-
>  drivers/gpu/drm/xe/xe_svm.c          |  49 +-
>  include/drm/drm_gpusvm.h             |  96 ----
>  include/drm/drm_pagemap.h            | 101 ++++
>  10 files changed, 974 insertions(+), 874 deletions(-)
>  create mode 100644 drivers/gpu/drm/drm_pagemap.c
> 
> diff --git a/Documentation/gpu/rfc/gpusvm.rst b/Documentation/gpu/rfc/gpusvm.rst
> index bcf66a8137a6..469db1372f16 100644
> --- a/Documentation/gpu/rfc/gpusvm.rst
> +++ b/Documentation/gpu/rfc/gpusvm.rst
> @@ -73,15 +73,21 @@ Overview of baseline design
>  .. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
>     :doc: Locking
>  
> -.. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
> -   :doc: Migration
> -
>  .. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
>     :doc: Partial Unmapping of Ranges
>  
>  .. kernel-doc:: drivers/gpu/drm/drm_gpusvm.c
>     :doc: Examples
>  
> +Overview of drm_pagemap design
> +==============================
> +
> +.. kernel-doc:: drivers/gpu/drm/drm_pagemap.c
> +   :doc: Overview
> +
> +.. kernel-doc:: drivers/gpu/drm/drm_pagemap.c
> +   :doc: Migration
> +
>  Possible future design features
>  ===============================
>  
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 4199715670b1..f9cde5717f85 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -104,7 +104,11 @@ obj-$(CONFIG_DRM_PANEL_BACKLIGHT_QUIRKS) += drm_panel_backlight_quirks.o
>  #
>  obj-$(CONFIG_DRM_EXEC) += drm_exec.o
>  obj-$(CONFIG_DRM_GPUVM) += drm_gpuvm.o
> -obj-$(CONFIG_DRM_GPUSVM) += drm_gpusvm.o
> +
> +drm_gpusvm_helper-y := \
> +	drm_gpusvm.o\
> +	drm_pagemap.o
> +obj-$(CONFIG_DRM_GPUSVM) += drm_gpusvm_helper.o
>  
>  obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o
>  
> diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
> index 7ff81aa0a1ca..ef81381609de 100644
> --- a/drivers/gpu/drm/drm_gpusvm.c
> +++ b/drivers/gpu/drm/drm_gpusvm.c
> @@ -8,10 +8,9 @@
>  
>  #include <linux/dma-mapping.h>
>  #include <linux/hmm.h>
> +#include <linux/hugetlb_inline.h>
>  #include <linux/memremap.h>
> -#include <linux/migrate.h>
>  #include <linux/mm_types.h>
> -#include <linux/pagemap.h>
>  #include <linux/slab.h>
>  
>  #include <drm/drm_device.h>
> @@ -107,21 +106,6 @@
>   * to add annotations to GPU SVM.
>   */
>  
> -/**
> - * DOC: Migration
> - *
> - * The migration support is quite simple, allowing migration between RAM and
> - * device memory at the range granularity. For example, GPU SVM currently does
> - * not support mixing RAM and device memory pages within a range. This means
> - * that upon GPU fault, the entire range can be migrated to device memory, and
> - * upon CPU fault, the entire range is migrated to RAM. Mixed RAM and device
> - * memory storage within a range could be added in the future if required.
> - *
> - * The reasoning for only supporting range granularity is as follows: it
> - * simplifies the implementation, and range sizes are driver-defined and should
> - * be relatively small.
> - */
> -
>  /**
>   * DOC: Partial Unmapping of Ranges
>   *
> @@ -193,10 +177,9 @@
>   *		if (driver_migration_policy(range)) {
>   *			mmap_read_lock(mm);
>   *			devmem = driver_alloc_devmem();
> - *			err = drm_gpusvm_migrate_to_devmem(gpusvm, range,
> - *							   devmem_allocation,
> - *							   &ctx);
> - *			mmap_read_unlock(mm);
> + *			err = drm_pagemap_migrate_to_devmem(devmem, gpusvm->mm, gpuva_start,
> + *                                                          gpuva_end, driver_pgmap_owner());
> + *                      mmap_read_unlock(mm);
>   *			if (err)	// CPU mappings may have changed
>   *				goto retry;
>   *		}
> @@ -288,97 +271,6 @@ npages_in_range(unsigned long start, unsigned long end)
>  	return (end - start) >> PAGE_SHIFT;
>  }
>  
> -/**
> - * struct drm_gpusvm_zdd - GPU SVM zone device data
> - *
> - * @refcount: Reference count for the zdd
> - * @devmem_allocation: device memory allocation
> - * @device_private_page_owner: Device private pages owner
> - *
> - * This structure serves as a generic wrapper installed in
> - * page->zone_device_data. It provides infrastructure for looking up a device
> - * memory allocation upon CPU page fault and asynchronously releasing device
> - * memory once the CPU has no page references. Asynchronous release is useful
> - * because CPU page references can be dropped in IRQ contexts, while releasing
> - * device memory likely requires sleeping locks.
> - */
> -struct drm_gpusvm_zdd {
> -	struct kref refcount;
> -	struct drm_gpusvm_devmem *devmem_allocation;
> -	void *device_private_page_owner;
> -};
> -
> -/**
> - * drm_gpusvm_zdd_alloc() - Allocate a zdd structure.
> - * @device_private_page_owner: Device private pages owner
> - *
> - * This function allocates and initializes a new zdd structure. It sets up the
> - * reference count and initializes the destroy work.
> - *
> - * Return: Pointer to the allocated zdd on success, ERR_PTR() on failure.
> - */
> -static struct drm_gpusvm_zdd *
> -drm_gpusvm_zdd_alloc(void *device_private_page_owner)
> -{
> -	struct drm_gpusvm_zdd *zdd;
> -
> -	zdd = kmalloc(sizeof(*zdd), GFP_KERNEL);
> -	if (!zdd)
> -		return NULL;
> -
> -	kref_init(&zdd->refcount);
> -	zdd->devmem_allocation = NULL;
> -	zdd->device_private_page_owner = device_private_page_owner;
> -
> -	return zdd;
> -}
> -
> -/**
> - * drm_gpusvm_zdd_get() - Get a reference to a zdd structure.
> - * @zdd: Pointer to the zdd structure.
> - *
> - * This function increments the reference count of the provided zdd structure.
> - *
> - * Return: Pointer to the zdd structure.
> - */
> -static struct drm_gpusvm_zdd *drm_gpusvm_zdd_get(struct drm_gpusvm_zdd *zdd)
> -{
> -	kref_get(&zdd->refcount);
> -	return zdd;
> -}
> -
> -/**
> - * drm_gpusvm_zdd_destroy() - Destroy a zdd structure.
> - * @ref: Pointer to the reference count structure.
> - *
> - * This function queues the destroy_work of the zdd for asynchronous destruction.
> - */
> -static void drm_gpusvm_zdd_destroy(struct kref *ref)
> -{
> -	struct drm_gpusvm_zdd *zdd =
> -		container_of(ref, struct drm_gpusvm_zdd, refcount);
> -	struct drm_gpusvm_devmem *devmem = zdd->devmem_allocation;
> -
> -	if (devmem) {
> -		complete_all(&devmem->detached);
> -		if (devmem->ops->devmem_release)
> -			devmem->ops->devmem_release(devmem);
> -	}
> -	kfree(zdd);
> -}
> -
> -/**
> - * drm_gpusvm_zdd_put() - Put a zdd reference.
> - * @zdd: Pointer to the zdd structure.
> - *
> - * This function decrements the reference count of the provided zdd structure
> - * and schedules its destruction if the count drops to zero.
> - */
> -static void drm_gpusvm_zdd_put(struct drm_gpusvm_zdd *zdd)
> -{
> -	kref_put(&zdd->refcount, drm_gpusvm_zdd_destroy);
> -}
> -
>  /**
>   * drm_gpusvm_range_find() - Find GPU SVM range from GPU SVM notifier
>   * @notifier: Pointer to the GPU SVM notifier structure.
> @@ -945,7 +837,7 @@ drm_gpusvm_range_chunk_size(struct drm_gpusvm *gpusvm,
>  		 * process-many-malloc' fails. In the failure case, each process
>  		 * mallocs 16k but the CPU VMA is ~128k which results in 64k SVM
>  		 * ranges. When migrating the SVM ranges, some processes fail in
> -		 * drm_gpusvm_migrate_to_devmem with 'migrate.cpages != npages'
> +		 * drm_pagemap_migrate_to_devmem with 'migrate.cpages != npages'
>  		 * and then upon drm_gpusvm_range_get_pages device pages from
>  		 * other processes are collected + faulted in which creates all
>  		 * sorts of problems. Unsure exactly how this happening, also
> @@ -1363,7 +1255,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
>  		.dev_private_owner = gpusvm->device_private_page_owner,
>  	};
>  	struct mm_struct *mm = gpusvm->mm;
> -	struct drm_gpusvm_zdd *zdd;
> +	void *zdd;
>  	unsigned long timeout =
>  		jiffies + msecs_to_jiffies(HMM_RANGE_DEFAULT_TIMEOUT);
>  	unsigned long i, j;
> @@ -1465,7 +1357,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
>  				}
>  
>  				pagemap = page_pgmap(page);
> -				dpagemap = zdd->devmem_allocation->dpagemap;
> +				dpagemap = drm_pagemap_page_to_dpagemap(page);
>  				if (drm_WARN_ON(gpusvm->drm, !dpagemap)) {
>  					/*
>  					 * Raced. This is not supposed to happen
> @@ -1489,7 +1381,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
>  		} else {
>  			dma_addr_t addr;
>  
> -			if (is_zone_device_page(page) || zdd) {
> +			if (is_zone_device_page(page) || pagemap) {
>  				err = -EOPNOTSUPP;
>  				goto err_unmap;
>  			}
> @@ -1517,7 +1409,7 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
>  		flags.has_dma_mapping = true;
>  	}
>  
> -	if (zdd) {
> +	if (pagemap) {
>  		flags.has_devmem_pages = true;
>  		range->dpagemap = dpagemap;
>  	}
> @@ -1545,6 +1437,7 @@ EXPORT_SYMBOL_GPL(drm_gpusvm_range_get_pages);
>  
>  /**
>   * drm_gpusvm_range_unmap_pages() - Unmap pages associated with a GPU SVM range
> + * drm_gpusvm_range_evict() - Evict GPU SVM range
>   * @gpusvm: Pointer to the GPU SVM structure
>   * @range: Pointer to the GPU SVM range structure
>   * @ctx: GPU SVM context
> @@ -1575,562 +1468,11 @@ void drm_gpusvm_range_unmap_pages(struct drm_gpusvm *gpusvm,
>  EXPORT_SYMBOL_GPL(drm_gpusvm_range_unmap_pages);
>  
>  /**
> - * drm_gpusvm_migration_unlock_put_page() - Put a migration page
> - * @page: Pointer to the page to put
> - *
> - * This function unlocks and puts a page.
> - */
> -static void drm_gpusvm_migration_unlock_put_page(struct page *page)
> -{
> -	unlock_page(page);
> -	put_page(page);
> -}
> -
> -/**
> - * drm_gpusvm_migration_unlock_put_pages() - Put migration pages
> - * @npages: Number of pages
> - * @migrate_pfn: Array of migrate page frame numbers
> - *
> - * This function unlocks and puts an array of pages.
> - */
> -static void drm_gpusvm_migration_unlock_put_pages(unsigned long npages,
> -						  unsigned long *migrate_pfn)
> -{
> -	unsigned long i;
> -
> -	for (i = 0; i < npages; ++i) {
> -		struct page *page;
> -
> -		if (!migrate_pfn[i])
> -			continue;
> -
> -		page = migrate_pfn_to_page(migrate_pfn[i]);
> -		drm_gpusvm_migration_unlock_put_page(page);
> -		migrate_pfn[i] = 0;
> -	}
> -}
> -
> -/**
> - * drm_gpusvm_get_devmem_page() - Get a reference to a device memory page
> - * @page: Pointer to the page
> - * @zdd: Pointer to the GPU SVM zone device data
> - *
> - * This function associates the given page with the specified GPU SVM zone
> - * device data and initializes it for zone device usage.
> - */
> -static void drm_gpusvm_get_devmem_page(struct page *page,
> -				       struct drm_gpusvm_zdd *zdd)
> -{
> -	page->zone_device_data = drm_gpusvm_zdd_get(zdd);
> -	zone_device_page_init(page);
> -}
> -
> -/**
> - * drm_gpusvm_migrate_map_pages() - Map migration pages for GPU SVM migration
> - * @dev: The device for which the pages are being mapped
> - * @dma_addr: Array to store DMA addresses corresponding to mapped pages
> - * @migrate_pfn: Array of migrate page frame numbers to map
> - * @npages: Number of pages to map
> - * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
> - *
> - * This function maps pages of memory for migration usage in GPU SVM. It
> - * iterates over each page frame number provided in @migrate_pfn, maps the
> - * corresponding page, and stores the DMA address in the provided @dma_addr
> - * array.
> - *
> - * Return: 0 on success, -EFAULT if an error occurs during mapping.
> - */
> -static int drm_gpusvm_migrate_map_pages(struct device *dev,
> -					dma_addr_t *dma_addr,
> -					unsigned long *migrate_pfn,
> -					unsigned long npages,
> -					enum dma_data_direction dir)
> -{
> -	unsigned long i;
> -
> -	for (i = 0; i < npages; ++i) {
> -		struct page *page = migrate_pfn_to_page(migrate_pfn[i]);
> -
> -		if (!page)
> -			continue;
> -
> -		if (WARN_ON_ONCE(is_zone_device_page(page)))
> -			return -EFAULT;
> -
> -		dma_addr[i] = dma_map_page(dev, page, 0, PAGE_SIZE, dir);
> -		if (dma_mapping_error(dev, dma_addr[i]))
> -			return -EFAULT;
> -	}
> -
> -	return 0;
> -}
> -
> -/**
> - * drm_gpusvm_migrate_unmap_pages() - Unmap pages previously mapped for GPU SVM migration
> - * @dev: The device for which the pages were mapped
> - * @dma_addr: Array of DMA addresses corresponding to mapped pages
> - * @npages: Number of pages to unmap
> - * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
> - *
> - * This function unmaps previously mapped pages of memory for GPU Shared Virtual
> - * Memory (SVM). It iterates over each DMA address provided in @dma_addr, checks
> - * if it's valid and not already unmapped, and unmaps the corresponding page.
> - */
> -static void drm_gpusvm_migrate_unmap_pages(struct device *dev,
> -					   dma_addr_t *dma_addr,
> -					   unsigned long npages,
> -					   enum dma_data_direction dir)
> -{
> -	unsigned long i;
> -
> -	for (i = 0; i < npages; ++i) {
> -		if (!dma_addr[i] || dma_mapping_error(dev, dma_addr[i]))
> -			continue;
> -
> -		dma_unmap_page(dev, dma_addr[i], PAGE_SIZE, dir);
> -	}
> -}
> -
> -/**
> - * drm_gpusvm_migrate_to_devmem() - Migrate GPU SVM range to device memory
> + * drm_gpusvm_range_evict() - Evict GPU SVM range
>   * @gpusvm: Pointer to the GPU SVM structure
> - * @range: Pointer to the GPU SVM range structure
> - * @devmem_allocation: Pointer to the device memory allocation. The caller
> - *                     should hold a reference to the device memory allocation,
> - *                     which should be dropped via ops->devmem_release or upon
> - *                     the failure of this function.
> - * @ctx: GPU SVM context
> - *
> - * This function migrates the specified GPU SVM range to device memory. It
> - * performs the necessary setup and invokes the driver-specific operations for
> - * migration to device memory. Upon successful return, @devmem_allocation can
> - * safely reference @range until ops->devmem_release is called which only upon
> - * successful return. Expected to be called while holding the mmap lock in read
> - * mode.
> - *
> - * Return: 0 on success, negative error code on failure.
> - */
> -int drm_gpusvm_migrate_to_devmem(struct drm_gpusvm *gpusvm,
> -				 struct drm_gpusvm_range *range,
> -				 struct drm_gpusvm_devmem *devmem_allocation,
> -				 const struct drm_gpusvm_ctx *ctx)
> -{
> -	const struct drm_gpusvm_devmem_ops *ops = devmem_allocation->ops;
> -	unsigned long start = drm_gpusvm_range_start(range),
> -		      end = drm_gpusvm_range_end(range);
> -	struct migrate_vma migrate = {
> -		.start		= start,
> -		.end		= end,
> -		.pgmap_owner	= gpusvm->device_private_page_owner,
> -		.flags		= MIGRATE_VMA_SELECT_SYSTEM,
> -	};
> -	struct mm_struct *mm = gpusvm->mm;
> -	unsigned long i, npages = npages_in_range(start, end);
> -	struct vm_area_struct *vas;
> -	struct drm_gpusvm_zdd *zdd = NULL;
> -	struct page **pages;
> -	dma_addr_t *dma_addr;
> -	void *buf;
> -	int err;
> -
> -	mmap_assert_locked(gpusvm->mm);
> -
> -	if (!range->flags.migrate_devmem)
> -		return -EINVAL;
> -
> -	if (!ops->populate_devmem_pfn || !ops->copy_to_devmem ||
> -	    !ops->copy_to_ram)
> -		return -EOPNOTSUPP;
> -
> -	vas = vma_lookup(mm, start);
> -	if (!vas) {
> -		err = -ENOENT;
> -		goto err_out;
> -	}
> -
> -	if (end > vas->vm_end || start < vas->vm_start) {
> -		err = -EINVAL;
> -		goto err_out;
> -	}
> -
> -	if (!vma_is_anonymous(vas)) {
> -		err = -EBUSY;
> -		goto err_out;
> -	}
> -
> -	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
> -		       sizeof(*pages), GFP_KERNEL);
> -	if (!buf) {
> -		err = -ENOMEM;
> -		goto err_out;
> -	}
> -	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
> -	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
> -
> -	zdd = drm_gpusvm_zdd_alloc(gpusvm->device_private_page_owner);
> -	if (!zdd) {
> -		err = -ENOMEM;
> -		goto err_free;
> -	}
> -
> -	migrate.vma = vas;
> -	migrate.src = buf;
> -	migrate.dst = migrate.src + npages;
> -
> -	err = migrate_vma_setup(&migrate);
> -	if (err)
> -		goto err_free;
> -
> -	if (!migrate.cpages) {
> -		err = -EFAULT;
> -		goto err_free;
> -	}
> -
> -	if (migrate.cpages != npages) {
> -		err = -EBUSY;
> -		goto err_finalize;
> -	}
> -
> -	err = ops->populate_devmem_pfn(devmem_allocation, npages, migrate.dst);
> -	if (err)
> -		goto err_finalize;
> -
> -	err = drm_gpusvm_migrate_map_pages(devmem_allocation->dev, dma_addr,
> -					   migrate.src, npages, DMA_TO_DEVICE);
> -	if (err)
> -		goto err_finalize;
> -
> -	for (i = 0; i < npages; ++i) {
> -		struct page *page = pfn_to_page(migrate.dst[i]);
> -
> -		pages[i] = page;
> -		migrate.dst[i] = migrate_pfn(migrate.dst[i]);
> -		drm_gpusvm_get_devmem_page(page, zdd);
> -	}
> -
> -	err = ops->copy_to_devmem(pages, dma_addr, npages);
> -	if (err)
> -		goto err_finalize;
> -
> -	/* Upon success bind devmem allocation to range and zdd */
> -	devmem_allocation->timeslice_expiration = get_jiffies_64() +
> -		msecs_to_jiffies(ctx->timeslice_ms);
> -	zdd->devmem_allocation = devmem_allocation;	/* Owns ref */
> -
> -err_finalize:
> -	if (err)
> -		drm_gpusvm_migration_unlock_put_pages(npages, migrate.dst);
> -	migrate_vma_pages(&migrate);
> -	migrate_vma_finalize(&migrate);
> -	drm_gpusvm_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
> -				       DMA_TO_DEVICE);
> -err_free:
> -	if (zdd)
> -		drm_gpusvm_zdd_put(zdd);
> -	kvfree(buf);
> -err_out:
> -	return err;
> -}
> -EXPORT_SYMBOL_GPL(drm_gpusvm_migrate_to_devmem);
> -
> -/**
> - * drm_gpusvm_migrate_populate_ram_pfn() - Populate RAM PFNs for a VM area
> - * @vas: Pointer to the VM area structure, can be NULL
> - * @fault_page: Fault page
> - * @npages: Number of pages to populate
> - * @mpages: Number of pages to migrate
> - * @src_mpfn: Source array of migrate PFNs
> - * @mpfn: Array of migrate PFNs to populate
> - * @addr: Start address for PFN allocation
> - *
> - * This function populates the RAM migrate page frame numbers (PFNs) for the
> - * specified VM area structure. It allocates and locks pages in the VM area for
> - * RAM usage. If vas is non-NULL use alloc_page_vma for allocation, if NULL use
> - * alloc_page for allocation.
> - *
> - * Return: 0 on success, negative error code on failure.
> - */
> -static int drm_gpusvm_migrate_populate_ram_pfn(struct vm_area_struct *vas,
> -					       struct page *fault_page,
> -					       unsigned long npages,
> -					       unsigned long *mpages,
> -					       unsigned long *src_mpfn,
> -					       unsigned long *mpfn,
> -					       unsigned long addr)
> -{
> -	unsigned long i;
> -
> -	for (i = 0; i < npages; ++i, addr += PAGE_SIZE) {
> -		struct page *page, *src_page;
> -
> -		if (!(src_mpfn[i] & MIGRATE_PFN_MIGRATE))
> -			continue;
> -
> -		src_page = migrate_pfn_to_page(src_mpfn[i]);
> -		if (!src_page)
> -			continue;
> -
> -		if (fault_page) {
> -			if (src_page->zone_device_data !=
> -			    fault_page->zone_device_data)
> -				continue;
> -		}
> -
> -		if (vas)
> -			page = alloc_page_vma(GFP_HIGHUSER, vas, addr);
> -		else
> -			page = alloc_page(GFP_HIGHUSER);
> -
> -		if (!page)
> -			goto free_pages;
> -
> -		mpfn[i] = migrate_pfn(page_to_pfn(page));
> -	}
> -
> -	for (i = 0; i < npages; ++i) {
> -		struct page *page = migrate_pfn_to_page(mpfn[i]);
> -
> -		if (!page)
> -			continue;
> -
> -		WARN_ON_ONCE(!trylock_page(page));
> -		++*mpages;
> -	}
> -
> -	return 0;
> -
> -free_pages:
> -	for (i = 0; i < npages; ++i) {
> -		struct page *page = migrate_pfn_to_page(mpfn[i]);
> -
> -		if (!page)
> -			continue;
> -
> -		put_page(page);
> -		mpfn[i] = 0;
> -	}
> -	return -ENOMEM;
> -}
> -
> -/**
> - * drm_gpusvm_evict_to_ram() - Evict GPU SVM range to RAM
> - * @devmem_allocation: Pointer to the device memory allocation
> - *
> - * Similar to __drm_gpusvm_migrate_to_ram but does not require mmap lock and
> - * migration done via migrate_device_* functions.
> - *
> - * Return: 0 on success, negative error code on failure.
> - */
> -int drm_gpusvm_evict_to_ram(struct drm_gpusvm_devmem *devmem_allocation)
> -{
> -	const struct drm_gpusvm_devmem_ops *ops = devmem_allocation->ops;
> -	unsigned long npages, mpages = 0;
> -	struct page **pages;
> -	unsigned long *src, *dst;
> -	dma_addr_t *dma_addr;
> -	void *buf;
> -	int i, err = 0;
> -	unsigned int retry_count = 2;
> -
> -	npages = devmem_allocation->size >> PAGE_SHIFT;
> -
> -retry:
> -	if (!mmget_not_zero(devmem_allocation->mm))
> -		return -EFAULT;
> -
> -	buf = kvcalloc(npages, 2 * sizeof(*src) + sizeof(*dma_addr) +
> -		       sizeof(*pages), GFP_KERNEL);
> -	if (!buf) {
> -		err = -ENOMEM;
> -		goto err_out;
> -	}
> -	src = buf;
> -	dst = buf + (sizeof(*src) * npages);
> -	dma_addr = buf + (2 * sizeof(*src) * npages);
> -	pages = buf + (2 * sizeof(*src) + sizeof(*dma_addr)) * npages;
> -
> -	err = ops->populate_devmem_pfn(devmem_allocation, npages, src);
> -	if (err)
> -		goto err_free;
> -
> -	err = migrate_device_pfns(src, npages);
> -	if (err)
> -		goto err_free;
> -
> -	err = drm_gpusvm_migrate_populate_ram_pfn(NULL, NULL, npages, &mpages,
> -						  src, dst, 0);
> -	if (err || !mpages)
> -		goto err_finalize;
> -
> -	err = drm_gpusvm_migrate_map_pages(devmem_allocation->dev, dma_addr,
> -					   dst, npages, DMA_FROM_DEVICE);
> -	if (err)
> -		goto err_finalize;
> -
> -	for (i = 0; i < npages; ++i)
> -		pages[i] = migrate_pfn_to_page(src[i]);
> -
> -	err = ops->copy_to_ram(pages, dma_addr, npages);
> -	if (err)
> -		goto err_finalize;
> -
> -err_finalize:
> -	if (err)
> -		drm_gpusvm_migration_unlock_put_pages(npages, dst);
> -	migrate_device_pages(src, dst, npages);
> -	migrate_device_finalize(src, dst, npages);
> -	drm_gpusvm_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
> -				       DMA_FROM_DEVICE);
> -err_free:
> -	kvfree(buf);
> -err_out:
> -	mmput_async(devmem_allocation->mm);
> -
> -	if (completion_done(&devmem_allocation->detached))
> -		return 0;
> -
> -	if (retry_count--) {
> -		cond_resched();
> -		goto retry;
> -	}
> -
> -	return err ?: -EBUSY;
> -}
> -EXPORT_SYMBOL_GPL(drm_gpusvm_evict_to_ram);
> -
> -/**
> - * __drm_gpusvm_migrate_to_ram() - Migrate GPU SVM range to RAM (internal)
> - * @vas: Pointer to the VM area structure
> - * @device_private_page_owner: Device private pages owner
> - * @page: Pointer to the page for fault handling (can be NULL)
> - * @fault_addr: Fault address
> - * @size: Size of migration
> - *
> - * This internal function performs the migration of the specified GPU SVM range
> - * to RAM. It sets up the migration, populates + dma maps RAM PFNs, and
> - * invokes the driver-specific operations for migration to RAM.
> - *
> - * Return: 0 on success, negative error code on failure.
> - */
> -static int __drm_gpusvm_migrate_to_ram(struct vm_area_struct *vas,
> -				       void *device_private_page_owner,
> -				       struct page *page,
> -				       unsigned long fault_addr,
> -				       unsigned long size)
> -{
> -	struct migrate_vma migrate = {
> -		.vma		= vas,
> -		.pgmap_owner	= device_private_page_owner,
> -		.flags		= MIGRATE_VMA_SELECT_DEVICE_PRIVATE |
> -			MIGRATE_VMA_SELECT_DEVICE_COHERENT,
> -		.fault_page	= page,
> -	};
> -	struct drm_gpusvm_zdd *zdd;
> -	const struct drm_gpusvm_devmem_ops *ops;
> -	struct device *dev = NULL;
> -	unsigned long npages, mpages = 0;
> -	struct page **pages;
> -	dma_addr_t *dma_addr;
> -	unsigned long start, end;
> -	void *buf;
> -	int i, err = 0;
> -
> -	if (page) {
> -		zdd = page->zone_device_data;
> -		if (time_before64(get_jiffies_64(),
> -				  zdd->devmem_allocation->timeslice_expiration))
> -			return 0;
> -	}
> -
> -	start = ALIGN_DOWN(fault_addr, size);
> -	end = ALIGN(fault_addr + 1, size);
> -
> -	/* Corner where VMA area struct has been partially unmapped */
> -	if (start < vas->vm_start)
> -		start = vas->vm_start;
> -	if (end > vas->vm_end)
> -		end = vas->vm_end;
> -
> -	migrate.start = start;
> -	migrate.end = end;
> -	npages = npages_in_range(start, end);
> -
> -	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
> -		       sizeof(*pages), GFP_KERNEL);
> -	if (!buf) {
> -		err = -ENOMEM;
> -		goto err_out;
> -	}
> -	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
> -	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
> -
> -	migrate.vma = vas;
> -	migrate.src = buf;
> -	migrate.dst = migrate.src + npages;
> -
> -	err = migrate_vma_setup(&migrate);
> -	if (err)
> -		goto err_free;
> -
> -	/* Raced with another CPU fault, nothing to do */
> -	if (!migrate.cpages)
> -		goto err_free;
> -
> -	if (!page) {
> -		for (i = 0; i < npages; ++i) {
> -			if (!(migrate.src[i] & MIGRATE_PFN_MIGRATE))
> -				continue;
> -
> -			page = migrate_pfn_to_page(migrate.src[i]);
> -			break;
> -		}
> -
> -		if (!page)
> -			goto err_finalize;
> -	}
> -	zdd = page->zone_device_data;
> -	ops = zdd->devmem_allocation->ops;
> -	dev = zdd->devmem_allocation->dev;
> -
> -	err = drm_gpusvm_migrate_populate_ram_pfn(vas, page, npages, &mpages,
> -						  migrate.src, migrate.dst,
> -						  start);
> -	if (err)
> -		goto err_finalize;
> -
> -	err = drm_gpusvm_migrate_map_pages(dev, dma_addr, migrate.dst, npages,
> -					   DMA_FROM_DEVICE);
> -	if (err)
> -		goto err_finalize;
> -
> -	for (i = 0; i < npages; ++i)
> -		pages[i] = migrate_pfn_to_page(migrate.src[i]);
> -
> -	err = ops->copy_to_ram(pages, dma_addr, npages);
> -	if (err)
> -		goto err_finalize;
> -
> -err_finalize:
> -	if (err)
> -		drm_gpusvm_migration_unlock_put_pages(npages, migrate.dst);
> -	migrate_vma_pages(&migrate);
> -	migrate_vma_finalize(&migrate);
> -	if (dev)
> -		drm_gpusvm_migrate_unmap_pages(dev, dma_addr, npages,
> -					       DMA_FROM_DEVICE);
> -err_free:
> -	kvfree(buf);
> -err_out:
> -
> -	return err;
> -}
> -
> -/**
> - * drm_gpusvm_range_evict - Evict GPU SVM range
>   * @range: Pointer to the GPU SVM range to be removed
>   *
> - * This function evicts the specified GPU SVM range. This function will not
> - * evict coherent pages.
> + * This function evicts the specified GPU SVM range.
>   *
>   * Return: 0 on success, a negative error code on failure.
>   */
> @@ -2182,60 +1524,6 @@ int drm_gpusvm_range_evict(struct drm_gpusvm *gpusvm,
>  }
>  EXPORT_SYMBOL_GPL(drm_gpusvm_range_evict);
>  
> -/**
> - * drm_gpusvm_page_free() - Put GPU SVM zone device data associated with a page
> - * @page: Pointer to the page
> - *
> - * This function is a callback used to put the GPU SVM zone device data
> - * associated with a page when it is being released.
> - */
> -static void drm_gpusvm_page_free(struct page *page)
> -{
> -	drm_gpusvm_zdd_put(page->zone_device_data);
> -}
> -
> -/**
> - * drm_gpusvm_migrate_to_ram() - Migrate GPU SVM range to RAM (page fault handler)
> - * @vmf: Pointer to the fault information structure
> - *
> - * This function is a page fault handler used to migrate a GPU SVM range to RAM.
> - * It retrieves the GPU SVM range information from the faulting page and invokes
> - * the internal migration function to migrate the range back to RAM.
> - *
> - * Return: VM_FAULT_SIGBUS on failure, 0 on success.
> - */
> -static vm_fault_t drm_gpusvm_migrate_to_ram(struct vm_fault *vmf)
> -{
> -	struct drm_gpusvm_zdd *zdd = vmf->page->zone_device_data;
> -	int err;
> -
> -	err = __drm_gpusvm_migrate_to_ram(vmf->vma,
> -					  zdd->device_private_page_owner,
> -					  vmf->page, vmf->address,
> -					  zdd->devmem_allocation->size);
> -
> -	return err ? VM_FAULT_SIGBUS : 0;
> -}
> -
> -/*
> - * drm_gpusvm_pagemap_ops - Device page map operations for GPU SVM
> - */
> -static const struct dev_pagemap_ops drm_gpusvm_pagemap_ops = {
> -	.page_free = drm_gpusvm_page_free,
> -	.migrate_to_ram = drm_gpusvm_migrate_to_ram,
> -};
> -
> -/**
> - * drm_gpusvm_pagemap_ops_get() - Retrieve GPU SVM device page map operations
> - *
> - * Return: Pointer to the GPU SVM device page map operations structure.
> - */
> -const struct dev_pagemap_ops *drm_gpusvm_pagemap_ops_get(void)
> -{
> -	return &drm_gpusvm_pagemap_ops;
> -}
> -EXPORT_SYMBOL_GPL(drm_gpusvm_pagemap_ops_get);
> -
>  /**
>   * drm_gpusvm_has_mapping() - Check if GPU SVM has mapping for the given address range
>   * @gpusvm: Pointer to the GPU SVM structure.
> @@ -2280,28 +1568,5 @@ void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
>  }
>  EXPORT_SYMBOL_GPL(drm_gpusvm_range_set_unmapped);
>  
> -/**
> - * drm_gpusvm_devmem_init() - Initialize a GPU SVM device memory allocation
> - *
> - * @dev: Pointer to the device structure which device memory allocation belongs to
> - * @mm: Pointer to the mm_struct for the address space
> - * @ops: Pointer to the operations structure for GPU SVM device memory
> - * @dpagemap: The struct drm_pagemap we're allocating from.
> - * @size: Size of device memory allocation
> - */
> -void drm_gpusvm_devmem_init(struct drm_gpusvm_devmem *devmem_allocation,
> -			    struct device *dev, struct mm_struct *mm,
> -			    const struct drm_gpusvm_devmem_ops *ops,
> -			    struct drm_pagemap *dpagemap, size_t size)
> -{
> -	init_completion(&devmem_allocation->detached);
> -	devmem_allocation->dev = dev;
> -	devmem_allocation->mm = mm;
> -	devmem_allocation->ops = ops;
> -	devmem_allocation->dpagemap = dpagemap;
> -	devmem_allocation->size = size;
> -}
> -EXPORT_SYMBOL_GPL(drm_gpusvm_devmem_init);
> -
>  MODULE_DESCRIPTION("DRM GPUSVM");
>  MODULE_LICENSE("GPL");
> diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
> new file mode 100644
> index 000000000000..3551a50d7381
> --- /dev/null
> +++ b/drivers/gpu/drm/drm_pagemap.c
> @@ -0,0 +1,811 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/*
> + * Copyright © 2024-2025 Intel Corporation
> + */
> +
> +#include <linux/dma-mapping.h>
> +#include <linux/migrate.h>
> +#include <linux/pagemap.h>
> +#include <drm/drm_pagemap.h>
> +
> +/**
> + * DOC: Overview
> + *
> + * The DRM pagemap layer is intended to augment the dev_pagemap functionality by
> + * providing a way to populate a struct mm_struct virtual range with device
> + * private pages and to provide helpers to abstract device memory allocations,
> + * to migrate memory back and forth between device memory and system RAM and
> + * to handle access (and in the future migration) between devices implementing
> + * a fast interconnect that is not necessarily visible to the rest of the
> + * system.

The latter part (fast interconnect support) is NIY, right. Also not only
fast interconnects, PCIe P2P, right? 

> + *
> + * Typically the DRM pagemap receives requests from one or more DRM GPU SVM
> + * instances to populate struct mm_struct virtual ranges with memory, and the
> + * migration is best effort only and may thus fail. The implementation should
> + * also handle device unbinding by blocking (return an -ENODEV) error for new
> + * population requests and after that migrate all device pages to system ram.

So this means populate_devmem_pfn returning -ENODEV. Should we
specifically document this return code in populate_devmem_pfn,
drm_pagemap_migrate_to_devmem?

> + */
> +
> +/**
> + * DOC: Migration
> + * Migration granularity typically follows the GPU SVM range requests, but
> + * if there are clashes, due to races or due to the fact that multiple GPU
> + * SVM instances have different views of the ranges used, and because of that

'multiple GPU SVM instances have different views of the ranges used'

This seems scray and hard handle, perhaps you have thought this one
through a bit more than me.

> + * parts of a requested range is already present in the requested device memory,
> + * the implementation has a variety of options. It can fail and it can choose
> + * to populate only the part of the range that isn't already in device memory,
> + * and it can evict the range to system before trying to migrate. Ideally an
> + * implementation would just try to migrate the missing part of the range and
> + * allocate just enough memory to do so.
> + *

I think we need bit more plumbing to implement the ideal case but again
maybe you thought this one through a more than me.

In general there this doc seems forward looking to this not implement
yet which I'm not sure is a good idea for just moving code around.

Matt

> + * When migrating to system memory as a response to a cpu fault or a device
> + * memory eviction request, currently a full device memory allocation is
> + * migrated back to system. Moving forward this might need improvement for
> + * situations where a single page needs bouncing between system memory and
> + * device memory due to, for example, atomic operations.
> + *
> + * Key DRM pagemap components:
> + *
> + * - Device Memory Allocations:
> + *      Embedded structure containing enough information for the drm_pagemap to
> + *      migrate to / from device memory.
> + *
> + * - Device Memory Operations:
> + *      Define the interface for driver-specific device memory operations
> + *      release memory, populate pfns, and copy to / from device memory.
> + */
> +
> +/**
> + * struct drm_pagemap_zdd - GPU SVM zone device data
> + *
> + * @refcount: Reference count for the zdd
> + * @devmem_allocation: device memory allocation
> + * @device_private_page_owner: Device private pages owner
> + *
> + * This structure serves as a generic wrapper installed in
> + * page->zone_device_data. It provides infrastructure for looking up a device
> + * memory allocation upon CPU page fault and asynchronously releasing device
> + * memory once the CPU has no page references. Asynchronous release is useful
> + * because CPU page references can be dropped in IRQ contexts, while releasing
> + * device memory likely requires sleeping locks.
> + */
> +struct drm_pagemap_zdd {
> +	struct kref refcount;
> +	struct drm_pagemap_devmem *devmem_allocation;
> +	void *device_private_page_owner;
> +};
> +
> +/**
> + * drm_pagemap_zdd_alloc() - Allocate a zdd structure.
> + * @device_private_page_owner: Device private pages owner
> + *
> + * This function allocates and initializes a new zdd structure. It sets up the
> + * reference count and initializes the destroy work.
> + *
> + * Return: Pointer to the allocated zdd on success, ERR_PTR() on failure.
> + */
> +static struct drm_pagemap_zdd *
> +drm_pagemap_zdd_alloc(void *device_private_page_owner)
> +{
> +	struct drm_pagemap_zdd *zdd;
> +
> +	zdd = kmalloc(sizeof(*zdd), GFP_KERNEL);
> +	if (!zdd)
> +		return NULL;
> +
> +	kref_init(&zdd->refcount);
> +	zdd->devmem_allocation = NULL;
> +	zdd->device_private_page_owner = device_private_page_owner;
> +
> +	return zdd;
> +}
> +
> +/**
> + * drm_pagemap_zdd_get() - Get a reference to a zdd structure.
> + * @zdd: Pointer to the zdd structure.
> + *
> + * This function increments the reference count of the provided zdd structure.
> + *
> + * Return: Pointer to the zdd structure.
> + */
> +static struct drm_pagemap_zdd *drm_pagemap_zdd_get(struct drm_pagemap_zdd *zdd)
> +{
> +	kref_get(&zdd->refcount);
> +	return zdd;
> +}
> +
> +/**
> + * drm_pagemap_zdd_destroy() - Destroy a zdd structure.
> + * @ref: Pointer to the reference count structure.
> + *
> + * This function queues the destroy_work of the zdd for asynchronous destruction.
> + */
> +static void drm_pagemap_zdd_destroy(struct kref *ref)
> +{
> +	struct drm_pagemap_zdd *zdd =
> +		container_of(ref, struct drm_pagemap_zdd, refcount);
> +	struct drm_pagemap_devmem *devmem = zdd->devmem_allocation;
> +
> +	if (devmem) {
> +		complete_all(&devmem->detached);
> +		if (devmem->ops->devmem_release)
> +			devmem->ops->devmem_release(devmem);
> +	}
> +	kfree(zdd);
> +}
> +
> +/**
> + * drm_pagemap_zdd_put() - Put a zdd reference.
> + * @zdd: Pointer to the zdd structure.
> + *
> + * This function decrements the reference count of the provided zdd structure
> + * and schedules its destruction if the count drops to zero.
> + */
> +static void drm_pagemap_zdd_put(struct drm_pagemap_zdd *zdd)
> +{
> +	kref_put(&zdd->refcount, drm_pagemap_zdd_destroy);
> +}
> +
> +/**
> + * drm_pagemap_migration_unlock_put_page() - Put a migration page
> + * @page: Pointer to the page to put
> + *
> + * This function unlocks and puts a page.
> + */
> +static void drm_pagemap_migration_unlock_put_page(struct page *page)
> +{
> +	unlock_page(page);
> +	put_page(page);
> +}
> +
> +/**
> + * drm_pagemap_migration_unlock_put_pages() - Put migration pages
> + * @npages: Number of pages
> + * @migrate_pfn: Array of migrate page frame numbers
> + *
> + * This function unlocks and puts an array of pages.
> + */
> +static void drm_pagemap_migration_unlock_put_pages(unsigned long npages,
> +						   unsigned long *migrate_pfn)
> +{
> +	unsigned long i;
> +
> +	for (i = 0; i < npages; ++i) {
> +		struct page *page;
> +
> +		if (!migrate_pfn[i])
> +			continue;
> +
> +		page = migrate_pfn_to_page(migrate_pfn[i]);
> +		drm_pagemap_migration_unlock_put_page(page);
> +		migrate_pfn[i] = 0;
> +	}
> +}
> +
> +/**
> + * drm_pagemap_get_devmem_page() - Get a reference to a device memory page
> + * @page: Pointer to the page
> + * @zdd: Pointer to the GPU SVM zone device data
> + *
> + * This function associates the given page with the specified GPU SVM zone
> + * device data and initializes it for zone device usage.
> + */
> +static void drm_pagemap_get_devmem_page(struct page *page,
> +					struct drm_pagemap_zdd *zdd)
> +{
> +	page->zone_device_data = drm_pagemap_zdd_get(zdd);
> +	zone_device_page_init(page);
> +}
> +
> +/**
> + * drm_pagemap_migrate_map_pages() - Map migration pages for GPU SVM migration
> + * @dev: The device for which the pages are being mapped
> + * @dma_addr: Array to store DMA addresses corresponding to mapped pages
> + * @migrate_pfn: Array of migrate page frame numbers to map
> + * @npages: Number of pages to map
> + * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
> + *
> + * This function maps pages of memory for migration usage in GPU SVM. It
> + * iterates over each page frame number provided in @migrate_pfn, maps the
> + * corresponding page, and stores the DMA address in the provided @dma_addr
> + * array.
> + *
> + * Returns: 0 on success, -EFAULT if an error occurs during mapping.
> + */
> +static int drm_pagemap_migrate_map_pages(struct device *dev,
> +					 dma_addr_t *dma_addr,
> +					 unsigned long *migrate_pfn,
> +					 unsigned long npages,
> +					 enum dma_data_direction dir)
> +{
> +	unsigned long i;
> +
> +	for (i = 0; i < npages; ++i) {
> +		struct page *page = migrate_pfn_to_page(migrate_pfn[i]);
> +
> +		if (!page)
> +			continue;
> +
> +		if (WARN_ON_ONCE(is_zone_device_page(page)))
> +			return -EFAULT;
> +
> +		dma_addr[i] = dma_map_page(dev, page, 0, PAGE_SIZE, dir);
> +		if (dma_mapping_error(dev, dma_addr[i]))
> +			return -EFAULT;
> +	}
> +
> +	return 0;
> +}
> +
> +/**
> + * drm_pagemap_migrate_unmap_pages() - Unmap pages previously mapped for GPU SVM migration
> + * @dev: The device for which the pages were mapped
> + * @dma_addr: Array of DMA addresses corresponding to mapped pages
> + * @npages: Number of pages to unmap
> + * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
> + *
> + * This function unmaps previously mapped pages of memory for GPU Shared Virtual
> + * Memory (SVM). It iterates over each DMA address provided in @dma_addr, checks
> + * if it's valid and not already unmapped, and unmaps the corresponding page.
> + */
> +static void drm_pagemap_migrate_unmap_pages(struct device *dev,
> +					    dma_addr_t *dma_addr,
> +					    unsigned long npages,
> +					    enum dma_data_direction dir)
> +{
> +	unsigned long i;
> +
> +	for (i = 0; i < npages; ++i) {
> +		if (!dma_addr[i] || dma_mapping_error(dev, dma_addr[i]))
> +			continue;
> +
> +		dma_unmap_page(dev, dma_addr[i], PAGE_SIZE, dir);
> +	}
> +}
> +
> +static unsigned long
> +npages_in_range(unsigned long start, unsigned long end)
> +{
> +	return (end - start) >> PAGE_SHIFT;
> +}
> +
> +
> +/**
> + * drm_pagemap_migrate_to_devmem() - Migrate a struct mm_struct range to device memory
> + * @devmem_allocation: The device memory allocation to migrate to.
> + * The caller should hold a reference to the device memory allocation,
> + * and the reference is consumed by this function unless it returns with
> + * an error.
> + * @mm: Pointer to the struct mm_struct.
> + * @start: Start of the virtual address range to migrate.
> + * @end: End of the virtual address range to migrate.
> + * @pgmap_owner: Not used currently, since only system memory is considered.
> + *
> + * This function migrates the specified virtual address range to device memory.
> + * It performs the necessary setup and invokes the driver-specific operations for
> + * migration to device memory. Expected to be called while holding the mmap lock in
> + * at least read mode.
> + *
> + * Return: %0 on success, negative error code on failure.
> + */
> +
> +/*
> + * @range: Pointer to the GPU SVM range structure
> + * @devmem_allocation: Pointer to the device memory allocation. The caller
> + *                     should hold a reference to the device memory allocation,
> + *                     which should be dropped via ops->devmem_release or upon
> + *                     the failure of this function.
> + * @ctx: GPU SVM context
> + *
> + * This function migrates the specified GPU SVM range to device memory. It
> + * performs the necessary setup and invokes the driver-specific operations for
> + * migration to device memory. Upon successful return, @devmem_allocation can
> + * safely reference @range until ops->devmem_release is called which only upon
> + * successful return. Expected to be called while holding the mmap lock in read
> + * mode.
> + *
> + * Return: 0 on success, negative error code on failure.
> + */
> +int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem *devmem_allocation,
> +				  struct mm_struct *mm,
> +				  unsigned long start, unsigned long end,
> +				  unsigned long timeslice_ms,
> +				  void *pgmap_owner)
> +{
> +	const struct drm_pagemap_devmem_ops *ops = devmem_allocation->ops;
> +	struct migrate_vma migrate = {
> +		.start		= start,
> +		.end		= end,
> +		.pgmap_owner	= pgmap_owner,
> +		.flags		= MIGRATE_VMA_SELECT_SYSTEM,
> +	};
> +	unsigned long i, npages = npages_in_range(start, end);
> +	struct vm_area_struct *vas;
> +	struct drm_pagemap_zdd *zdd = NULL;
> +	struct page **pages;
> +	dma_addr_t *dma_addr;
> +	void *buf;
> +	int err;
> +
> +	mmap_assert_locked(mm);
> +
> +	if (!ops->populate_devmem_pfn || !ops->copy_to_devmem ||
> +	    !ops->copy_to_ram)
> +		return -EOPNOTSUPP;
> +
> +	vas = vma_lookup(mm, start);
> +	if (!vas) {
> +		err = -ENOENT;
> +		goto err_out;
> +	}
> +
> +	if (end > vas->vm_end || start < vas->vm_start) {
> +		err = -EINVAL;
> +		goto err_out;
> +	}
> +
> +	if (!vma_is_anonymous(vas)) {
> +		err = -EBUSY;
> +		goto err_out;
> +	}
> +
> +	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
> +		       sizeof(*pages), GFP_KERNEL);
> +	if (!buf) {
> +		err = -ENOMEM;
> +		goto err_out;
> +	}
> +	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
> +	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
> +
> +	zdd = drm_pagemap_zdd_alloc(pgmap_owner);
> +	if (!zdd) {
> +		err = -ENOMEM;
> +		goto err_free;
> +	}
> +
> +	migrate.vma = vas;
> +	migrate.src = buf;
> +	migrate.dst = migrate.src + npages;
> +
> +	err = migrate_vma_setup(&migrate);
> +	if (err)
> +		goto err_free;
> +
> +	if (!migrate.cpages) {
> +		err = -EFAULT;
> +		goto err_free;
> +	}
> +
> +	if (migrate.cpages != npages) {
> +		err = -EBUSY;
> +		goto err_finalize;
> +	}
> +
> +	err = ops->populate_devmem_pfn(devmem_allocation, npages, migrate.dst);
> +	if (err)
> +		goto err_finalize;
> +
> +	err = drm_pagemap_migrate_map_pages(devmem_allocation->dev, dma_addr,
> +					   migrate.src, npages, DMA_TO_DEVICE);
> +	if (err)
> +		goto err_finalize;
> +
> +	for (i = 0; i < npages; ++i) {
> +		struct page *page = pfn_to_page(migrate.dst[i]);
> +
> +		pages[i] = page;
> +		migrate.dst[i] = migrate_pfn(migrate.dst[i]);
> +		drm_pagemap_get_devmem_page(page, zdd);
> +	}
> +
> +	err = ops->copy_to_devmem(pages, dma_addr, npages);
> +	if (err)
> +		goto err_finalize;
> +
> +	/* Upon success bind devmem allocation to range and zdd */
> +	devmem_allocation->timeslice_expiration = get_jiffies_64() +
> +		msecs_to_jiffies(timeslice_ms);
> +	zdd->devmem_allocation = devmem_allocation;	/* Owns ref */
> +
> +err_finalize:
> +	if (err)
> +		drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
> +	migrate_vma_pages(&migrate);
> +	migrate_vma_finalize(&migrate);
> +	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
> +				       DMA_TO_DEVICE);
> +err_free:
> +	if (zdd)
> +		drm_pagemap_zdd_put(zdd);
> +	kvfree(buf);
> +err_out:
> +	return err;
> +}
> +EXPORT_SYMBOL_GPL(drm_pagemap_migrate_to_devmem);
> +
> +/**
> + * drm_pagemap_migrate_populate_ram_pfn() - Populate RAM PFNs for a VM area
> + * @vas: Pointer to the VM area structure, can be NULL
> + * @fault_page: Fault page
> + * @npages: Number of pages to populate
> + * @mpages: Number of pages to migrate
> + * @src_mpfn: Source array of migrate PFNs
> + * @mpfn: Array of migrate PFNs to populate
> + * @addr: Start address for PFN allocation
> + *
> + * This function populates the RAM migrate page frame numbers (PFNs) for the
> + * specified VM area structure. It allocates and locks pages in the VM area for
> + * RAM usage. If vas is non-NULL use alloc_page_vma for allocation, if NULL use
> + * alloc_page for allocation.
> + *
> + * Return: 0 on success, negative error code on failure.
> + */
> +static int drm_pagemap_migrate_populate_ram_pfn(struct vm_area_struct *vas,
> +					       struct page *fault_page,
> +					       unsigned long npages,
> +					       unsigned long *mpages,
> +					       unsigned long *src_mpfn,
> +					       unsigned long *mpfn,
> +					       unsigned long addr)
> +{
> +	unsigned long i;
> +
> +	for (i = 0; i < npages; ++i, addr += PAGE_SIZE) {
> +		struct page *page, *src_page;
> +
> +		if (!(src_mpfn[i] & MIGRATE_PFN_MIGRATE))
> +			continue;
> +
> +		src_page = migrate_pfn_to_page(src_mpfn[i]);
> +		if (!src_page)
> +			continue;
> +
> +		if (fault_page) {
> +			if (src_page->zone_device_data !=
> +			    fault_page->zone_device_data)
> +				continue;
> +		}
> +
> +		if (vas)
> +			page = alloc_page_vma(GFP_HIGHUSER, vas, addr);
> +		else
> +			page = alloc_page(GFP_HIGHUSER);
> +
> +		if (!page)
> +			goto free_pages;
> +
> +		mpfn[i] = migrate_pfn(page_to_pfn(page));
> +	}
> +
> +	for (i = 0; i < npages; ++i) {
> +		struct page *page = migrate_pfn_to_page(mpfn[i]);
> +
> +		if (!page)
> +			continue;
> +
> +		WARN_ON_ONCE(!trylock_page(page));
> +		++*mpages;
> +	}
> +
> +	return 0;
> +
> +free_pages:
> +	for (i = 0; i < npages; ++i) {
> +		struct page *page = migrate_pfn_to_page(mpfn[i]);
> +
> +		if (!page)
> +			continue;
> +
> +		put_page(page);
> +		mpfn[i] = 0;
> +	}
> +	return -ENOMEM;
> +}
> +
> +/**
> + * drm_pagemap_evict_to_ram() - Evict GPU SVM range to RAM
> + * @devmem_allocation: Pointer to the device memory allocation
> + *
> + * Similar to __drm_pagemap_migrate_to_ram but does not require mmap lock and
> + * migration done via migrate_device_* functions.
> + *
> + * Return: 0 on success, negative error code on failure.
> + */
> +int drm_pagemap_evict_to_ram(struct drm_pagemap_devmem *devmem_allocation)
> +{
> +	const struct drm_pagemap_devmem_ops *ops = devmem_allocation->ops;
> +	unsigned long npages, mpages = 0;
> +	struct page **pages;
> +	unsigned long *src, *dst;
> +	dma_addr_t *dma_addr;
> +	void *buf;
> +	int i, err = 0;
> +	unsigned int retry_count = 2;
> +
> +	npages = devmem_allocation->size >> PAGE_SHIFT;
> +
> +retry:
> +	if (!mmget_not_zero(devmem_allocation->mm))
> +		return -EFAULT;
> +
> +	buf = kvcalloc(npages, 2 * sizeof(*src) + sizeof(*dma_addr) +
> +		       sizeof(*pages), GFP_KERNEL);
> +	if (!buf) {
> +		err = -ENOMEM;
> +		goto err_out;
> +	}
> +	src = buf;
> +	dst = buf + (sizeof(*src) * npages);
> +	dma_addr = buf + (2 * sizeof(*src) * npages);
> +	pages = buf + (2 * sizeof(*src) + sizeof(*dma_addr)) * npages;
> +
> +	err = ops->populate_devmem_pfn(devmem_allocation, npages, src);
> +	if (err)
> +		goto err_free;
> +
> +	err = migrate_device_pfns(src, npages);
> +	if (err)
> +		goto err_free;
> +
> +	err = drm_pagemap_migrate_populate_ram_pfn(NULL, NULL, npages, &mpages,
> +						  src, dst, 0);
> +	if (err || !mpages)
> +		goto err_finalize;
> +
> +	err = drm_pagemap_migrate_map_pages(devmem_allocation->dev, dma_addr,
> +					   dst, npages, DMA_FROM_DEVICE);
> +	if (err)
> +		goto err_finalize;
> +
> +	for (i = 0; i < npages; ++i)
> +		pages[i] = migrate_pfn_to_page(src[i]);
> +
> +	err = ops->copy_to_ram(pages, dma_addr, npages);
> +	if (err)
> +		goto err_finalize;
> +
> +err_finalize:
> +	if (err)
> +		drm_pagemap_migration_unlock_put_pages(npages, dst);
> +	migrate_device_pages(src, dst, npages);
> +	migrate_device_finalize(src, dst, npages);
> +	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev, dma_addr, npages,
> +				       DMA_FROM_DEVICE);
> +err_free:
> +	kvfree(buf);
> +err_out:
> +	mmput_async(devmem_allocation->mm);
> +
> +	if (completion_done(&devmem_allocation->detached))
> +		return 0;
> +
> +	if (retry_count--) {
> +		cond_resched();
> +		goto retry;
> +	}
> +
> +	return err ?: -EBUSY;
> +}
> +EXPORT_SYMBOL_GPL(drm_pagemap_evict_to_ram);
> +
> +/**
> + * __drm_pagemap_migrate_to_ram() - Migrate GPU SVM range to RAM (internal)
> + * @vas: Pointer to the VM area structure
> + * @device_private_page_owner: Device private pages owner
> + * @page: Pointer to the page for fault handling (can be NULL)
> + * @fault_addr: Fault address
> + * @size: Size of migration
> + *
> + * This internal function performs the migration of the specified GPU SVM range
> + * to RAM. It sets up the migration, populates + dma maps RAM PFNs, and
> + * invokes the driver-specific operations for migration to RAM.
> + *
> + * Return: 0 on success, negative error code on failure.
> + */
> +static int __drm_pagemap_migrate_to_ram(struct vm_area_struct *vas,
> +				       void *device_private_page_owner,
> +				       struct page *page,
> +				       unsigned long fault_addr,
> +				       unsigned long size)
> +{
> +	struct migrate_vma migrate = {
> +		.vma		= vas,
> +		.pgmap_owner	= device_private_page_owner,
> +		.flags		= MIGRATE_VMA_SELECT_DEVICE_PRIVATE |
> +			MIGRATE_VMA_SELECT_DEVICE_COHERENT,
> +		.fault_page	= page,
> +	};
> +	struct drm_pagemap_zdd *zdd;
> +	const struct drm_pagemap_devmem_ops *ops;
> +	struct device *dev = NULL;
> +	unsigned long npages, mpages = 0;
> +	struct page **pages;
> +	dma_addr_t *dma_addr;
> +	unsigned long start, end;
> +	void *buf;
> +	int i, err = 0;
> +
> +	if (page) {
> +		zdd = page->zone_device_data;
> +		if (time_before64(get_jiffies_64(),
> +				  zdd->devmem_allocation->timeslice_expiration))
> +			return 0;
> +	}
> +
> +	start = ALIGN_DOWN(fault_addr, size);
> +	end = ALIGN(fault_addr + 1, size);
> +
> +	/* Corner where VMA area struct has been partially unmapped */
> +	if (start < vas->vm_start)
> +		start = vas->vm_start;
> +	if (end > vas->vm_end)
> +		end = vas->vm_end;
> +
> +	migrate.start = start;
> +	migrate.end = end;
> +	npages = npages_in_range(start, end);
> +
> +	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*dma_addr) +
> +		       sizeof(*pages), GFP_KERNEL);
> +	if (!buf) {
> +		err = -ENOMEM;
> +		goto err_out;
> +	}
> +	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
> +	pages = buf + (2 * sizeof(*migrate.src) + sizeof(*dma_addr)) * npages;
> +
> +	migrate.vma = vas;
> +	migrate.src = buf;
> +	migrate.dst = migrate.src + npages;
> +
> +	err = migrate_vma_setup(&migrate);
> +	if (err)
> +		goto err_free;
> +
> +	/* Raced with another CPU fault, nothing to do */
> +	if (!migrate.cpages)
> +		goto err_free;
> +
> +	if (!page) {
> +		for (i = 0; i < npages; ++i) {
> +			if (!(migrate.src[i] & MIGRATE_PFN_MIGRATE))
> +				continue;
> +
> +			page = migrate_pfn_to_page(migrate.src[i]);
> +			break;
> +		}
> +
> +		if (!page)
> +			goto err_finalize;
> +	}
> +	zdd = page->zone_device_data;
> +	ops = zdd->devmem_allocation->ops;
> +	dev = zdd->devmem_allocation->dev;
> +
> +	err = drm_pagemap_migrate_populate_ram_pfn(vas, page, npages, &mpages,
> +						  migrate.src, migrate.dst,
> +						  start);
> +	if (err)
> +		goto err_finalize;
> +
> +	err = drm_pagemap_migrate_map_pages(dev, dma_addr, migrate.dst, npages,
> +					   DMA_FROM_DEVICE);
> +	if (err)
> +		goto err_finalize;
> +
> +	for (i = 0; i < npages; ++i)
> +		pages[i] = migrate_pfn_to_page(migrate.src[i]);
> +
> +	err = ops->copy_to_ram(pages, dma_addr, npages);
> +	if (err)
> +		goto err_finalize;
> +
> +err_finalize:
> +	if (err)
> +		drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
> +	migrate_vma_pages(&migrate);
> +	migrate_vma_finalize(&migrate);
> +	if (dev)
> +		drm_pagemap_migrate_unmap_pages(dev, dma_addr, npages,
> +					       DMA_FROM_DEVICE);
> +err_free:
> +	kvfree(buf);
> +err_out:
> +
> +	return err;
> +}
> +
> +/**
> + * drm_pagemap_page_free() - Put GPU SVM zone device data associated with a page
> + * @page: Pointer to the page
> + *
> + * This function is a callback used to put the GPU SVM zone device data
> + * associated with a page when it is being released.
> + */
> +static void drm_pagemap_page_free(struct page *page)
> +{
> +	drm_pagemap_zdd_put(page->zone_device_data);
> +}
> +
> +/**
> + * drm_pagemap_migrate_to_ram() - Migrate a virtual range to RAM (page fault handler)
> + * @vmf: Pointer to the fault information structure
> + *
> + * This function is a page fault handler used to migrate a virtual range
> + * to ram. The device memory allocation in which the device page is found is
> + * migrated in its entirety.
> + *
> + * Returns:
> + * VM_FAULT_SIGBUS on failure, 0 on success.
> + */
> +static vm_fault_t drm_pagemap_migrate_to_ram(struct vm_fault *vmf)
> +{
> +	struct drm_pagemap_zdd *zdd = vmf->page->zone_device_data;
> +	int err;
> +
> +	err = __drm_pagemap_migrate_to_ram(vmf->vma,
> +					   zdd->device_private_page_owner,
> +					   vmf->page, vmf->address,
> +					   zdd->devmem_allocation->size);
> +
> +	return err ? VM_FAULT_SIGBUS : 0;
> +}
> +
> +static const struct dev_pagemap_ops drm_pagemap_pagemap_ops = {
> +	.page_free = drm_pagemap_page_free,
> +	.migrate_to_ram = drm_pagemap_migrate_to_ram,
> +};
> +
> +/**
> + * drm_pagemap_pagemap_ops_get() - Retrieve GPU SVM device page map operations
> + *
> + * Returns:
> + * Pointer to the GPU SVM device page map operations structure.
> + */
> +const struct dev_pagemap_ops *drm_pagemap_pagemap_ops_get(void)
> +{
> +	return &drm_pagemap_pagemap_ops;
> +}
> +EXPORT_SYMBOL_GPL(drm_pagemap_pagemap_ops_get);
> +
> +/**
> + * drm_pagemap_devmem_init() - Initialize a drm_pagemap device memory allocation
> + *
> + * @devmem_allocation: The struct drm_pagemap_devmem to initialize.
> + * @dev: Pointer to the device structure which device memory allocation belongs to
> + * @mm: Pointer to the mm_struct for the address space
> + * @ops: Pointer to the operations structure for GPU SVM device memory
> + * @dpagemap: The struct drm_pagemap we're allocating from.
> + * @size: Size of device memory allocation
> + */
> +void drm_pagemap_devmem_init(struct drm_pagemap_devmem *devmem_allocation,
> +			     struct device *dev, struct mm_struct *mm,
> +			     const struct drm_pagemap_devmem_ops *ops,
> +			     struct drm_pagemap *dpagemap, size_t size)
> +{
> +	init_completion(&devmem_allocation->detached);
> +	devmem_allocation->dev = dev;
> +	devmem_allocation->mm = mm;
> +	devmem_allocation->ops = ops;
> +	devmem_allocation->dpagemap = dpagemap;
> +	devmem_allocation->size = size;
> +}
> +EXPORT_SYMBOL_GPL(drm_pagemap_devmem_init);
> +
> +/**
> + * drm_pagemap_page_to_dpagemap() - Return a pointer the drm_pagemap of a page
> + * @page: The struct page.
> + *
> + * Return: A pointer to the struct drm_pagemap of a device private page that
> + * was populated from the struct drm_pagemap. If the page was *not* populated
> + * from a struct drm_pagemap, the result is undefined and the function call
> + * may result in dereferencing and invalid address.
> + */
> +struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page)
> +{
> +	struct drm_pagemap_zdd *zdd = page->zone_device_data;
> +
> +	return zdd->devmem_allocation->dpagemap;
> +}
> +EXPORT_SYMBOL_GPL(drm_pagemap_page_to_dpagemap);
> diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
> index 98b46c534278..c7c71734460b 100644
> --- a/drivers/gpu/drm/xe/Kconfig
> +++ b/drivers/gpu/drm/xe/Kconfig
> @@ -87,14 +87,16 @@ config DRM_XE_GPUSVM
>  
>  	  If in doubut say "Y".
>  
> -config DRM_XE_DEVMEM_MIRROR
> -	bool "Enable device memory mirror"
> +config DRM_XE_PAGEMAP
> +	bool "Enable device memory pool for SVM"
>  	depends on DRM_XE_GPUSVM
>  	select GET_FREE_REGION
>  	default y
>  	help
> -	  Disable this option only if you want to compile out without device
> -	  memory mirror. Will reduce KMD memory footprint when disabled.
> +	  Disable this option only if you don't want to expose local device
> +	  memory for SVM. Will reduce KMD memory footprint when disabled.
> +
> +	  If in doubut say "Y".
>  
>  config DRM_XE_FORCE_PROBE
>  	string "Force probe xe for selected Intel hardware IDs"
> diff --git a/drivers/gpu/drm/xe/xe_bo_types.h b/drivers/gpu/drm/xe/xe_bo_types.h
> index eb5e83c5f233..e0efaf23d051 100644
> --- a/drivers/gpu/drm/xe/xe_bo_types.h
> +++ b/drivers/gpu/drm/xe/xe_bo_types.h
> @@ -86,7 +86,7 @@ struct xe_bo {
>  	u16 cpu_caching;
>  
>  	/** @devmem_allocation: SVM device memory allocation */
> -	struct drm_gpusvm_devmem devmem_allocation;
> +	struct drm_pagemap_devmem devmem_allocation;
>  
>  	/** @vram_userfault_link: Link into @mem_access.vram_userfault.list */
>  		struct list_head vram_userfault_link;
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index b93c04466637..67b7f733dd69 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -104,7 +104,7 @@ struct xe_vram_region {
>  	void __iomem *mapping;
>  	/** @ttm: VRAM TTM manager */
>  	struct xe_ttm_vram_mgr ttm;
> -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
>  	/** @pagemap: Used to remap device memory as ZONE_DEVICE */
>  	struct dev_pagemap pagemap;
>  	/**
> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
> index f27fb9b588de..e161ce3e67a1 100644
> --- a/drivers/gpu/drm/xe/xe_svm.c
> +++ b/drivers/gpu/drm/xe/xe_svm.c
> @@ -329,7 +329,7 @@ static void xe_svm_garbage_collector_work_func(struct work_struct *w)
>  	up_write(&vm->lock);
>  }
>  
> -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
>  
>  static struct xe_vram_region *page_to_vr(struct page *page)
>  {
> @@ -517,12 +517,12 @@ static int xe_svm_copy_to_ram(struct page **pages, dma_addr_t *dma_addr,
>  	return xe_svm_copy(pages, dma_addr, npages, XE_SVM_COPY_TO_SRAM);
>  }
>  
> -static struct xe_bo *to_xe_bo(struct drm_gpusvm_devmem *devmem_allocation)
> +static struct xe_bo *to_xe_bo(struct drm_pagemap_devmem *devmem_allocation)
>  {
>  	return container_of(devmem_allocation, struct xe_bo, devmem_allocation);
>  }
>  
> -static void xe_svm_devmem_release(struct drm_gpusvm_devmem *devmem_allocation)
> +static void xe_svm_devmem_release(struct drm_pagemap_devmem *devmem_allocation)
>  {
>  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
>  
> @@ -539,7 +539,7 @@ static struct drm_buddy *tile_to_buddy(struct xe_tile *tile)
>  	return &tile->mem.vram.ttm.mm;
>  }
>  
> -static int xe_svm_populate_devmem_pfn(struct drm_gpusvm_devmem *devmem_allocation,
> +static int xe_svm_populate_devmem_pfn(struct drm_pagemap_devmem *devmem_allocation,
>  				      unsigned long npages, unsigned long *pfn)
>  {
>  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
> @@ -562,7 +562,7 @@ static int xe_svm_populate_devmem_pfn(struct drm_gpusvm_devmem *devmem_allocatio
>  	return 0;
>  }
>  
> -static const struct drm_gpusvm_devmem_ops gpusvm_devmem_ops = {
> +static const struct drm_pagemap_devmem_ops dpagemap_devmem_ops = {
>  	.devmem_release = xe_svm_devmem_release,
>  	.populate_devmem_pfn = xe_svm_populate_devmem_pfn,
>  	.copy_to_devmem = xe_svm_copy_to_devmem,
> @@ -714,7 +714,7 @@ u64 xe_svm_find_vma_start(struct xe_vm *vm, u64 start, u64 end, struct xe_vma *v
>  					 min(end, xe_vma_end(vma)));
>  }
>  
> -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
>  static struct xe_vram_region *tile_to_vr(struct xe_tile *tile)
>  {
>  	return &tile->mem.vram;
> @@ -742,6 +742,9 @@ int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
>  	ktime_t end = 0;
>  	int err;
>  
> +	if (!range->base.flags.migrate_devmem)
> +		return -EINVAL;
> +
>  	range_debug(range, "ALLOCATE VRAM");
>  
>  	if (!mmget_not_zero(mm))
> @@ -761,19 +764,23 @@ int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
>  		goto unlock;
>  	}
>  
> -	drm_gpusvm_devmem_init(&bo->devmem_allocation,
> -			       vm->xe->drm.dev, mm,
> -			       &gpusvm_devmem_ops,
> -			       &tile->mem.vram.dpagemap,
> -			       xe_svm_range_size(range));
> +	drm_pagemap_devmem_init(&bo->devmem_allocation,
> +				vm->xe->drm.dev, mm,
> +				&dpagemap_devmem_ops,
> +				&tile->mem.vram.dpagemap,
> +				xe_svm_range_size(range));
>  
>  	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)->blocks;
>  	list_for_each_entry(block, blocks, link)
>  		block->private = vr;
>  
>  	xe_bo_get(bo);
> -	err = drm_gpusvm_migrate_to_devmem(&vm->svm.gpusvm, &range->base,
> -					   &bo->devmem_allocation, ctx);
> +	err = drm_pagemap_migrate_to_devmem(&bo->devmem_allocation,
> +					    mm,
> +					    xe_svm_range_start(range),
> +					    xe_svm_range_end(range),
> +					    ctx->timeslice_ms,
> +					    xe_svm_devm_owner(vm->xe));
>  	if (err)
>  		xe_svm_devmem_release(&bo->devmem_allocation);
>  
> @@ -848,13 +855,13 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
>  	struct drm_gpusvm_ctx ctx = {
>  		.read_only = xe_vma_read_only(vma),
>  		.devmem_possible = IS_DGFX(vm->xe) &&
> -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR),
> -		.check_pages_threshold = IS_DGFX(vm->xe) &&
> -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR) ? SZ_64K : 0,
> +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP),
> +		.check_pages_threshold = IS_DGFX(vm->xe) &&		
> +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP) ? SZ_64K : 0,
>  		.devmem_only = atomic && IS_DGFX(vm->xe) &&
> -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR),
> +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP),
>  		.timeslice_ms = atomic && IS_DGFX(vm->xe) &&
> -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR) ?
> +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP) ?
>  			vm->xe->atomic_svm_timeslice_ms : 0,
>  	};
>  	struct xe_svm_range *range;
> @@ -992,7 +999,7 @@ bool xe_svm_has_mapping(struct xe_vm *vm, u64 start, u64 end)
>   */
>  int xe_svm_bo_evict(struct xe_bo *bo)
>  {
> -	return drm_gpusvm_evict_to_ram(&bo->devmem_allocation);
> +	return drm_pagemap_evict_to_ram(&bo->devmem_allocation);
>  }
>  
>  /**
> @@ -1045,7 +1052,7 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>  	return err;
>  }
>  
> -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
>  
>  static struct drm_pagemap_device_addr
>  xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
> @@ -1102,7 +1109,7 @@ int xe_devm_add(struct xe_tile *tile, struct xe_vram_region *vr)
>  	vr->pagemap.range.start = res->start;
>  	vr->pagemap.range.end = res->end;
>  	vr->pagemap.nr_range = 1;
> -	vr->pagemap.ops = drm_gpusvm_pagemap_ops_get();
> +	vr->pagemap.ops = drm_pagemap_pagemap_ops_get();
>  	vr->pagemap.owner = xe_svm_devm_owner(xe);
>  	addr = devm_memremap_pages(dev, &vr->pagemap);
>  
> diff --git a/include/drm/drm_gpusvm.h b/include/drm/drm_gpusvm.h
> index 6a5156476bf4..4aedc5423aff 100644
> --- a/include/drm/drm_gpusvm.h
> +++ b/include/drm/drm_gpusvm.h
> @@ -16,91 +16,9 @@ struct drm_gpusvm;
>  struct drm_gpusvm_notifier;
>  struct drm_gpusvm_ops;
>  struct drm_gpusvm_range;
> -struct drm_gpusvm_devmem;
>  struct drm_pagemap;
>  struct drm_pagemap_device_addr;
>  
> -/**
> - * struct drm_gpusvm_devmem_ops - Operations structure for GPU SVM device memory
> - *
> - * This structure defines the operations for GPU Shared Virtual Memory (SVM)
> - * device memory. These operations are provided by the GPU driver to manage device memory
> - * allocations and perform operations such as migration between device memory and system
> - * RAM.
> - */
> -struct drm_gpusvm_devmem_ops {
> -	/**
> -	 * @devmem_release: Release device memory allocation (optional)
> -	 * @devmem_allocation: device memory allocation
> -	 *
> -	 * Release device memory allocation and drop a reference to device
> -	 * memory allocation.
> -	 */
> -	void (*devmem_release)(struct drm_gpusvm_devmem *devmem_allocation);
> -
> -	/**
> -	 * @populate_devmem_pfn: Populate device memory PFN (required for migration)
> -	 * @devmem_allocation: device memory allocation
> -	 * @npages: Number of pages to populate
> -	 * @pfn: Array of page frame numbers to populate
> -	 *
> -	 * Populate device memory page frame numbers (PFN).
> -	 *
> -	 * Return: 0 on success, a negative error code on failure.
> -	 */
> -	int (*populate_devmem_pfn)(struct drm_gpusvm_devmem *devmem_allocation,
> -				   unsigned long npages, unsigned long *pfn);
> -
> -	/**
> -	 * @copy_to_devmem: Copy to device memory (required for migration)
> -	 * @pages: Pointer to array of device memory pages (destination)
> -	 * @dma_addr: Pointer to array of DMA addresses (source)
> -	 * @npages: Number of pages to copy
> -	 *
> -	 * Copy pages to device memory.
> -	 *
> -	 * Return: 0 on success, a negative error code on failure.
> -	 */
> -	int (*copy_to_devmem)(struct page **pages,
> -			      dma_addr_t *dma_addr,
> -			      unsigned long npages);
> -
> -	/**
> -	 * @copy_to_ram: Copy to system RAM (required for migration)
> -	 * @pages: Pointer to array of device memory pages (source)
> -	 * @dma_addr: Pointer to array of DMA addresses (destination)
> -	 * @npages: Number of pages to copy
> -	 *
> -	 * Copy pages to system RAM.
> -	 *
> -	 * Return: 0 on success, a negative error code on failure.
> -	 */
> -	int (*copy_to_ram)(struct page **pages,
> -			   dma_addr_t *dma_addr,
> -			   unsigned long npages);
> -};
> -
> -/**
> - * struct drm_gpusvm_devmem - Structure representing a GPU SVM device memory allocation
> - *
> - * @dev: Pointer to the device structure which device memory allocation belongs to
> - * @mm: Pointer to the mm_struct for the address space
> - * @detached: device memory allocations is detached from device pages
> - * @ops: Pointer to the operations structure for GPU SVM device memory
> - * @dpagemap: The struct drm_pagemap of the pages this allocation belongs to.
> - * @size: Size of device memory allocation
> - * @timeslice_expiration: Timeslice expiration in jiffies
> - */
> -struct drm_gpusvm_devmem {
> -	struct device *dev;
> -	struct mm_struct *mm;
> -	struct completion detached;
> -	const struct drm_gpusvm_devmem_ops *ops;
> -	struct drm_pagemap *dpagemap;
> -	size_t size;
> -	u64 timeslice_expiration;
> -};
> -
>  /**
>   * struct drm_gpusvm_ops - Operations structure for GPU SVM
>   *
> @@ -361,15 +279,6 @@ void drm_gpusvm_range_unmap_pages(struct drm_gpusvm *gpusvm,
>  				  struct drm_gpusvm_range *range,
>  				  const struct drm_gpusvm_ctx *ctx);
>  
> -int drm_gpusvm_migrate_to_devmem(struct drm_gpusvm *gpusvm,
> -				 struct drm_gpusvm_range *range,
> -				 struct drm_gpusvm_devmem *devmem_allocation,
> -				 const struct drm_gpusvm_ctx *ctx);
> -
> -int drm_gpusvm_evict_to_ram(struct drm_gpusvm_devmem *devmem_allocation);
> -
> -const struct dev_pagemap_ops *drm_gpusvm_pagemap_ops_get(void);
> -
>  bool drm_gpusvm_has_mapping(struct drm_gpusvm *gpusvm, unsigned long start,
>  			    unsigned long end);
>  
> @@ -380,11 +289,6 @@ drm_gpusvm_range_find(struct drm_gpusvm_notifier *notifier, unsigned long start,
>  void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
>  				   const struct mmu_notifier_range *mmu_range);
>  
> -void drm_gpusvm_devmem_init(struct drm_gpusvm_devmem *devmem_allocation,
> -			    struct device *dev, struct mm_struct *mm,
> -			    const struct drm_gpusvm_devmem_ops *ops,
> -			    struct drm_pagemap *dpagemap, size_t size);
> -
>  #ifdef CONFIG_LOCKDEP
>  /**
>   * drm_gpusvm_driver_set_lock() - Set the lock protecting accesses to GPU SVM
> diff --git a/include/drm/drm_pagemap.h b/include/drm/drm_pagemap.h
> index 202c157ff4d7..dabc9c365df4 100644
> --- a/include/drm/drm_pagemap.h
> +++ b/include/drm/drm_pagemap.h
> @@ -7,6 +7,7 @@
>  #include <linux/types.h>
>  
>  struct drm_pagemap;
> +struct drm_pagemap_zdd;
>  struct device;
>  
>  /**
> @@ -104,4 +105,104 @@ struct drm_pagemap {
>  	struct device *dev;
>  };
>  
> +struct drm_pagemap_devmem;
> +
> +/**
> + * struct drm_pagemap_devmem_ops - Operations structure for GPU SVM device memory
> + *
> + * This structure defines the operations for GPU Shared Virtual Memory (SVM)
> + * device memory. These operations are provided by the GPU driver to manage device memory
> + * allocations and perform operations such as migration between device memory and system
> + * RAM.
> + */
> +struct drm_pagemap_devmem_ops {
> +	/**
> +	 * @devmem_release: Release device memory allocation (optional)
> +	 * @devmem_allocation: device memory allocation
> +	 *
> +	 * Release device memory allocation and drop a reference to device
> +	 * memory allocation.
> +	 */
> +	void (*devmem_release)(struct drm_pagemap_devmem *devmem_allocation);
> +
> +	/**
> +	 * @populate_devmem_pfn: Populate device memory PFN (required for migration)
> +	 * @devmem_allocation: device memory allocation
> +	 * @npages: Number of pages to populate
> +	 * @pfn: Array of page frame numbers to populate
> +	 *
> +	 * Populate device memory page frame numbers (PFN).
> +	 *
> +	 * Return: 0 on success, a negative error code on failure.
> +	 */
> +	int (*populate_devmem_pfn)(struct drm_pagemap_devmem *devmem_allocation,
> +				   unsigned long npages, unsigned long *pfn);
> +
> +	/**
> +	 * @copy_to_devmem: Copy to device memory (required for migration)
> +	 * @pages: Pointer to array of device memory pages (destination)
> +	 * @dma_addr: Pointer to array of DMA addresses (source)
> +	 * @npages: Number of pages to copy
> +	 *
> +	 * Copy pages to device memory.
> +	 *
> +	 * Return: 0 on success, a negative error code on failure.
> +	 */
> +	int (*copy_to_devmem)(struct page **pages,
> +			      dma_addr_t *dma_addr,
> +			      unsigned long npages);
> +
> +	/**
> +	 * @copy_to_ram: Copy to system RAM (required for migration)
> +	 * @pages: Pointer to array of device memory pages (source)
> +	 * @dma_addr: Pointer to array of DMA addresses (destination)
> +	 * @npages: Number of pages to copy
> +	 *
> +	 * Copy pages to system RAM.
> +	 *
> +	 * Return: 0 on success, a negative error code on failure.
> +	 */
> +	int (*copy_to_ram)(struct page **pages,
> +			   dma_addr_t *dma_addr,
> +			   unsigned long npages);
> +};
> +
> +/**
> + * struct drm_pagemap_devmem - Structure representing a GPU SVM device memory allocation
> + *
> + * @dev: Pointer to the device structure which device memory allocation belongs to
> + * @mm: Pointer to the mm_struct for the address space
> + * @detached: device memory allocations is detached from device pages
> + * @ops: Pointer to the operations structure for GPU SVM device memory
> + * @dpagemap: The struct drm_pagemap of the pages this allocation belongs to.
> + * @size: Size of device memory allocation
> + * @timeslice_expiration: Timeslice expiration in jiffies
> + */
> +struct drm_pagemap_devmem {
> +	struct device *dev;
> +	struct mm_struct *mm;
> +	struct completion detached;
> +	const struct drm_pagemap_devmem_ops *ops;
> +	struct drm_pagemap *dpagemap;
> +	size_t size;
> +	u64 timeslice_expiration;
> +};
> +
> +int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem *devmem_allocation,
> +				  struct mm_struct *mm,
> +				  unsigned long start, unsigned long end,
> +				  unsigned long timeslice_ms,
> +				  void *pgmap_owner);
> +
> +int drm_pagemap_evict_to_ram(struct drm_pagemap_devmem *devmem_allocation);
> +
> +const struct dev_pagemap_ops *drm_pagemap_pagemap_ops_get(void);
> +
> +struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page);
> +
> +void drm_pagemap_devmem_init(struct drm_pagemap_devmem *devmem_allocation,
> +			     struct device *dev, struct mm_struct *mm,
> +			     const struct drm_pagemap_devmem_ops *ops,
> +			     struct drm_pagemap *dpagemap, size_t size);
> +
>  #endif
> -- 
> 2.49.0
> 

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

* Re: [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
  2025-06-05 22:44   ` Matthew Brost
@ 2025-06-13 10:01     ` Thomas Hellström
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-13 10:01 UTC (permalink / raw)
  To: Matthew Brost
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Thu, 2025-06-05 at 15:44 -0700, Matthew Brost wrote:
> On Wed, Jun 04, 2025 at 11:35:34AM +0200, Thomas Hellström wrote:
> > From: Matthew Brost <matthew.brost@intel.com>
> > 
> > The migration functionality and track-keeping of per-pagemap VRAM
> > mapped to the CPU mm is not per GPU_vm, but rather per pagemap.
> > This is also reflected by the functions not needing the drm_gpusvm
> > structures. So move to drm_pagemap.
> > 
> > With this, drm_gpusvm shouldn't really access the page zone-device-
> > data
> > since its meaning is internal to drm_pagemap. Currently it's used
> > to
> > reject mapping ranges backed by multiple drm_pagemap allocations.
> > For now, make the zone-device-data a void pointer.
> > 
> > Rename CONFIG_DRM_XE_DEVMEM_MIRROR to CONFIG_DRM_XE_PAGEMAP.
> > 
> > Matt is listed as author of this commit since he wrote most of the
> > code,
> > and it makes sense to retain his git authorship.
> > Thomas mostly moved the code around.
> > 
> 
> Kernel test robot has kernel doc fixes. A couple questions / comments
> on
> the new doc below.

8<---------------------------------------------------------------------
> 
> > +/**
> > + * DOC: Overview
> > + *
> > + * The DRM pagemap layer is intended to augment the dev_pagemap
> > functionality by
> > + * providing a way to populate a struct mm_struct virtual range
> > with device
> > + * private pages and to provide helpers to abstract device memory
> > allocations,
> > + * to migrate memory back and forth between device memory and
> > system RAM and
> > + * to handle access (and in the future migration) between devices
> > implementing
> > + * a fast interconnect that is not necessarily visible to the rest
> > of the
> > + * system.
> 
> The latter part (fast interconnect support) is NIY, right. Also not
> only
> fast interconnects, PCIe P2P, right? 

Yes. PCIe P2P is intended to be included in "fast interconnects".

> 
> > + *
> > + * Typically the DRM pagemap receives requests from one or more
> > DRM GPU SVM
> > + * instances to populate struct mm_struct virtual ranges with
> > memory, and the
> > + * migration is best effort only and may thus fail. The
> > implementation should
> > + * also handle device unbinding by blocking (return an -ENODEV)
> > error for new
> > + * population requests and after that migrate all device pages to
> > system ram.
> 
> So this means populate_devmem_pfn returning -ENODEV. Should we
> specifically document this return code in populate_devmem_pfn,
> drm_pagemap_migrate_to_devmem?

Yes, agreed. This is actually more suitable for patch 2, so I'll move
it there.

> 
> > + */
> > +
> > +/**
> > + * DOC: Migration
> > + * Migration granularity typically follows the GPU SVM range
> > requests, but
> > + * if there are clashes, due to races or due to the fact that
> > multiple GPU
> > + * SVM instances have different views of the ranges used, and
> > because of that
> 
> 'multiple GPU SVM instances have different views of the ranges used'
> 
> This seems scray and hard handle, perhaps you have thought this one
> through a bit more than me.

I'd say given multiple devices and rogue / bad / racy user-space this
is a situation we need to account for. I don't think we necessarily
need to handle it very gracefully, but we need to take proper action.

> 
> > + * parts of a requested range is already present in the requested
> > device memory,
> > + * the implementation has a variety of options. It can fail and it
> > can choose
> > + * to populate only the part of the range that isn't already in
> > device memory,
> > + * and it can evict the range to system before trying to migrate.
> > Ideally an
> > + * implementation would just try to migrate the missing part of
> > the range and
> > + * allocate just enough memory to do so.
> > + *
> 
> I think we need bit more plumbing to implement the ideal case but
> again
> maybe you thought this one through a more than me.

Yes I have some ideas here how to implement that ideal case for xe if
needed.

> 
> In general there this doc seems forward looking to this not implement
> yet which I'm not sure is a good idea for just moving code around.

Agreed. I'll move parts of the documentaion changes to later patches.

Thanks for review,
Thomas


> 
> Matt
> 
> > + * When migrating to system memory as a response to a cpu fault or
> > a device
> > + * memory eviction request, currently a full device memory
> > allocation is
> > + * migrated back to system. Moving forward this might need
> > improvement for
> > + * situations where a single page needs bouncing between system
> > memory and
> > + * device memory due to, for example, atomic operations.
> > + *
> > + * Key DRM pagemap components:
> > + *
> > + * - Device Memory Allocations:
> > + *      Embedded structure containing enough information for the
> > drm_pagemap to
> > + *      migrate to / from device memory.
> > + *
> > + * - Device Memory Operations:
> > + *      Define the interface for driver-specific device memory
> > operations
> > + *      release memory, populate pfns, and copy to / from device
> > memory.
> > + */
> > +
> > +/**
> > + * struct drm_pagemap_zdd - GPU SVM zone device data
> > + *
> > + * @refcount: Reference count for the zdd
> > + * @devmem_allocation: device memory allocation
> > + * @device_private_page_owner: Device private pages owner
> > + *
> > + * This structure serves as a generic wrapper installed in
> > + * page->zone_device_data. It provides infrastructure for looking
> > up a device
> > + * memory allocation upon CPU page fault and asynchronously
> > releasing device
> > + * memory once the CPU has no page references. Asynchronous
> > release is useful
> > + * because CPU page references can be dropped in IRQ contexts,
> > while releasing
> > + * device memory likely requires sleeping locks.
> > + */
> > +struct drm_pagemap_zdd {
> > +	struct kref refcount;
> > +	struct drm_pagemap_devmem *devmem_allocation;
> > +	void *device_private_page_owner;
> > +};
> > +
> > +/**
> > + * drm_pagemap_zdd_alloc() - Allocate a zdd structure.
> > + * @device_private_page_owner: Device private pages owner
> > + *
> > + * This function allocates and initializes a new zdd structure. It
> > sets up the
> > + * reference count and initializes the destroy work.
> > + *
> > + * Return: Pointer to the allocated zdd on success, ERR_PTR() on
> > failure.
> > + */
> > +static struct drm_pagemap_zdd *
> > +drm_pagemap_zdd_alloc(void *device_private_page_owner)
> > +{
> > +	struct drm_pagemap_zdd *zdd;
> > +
> > +	zdd = kmalloc(sizeof(*zdd), GFP_KERNEL);
> > +	if (!zdd)
> > +		return NULL;
> > +
> > +	kref_init(&zdd->refcount);
> > +	zdd->devmem_allocation = NULL;
> > +	zdd->device_private_page_owner =
> > device_private_page_owner;
> > +
> > +	return zdd;
> > +}
> > +
> > +/**
> > + * drm_pagemap_zdd_get() - Get a reference to a zdd structure.
> > + * @zdd: Pointer to the zdd structure.
> > + *
> > + * This function increments the reference count of the provided
> > zdd structure.
> > + *
> > + * Return: Pointer to the zdd structure.
> > + */
> > +static struct drm_pagemap_zdd *drm_pagemap_zdd_get(struct
> > drm_pagemap_zdd *zdd)
> > +{
> > +	kref_get(&zdd->refcount);
> > +	return zdd;
> > +}
> > +
> > +/**
> > + * drm_pagemap_zdd_destroy() - Destroy a zdd structure.
> > + * @ref: Pointer to the reference count structure.
> > + *
> > + * This function queues the destroy_work of the zdd for
> > asynchronous destruction.
> > + */
> > +static void drm_pagemap_zdd_destroy(struct kref *ref)
> > +{
> > +	struct drm_pagemap_zdd *zdd =
> > +		container_of(ref, struct drm_pagemap_zdd,
> > refcount);
> > +	struct drm_pagemap_devmem *devmem = zdd-
> > >devmem_allocation;
> > +
> > +	if (devmem) {
> > +		complete_all(&devmem->detached);
> > +		if (devmem->ops->devmem_release)
> > +			devmem->ops->devmem_release(devmem);
> > +	}
> > +	kfree(zdd);
> > +}
> > +
> > +/**
> > + * drm_pagemap_zdd_put() - Put a zdd reference.
> > + * @zdd: Pointer to the zdd structure.
> > + *
> > + * This function decrements the reference count of the provided
> > zdd structure
> > + * and schedules its destruction if the count drops to zero.
> > + */
> > +static void drm_pagemap_zdd_put(struct drm_pagemap_zdd *zdd)
> > +{
> > +	kref_put(&zdd->refcount, drm_pagemap_zdd_destroy);
> > +}
> > +
> > +/**
> > + * drm_pagemap_migration_unlock_put_page() - Put a migration page
> > + * @page: Pointer to the page to put
> > + *
> > + * This function unlocks and puts a page.
> > + */
> > +static void drm_pagemap_migration_unlock_put_page(struct page
> > *page)
> > +{
> > +	unlock_page(page);
> > +	put_page(page);
> > +}
> > +
> > +/**
> > + * drm_pagemap_migration_unlock_put_pages() - Put migration pages
> > + * @npages: Number of pages
> > + * @migrate_pfn: Array of migrate page frame numbers
> > + *
> > + * This function unlocks and puts an array of pages.
> > + */
> > +static void drm_pagemap_migration_unlock_put_pages(unsigned long
> > npages,
> > +						   unsigned long
> > *migrate_pfn)
> > +{
> > +	unsigned long i;
> > +
> > +	for (i = 0; i < npages; ++i) {
> > +		struct page *page;
> > +
> > +		if (!migrate_pfn[i])
> > +			continue;
> > +
> > +		page = migrate_pfn_to_page(migrate_pfn[i]);
> > +		drm_pagemap_migration_unlock_put_page(page);
> > +		migrate_pfn[i] = 0;
> > +	}
> > +}
> > +
> > +/**
> > + * drm_pagemap_get_devmem_page() - Get a reference to a device
> > memory page
> > + * @page: Pointer to the page
> > + * @zdd: Pointer to the GPU SVM zone device data
> > + *
> > + * This function associates the given page with the specified GPU
> > SVM zone
> > + * device data and initializes it for zone device usage.
> > + */
> > +static void drm_pagemap_get_devmem_page(struct page *page,
> > +					struct drm_pagemap_zdd
> > *zdd)
> > +{
> > +	page->zone_device_data = drm_pagemap_zdd_get(zdd);
> > +	zone_device_page_init(page);
> > +}
> > +
> > +/**
> > + * drm_pagemap_migrate_map_pages() - Map migration pages for GPU
> > SVM migration
> > + * @dev: The device for which the pages are being mapped
> > + * @dma_addr: Array to store DMA addresses corresponding to mapped
> > pages
> > + * @migrate_pfn: Array of migrate page frame numbers to map
> > + * @npages: Number of pages to map
> > + * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
> > + *
> > + * This function maps pages of memory for migration usage in GPU
> > SVM. It
> > + * iterates over each page frame number provided in @migrate_pfn,
> > maps the
> > + * corresponding page, and stores the DMA address in the provided
> > @dma_addr
> > + * array.
> > + *
> > + * Returns: 0 on success, -EFAULT if an error occurs during
> > mapping.
> > + */
> > +static int drm_pagemap_migrate_map_pages(struct device *dev,
> > +					 dma_addr_t *dma_addr,
> > +					 unsigned long
> > *migrate_pfn,
> > +					 unsigned long npages,
> > +					 enum dma_data_direction
> > dir)
> > +{
> > +	unsigned long i;
> > +
> > +	for (i = 0; i < npages; ++i) {
> > +		struct page *page =
> > migrate_pfn_to_page(migrate_pfn[i]);
> > +
> > +		if (!page)
> > +			continue;
> > +
> > +		if (WARN_ON_ONCE(is_zone_device_page(page)))
> > +			return -EFAULT;
> > +
> > +		dma_addr[i] = dma_map_page(dev, page, 0,
> > PAGE_SIZE, dir);
> > +		if (dma_mapping_error(dev, dma_addr[i]))
> > +			return -EFAULT;
> > +	}
> > +
> > +	return 0;
> > +}
> > +
> > +/**
> > + * drm_pagemap_migrate_unmap_pages() - Unmap pages previously
> > mapped for GPU SVM migration
> > + * @dev: The device for which the pages were mapped
> > + * @dma_addr: Array of DMA addresses corresponding to mapped pages
> > + * @npages: Number of pages to unmap
> > + * @dir: Direction of data transfer (e.g., DMA_BIDIRECTIONAL)
> > + *
> > + * This function unmaps previously mapped pages of memory for GPU
> > Shared Virtual
> > + * Memory (SVM). It iterates over each DMA address provided in
> > @dma_addr, checks
> > + * if it's valid and not already unmapped, and unmaps the
> > corresponding page.
> > + */
> > +static void drm_pagemap_migrate_unmap_pages(struct device *dev,
> > +					    dma_addr_t *dma_addr,
> > +					    unsigned long npages,
> > +					    enum
> > dma_data_direction dir)
> > +{
> > +	unsigned long i;
> > +
> > +	for (i = 0; i < npages; ++i) {
> > +		if (!dma_addr[i] || dma_mapping_error(dev,
> > dma_addr[i]))
> > +			continue;
> > +
> > +		dma_unmap_page(dev, dma_addr[i], PAGE_SIZE, dir);
> > +	}
> > +}
> > +
> > +static unsigned long
> > +npages_in_range(unsigned long start, unsigned long end)
> > +{
> > +	return (end - start) >> PAGE_SHIFT;
> > +}
> > +
> > +
> > +/**
> > + * drm_pagemap_migrate_to_devmem() - Migrate a struct mm_struct
> > range to device memory
> > + * @devmem_allocation: The device memory allocation to migrate to.
> > + * The caller should hold a reference to the device memory
> > allocation,
> > + * and the reference is consumed by this function unless it
> > returns with
> > + * an error.
> > + * @mm: Pointer to the struct mm_struct.
> > + * @start: Start of the virtual address range to migrate.
> > + * @end: End of the virtual address range to migrate.
> > + * @pgmap_owner: Not used currently, since only system memory is
> > considered.
> > + *
> > + * This function migrates the specified virtual address range to
> > device memory.
> > + * It performs the necessary setup and invokes the driver-specific
> > operations for
> > + * migration to device memory. Expected to be called while holding
> > the mmap lock in
> > + * at least read mode.
> > + *
> > + * Return: %0 on success, negative error code on failure.
> > + */
> > +
> > +/*
> > + * @range: Pointer to the GPU SVM range structure
> > + * @devmem_allocation: Pointer to the device memory allocation.
> > The caller
> > + *                     should hold a reference to the device
> > memory allocation,
> > + *                     which should be dropped via ops-
> > >devmem_release or upon
> > + *                     the failure of this function.
> > + * @ctx: GPU SVM context
> > + *
> > + * This function migrates the specified GPU SVM range to device
> > memory. It
> > + * performs the necessary setup and invokes the driver-specific
> > operations for
> > + * migration to device memory. Upon successful return,
> > @devmem_allocation can
> > + * safely reference @range until ops->devmem_release is called
> > which only upon
> > + * successful return. Expected to be called while holding the mmap
> > lock in read
> > + * mode.
> > + *
> > + * Return: 0 on success, negative error code on failure.
> > + */
> > +int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem
> > *devmem_allocation,
> > +				  struct mm_struct *mm,
> > +				  unsigned long start, unsigned
> > long end,
> > +				  unsigned long timeslice_ms,
> > +				  void *pgmap_owner)
> > +{
> > +	const struct drm_pagemap_devmem_ops *ops =
> > devmem_allocation->ops;
> > +	struct migrate_vma migrate = {
> > +		.start		= start,
> > +		.end		= end,
> > +		.pgmap_owner	= pgmap_owner,
> > +		.flags		= MIGRATE_VMA_SELECT_SYSTEM,
> > +	};
> > +	unsigned long i, npages = npages_in_range(start, end);
> > +	struct vm_area_struct *vas;
> > +	struct drm_pagemap_zdd *zdd = NULL;
> > +	struct page **pages;
> > +	dma_addr_t *dma_addr;
> > +	void *buf;
> > +	int err;
> > +
> > +	mmap_assert_locked(mm);
> > +
> > +	if (!ops->populate_devmem_pfn || !ops->copy_to_devmem ||
> > +	    !ops->copy_to_ram)
> > +		return -EOPNOTSUPP;
> > +
> > +	vas = vma_lookup(mm, start);
> > +	if (!vas) {
> > +		err = -ENOENT;
> > +		goto err_out;
> > +	}
> > +
> > +	if (end > vas->vm_end || start < vas->vm_start) {
> > +		err = -EINVAL;
> > +		goto err_out;
> > +	}
> > +
> > +	if (!vma_is_anonymous(vas)) {
> > +		err = -EBUSY;
> > +		goto err_out;
> > +	}
> > +
> > +	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) +
> > sizeof(*dma_addr) +
> > +		       sizeof(*pages), GFP_KERNEL);
> > +	if (!buf) {
> > +		err = -ENOMEM;
> > +		goto err_out;
> > +	}
> > +	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
> > +	pages = buf + (2 * sizeof(*migrate.src) +
> > sizeof(*dma_addr)) * npages;
> > +
> > +	zdd = drm_pagemap_zdd_alloc(pgmap_owner);
> > +	if (!zdd) {
> > +		err = -ENOMEM;
> > +		goto err_free;
> > +	}
> > +
> > +	migrate.vma = vas;
> > +	migrate.src = buf;
> > +	migrate.dst = migrate.src + npages;
> > +
> > +	err = migrate_vma_setup(&migrate);
> > +	if (err)
> > +		goto err_free;
> > +
> > +	if (!migrate.cpages) {
> > +		err = -EFAULT;
> > +		goto err_free;
> > +	}
> > +
> > +	if (migrate.cpages != npages) {
> > +		err = -EBUSY;
> > +		goto err_finalize;
> > +	}
> > +
> > +	err = ops->populate_devmem_pfn(devmem_allocation, npages,
> > migrate.dst);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +	err = drm_pagemap_migrate_map_pages(devmem_allocation-
> > >dev, dma_addr,
> > +					   migrate.src, npages,
> > DMA_TO_DEVICE);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +	for (i = 0; i < npages; ++i) {
> > +		struct page *page = pfn_to_page(migrate.dst[i]);
> > +
> > +		pages[i] = page;
> > +		migrate.dst[i] = migrate_pfn(migrate.dst[i]);
> > +		drm_pagemap_get_devmem_page(page, zdd);
> > +	}
> > +
> > +	err = ops->copy_to_devmem(pages, dma_addr, npages);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +	/* Upon success bind devmem allocation to range and zdd */
> > +	devmem_allocation->timeslice_expiration = get_jiffies_64()
> > +
> > +		msecs_to_jiffies(timeslice_ms);
> > +	zdd->devmem_allocation = devmem_allocation;	/* Owns
> > ref */
> > +
> > +err_finalize:
> > +	if (err)
> > +		drm_pagemap_migration_unlock_put_pages(npages,
> > migrate.dst);
> > +	migrate_vma_pages(&migrate);
> > +	migrate_vma_finalize(&migrate);
> > +	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev,
> > dma_addr, npages,
> > +				       DMA_TO_DEVICE);
> > +err_free:
> > +	if (zdd)
> > +		drm_pagemap_zdd_put(zdd);
> > +	kvfree(buf);
> > +err_out:
> > +	return err;
> > +}
> > +EXPORT_SYMBOL_GPL(drm_pagemap_migrate_to_devmem);
> > +
> > +/**
> > + * drm_pagemap_migrate_populate_ram_pfn() - Populate RAM PFNs for
> > a VM area
> > + * @vas: Pointer to the VM area structure, can be NULL
> > + * @fault_page: Fault page
> > + * @npages: Number of pages to populate
> > + * @mpages: Number of pages to migrate
> > + * @src_mpfn: Source array of migrate PFNs
> > + * @mpfn: Array of migrate PFNs to populate
> > + * @addr: Start address for PFN allocation
> > + *
> > + * This function populates the RAM migrate page frame numbers
> > (PFNs) for the
> > + * specified VM area structure. It allocates and locks pages in
> > the VM area for
> > + * RAM usage. If vas is non-NULL use alloc_page_vma for
> > allocation, if NULL use
> > + * alloc_page for allocation.
> > + *
> > + * Return: 0 on success, negative error code on failure.
> > + */
> > +static int drm_pagemap_migrate_populate_ram_pfn(struct
> > vm_area_struct *vas,
> > +					       struct page
> > *fault_page,
> > +					       unsigned long
> > npages,
> > +					       unsigned long
> > *mpages,
> > +					       unsigned long
> > *src_mpfn,
> > +					       unsigned long
> > *mpfn,
> > +					       unsigned long addr)
> > +{
> > +	unsigned long i;
> > +
> > +	for (i = 0; i < npages; ++i, addr += PAGE_SIZE) {
> > +		struct page *page, *src_page;
> > +
> > +		if (!(src_mpfn[i] & MIGRATE_PFN_MIGRATE))
> > +			continue;
> > +
> > +		src_page = migrate_pfn_to_page(src_mpfn[i]);
> > +		if (!src_page)
> > +			continue;
> > +
> > +		if (fault_page) {
> > +			if (src_page->zone_device_data !=
> > +			    fault_page->zone_device_data)
> > +				continue;
> > +		}
> > +
> > +		if (vas)
> > +			page = alloc_page_vma(GFP_HIGHUSER, vas,
> > addr);
> > +		else
> > +			page = alloc_page(GFP_HIGHUSER);
> > +
> > +		if (!page)
> > +			goto free_pages;
> > +
> > +		mpfn[i] = migrate_pfn(page_to_pfn(page));
> > +	}
> > +
> > +	for (i = 0; i < npages; ++i) {
> > +		struct page *page = migrate_pfn_to_page(mpfn[i]);
> > +
> > +		if (!page)
> > +			continue;
> > +
> > +		WARN_ON_ONCE(!trylock_page(page));
> > +		++*mpages;
> > +	}
> > +
> > +	return 0;
> > +
> > +free_pages:
> > +	for (i = 0; i < npages; ++i) {
> > +		struct page *page = migrate_pfn_to_page(mpfn[i]);
> > +
> > +		if (!page)
> > +			continue;
> > +
> > +		put_page(page);
> > +		mpfn[i] = 0;
> > +	}
> > +	return -ENOMEM;
> > +}
> > +
> > +/**
> > + * drm_pagemap_evict_to_ram() - Evict GPU SVM range to RAM
> > + * @devmem_allocation: Pointer to the device memory allocation
> > + *
> > + * Similar to __drm_pagemap_migrate_to_ram but does not require
> > mmap lock and
> > + * migration done via migrate_device_* functions.
> > + *
> > + * Return: 0 on success, negative error code on failure.
> > + */
> > +int drm_pagemap_evict_to_ram(struct drm_pagemap_devmem
> > *devmem_allocation)
> > +{
> > +	const struct drm_pagemap_devmem_ops *ops =
> > devmem_allocation->ops;
> > +	unsigned long npages, mpages = 0;
> > +	struct page **pages;
> > +	unsigned long *src, *dst;
> > +	dma_addr_t *dma_addr;
> > +	void *buf;
> > +	int i, err = 0;
> > +	unsigned int retry_count = 2;
> > +
> > +	npages = devmem_allocation->size >> PAGE_SHIFT;
> > +
> > +retry:
> > +	if (!mmget_not_zero(devmem_allocation->mm))
> > +		return -EFAULT;
> > +
> > +	buf = kvcalloc(npages, 2 * sizeof(*src) +
> > sizeof(*dma_addr) +
> > +		       sizeof(*pages), GFP_KERNEL);
> > +	if (!buf) {
> > +		err = -ENOMEM;
> > +		goto err_out;
> > +	}
> > +	src = buf;
> > +	dst = buf + (sizeof(*src) * npages);
> > +	dma_addr = buf + (2 * sizeof(*src) * npages);
> > +	pages = buf + (2 * sizeof(*src) + sizeof(*dma_addr)) *
> > npages;
> > +
> > +	err = ops->populate_devmem_pfn(devmem_allocation, npages,
> > src);
> > +	if (err)
> > +		goto err_free;
> > +
> > +	err = migrate_device_pfns(src, npages);
> > +	if (err)
> > +		goto err_free;
> > +
> > +	err = drm_pagemap_migrate_populate_ram_pfn(NULL, NULL,
> > npages, &mpages,
> > +						  src, dst, 0);
> > +	if (err || !mpages)
> > +		goto err_finalize;
> > +
> > +	err = drm_pagemap_migrate_map_pages(devmem_allocation-
> > >dev, dma_addr,
> > +					   dst, npages,
> > DMA_FROM_DEVICE);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +	for (i = 0; i < npages; ++i)
> > +		pages[i] = migrate_pfn_to_page(src[i]);
> > +
> > +	err = ops->copy_to_ram(pages, dma_addr, npages);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +err_finalize:
> > +	if (err)
> > +		drm_pagemap_migration_unlock_put_pages(npages,
> > dst);
> > +	migrate_device_pages(src, dst, npages);
> > +	migrate_device_finalize(src, dst, npages);
> > +	drm_pagemap_migrate_unmap_pages(devmem_allocation->dev,
> > dma_addr, npages,
> > +				       DMA_FROM_DEVICE);
> > +err_free:
> > +	kvfree(buf);
> > +err_out:
> > +	mmput_async(devmem_allocation->mm);
> > +
> > +	if (completion_done(&devmem_allocation->detached))
> > +		return 0;
> > +
> > +	if (retry_count--) {
> > +		cond_resched();
> > +		goto retry;
> > +	}
> > +
> > +	return err ?: -EBUSY;
> > +}
> > +EXPORT_SYMBOL_GPL(drm_pagemap_evict_to_ram);
> > +
> > +/**
> > + * __drm_pagemap_migrate_to_ram() - Migrate GPU SVM range to RAM
> > (internal)
> > + * @vas: Pointer to the VM area structure
> > + * @device_private_page_owner: Device private pages owner
> > + * @page: Pointer to the page for fault handling (can be NULL)
> > + * @fault_addr: Fault address
> > + * @size: Size of migration
> > + *
> > + * This internal function performs the migration of the specified
> > GPU SVM range
> > + * to RAM. It sets up the migration, populates + dma maps RAM
> > PFNs, and
> > + * invokes the driver-specific operations for migration to RAM.
> > + *
> > + * Return: 0 on success, negative error code on failure.
> > + */
> > +static int __drm_pagemap_migrate_to_ram(struct vm_area_struct
> > *vas,
> > +				       void
> > *device_private_page_owner,
> > +				       struct page *page,
> > +				       unsigned long fault_addr,
> > +				       unsigned long size)
> > +{
> > +	struct migrate_vma migrate = {
> > +		.vma		= vas,
> > +		.pgmap_owner	= device_private_page_owner,
> > +		.flags		=
> > MIGRATE_VMA_SELECT_DEVICE_PRIVATE |
> > +			MIGRATE_VMA_SELECT_DEVICE_COHERENT,
> > +		.fault_page	= page,
> > +	};
> > +	struct drm_pagemap_zdd *zdd;
> > +	const struct drm_pagemap_devmem_ops *ops;
> > +	struct device *dev = NULL;
> > +	unsigned long npages, mpages = 0;
> > +	struct page **pages;
> > +	dma_addr_t *dma_addr;
> > +	unsigned long start, end;
> > +	void *buf;
> > +	int i, err = 0;
> > +
> > +	if (page) {
> > +		zdd = page->zone_device_data;
> > +		if (time_before64(get_jiffies_64(),
> > +				  zdd->devmem_allocation-
> > >timeslice_expiration))
> > +			return 0;
> > +	}
> > +
> > +	start = ALIGN_DOWN(fault_addr, size);
> > +	end = ALIGN(fault_addr + 1, size);
> > +
> > +	/* Corner where VMA area struct has been partially
> > unmapped */
> > +	if (start < vas->vm_start)
> > +		start = vas->vm_start;
> > +	if (end > vas->vm_end)
> > +		end = vas->vm_end;
> > +
> > +	migrate.start = start;
> > +	migrate.end = end;
> > +	npages = npages_in_range(start, end);
> > +
> > +	buf = kvcalloc(npages, 2 * sizeof(*migrate.src) +
> > sizeof(*dma_addr) +
> > +		       sizeof(*pages), GFP_KERNEL);
> > +	if (!buf) {
> > +		err = -ENOMEM;
> > +		goto err_out;
> > +	}
> > +	dma_addr = buf + (2 * sizeof(*migrate.src) * npages);
> > +	pages = buf + (2 * sizeof(*migrate.src) +
> > sizeof(*dma_addr)) * npages;
> > +
> > +	migrate.vma = vas;
> > +	migrate.src = buf;
> > +	migrate.dst = migrate.src + npages;
> > +
> > +	err = migrate_vma_setup(&migrate);
> > +	if (err)
> > +		goto err_free;
> > +
> > +	/* Raced with another CPU fault, nothing to do */
> > +	if (!migrate.cpages)
> > +		goto err_free;
> > +
> > +	if (!page) {
> > +		for (i = 0; i < npages; ++i) {
> > +			if (!(migrate.src[i] &
> > MIGRATE_PFN_MIGRATE))
> > +				continue;
> > +
> > +			page =
> > migrate_pfn_to_page(migrate.src[i]);
> > +			break;
> > +		}
> > +
> > +		if (!page)
> > +			goto err_finalize;
> > +	}
> > +	zdd = page->zone_device_data;
> > +	ops = zdd->devmem_allocation->ops;
> > +	dev = zdd->devmem_allocation->dev;
> > +
> > +	err = drm_pagemap_migrate_populate_ram_pfn(vas, page,
> > npages, &mpages,
> > +						  migrate.src,
> > migrate.dst,
> > +						  start);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +	err = drm_pagemap_migrate_map_pages(dev, dma_addr,
> > migrate.dst, npages,
> > +					   DMA_FROM_DEVICE);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +	for (i = 0; i < npages; ++i)
> > +		pages[i] = migrate_pfn_to_page(migrate.src[i]);
> > +
> > +	err = ops->copy_to_ram(pages, dma_addr, npages);
> > +	if (err)
> > +		goto err_finalize;
> > +
> > +err_finalize:
> > +	if (err)
> > +		drm_pagemap_migration_unlock_put_pages(npages,
> > migrate.dst);
> > +	migrate_vma_pages(&migrate);
> > +	migrate_vma_finalize(&migrate);
> > +	if (dev)
> > +		drm_pagemap_migrate_unmap_pages(dev, dma_addr,
> > npages,
> > +					       DMA_FROM_DEVICE);
> > +err_free:
> > +	kvfree(buf);
> > +err_out:
> > +
> > +	return err;
> > +}
> > +
> > +/**
> > + * drm_pagemap_page_free() - Put GPU SVM zone device data
> > associated with a page
> > + * @page: Pointer to the page
> > + *
> > + * This function is a callback used to put the GPU SVM zone device
> > data
> > + * associated with a page when it is being released.
> > + */
> > +static void drm_pagemap_page_free(struct page *page)
> > +{
> > +	drm_pagemap_zdd_put(page->zone_device_data);
> > +}
> > +
> > +/**
> > + * drm_pagemap_migrate_to_ram() - Migrate a virtual range to RAM
> > (page fault handler)
> > + * @vmf: Pointer to the fault information structure
> > + *
> > + * This function is a page fault handler used to migrate a virtual
> > range
> > + * to ram. The device memory allocation in which the device page
> > is found is
> > + * migrated in its entirety.
> > + *
> > + * Returns:
> > + * VM_FAULT_SIGBUS on failure, 0 on success.
> > + */
> > +static vm_fault_t drm_pagemap_migrate_to_ram(struct vm_fault *vmf)
> > +{
> > +	struct drm_pagemap_zdd *zdd = vmf->page->zone_device_data;
> > +	int err;
> > +
> > +	err = __drm_pagemap_migrate_to_ram(vmf->vma,
> > +					   zdd-
> > >device_private_page_owner,
> > +					   vmf->page, vmf-
> > >address,
> > +					   zdd->devmem_allocation-
> > >size);
> > +
> > +	return err ? VM_FAULT_SIGBUS : 0;
> > +}
> > +
> > +static const struct dev_pagemap_ops drm_pagemap_pagemap_ops = {
> > +	.page_free = drm_pagemap_page_free,
> > +	.migrate_to_ram = drm_pagemap_migrate_to_ram,
> > +};
> > +
> > +/**
> > + * drm_pagemap_pagemap_ops_get() - Retrieve GPU SVM device page
> > map operations
> > + *
> > + * Returns:
> > + * Pointer to the GPU SVM device page map operations structure.
> > + */
> > +const struct dev_pagemap_ops *drm_pagemap_pagemap_ops_get(void)
> > +{
> > +	return &drm_pagemap_pagemap_ops;
> > +}
> > +EXPORT_SYMBOL_GPL(drm_pagemap_pagemap_ops_get);
> > +
> > +/**
> > + * drm_pagemap_devmem_init() - Initialize a drm_pagemap device
> > memory allocation
> > + *
> > + * @devmem_allocation: The struct drm_pagemap_devmem to
> > initialize.
> > + * @dev: Pointer to the device structure which device memory
> > allocation belongs to
> > + * @mm: Pointer to the mm_struct for the address space
> > + * @ops: Pointer to the operations structure for GPU SVM device
> > memory
> > + * @dpagemap: The struct drm_pagemap we're allocating from.
> > + * @size: Size of device memory allocation
> > + */
> > +void drm_pagemap_devmem_init(struct drm_pagemap_devmem
> > *devmem_allocation,
> > +			     struct device *dev, struct mm_struct
> > *mm,
> > +			     const struct drm_pagemap_devmem_ops
> > *ops,
> > +			     struct drm_pagemap *dpagemap, size_t
> > size)
> > +{
> > +	init_completion(&devmem_allocation->detached);
> > +	devmem_allocation->dev = dev;
> > +	devmem_allocation->mm = mm;
> > +	devmem_allocation->ops = ops;
> > +	devmem_allocation->dpagemap = dpagemap;
> > +	devmem_allocation->size = size;
> > +}
> > +EXPORT_SYMBOL_GPL(drm_pagemap_devmem_init);
> > +
> > +/**
> > + * drm_pagemap_page_to_dpagemap() - Return a pointer the
> > drm_pagemap of a page
> > + * @page: The struct page.
> > + *
> > + * Return: A pointer to the struct drm_pagemap of a device private
> > page that
> > + * was populated from the struct drm_pagemap. If the page was
> > *not* populated
> > + * from a struct drm_pagemap, the result is undefined and the
> > function call
> > + * may result in dereferencing and invalid address.
> > + */
> > +struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page
> > *page)
> > +{
> > +	struct drm_pagemap_zdd *zdd = page->zone_device_data;
> > +
> > +	return zdd->devmem_allocation->dpagemap;
> > +}
> > +EXPORT_SYMBOL_GPL(drm_pagemap_page_to_dpagemap);
> > diff --git a/drivers/gpu/drm/xe/Kconfig
> > b/drivers/gpu/drm/xe/Kconfig
> > index 98b46c534278..c7c71734460b 100644
> > --- a/drivers/gpu/drm/xe/Kconfig
> > +++ b/drivers/gpu/drm/xe/Kconfig
> > @@ -87,14 +87,16 @@ config DRM_XE_GPUSVM
> >  
> >  	  If in doubut say "Y".
> >  
> > -config DRM_XE_DEVMEM_MIRROR
> > -	bool "Enable device memory mirror"
> > +config DRM_XE_PAGEMAP
> > +	bool "Enable device memory pool for SVM"
> >  	depends on DRM_XE_GPUSVM
> >  	select GET_FREE_REGION
> >  	default y
> >  	help
> > -	  Disable this option only if you want to compile out
> > without device
> > -	  memory mirror. Will reduce KMD memory footprint when
> > disabled.
> > +	  Disable this option only if you don't want to expose
> > local device
> > +	  memory for SVM. Will reduce KMD memory footprint when
> > disabled.
> > +
> > +	  If in doubut say "Y".
> >  
> >  config DRM_XE_FORCE_PROBE
> >  	string "Force probe xe for selected Intel hardware IDs"
> > diff --git a/drivers/gpu/drm/xe/xe_bo_types.h
> > b/drivers/gpu/drm/xe/xe_bo_types.h
> > index eb5e83c5f233..e0efaf23d051 100644
> > --- a/drivers/gpu/drm/xe/xe_bo_types.h
> > +++ b/drivers/gpu/drm/xe/xe_bo_types.h
> > @@ -86,7 +86,7 @@ struct xe_bo {
> >  	u16 cpu_caching;
> >  
> >  	/** @devmem_allocation: SVM device memory allocation */
> > -	struct drm_gpusvm_devmem devmem_allocation;
> > +	struct drm_pagemap_devmem devmem_allocation;
> >  
> >  	/** @vram_userfault_link: Link into
> > @mem_access.vram_userfault.list */
> >  		struct list_head vram_userfault_link;
> > diff --git a/drivers/gpu/drm/xe/xe_device_types.h
> > b/drivers/gpu/drm/xe/xe_device_types.h
> > index b93c04466637..67b7f733dd69 100644
> > --- a/drivers/gpu/drm/xe/xe_device_types.h
> > +++ b/drivers/gpu/drm/xe/xe_device_types.h
> > @@ -104,7 +104,7 @@ struct xe_vram_region {
> >  	void __iomem *mapping;
> >  	/** @ttm: VRAM TTM manager */
> >  	struct xe_ttm_vram_mgr ttm;
> > -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> > +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> >  	/** @pagemap: Used to remap device memory as ZONE_DEVICE
> > */
> >  	struct dev_pagemap pagemap;
> >  	/**
> > diff --git a/drivers/gpu/drm/xe/xe_svm.c
> > b/drivers/gpu/drm/xe/xe_svm.c
> > index f27fb9b588de..e161ce3e67a1 100644
> > --- a/drivers/gpu/drm/xe/xe_svm.c
> > +++ b/drivers/gpu/drm/xe/xe_svm.c
> > @@ -329,7 +329,7 @@ static void
> > xe_svm_garbage_collector_work_func(struct work_struct *w)
> >  	up_write(&vm->lock);
> >  }
> >  
> > -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> > +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> >  
> >  static struct xe_vram_region *page_to_vr(struct page *page)
> >  {
> > @@ -517,12 +517,12 @@ static int xe_svm_copy_to_ram(struct page
> > **pages, dma_addr_t *dma_addr,
> >  	return xe_svm_copy(pages, dma_addr, npages,
> > XE_SVM_COPY_TO_SRAM);
> >  }
> >  
> > -static struct xe_bo *to_xe_bo(struct drm_gpusvm_devmem
> > *devmem_allocation)
> > +static struct xe_bo *to_xe_bo(struct drm_pagemap_devmem
> > *devmem_allocation)
> >  {
> >  	return container_of(devmem_allocation, struct xe_bo,
> > devmem_allocation);
> >  }
> >  
> > -static void xe_svm_devmem_release(struct drm_gpusvm_devmem
> > *devmem_allocation)
> > +static void xe_svm_devmem_release(struct drm_pagemap_devmem
> > *devmem_allocation)
> >  {
> >  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
> >  
> > @@ -539,7 +539,7 @@ static struct drm_buddy *tile_to_buddy(struct
> > xe_tile *tile)
> >  	return &tile->mem.vram.ttm.mm;
> >  }
> >  
> > -static int xe_svm_populate_devmem_pfn(struct drm_gpusvm_devmem
> > *devmem_allocation,
> > +static int xe_svm_populate_devmem_pfn(struct drm_pagemap_devmem
> > *devmem_allocation,
> >  				      unsigned long npages,
> > unsigned long *pfn)
> >  {
> >  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
> > @@ -562,7 +562,7 @@ static int xe_svm_populate_devmem_pfn(struct
> > drm_gpusvm_devmem *devmem_allocatio
> >  	return 0;
> >  }
> >  
> > -static const struct drm_gpusvm_devmem_ops gpusvm_devmem_ops = {
> > +static const struct drm_pagemap_devmem_ops dpagemap_devmem_ops = {
> >  	.devmem_release = xe_svm_devmem_release,
> >  	.populate_devmem_pfn = xe_svm_populate_devmem_pfn,
> >  	.copy_to_devmem = xe_svm_copy_to_devmem,
> > @@ -714,7 +714,7 @@ u64 xe_svm_find_vma_start(struct xe_vm *vm, u64
> > start, u64 end, struct xe_vma *v
> >  					 min(end,
> > xe_vma_end(vma)));
> >  }
> >  
> > -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> > +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> >  static struct xe_vram_region *tile_to_vr(struct xe_tile *tile)
> >  {
> >  	return &tile->mem.vram;
> > @@ -742,6 +742,9 @@ int xe_svm_alloc_vram(struct xe_vm *vm, struct
> > xe_tile *tile,
> >  	ktime_t end = 0;
> >  	int err;
> >  
> > +	if (!range->base.flags.migrate_devmem)
> > +		return -EINVAL;
> > +
> >  	range_debug(range, "ALLOCATE VRAM");
> >  
> >  	if (!mmget_not_zero(mm))
> > @@ -761,19 +764,23 @@ int xe_svm_alloc_vram(struct xe_vm *vm,
> > struct xe_tile *tile,
> >  		goto unlock;
> >  	}
> >  
> > -	drm_gpusvm_devmem_init(&bo->devmem_allocation,
> > -			       vm->xe->drm.dev, mm,
> > -			       &gpusvm_devmem_ops,
> > -			       &tile->mem.vram.dpagemap,
> > -			       xe_svm_range_size(range));
> > +	drm_pagemap_devmem_init(&bo->devmem_allocation,
> > +				vm->xe->drm.dev, mm,
> > +				&dpagemap_devmem_ops,
> > +				&tile->mem.vram.dpagemap,
> > +				xe_svm_range_size(range));
> >  
> >  	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)-
> > >blocks;
> >  	list_for_each_entry(block, blocks, link)
> >  		block->private = vr;
> >  
> >  	xe_bo_get(bo);
> > -	err = drm_gpusvm_migrate_to_devmem(&vm->svm.gpusvm,
> > &range->base,
> > -					   &bo->devmem_allocation,
> > ctx);
> > +	err = drm_pagemap_migrate_to_devmem(&bo-
> > >devmem_allocation,
> > +					    mm,
> > +					   
> > xe_svm_range_start(range),
> > +					   
> > xe_svm_range_end(range),
> > +					    ctx->timeslice_ms,
> > +					    xe_svm_devm_owner(vm-
> > >xe));
> >  	if (err)
> >  		xe_svm_devmem_release(&bo->devmem_allocation);
> >  
> > @@ -848,13 +855,13 @@ int xe_svm_handle_pagefault(struct xe_vm *vm,
> > struct xe_vma *vma,
> >  	struct drm_gpusvm_ctx ctx = {
> >  		.read_only = xe_vma_read_only(vma),
> >  		.devmem_possible = IS_DGFX(vm->xe) &&
> > -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR),
> > -		.check_pages_threshold = IS_DGFX(vm->xe) &&
> > -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR) ?
> > SZ_64K : 0,
> > +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP),
> > +		.check_pages_threshold = IS_DGFX(vm->xe)
> > &&		
> > +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP) ? SZ_64K
> > : 0,
> >  		.devmem_only = atomic && IS_DGFX(vm->xe) &&
> > -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR),
> > +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP),
> >  		.timeslice_ms = atomic && IS_DGFX(vm->xe) &&
> > -			IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR) ?
> > +			IS_ENABLED(CONFIG_DRM_XE_PAGEMAP) ?
> >  			vm->xe->atomic_svm_timeslice_ms : 0,
> >  	};
> >  	struct xe_svm_range *range;
> > @@ -992,7 +999,7 @@ bool xe_svm_has_mapping(struct xe_vm *vm, u64
> > start, u64 end)
> >   */
> >  int xe_svm_bo_evict(struct xe_bo *bo)
> >  {
> > -	return drm_gpusvm_evict_to_ram(&bo->devmem_allocation);
> > +	return drm_pagemap_evict_to_ram(&bo->devmem_allocation);
> >  }
> >  
> >  /**
> > @@ -1045,7 +1052,7 @@ int xe_svm_range_get_pages(struct xe_vm *vm,
> > struct xe_svm_range *range,
> >  	return err;
> >  }
> >  
> > -#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
> > +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> >  
> >  static struct drm_pagemap_device_addr
> >  xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
> > @@ -1102,7 +1109,7 @@ int xe_devm_add(struct xe_tile *tile, struct
> > xe_vram_region *vr)
> >  	vr->pagemap.range.start = res->start;
> >  	vr->pagemap.range.end = res->end;
> >  	vr->pagemap.nr_range = 1;
> > -	vr->pagemap.ops = drm_gpusvm_pagemap_ops_get();
> > +	vr->pagemap.ops = drm_pagemap_pagemap_ops_get();
> >  	vr->pagemap.owner = xe_svm_devm_owner(xe);
> >  	addr = devm_memremap_pages(dev, &vr->pagemap);
> >  
> > diff --git a/include/drm/drm_gpusvm.h b/include/drm/drm_gpusvm.h
> > index 6a5156476bf4..4aedc5423aff 100644
> > --- a/include/drm/drm_gpusvm.h
> > +++ b/include/drm/drm_gpusvm.h
> > @@ -16,91 +16,9 @@ struct drm_gpusvm;
> >  struct drm_gpusvm_notifier;
> >  struct drm_gpusvm_ops;
> >  struct drm_gpusvm_range;
> > -struct drm_gpusvm_devmem;
> >  struct drm_pagemap;
> >  struct drm_pagemap_device_addr;
> >  
> > -/**
> > - * struct drm_gpusvm_devmem_ops - Operations structure for GPU SVM
> > device memory
> > - *
> > - * This structure defines the operations for GPU Shared Virtual
> > Memory (SVM)
> > - * device memory. These operations are provided by the GPU driver
> > to manage device memory
> > - * allocations and perform operations such as migration between
> > device memory and system
> > - * RAM.
> > - */
> > -struct drm_gpusvm_devmem_ops {
> > -	/**
> > -	 * @devmem_release: Release device memory allocation
> > (optional)
> > -	 * @devmem_allocation: device memory allocation
> > -	 *
> > -	 * Release device memory allocation and drop a reference
> > to device
> > -	 * memory allocation.
> > -	 */
> > -	void (*devmem_release)(struct drm_gpusvm_devmem
> > *devmem_allocation);
> > -
> > -	/**
> > -	 * @populate_devmem_pfn: Populate device memory PFN
> > (required for migration)
> > -	 * @devmem_allocation: device memory allocation
> > -	 * @npages: Number of pages to populate
> > -	 * @pfn: Array of page frame numbers to populate
> > -	 *
> > -	 * Populate device memory page frame numbers (PFN).
> > -	 *
> > -	 * Return: 0 on success, a negative error code on failure.
> > -	 */
> > -	int (*populate_devmem_pfn)(struct drm_gpusvm_devmem
> > *devmem_allocation,
> > -				   unsigned long npages, unsigned
> > long *pfn);
> > -
> > -	/**
> > -	 * @copy_to_devmem: Copy to device memory (required for
> > migration)
> > -	 * @pages: Pointer to array of device memory pages
> > (destination)
> > -	 * @dma_addr: Pointer to array of DMA addresses (source)
> > -	 * @npages: Number of pages to copy
> > -	 *
> > -	 * Copy pages to device memory.
> > -	 *
> > -	 * Return: 0 on success, a negative error code on failure.
> > -	 */
> > -	int (*copy_to_devmem)(struct page **pages,
> > -			      dma_addr_t *dma_addr,
> > -			      unsigned long npages);
> > -
> > -	/**
> > -	 * @copy_to_ram: Copy to system RAM (required for
> > migration)
> > -	 * @pages: Pointer to array of device memory pages
> > (source)
> > -	 * @dma_addr: Pointer to array of DMA addresses
> > (destination)
> > -	 * @npages: Number of pages to copy
> > -	 *
> > -	 * Copy pages to system RAM.
> > -	 *
> > -	 * Return: 0 on success, a negative error code on failure.
> > -	 */
> > -	int (*copy_to_ram)(struct page **pages,
> > -			   dma_addr_t *dma_addr,
> > -			   unsigned long npages);
> > -};
> > -
> > -/**
> > - * struct drm_gpusvm_devmem - Structure representing a GPU SVM
> > device memory allocation
> > - *
> > - * @dev: Pointer to the device structure which device memory
> > allocation belongs to
> > - * @mm: Pointer to the mm_struct for the address space
> > - * @detached: device memory allocations is detached from device
> > pages
> > - * @ops: Pointer to the operations structure for GPU SVM device
> > memory
> > - * @dpagemap: The struct drm_pagemap of the pages this allocation
> > belongs to.
> > - * @size: Size of device memory allocation
> > - * @timeslice_expiration: Timeslice expiration in jiffies
> > - */
> > -struct drm_gpusvm_devmem {
> > -	struct device *dev;
> > -	struct mm_struct *mm;
> > -	struct completion detached;
> > -	const struct drm_gpusvm_devmem_ops *ops;
> > -	struct drm_pagemap *dpagemap;
> > -	size_t size;
> > -	u64 timeslice_expiration;
> > -};
> > -
> >  /**
> >   * struct drm_gpusvm_ops - Operations structure for GPU SVM
> >   *
> > @@ -361,15 +279,6 @@ void drm_gpusvm_range_unmap_pages(struct
> > drm_gpusvm *gpusvm,
> >  				  struct drm_gpusvm_range *range,
> >  				  const struct drm_gpusvm_ctx
> > *ctx);
> >  
> > -int drm_gpusvm_migrate_to_devmem(struct drm_gpusvm *gpusvm,
> > -				 struct drm_gpusvm_range *range,
> > -				 struct drm_gpusvm_devmem
> > *devmem_allocation,
> > -				 const struct drm_gpusvm_ctx
> > *ctx);
> > -
> > -int drm_gpusvm_evict_to_ram(struct drm_gpusvm_devmem
> > *devmem_allocation);
> > -
> > -const struct dev_pagemap_ops *drm_gpusvm_pagemap_ops_get(void);
> > -
> >  bool drm_gpusvm_has_mapping(struct drm_gpusvm *gpusvm, unsigned
> > long start,
> >  			    unsigned long end);
> >  
> > @@ -380,11 +289,6 @@ drm_gpusvm_range_find(struct
> > drm_gpusvm_notifier *notifier, unsigned long start,
> >  void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
> >  				   const struct mmu_notifier_range
> > *mmu_range);
> >  
> > -void drm_gpusvm_devmem_init(struct drm_gpusvm_devmem
> > *devmem_allocation,
> > -			    struct device *dev, struct mm_struct
> > *mm,
> > -			    const struct drm_gpusvm_devmem_ops
> > *ops,
> > -			    struct drm_pagemap *dpagemap, size_t
> > size);
> > -
> >  #ifdef CONFIG_LOCKDEP
> >  /**
> >   * drm_gpusvm_driver_set_lock() - Set the lock protecting accesses
> > to GPU SVM
> > diff --git a/include/drm/drm_pagemap.h b/include/drm/drm_pagemap.h
> > index 202c157ff4d7..dabc9c365df4 100644
> > --- a/include/drm/drm_pagemap.h
> > +++ b/include/drm/drm_pagemap.h
> > @@ -7,6 +7,7 @@
> >  #include <linux/types.h>
> >  
> >  struct drm_pagemap;
> > +struct drm_pagemap_zdd;
> >  struct device;
> >  
> >  /**
> > @@ -104,4 +105,104 @@ struct drm_pagemap {
> >  	struct device *dev;
> >  };
> >  
> > +struct drm_pagemap_devmem;
> > +
> > +/**
> > + * struct drm_pagemap_devmem_ops - Operations structure for GPU
> > SVM device memory
> > + *
> > + * This structure defines the operations for GPU Shared Virtual
> > Memory (SVM)
> > + * device memory. These operations are provided by the GPU driver
> > to manage device memory
> > + * allocations and perform operations such as migration between
> > device memory and system
> > + * RAM.
> > + */
> > +struct drm_pagemap_devmem_ops {
> > +	/**
> > +	 * @devmem_release: Release device memory allocation
> > (optional)
> > +	 * @devmem_allocation: device memory allocation
> > +	 *
> > +	 * Release device memory allocation and drop a reference
> > to device
> > +	 * memory allocation.
> > +	 */
> > +	void (*devmem_release)(struct drm_pagemap_devmem
> > *devmem_allocation);
> > +
> > +	/**
> > +	 * @populate_devmem_pfn: Populate device memory PFN
> > (required for migration)
> > +	 * @devmem_allocation: device memory allocation
> > +	 * @npages: Number of pages to populate
> > +	 * @pfn: Array of page frame numbers to populate
> > +	 *
> > +	 * Populate device memory page frame numbers (PFN).
> > +	 *
> > +	 * Return: 0 on success, a negative error code on failure.
> > +	 */
> > +	int (*populate_devmem_pfn)(struct drm_pagemap_devmem
> > *devmem_allocation,
> > +				   unsigned long npages, unsigned
> > long *pfn);
> > +
> > +	/**
> > +	 * @copy_to_devmem: Copy to device memory (required for
> > migration)
> > +	 * @pages: Pointer to array of device memory pages
> > (destination)
> > +	 * @dma_addr: Pointer to array of DMA addresses (source)
> > +	 * @npages: Number of pages to copy
> > +	 *
> > +	 * Copy pages to device memory.
> > +	 *
> > +	 * Return: 0 on success, a negative error code on failure.
> > +	 */
> > +	int (*copy_to_devmem)(struct page **pages,
> > +			      dma_addr_t *dma_addr,
> > +			      unsigned long npages);
> > +
> > +	/**
> > +	 * @copy_to_ram: Copy to system RAM (required for
> > migration)
> > +	 * @pages: Pointer to array of device memory pages
> > (source)
> > +	 * @dma_addr: Pointer to array of DMA addresses
> > (destination)
> > +	 * @npages: Number of pages to copy
> > +	 *
> > +	 * Copy pages to system RAM.
> > +	 *
> > +	 * Return: 0 on success, a negative error code on failure.
> > +	 */
> > +	int (*copy_to_ram)(struct page **pages,
> > +			   dma_addr_t *dma_addr,
> > +			   unsigned long npages);
> > +};
> > +
> > +/**
> > + * struct drm_pagemap_devmem - Structure representing a GPU SVM
> > device memory allocation
> > + *
> > + * @dev: Pointer to the device structure which device memory
> > allocation belongs to
> > + * @mm: Pointer to the mm_struct for the address space
> > + * @detached: device memory allocations is detached from device
> > pages
> > + * @ops: Pointer to the operations structure for GPU SVM device
> > memory
> > + * @dpagemap: The struct drm_pagemap of the pages this allocation
> > belongs to.
> > + * @size: Size of device memory allocation
> > + * @timeslice_expiration: Timeslice expiration in jiffies
> > + */
> > +struct drm_pagemap_devmem {
> > +	struct device *dev;
> > +	struct mm_struct *mm;
> > +	struct completion detached;
> > +	const struct drm_pagemap_devmem_ops *ops;
> > +	struct drm_pagemap *dpagemap;
> > +	size_t size;
> > +	u64 timeslice_expiration;
> > +};
> > +
> > +int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem
> > *devmem_allocation,
> > +				  struct mm_struct *mm,
> > +				  unsigned long start, unsigned
> > long end,
> > +				  unsigned long timeslice_ms,
> > +				  void *pgmap_owner);
> > +
> > +int drm_pagemap_evict_to_ram(struct drm_pagemap_devmem
> > *devmem_allocation);
> > +
> > +const struct dev_pagemap_ops *drm_pagemap_pagemap_ops_get(void);
> > +
> > +struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page
> > *page);
> > +
> > +void drm_pagemap_devmem_init(struct drm_pagemap_devmem
> > *devmem_allocation,
> > +			     struct device *dev, struct mm_struct
> > *mm,
> > +			     const struct drm_pagemap_devmem_ops
> > *ops,
> > +			     struct drm_pagemap *dpagemap, size_t
> > size);
> > +
> >  #endif
> > -- 
> > 2.49.0
> > 


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

* Re: [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap populate_mm op
  2025-06-05 22:16   ` Matthew Brost
@ 2025-06-13 10:16     ` Thomas Hellström
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Hellström @ 2025-06-13 10:16 UTC (permalink / raw)
  To: Matthew Brost
  Cc: intel-xe, dri-devel, himal.prasad.ghimiray, apopple, airlied,
	Simona Vetter, felix.kuehling, Christian König, dakr,
	Mrozek, Michal, Joonas Lahtinen

On Thu, 2025-06-05 at 15:16 -0700, Matthew Brost wrote:
> On Wed, Jun 04, 2025 at 11:35:36AM +0200, Thomas Hellström wrote:
> > Add runtime PM since we might call populate_mm on a foreign device.
> > Also create the VRAM bos as ttm_bo_type_kernel. This avoids the
> > initial clearing and the creation of an mmap handle.
> > 
> 
> I didn't read this part - skipping the initial clears. Discussed this
> on
> a private chat but to recap we need initial clears as copies for
> non-faulted in CPU pages are skipped which could result in another
> processes data being exposed in VRAM. We could only issue a clear if
> a
> non-faulted in page is found in xe_svm_copy or IIRC there was some
> work
> flying around to clear VRAM upon free, not sure if that ever landed -
> I
> believe AMD does clear on free their driver + buddy allocator has the
> concept of dirty blocks.

Thanks for reviewing!

I'll change back to ttm_bo_type_device for now. I think we should
change back to ttm_bo_type_kernel later, also to avoid the mmap offset
allocation.

From my understanding of the migrate docs, we're intended to either
clear (no system pages allocated) or copy (system pages allocated).

So for overall best efficiency I think when we implement clear on free,
we should also have a hint to allow allocation of blocks not
necessarily cleared yet.

Thanks,
Thomas

> 
> Matt 
> 
> > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > ---
> >  drivers/gpu/drm/drm_pagemap.c |   1 +
> >  drivers/gpu/drm/xe/xe_svm.c   | 104 ++++++++++++++++++++----------
> > ----
> >  drivers/gpu/drm/xe/xe_svm.h   |  10 ++--
> >  drivers/gpu/drm/xe/xe_tile.h  |  11 ++++
> >  drivers/gpu/drm/xe/xe_vm.c    |   2 +-
> >  5 files changed, 78 insertions(+), 50 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_pagemap.c
> > b/drivers/gpu/drm/drm_pagemap.c
> > index 25395685a9b8..94619be00d2a 100644
> > --- a/drivers/gpu/drm/drm_pagemap.c
> > +++ b/drivers/gpu/drm/drm_pagemap.c
> > @@ -843,3 +843,4 @@ int drm_pagemap_populate_mm(struct drm_pagemap
> > *dpagemap,
> >  
> >  	return err;
> >  }
> > +EXPORT_SYMBOL(drm_pagemap_populate_mm);
> > diff --git a/drivers/gpu/drm/xe/xe_svm.c
> > b/drivers/gpu/drm/xe/xe_svm.c
> > index e161ce3e67a1..a10aab3768d8 100644
> > --- a/drivers/gpu/drm/xe/xe_svm.c
> > +++ b/drivers/gpu/drm/xe/xe_svm.c
> > @@ -3,13 +3,17 @@
> >   * Copyright © 2024 Intel Corporation
> >   */
> >  
> > +#include <drm/drm_drv.h>
> > +
> >  #include "xe_bo.h"
> >  #include "xe_gt_stats.h"
> >  #include "xe_gt_tlb_invalidation.h"
> >  #include "xe_migrate.h"
> >  #include "xe_module.h"
> > +#include "xe_pm.h"
> >  #include "xe_pt.h"
> >  #include "xe_svm.h"
> > +#include "xe_tile.h"
> >  #include "xe_ttm_vram_mgr.h"
> >  #include "xe_vm.h"
> >  #include "xe_vm_types.h"
> > @@ -525,8 +529,10 @@ static struct xe_bo *to_xe_bo(struct
> > drm_pagemap_devmem *devmem_allocation)
> >  static void xe_svm_devmem_release(struct drm_pagemap_devmem
> > *devmem_allocation)
> >  {
> >  	struct xe_bo *bo = to_xe_bo(devmem_allocation);
> > +	struct xe_device *xe = xe_bo_device(bo);
> >  
> >  	xe_bo_put_async(bo);
> > +	xe_pm_runtime_put(xe);
> >  }
> >  
> >  static u64 block_offset_to_pfn(struct xe_vram_region *vr, u64
> > offset)
> > @@ -720,76 +726,63 @@ static struct xe_vram_region
> > *tile_to_vr(struct xe_tile *tile)
> >  	return &tile->mem.vram;
> >  }
> >  
> > -/**
> > - * xe_svm_alloc_vram()- Allocate device memory pages for range,
> > - * migrating existing data.
> > - * @vm: The VM.
> > - * @tile: tile to allocate vram from
> > - * @range: SVM range
> > - * @ctx: DRM GPU SVM context
> > - *
> > - * Return: 0 on success, error code on failure.
> > - */
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > -		      struct xe_svm_range *range,
> > -		      const struct drm_gpusvm_ctx *ctx)
> > +static int xe_drm_pagemap_populate_mm(struct drm_pagemap
> > *dpagemap,
> > +				      unsigned long start,
> > unsigned long end,
> > +				      struct mm_struct *mm,
> > +				      unsigned long timeslice_ms)
> >  {
> > -	struct mm_struct *mm = vm->svm.gpusvm.mm;
> > +	struct xe_tile *tile = container_of(dpagemap,
> > typeof(*tile), mem.vram.dpagemap);
> > +	struct xe_device *xe = tile_to_xe(tile);
> > +	struct device *dev = xe->drm.dev;
> >  	struct xe_vram_region *vr = tile_to_vr(tile);
> >  	struct drm_buddy_block *block;
> >  	struct list_head *blocks;
> >  	struct xe_bo *bo;
> > -	ktime_t end = 0;
> > -	int err;
> > -
> > -	if (!range->base.flags.migrate_devmem)
> > -		return -EINVAL;
> > +	ktime_t time_end = 0;
> > +	int err, idx;
> >  
> > -	range_debug(range, "ALLOCATE VRAM");
> > +	if (!drm_dev_enter(&xe->drm, &idx))
> > +		return -ENODEV;
> >  
> > -	if (!mmget_not_zero(mm))
> > -		return -EFAULT;
> > -	mmap_read_lock(mm);
> > +	xe_pm_runtime_get(xe);
> >  
> > -retry:
> > -	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL,
> > -				 xe_svm_range_size(range),
> > -				 ttm_bo_type_device,
> > + retry:
> > +	bo = xe_bo_create_locked(tile_to_xe(tile), NULL, NULL, end
> > - start,
> > +				 ttm_bo_type_kernel,
> >  				 XE_BO_FLAG_VRAM_IF_DGFX(tile) |
> >  				 XE_BO_FLAG_CPU_ADDR_MIRROR);
> >  	if (IS_ERR(bo)) {
> >  		err = PTR_ERR(bo);
> > -		if (xe_vm_validate_should_retry(NULL, err, &end))
> > +		if (xe_vm_validate_should_retry(NULL, err,
> > &time_end))
> >  			goto retry;
> > -		goto unlock;
> > +		goto out_pm_put;
> >  	}
> >  
> > -	drm_pagemap_devmem_init(&bo->devmem_allocation,
> > -				vm->xe->drm.dev, mm,
> > +	drm_pagemap_devmem_init(&bo->devmem_allocation, dev, mm,
> >  				&dpagemap_devmem_ops,
> >  				&tile->mem.vram.dpagemap,
> > -				xe_svm_range_size(range));
> > +				end - start);
> >  
> >  	blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)-
> > >blocks;
> >  	list_for_each_entry(block, blocks, link)
> >  		block->private = vr;
> >  
> >  	xe_bo_get(bo);
> > -	err = drm_pagemap_migrate_to_devmem(&bo-
> > >devmem_allocation,
> > -					    mm,
> > -					   
> > xe_svm_range_start(range),
> > -					   
> > xe_svm_range_end(range),
> > -					    ctx->timeslice_ms,
> > -					    xe_svm_devm_owner(vm-
> > >xe));
> > +
> > +	/* Ensure the device has a pm ref while there are device
> > pages active. */
> > +	xe_pm_runtime_get_noresume(xe);
> > +	err = drm_pagemap_migrate_to_devmem(&bo-
> > >devmem_allocation, mm,
> > +					    start, end,
> > timeslice_ms,
> > +					   
> > xe_svm_devm_owner(xe));
> >  	if (err)
> >  		xe_svm_devmem_release(&bo->devmem_allocation);
> >  
> >  	xe_bo_unlock(bo);
> >  	xe_bo_put(bo);
> >  
> > -unlock:
> > -	mmap_read_unlock(mm);
> > -	mmput(mm);
> > +out_pm_put:
> > +	xe_pm_runtime_put(xe);
> > +	drm_dev_exit(idx);
> >  
> >  	return err;
> >  }
> > @@ -898,7 +891,7 @@ int xe_svm_handle_pagefault(struct xe_vm *vm,
> > struct xe_vma *vma,
> >  
> >  	if (--migrate_try_count >= 0 &&
> >  	    xe_svm_range_needs_migrate_to_vram(range, vma,
> > IS_DGFX(vm->xe))) {
> > -		err = xe_svm_alloc_vram(vm, tile, range, &ctx);
> > +		err = xe_svm_alloc_vram(tile, range, &ctx);
> >  		ctx.timeslice_ms <<= 1;	/* Double
> > timeslice if we have to retry */
> >  		if (err) {
> >  			if (migrate_try_count || !ctx.devmem_only)
> > {
> > @@ -1054,6 +1047,30 @@ int xe_svm_range_get_pages(struct xe_vm *vm,
> > struct xe_svm_range *range,
> >  
> >  #if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> >  
> > +/**
> > + * xe_svm_alloc_vram()- Allocate device memory pages for range,
> > + * migrating existing data.
> > + * @vm: The VM.
> > + * @tile: tile to allocate vram from
> > + * @range: SVM range
> > + * @ctx: DRM GPU SVM context
> > + *
> > + * Return: 0 on success, error code on failure.
> > + */
> > +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range
> > *range,
> > +		      const struct drm_gpusvm_ctx *ctx)
> > +{
> > +	struct drm_pagemap *dpagemap;
> > +
> > +	range_debug(range, "ALLOCATE VRAM");
> > +
> > +	dpagemap = xe_tile_local_pagemap(tile);
> > +	return drm_pagemap_populate_mm(dpagemap,
> > xe_svm_range_start(range),
> > +				       xe_svm_range_end(range),
> > +				       range->base.gpusvm->mm,
> > +				       ctx->timeslice_ms);
> > +}
> > +
> >  static struct drm_pagemap_device_addr
> >  xe_drm_pagemap_device_map(struct drm_pagemap *dpagemap,
> >  			  struct device *dev,
> > @@ -1078,6 +1095,7 @@ xe_drm_pagemap_device_map(struct drm_pagemap
> > *dpagemap,
> >  
> >  static const struct drm_pagemap_ops xe_drm_pagemap_ops = {
> >  	.device_map = xe_drm_pagemap_device_map,
> > +	.populate_mm = xe_drm_pagemap_populate_mm,
> >  };
> >  
> >  /**
> > @@ -1130,7 +1148,7 @@ int xe_devm_add(struct xe_tile *tile, struct
> > xe_vram_region *vr)
> >  	return 0;
> >  }
> >  #else
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > +int xe_svm_alloc_vram(struct xe_tile *tile,
> >  		      struct xe_svm_range *range,
> >  		      const struct drm_gpusvm_ctx *ctx)
> >  {
> > diff --git a/drivers/gpu/drm/xe/xe_svm.h
> > b/drivers/gpu/drm/xe/xe_svm.h
> > index 19ce4f2754a7..da9a69ea0bb1 100644
> > --- a/drivers/gpu/drm/xe/xe_svm.h
> > +++ b/drivers/gpu/drm/xe/xe_svm.h
> > @@ -70,8 +70,7 @@ int xe_svm_bo_evict(struct xe_bo *bo);
> >  
> >  void xe_svm_range_debug(struct xe_svm_range *range, const char
> > *operation);
> >  
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > -		      struct xe_svm_range *range,
> > +int xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range
> > *range,
> >  		      const struct drm_gpusvm_ctx *ctx);
> >  
> >  struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm,
> > u64 addr,
> > @@ -237,10 +236,9 @@ void xe_svm_range_debug(struct xe_svm_range
> > *range, const char *operation)
> >  {
> >  }
> >  
> > -static inline
> > -int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
> > -		      struct xe_svm_range *range,
> > -		      const struct drm_gpusvm_ctx *ctx)
> > +static inline int
> > +xe_svm_alloc_vram(struct xe_tile *tile, struct xe_svm_range
> > *range,
> > +		  const struct drm_gpusvm_ctx *ctx)
> >  {
> >  	return -EOPNOTSUPP;
> >  }
> > diff --git a/drivers/gpu/drm/xe/xe_tile.h
> > b/drivers/gpu/drm/xe/xe_tile.h
> > index eb939316d55b..066a3d0cea79 100644
> > --- a/drivers/gpu/drm/xe/xe_tile.h
> > +++ b/drivers/gpu/drm/xe/xe_tile.h
> > @@ -16,4 +16,15 @@ int xe_tile_init(struct xe_tile *tile);
> >  
> >  void xe_tile_migrate_wait(struct xe_tile *tile);
> >  
> > +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> > +static inline struct drm_pagemap *xe_tile_local_pagemap(struct
> > xe_tile *tile)
> > +{
> > +	return &tile->mem.vram.dpagemap;
> > +}
> > +#else
> > +static inline struct drm_pagemap *xe_tile_local_pagemap(struct
> > xe_tile *tile)
> > +{
> > +	return NULL;
> > +}
> > +#endif
> >  #endif
> > diff --git a/drivers/gpu/drm/xe/xe_vm.c
> > b/drivers/gpu/drm/xe/xe_vm.c
> > index 7140d8856bad..def493acb4d7 100644
> > --- a/drivers/gpu/drm/xe/xe_vm.c
> > +++ b/drivers/gpu/drm/xe/xe_vm.c
> > @@ -2911,7 +2911,7 @@ static int prefetch_ranges(struct xe_vm *vm,
> > struct xe_vma_op *op)
> >  
> >  		if (xe_svm_range_needs_migrate_to_vram(svm_range,
> > vma, region)) {
> >  			tile = &vm->xe-
> > >tiles[region_to_mem_type[region] - XE_PL_VRAM0];
> > -			err = xe_svm_alloc_vram(vm, tile,
> > svm_range, &ctx);
> > +			err = xe_svm_alloc_vram(tile, svm_range,
> > &ctx);
> >  			if (err) {
> >  				drm_dbg(&vm->xe->drm, "VRAM
> > allocation failed, retry from userspace, asid=%u, gpusvm=%p,
> > errno=%pe\n",
> >  					vm->usm.asid, &vm-
> > >svm.gpusvm, ERR_PTR(err));
> > -- 
> > 2.49.0
> > 


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

end of thread, other threads:[~2025-06-13 10:17 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-04  9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
2025-06-04  9:35 ` [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap Thomas Hellström
2025-06-04 15:45   ` kernel test robot
2025-06-05 22:44   ` Matthew Brost
2025-06-13 10:01     ` Thomas Hellström
2025-06-04  9:35 ` [PATCH v2 2/3] drm/pagemap: Add a populate_mm op Thomas Hellström
2025-06-04 21:06   ` kernel test robot
2025-06-04 22:05   ` Matthew Brost
2025-06-05  7:40     ` Thomas Hellström
2025-06-04  9:35 ` [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap " Thomas Hellström
2025-06-04 15:04   ` Matthew Brost
2025-06-05  7:37     ` Thomas Hellström
2025-06-05 22:16   ` Matthew Brost
2025-06-13 10:16     ` Thomas Hellström
2025-06-04 10:01 ` [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Christian König
2025-06-04 12:01   ` Thomas Hellström
2025-06-04 11:26 ` ✓ CI.Patch_applied: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2) Patchwork
2025-06-04 11:27 ` ✗ CI.checkpatch: warning " Patchwork
2025-06-04 11:28 ` ✓ CI.KUnit: success " Patchwork
2025-06-04 11:39 ` ✓ CI.Build: " Patchwork
2025-06-04 11:41 ` ✗ CI.Hooks: failure " Patchwork
2025-06-04 11:43 ` ✓ CI.checksparse: success " Patchwork
2025-06-04 12:04 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-05  6:25 ` ✗ Xe.CI.Full: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).