
2-24
SYM53C876/876E Data Manual
Functional Description
SCSI Functional Description
ting the CLF (Clear DMA FIFO) and CSF
(Clear SCSI FIFO) bits, or flushed by setting the
FLF (Flush DMA FIFO) bit.
SIEN0 and SIEN1
The SIEN0 and SIEN1 registers are the interrupt
enable registers for the SCSI interrupts in SIST0
and SIST1.
DIEN
The DIEN register is the interrupt enable register
for DMA interrupts in DSTAT.
DCNTL
When bit 1 in this register is set, the INTA/ (or
INTB/) pin is not asserted when an interrupt con-
dition occurs. The interrupt is not lost or ignored,
but merely masked at the pin. Clearing this bit
when an interrupt is pending immediately causes
the INTA/ (or INTB/) pin to assert. As with any
register other than ISTAT, this register cannot be
accessed except by a SCRIPTS instruction during
SCRIPTS execution.
Fatal vs. Non-Fatal
Interrupts
A fatal interrupt, as the name implies, always
causes SCRIPTS to stop running. All non-fatal
interrupts become fatal when they are enabled by
setting the appropriate interrupt enable bit. Inter-
rupt masking is discussed later in this section. All
DMA interrupts (indicated by the DIP bit in
ISTAT and one or more bits in DSTAT being set)
are fatal.
Some SCSI interrupts (indicated by the SIP bit in
the ISTAT and one or more bits in SIST0 or
SIST1 being set) are non-fatal. When the
SYM53C876 is operating in Initiator mode, only
the Function Complete (CMP), Selected (SEL),
Reselected (RSL), General Purpose Timer
Expired (GEN), and Handshake to Handshake
Timer Expired (HTH) interrupts are non-fatal.
When operating in Target mode CMP, SEL, RSL,
Target mode: SATN/ active (M/A), GEN, and
HTH are non-fatal. Refer to the description for
the Disable Halt on a Parity Error or SATN/
active (Target Mode Only) (DHP) bit in the
SCNTL1 register to configure the chip’s behavior
when the SATN/ interrupt is enabled during Tar-
get mode operation. The Interrupt on the Fly
interrupt is also non-fatal, since SCRIPTS can
continue when it occurs.
The reason for non-fatal interrupts is to prevent
SCRIPTS from stopping when an interrupt
occurs that does not require service from the
CPU. This prevents an interrupt when arbitration
is complete (CMP set), when the SYM53C876 is
selected or reselected (SEL or RSL set), when the
initiator asserts ATN (target mode: SATN/
active), or when the General Purpose or Hand-
shake to Handshake timers expire. These inter-
rupts are not needed for events that occur during
high-level SCRIPTS operation.
Masking
Masking an interrupt means disabling or ignoring
that interrupt. Interrupts can be masked by clear-
ing bits in the SIEN0 and SIEN1 (for SCSI inter-
rupts) registers or DIEN (for DMA interrupts)
register. How the chip responds to masked inter-
rupts depends on: whether polling or hardware
interrupts are being used; whether the interrupt is
fatal or non-fatal; and whether the chip is operat-
ing in Initiator or Target mode.
If a non-fatal interrupt is masked and that condi-
tion occurs, SCRIPTS do not stop, the appropri-
ate bit in the SIST0 or SIST1 is still set, the SIP
bit in the ISTAT is not set, and the INTA/ (or
INTB/) pin is not asserted. See the section on
non-fatal vs. fatal interrupts for a list of the non-
fatal interrupts.
If a fatal interrupt is masked and that condition
occurs, then SCRIPTS still stop, the appropriate
bit in the DSTAT, SIST0, or SIST1 register is set,
and the SIP or DIP bits in the ISTAT is set, but
the INTA/ (or INTB/) pin is not asserted.
When the chip is initialized, enable all fatal inter-
rupts if you are using hardware interrupts. If a
fatal interrupt is disabled and that interrupt con-