Commit eba8291b authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Ralf Baechle

[MIPS] Alchemy: kill useless time variables

Since the commit 91a2fcc8 ([MIPS]
Consolidate all variants of MIPS cp0 timer interrupt handlers) removed the
Alchemy specific timer handler, 'r4k_offset' and 'r4k_cur' variables became
practically useless, so get rid of them at last, renaming cal_r4off()
function into calc_clock() and making it return CPU frequency. Also, make
'no_au1xxx_32khz' variable static...
Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 01675095
...@@ -56,7 +56,7 @@ typedef unsigned int uint32; ...@@ -56,7 +56,7 @@ typedef unsigned int uint32;
#define UART16550_WRITE(y, z) (au_writel(z&0xff, DEBUG_BASE + y)) #define UART16550_WRITE(y, z) (au_writel(z&0xff, DEBUG_BASE + y))
extern unsigned long get_au1x00_uart_baud_base(void); extern unsigned long get_au1x00_uart_baud_base(void);
extern unsigned long cal_r4koff(void); extern unsigned long calc_clock(void);
void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop) void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
{ {
...@@ -64,7 +64,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop) ...@@ -64,7 +64,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
if (UART16550_READ(UART_MOD_CNTRL) != 0x3) { if (UART16550_READ(UART_MOD_CNTRL) != 0x3) {
UART16550_WRITE(UART_MOD_CNTRL, 3); UART16550_WRITE(UART_MOD_CNTRL, 3);
} }
cal_r4koff(); calc_clock();
/* disable interrupts */ /* disable interrupts */
UART16550_WRITE(UART_IER, 0); UART16550_WRITE(UART_IER, 0);
......
...@@ -48,9 +48,7 @@ ...@@ -48,9 +48,7 @@
#include <linux/mc146818rtc.h> #include <linux/mc146818rtc.h>
#include <linux/timex.h> #include <linux/timex.h>
static unsigned long r4k_offset; /* Amount to increment compare reg each time */ static int no_au1xxx_32khz;
static unsigned long r4k_cur; /* What counter should be at next timer irq */
int no_au1xxx_32khz;
extern int allow_au1k_wait; /* default off for CP0 Counter */ extern int allow_au1k_wait; /* default off for CP0 Counter */
#ifdef CONFIG_PM #ifdef CONFIG_PM
...@@ -184,7 +182,7 @@ wakeup_counter0_set(int ticks) ...@@ -184,7 +182,7 @@ wakeup_counter0_set(int ticks)
* "wait" is enabled, and we need to detect if the 32KHz isn't present * "wait" is enabled, and we need to detect if the 32KHz isn't present
* but requested......got it? :-) -- Dan * but requested......got it? :-) -- Dan
*/ */
unsigned long cal_r4koff(void) unsigned long calc_clock(void)
{ {
unsigned long cpu_speed; unsigned long cpu_speed;
unsigned long flags; unsigned long flags;
...@@ -229,19 +227,13 @@ unsigned long cal_r4koff(void) ...@@ -229,19 +227,13 @@ unsigned long cal_r4koff(void)
// Equation: Baudrate = CPU / (SD * 2 * CLKDIV * 16) // Equation: Baudrate = CPU / (SD * 2 * CLKDIV * 16)
set_au1x00_uart_baud_base(cpu_speed / (2 * ((int)(au_readl(SYS_POWERCTRL)&0x03) + 2) * 16)); set_au1x00_uart_baud_base(cpu_speed / (2 * ((int)(au_readl(SYS_POWERCTRL)&0x03) + 2) * 16));
spin_unlock_irqrestore(&time_lock, flags); spin_unlock_irqrestore(&time_lock, flags);
return (cpu_speed / HZ); return cpu_speed;
} }
void __init plat_time_init(void) void __init plat_time_init(void)
{ {
unsigned int est_freq; unsigned int est_freq = calc_clock();
printk("calculating r4koff... ");
r4k_offset = cal_r4koff();
printk("%08lx(%d)\n", r4k_offset, (int) r4k_offset);
//est_freq = 2*r4k_offset*HZ;
est_freq = r4k_offset*HZ;
est_freq += 5000; /* round */ est_freq += 5000; /* round */
est_freq -= est_freq%10000; est_freq -= est_freq%10000;
printk("CPU frequency %d.%02d MHz\n", est_freq/1000000, printk("CPU frequency %d.%02d MHz\n", est_freq/1000000,
...@@ -249,9 +241,6 @@ void __init plat_time_init(void) ...@@ -249,9 +241,6 @@ void __init plat_time_init(void)
set_au1x00_speed(est_freq); set_au1x00_speed(est_freq);
set_au1x00_lcd_clock(); // program the LCD clock set_au1x00_lcd_clock(); // program the LCD clock
r4k_cur = (read_c0_count() + r4k_offset);
write_c0_compare(r4k_cur);
#ifdef CONFIG_PM #ifdef CONFIG_PM
/* /*
* setup counter 0, since it keeps ticking after a * setup counter 0, since it keeps ticking after a
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment