drm: kirin: Move kirin_crtc, kirin_plane, kirin_format to kirin_drm_drv.h
authorXu YiPing <xuyiping@hisilicon.com>
Tue, 20 Aug 2019 23:06:12 +0000 (23:06 +0000)
committerSam Ravnborg <sam@ravnborg.org>
Wed, 21 Aug 2019 17:15:37 +0000 (19:15 +0200)
As part of refactoring the kirin driver to better support
different hardware revisions, this patch moves some shared
structures and helpers to the common kirin_drm_drv.h

These structures will later used by both kirin620 and
future kirin960 driver

Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel <dri-devel@lists.freedesktop.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Xinliang Liu <z.liuxinliang@hisilicon.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Xu YiPing <xuyiping@hisilicon.com>
[jstultz: reworded commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190820230626.23253-12-john.stultz@linaro.org
drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h

index da9f477679a39d8a818f1bd61f3fedeca2493270..3fbf099597c1ac13efbfb4546f4496c34b0a9bb9 100644 (file)
 #define OUT_OVLY       ADE_OVLY2 /* output overlay compositor */
 #define ADE_DEBUG      1
 
-#define to_kirin_crtc(crtc) \
-       container_of(crtc, struct kirin_crtc, base)
-
-#define to_kirin_plane(plane) \
-       container_of(plane, struct kirin_plane, base)
-
 
 struct ade_hw_ctx {
        void __iomem  *base;
@@ -59,18 +53,6 @@ struct ade_hw_ctx {
        struct drm_crtc *crtc;
 };
 
-struct kirin_crtc {
-       struct drm_crtc base;
-       void *hw_ctx;
-       bool enable;
-};
-
-struct kirin_plane {
-       struct drm_plane base;
-       void *hw_ctx;
-       u32 ch;
-};
-
 struct ade_data {
        struct kirin_crtc crtc;
        struct kirin_plane planes[ADE_CH_NUM];
@@ -78,12 +60,7 @@ struct ade_data {
 };
 
 /* ade-format info: */
-struct ade_format {
-       u32 pixel_format;
-       enum ade_fb_format ade_format;
-};
-
-static const struct ade_format ade_formats[] = {
+static const struct kirin_format ade_formats[] = {
        /* 16bpp RGB: */
        { DRM_FORMAT_RGB565, ADE_RGB_565 },
        { DRM_FORMAT_BGR565, ADE_BGR_565 },
@@ -127,7 +104,7 @@ static u32 ade_get_format(u32 pixel_format)
 
        for (i = 0; i < ARRAY_SIZE(ade_formats); i++)
                if (ade_formats[i].pixel_format == pixel_format)
-                       return ade_formats[i].ade_format;
+                       return ade_formats[i].hw_format;
 
        /* not found */
        DRM_ERROR("Not found pixel format!!fourcc_format= %d\n",
index 22d1291668cd54282cf48f1ec58c83e1710e1256..d47cbb4279793b9a5872eccd9499a69ab594f857 100644 (file)
@@ -9,6 +9,30 @@
 
 #define MAX_CRTC       2
 
+#define to_kirin_crtc(crtc) \
+       container_of(crtc, struct kirin_crtc, base)
+
+#define to_kirin_plane(plane) \
+       container_of(plane, struct kirin_plane, base)
+
+/* kirin-format translate table */
+struct kirin_format {
+       u32 pixel_format;
+       u32 hw_format;
+};
+
+struct kirin_crtc {
+       struct drm_crtc base;
+       void *hw_ctx;
+       bool enable;
+};
+
+struct kirin_plane {
+       struct drm_plane base;
+       void *hw_ctx;
+       u32 ch;
+};
+
 /* display controller init/cleanup ops */
 struct kirin_dc_ops {
        int (*init)(struct platform_device *pdev);