Hi Rahul, On 22 May 2014 10:46, Rahul Sharma <rahul.sharma at samsung.com> wrote: > From: Rahul Sharma <Rahul.Sharma at samsung.com> > > Fimd probe is accessing fimd Registers without enabling the fimd > gate clocks. If FIMD clocks are kept disabled in Uboot or disbaled > during kernel boottime, the system hangs during boottime. > > This issue got surfaced when verifying with sysmmu enabled. Probe of > fimd Sysmmu enables the master clock before accessing sysmmu regs and > then disables. Later fimd probe tries to read the register without > enabling the clock which is wrong and hangs the system. > > Signed-off-by: Rahul Sharma <Rahul.Sharma at samsung.com> > --- > Rebased on exynos-drm-next branch. > > drivers/gpu/drm/exynos/exynos_drm_fimd.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c > b/drivers/gpu/drm/exynos/exynos_drm_fimd.c > index 173ee97..a79ba0a 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c > @@ -891,9 +891,15 @@ static int fimd_bind(struct device *dev, struct device > *master, void *data) > if (ctx->display) > exynos_drm_create_enc_conn(drm_dev, ctx->display); > > + clk_prepare_enable(ctx->bus_clk);
Probably a check for its success? > + clk_prepare_enable(ctx->lcd_clk); ditto. -- With warm regards, Sachin