drm/exynos: add error messages if clks failed to get enabled
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 3 Jun 2015 20:17:16 +0000 (17:17 -0300)
committerInki Dae <daeinki@gmail.com>
Fri, 19 Jun 2015 15:32:54 +0000 (00:32 +0900)
Check error and call DRM_ERROR if clk_prepare_enable() fails.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos7_drm_decon.c
drivers/gpu/drm/exynos/exynos_drm_fimd.c
drivers/gpu/drm/exynos/exynos_mixer.c

index d659ba2..d9798e2 100644 (file)
@@ -606,6 +606,7 @@ static void decon_init(struct decon_context *ctx)
 static void decon_enable(struct exynos_drm_crtc *crtc)
 {
        struct decon_context *ctx = crtc->ctx;
+       int ret;
 
        if (!ctx->suspended)
                return;
@@ -614,10 +615,29 @@ static void decon_enable(struct exynos_drm_crtc *crtc)
 
        pm_runtime_get_sync(ctx->dev);
 
-       clk_prepare_enable(ctx->pclk);
-       clk_prepare_enable(ctx->aclk);
-       clk_prepare_enable(ctx->eclk);
-       clk_prepare_enable(ctx->vclk);
+       ret = clk_prepare_enable(ctx->pclk);
+       if (ret < 0) {
+               DRM_ERROR("Failed to prepare_enable the pclk [%d]\n", ret);
+               return;
+       }
+
+       ret = clk_prepare_enable(ctx->aclk);
+       if (ret < 0) {
+               DRM_ERROR("Failed to prepare_enable the aclk [%d]\n", ret);
+               return;
+       }
+
+       ret = clk_prepare_enable(ctx->eclk);
+       if  (ret < 0) {
+               DRM_ERROR("Failed to prepare_enable the eclk [%d]\n", ret);
+               return;
+       }
+
+       ret = clk_prepare_enable(ctx->vclk);
+       if  (ret < 0) {
+               DRM_ERROR("Failed to prepare_enable the vclk [%d]\n", ret);
+               return;
+       }
 
        decon_init(ctx);
 
Simple merge