Cleanup for compatibility with another OS.

Submitted by:	wolf
This commit is contained in:
Stefan Eßer 1995-02-22 18:04:56 +00:00
parent b5909509ee
commit fe5278a5cc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=6632

View file

@ -1,6 +1,6 @@
/************************************************************************** /**************************************************************************
** **
** $Id: ncr.c,v 1.24 1995/02/15 20:06:38 se Exp $ ** $Id: ncr.c,v 1.25 1995/02/17 16:45:08 se Exp $
** **
** Device driver for the NCR 53C810 PCI-SCSI-Controller. ** Device driver for the NCR 53C810 PCI-SCSI-Controller.
** **
@ -44,7 +44,7 @@
*************************************************************************** ***************************************************************************
*/ */
#define NCR_PATCHLEVEL "pl15 95/02/15" #define NCR_PATCHLEVEL "pl17 95/02/22"
#define NCR_VERSION (2) #define NCR_VERSION (2)
#define MAX_UNITS (16) #define MAX_UNITS (16)
@ -178,14 +178,17 @@
#include <pci/ncrreg.h> #include <pci/ncrreg.h>
#else #else
#include <sys/device.h> #include <sys/device.h>
#include <i386/pci/ncrreg.h> #include <i386/pci/ncr_reg.h>
#include <i386/pci/pcivar.h> #include <i386/pci/pcivar.h>
#include <i386/pci/pcireg.h> #include <i386/pci/pcireg.h>
#define DELAY(x) delay(x)
#endif /* __NetBSD */ #endif /* __NetBSD */
#include <scsi/scsi_all.h> #include <scsi/scsi_all.h>
#include <scsi/scsiconf.h> #include <scsi/scsiconf.h>
#ifndef __NetBSD__
#include <machine/clock.h> #include <machine/clock.h>
#endif /* __NetBSD */
/*========================================================== /*==========================================================
@ -296,7 +299,7 @@
/*========================================================== /*==========================================================
** **
** Software Interrupt Codes ** Software Interupt Codes
** **
**========================================================== **==========================================================
*/ */
@ -557,7 +560,7 @@ struct tcb {
struct link jump_lcb; struct link jump_lcb;
/* /*
** pointer to interrupted getcc ccb ** pointer to interupted getcc ccb
*/ */
ccb_p hold_cp; ccb_p hold_cp;
@ -1251,7 +1254,7 @@ static void ncr_attach (pcici_t tag, int unit);
static char ident[] = static char ident[] =
"\n$Id: ncr.c,v 1.24 1995/02/15 20:06:38 se Exp $\n"; "\n$Id: ncr.c,v 1.25 1995/02/17 16:45:08 se Exp $\n";
u_long ncr_version = NCR_VERSION u_long ncr_version = NCR_VERSION
+ (u_long) sizeof (struct ncb) + (u_long) sizeof (struct ncb)
@ -1403,9 +1406,9 @@ static struct script script0 = {
0, 0,
}/*-------------------------< START0 >----------------------*/,{ }/*-------------------------< START0 >----------------------*/,{
/* /*
** Hook for interrupted GetConditionCode. ** Hook for interupted GetConditionCode.
** Will be patched to ... IFTRUE by ** Will be patched to ... IFTRUE by
** the interrupt handler. ** the interupt handler.
*/ */
SCR_INT ^ IFFALSE (0), SCR_INT ^ IFFALSE (0),
SIR_SENSE_RESTART, SIR_SENSE_RESTART,
@ -1413,7 +1416,7 @@ static struct script script0 = {
}/*-------------------------< START1 >----------------------*/,{ }/*-------------------------< START1 >----------------------*/,{
/* /*
** Hook for stalled start queue. ** Hook for stalled start queue.
** Will be patched to IFTRUE by the interrupt handler. ** Will be patched to IFTRUE by the interupt handler.
*/ */
SCR_INT ^ IFFALSE (0), SCR_INT ^ IFFALSE (0),
SIR_STALL_RESTART, SIR_STALL_RESTART,
@ -1562,10 +1565,10 @@ static struct script script0 = {
** Then it will execute the next statement. ** Then it will execute the next statement.
** **
** (4) There is a selection timeout. ** (4) There is a selection timeout.
** Then the ncr should interrupt the host and stop. ** Then the ncr should interupt the host and stop.
** Unfortunately, it seems to continue execution ** Unfortunately, it seems to continue execution
** of the script. But it will fail with an ** of the script. But it will fail with an
** IID-interrupt on the next WHEN. ** IID-interupt on the next WHEN.
*/ */
SCR_JUMPR ^ IFTRUE (WHEN (SCR_MSG_IN)), SCR_JUMPR ^ IFTRUE (WHEN (SCR_MSG_IN)),
@ -2003,7 +2006,7 @@ static struct script script0 = {
SCR_JUMP ^ IFTRUE (DATA (0)), SCR_JUMP ^ IFTRUE (DATA (0)),
PADDR (clrack), PADDR (clrack),
/* /*
** Size is not 1 .. have to interrupt. ** Size is not 1 .. have to interupt.
*/ */
/*<<<*/ SCR_JUMPR ^ IFFALSE (DATA (1)), /*<<<*/ SCR_JUMPR ^ IFFALSE (DATA (1)),
40, 40,
@ -2660,7 +2663,7 @@ static struct script script0 = {
}/*-------------------------< RESELECT2 >-------------------*/,{ }/*-------------------------< RESELECT2 >-------------------*/,{
/* /*
** If it's not connected :( ** If it's not connected :(
** -> interrupted by SIGP bit. ** -> interupted by SIGP bit.
** Jump to start. ** Jump to start.
*/ */
SCR_FROM_REG (ctest2), SCR_FROM_REG (ctest2),
@ -3243,19 +3246,20 @@ ncr_attach(parent, self, aux)
static void ncr_attach (pcici_t config_id, int unit) static void ncr_attach (pcici_t config_id, int unit)
{ {
ncb_p np; ncb_p np = (struct ncb*) 0;
#if ! (__FreeBSD__ >= 2) #if ! (__FreeBSD__ >= 2)
extern unsigned bio_imask; extern unsigned bio_imask;
#endif #endif
/* /*
** allocate structure ** allocate structure
*/ */
np = (ncb_p) malloc (sizeof (struct ncb), M_DEVBUF, M_WAITOK); if (!np) {
if (!np) return; np = (ncb_p) malloc (sizeof (struct ncb), M_DEVBUF, M_WAITOK);
ncrp[unit]=np; if (!np) return;
ncrp[unit]=np;
}
/* /*
** initialize structure. ** initialize structure.
@ -3397,17 +3401,17 @@ static void ncr_attach (pcici_t config_id, int unit)
#ifndef __NetBSD__ #ifndef __NetBSD__
/* /*
** Install the interrupt handler. ** Install the interupt handler.
*/ */
if (!pci_map_int (config_id, ncr_intr, np, &bio_imask)) if (!pci_map_int (config_id, ncr_intr, np, &bio_imask))
printf ("\tinterruptless mode: reduced performance.\n"); printf ("\tinteruptless mode: reduced performance.\n");
#endif #endif
/* /*
** After SCSI devices have been opened, we cannot ** After SCSI devices have been opened, we cannot
** reset the bus safely, so we do it here. ** reset the bus safely, so we do it here.
** Interrupt handler does the real work. ** Interupt handler does the real work.
*/ */
OUTB (nc_scntl1, CRST); OUTB (nc_scntl1, CRST);
@ -3415,7 +3419,7 @@ static void ncr_attach (pcici_t config_id, int unit)
/* /*
** process the reset exception, ** process the reset exception,
** if interrupts are not enabled yet. ** if interupts are not enabled yet.
** than enable disconnects. ** than enable disconnects.
*/ */
ncr_exception (np); ncr_exception (np);
@ -3473,7 +3477,7 @@ static void ncr_attach (pcici_t config_id, int unit)
/*========================================================== /*==========================================================
** **
** **
** Process pending device interrupts. ** Process pending device interupts.
** **
** **
**========================================================== **==========================================================
@ -3543,7 +3547,7 @@ static INT32 ncr_start (struct scsi_xfer * xp)
** **
** Reset SCSI bus ** Reset SCSI bus
** **
** Interrupt handler does the real work. ** Interupt handler does the real work.
** **
**--------------------------------------------- **---------------------------------------------
*/ */
@ -3990,7 +3994,7 @@ static INT32 ncr_start (struct scsi_xfer * xp)
splx (oldspl); splx (oldspl);
/* /*
** If interrupts are enabled, return now. ** If interupts are enabled, return now.
** Command is successfully queued. ** Command is successfully queued.
*/ */
@ -4003,7 +4007,7 @@ static INT32 ncr_start (struct scsi_xfer * xp)
/*---------------------------------------------------- /*----------------------------------------------------
** **
** Interrupts not yet enabled - have to poll. ** Interupts not yet enabled - have to poll.
** **
**---------------------------------------------------- **----------------------------------------------------
*/ */
@ -4782,7 +4786,7 @@ static void ncr_usercmd (ncb_p np)
**========================================================== **==========================================================
** **
** Misused to keep the driver running when ** Misused to keep the driver running when
** interrupts are not configured correctly. ** interupts are not configured correctly.
** **
**---------------------------------------------------------- **----------------------------------------------------------
*/ */
@ -4836,7 +4840,7 @@ static void ncr_timeout (ncb_p np)
** **
** May be a target is hanging, ** May be a target is hanging,
** or another initator lets a tape device ** or another initator lets a tape device
** rewind with disconnect disabled :-( ** rewind with disabled disconnect :-(
** **
** We won't accept that. ** We won't accept that.
*/ */
@ -4907,7 +4911,7 @@ static void ncr_timeout (ncb_p np)
if (INB(nc_istat) & (INTF|SIP|DIP)) { if (INB(nc_istat) & (INTF|SIP|DIP)) {
/* /*
** Process pending interrupts. ** Process pending interupts.
*/ */
int oldspl = splbio (); int oldspl = splbio ();
@ -4935,7 +4939,7 @@ void ncr_exception (ncb_p np)
int i; int i;
/* /*
** interrupt on the fly ? ** interupt on the fly ?
*/ */
while ((istat = INB (nc_istat)) & INTF) { while ((istat = INB (nc_istat)) & INTF) {
if (DEBUG_FLAGS & DEBUG_TINY) printf ("F"); if (DEBUG_FLAGS & DEBUG_TINY) printf ("F");
@ -5024,7 +5028,7 @@ void ncr_exception (ncb_p np)
}; };
/*------------------------------------------- /*-------------------------------------------
** Programmed interrupt ** Programmed interupt
**------------------------------------------- **-------------------------------------------
*/ */
@ -5167,7 +5171,7 @@ void ncr_exception (ncb_p np)
/* /*
** @RECOVER@ HTH, SGE, ABRT. ** @RECOVER@ HTH, SGE, ABRT.
** **
** We should try to recover from these interrupts. ** We should try to recover from these interupts.
** They may occur if there are problems with synch transfers, ** They may occur if there are problems with synch transfers,
** or if targets are powerswitched while the driver is running. ** or if targets are powerswitched while the driver is running.
*/ */
@ -5225,9 +5229,9 @@ void ncr_exception (ncb_p np)
**========================================================== **==========================================================
** **
** There seems to be a bug in the 53c810. ** There seems to be a bug in the 53c810.
** Although a STO-interrupt is pending, ** Although a STO-Interupt is pending,
** it continues executing script commands. ** it continues executing script commands.
** But it will fail and interrupt (IID) on ** But it will fail and interupt (IID) on
** the next instruction where it's looking ** the next instruction where it's looking
** for a valid phase. ** for a valid phase.
** **
@ -5340,7 +5344,7 @@ static void ncr_int_ma (ncb_p np)
return; return;
/* /*
** find the interrupted script command, ** find the interupted script command,
** and the address at where to continue. ** and the address at where to continue.
*/ */
@ -5446,7 +5450,7 @@ static void ncr_int_ma (ncb_p np)
/*========================================================== /*==========================================================
** **
** **
** ncr chip exception handler for programmed interrupts. ** ncr chip exception handler for programmed interupts.
** **
** **
**========================================================== **==========================================================
@ -5504,7 +5508,7 @@ void ncr_int_sir (ncb_p np)
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
** **
** Processing of interrupted getcc selects ** Processing of interupted getcc selects
** **
**-------------------------------------------------------------------- **--------------------------------------------------------------------
*/ */
@ -5512,7 +5516,7 @@ void ncr_int_sir (ncb_p np)
case SIR_SENSE_RESTART: case SIR_SENSE_RESTART:
/*------------------------------------------ /*------------------------------------------
** Script processor is idle. ** Script processor is idle.
** Look for interrupted "check cond" ** Look for interupted "check cond"
**------------------------------------------ **------------------------------------------
*/ */
@ -5550,7 +5554,7 @@ void ncr_int_sir (ncb_p np)
case SIR_SENSE_FAILED: case SIR_SENSE_FAILED:
/*------------------------------------------- /*-------------------------------------------
** While trying to reselect for ** While trying to select for
** getting the condition code, ** getting the condition code,
** a target reselected us. ** a target reselected us.
**------------------------------------------- **-------------------------------------------
@ -5587,7 +5591,7 @@ void ncr_int_sir (ncb_p np)
** situation. ** situation.
** **
** If the target doesn't answer this message immidiately ** If the target doesn't answer this message immidiately
** (as required by the standard), the SIR_NEGO_FAIL interrupt ** (as required by the standard), the SIR_NEGO_FAIL interupt
** will be raised eventually. ** will be raised eventually.
** The handler removes the HS_NEGOTIATE status, and sets the ** The handler removes the HS_NEGOTIATE status, and sets the
** negotiated value to the default (async / nowide). ** negotiated value to the default (async / nowide).
@ -6021,7 +6025,7 @@ void ncr_int_sir (ncb_p np)
}; };
/* /*
** else remove the interrupt. ** else remove the interupt.
*/ */
printf ("%s: queue empty.\n", ncr_name (np)); printf ("%s: queue empty.\n", ncr_name (np));
@ -6344,7 +6348,7 @@ static int ncr_scatter
/* /*
** insert extra break points at a distance of chunk. ** insert extra break points at a distance of chunk.
** We try to reduce the number of interrupts due to ** We try to reduce the number of interupts due to
** unexpected phase changes due to disconnects. ** unexpected phase changes due to disconnects.
** A typical harddisk may disconnect before ANY block. ** A typical harddisk may disconnect before ANY block.
** If we want to avoid unexpected phase changes at all ** If we want to avoid unexpected phase changes at all
@ -6427,7 +6431,7 @@ static int ncr_scatter
** **
** Test the pci bus snoop logic :-( ** Test the pci bus snoop logic :-(
** **
** Has to be called with interrupts disabled. ** Has to be called with disabled interupts.
** **
** **
**========================================================== **==========================================================