mirror of https://gitee.com/openkylin/linux.git
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: 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-7-john.stultz@linaro.org
This commit is contained in:
parent
a202da1643
commit
0ae622c532
|
@ -41,8 +41,9 @@
|
|||
#define to_ade_crtc(crtc) \
|
||||
container_of(crtc, struct ade_crtc, base)
|
||||
|
||||
#define to_ade_plane(plane) \
|
||||
container_of(plane, struct ade_plane, base)
|
||||
#define to_kirin_plane(plane) \
|
||||
container_of(plane, struct kirin_plane, base)
|
||||
|
||||
|
||||
struct ade_hw_ctx {
|
||||
void __iomem *base;
|
||||
|
@ -62,15 +63,15 @@ struct ade_crtc {
|
|||
bool enable;
|
||||
};
|
||||
|
||||
struct ade_plane {
|
||||
struct kirin_plane {
|
||||
struct drm_plane base;
|
||||
void *ctx;
|
||||
u8 ch; /* channel */
|
||||
void *hw_ctx;
|
||||
u32 ch;
|
||||
};
|
||||
|
||||
struct ade_data {
|
||||
struct ade_crtc acrtc;
|
||||
struct ade_plane aplane[ADE_CH_NUM];
|
||||
struct kirin_plane planes[ADE_CH_NUM];
|
||||
struct ade_hw_ctx ctx;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
*/
|
||||
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,
|
||||
int crtc_y, unsigned int crtc_w,
|
||||
unsigned int crtc_h, u32 src_x,
|
||||
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;
|
||||
u32 fmt = ade_get_format(fb->format->format);
|
||||
u32 ch = aplane->ch;
|
||||
u32 ch = kplane->ch;
|
||||
u32 in_w;
|
||||
u32 in_h;
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
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;
|
||||
u32 ch = aplane->ch;
|
||||
u32 ch = kplane->ch;
|
||||
|
||||
DRM_DEBUG_DRIVER("disable channel%d\n", ch + 1);
|
||||
|
||||
|
@ -894,10 +895,10 @@ static int ade_plane_atomic_check(struct drm_plane *plane,
|
|||
static void ade_plane_atomic_update(struct drm_plane *plane,
|
||||
struct drm_plane_state *old_state)
|
||||
{
|
||||
struct drm_plane_state *state = plane->state;
|
||||
struct ade_plane *aplane = to_ade_plane(plane);
|
||||
struct drm_plane_state *state = plane->state;
|
||||
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->src_x >> 16, state->src_y >> 16,
|
||||
state->src_w >> 16, state->src_h >> 16);
|
||||
|
@ -906,9 +907,9 @@ static void ade_plane_atomic_update(struct drm_plane *plane,
|
|||
static void ade_plane_atomic_disable(struct drm_plane *plane,
|
||||
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 = {
|
||||
|
@ -926,7 +927,7 @@ static struct drm_plane_funcs ade_plane_funcs = {
|
|||
.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)
|
||||
{
|
||||
const u32 *fmts;
|
||||
|
@ -934,18 +935,18 @@ static int ade_plane_init(struct drm_device *dev, struct ade_plane *aplane,
|
|||
int ret = 0;
|
||||
|
||||
/* get properties */
|
||||
fmts_cnt = ade_get_channel_formats(aplane->ch, &fmts);
|
||||
fmts_cnt = ade_get_channel_formats(kplane->ch, &fmts);
|
||||
if (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);
|
||||
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;
|
||||
}
|
||||
|
||||
drm_plane_helper_add(&aplane->base, &ade_plane_helper_funcs);
|
||||
drm_plane_helper_add(&kplane->base, &ade_plane_helper_funcs);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1007,7 +1008,7 @@ static int ade_drm_init(struct platform_device *pdev)
|
|||
struct ade_data *ade;
|
||||
struct ade_hw_ctx *ctx;
|
||||
struct ade_crtc *acrtc;
|
||||
struct ade_plane *aplane;
|
||||
struct kirin_plane *kplane;
|
||||
enum drm_plane_type type;
|
||||
int ret;
|
||||
int i;
|
||||
|
@ -1033,19 +1034,19 @@ static int ade_drm_init(struct platform_device *pdev)
|
|||
* need to do.
|
||||
*/
|
||||
for (i = 0; i < ADE_CH_NUM; i++) {
|
||||
aplane = &ade->aplane[i];
|
||||
aplane->ch = i;
|
||||
aplane->ctx = ctx;
|
||||
kplane = &ade->planes[i];
|
||||
kplane->ch = i;
|
||||
kplane->hw_ctx = ctx;
|
||||
type = i == PRIMARY_CH ? DRM_PLANE_TYPE_PRIMARY :
|
||||
DRM_PLANE_TYPE_OVERLAY;
|
||||
|
||||
ret = ade_plane_init(dev, aplane, type);
|
||||
ret = ade_plane_init(dev, kplane, type);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 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)
|
||||
return ret;
|
||||
|
||||
|
|
Loading…
Reference in New Issue