Commit 0ae622c5 authored by Xu YiPing's avatar Xu YiPing Committed by Sam Ravnborg

drm: kirin: Rename ade_plane to kirin_plane

As part of refactoring the kirin driver to better support
different hardware revisions, this patch renames the
struct ade_plane to kirin_plane.

The struct kirin_plane will later used by both kirin620 and
future kirin960 driver, and will be moved to a common
kirin_drm_drv.h in a future patch

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-7-john.stultz@linaro.org
parent a202da16
...@@ -41,8 +41,9 @@ ...@@ -41,8 +41,9 @@
#define to_ade_crtc(crtc) \ #define to_ade_crtc(crtc) \
container_of(crtc, struct ade_crtc, base) container_of(crtc, struct ade_crtc, base)
#define to_ade_plane(plane) \ #define to_kirin_plane(plane) \
container_of(plane, struct ade_plane, base) container_of(plane, struct kirin_plane, base)
struct ade_hw_ctx { struct ade_hw_ctx {
void __iomem *base; void __iomem *base;
...@@ -62,15 +63,15 @@ struct ade_crtc { ...@@ -62,15 +63,15 @@ struct ade_crtc {
bool enable; bool enable;
}; };
struct ade_plane { struct kirin_plane {
struct drm_plane base; struct drm_plane base;
void *ctx; void *hw_ctx;
u8 ch; /* channel */ u32 ch;
}; };
struct ade_data { struct ade_data {
struct ade_crtc acrtc; struct ade_crtc acrtc;
struct ade_plane aplane[ADE_CH_NUM]; struct kirin_plane planes[ADE_CH_NUM];
struct ade_hw_ctx ctx; struct ade_hw_ctx ctx;
}; };
...@@ -795,16 +796,16 @@ static void ade_compositor_routing_disable(void __iomem *base, u32 ch) ...@@ -795,16 +796,16 @@ static void ade_compositor_routing_disable(void __iomem *base, u32 ch)
/* /*
* Typicaly, a channel looks like: DMA-->clip-->scale-->ctrans-->compositor * Typicaly, a channel looks like: DMA-->clip-->scale-->ctrans-->compositor
*/ */
static void ade_update_channel(struct ade_plane *aplane, static void ade_update_channel(struct kirin_plane *kplane,
struct drm_framebuffer *fb, int crtc_x, struct drm_framebuffer *fb, int crtc_x,
int crtc_y, unsigned int crtc_w, int crtc_y, unsigned int crtc_w,
unsigned int crtc_h, u32 src_x, unsigned int crtc_h, u32 src_x,
u32 src_y, u32 src_w, u32 src_h) u32 src_y, u32 src_w, u32 src_h)
{ {
struct ade_hw_ctx *ctx = aplane->ctx; struct ade_hw_ctx *ctx = kplane->hw_ctx;
void __iomem *base = ctx->base; void __iomem *base = ctx->base;
u32 fmt = ade_get_format(fb->format->format); u32 fmt = ade_get_format(fb->format->format);
u32 ch = aplane->ch; u32 ch = kplane->ch;
u32 in_w; u32 in_w;
u32 in_h; u32 in_h;
...@@ -828,11 +829,11 @@ static void ade_update_channel(struct ade_plane *aplane, ...@@ -828,11 +829,11 @@ static void ade_update_channel(struct ade_plane *aplane,
ade_compositor_routing_set(base, ch, crtc_x, crtc_y, in_w, in_h, fmt); ade_compositor_routing_set(base, ch, crtc_x, crtc_y, in_w, in_h, fmt);
} }
static void ade_disable_channel(struct ade_plane *aplane) static void ade_disable_channel(struct kirin_plane *kplane)
{ {
struct ade_hw_ctx *ctx = aplane->ctx; struct ade_hw_ctx *ctx = kplane->hw_ctx;
void __iomem *base = ctx->base; void __iomem *base = ctx->base;
u32 ch = aplane->ch; u32 ch = kplane->ch;
DRM_DEBUG_DRIVER("disable channel%d\n", ch + 1); DRM_DEBUG_DRIVER("disable channel%d\n", ch + 1);
...@@ -895,9 +896,9 @@ static void ade_plane_atomic_update(struct drm_plane *plane, ...@@ -895,9 +896,9 @@ static void ade_plane_atomic_update(struct drm_plane *plane,
struct drm_plane_state *old_state) struct drm_plane_state *old_state)
{ {
struct drm_plane_state *state = plane->state; struct drm_plane_state *state = plane->state;
struct ade_plane *aplane = to_ade_plane(plane); struct kirin_plane *kplane = to_kirin_plane(plane);
ade_update_channel(aplane, state->fb, state->crtc_x, state->crtc_y, ade_update_channel(kplane, state->fb, state->crtc_x, state->crtc_y,
state->crtc_w, state->crtc_h, state->crtc_w, state->crtc_h,
state->src_x >> 16, state->src_y >> 16, state->src_x >> 16, state->src_y >> 16,
state->src_w >> 16, state->src_h >> 16); state->src_w >> 16, state->src_h >> 16);
...@@ -906,9 +907,9 @@ static void ade_plane_atomic_update(struct drm_plane *plane, ...@@ -906,9 +907,9 @@ static void ade_plane_atomic_update(struct drm_plane *plane,
static void ade_plane_atomic_disable(struct drm_plane *plane, static void ade_plane_atomic_disable(struct drm_plane *plane,
struct drm_plane_state *old_state) struct drm_plane_state *old_state)
{ {
struct ade_plane *aplane = to_ade_plane(plane); struct kirin_plane *kplane = to_kirin_plane(plane);
ade_disable_channel(aplane); ade_disable_channel(kplane);
} }
static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { static const struct drm_plane_helper_funcs ade_plane_helper_funcs = {
...@@ -926,7 +927,7 @@ static struct drm_plane_funcs ade_plane_funcs = { ...@@ -926,7 +927,7 @@ static struct drm_plane_funcs ade_plane_funcs = {
.atomic_destroy_state = drm_atomic_helper_plane_destroy_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state,
}; };
static int ade_plane_init(struct drm_device *dev, struct ade_plane *aplane, static int ade_plane_init(struct drm_device *dev, struct kirin_plane *kplane,
enum drm_plane_type type) enum drm_plane_type type)
{ {
const u32 *fmts; const u32 *fmts;
...@@ -934,18 +935,18 @@ static int ade_plane_init(struct drm_device *dev, struct ade_plane *aplane, ...@@ -934,18 +935,18 @@ static int ade_plane_init(struct drm_device *dev, struct ade_plane *aplane,
int ret = 0; int ret = 0;
/* get properties */ /* get properties */
fmts_cnt = ade_get_channel_formats(aplane->ch, &fmts); fmts_cnt = ade_get_channel_formats(kplane->ch, &fmts);
if (ret) if (ret)
return ret; return ret;
ret = drm_universal_plane_init(dev, &aplane->base, 1, &ade_plane_funcs, ret = drm_universal_plane_init(dev, &kplane->base, 1, &ade_plane_funcs,
fmts, fmts_cnt, NULL, type, NULL); fmts, fmts_cnt, NULL, type, NULL);
if (ret) { if (ret) {
DRM_ERROR("fail to init plane, ch=%d\n", aplane->ch); DRM_ERROR("fail to init plane, ch=%d\n", kplane->ch);
return ret; return ret;
} }
drm_plane_helper_add(&aplane->base, &ade_plane_helper_funcs); drm_plane_helper_add(&kplane->base, &ade_plane_helper_funcs);
return 0; return 0;
} }
...@@ -1007,7 +1008,7 @@ static int ade_drm_init(struct platform_device *pdev) ...@@ -1007,7 +1008,7 @@ static int ade_drm_init(struct platform_device *pdev)
struct ade_data *ade; struct ade_data *ade;
struct ade_hw_ctx *ctx; struct ade_hw_ctx *ctx;
struct ade_crtc *acrtc; struct ade_crtc *acrtc;
struct ade_plane *aplane; struct kirin_plane *kplane;
enum drm_plane_type type; enum drm_plane_type type;
int ret; int ret;
int i; int i;
...@@ -1033,19 +1034,19 @@ static int ade_drm_init(struct platform_device *pdev) ...@@ -1033,19 +1034,19 @@ static int ade_drm_init(struct platform_device *pdev)
* need to do. * need to do.
*/ */
for (i = 0; i < ADE_CH_NUM; i++) { for (i = 0; i < ADE_CH_NUM; i++) {
aplane = &ade->aplane[i]; kplane = &ade->planes[i];
aplane->ch = i; kplane->ch = i;
aplane->ctx = ctx; kplane->hw_ctx = ctx;
type = i == PRIMARY_CH ? DRM_PLANE_TYPE_PRIMARY : type = i == PRIMARY_CH ? DRM_PLANE_TYPE_PRIMARY :
DRM_PLANE_TYPE_OVERLAY; DRM_PLANE_TYPE_OVERLAY;
ret = ade_plane_init(dev, aplane, type); ret = ade_plane_init(dev, kplane, type);
if (ret) if (ret)
return ret; return ret;
} }
/* crtc init */ /* crtc init */
ret = ade_crtc_init(dev, &acrtc->base, &ade->aplane[PRIMARY_CH].base); ret = ade_crtc_init(dev, &acrtc->base, &ade->planes[PRIMARY_CH].base);
if (ret) if (ret)
return ret; return ret;
......
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