Commit c11a03f6 authored by Xu YiPing's avatar Xu YiPing Committed by Sam Ravnborg

drm: kirin: Move kirin_crtc, kirin_plane, kirin_format to kirin_drm_drv.h

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: default avatarXinliang Liu <z.liuxinliang@hisilicon.com>
Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarXu YiPing <xuyiping@hisilicon.com>
[jstultz: reworded commit message]
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190820230626.23253-12-john.stultz@linaro.org
parent 52927712
...@@ -38,12 +38,6 @@ ...@@ -38,12 +38,6 @@
#define OUT_OVLY ADE_OVLY2 /* output overlay compositor */ #define OUT_OVLY ADE_OVLY2 /* output overlay compositor */
#define ADE_DEBUG 1 #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 { struct ade_hw_ctx {
void __iomem *base; void __iomem *base;
...@@ -59,18 +53,6 @@ struct ade_hw_ctx { ...@@ -59,18 +53,6 @@ struct ade_hw_ctx {
struct drm_crtc *crtc; 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 ade_data {
struct kirin_crtc crtc; struct kirin_crtc crtc;
struct kirin_plane planes[ADE_CH_NUM]; struct kirin_plane planes[ADE_CH_NUM];
...@@ -78,12 +60,7 @@ struct ade_data { ...@@ -78,12 +60,7 @@ struct ade_data {
}; };
/* ade-format info: */ /* ade-format info: */
struct ade_format { static const struct kirin_format ade_formats[] = {
u32 pixel_format;
enum ade_fb_format ade_format;
};
static const struct ade_format ade_formats[] = {
/* 16bpp RGB: */ /* 16bpp RGB: */
{ DRM_FORMAT_RGB565, ADE_RGB_565 }, { DRM_FORMAT_RGB565, ADE_RGB_565 },
{ DRM_FORMAT_BGR565, ADE_BGR_565 }, { DRM_FORMAT_BGR565, ADE_BGR_565 },
...@@ -127,7 +104,7 @@ static u32 ade_get_format(u32 pixel_format) ...@@ -127,7 +104,7 @@ static u32 ade_get_format(u32 pixel_format)
for (i = 0; i < ARRAY_SIZE(ade_formats); i++) for (i = 0; i < ARRAY_SIZE(ade_formats); i++)
if (ade_formats[i].pixel_format == pixel_format) if (ade_formats[i].pixel_format == pixel_format)
return ade_formats[i].ade_format; return ade_formats[i].hw_format;
/* not found */ /* not found */
DRM_ERROR("Not found pixel format!!fourcc_format= %d\n", DRM_ERROR("Not found pixel format!!fourcc_format= %d\n",
......
...@@ -9,6 +9,30 @@ ...@@ -9,6 +9,30 @@
#define MAX_CRTC 2 #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 */ /* display controller init/cleanup ops */
struct kirin_dc_ops { struct kirin_dc_ops {
int (*init)(struct platform_device *pdev); int (*init)(struct platform_device *pdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment