
2-22
Functional Description
If the SYM53C710 is receiving data from the SCSI bus and a fatal
interrupt condition occurs, the chip attempts to send the contents of the
DMA FIFO to memory before generating the interrupt.
If the SYM53C710 is sending data to the SCSI bus and a fatal SCSI
interrupt condition occurs, data could be left in the DMA FIFO. Because
of this the DFE (DMA FIFO Empty) bit in
DMA Status (DSTAT)
should be
checked. If this bit is cleared, set the CLF (Clear DMA and SCSI FIFOs)
bit before continuing.
DSTAT –
The
DMA Status (DSTAT)
register contains the DMA-type
interrupt bits. Reading this register determines which condition or
conditions caused the DMA-type interrupt, and clears that DMA interrupt
condition. Bit 7 in DSTAT, DFE, is purely a status bit; it will not generate
an interrupt under any circumstances and will not be cleared when read.
DMA interrupts flush neither the DMA nor SCSI FIFOs before generating
the interrupt, so the DFE bit in the DSTAT register should be checked
after any DMA interrupt.
If the DFE bit is cleared, then the FIFOs must be cleared by setting the
CLF (Clear DMA and SCSI FIFOs) bit (bit 2 in the
Chip Test Eight
(CTEST8))
register, or flushed by setting the FLF (Flush DMA FIFO) bit
(bit 3 in the CTEST8 register).
SIEN –
The
SCSI Interrupt Enable (SIEN)
register is the interrupt enable
register for the SCSI interrupts in
SCSI Status Zero (SSTAT0)
.
DIEN –
The
DMA Interrupt Enable (DIEN)
register is the interrupt enable
register for DMA interrupts in
DMA Status (DSTAT)
.
2.6.3 Fatal vs. Nonfatal Interrupts
A fatal interrupt, as the name implies, always causes SCRIPTS to stop
running. A nonfatal interrupt causes SCRIPTS to stop running only if it
is not masked.
Masking
is discussed later in this technical manual. All
DMA interrupts (indicated by the
DIP
bit in
Interrupt Status (ISTAT)
and
one or more bits in
DMA Status (DSTAT)
being set) are fatal.
Some SCSI interrupts (indicated by the
SIP
bit in the
Interrupt Status
(ISTAT)
and one or more bits in
SCSI Status Zero (SSTAT0)
being set)
are nonfatal.