sparc32, leon: Remove separate "ticker" timer for SMP
authorAndreas Larsson <andreas@gaisler.com>
Mon, 10 Jun 2013 06:53:28 +0000 (08:53 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2013 09:10:29 +0000 (02:10 -0700)
commit1ffbc51a0d00e52983c70aa7c8dbc7b621d6287d
tree3b5e0a1a91a2dfde1b93d2d3295d1170ffe2bae3
parent117a0c5fc9c2d06045bd217385b2b39ea426b5a6
sparc32, leon: Remove separate "ticker" timer for SMP

This reduces the need from two timers to one timer.

Moreover, without this patch, when the "ticker" timer triggers timer_cs_read via
tick_periodic it reads the value of the usual timer it can get an wrapped timer
value without timer_cs_internal_counter having been updated leading to the clock
going backwards. This effectively hangs one cpu that gets stuck in
update_wall_time with an offset slightly smaller than 0xffffffffffffffff.

Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/leon.h
arch/sparc/include/asm/leon_amba.h
arch/sparc/kernel/leon_kernel.c