linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] clk: hisilicon: fix lock assignment
@ 2017-01-18  8:13 Leo Yan
  2017-01-20 22:58 ` Stephen Boyd
  0 siblings, 1 reply; 3+ messages in thread
From: Leo Yan @ 2017-01-18  8:13 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Leo Yan, linux-clk,
	linux-kernel, Haojian Zhuang, Guodong Xu, John Stultz

In clock driver initialize phase the spinlock is missed to assignment
to struct clkgate_separated, finally there have no locking to protect
exclusive accessing for clock registers.

This bug introduces the console has no output after enable coresight
driver on 96borads Hikey; this is because console using UART3, which
has shared the same register with coresight clock enabling bit. After
applied this patch it can assign lock properly to protect exclusive
accessing, and console can work well after enabled coresight modules.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
---
 drivers/clk/hisilicon/clkgate-separated.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/hisilicon/clkgate-separated.c b/drivers/clk/hisilicon/clkgate-separated.c
index a47812f..7908bc3 100644
--- a/drivers/clk/hisilicon/clkgate-separated.c
+++ b/drivers/clk/hisilicon/clkgate-separated.c
@@ -120,6 +120,7 @@ struct clk *hisi_register_clkgate_sep(struct device *dev, const char *name,
 	sclk->bit_idx = bit_idx;
 	sclk->flags = clk_gate_flags;
 	sclk->hw.init = &init;
+	sclk->lock = lock;
 
 	clk = clk_register(dev, &sclk->hw);
 	if (IS_ERR(clk))
-- 
2.7.4

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

* Re: [PATCH] clk: hisilicon: fix lock assignment
  2017-01-18  8:13 [PATCH] clk: hisilicon: fix lock assignment Leo Yan
@ 2017-01-20 22:58 ` Stephen Boyd
  2017-01-21  2:16   ` Leo Yan
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Boyd @ 2017-01-20 22:58 UTC (permalink / raw)
  To: Leo Yan
  Cc: Michael Turquette, linux-clk, linux-kernel, Haojian Zhuang,
	Guodong Xu, John Stultz

On 01/18, Leo Yan wrote:
> In clock driver initialize phase the spinlock is missed to assignment
> to struct clkgate_separated, finally there have no locking to protect
> exclusive accessing for clock registers.
> 
> This bug introduces the console has no output after enable coresight
> driver on 96borads Hikey; this is because console using UART3, which

s/borads/boards/

> has shared the same register with coresight clock enabling bit. After
> applied this patch it can assign lock properly to protect exclusive
> accessing, and console can work well after enabled coresight modules.
> 
> Signed-off-by: Leo Yan <leo.yan@linaro.org>

Is there a Fixes: tag needed?

Is coresight support merged into Linus' tree? I want to know if
this needs to be applied for v4.10 or can wait until v4.11.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

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

* Re: [PATCH] clk: hisilicon: fix lock assignment
  2017-01-20 22:58 ` Stephen Boyd
@ 2017-01-21  2:16   ` Leo Yan
  0 siblings, 0 replies; 3+ messages in thread
From: Leo Yan @ 2017-01-21  2:16 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Michael Turquette, linux-clk, linux-kernel, Haojian Zhuang,
	Guodong Xu, John Stultz

On Fri, Jan 20, 2017 at 02:58:27PM -0800, Stephen Boyd wrote:
> On 01/18, Leo Yan wrote:
> > In clock driver initialize phase the spinlock is missed to assignment
> > to struct clkgate_separated, finally there have no locking to protect
> > exclusive accessing for clock registers.
> > 
> > This bug introduces the console has no output after enable coresight
> > driver on 96borads Hikey; this is because console using UART3, which
> 
> s/borads/boards/
> 
> > has shared the same register with coresight clock enabling bit. After
> > applied this patch it can assign lock properly to protect exclusive
> > accessing, and console can work well after enabled coresight modules.
> > 
> > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> 
> Is there a Fixes: tag needed?

Thanks for reviewing, will send new patch for upper comments.

> Is coresight support merged into Linus' tree? I want to know if
> this needs to be applied for v4.10 or can wait until v4.11.

No, Coresight patch has not been merged. Should meantion one thing is:
this issue impacts all gate clocks if they share same register, there
have many such kind clocks for Hi6220. So it's not only for coresight
and uart clocks.

Thanks,
Leo Yan

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

end of thread, other threads:[~2017-01-21  2:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-18  8:13 [PATCH] clk: hisilicon: fix lock assignment Leo Yan
2017-01-20 22:58 ` Stephen Boyd
2017-01-21  2:16   ` Leo Yan

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).