linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6
@ 2012-10-26  8:49 Kuninori Morimoto
  2012-10-27  7:45 ` Paul Mundt
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Kuninori Morimoto @ 2012-10-26  8:49 UTC (permalink / raw)
  To: linux-sh

764f4e4e33d18cde4dcaf8a0d860b749c6d6d08b
(sh: clkfwk: Use shared sh_clk_div_enable/disable())
shared enable/disable funcions for div4/div6.
But new sh_clk_div_enable() didn't care sh_clk_div_set_rate()
which is required on div6 clock.
This patch fixes it, and is tested by HDMI sound output on armadillo800eva

Reported-by: Cao Minh Hiep <hiepcm@gmail.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
Paul

This is bugfix patch which should go to v3.6/v3.7.
But please check this style.
It is checking CLK_MASK_DIV_ON_DISABLE for div6 or not.

 drivers/sh/clk/cpg.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/sh/clk/cpg.c b/drivers/sh/clk/cpg.c
index 07e9fb4..fe6dbef 100644
--- a/drivers/sh/clk/cpg.c
+++ b/drivers/sh/clk/cpg.c
@@ -126,7 +126,14 @@ static int sh_clk_div_set_rate(struct clk *clk, unsigned long rate)
 
 static int sh_clk_div_enable(struct clk *clk)
 {
-	sh_clk_write(sh_clk_read(clk) & ~CPG_CKSTP_BIT, clk);
+	int ret = 0;
+
+	if (clk->flags & CLK_MASK_DIV_ON_DISABLE)
+		ret = sh_clk_div_set_rate(clk, clk->rate);
+
+	if (ret = 0)
+		sh_clk_write(sh_clk_read(clk) & ~CPG_CKSTP_BIT, clk);
+
 	return 0;
 }
 
-- 
1.7.9.5


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

* Re: [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6
  2012-10-26  8:49 [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6 Kuninori Morimoto
@ 2012-10-27  7:45 ` Paul Mundt
  2012-10-31  7:01 ` Kuninori Morimoto
  2012-11-01  0:22 ` Paul Mundt
  2 siblings, 0 replies; 4+ messages in thread
From: Paul Mundt @ 2012-10-27  7:45 UTC (permalink / raw)
  To: linux-sh

On Fri, Oct 26, 2012 at 01:49:26AM -0700, Kuninori Morimoto wrote:
> 764f4e4e33d18cde4dcaf8a0d860b749c6d6d08b
> (sh: clkfwk: Use shared sh_clk_div_enable/disable())
> shared enable/disable funcions for div4/div6.
> But new sh_clk_div_enable() didn't care sh_clk_div_set_rate()
> which is required on div6 clock.
> This patch fixes it, and is tested by HDMI sound output on armadillo800eva
> 
> Reported-by: Cao Minh Hiep <hiepcm@gmail.com>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Looks good, I'll queue it up, thanks.

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

* Re: [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6
  2012-10-26  8:49 [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6 Kuninori Morimoto
  2012-10-27  7:45 ` Paul Mundt
@ 2012-10-31  7:01 ` Kuninori Morimoto
  2012-11-01  0:22 ` Paul Mundt
  2 siblings, 0 replies; 4+ messages in thread
From: Kuninori Morimoto @ 2012-10-31  7:01 UTC (permalink / raw)
  To: linux-sh


Hi Paul

> > 764f4e4e33d18cde4dcaf8a0d860b749c6d6d08b
> > (sh: clkfwk: Use shared sh_clk_div_enable/disable())
> > shared enable/disable funcions for div4/div6.
> > But new sh_clk_div_enable() didn't care sh_clk_div_set_rate()
> > which is required on div6 clock.
> > This patch fixes it, and is tested by HDMI sound output on armadillo800eva
> > 
> > Reported-by: Cao Minh Hiep <hiepcm@gmail.com>
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> Looks good, I'll queue it up, thanks.

Thanks.
But which branch can I find it ?

Best regards
---
Kuninori Morimoto

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

* Re: [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6
  2012-10-26  8:49 [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6 Kuninori Morimoto
  2012-10-27  7:45 ` Paul Mundt
  2012-10-31  7:01 ` Kuninori Morimoto
@ 2012-11-01  0:22 ` Paul Mundt
  2 siblings, 0 replies; 4+ messages in thread
From: Paul Mundt @ 2012-11-01  0:22 UTC (permalink / raw)
  To: linux-sh

On Wed, Oct 31, 2012 at 12:01:03AM -0700, Kuninori Morimoto wrote:
> 
> Hi Paul
> 
> > > 764f4e4e33d18cde4dcaf8a0d860b749c6d6d08b
> > > (sh: clkfwk: Use shared sh_clk_div_enable/disable())
> > > shared enable/disable funcions for div4/div6.
> > > But new sh_clk_div_enable() didn't care sh_clk_div_set_rate()
> > > which is required on div6 clock.
> > > This patch fixes it, and is tested by HDMI sound output on armadillo800eva
> > > 
> > > Reported-by: Cao Minh Hiep <hiepcm@gmail.com>
> > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > 
> > Looks good, I'll queue it up, thanks.
> 
> Thanks.
> But which branch can I find it ?
> 
I have it on my laptop and haven't had a chance to push it yet. Now that
I think about it though, I'm not sure that CLK_MASK_DIV_ON_DISABLE should
be depended on. If you require this to only apply for div6 you are better
off checking the div mask directly (ie, testing SH_CLK_DIV6_MSK).

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

end of thread, other threads:[~2012-11-01  0:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-26  8:49 [PATCH] sh: clkfwk: bugfix: sh_clk_div_enable() care sh_clk_div_set_rate() if div6 Kuninori Morimoto
2012-10-27  7:45 ` Paul Mundt
2012-10-31  7:01 ` Kuninori Morimoto
2012-11-01  0:22 ` Paul Mundt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).