summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/dec_esp.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2005-10-15 03:26:31 +0200
committerJames Bottomley <jejb@mulgrave.(none)>2005-10-28 21:45:53 +0200
commit73711b352f1f1e1e9eedd772e232b7c1bd12a305 (patch)
tree6db3a92f5faa25c3c9e5bba4acc9523697959cbf /drivers/scsi/dec_esp.c
parent[SCSI] dec_esp: Fix mapping of ESP. (diff)
downloadlinux-73711b352f1f1e1e9eedd772e232b7c1bd12a305.tar.xz
linux-73711b352f1f1e1e9eedd772e232b7c1bd12a305.zip
[SCSI] dec_esp: Use physical addresses
Use physical addresses at the interface level, letting drivers remap them as appropriate. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/dec_esp.c')
-rw-r--r--drivers/scsi/dec_esp.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/scsi/dec_esp.c b/drivers/scsi/dec_esp.c
index 4f39890b44ac..90e2faf94a09 100644
--- a/drivers/scsi/dec_esp.c
+++ b/drivers/scsi/dec_esp.c
@@ -18,7 +18,7 @@
* 20001005 - Initialization fixes for 2.4.0-test9
* Florian Lohoff <flo@rfc822.org>
*
- * Copyright (C) 2002, 2003 Maciej W. Rozycki
+ * Copyright (C) 2002, 2003, 2005 Maciej W. Rozycki
*/
#include <linux/kernel.h>
@@ -41,6 +41,7 @@
#include <asm/dec/ioasic_addrs.h>
#include <asm/dec/ioasic_ints.h>
#include <asm/dec/machtype.h>
+#include <asm/dec/system.h>
#include <asm/dec/tc.h>
#define DEC_SCSI_SREG 0
@@ -183,7 +184,8 @@ static int dec_esp_detect(Scsi_Host_Template * tpnt)
esp->dregs = 0;
/* ESP register base */
- esp->eregs = (struct ESP_regs *) (system_base + IOASIC_SCSI);
+ esp->eregs = (void *)CKSEG1ADDR(dec_kn_slot_base +
+ IOASIC_SCSI);
/* Set the command buffer */
esp->esp_command = (volatile unsigned char *) cmd_buffer;
@@ -228,10 +230,11 @@ static int dec_esp_detect(Scsi_Host_Template * tpnt)
mem_start = get_tc_base_addr(slot);
/* Store base addr into esp struct */
- esp->slot = CPHYSADDR(mem_start);
+ esp->slot = mem_start;
esp->dregs = 0;
- esp->eregs = (struct ESP_regs *) (mem_start + DEC_SCSI_SREG);
+ esp->eregs = (void *)CKSEG1ADDR(mem_start +
+ DEC_SCSI_SREG);
esp->do_pio_cmds = 1;
/* Set the command buffer */