From: Russell King <rmk+ker...@arm.linux.org.uk>

Clean up the etnaviv prime import handling by combining msm_gem_import()
and msm_gem_prime_import_sg_table(), and then giving it an etnaviv_
prefix.

Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
---
 drivers/staging/etnaviv/etnaviv_drv.c       |  2 +-
 drivers/staging/etnaviv/etnaviv_drv.h       |  6 ++----
 drivers/staging/etnaviv/etnaviv_gem_prime.c | 13 +++----------
 3 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/etnaviv/etnaviv_drv.c 
b/drivers/staging/etnaviv/etnaviv_drv.c
index 2d44fcd7299e..2b6800a782bb 100644
--- a/drivers/staging/etnaviv/etnaviv_drv.c
+++ b/drivers/staging/etnaviv/etnaviv_drv.c
@@ -508,7 +508,7 @@ static struct drm_driver etnaviv_drm_driver = {
        .gem_prime_pin      = msm_gem_prime_pin,
        .gem_prime_unpin    = msm_gem_prime_unpin,
        .gem_prime_get_sg_table = msm_gem_prime_get_sg_table,
-       .gem_prime_import_sg_table = msm_gem_prime_import_sg_table,
+       .gem_prime_import_sg_table = etnaviv_gem_prime_import_sg_table,
        .gem_prime_vmap     = msm_gem_prime_vmap,
        .gem_prime_vunmap   = msm_gem_prime_vunmap,
 #ifdef CONFIG_DEBUG_FS
diff --git a/drivers/staging/etnaviv/etnaviv_drv.h 
b/drivers/staging/etnaviv/etnaviv_drv.h
index a1543734bc2f..bdf6685ef6cc 100644
--- a/drivers/staging/etnaviv/etnaviv_drv.h
+++ b/drivers/staging/etnaviv/etnaviv_drv.h
@@ -91,8 +91,8 @@ int msm_gem_dumb_map_offset(struct drm_file *file, struct 
drm_device *dev,
 struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
 void *msm_gem_prime_vmap(struct drm_gem_object *obj);
 void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
-struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
-               size_t size, struct sg_table *sg);
+struct drm_gem_object *etnaviv_gem_prime_import_sg_table(struct drm_device 
*dev,
+               struct dma_buf_attachment *attach, struct sg_table *sg);
 int msm_gem_prime_pin(struct drm_gem_object *obj);
 void msm_gem_prime_unpin(struct drm_gem_object *obj);
 void *etnaviv_gem_vaddr_locked(struct drm_gem_object *obj);
@@ -109,8 +109,6 @@ int etnaviv_gem_new_handle(struct drm_device *dev, struct 
drm_file *file,
                uint32_t size, uint32_t flags, uint32_t *handle);
 struct drm_gem_object *etnaviv_gem_new(struct drm_device *dev,
                uint32_t size, uint32_t flags);
-struct drm_gem_object *msm_gem_import(struct drm_device *dev,
-               uint32_t size, struct sg_table *sgt);
 u32 etnaviv_buffer_init(struct etnaviv_gpu *gpu);
 void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, unsigned int event,
        struct etnaviv_gem_submit *submit);
diff --git a/drivers/staging/etnaviv/etnaviv_gem_prime.c 
b/drivers/staging/etnaviv/etnaviv_gem_prime.c
index 4cf9e043c604..d9742ae1fad1 100644
--- a/drivers/staging/etnaviv/etnaviv_gem_prime.c
+++ b/drivers/staging/etnaviv/etnaviv_gem_prime.c
@@ -39,12 +39,6 @@ void msm_gem_prime_vunmap(struct drm_gem_object *obj, void 
*vaddr)
        /* TODO msm_gem_vunmap() */
 }

-struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
-               size_t size, struct sg_table *sg)
-{
-       return msm_gem_import(dev, size, sg);
-}
-
 int msm_gem_prime_pin(struct drm_gem_object *obj)
 {
        if (!obj->import_attach)
@@ -77,14 +71,13 @@ static const struct etnaviv_gem_ops etnaviv_gem_prime_ops = 
{
        .release = etnaviv_gem_prime_release,
 };

-struct drm_gem_object *msm_gem_import(struct drm_device *dev,
-               uint32_t size, struct sg_table *sgt)
+struct drm_gem_object *etnaviv_gem_prime_import_sg_table(struct drm_device 
*dev,
+       struct dma_buf_attachment *attach, struct sg_table *sgt)
 {
        struct etnaviv_gem_object *etnaviv_obj;
+       size_t size = PAGE_ALIGN(attach->dmabuf->size);
        int ret, npages;

-       size = PAGE_ALIGN(size);
-
        ret = etnaviv_gem_new_private(dev, size, ETNA_BO_WC, &etnaviv_obj);
        if (ret < 0)
                return ERR_PTR(ret);
-- 
2.1.4

Reply via email to