[U-Boot] [PATCH] arm: timer: sunxi: fix a64 spurious timeout issues

Peter Robinson pbrobinson at gmail.com
Sun Mar 17 16:04:36 UTC 2019


On Sun, Mar 17, 2019 at 2:56 PM Oskari Lemmela <oskari at lemmela.net> wrote:
>
> Fixes spurious timeouts which have been seen during testing
> SPI_SUNXI driver. The false timeouts disappear when number of
> bits reduced to 10 in workaround.
>
> The false timeouts are caused by timer backward jumps.

Wouldn't it be best to apply the same fix as the kernel uses here [1]
as a more permanent fix?

[1] https://www.spinics.net/lists/arm-kernel/msg699622.html

> Signed-off-by: Oskari Lemmela <oskari at lemmela.net>
> ---
>  arch/arm/cpu/armv8/generic_timer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/cpu/armv8/generic_timer.c b/arch/arm/cpu/armv8/generic_timer.c
> index c1706dcec1..2e06ee4ed2 100644
> --- a/arch/arm/cpu/armv8/generic_timer.c
> +++ b/arch/arm/cpu/armv8/generic_timer.c
> @@ -66,7 +66,7 @@ unsigned long timer_read_counter(void)
>         isb();
>         do {
>                 asm volatile("mrs %0, cntpct_el0" : "=r" (cntpct));
> -       } while (((cntpct + 1) & GENMASK(10, 0)) <= 1);
> +       } while (((cntpct + 1) & GENMASK(9, 0)) <= 1);
>
>         return cntpct;
>  }
> --
> 2.17.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot


More information about the U-Boot mailing list