aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2005-10-14 21:26:31 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-10-28 15:45:53 -0400
commit73711b352f1f1e1e9eedd772e232b7c1bd12a305 (patch)
tree6db3a92f5faa25c3c9e5bba4acc9523697959cbf
parentb04fc679055f76cfd17c6870716a8286ccfa3b8e (diff)
[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>
-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 @@
18 * 20001005 - Initialization fixes for 2.4.0-test9 18 * 20001005 - Initialization fixes for 2.4.0-test9
19 * Florian Lohoff <flo@rfc822.org> 19 * Florian Lohoff <flo@rfc822.org>
20 * 20 *
21 * Copyright (C) 2002, 2003 Maciej W. Rozycki 21 * Copyright (C) 2002, 2003, 2005 Maciej W. Rozycki
22 */ 22 */
23 23
24#include <linux/kernel.h> 24#include <linux/kernel.h>
@@ -41,6 +41,7 @@
41#include <asm/dec/ioasic_addrs.h> 41#include <asm/dec/ioasic_addrs.h>
42#include <asm/dec/ioasic_ints.h> 42#include <asm/dec/ioasic_ints.h>
43#include <asm/dec/machtype.h> 43#include <asm/dec/machtype.h>
44#include <asm/dec/system.h>
44#include <asm/dec/tc.h> 45#include <asm/dec/tc.h>
45 46
46#define DEC_SCSI_SREG 0 47#define DEC_SCSI_SREG 0
@@ -183,7 +184,8 @@ static int dec_esp_detect(Scsi_Host_Template * tpnt)
183 esp->dregs = 0; 184 esp->dregs = 0;
184 185
185 /* ESP register base */ 186 /* ESP register base */
186 esp->eregs = (struct ESP_regs *) (system_base + IOASIC_SCSI); 187 esp->eregs = (void *)CKSEG1ADDR(dec_kn_slot_base +
188 IOASIC_SCSI);
187 189
188 /* Set the command buffer */ 190 /* Set the command buffer */
189 esp->esp_command = (volatile unsigned char *) cmd_buffer; 191 esp->esp_command = (volatile unsigned char *) cmd_buffer;
@@ -228,10 +230,11 @@ static int dec_esp_detect(Scsi_Host_Template * tpnt)
228 mem_start = get_tc_base_addr(slot); 230 mem_start = get_tc_base_addr(slot);
229 231
230 /* Store base addr into esp struct */ 232 /* Store base addr into esp struct */
231 esp->slot = CPHYSADDR(mem_start); 233 esp->slot = mem_start;
232 234
233 esp->dregs = 0; 235 esp->dregs = 0;
234 esp->eregs = (struct ESP_regs *) (mem_start + DEC_SCSI_SREG); 236 esp->eregs = (void *)CKSEG1ADDR(mem_start +
237 DEC_SCSI_SREG);
235 esp->do_pio_cmds = 1; 238 esp->do_pio_cmds = 1;
236 239
237 /* Set the command buffer */ 240 /* Set the command buffer */