patch-2.4.21 linux-2.4.21/drivers/scsi/sun3_scsi.c
Next file: linux-2.4.21/drivers/scsi/sun3_scsi.h
Previous file: linux-2.4.21/drivers/scsi/sun3_NCR5380.c
Back to the patch index
Back to the overall index
- Lines: 83
- Date:
2003-06-13 07:51:36.000000000 -0700
- Orig file:
linux-2.4.20/drivers/scsi/sun3_scsi.c
- Orig date:
2002-08-02 17:39:44.000000000 -0700
diff -urN linux-2.4.20/drivers/scsi/sun3_scsi.c linux-2.4.21/drivers/scsi/sun3_scsi.c
@@ -1,7 +1,7 @@
/*
* Sun3 SCSI stuff by Erik Verbruggen (erik@bigmama.xtdnet.nl)
*
- * Sun3 DMA routines added by Sam Creasey (sammy@oh.verio.com)
+ * Sun3 DMA routines added by Sam Creasey (sammy@sammy.net)
*
* Adapted from mac_scsinew.c:
*/
@@ -192,8 +192,7 @@
int sun3scsi_detect(Scsi_Host_Template * tpnt)
{
- unsigned long ioaddr, iopte;
- int count = 0;
+ unsigned long ioaddr;
static int called = 0;
struct Scsi_Host *instance;
@@ -227,28 +226,9 @@
tpnt->this_id = 7;
}
- /* Taken from Sammy's lance driver: */
- /* IOBASE_SUN3_SCSI can be found within the IO pmeg with some effort */
- for(ioaddr = 0xfe00000; ioaddr < (0xfe00000 + SUN3_PMEG_SIZE);
- ioaddr += SUN3_PTE_SIZE) {
-
- iopte = sun3_get_pte(ioaddr);
- if(!(iopte & SUN3_PAGE_TYPE_IO)) /* this an io page? */
- continue;
-
- if(((iopte & SUN3_PAGE_PGNUM_MASK) << PAGE_SHIFT) ==
- IOBASE_SUN3_SCSI) {
- count = 1;
- break;
- }
- }
-
- if(!count) {
- printk("No Sun3 NCR5380 found!\n");
- return 0;
- }
-
+ ioaddr = (unsigned long)ioremap(IOBASE_SUN3_SCSI, PAGE_SIZE);
sun3_scsi_regp = (unsigned char *)ioaddr;
+
dregs = (struct sun3_dma_regs *)(((unsigned char *)ioaddr) + 8);
if((udc_regs = dvma_malloc(sizeof(struct sun3_udc_regs)))
@@ -322,13 +302,17 @@
return 1;
}
+#ifdef MODULE
int sun3scsi_release (struct Scsi_Host *shpnt)
{
if (shpnt->irq != IRQ_NONE)
free_irq (shpnt->irq, NULL);
+ iounmap((void *)sun3_scsi_regp);
+
return 0;
}
+#endif
#ifdef RESET_BOOT
/*
@@ -537,6 +521,14 @@
return 0;
}
+static inline int sun3scsi_dma_start(unsigned long count, unsigned char *data)
+{
+
+ sun3_udc_write(UDC_CHN_START, UDC_CSR);
+
+ return 0;
+}
+
/* clean up after our dma is done */
static int sun3scsi_dma_finish(int write_flag)
{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)