* i.MX28 fixes
@ 2011-01-21 10:57 Sascha Hauer
2011-01-21 10:57 ` [PATCH 1/3] ARM i.MX28: fix bit operation Sascha Hauer
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Sascha Hauer @ 2011-01-21 10:57 UTC (permalink / raw)
To: linux-arm-kernel
The following patches fix some issues with the i.MX28 clock support.
The following changes since commit c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470:
Linux 2.6.38-rc1 (2011-01-18 15:14:02 -0800)
are available in the git repository at:
none ..BRANCH.NOT.VERIFIED..
Sascha Hauer (3):
ARM i.MX28: fix bit operation
ARM i.MX28: use correct register for setting the rate
ARM i.MX23/28: remove secondary field from struct clk. It's unused
arch/arm/mach-mxs/clock-mx28.c | 4 ++--
arch/arm/mach-mxs/clock.c | 2 --
arch/arm/mach-mxs/include/mach/clock.h | 2 --
3 files changed, 2 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] ARM i.MX28: fix bit operation
2011-01-21 10:57 i.MX28 fixes Sascha Hauer
@ 2011-01-21 10:57 ` Sascha Hauer
2011-01-24 9:29 ` Shawn Guo
2011-01-21 10:57 ` [PATCH 2/3] ARM i.MX28: use correct register for setting the rate Sascha Hauer
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Sascha Hauer @ 2011-01-21 10:57 UTC (permalink / raw)
To: linux-arm-kernel
reg | (1 << clk->enable_shift) always evaluates to true. Switch it
to & which makes much more sense
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/arm/mach-mxs/clock-mx28.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c
index 56312c0..4146b38 100644
--- a/arch/arm/mach-mxs/clock-mx28.c
+++ b/arch/arm/mach-mxs/clock-mx28.c
@@ -355,7 +355,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \
} else { \
reg &= ~BM_CLKCTRL_##dr##_DIV; \
reg |= div << BP_CLKCTRL_##dr##_DIV; \
- if (reg | (1 << clk->enable_shift)) { \
+ if (reg & (1 << clk->enable_shift)) { \
pr_err("%s: clock is gated\n", __func__); \
return -EINVAL; \
} \
--
1.7.2.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] ARM i.MX28: use correct register for setting the rate
2011-01-21 10:57 i.MX28 fixes Sascha Hauer
2011-01-21 10:57 ` [PATCH 1/3] ARM i.MX28: fix bit operation Sascha Hauer
@ 2011-01-21 10:57 ` Sascha Hauer
2011-01-21 10:57 ` [PATCH 3/3] ARM i.MX23/28: remove secondary field from struct clk. It's unused Sascha Hauer
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Sascha Hauer @ 2011-01-21 10:57 UTC (permalink / raw)
To: linux-arm-kernel
_CLK_SET_RATE does not only handle the cpu clock but also other
clocks, so do not hardcode the HW_CLKCTRL_CPU register.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/arm/mach-mxs/clock-mx28.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c
index 4146b38..44acd9c 100644
--- a/arch/arm/mach-mxs/clock-mx28.c
+++ b/arch/arm/mach-mxs/clock-mx28.c
@@ -360,7 +360,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \
return -EINVAL; \
} \
} \
- __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_CPU); \
+ __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_##dr); \
\
for (i = 10000; i; i--) \
if (!(__raw_readl(CLKCTRL_BASE_ADDR + \
--
1.7.2.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM i.MX23/28: remove secondary field from struct clk. It's unused
2011-01-21 10:57 i.MX28 fixes Sascha Hauer
2011-01-21 10:57 ` [PATCH 1/3] ARM i.MX28: fix bit operation Sascha Hauer
2011-01-21 10:57 ` [PATCH 2/3] ARM i.MX28: use correct register for setting the rate Sascha Hauer
@ 2011-01-21 10:57 ` Sascha Hauer
2011-01-21 12:26 ` i.MX28 fixes Sergei Shtylyov
2011-01-24 9:16 ` Shawn Guo
4 siblings, 0 replies; 8+ messages in thread
From: Sascha Hauer @ 2011-01-21 10:57 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/arm/mach-mxs/clock.c | 2 --
arch/arm/mach-mxs/include/mach/clock.h | 2 --
2 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-mxs/clock.c b/arch/arm/mach-mxs/clock.c
index e7d2269..a7093c8 100644
--- a/arch/arm/mach-mxs/clock.c
+++ b/arch/arm/mach-mxs/clock.c
@@ -57,7 +57,6 @@ static void __clk_disable(struct clk *clk)
if (clk->disable)
clk->disable(clk);
__clk_disable(clk->parent);
- __clk_disable(clk->secondary);
}
}
@@ -68,7 +67,6 @@ static int __clk_enable(struct clk *clk)
if (clk->usecount++ == 0) {
__clk_enable(clk->parent);
- __clk_enable(clk->secondary);
if (clk->enable)
clk->enable(clk);
diff --git a/arch/arm/mach-mxs/include/mach/clock.h b/arch/arm/mach-mxs/include/mach/clock.h
index 041e276..592c9ab 100644
--- a/arch/arm/mach-mxs/include/mach/clock.h
+++ b/arch/arm/mach-mxs/include/mach/clock.h
@@ -29,8 +29,6 @@ struct clk {
int id;
/* Source clock this clk depends on */
struct clk *parent;
- /* Secondary clock to enable/disable with this clock */
- struct clk *secondary;
/* Reference count of clock enable/disable */
__s8 usecount;
/* Register bit position for clock's enable/disable control. */
--
1.7.2.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* i.MX28 fixes
2011-01-21 10:57 i.MX28 fixes Sascha Hauer
` (2 preceding siblings ...)
2011-01-21 10:57 ` [PATCH 3/3] ARM i.MX23/28: remove secondary field from struct clk. It's unused Sascha Hauer
@ 2011-01-21 12:26 ` Sergei Shtylyov
2011-01-24 9:16 ` Shawn Guo
4 siblings, 0 replies; 8+ messages in thread
From: Sergei Shtylyov @ 2011-01-21 12:26 UTC (permalink / raw)
To: linux-arm-kernel
Hello.
On 21-01-2011 13:57, Sascha Hauer wrote:
> The following patches fix some issues with the i.MX28 clock support.
> The following changes since commit c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470:
> Linux 2.6.38-rc1 (2011-01-18 15:14:02 -0800)
> are available in the git repository at:
> none ..BRANCH.NOT.VERIFIED..
Not pushed?
WBR, Sergei
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] ARM i.MX28: fix bit operation
2011-01-24 9:29 ` Shawn Guo
@ 2011-01-24 7:27 ` Sascha Hauer
0 siblings, 0 replies; 8+ messages in thread
From: Sascha Hauer @ 2011-01-24 7:27 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Jan 24, 2011 at 05:29:28PM +0800, Shawn Guo wrote:
> Hi Sascha,
>
> On Fri, Jan 21, 2011 at 11:57:52AM +0100, Sascha Hauer wrote:
> > reg | (1 << clk->enable_shift) always evaluates to true. Switch it
> > to & which makes much more sense
> >
> > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> > ---
> > arch/arm/mach-mxs/clock-mx28.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c
> > index 56312c0..4146b38 100644
> > --- a/arch/arm/mach-mxs/clock-mx28.c
> > +++ b/arch/arm/mach-mxs/clock-mx28.c
> > @@ -355,7 +355,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \
> > } else { \
> > reg &= ~BM_CLKCTRL_##dr##_DIV; \
> > reg |= div << BP_CLKCTRL_##dr##_DIV; \
> > - if (reg | (1 << clk->enable_shift)) { \
> > + if (reg & (1 << clk->enable_shift)) { \
> > pr_err("%s: clock is gated\n", __func__); \
> > return -EINVAL; \
> > } \
> > --
> > 1.7.2.3
> >
> >
> Would you mind fixing the same issue in clock-mx23.c name##_set_rate()?
>
No, here it is:
8<---------------------------
[PATCH] ARM i.MX23: use correct register for setting the rate
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/arm/mach-mxs/clock-mx23.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-mxs/clock-mx23.c b/arch/arm/mach-mxs/clock-mx23.c
index b1a362e..7206924 100644
--- a/arch/arm/mach-mxs/clock-mx23.c
+++ b/arch/arm/mach-mxs/clock-mx23.c
@@ -304,7 +304,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \
reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_##dr); \
reg &= ~BM_CLKCTRL_##dr##_DIV; \
reg |= div << BP_CLKCTRL_##dr##_DIV; \
- if (reg | (1 << clk->enable_shift)) { \
+ if (reg & (1 << clk->enable_shift)) { \
pr_err("%s: clock is gated\n", __func__); \
return -EINVAL; \
} \
--
1.7.2.3
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply related [flat|nested] 8+ messages in thread
* i.MX28 fixes
2011-01-21 10:57 i.MX28 fixes Sascha Hauer
` (3 preceding siblings ...)
2011-01-21 12:26 ` i.MX28 fixes Sergei Shtylyov
@ 2011-01-24 9:16 ` Shawn Guo
4 siblings, 0 replies; 8+ messages in thread
From: Shawn Guo @ 2011-01-24 9:16 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Jan 21, 2011 at 11:57:51AM +0100, Sascha Hauer wrote:
> The following patches fix some issues with the i.MX28 clock support.
>
> The following changes since commit c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470:
>
> Linux 2.6.38-rc1 (2011-01-18 15:14:02 -0800)
>
> are available in the git repository at:
> none ..BRANCH.NOT.VERIFIED..
>
> Sascha Hauer (3):
> ARM i.MX28: fix bit operation
> ARM i.MX28: use correct register for setting the rate
> ARM i.MX23/28: remove secondary field from struct clk. It's unused
All acked-by: Shawn Guo <shawn.guo@freescale.com>
>
> arch/arm/mach-mxs/clock-mx28.c | 4 ++--
> arch/arm/mach-mxs/clock.c | 2 --
> arch/arm/mach-mxs/include/mach/clock.h | 2 --
> 3 files changed, 2 insertions(+), 6 deletions(-)
>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] ARM i.MX28: fix bit operation
2011-01-21 10:57 ` [PATCH 1/3] ARM i.MX28: fix bit operation Sascha Hauer
@ 2011-01-24 9:29 ` Shawn Guo
2011-01-24 7:27 ` Sascha Hauer
0 siblings, 1 reply; 8+ messages in thread
From: Shawn Guo @ 2011-01-24 9:29 UTC (permalink / raw)
To: linux-arm-kernel
Hi Sascha,
On Fri, Jan 21, 2011 at 11:57:52AM +0100, Sascha Hauer wrote:
> reg | (1 << clk->enable_shift) always evaluates to true. Switch it
> to & which makes much more sense
>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
> arch/arm/mach-mxs/clock-mx28.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-mxs/clock-mx28.c b/arch/arm/mach-mxs/clock-mx28.c
> index 56312c0..4146b38 100644
> --- a/arch/arm/mach-mxs/clock-mx28.c
> +++ b/arch/arm/mach-mxs/clock-mx28.c
> @@ -355,7 +355,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \
> } else { \
> reg &= ~BM_CLKCTRL_##dr##_DIV; \
> reg |= div << BP_CLKCTRL_##dr##_DIV; \
> - if (reg | (1 << clk->enable_shift)) { \
> + if (reg & (1 << clk->enable_shift)) { \
> pr_err("%s: clock is gated\n", __func__); \
> return -EINVAL; \
> } \
> --
> 1.7.2.3
>
>
Would you mind fixing the same issue in clock-mx23.c name##_set_rate()?
Regards,
Shawn
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-01-24 9:29 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-21 10:57 i.MX28 fixes Sascha Hauer
2011-01-21 10:57 ` [PATCH 1/3] ARM i.MX28: fix bit operation Sascha Hauer
2011-01-24 9:29 ` Shawn Guo
2011-01-24 7:27 ` Sascha Hauer
2011-01-21 10:57 ` [PATCH 2/3] ARM i.MX28: use correct register for setting the rate Sascha Hauer
2011-01-21 10:57 ` [PATCH 3/3] ARM i.MX23/28: remove secondary field from struct clk. It's unused Sascha Hauer
2011-01-21 12:26 ` i.MX28 fixes Sergei Shtylyov
2011-01-24 9:16 ` Shawn Guo
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).