
Interrupts
2-23
When the chip is operating in Initiator mode, only the Function Complete
(CMP) and Selected or Reselected (SEL) interrupts are nonfatal.
When operating in Target mode CMP, SEL, and M/A (Target mode: ATN/
active) are nonfatal. Refer to the description for the Disable Halt on a
Parity Error or ATN/ active (Target Mode Only) (DHP) bit in the
SCSI
Transfer (SXFER)
register to configure the chip’s behavior when the ATN/
interrupt is enabled during Target mode operation.
The reason for nonfatal 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 SYM53C710 is selected or reselected (SEL set), or when the initiator
has asserted ATN (target mode: ATN/ active). These interrupts are not
needed for events that occur during high level SCRIPTS operation.
2.6.4 Masking
Masking an interrupt means disabling or ignoring that interrupt. Interrupts
can be masked by clearing bits in the
SCSI Interrupt Enable (SIEN)
(for
SCSI interrupts) register or
DMA Interrupt Enable (DIEN)
(for DMA
interrupts) register. How the chip responds to masked interrupts depends
on whether polling or hardware interrupts are being used; whether the
interrupt is fatal or nonfatal; and whether the chip is operating in Initiator
or Target mode.
If a nonfatal interrupt is masked and that condition occurs, SCRIPTS
does not stop, the appropriate bit in the
SCSI Status Zero (SSTAT0)
is
set, the SIP bit in the
Interrupt Status (ISTAT)
is not set, and the IRQ/ pin
is not asserted. See
Section 2.6.3, “Fatal vs. Nonfatal Interrupts”
for a list
of the nonfatal interrupts.
If a fatal interrupt is masked and that condition occurs, then SCRIPTS
still stops. The appropriate bit in the
DMA Status (DSTAT)
or
SCSI Status
Zero (SSTAT0)
register is set, the SIP or DIP bits in the
Interrupt Status
(ISTAT)
is set, and the IRQ/ pin is not asserted.
When the SYM53C710 is initialized, enable all fatal interrupts if hardware
interrupts are being used. If a fatal interrupt is disabled and that interrupt
condition occurs, SCRIPTS halts and the system never knows it unless
it times out and checks the
Interrupt Status (ISTAT)
after a certain period
of inactivity.