8. Error Handling
166
PowerSpan II User Manual
80A1010_MA001_09
Integrated Device Technology
www.idt.com
8.4
DMA Errors
A PowerSpan II DMA channel requires a PowerSpan II master to service source activity and a second
PowerSpan II master to service destination activity. These masters provide error detection and
reporting services as described in the previous sections. The DMA channel provides the following
additional status bits to indicate an error condition on an interface currently in use:
•
Processor Bus Error (PB_ERR) bit in the
“DMA x General Control and Status Register” on
(DMAx_GCSR)
•
PCI-1 Bus Error (P1_ERR) in the DMAx_GCSR register
•
PCI-2 Bus Error (P2_ERR) in the DMAx_GCSR register
These status bits can be used to cause the assertion of a PowerSpan II interrupt pin according to
“Interrupt Handling” on page 145
Assume that an error occurred at the PCI-1 master using DMA-2. A typical interrupt service routine
executes the following steps:
1.
ISR1 read to determine which interface reported the error.
2.
If PCI-1 reports the error:
•
Error logs P1_ERRCS and P1_AERR read to obtain diagnostic information.
•
P1_CSR read to distinguish address parity, data parity, target abort, master abort scenarios.
3.
ISR0 read to determine if a DMA2 status bit is set.
4.
DMA2_GCSR read to determine which condition caused the channel to interrupt.
5.
The ES bit is cleared in the P1_ERRCS register to enable future error logging.
6.
The status bit in ISR is cleared
—
this negates external interrupt pin.
7.
The status bit in P1_CSR is cleared.
8.
Configuration issue that caused the error is corrected.
9.
P1_ERR bit in the DMA2_GCSR is cleared to allow DMA channel two to restart.
10. DMA channel two is restarted.