diff options
Diffstat (limited to 'drivers/gpu/drm/drm_client.c')
-rw-r--r-- | drivers/gpu/drm/drm_client.c | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c index f1de7faf9fb4..3fa38d4ac70b 100644 --- a/drivers/gpu/drm/drm_client.c +++ b/drivers/gpu/drm/drm_client.c @@ -3,6 +3,7 @@ * Copyright 2018 Noralf Trønnes */ +#include <linux/export.h> #include <linux/iosys-map.h> #include <linux/list.h> #include <linux/mutex.h> @@ -303,34 +304,17 @@ EXPORT_SYMBOL(drm_client_buffer_vunmap_local); * Returns: * 0 on success, or a negative errno code otherwise. */ -int -drm_client_buffer_vmap(struct drm_client_buffer *buffer, - struct iosys_map *map_copy) +int drm_client_buffer_vmap(struct drm_client_buffer *buffer, + struct iosys_map *map_copy) { - struct drm_gem_object *gem = buffer->gem; - struct iosys_map *map = &buffer->map; int ret; - drm_gem_lock(gem); - - ret = drm_gem_pin_locked(gem); - if (ret) - goto err_drm_gem_pin_locked; - ret = drm_gem_vmap_locked(gem, map); + ret = drm_gem_vmap(buffer->gem, &buffer->map); if (ret) - goto err_drm_gem_vmap; - - drm_gem_unlock(gem); - - *map_copy = *map; + return ret; + *map_copy = buffer->map; return 0; - -err_drm_gem_vmap: - drm_gem_unpin_locked(buffer->gem); -err_drm_gem_pin_locked: - drm_gem_unlock(gem); - return ret; } EXPORT_SYMBOL(drm_client_buffer_vmap); @@ -344,13 +328,7 @@ EXPORT_SYMBOL(drm_client_buffer_vmap); */ void drm_client_buffer_vunmap(struct drm_client_buffer *buffer) { - struct drm_gem_object *gem = buffer->gem; - struct iosys_map *map = &buffer->map; - - drm_gem_lock(gem); - drm_gem_vunmap_locked(gem, map); - drm_gem_unpin_locked(gem); - drm_gem_unlock(gem); + drm_gem_vunmap(buffer->gem, &buffer->map); } EXPORT_SYMBOL(drm_client_buffer_vunmap); |