diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2008-03-24 16:15:50 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-04-28 12:14:26 -0400 |
commit | 0167509574ef1cdb516906db5e8b6ad5ca64ab61 (patch) | |
tree | 3047fc8adf04601f529e2d497a36d1a79d4681bc /arch/mips/au1000 | |
parent | a92b05880d261e9017ef8e7d5b6b01e0e5aa991d (diff) |
[MIPS] Alchemy: don't unmask timer IRQ early
Defer the unmasking of the count/compare interrupt (IRQ5) till the
clockevent driver initialization:
- only enable the cascaded IRQs 0 thru 4 in arch_init_irq(); kill the
ALLINTS macro -- this change is blessed by AMD as I saw it in their own
patch; :-)
- do not force IRQ5 enabled in plat_time_init() if PM is enabled and there's
no 32 KHz crystal.
Update the copyrights (taking into account my prior changes), also removing
Pete Popov's old email...
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/au1000')
-rw-r--r-- | arch/mips/au1000/common/irq.c | 7 | ||||
-rw-r--r-- | arch/mips/au1000/common/time.c | 8 |
2 files changed, 5 insertions, 10 deletions
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c index 3c7714f057ac..5528e1412b50 100644 --- a/arch/mips/au1000/common/irq.c +++ b/arch/mips/au1000/common/irq.c | |||
@@ -1,7 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2001 MontaVista Software Inc. | 2 | * Copyright 2001, 2007-2008 MontaVista Software Inc. |
3 | * Author: MontaVista Software, Inc. | 3 | * Author: MontaVista Software, Inc. <source@mvista.com> |
4 | * ppopov@mvista.com or source@mvista.com | ||
5 | * | 4 | * |
6 | * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org) | 5 | * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org) |
7 | * | 6 | * |
@@ -591,7 +590,7 @@ void __init arch_init_irq(void) | |||
591 | imp++; | 590 | imp++; |
592 | } | 591 | } |
593 | 592 | ||
594 | set_c0_status(ALLINTS); | 593 | set_c0_status(IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4); |
595 | 594 | ||
596 | /* Board specific IRQ initialization. | 595 | /* Board specific IRQ initialization. |
597 | */ | 596 | */ |
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c index e122bbc6cd88..1966964590ab 100644 --- a/arch/mips/au1000/common/time.c +++ b/arch/mips/au1000/common/time.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * |
3 | * Copyright (C) 2001 MontaVista Software, ppopov@mvista.com | 3 | * Copyright (C) 2001, 2006, 2008 MontaVista Software, <source@mvista.com> |
4 | * Copied and modified Carsten Langgaard's time.c | 4 | * Copied and modified Carsten Langgaard's time.c |
5 | * | 5 | * |
6 | * Carsten Langgaard, carstenl@mips.com | 6 | * Carsten Langgaard, carstenl@mips.com |
@@ -265,12 +265,8 @@ void __init plat_time_init(void) | |||
265 | * Check to ensure we really have a 32KHz oscillator before | 265 | * Check to ensure we really have a 32KHz oscillator before |
266 | * we do this. | 266 | * we do this. |
267 | */ | 267 | */ |
268 | if (no_au1xxx_32khz) { | 268 | if (no_au1xxx_32khz) |
269 | printk("WARNING: no 32KHz clock found.\n"); | 269 | printk("WARNING: no 32KHz clock found.\n"); |
270 | |||
271 | /* Ensure we get CPO_COUNTER interrupts. */ | ||
272 | set_c0_status(IE_IRQ5); | ||
273 | } | ||
274 | else { | 270 | else { |
275 | while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C0S); | 271 | while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C0S); |
276 | au_writel(0, SYS_TOYWRITE); | 272 | au_writel(0, SYS_TOYWRITE); |