Hi Inki, 2015-06-03 Inki Dae <inki.dae@xxxxxxxxxxx>: > Hi, > > On 2015년 06월 02일 00:04, Gustavo Padovan wrote: > > From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > > > > To follow more closely the new atomic API we split the dpms() > > helper into the enable() and disable() helper to get exactly the > > same semantics. > > > > Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/exynos/exynos7_drm_decon.c | 87 ++++++------------------------ > > drivers/gpu/drm/exynos/exynos_drm_crtc.c | 8 +-- > > drivers/gpu/drm/exynos/exynos_drm_drv.h | 6 ++- > > drivers/gpu/drm/exynos/exynos_drm_fimd.c | 69 +++++------------------- > > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 53 +++++++----------- > > drivers/gpu/drm/exynos/exynos_mixer.c | 26 +++------ > > 6 files changed, 62 insertions(+), 187 deletions(-) > > > > diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c > > index f29e4be..d659ba2 100644 > > --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c > > +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c > > @@ -603,75 +603,39 @@ static void decon_init(struct decon_context *ctx) > > writel(VIDCON1_VCLK_HOLD, ctx->regs + VIDCON1(0)); > > } > > > > -static int decon_poweron(struct decon_context *ctx) > > +static void decon_enable(struct exynos_drm_crtc *crtc) > > { > > - int ret; > > + struct decon_context *ctx = crtc->ctx; > > > > if (!ctx->suspended) > > - return 0; > > + return; > > > > ctx->suspended = false; > > > > pm_runtime_get_sync(ctx->dev); > > > > - ret = clk_prepare_enable(ctx->pclk); > > - if (ret < 0) { > > - DRM_ERROR("Failed to prepare_enable the pclk [%d]\n", ret); > > - goto pclk_err; > > - } > > - > > - ret = clk_prepare_enable(ctx->aclk); > > - if (ret < 0) { > > - DRM_ERROR("Failed to prepare_enable the aclk [%d]\n", ret); > > - goto aclk_err; > > - } > > - > > - ret = clk_prepare_enable(ctx->eclk); > > - if (ret < 0) { > > - DRM_ERROR("Failed to prepare_enable the eclk [%d]\n", ret); > > - goto eclk_err; > > - } > > - > > - ret = clk_prepare_enable(ctx->vclk); > > - if (ret < 0) { > > - DRM_ERROR("Failed to prepare_enable the vclk [%d]\n", ret); > > - goto vclk_err; > > - } > > + clk_prepare_enable(ctx->pclk); > > + clk_prepare_enable(ctx->aclk); > > + clk_prepare_enable(ctx->eclk); > > + clk_prepare_enable(ctx->vclk); > > Merged this patch series to exynos-drm-next. However, this patch > especially above codes is required for more clean-up. Even though > decon_enable function never return error number, I think its internal > codes should be considered for some exception cases to check where an > error occurred at. So could you post the clean-up patch? Thanks for merging the patches! I will send follow-up patches shortly to add checks and errors messages back. Gustavo _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel