diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-03-14 18:52:47 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-03-18 11:59:30 -0500 |
commit | 4308cb16286c96d980570cc5319173b524220c06 (patch) | |
tree | 89ffe22e6fd71d320b51ce8817a11cdaba3ae503 /arch/mips | |
parent | a77f124294822203660b0926392b963cfa72fcf4 (diff) |
[MIPS] Sibyte: Fix interrupt timer off by one bug.
From Dave Johnson <djohnson+linuxmips@sw.starentnetworks.com>:
The timers need to be loaded with 1 less than the desired interval not
the interval itself.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/sibyte/sb1250/time.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/mips/sibyte/sb1250/time.c b/arch/mips/sibyte/sb1250/time.c index 511c89d65f38..adc0b5271a06 100644 --- a/arch/mips/sibyte/sb1250/time.c +++ b/arch/mips/sibyte/sb1250/time.c | |||
@@ -75,10 +75,10 @@ void sb1250_time_init(void) | |||
75 | /* Disable the timer and set up the count */ | 75 | /* Disable the timer and set up the count */ |
76 | __raw_writeq(0, IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_CFG))); | 76 | __raw_writeq(0, IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_CFG))); |
77 | #ifdef CONFIG_SIMULATION | 77 | #ifdef CONFIG_SIMULATION |
78 | __raw_writeq(50000 / HZ, | 78 | __raw_writeq((50000 / HZ) - 1, |
79 | IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_INIT))); | 79 | IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_INIT))); |
80 | #else | 80 | #else |
81 | __raw_writeq(1000000 / HZ, | 81 | __raw_writeq((V_SCD_TIMER_FREQ / HZ) - 1, |
82 | IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_INIT))); | 82 | IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_INIT))); |
83 | #endif | 83 | #endif |
84 | 84 | ||