]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
drm/exynos: Prepare/Unprepare HDMI subsystem clocks
authorSean Paul <seanpaul@chromium.org>
Tue, 11 Jun 2013 06:54:02 +0000 (12:24 +0530)
committerInki Dae <daeinki@gmail.com>
Fri, 28 Jun 2013 12:13:56 +0000 (21:13 +0900)
Change the clk_enable/clk_disable calls in mixer and hdmi drivers into
clk_prepare_enable/clk_disable_unprepare, respectively.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_hdmi.c
drivers/gpu/drm/exynos/exynos_mixer.c

index 65bb9841317baf59903ceb67fd31c5f586343376..83bd496ca6a3faec875809cc6083b85a2b58feb1 100644 (file)
@@ -1111,9 +1111,9 @@ static void hdmi_v13_mode_apply(struct hdmi_context *hdata)
                hdmi_regs_dump(hdata, "timing apply");
        }
 
-       clk_disable(hdata->res.sclk_hdmi);
+       clk_disable_unprepare(hdata->res.sclk_hdmi);
        clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_hdmiphy);
-       clk_enable(hdata->res.sclk_hdmi);
+       clk_prepare_enable(hdata->res.sclk_hdmi);
 
        /* enable HDMI and timing generator */
        hdmi_reg_writemask(hdata, HDMI_CON_0, ~0, HDMI_EN);
@@ -1278,9 +1278,9 @@ static void hdmi_v14_mode_apply(struct hdmi_context *hdata)
                hdmi_regs_dump(hdata, "timing apply");
        }
 
-       clk_disable(hdata->res.sclk_hdmi);
+       clk_disable_unprepare(hdata->res.sclk_hdmi);
        clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_hdmiphy);
-       clk_enable(hdata->res.sclk_hdmi);
+       clk_prepare_enable(hdata->res.sclk_hdmi);
 
        /* enable HDMI and timing generator */
        hdmi_reg_writemask(hdata, HDMI_CON_0, ~0, HDMI_EN);
@@ -1304,9 +1304,9 @@ static void hdmiphy_conf_reset(struct hdmi_context *hdata)
        u8 buffer[2];
        u32 reg;
 
-       clk_disable(hdata->res.sclk_hdmi);
+       clk_disable_unprepare(hdata->res.sclk_hdmi);
        clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_pixel);
-       clk_enable(hdata->res.sclk_hdmi);
+       clk_prepare_enable(hdata->res.sclk_hdmi);
 
        /* operation mode */
        buffer[0] = 0x1f;
@@ -1683,9 +1683,9 @@ static void hdmi_poweron(struct hdmi_context *hdata)
        if (regulator_bulk_enable(res->regul_count, res->regul_bulk))
                DRM_DEBUG_KMS("failed to enable regulator bulk\n");
 
-       clk_enable(res->hdmiphy);
-       clk_enable(res->hdmi);
-       clk_enable(res->sclk_hdmi);
+       clk_prepare_enable(res->hdmiphy);
+       clk_prepare_enable(res->hdmi);
+       clk_prepare_enable(res->sclk_hdmi);
 
        hdmiphy_poweron(hdata);
 }
@@ -1706,9 +1706,9 @@ static void hdmi_poweroff(struct hdmi_context *hdata)
        hdmiphy_conf_reset(hdata);
        hdmiphy_poweroff(hdata);
 
-       clk_disable(res->sclk_hdmi);
-       clk_disable(res->hdmi);
-       clk_disable(res->hdmiphy);
+       clk_disable_unprepare(res->sclk_hdmi);
+       clk_disable_unprepare(res->hdmi);
+       clk_disable_unprepare(res->hdmiphy);
        regulator_bulk_disable(res->regul_count, res->regul_bulk);
 
        mutex_lock(&hdata->hdmi_mutex);
index 1f4cec12e3267b6d35d6d98b0b4adb764ebb219a..f36f878f1e3a4774e05ab172c78e50ecbe6c4b8c 100644 (file)
@@ -892,10 +892,10 @@ static void mixer_poweron(struct mixer_context *ctx)
        ctx->powered = true;
        mutex_unlock(&ctx->mixer_mutex);
 
-       clk_enable(res->mixer);
+       clk_prepare_enable(res->mixer);
        if (ctx->vp_enabled) {
-               clk_enable(res->vp);
-               clk_enable(res->sclk_mixer);
+               clk_prepare_enable(res->vp);
+               clk_prepare_enable(res->sclk_mixer);
        }
 
        mixer_reg_write(res, MXR_INT_EN, ctx->int_en);
@@ -917,10 +917,10 @@ static void mixer_poweroff(struct mixer_context *ctx)
 
        ctx->int_en = mixer_reg_read(res, MXR_INT_EN);
 
-       clk_disable(res->mixer);
+       clk_disable_unprepare(res->mixer);
        if (ctx->vp_enabled) {
-               clk_disable(res->vp);
-               clk_disable(res->sclk_mixer);
+               clk_disable_unprepare(res->vp);
+               clk_disable_unprepare(res->sclk_mixer);
        }
 
        mutex_lock(&ctx->mixer_mutex);