
147
STP2002QFP
Fast Ethernet, Parallel Port, SCSI (FEPS) - STP2002QFP
Sun Microsystems,
byte count must become 1 before it can initiate the padding. So byte count not
decrementing all the way to 1 makes the SCSI CE not write the last one byte
to the FAS366 (when all of the conditions described above are met).
Work Around:
The driver can look at the byte count and the starting address to calculate if
the above condition is satisfied. If the combination of the starting address and
the count show that it is a problem condition, then the driver can break the
DMA transfer into two parts. Part #1) write n–1 bytes to the FAS366. Part #2)
write 1 byte to the FAS366.
9.1.1.2 SCSI CE Gets Locked Up When Slave and DMA Collide Before Start
of the DMA Transfer to the FAS366
SCSI CE hangs when a slave access is made to the FAS366 immediately after
staring DMA, under certain conditions. Below are the two cases in which this
can happen.
• If the starting address is a multiple of 57 (adjusted for the burst size)
• If the starting address is a multiple of 63 (adjusted for the burst size)
So for a burst size of 16 bytes, the addresses will be
07h, or a modulo 16 number of 07h (this becomes a multiple of 57)
0fh, or a modulo 16 number of 0fh (this becomes a multiple of 63)
For the burst size of 32 bytes, the addresses will be
17h, or a modulo 32 number of 17h (this becomes a multiple of 57)
1fh, or a modulo 32 number of 1fh (this becomes a multiple of 63)
For the burst size of 64 bytes, the addresses will be
37h or a modulo 64 number of 37h (this becomes a multiple of 57)
3fh, or a modulo 64 number of 3fh (this becomes a multiple of 63).
The window in which the hang can happen is after the DMA in SCSI CE
has been enabled and before the first two bytes have been written to the
FAS366. For both the cases, SCSI CE will hang. For the case when the
addresses is 63, there will be a watchdog reset on the SBus.