Re: [PATCH V2] drm/exynos: enable fimd clocks in probe before accessing fimd registers

2014-05-22 Thread Sachin Kamat
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

2014-05-22 Thread Sachin Kamat
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

2014-05-22 Thread Thierry Reding
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

2014-05-22 Thread Rahul Sharma
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

2014-05-21 Thread Rahul Sharma
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