Convert rocket from GEM-SHMEM to GEM-UMA. The latter is just a copy, so this change it merely renaming symbols. No functional changes.
GEM-SHMEM will become more self-contained for drivers without specific memory management. GEM-UMA's interfaces will remain flexible for drivers with UMA hardware, such as rocket. Signed-off-by: Thomas Zimmermann <[email protected]> --- drivers/accel/rocket/Kconfig | 2 +- drivers/accel/rocket/rocket_gem.c | 46 +++++++++++++++---------------- drivers/accel/rocket/rocket_gem.h | 6 ++-- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/drivers/accel/rocket/Kconfig b/drivers/accel/rocket/Kconfig index 16465abe0660..26f760afdd7a 100644 --- a/drivers/accel/rocket/Kconfig +++ b/drivers/accel/rocket/Kconfig @@ -6,8 +6,8 @@ config DRM_ACCEL_ROCKET depends on (ARCH_ROCKCHIP && ARM64) || COMPILE_TEST depends on ROCKCHIP_IOMMU || COMPILE_TEST depends on MMU + select DRM_GEM_UMA_HELPER select DRM_SCHED - select DRM_GEM_SHMEM_HELPER help Choose this option if you have a Rockchip SoC that contains a compatible Neural Processing Unit (NPU), such as the RK3588. Called by diff --git a/drivers/accel/rocket/rocket_gem.c b/drivers/accel/rocket/rocket_gem.c index 624c4ecf5a34..1c7b75413065 100644 --- a/drivers/accel/rocket/rocket_gem.c +++ b/drivers/accel/rocket/rocket_gem.c @@ -29,19 +29,19 @@ static void rocket_gem_bo_free(struct drm_gem_object *obj) rocket_iommu_domain_put(bo->domain); bo->domain = NULL; - drm_gem_shmem_free(&bo->base); + drm_gem_uma_free(&bo->base); } static const struct drm_gem_object_funcs rocket_gem_funcs = { .free = rocket_gem_bo_free, - .print_info = drm_gem_shmem_object_print_info, - .pin = drm_gem_shmem_object_pin, - .unpin = drm_gem_shmem_object_unpin, - .get_sg_table = drm_gem_shmem_object_get_sg_table, - .vmap = drm_gem_shmem_object_vmap, - .vunmap = drm_gem_shmem_object_vunmap, - .mmap = drm_gem_shmem_object_mmap, - .vm_ops = &drm_gem_shmem_vm_ops, + .print_info = drm_gem_uma_object_print_info, + .pin = drm_gem_uma_object_pin, + .unpin = drm_gem_uma_object_unpin, + .get_sg_table = drm_gem_uma_object_get_sg_table, + .vmap = drm_gem_uma_object_vmap, + .vunmap = drm_gem_uma_object_vunmap, + .mmap = drm_gem_uma_object_mmap, + .vm_ops = &drm_gem_uma_vm_ops, }; struct drm_gem_object *rocket_gem_create_object(struct drm_device *dev, size_t size) @@ -61,17 +61,17 @@ int rocket_ioctl_create_bo(struct drm_device *dev, void *data, struct drm_file * { struct rocket_file_priv *rocket_priv = file->driver_priv; struct drm_rocket_create_bo *args = data; - struct drm_gem_shmem_object *shmem_obj; + struct drm_gem_uma_object *uma_obj; struct rocket_gem_object *rkt_obj; struct drm_gem_object *gem_obj; struct sg_table *sgt; int ret; - shmem_obj = drm_gem_shmem_create(dev, args->size); - if (IS_ERR(shmem_obj)) - return PTR_ERR(shmem_obj); + uma_obj = drm_gem_uma_create(dev, args->size); + if (IS_ERR(uma_obj)) + return PTR_ERR(uma_obj); - gem_obj = &shmem_obj->base; + gem_obj = &uma_obj->base; rkt_obj = to_rocket_bo(gem_obj); rkt_obj->driver_priv = rocket_priv; @@ -84,7 +84,7 @@ int rocket_ioctl_create_bo(struct drm_device *dev, void *data, struct drm_file * if (ret) goto err; - sgt = drm_gem_shmem_get_pages_sgt(shmem_obj); + sgt = drm_gem_uma_get_pages_sgt(uma_obj); if (IS_ERR(sgt)) { ret = PTR_ERR(sgt); goto err; @@ -98,7 +98,7 @@ int rocket_ioctl_create_bo(struct drm_device *dev, void *data, struct drm_file * ret = iommu_map_sgtable(rocket_priv->domain->domain, rkt_obj->mm.start, - shmem_obj->sgt, + uma_obj->sgt, IOMMU_READ | IOMMU_WRITE); if (ret < 0 || ret < args->size) { drm_err(dev, "failed to map buffer: size=%d request_size=%u\n", @@ -120,7 +120,7 @@ int rocket_ioctl_create_bo(struct drm_device *dev, void *data, struct drm_file * mutex_unlock(&rocket_priv->mm_lock); err: - drm_gem_shmem_object_free(gem_obj); + drm_gem_uma_object_free(gem_obj); return ret; } @@ -130,7 +130,7 @@ int rocket_ioctl_prep_bo(struct drm_device *dev, void *data, struct drm_file *fi struct drm_rocket_prep_bo *args = data; unsigned long timeout = drm_timeout_abs_to_jiffies(args->timeout_ns); struct drm_gem_object *gem_obj; - struct drm_gem_shmem_object *shmem_obj; + struct drm_gem_uma_object *uma_obj; long ret = 0; if (args->reserved != 0) { @@ -146,9 +146,9 @@ int rocket_ioctl_prep_bo(struct drm_device *dev, void *data, struct drm_file *fi if (!ret) ret = timeout ? -ETIMEDOUT : -EBUSY; - shmem_obj = &to_rocket_bo(gem_obj)->base; + uma_obj = &to_rocket_bo(gem_obj)->base; - dma_sync_sgtable_for_cpu(dev->dev, shmem_obj->sgt, DMA_BIDIRECTIONAL); + dma_sync_sgtable_for_cpu(dev->dev, uma_obj->sgt, DMA_BIDIRECTIONAL); drm_gem_object_put(gem_obj); @@ -158,7 +158,7 @@ int rocket_ioctl_prep_bo(struct drm_device *dev, void *data, struct drm_file *fi int rocket_ioctl_fini_bo(struct drm_device *dev, void *data, struct drm_file *file) { struct drm_rocket_fini_bo *args = data; - struct drm_gem_shmem_object *shmem_obj; + struct drm_gem_uma_object *uma_obj; struct rocket_gem_object *rkt_obj; struct drm_gem_object *gem_obj; @@ -172,9 +172,9 @@ int rocket_ioctl_fini_bo(struct drm_device *dev, void *data, struct drm_file *fi return -ENOENT; rkt_obj = to_rocket_bo(gem_obj); - shmem_obj = &rkt_obj->base; + uma_obj = &rkt_obj->base; - dma_sync_sgtable_for_device(dev->dev, shmem_obj->sgt, DMA_BIDIRECTIONAL); + dma_sync_sgtable_for_device(dev->dev, uma_obj->sgt, DMA_BIDIRECTIONAL); drm_gem_object_put(gem_obj); diff --git a/drivers/accel/rocket/rocket_gem.h b/drivers/accel/rocket/rocket_gem.h index 240430334509..d5ea539519e7 100644 --- a/drivers/accel/rocket/rocket_gem.h +++ b/drivers/accel/rocket/rocket_gem.h @@ -4,10 +4,10 @@ #ifndef __ROCKET_GEM_H__ #define __ROCKET_GEM_H__ -#include <drm/drm_gem_shmem_helper.h> +#include <drm/drm_gem_uma_helper.h> struct rocket_gem_object { - struct drm_gem_shmem_object base; + struct drm_gem_uma_object base; struct rocket_file_priv *driver_priv; @@ -28,7 +28,7 @@ int rocket_ioctl_fini_bo(struct drm_device *dev, void *data, struct drm_file *fi static inline struct rocket_gem_object *to_rocket_bo(struct drm_gem_object *obj) { - return container_of(to_drm_gem_shmem_obj(obj), struct rocket_gem_object, base); + return container_of(to_drm_gem_uma_obj(obj), struct rocket_gem_object, base); } #endif -- 2.52.0
