From a5fc9c0bbee8b91025993a49a9176a88380aef3c Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Fri, 1 Jul 2005 16:10:40 +0000 Subject: Use physical addresses at the interface level, letting drivers remap them as appropriate. Signed-off-by: Ralf Baechle --- arch/mips/dec/kn02xa-berr.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'arch/mips/dec/kn02xa-berr.c') diff --git a/arch/mips/dec/kn02xa-berr.c b/arch/mips/dec/kn02xa-berr.c index c2990956662..6cd3f94f79f 100644 --- a/arch/mips/dec/kn02xa-berr.c +++ b/arch/mips/dec/kn02xa-berr.c @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -29,8 +30,8 @@ static inline void dec_kn02xa_be_ack(void) { - volatile u32 *mer = (void *)KN02XA_MER; - volatile u32 *mem_intr = (void *)KN02XA_MEM_INTR; + volatile u32 *mer = (void *)CKSEG1ADDR(KN02XA_MER); + volatile u32 *mem_intr = (void *)CKSEG1ADDR(KN02XA_MEM_INTR); *mer = KN02CA_MER_INTR; /* Clear errors; keep the ARC IRQ. */ *mem_intr = 0; /* Any write clears the bus IRQ. */ @@ -40,8 +41,8 @@ static inline void dec_kn02xa_be_ack(void) static int dec_kn02xa_be_backend(struct pt_regs *regs, int is_fixup, int invoker) { - volatile u32 *kn02xa_mer = (void *)KN02XA_MER; - volatile u32 *kn02xa_ear = (void *)KN02XA_EAR; + volatile u32 *kn02xa_mer = (void *)CKSEG1ADDR(KN02XA_MER); + volatile u32 *kn02xa_ear = (void *)CKSEG1ADDR(KN02XA_EAR); static const char excstr[] = "exception"; static const char intstr[] = "interrupt"; @@ -126,7 +127,7 @@ irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id, void __init dec_kn02xa_be_init(void) { - volatile u32 *mbcs = (void *)(KN4K_SLOT_BASE + KN4K_MB_CSR); + volatile u32 *mbcs = (void *)CKSEG1ADDR(KN4K_SLOT_BASE + KN4K_MB_CSR); /* For KN04 we need to make sure EE (?) is enabled in the MB. */ if (current_cpu_data.cputype == CPU_R4000SC) -- cgit v1.2.3