Re: [PATCH V2] drm/exynos: enable fimd clocks in probe before accessing fimd registers
Hi Rahul, On 22 May 2014 10:46, Rahul Sharma rahul.sha...@samsung.com wrote: From: Rahul Sharma rahul.sha...@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.sha...@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 -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH V2] drm/exynos: enable fimd clocks in probe before accessing fimd registers
On 22 May 2014 12:06, Rahul Sharma rahul.sha...@samsung.com wrote: On 22 May 2014 11:51, Sachin Kamat sachin.ka...@linaro.org wrote: Hi Rahul, [snip] + clk_prepare_enable(ctx-bus_clk); Probably a check for its success? + clk_prepare_enable(ctx-lcd_clk); Generally we don't check this in any of the driver. It will be quite unnecessary. However in your case, since you mentioned if the clock is not enabled, it will hang the system when fimd probe tries to read the register, this check would ensure it doesn't happen (hang) even if clk_prepare_enable fails for whatever reasons. -- With warm regards, Sachin -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH V2] drm/exynos: enable fimd clocks in probe before accessing fimd registers
On Thu, May 22, 2014 at 12:06:16PM +0530, Rahul Sharma wrote: On 22 May 2014 11:51, Sachin Kamat sachin.ka...@linaro.org wrote: Hi Rahul, [snip] + clk_prepare_enable(ctx-bus_clk); Probably a check for its success? + clk_prepare_enable(ctx-lcd_clk); Generally we don't check this in any of the driver. It will be quite unnecessary. Then those drivers are all buggy. There's a reason why this function returns an int rather than void. Just because you've never seen it fail doesn't mean it can't. Thierry pgpm3_WOf2KaZ.pgp Description: PGP signature
Re: [PATCH V2] drm/exynos: enable fimd clocks in probe before accessing fimd registers
On 22 May 2014 13:33, Thierry Reding thierry.red...@gmail.com wrote: On Thu, May 22, 2014 at 12:06:16PM +0530, Rahul Sharma wrote: On 22 May 2014 11:51, Sachin Kamat sachin.ka...@linaro.org wrote: Hi Rahul, [snip] + clk_prepare_enable(ctx-bus_clk); Probably a check for its success? + clk_prepare_enable(ctx-lcd_clk); Generally we don't check this in any of the driver. It will be quite unnecessary. Then those drivers are all buggy. There's a reason why this function returns an int rather than void. Just because you've never seen it fail doesn't mean it can't. Okay... I don't mind putting extra checks. V3 is coming :). Best Regards, Rahul Sharma Thierry ___ dri-devel mailing list dri-de...@lists.freedesktop.org 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH V2] drm/exynos: enable fimd clocks in probe before accessing fimd registers
From: Rahul Sharma rahul.sha...@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.sha...@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); + clk_prepare_enable(ctx-lcd_clk); + for (win = 0; win WINDOWS_NR; win++) fimd_clear_win(ctx, win); + clk_disable_unprepare(ctx-lcd_clk); + clk_disable_unprepare(ctx-bus_clk); + return 0; } -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html