Update of /cvsroot/linux-mips/linux/drivers/scsi
In directory usw-pr-cvs1:/tmp/cvs-serv13934
Modified Files:
sgiwd93.c
Log Message:
64-bit fixlet.
Index: sgiwd93.c
===================================================================
RCS file: /cvsroot/linux-mips/linux/drivers/scsi/sgiwd93.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- sgiwd93.c 2001/12/13 19:15:15 1.4
+++ sgiwd93.c 2002/01/28 20:50:26 1.5
@@ -39,7 +39,7 @@
struct hpc_chunk {
struct hpc_dma_desc desc;
- unsigned long padding;
+ u32 _padding; /* align to quadword boundary */
};
struct Scsi_Host *sgiwd93_host = NULL;
@@ -142,10 +142,10 @@
/* Start up the HPC. */
hregs->ndptr = PHYSADDR(hdata->dma_bounce_buffer);
if(datainp) {
- dma_cache_wback_inv((unsigned long) cmd->SCp.ptr, cmd->SCp.this_residual);
+ dma_cache_inv((unsigned long) cmd->SCp.ptr, cmd->SCp.this_residual);
hregs->ctrl = (HPC3_SCTRL_ACTIVE);
} else {
- dma_cache_inv((unsigned long) cmd->SCp.ptr, cmd->SCp.this_residual);
+ dma_cache_wback_inv((unsigned long) cmd->SCp.ptr, cmd->SCp.this_residual);
hregs->ctrl = (HPC3_SCTRL_ACTIVE | HPC3_SCTRL_DIR);
}
@@ -237,9 +237,10 @@
return 0;
}
init_hpc_chain(buf);
-
- regs.SASR = KSEG1ADDR (0x1fbc0003); /* HPC_SCSI_REG0 | 0x03 | KSEG1 */
- regs.SCMD = KSEG1ADDR (0x1fbc0007);
+
+ /* HPC_SCSI_REG0 | 0x03 | KSEG1 */
+ regs.SASR = (unsigned char*) KSEG1ADDR (0x1fbc0003);
+ regs.SCMD = (unsigned char*) KSEG1ADDR (0x1fbc0007);
wd33c93_init(sgiwd93_host, regs, dma_setup, dma_stop, WD33C93_FS_16_20);
hdata = (struct WD33C93_hostdata *)sgiwd93_host->hostdata;
@@ -273,8 +274,8 @@
init_hpc_chain(buf);
/* HPC_SCSI_REG1 | 0x03 | KSEG1 */
- regs.SASR = KSEG1ADDR(0x1fbc8003);
- regs.SCMD = KSEG1ADDR(0x1fbc8007);
+ regs.SASR = (unsigned char*) KSEG1ADDR(0x1fbc8003);
+ regs.SCMD = (unsigned char*) KSEG1ADDR(0x1fbc8007);
wd33c93_init(sgiwd93_host1, regs, dma_setup, dma_stop,
WD33C93_FS_16_20);
|