drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends
This patch replaces the vmap/vunmap's use of raw pointers in GEM object functions with instances of struct dma_buf_map. GEM backends are converted as well. For most of them, this simply changes the returned type. TTM-based drivers now return information about the location of the memory, either system or I/O memory. GEM VRAM helpers and qxl now use ttm_bo_vmap() et al. Amdgpu, nouveau and radeon use drm_gem_ttm_vmap() et al instead of implementing their own vmap callbacks. v7: * init QXL cursor to mapped BO buffer (kernel test robot) v5: * update vkms after switch to shmem v4: * use ttm_bo_vmap(), drm_gem_ttm_vmap(), et al. (Daniel, Christian) * fix a trailing { in drm_gem_vmap() * remove several empty functions instead of converting them (Daniel) * comment uses of raw pointers with a TODO (Daniel) * TODO list: convert more helpers to use struct dma_buf_map Signed-off-by:Thomas Zimmermann <tzimmermann@suse.de> Acked-by:
Christian König <christian.koenig@amd.com> Tested-by:
Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20201103093015.1063-7-tzimmermann@suse.de
Showing
- Documentation/gpu/todo.rst 18 additions, 0 deletionsDocumentation/gpu/todo.rst
- drivers/gpu/drm/Kconfig 2 additions, 0 deletionsdrivers/gpu/drm/Kconfig
- drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c 0 additions, 36 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.h 0 additions, 2 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 3 additions, 2 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h 0 additions, 1 deletiondrivers/gpu/drm/amd/amdgpu/amdgpu_object.h
- drivers/gpu/drm/ast/ast_cursor.c 13 additions, 14 deletionsdrivers/gpu/drm/ast/ast_cursor.c
- drivers/gpu/drm/ast/ast_drv.h 4 additions, 3 deletionsdrivers/gpu/drm/ast/ast_drv.h
- drivers/gpu/drm/drm_gem.c 14 additions, 9 deletionsdrivers/gpu/drm/drm_gem.c
- drivers/gpu/drm/drm_gem_cma_helper.c 7 additions, 3 deletionsdrivers/gpu/drm/drm_gem_cma_helper.c
- drivers/gpu/drm/drm_gem_shmem_helper.c 29 additions, 19 deletionsdrivers/gpu/drm/drm_gem_shmem_helper.c
- drivers/gpu/drm/drm_gem_vram_helper.c 54 additions, 53 deletionsdrivers/gpu/drm/drm_gem_vram_helper.c
- drivers/gpu/drm/etnaviv/etnaviv_drv.h 1 addition, 1 deletiondrivers/gpu/drm/etnaviv/etnaviv_drv.h
- drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c 9 additions, 2 deletionsdrivers/gpu/drm/etnaviv/etnaviv_gem_prime.c
- drivers/gpu/drm/lima/lima_gem.c 3 additions, 3 deletionsdrivers/gpu/drm/lima/lima_gem.c
- drivers/gpu/drm/lima/lima_sched.c 7 additions, 4 deletionsdrivers/gpu/drm/lima/lima_sched.c
- drivers/gpu/drm/mgag200/mgag200_mode.c 7 additions, 3 deletionsdrivers/gpu/drm/mgag200/mgag200_mode.c
- drivers/gpu/drm/nouveau/Kconfig 1 addition, 0 deletionsdrivers/gpu/drm/nouveau/Kconfig
- drivers/gpu/drm/nouveau/nouveau_bo.h 0 additions, 2 deletionsdrivers/gpu/drm/nouveau/nouveau_bo.h
- drivers/gpu/drm/nouveau/nouveau_gem.c 4 additions, 2 deletionsdrivers/gpu/drm/nouveau/nouveau_gem.c
Loading
Please register or sign in to comment