]> git.hungrycats.org Git - linux/commitdiff
drm/msm: Don't fallback to shared VM for VM_BIND
authorRob Clark <robin.clark@oss.qualcomm.com>
Wed, 29 Jul 2026 15:55:52 +0000 (08:55 -0700)
committerRob Clark <robin.clark@oss.qualcomm.com>
Wed, 29 Jul 2026 18:56:02 +0000 (11:56 -0700)
If the user wants a userspace managed VM (EN_VM_BIND) don't silently
fall back to shared VM.

Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/743110/
Message-ID: <20260729155609.20190-16-robin.clark@oss.qualcomm.com>

drivers/gpu/drm/msm/msm_drv.c
drivers/gpu/drm/msm/msm_gpu.c

index 84b126c6347f735d68803379727cb95ce0984768..db1b655dd055b58ccd7ed2573d216746f75b9c3c 100644 (file)
@@ -234,7 +234,8 @@ struct drm_gpuvm *msm_context_vm(struct drm_device *dev, struct msm_context *ctx
        if (!ctx->vm) {
                vm = msm_gpu_create_private_vm(
                        priv->gpu, current, !ctx->userspace_managed_vm);
-               smp_store_release(&ctx->vm, vm);
+               if (!IS_ERR_OR_NULL(vm))
+                       smp_store_release(&ctx->vm, vm);
        }
 
        return ctx->vm;
index 03c057856065863fdf9a9dbb0a7b92479b56e8cc..0c2c356362518808d2ca3d54d3b5ae58c2498f28 100644 (file)
@@ -879,7 +879,7 @@ msm_gpu_create_private_vm(struct msm_gpu *gpu, struct task_struct *task,
                        to_msm_vm(vm)->pid = get_pid(task_pid(task));
        }
 
-       if (IS_ERR_OR_NULL(vm))
+       if (IS_ERR_OR_NULL(vm) && kernel_managed)
                vm = drm_gpuvm_get(gpu->vm);
 
        return vm;