Move rcar_du_dumb_create() to RCar DU KMS lib.

Signed-off-by: Biju Das <biju.das...@bp.renesas.com>
---
 drivers/gpu/drm/rcar-du/rcar_du_kms.c     | 21 -------------------
 drivers/gpu/drm/rcar-du/rcar_du_kms.h     |  3 ---
 drivers/gpu/drm/rcar-du/rcar_du_kms_lib.c | 25 +++++++++++++++++++++++
 drivers/gpu/drm/rcar-du/rcar_du_kms_lib.h |  3 +++
 4 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c 
b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
index b63808025578..c05a1925755f 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
@@ -82,27 +82,6 @@ struct drm_gem_object 
*rcar_du_gem_prime_import_sg_table(struct drm_device *dev,
        return gem_obj;
 }
 
-int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev,
-                       struct drm_mode_create_dumb *args)
-{
-       struct rcar_du_device *rcdu = to_rcar_du_device(dev);
-       unsigned int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-       unsigned int align;
-
-       /*
-        * The R8A7779 DU requires a 16 pixels pitch alignment as documented,
-        * but the R8A7790 DU seems to require a 128 bytes pitch alignment.
-        */
-       if (rcar_du_needs(rcdu, RCAR_DU_QUIRK_ALIGN_128B))
-               align = 128;
-       else
-               align = 16 * args->bpp / 8;
-
-       args->pitch = roundup(min_pitch, align);
-
-       return drm_gem_cma_dumb_create_internal(file, dev, args);
-}
-
 static struct drm_framebuffer *
 rcar_du_fb_create(struct drm_device *dev, struct drm_file *file_priv,
                  const struct drm_mode_fb_cmd2 *mode_cmd)
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.h 
b/drivers/gpu/drm/rcar-du/rcar_du_kms.h
index 58a66dc355bf..e335a47ec72f 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.h
@@ -14,9 +14,6 @@
 
 int rcar_du_modeset_init(struct rcar_du_device *rcdu);
 
-int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev,
-                       struct drm_mode_create_dumb *args);
-
 struct drm_gem_object *rcar_du_gem_prime_import_sg_table(struct drm_device 
*dev,
                                struct dma_buf_attachment *attach,
                                struct sg_table *sgt);
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.c 
b/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.c
index 40ccd8635c34..cc86524a826a 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.c
@@ -322,3 +322,28 @@ const struct rcar_du_format_info *rcar_du_format_info(u32 
fourcc)
 
        return NULL;
 }
+
+/* 
-----------------------------------------------------------------------------
+ * Frame buffer
+ */
+
+int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev,
+                       struct drm_mode_create_dumb *args)
+{
+       struct rcar_du_device *rcdu = to_rcar_du_device(dev);
+       unsigned int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
+       unsigned int align;
+
+       /*
+        * The R8A7779 DU requires a 16 pixels pitch alignment as documented,
+        * but the R8A7790 DU seems to require a 128 bytes pitch alignment.
+        */
+       if (rcar_du_needs(rcdu, RCAR_DU_QUIRK_ALIGN_128B))
+               align = 128;
+       else
+               align = 16 * args->bpp / 8;
+
+       args->pitch = roundup(min_pitch, align);
+
+       return drm_gem_cma_dumb_create_internal(file, dev, args);
+}
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.h 
b/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.h
index 5fa488abb681..15505b51c849 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms_lib.h
@@ -32,4 +32,7 @@ struct rcar_du_format_info {
 
 const struct rcar_du_format_info *rcar_du_format_info(u32 fourcc);
 
+int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev,
+                       struct drm_mode_create_dumb *args);
+
 #endif /* __RCAR_DU_KMS_LIB_H__ */
-- 
2.25.1

Reply via email to