patch-2.0.28 linux/drivers/scsi/ncr53c8xx.c
Next file: linux/drivers/scsi/ncr53c8xx.h
Previous file: linux/drivers/scsi/eata.h
Back to the patch index
Back to the overall index
- Lines: 38
- Date:
Wed Dec 11 17:02:43 1996
- Orig file:
v2.0.27/linux/drivers/scsi/ncr53c8xx.c
- Orig date:
Tue Oct 8 21:20:13 1996
diff -u --recursive --new-file v2.0.27/linux/drivers/scsi/ncr53c8xx.c linux/drivers/scsi/ncr53c8xx.c
@@ -5459,8 +5459,8 @@
** Never test for an error condition you don't know how to handle.
*/
- dstat = INB (nc_dstat);
- sist = INW (nc_sist) ;
+ dstat = (istat & DIP) ? INB (nc_dstat) : 0;
+ sist = (istat & SIP) ? INW (nc_sist) : 0;
np->profile.num_int++;
if (DEBUG_FLAGS & DEBUG_TINY)
@@ -7355,6 +7355,26 @@
printf ("%s: sclk=%d async=%d sync=%d (ns) scntl3=0x%x\n",
ncr_name (np), ns_clock, np->ns_async, np->ns_sync, np->rv_scntl3);
#else
+ /*
+ * If NCR53C875 chip with clock doubler enabled,
+ * disable clock doubler and assume 40 MHz clock.
+ * If NCR53C860 chip assume 80 MHz clock.
+ */
+
+ switch(np->device_id) {
+ case PCI_DEVICE_ID_NCR_53C875:
+ if ((INB(nc_stest1) & (DBLEN+DBLSEL)) == DBLEN+DBLSEL) {
+ if (bootverbose)
+ printf ("%s: disabling clock doubler\n", ncr_name(np));
+ OUTB(nc_stest1, 0);
+ scntl3 = 3;
+ }
+ break;
+ case PCI_DEVICE_ID_NCR_53C860:
+ scntl3 = 5;
+ break;
+ }
+
/*
* For now just preserve the BIOS setting ...
*/
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov