mirror of https://gitee.com/openkylin/linux.git
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: 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
This commit is contained in:
parent
529277121b
commit
c11a03f6eb
|
@ -38,12 +38,6 @@
|
|||
#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",
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue