From: Thomas Zimmermann Date: Tue, 25 May 2021 15:10:49 +0000 (+0200) Subject: drm/ttm: Don't override vm_ops callbacks, if set X-Git-Tag: v5.15~303^2~28^2~327 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ccd9fe972c4d083b8716205dc56acf55fd837ea0;p=platform%2Fkernel%2Flinux-starfive.git 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 Reviewed-by: Christian König Link: https://patchwork.freedesktop.org/patch/msgid/20210525151055.8174-2-tzimmermann@suse.de --- diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index 7ff9fd5..ff07dbc 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