* Re: OMAP3 dual-mode timer: data aborts after fclk re-enable
[not found] <8763zfutxw.fsf@vence.hilman.org>
@ 2007-12-04 2:34 ` Paul Walmsley
2007-12-04 3:23 ` Kevin Hilman
0 siblings, 1 reply; 2+ messages in thread
From: Paul Walmsley @ 2007-12-04 2:34 UTC (permalink / raw)
To: Kevin Hilman; +Cc: linux-omap, linux-omap-open-source
Hi Kevin,
On Mon, 3 Dec 2007, Kevin Hilman wrote:
> While working with the -rt patch + HRT on OMAP3, I'm seeing are data
> aborts during the first access to any timer register after the fclk is
> (re)enabled by dm_timer_set_source().
if this looks familiar,
<1>Unhandled fault: external abort on non-linefetch (0x1028) at 0xd9032010
perhaps this temporary patch -- not for git, there is a better
implementation in the works -- might help?
- Paul
---
arch/arm/mach-omap2/clock.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
Index: linux-omap/arch/arm/mach-omap2/clock.c
===================================================================
--- linux-omap.orig/arch/arm/mach-omap2/clock.c 2007-12-03 19:05:45.000000000 -0700
+++ linux-omap/arch/arm/mach-omap2/clock.c 2007-12-03 19:22:42.000000000 -0700
@@ -202,11 +202,11 @@
* it and pull it into struct clk itself somehow.
*/
reg = clk->enable_reg;
- if (reg == OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1) ||
- reg == OMAP_CM_REGADDR(CORE_MOD, OMAP24XX_CM_FCLKEN2))
+ if ((((u32)reg & 0xff) >= CM_FCLKEN1) &&
+ (((u32)reg & 0xff) <= OMAP24XX_CM_FCLKEN2))
other_reg = (void __iomem *)(((u32)reg & ~0xf0) | 0x10); /* CM_ICLKEN* */
- else if (reg == OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1) ||
- reg == OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN2))
+ else if ((((u32)reg & 0xff) >= CM_ICLKEN1) &&
+ (((u32)reg & 0xff) <= OMAP24XX_CM_ICLKEN4))
other_reg = (void __iomem *)(((u32)reg & ~0xf0) | 0x00); /* CM_FCLKEN* */
else
return;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: OMAP3 dual-mode timer: data aborts after fclk re-enable
2007-12-04 2:34 ` OMAP3 dual-mode timer: data aborts after fclk re-enable Paul Walmsley
@ 2007-12-04 3:23 ` Kevin Hilman
0 siblings, 0 replies; 2+ messages in thread
From: Kevin Hilman @ 2007-12-04 3:23 UTC (permalink / raw)
To: Paul Walmsley; +Cc: linux-omap, linux-omap-open-source
Paul Walmsley <paul@pwsan.com> writes:
> On Mon, 3 Dec 2007, Kevin Hilman wrote:
>
>> While working with the -rt patch + HRT on OMAP3, I'm seeing are data
>> aborts during the first access to any timer register after the fclk is
>> (re)enabled by dm_timer_set_source().
>
> if this looks familiar,
>
> <1>Unhandled fault: external abort on non-linefetch (0x1028) at 0xd9032010
>
> perhaps this temporary patch -- not for git, there is a better
> implementation in the works -- might help?
Yup, that looks like it. I should've asked sooner.
Kevin
> ---
> arch/arm/mach-omap2/clock.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> Index: linux-omap/arch/arm/mach-omap2/clock.c
> ===================================================================
> --- linux-omap.orig/arch/arm/mach-omap2/clock.c 2007-12-03 19:05:45.000000000 -0700
> +++ linux-omap/arch/arm/mach-omap2/clock.c 2007-12-03 19:22:42.000000000 -0700
> @@ -202,11 +202,11 @@
> * it and pull it into struct clk itself somehow.
> */
> reg = clk->enable_reg;
> - if (reg == OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1) ||
> - reg == OMAP_CM_REGADDR(CORE_MOD, OMAP24XX_CM_FCLKEN2))
> + if ((((u32)reg & 0xff) >= CM_FCLKEN1) &&
> + (((u32)reg & 0xff) <= OMAP24XX_CM_FCLKEN2))
> other_reg = (void __iomem *)(((u32)reg & ~0xf0) | 0x10); /* CM_ICLKEN* */
> - else if (reg == OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1) ||
> - reg == OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN2))
> + else if ((((u32)reg & 0xff) >= CM_ICLKEN1) &&
> + (((u32)reg & 0xff) <= OMAP24XX_CM_ICLKEN4))
> other_reg = (void __iomem *)(((u32)reg & ~0xf0) | 0x00); /* CM_FCLKEN* */
> else
> return;
> -
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-12-04 3:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <8763zfutxw.fsf@vence.hilman.org>
2007-12-04 2:34 ` OMAP3 dual-mode timer: data aborts after fclk re-enable Paul Walmsley
2007-12-04 3:23 ` Kevin Hilman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox