diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2005-07-01 12:10:40 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 14:31:35 -0400 |
commit | a5fc9c0bbee8b91025993a49a9176a88380aef3c (patch) | |
tree | e68ee45e852028ddde712abb18531777dba6e468 /arch/mips/dec/kn01-berr.c | |
parent | 7d7ee221213609319401d1b9d6dc4bf22ab928ea (diff) |
Use physical addresses at the interface level, letting drivers remap
them as appropriate.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/dec/kn01-berr.c')
-rw-r--r-- | arch/mips/dec/kn01-berr.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/mips/dec/kn01-berr.c b/arch/mips/dec/kn01-berr.c index 8ec7b30a90c1..b9271db9bc76 100644 --- a/arch/mips/dec/kn01-berr.c +++ b/arch/mips/dec/kn01-berr.c | |||
@@ -51,7 +51,7 @@ DEFINE_SPINLOCK(kn01_lock); | |||
51 | 51 | ||
52 | static inline void dec_kn01_be_ack(void) | 52 | static inline void dec_kn01_be_ack(void) |
53 | { | 53 | { |
54 | volatile u16 *csr = (void *)(KN01_SLOT_BASE + KN01_CSR); | 54 | volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); |
55 | unsigned long flags; | 55 | unsigned long flags; |
56 | 56 | ||
57 | spin_lock_irqsave(&kn01_lock, flags); | 57 | spin_lock_irqsave(&kn01_lock, flags); |
@@ -64,7 +64,8 @@ static inline void dec_kn01_be_ack(void) | |||
64 | 64 | ||
65 | static int dec_kn01_be_backend(struct pt_regs *regs, int is_fixup, int invoker) | 65 | static int dec_kn01_be_backend(struct pt_regs *regs, int is_fixup, int invoker) |
66 | { | 66 | { |
67 | volatile u32 *kn01_erraddr = (void *)(KN01_SLOT_BASE + KN01_ERRADDR); | 67 | volatile u32 *kn01_erraddr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + |
68 | KN01_ERRADDR); | ||
68 | 69 | ||
69 | static const char excstr[] = "exception"; | 70 | static const char excstr[] = "exception"; |
70 | static const char intstr[] = "interrupt"; | 71 | static const char intstr[] = "interrupt"; |
@@ -152,7 +153,7 @@ int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup) | |||
152 | irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id, | 153 | irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id, |
153 | struct pt_regs *regs) | 154 | struct pt_regs *regs) |
154 | { | 155 | { |
155 | volatile u16 *csr = (void *)(KN01_SLOT_BASE + KN01_CSR); | 156 | volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); |
156 | int action; | 157 | int action; |
157 | 158 | ||
158 | if (!(*csr & KN01_CSR_MEMERR)) | 159 | if (!(*csr & KN01_CSR_MEMERR)) |
@@ -178,7 +179,7 @@ irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id, | |||
178 | 179 | ||
179 | void __init dec_kn01_be_init(void) | 180 | void __init dec_kn01_be_init(void) |
180 | { | 181 | { |
181 | volatile u16 *csr = (void *)(KN01_SLOT_BASE + KN01_CSR); | 182 | volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); |
182 | unsigned long flags; | 183 | unsigned long flags; |
183 | 184 | ||
184 | spin_lock_irqsave(&kn01_lock, flags); | 185 | spin_lock_irqsave(&kn01_lock, flags); |