Hi Am 19.09.19 um 12:02 schrieb Gerd Hoffmann: > Rename ttm_fbdev_mmap to ttm_bo_mmap_obj. Move the vm_pgoff sanity > check to amdgpu_bo_fbdev_mmap (only ttm_fbdev_mmap user in tree). > > The ttm_bo_mmap_obj function can now be used to map any buffer object. > This allows to implement &drm_gem_object_funcs.mmap in gem ttm helpers. > > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Thanks. I find this to be a much cleaner interface than before. Acked-by: Thomas Zimmermann <tzimmermann@xxxxxxx> Best regards Thomas > --- > include/drm/ttm/ttm_bo_api.h | 10 ++++------ > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 5 ++++- > drivers/gpu/drm/ttm/ttm_bo_vm.c | 8 ++------ > 3 files changed, 10 insertions(+), 13 deletions(-) > > diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h > index 43c4929a2171..d2277e06316d 100644 > --- a/include/drm/ttm/ttm_bo_api.h > +++ b/include/drm/ttm/ttm_bo_api.h > @@ -710,16 +710,14 @@ int ttm_bo_kmap(struct ttm_buffer_object *bo, unsigned long start_page, > void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map); > > /** > - * ttm_fbdev_mmap - mmap fbdev memory backed by a ttm buffer object. > + * ttm_bo_mmap_obj - mmap memory backed by a ttm buffer object. > * > * @vma: vma as input from the fbdev mmap method. > - * @bo: The bo backing the address space. The address space will > - * have the same size as the bo, and start at offset 0. > + * @bo: The bo backing the address space. > * > - * This function is intended to be called by the fbdev mmap method > - * if the fbdev address space is to be backed by a bo. > + * Maps a buffer object. > */ > -int ttm_fbdev_mmap(struct vm_area_struct *vma, struct ttm_buffer_object *bo); > +int ttm_bo_mmap_obj(struct vm_area_struct *vma, struct ttm_buffer_object *bo); > > /** > * ttm_bo_mmap - mmap out of the ttm device address space. > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > index 2f11ebd95528..e5447e0d8b88 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > @@ -1051,7 +1051,10 @@ void amdgpu_bo_fini(struct amdgpu_device *adev) > int amdgpu_bo_fbdev_mmap(struct amdgpu_bo *bo, > struct vm_area_struct *vma) > { > - return ttm_fbdev_mmap(vma, &bo->tbo); > + if (vma->vm_pgoff != 0) > + return -EACCES; > + > + return ttm_bo_mmap_obj(vma, &bo->tbo); > } > > /** > diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c > index b5314ef85a3d..6688d7893161 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c > +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c > @@ -479,14 +479,10 @@ int ttm_bo_mmap(struct file *filp, struct vm_area_struct *vma, > } > EXPORT_SYMBOL(ttm_bo_mmap); > > -int ttm_fbdev_mmap(struct vm_area_struct *vma, struct ttm_buffer_object *bo) > +int ttm_bo_mmap_obj(struct vm_area_struct *vma, struct ttm_buffer_object *bo) > { > - if (vma->vm_pgoff != 0) > - return -EACCES; > - > ttm_bo_get(bo); > - > ttm_bo_mmap_vma_setup(bo, vma); > return 0; > } > -EXPORT_SYMBOL(ttm_fbdev_mmap); > +EXPORT_SYMBOL(ttm_bo_mmap_obj); > -- Thomas Zimmermann Graphics Driver Developer SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg)
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel