Re: OMAP3 dual-mode timer: data aborts after fclk re-enable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul Walmsley <paul@xxxxxxxxx> 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@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux