X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=arch%2Farm%2Flib%2Fdelay.S;h=3c7f7e675dd8c777857ef10487b5c369c4e1d558;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=67cbd8697bb7678a344f8cbcbec8b61dd7224749;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/arm/lib/delay.S b/arch/arm/lib/delay.S index 67cbd8697..3c7f7e675 100644 --- a/arch/arm/lib/delay.S +++ b/arch/arm/lib/delay.S @@ -16,15 +16,16 @@ LC0: .word loops_per_jiffy /* * 0 <= r0 <= 2000 */ -ENTRY(udelay) +ENTRY(__udelay) mov r2, #0x6800 orr r2, r2, #0x00db - mul r1, r0, r2 + mul r0, r2, r0 +ENTRY(__const_udelay) @ 0 <= r0 <= 0x01ffffff ldr r2, LC0 - ldr r2, [r2] - mov r1, r1, lsr #11 - mov r2, r2, lsr #11 - mul r0, r1, r2 + ldr r2, [r2] @ max = 0x0fffffff + mov r0, r0, lsr #11 @ max = 0x00003fff + mov r2, r2, lsr #11 @ max = 0x0003ffff + mul r0, r2, r0 @ max = 2^32-1 movs r0, r0, lsr #6 RETINSTR(moveq,pc,lr)