aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ttm/ttm_bo_vm.c
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2021-05-25 17:10:49 +0200
committerThomas Zimmermann <tzimmermann@suse.de>2021-05-26 20:56:05 +0200
commitccd9fe972c4d083b8716205dc56acf55fd837ea0 (patch)
treec5c64f2556e0f52f9f64d01aa053f2d89a88c87f /drivers/gpu/drm/ttm/ttm_bo_vm.c
parentdrm/amdgpu: Fix clang warning: unused label 'exit' (diff)
downloadlinux-dev-ccd9fe972c4d083b8716205dc56acf55fd837ea0.tar.xz
linux-dev-ccd9fe972c4d083b8716205dc56acf55fd837ea0.zip
drm/ttm: Don't override vm_ops callbacks, if set
Drivers may want to set their own callbacks for a VM area. Only set TTM's callbacks if the vm_ops field is clear. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Christian König <christian.koenig@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210525151055.8174-2-tzimmermann@suse.de
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo_vm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c
index 7ff9fd551357..ff07dbc91c03 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
@@ -586,7 +586,12 @@ static struct ttm_buffer_object *ttm_bo_vm_lookup(struct ttm_device *bdev,
static void ttm_bo_mmap_vma_setup(struct ttm_buffer_object *bo, struct vm_area_struct *vma)
{
- vma->vm_ops = &ttm_bo_vm_ops;
+ /*
+ * Drivers may want to override the vm_ops field. Otherwise we
+ * use TTM's default callbacks.
+ */
+ if (!vma->vm_ops)
+ vma->vm_ops = &ttm_bo_vm_ops;
/*
* Note: We're transferring the bo reference to