dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] exynos5250/hdmi: modify driver and arch data towards CCF migration
@ 2013-06-11  6:54 Rahul Sharma
  2013-06-11  6:54 ` [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks Rahul Sharma
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Rahul Sharma @ 2013-06-11  6:54 UTC (permalink / raw)
  To: linux-samsung-soc, devicetree-discuss, dri-devel
  Cc: kgene.kim, sw0312.kim, inki.dae, seanpaul, joshi, r.sh.open,
	Rahul Sharma

After switching to CCF, driver and device tree nodes are required
to be update with clock information. This set includes those changes.

After these patches, the only missing portion is hdmiphy power control
which is posted independently. Together, basic hdmi is working for
exynos5250.

Rahul Sharma (2):
  drm/exynos: add mout_hdmi clock in hdmi driver to change parent
  ARM/dts: add clocks to hdmi dt node for exynos5250

Sean Paul (2):
  drm/exynos: Prepare/Unprepare HDMI subsystem clocks
  ARM: dts: Add mixer clocks to mixer node

 arch/arm/boot/dts/exynos5250.dtsi     |    8 ++++---
 drivers/gpu/drm/exynos/exynos_hdmi.c  |   38 +++++++++++++++++++--------------
 drivers/gpu/drm/exynos/exynos_mixer.c |   12 +++++------
 3 files changed, 33 insertions(+), 25 deletions(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks
  2013-06-11  6:54 [PATCH 0/4] exynos5250/hdmi: modify driver and arch data towards CCF migration Rahul Sharma
@ 2013-06-11  6:54 ` Rahul Sharma
  2013-06-13 11:46   ` Inki Dae
  2013-06-11  6:54 ` [PATCH 2/4] drm/exynos: add mout_hdmi clock in hdmi driver to change parent Rahul Sharma
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Rahul Sharma @ 2013-06-11  6:54 UTC (permalink / raw)
  To: linux-samsung-soc, devicetree-discuss, dri-devel
  Cc: kgene.kim, sw0312.kim, inki.dae, seanpaul, joshi, r.sh.open,
	Rahul Sharma

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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/4] drm/exynos: add mout_hdmi clock in hdmi driver to change parent
  2013-06-11  6:54 [PATCH 0/4] exynos5250/hdmi: modify driver and arch data towards CCF migration Rahul Sharma
  2013-06-11  6:54 ` [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks Rahul Sharma
@ 2013-06-11  6:54 ` Rahul Sharma
  2013-06-13 11:46   ` Inki Dae
  2013-06-11  6:54 ` [PATCH 3/4] ARM: dts: Add mixer clocks to mixer node Rahul Sharma
  2013-06-11  6:54 ` [PATCH 4/4] ARM/dts: add clocks to hdmi dt node for exynos5250 Rahul Sharma
  3 siblings, 1 reply; 9+ messages in thread
From: Rahul Sharma @ 2013-06-11  6:54 UTC (permalink / raw)
  To: linux-samsung-soc, devicetree-discuss, dri-devel
  Cc: kgene.kim, sw0312.kim, inki.dae, seanpaul, joshi, r.sh.open,
	Rahul Sharma

HDMI driver needs to configure the mout_hdmi mux clock to change
the parent between sclk_hdmiphy and sclk_pixel.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c |   14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 5a98194..3b5e215 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -83,6 +83,7 @@ struct hdmi_resources {
 	struct clk			*sclk_pixel;
 	struct clk			*sclk_hdmiphy;
 	struct clk			*hdmiphy;
+	struct clk			*mout_hdmi;
 	struct regulator_bulk_data	*regul_bulk;
 	int				regul_count;
 };
@@ -1118,7 +1119,7 @@ static void hdmi_v13_mode_apply(struct hdmi_context *hdata)
 	}
 
 	clk_disable_unprepare(hdata->res.sclk_hdmi);
-	clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_hdmiphy);
+	clk_set_parent(hdata->res.mout_hdmi, hdata->res.sclk_hdmiphy);
 	clk_prepare_enable(hdata->res.sclk_hdmi);
 
 	/* enable HDMI and timing generator */
@@ -1285,7 +1286,7 @@ static void hdmi_v14_mode_apply(struct hdmi_context *hdata)
 	}
 
 	clk_disable_unprepare(hdata->res.sclk_hdmi);
-	clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_hdmiphy);
+	clk_set_parent(hdata->res.mout_hdmi, hdata->res.sclk_hdmiphy);
 	clk_prepare_enable(hdata->res.sclk_hdmi);
 
 	/* enable HDMI and timing generator */
@@ -1311,7 +1312,7 @@ static void hdmiphy_conf_reset(struct hdmi_context *hdata)
 	u32 reg;
 
 	clk_disable_unprepare(hdata->res.sclk_hdmi);
-	clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_pixel);
+	clk_set_parent(hdata->res.mout_hdmi, hdata->res.sclk_pixel);
 	clk_prepare_enable(hdata->res.sclk_hdmi);
 
 	/* operation mode */
@@ -1832,8 +1833,13 @@ static int hdmi_resources_init(struct hdmi_context *hdata)
 		DRM_ERROR("failed to get clock 'hdmiphy'\n");
 		goto fail;
 	}
+	res->mout_hdmi = devm_clk_get(dev, "mout_hdmi");
+	if (IS_ERR(res->mout_hdmi)) {
+		DRM_ERROR("failed to get clock 'mout_hdmi'\n");
+		goto fail;
+	}
 
-	clk_set_parent(res->sclk_hdmi, res->sclk_pixel);
+	clk_set_parent(res->mout_hdmi, res->sclk_pixel);
 
 	res->regul_bulk = devm_kzalloc(dev, ARRAY_SIZE(supply) *
 		sizeof(res->regul_bulk[0]), GFP_KERNEL);
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/4] ARM: dts: Add mixer clocks to mixer node
  2013-06-11  6:54 [PATCH 0/4] exynos5250/hdmi: modify driver and arch data towards CCF migration Rahul Sharma
  2013-06-11  6:54 ` [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks Rahul Sharma
  2013-06-11  6:54 ` [PATCH 2/4] drm/exynos: add mout_hdmi clock in hdmi driver to change parent Rahul Sharma
@ 2013-06-11  6:54 ` Rahul Sharma
       [not found]   ` <1370933645-18344-4-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
  2013-06-11  6:54 ` [PATCH 4/4] ARM/dts: add clocks to hdmi dt node for exynos5250 Rahul Sharma
  3 siblings, 1 reply; 9+ messages in thread
From: Rahul Sharma @ 2013-06-11  6:54 UTC (permalink / raw)
  To: linux-samsung-soc, devicetree-discuss, dri-devel
  Cc: kgene.kim, sw0312.kim, inki.dae, seanpaul, joshi, r.sh.open,
	Rahul Sharma

From: Sean Paul <seanpaul@chromium.org>

This patch adds the mixer clocks to the mixer node in the dts file.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
---
 arch/arm/boot/dts/exynos5250.dtsi |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 0673524..9d9496a 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -614,6 +614,8 @@
 		compatible = "samsung,exynos5-mixer";
 		reg = <0x14450000 0x10000>;
 		interrupts = <0 94 0>;
+		clocks = <&clock 343>, <&clock 136>;
+		clock-names = "mixer", "sclk_hdmi";
 	};
 
 	dp-controller {
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/4] ARM/dts: add clocks to hdmi dt node for exynos5250
  2013-06-11  6:54 [PATCH 0/4] exynos5250/hdmi: modify driver and arch data towards CCF migration Rahul Sharma
                   ` (2 preceding siblings ...)
  2013-06-11  6:54 ` [PATCH 3/4] ARM: dts: Add mixer clocks to mixer node Rahul Sharma
@ 2013-06-11  6:54 ` Rahul Sharma
       [not found]   ` <1370933645-18344-5-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
  3 siblings, 1 reply; 9+ messages in thread
From: Rahul Sharma @ 2013-06-11  6:54 UTC (permalink / raw)
  To: linux-samsung-soc, devicetree-discuss, dri-devel
  Cc: kgene.kim, sw0312.kim, inki.dae, seanpaul, joshi, r.sh.open,
	Rahul Sharma

Fix wrong clock numbers in hdmi dt node. Removed hdmiphy
clock which was a dummy clock earlier and not required now.
Also added mux clock to change the clock parent.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
---
 arch/arm/boot/dts/exynos5250.dtsi |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 9d9496a..354e14a 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -604,10 +604,10 @@
 		compatible = "samsung,exynos5-hdmi";
 		reg = <0x14530000 0x70000>;
 		interrupts = <0 95 0>;
-		clocks = <&clock 333>, <&clock 136>, <&clock 137>,
-				<&clock 333>, <&clock 333>;
+		clocks = <&clock 344>, <&clock 136>, <&clock 137>,
+				<&clock 157>, <&clock 1024>;
 		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
-				"sclk_hdmiphy", "hdmiphy";
+				"sclk_hdmiphy", "mout_hdmi";
 	};
 
 	mixer {
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* RE: [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks
  2013-06-11  6:54 ` [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks Rahul Sharma
@ 2013-06-13 11:46   ` Inki Dae
  0 siblings, 0 replies; 9+ messages in thread
From: Inki Dae @ 2013-06-13 11:46 UTC (permalink / raw)
  To: 'Rahul Sharma', linux-samsung-soc, devicetree-discuss,
	dri-devel
  Cc: kgene.kim, sw0312.kim, seanpaul, joshi, r.sh.open

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [PATCH 2/4] drm/exynos: add mout_hdmi clock in hdmi driver to change parent
  2013-06-11  6:54 ` [PATCH 2/4] drm/exynos: add mout_hdmi clock in hdmi driver to change parent Rahul Sharma
@ 2013-06-13 11:46   ` Inki Dae
  0 siblings, 0 replies; 9+ messages in thread
From: Inki Dae @ 2013-06-13 11:46 UTC (permalink / raw)
  To: 'Rahul Sharma', linux-samsung-soc, devicetree-discuss,
	dri-devel
  Cc: kgene.kim, sw0312.kim, seanpaul, joshi, r.sh.open

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 2/4] drm/exynos: add mout_hdmi clock in hdmi driver to
> change parent
> 
> HDMI driver needs to configure the mout_hdmi mux clock to change
> the parent between sclk_hdmiphy and sclk_pixel.
> 
> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
> ---
>  drivers/gpu/drm/exynos/exynos_hdmi.c |   14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c
> b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index 5a98194..3b5e215 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -83,6 +83,7 @@ struct hdmi_resources {
>  	struct clk			*sclk_pixel;
>  	struct clk			*sclk_hdmiphy;
>  	struct clk			*hdmiphy;
> +	struct clk			*mout_hdmi;
>  	struct regulator_bulk_data	*regul_bulk;
>  	int				regul_count;
>  };
> @@ -1118,7 +1119,7 @@ static void hdmi_v13_mode_apply(struct hdmi_context
> *hdata)
>  	}
> 
>  	clk_disable_unprepare(hdata->res.sclk_hdmi);
> -	clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_hdmiphy);
> +	clk_set_parent(hdata->res.mout_hdmi, hdata->res.sclk_hdmiphy);
>  	clk_prepare_enable(hdata->res.sclk_hdmi);
> 
>  	/* enable HDMI and timing generator */
> @@ -1285,7 +1286,7 @@ static void hdmi_v14_mode_apply(struct hdmi_context
> *hdata)
>  	}
> 
>  	clk_disable_unprepare(hdata->res.sclk_hdmi);
> -	clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_hdmiphy);
> +	clk_set_parent(hdata->res.mout_hdmi, hdata->res.sclk_hdmiphy);
>  	clk_prepare_enable(hdata->res.sclk_hdmi);
> 
>  	/* enable HDMI and timing generator */
> @@ -1311,7 +1312,7 @@ static void hdmiphy_conf_reset(struct hdmi_context
> *hdata)
>  	u32 reg;
> 
>  	clk_disable_unprepare(hdata->res.sclk_hdmi);
> -	clk_set_parent(hdata->res.sclk_hdmi, hdata->res.sclk_pixel);
> +	clk_set_parent(hdata->res.mout_hdmi, hdata->res.sclk_pixel);
>  	clk_prepare_enable(hdata->res.sclk_hdmi);
> 
>  	/* operation mode */
> @@ -1832,8 +1833,13 @@ static int hdmi_resources_init(struct hdmi_context
> *hdata)
>  		DRM_ERROR("failed to get clock 'hdmiphy'\n");
>  		goto fail;
>  	}
> +	res->mout_hdmi = devm_clk_get(dev, "mout_hdmi");
> +	if (IS_ERR(res->mout_hdmi)) {
> +		DRM_ERROR("failed to get clock 'mout_hdmi'\n");
> +		goto fail;
> +	}
> 
> -	clk_set_parent(res->sclk_hdmi, res->sclk_pixel);
> +	clk_set_parent(res->mout_hdmi, res->sclk_pixel);
> 
>  	res->regul_bulk = devm_kzalloc(dev, ARRAY_SIZE(supply) *
>  		sizeof(res->regul_bulk[0]), GFP_KERNEL);
> --
> 1.7.10.4

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] ARM: dts: Add mixer clocks to mixer node
       [not found]   ` <1370933645-18344-4-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
@ 2013-06-13 11:48     ` Inki Dae
  0 siblings, 0 replies; 9+ messages in thread
From: Inki Dae @ 2013-06-13 11:48 UTC (permalink / raw)
  To: Rahul Sharma
  Cc: Kukjin Kim,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	Seung-Woo Kim, sunil joshi, DRI mailing list,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Rahul Sharma


[-- Attachment #1.1: Type: text/plain, Size: 1338 bytes --]

Acked-by: Inki Dae <inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>

Thanks,
Inki Dae


2013/6/11 Rahul Sharma <rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>

> From: Sean Paul <seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>
> This patch adds the mixer clocks to the mixer node in the dts file.
>
> Signed-off-by: Sean Paul <seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
> Signed-off-by: Rahul Sharma <rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> ---
>  arch/arm/boot/dts/exynos5250.dtsi |    2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos5250.dtsi
> b/arch/arm/boot/dts/exynos5250.dtsi
> index 0673524..9d9496a 100644
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -614,6 +614,8 @@
>                 compatible = "samsung,exynos5-mixer";
>                 reg = <0x14450000 0x10000>;
>                 interrupts = <0 94 0>;
> +               clocks = <&clock 343>, <&clock 136>;
> +               clock-names = "mixer", "sclk_hdmi";
>         };
>
>         dp-controller {
> --
> 1.7.10.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-samsung-soc" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

[-- Attachment #1.2: Type: text/html, Size: 2308 bytes --]

[-- Attachment #2: Type: text/plain, Size: 192 bytes --]

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 4/4] ARM/dts: add clocks to hdmi dt node for exynos5250
       [not found]   ` <1370933645-18344-5-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
@ 2013-06-13 11:49     ` Inki Dae
  0 siblings, 0 replies; 9+ messages in thread
From: Inki Dae @ 2013-06-13 11:49 UTC (permalink / raw)
  To: Rahul Sharma
  Cc: Kukjin Kim,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	Seung-Woo Kim, sunil joshi, DRI mailing list,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Rahul Sharma


[-- Attachment #1.1: Type: text/plain, Size: 1649 bytes --]

Acked-by: Inki Dae <inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>

Thanks,
Inki Dae


2013/6/11 Rahul Sharma <rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>

> Fix wrong clock numbers in hdmi dt node. Removed hdmiphy
> clock which was a dummy clock earlier and not required now.
> Also added mux clock to change the clock parent.
>
> Signed-off-by: Rahul Sharma <rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> ---
>  arch/arm/boot/dts/exynos5250.dtsi |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5250.dtsi
> b/arch/arm/boot/dts/exynos5250.dtsi
> index 9d9496a..354e14a 100644
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -604,10 +604,10 @@
>                 compatible = "samsung,exynos5-hdmi";
>                 reg = <0x14530000 0x70000>;
>                 interrupts = <0 95 0>;
> -               clocks = <&clock 333>, <&clock 136>, <&clock 137>,
> -                               <&clock 333>, <&clock 333>;
> +               clocks = <&clock 344>, <&clock 136>, <&clock 137>,
> +                               <&clock 157>, <&clock 1024>;
>                 clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
> -                               "sclk_hdmiphy", "hdmiphy";
> +                               "sclk_hdmiphy", "mout_hdmi";
>         };
>
>         mixer {
> --
> 1.7.10.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-samsung-soc" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

[-- Attachment #1.2: Type: text/html, Size: 2608 bytes --]

[-- Attachment #2: Type: text/plain, Size: 192 bytes --]

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-06-13 11:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-11  6:54 [PATCH 0/4] exynos5250/hdmi: modify driver and arch data towards CCF migration Rahul Sharma
2013-06-11  6:54 ` [PATCH 1/4] drm/exynos: Prepare/Unprepare HDMI subsystem clocks Rahul Sharma
2013-06-13 11:46   ` Inki Dae
2013-06-11  6:54 ` [PATCH 2/4] drm/exynos: add mout_hdmi clock in hdmi driver to change parent Rahul Sharma
2013-06-13 11:46   ` Inki Dae
2013-06-11  6:54 ` [PATCH 3/4] ARM: dts: Add mixer clocks to mixer node Rahul Sharma
     [not found]   ` <1370933645-18344-4-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-06-13 11:48     ` Inki Dae
2013-06-11  6:54 ` [PATCH 4/4] ARM/dts: add clocks to hdmi dt node for exynos5250 Rahul Sharma
     [not found]   ` <1370933645-18344-5-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-06-13 11:49     ` Inki Dae

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox