diff options
author | Deepak Saxena <dsaxena@plexity.net> | 2005-08-23 13:30:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-23 20:06:33 -0700 |
commit | 9138dccbb9f39f12474554ef93dcc24de2e9c8f6 (patch) | |
tree | c7e606155b97f5a7e0a8808b1e2cbf37ea0162ac | |
parent | d10689b68aff7b48e3de1a3f7fcd6567bd2905af (diff) |
[PATCH] Fix IXP4xx CLOCK_TICK_RATE
As pointed out in the following thread, the CLOCK_TICK_RATE setting for
IXP4xx is incorrect b/c the HW ignores the lowest 2 bits of the LATCH
value.
http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2005-August/030950.html
Tnx to George Anziger and Egil Hjelmeland for finding the issue.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | include/asm-arm/arch-ixp4xx/timex.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/asm-arm/arch-ixp4xx/timex.h b/include/asm-arm/arch-ixp4xx/timex.h index 38c9d77d3727..3745e35cc030 100644 --- a/include/asm-arm/arch-ixp4xx/timex.h +++ b/include/asm-arm/arch-ixp4xx/timex.h @@ -7,7 +7,9 @@ /* * We use IXP425 General purpose timer for our timer needs, it runs at - * 66.66... MHz + * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the + * timer register ignores the bottom 2 bits of the LATCH value. */ -#define CLOCK_TICK_RATE (66666666) +#define FREQ 66666666 +#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) |