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

[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: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent a92b0588
/* /*
* Copyright 2001 MontaVista Software Inc. * Copyright 2001, 2007-2008 MontaVista Software Inc.
* Author: MontaVista Software, Inc. * Author: MontaVista Software, Inc. <source@mvista.com>
* ppopov@mvista.com or source@mvista.com
* *
* Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org) * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
* *
...@@ -591,7 +590,7 @@ void __init arch_init_irq(void) ...@@ -591,7 +590,7 @@ void __init arch_init_irq(void)
imp++; imp++;
} }
set_c0_status(ALLINTS); set_c0_status(IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4);
/* Board specific IRQ initialization. /* Board specific IRQ initialization.
*/ */
......
/* /*
* *
* Copyright (C) 2001 MontaVista Software, ppopov@mvista.com * Copyright (C) 2001, 2006, 2008 MontaVista Software, <source@mvista.com>
* Copied and modified Carsten Langgaard's time.c * Copied and modified Carsten Langgaard's time.c
* *
* Carsten Langgaard, carstenl@mips.com * Carsten Langgaard, carstenl@mips.com
...@@ -265,12 +265,8 @@ void __init plat_time_init(void) ...@@ -265,12 +265,8 @@ void __init plat_time_init(void)
* Check to ensure we really have a 32KHz oscillator before * Check to ensure we really have a 32KHz oscillator before
* we do this. * we do this.
*/ */
if (no_au1xxx_32khz) { if (no_au1xxx_32khz)
printk("WARNING: no 32KHz clock found.\n"); printk("WARNING: no 32KHz clock found.\n");
/* Ensure we get CPO_COUNTER interrupts. */
set_c0_status(IE_IRQ5);
}
else { else {
while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C0S); while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C0S);
au_writel(0, SYS_TOYWRITE); au_writel(0, SYS_TOYWRITE);
......
...@@ -3,9 +3,8 @@ ...@@ -3,9 +3,8 @@
* BRIEF MODULE DESCRIPTION * BRIEF MODULE DESCRIPTION
* Include file for Alchemy Semiconductor's Au1k CPU. * Include file for Alchemy Semiconductor's Au1k CPU.
* *
* Copyright 2000,2001 MontaVista Software Inc. * Copyright 2000-2001, 2006-2008 MontaVista Software Inc.
* Author: MontaVista Software, Inc. * Author: MontaVista Software, Inc. <source@mvista.com>
* ppopov@mvista.com or source@mvista.com
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the * under the terms of the GNU General Public License as published by the
...@@ -117,13 +116,6 @@ extern struct au1xxx_irqmap au1xxx_irq_map[]; ...@@ -117,13 +116,6 @@ extern struct au1xxx_irqmap au1xxx_irq_map[];
#endif /* !defined (_LANGUAGE_ASSEMBLY) */ #endif /* !defined (_LANGUAGE_ASSEMBLY) */
#ifdef CONFIG_PM
/* no CP0 timer irq */
#define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4)
#else
#define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5)
#endif
/* /*
* SDRAM Register Offsets * SDRAM Register Offsets
*/ */
......
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