2013/3/20 Vikas Sajjan <vikas.sajjan@xxxxxxxxxx>: > While migrating to common clock framework (CCF), found that the FIMD clocks > were pulled down by the CCF. > If CCF finds any clock(s) which has NOT been claimed by any of the > drivers, then such clock(s) are PULLed low by CCF. > > By calling clk_prepare_enable() for FIMD clocks fixes the issue. > > this patch also replaces clk_disable() with clk_disable_unprepare() > during exit. > > Signed-off-by: Vikas Sajjan <vikas.sajjan@xxxxxxxxxx> > --- > Changes since v1: > - added error checking for clk_prepare_enable() and also replaced > clk_disable() with clk_disable_unprepare() during exit. > --- > drivers/gpu/drm/exynos/exynos_drm_fimd.c | 17 +++++++++++++++-- > 1 file changed, 15 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c > index 9537761..014d750 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c > @@ -934,6 +934,19 @@ static int fimd_probe(struct platform_device *pdev) > return ret; > } > > + ret = clk_prepare_enable(ctx->lcd_clk); > + if (ret) { > + dev_err(dev, "failed to enable 'sclk_fimd' clock\n"); > + return ret; > + } > + > + ret = clk_prepare_enable(ctx->bus_clk); > + if (ret) { > + clk_disable_unprepare(ctx->lcd_clk); > + dev_err(dev, "failed to enable 'fimd' clock\n"); > + return ret; > + } > + Please remove the above two clk_prepare_enable function calls and use them in fimd_clock() instead of clk_enable/disable(). When probed, fimd clock will be enabled by runtime pm. Thanks, Inki Dae > ctx->vidcon0 = pdata->vidcon0; > ctx->vidcon1 = pdata->vidcon1; > ctx->default_win = pdata->default_win; > @@ -981,8 +994,8 @@ static int fimd_remove(struct platform_device *pdev) > if (ctx->suspended) > goto out; > > - clk_disable(ctx->lcd_clk); > - clk_disable(ctx->bus_clk); > + clk_disable_unprepare(ctx->lcd_clk); > + clk_disable_unprepare(ctx->bus_clk); > > pm_runtime_set_suspended(dev); > pm_runtime_put_sync(dev); > -- > 1.7.9.5 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html