diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2020-11-03 10:30:11 +0100 | 
|---|---|---|
| committer | Thomas Zimmermann <tzimmermann@suse.de> | 2020-11-09 09:19:24 +0100 | 
| commit | 49a3f51dfeeecb52c5aa28c5cb9592fe5e39bf95 (patch) | |
| tree | 60399216163b2213ccd45bdddc2dde62f6e0002d /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | |
| parent | 43676605f890b218e551f396a55dbaea7799acb4 (diff) | |
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
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c index 8ea6fc745769..a6142ede78fb 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c @@ -33,6 +33,7 @@  #include <drm/amdgpu_drm.h>  #include <drm/drm_debugfs.h> +#include <drm/drm_gem_ttm_helper.h>  #include "amdgpu.h"  #include "amdgpu_display.h" @@ -220,8 +221,8 @@ static const struct drm_gem_object_funcs amdgpu_gem_object_funcs = {  	.open = amdgpu_gem_object_open,  	.close = amdgpu_gem_object_close,  	.export = amdgpu_gem_prime_export, -	.vmap = amdgpu_gem_prime_vmap, -	.vunmap = amdgpu_gem_prime_vunmap, +	.vmap = drm_gem_ttm_vmap, +	.vunmap = drm_gem_ttm_vunmap,  };  /* | 
