diff options
Diffstat (limited to 'arch/mips/dec/kn02-irq.c')
-rw-r--r-- | arch/mips/dec/kn02-irq.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mips/dec/kn02-irq.c b/arch/mips/dec/kn02-irq.c index 644085e10403..898bed502a34 100644 --- a/arch/mips/dec/kn02-irq.c +++ b/arch/mips/dec/kn02-irq.c | |||
@@ -37,7 +37,8 @@ static int kn02_irq_base; | |||
37 | 37 | ||
38 | static inline void unmask_kn02_irq(unsigned int irq) | 38 | static inline void unmask_kn02_irq(unsigned int irq) |
39 | { | 39 | { |
40 | volatile u32 *csr = (volatile u32 *)KN02_CSR_BASE; | 40 | volatile u32 *csr = (volatile u32 *)CKSEG1ADDR(KN02_SLOT_BASE + |
41 | KN02_CSR); | ||
41 | 42 | ||
42 | cached_kn02_csr |= (1 << (irq - kn02_irq_base + 16)); | 43 | cached_kn02_csr |= (1 << (irq - kn02_irq_base + 16)); |
43 | *csr = cached_kn02_csr; | 44 | *csr = cached_kn02_csr; |
@@ -45,7 +46,8 @@ static inline void unmask_kn02_irq(unsigned int irq) | |||
45 | 46 | ||
46 | static inline void mask_kn02_irq(unsigned int irq) | 47 | static inline void mask_kn02_irq(unsigned int irq) |
47 | { | 48 | { |
48 | volatile u32 *csr = (volatile u32 *)KN02_CSR_BASE; | 49 | volatile u32 *csr = (volatile u32 *)CKSEG1ADDR(KN02_SLOT_BASE + |
50 | KN02_CSR); | ||
49 | 51 | ||
50 | cached_kn02_csr &= ~(1 << (irq - kn02_irq_base + 16)); | 52 | cached_kn02_csr &= ~(1 << (irq - kn02_irq_base + 16)); |
51 | *csr = cached_kn02_csr; | 53 | *csr = cached_kn02_csr; |
@@ -105,7 +107,8 @@ static struct hw_interrupt_type kn02_irq_type = { | |||
105 | 107 | ||
106 | void __init init_kn02_irqs(int base) | 108 | void __init init_kn02_irqs(int base) |
107 | { | 109 | { |
108 | volatile u32 *csr = (volatile u32 *)KN02_CSR_BASE; | 110 | volatile u32 *csr = (volatile u32 *)CKSEG1ADDR(KN02_SLOT_BASE + |
111 | KN02_CSR); | ||
109 | unsigned long flags; | 112 | unsigned long flags; |
110 | int i; | 113 | int i; |
111 | 114 | ||