[U-Boot] [PATCH 1/3] arm: pxa: use common timer functions

Marek Vasut marex at denx.de
Tue Aug 12 20:20:16 CEST 2014


On Tuesday, August 12, 2014 at 04:25:59 PM, andrew.ruder at elecsyscorp.com wrote:
> From: Andrew Ruder <andrew.ruder at elecsyscorp.com>
> 
> This patch moves pxa to the common timer functions added in commit
> 
>   8dfafdd - Introduce common timer functions <Rob Herring>
> 
> The (removed) pxa timer code (specifically __udelay()) could deadlock at
> the 32-bit boundary of get_ticks().  get_ticks() returned a 32-bit value
> cast up to a 64-bit value.  If get_ticks() + tmo in __udelay() crossed
> the 32-bit boundary, the while condition became unconditionally true and
> locked the processor.  Rather than patch the specific pxa issues, simply
> move everything over to the common code.
> 
> Signed-off-by: Andrew Ruder <andrew.ruder at elecsyscorp.com>
> Cc: Marek Vasut <marex at denx.de>
> ---
> 
> 32-bit rollover occurs every 22 minutes so even a long y-modem
> transfer was enough to hit this issue fairly regularly.  This has been
> tested.
> 
>  arch/arm/cpu/pxa/timer.c     | 69
> +------------------------------------------- include/configs/pxa-common.h
> | 13 +++++++++
>  2 files changed, 14 insertions(+), 68 deletions(-)

Acked-by: Marek Vasut <marex at denx.de>

+CC Albert.

Albert , can you please pick this one up ?

Best regards,
Marek Vasut


More information about the U-Boot mailing list