Commit b8bf6836 authored by Shawn Guo's avatar Shawn Guo Committed by Sean Paul

drm: kirin: use crtc helper drm_crtc_from_index()

Use drm_crtc_from_index() to find drm_crtc for given index, so that we
do not need to maintain a pointer array in struct kirin_drm_private.

Reviewed-by: Xinliang Liu<z.liuxinliang@hisilicon.com>
Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1483961145-18453-3-git-send-email-shawnguo@kernel.org
parent a3c764e9
...@@ -304,8 +304,8 @@ static void ade_set_medianoc_qos(struct ade_crtc *acrtc) ...@@ -304,8 +304,8 @@ static void ade_set_medianoc_qos(struct ade_crtc *acrtc)
static int ade_enable_vblank(struct drm_device *dev, unsigned int pipe) static int ade_enable_vblank(struct drm_device *dev, unsigned int pipe)
{ {
struct kirin_drm_private *priv = dev->dev_private; struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe);
struct ade_crtc *acrtc = to_ade_crtc(priv->crtc[pipe]); struct ade_crtc *acrtc = to_ade_crtc(crtc);
struct ade_hw_ctx *ctx = acrtc->ctx; struct ade_hw_ctx *ctx = acrtc->ctx;
void __iomem *base = ctx->base; void __iomem *base = ctx->base;
...@@ -320,8 +320,8 @@ static int ade_enable_vblank(struct drm_device *dev, unsigned int pipe) ...@@ -320,8 +320,8 @@ static int ade_enable_vblank(struct drm_device *dev, unsigned int pipe)
static void ade_disable_vblank(struct drm_device *dev, unsigned int pipe) static void ade_disable_vblank(struct drm_device *dev, unsigned int pipe)
{ {
struct kirin_drm_private *priv = dev->dev_private; struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe);
struct ade_crtc *acrtc = to_ade_crtc(priv->crtc[pipe]); struct ade_crtc *acrtc = to_ade_crtc(crtc);
struct ade_hw_ctx *ctx = acrtc->ctx; struct ade_hw_ctx *ctx = acrtc->ctx;
void __iomem *base = ctx->base; void __iomem *base = ctx->base;
...@@ -575,7 +575,6 @@ static const struct drm_crtc_funcs ade_crtc_funcs = { ...@@ -575,7 +575,6 @@ static const struct drm_crtc_funcs ade_crtc_funcs = {
static int ade_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, static int ade_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
struct drm_plane *plane) struct drm_plane *plane)
{ {
struct kirin_drm_private *priv = dev->dev_private;
struct device_node *port; struct device_node *port;
int ret; int ret;
...@@ -599,7 +598,6 @@ static int ade_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, ...@@ -599,7 +598,6 @@ static int ade_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
} }
drm_crtc_helper_add(crtc, &ade_crtc_helper_funcs); drm_crtc_helper_add(crtc, &ade_crtc_helper_funcs);
priv->crtc[drm_crtc_index(crtc)] = crtc;
return 0; return 0;
} }
......
...@@ -20,7 +20,6 @@ struct kirin_dc_ops { ...@@ -20,7 +20,6 @@ struct kirin_dc_ops {
}; };
struct kirin_drm_private { struct kirin_drm_private {
struct drm_crtc *crtc[MAX_CRTC];
#ifdef CONFIG_DRM_FBDEV_EMULATION #ifdef CONFIG_DRM_FBDEV_EMULATION
struct drm_fbdev_cma *fbdev; struct drm_fbdev_cma *fbdev;
#endif #endif
......
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