summaryrefslogtreecommitdiff
path: root/arch/sparc/kernel/smp.c
diff options
context:
space:
mode:
authorMark Fortescue <mark@mtfhpc.demon.co.uk>2007-07-21 19:17:41 -0700
committerDavid S. Miller <davem@davemloft.net>2007-07-21 19:17:41 -0700
commit196bffa5dc3181897bd32e41415ec0db8dbab5e7 (patch)
tree24675b94165ea6886827d47006cb12e9dd6b3539 /arch/sparc/kernel/smp.c
parentc2e68052429fdf87702fccd272951282bef1c60a (diff)
[SPARC32]: Fix rounding errors in ndelay/udelay implementation.
__ndelay and __udelay have not been delayung >= specified time. The problem with __ndelay has been tacked down to the rounding of the multiplier constant. By changing this, delays > app 18us are correctly calculated. The problem with __udelay has also been tracked down to rounding issues. Changing the multiplier constant (to match that used in sparc64) corrects for large delays and adding in a rounding constant corrects for trunctaion errors in the claculations. Many short delays will return without looping. This is not an error as there is the fixed delay of doing all the maths to calculate the loop count. Signed-off-by: Mark Fortescue <mark@mtfhpc.demon.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/smp.c')
0 files changed, 0 insertions, 0 deletions