diff mbox

[1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks

Message ID 1370933645-18344-2-git-send-email-rahul.sharma@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rahul Sharma June 11, 2013, 6:54 a.m. UTC
From: Sean Paul <seanpaul@chromium.org>

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>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c  |   24 ++++++++++++------------
 drivers/gpu/drm/exynos/exynos_mixer.c |   12 ++++++------
 2 files changed, 18 insertions(+), 18 deletions(-)

Comments

Inki Dae June 13, 2013, 11:46 a.m. UTC | #1
Applied.

Thanks,
Inki Dae

> -----Original Message-----
> From: Rahul Sharma [mailto:rahul.sharma@samsung.com]
> Sent: Tuesday, June 11, 2013 3:54 PM
> To: linux-samsung-soc@vger.kernel.org;
devicetree-discuss@lists.ozlabs.org;
> dri-devel@lists.freedesktop.org
> Cc: kgene.kim@samsung.com; sw0312.kim@samsung.com; inki.dae@samsung.com;
> seanpaul@chromium.org; joshi@samsung.com; r.sh.open@gmail.com; Rahul
> Sharma
> Subject: [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks
> 
> From: Sean Paul <seanpaul@chromium.org>
> 
> 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>
> ---
>  drivers/gpu/drm/exynos/exynos_hdmi.c  |   24 ++++++++++++------------
>  drivers/gpu/drm/exynos/exynos_mixer.c |   12 ++++++------
>  2 files changed, 18 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c
> b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index 04255fe..5a98194 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -1117,9 +1117,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);
> @@ -1284,9 +1284,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);
> @@ -1310,9 +1310,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;
> @@ -1701,9 +1701,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);
>  }
> @@ -1726,9 +1726,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);
> diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c
> b/drivers/gpu/drm/exynos/exynos_mixer.c
> index b0882b3..978894e 100644
> --- a/drivers/gpu/drm/exynos/exynos_mixer.c
> +++ b/drivers/gpu/drm/exynos/exynos_mixer.c
> @@ -900,10 +900,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);
> @@ -927,10 +927,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);
> --
> 1.7.10.4
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 04255fe..5a98194 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1117,9 +1117,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);
@@ -1284,9 +1284,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);
@@ -1310,9 +1310,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;
@@ -1701,9 +1701,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);
 }
@@ -1726,9 +1726,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);
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index b0882b3..978894e 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -900,10 +900,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);
@@ -927,10 +927,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);