]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/xe: Don't trigger rebind on initial dma-buf validation
authorMatthew Brost <matthew.brost@intel.com>
Mon, 25 Aug 2025 15:28:41 +0000 (08:28 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Sep 2025 13:31:48 +0000 (15:31 +0200)
[ Upstream commit 16ca06aa2c2218cb21907c0c45a746958c944def ]

On the first validate of an imported dma-buf (initial bind), the device
has no GPU mappings, so a rebind is unnecessary. Rebinding here is
harmful in multi-GPU setups and for VMs using preempt-fence mode, as it
would evict in-flight GPU work.

v2:
 - Drop dma_buf_validated, check for XE_PL_SYSTEM (Thomas)

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://lore.kernel.org/r/20250825152841.3837378-1-matthew.brost@intel.com
(cherry picked from commit ffdf968762e4fb3cdae54e811ec3525e67440a60)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/xe/xe_bo.c

index 5f745d9ed6cc2543b5be7b2bed8b3b0b5fcec7a9..445bbe0299b08f8dc78876b046148cbc0c90774f 100644 (file)
@@ -671,7 +671,8 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict,
        }
 
        if (ttm_bo->type == ttm_bo_type_sg) {
-               ret = xe_bo_move_notify(bo, ctx);
+               if (new_mem->mem_type == XE_PL_SYSTEM)
+                       ret = xe_bo_move_notify(bo, ctx);
                if (!ret)
                        ret = xe_bo_move_dmabuf(ttm_bo, new_mem);
                return ret;