diff options
Diffstat (limited to 'include/asm-mips/delay.h')
| -rw-r--r-- | include/asm-mips/delay.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/include/asm-mips/delay.h b/include/asm-mips/delay.h index 48d00cccdafa..64dd45150f64 100644 --- a/include/asm-mips/delay.h +++ b/include/asm-mips/delay.h | |||
| @@ -52,13 +52,11 @@ static inline void __udelay(unsigned long usecs, unsigned long lpj) | |||
| 52 | unsigned long lo; | 52 | unsigned long lo; |
| 53 | 53 | ||
| 54 | /* | 54 | /* |
| 55 | * The common rates of 1000 and 128 are rounded wrongly by the | 55 | * The rates of 128 is rounded wrongly by the catchall case |
| 56 | * catchall case for 64-bit. Excessive precission? Probably ... | 56 | * for 64-bit. Excessive precission? Probably ... |
| 57 | */ | 57 | */ |
| 58 | #if defined(CONFIG_64BIT) && (HZ == 128) | 58 | #if defined(CONFIG_64BIT) && (HZ == 128) |
| 59 | usecs *= 0x0008637bd05af6c7UL; /* 2**64 / (1000000 / HZ) */ | 59 | usecs *= 0x0008637bd05af6c7UL; /* 2**64 / (1000000 / HZ) */ |
| 60 | #elif defined(CONFIG_64BIT) && (HZ == 1000) | ||
| 61 | usecs *= 0x004189374BC6A7f0UL; /* 2**64 / (1000000 / HZ) */ | ||
| 62 | #elif defined(CONFIG_64BIT) | 60 | #elif defined(CONFIG_64BIT) |
| 63 | usecs *= (0x8000000000000000UL / (500000 / HZ)); | 61 | usecs *= (0x8000000000000000UL / (500000 / HZ)); |
| 64 | #else /* 32-bit junk follows here */ | 62 | #else /* 32-bit junk follows here */ |
