]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/xe: Make page size consistent in loop
authorSimon Richter <Simon.Richter@hogyros.de>
Mon, 18 Aug 2025 06:47:35 +0000 (15:47 +0900)
committerMatthew Brost <matthew.brost@intel.com>
Mon, 18 Aug 2025 17:52:31 +0000 (10:52 -0700)
If PAGE_SIZE != XE_PAGE_SIZE (which is currently locked behind
CONFIG_BROKEN), this would generate the wrong number of PDEs.

Since these PDEs are consumed by the GPU, the GPU page size needs to be
used.

Signed-off-by: Simon Richter <Simon.Richter@hogyros.de>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250818064806.2835-1-Simon.Richter@hogyros.de
drivers/gpu/drm/xe/xe_migrate.c

index ddfad7506a8235426393baaeb3bafb8cb88ae941..57e6d5a8ac395ca3228e0c6701ce6dff6aebc90d 100644 (file)
@@ -280,7 +280,7 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,
        }
 
        /* Write PDE's that point to our BO. */
-       for (i = 0; i < map_ofs / PAGE_SIZE; i++) {
+       for (i = 0; i < map_ofs / XE_PAGE_SIZE; i++) {
                entry = vm->pt_ops->pde_encode_bo(bo, (u64)i * XE_PAGE_SIZE);
 
                xe_map_wr(xe, &bo->vmap, map_ofs + XE_PAGE_SIZE +