There is no reason to be wapper functions to use DMA mapping APIs. Use
directly DMA mapping APIs and remove the wapper functions.

Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
---
This is based on linux-next for 20160422.

 drivers/gpu/drm/exynos/exynos_drm_g2d.c | 10 +++++-----
 drivers/gpu/drm/exynos/exynos_drm_gem.c | 22 ----------------------
 drivers/gpu/drm/exynos/exynos_drm_gem.h | 10 ----------
 3 files changed, 5 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c 
b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 193d3602dffb..493552368295 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -383,8 +383,8 @@ static void g2d_userptr_put_dma_addr(struct drm_device 
*drm_dev,
                return;

 out:
-       exynos_gem_unmap_sgt_from_dma(drm_dev, g2d_userptr->sgt,
-                                       DMA_BIDIRECTIONAL);
+       dma_unmap_sg(to_dma_dev(drm_dev), g2d_userptr->sgt->sgl,
+                       g2d_userptr->sgt->nents, DMA_BIDIRECTIONAL);

        pages = frame_vector_pages(g2d_userptr->vec);
        if (!IS_ERR(pages)) {
@@ -501,10 +501,10 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct 
drm_device *drm_dev,

        g2d_userptr->sgt = sgt;

-       ret = exynos_gem_map_sgt_with_dma(drm_dev, g2d_userptr->sgt,
-                                               DMA_BIDIRECTIONAL);
-       if (ret < 0) {
+       if (!dma_map_sg(to_dma_dev(drm_dev), sgt->sgl, sgt->nents,
+                               DMA_BIDIRECTIONAL)) {
                DRM_ERROR("failed to map sgt with dma region.\n");
+               ret = -ENOMEM;
                goto err_sg_free_table;
        }

diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index 6fb98f4c3544..96bb40361b1c 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -378,28 +378,6 @@ int exynos_drm_gem_get_ioctl(struct drm_device *dev, void 
*data,
        return 0;
 }

-int exynos_gem_map_sgt_with_dma(struct drm_device *drm_dev,
-                               struct sg_table *sgt,
-                               enum dma_data_direction dir)
-{
-       int nents;
-
-       nents = dma_map_sg(to_dma_dev(drm_dev), sgt->sgl, sgt->nents, dir);
-       if (!nents) {
-               DRM_ERROR("failed to map sgl with dma.\n");
-               return nents;
-       }
-
-       return 0;
-}
-
-void exynos_gem_unmap_sgt_from_dma(struct drm_device *drm_dev,
-                               struct sg_table *sgt,
-                               enum dma_data_direction dir)
-{
-       dma_unmap_sg(to_dma_dev(drm_dev), sgt->sgl, sgt->nents, dir);
-}
-
 void exynos_drm_gem_free_object(struct drm_gem_object *obj)
 {
        exynos_drm_gem_destroy(to_exynos_gem(obj));
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.h 
b/drivers/gpu/drm/exynos/exynos_drm_gem.h
index 00223052b87b..c1df26877b76 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.h
@@ -121,16 +121,6 @@ int exynos_drm_gem_fault(struct vm_area_struct *vma, 
struct vm_fault *vmf);
 /* set vm_flags and we can change the vm attribute to other one at here. */
 int exynos_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma);

-/* map sgt with dma region. */
-int exynos_gem_map_sgt_with_dma(struct drm_device *drm_dev,
-                               struct sg_table *sgt,
-                               enum dma_data_direction dir);
-
-/* unmap sgt from dma region. */
-void exynos_gem_unmap_sgt_from_dma(struct drm_device *drm_dev,
-                               struct sg_table *sgt,
-                               enum dma_data_direction dir);
-
 /* low-level interface prime helpers */
 struct sg_table *exynos_drm_gem_prime_get_sg_table(struct drm_gem_object *obj);
 struct drm_gem_object *
-- 
1.9.1

Reply via email to