Intel
®
81341 and 81342 I/O Processors
December 2007
Developer’s Manual
Order Number: 315037-002US
517
Application DMA Unit—Intel
®
81341 and 81342
5.12.2.2
Data Parity Checking
As an initiator, the ADMA internal bus interface checks for data parity while receiving
read completion data from the internal bus only during descriptor fetches.
As a target, the ADMA internal bus does
not
check for data parity when receiving data
from the internal bus due to memory-mapped register writes.
Data parity is checked on the data bus on a byte by byte basis. The data parity
calculation includes parity on the data byte and the corresponding byte enable signal.
The parity bits are checked by first calculating the parity bits on the incoming data
bytes and the corresponding byte enable signals for each data byte shown in
and verifying the results against the corresponding incoming data parity bits. As an
example, the parity calculation for the lowest order byte of the data bus D[7:0] is
carried as follows:
Equation 18.DATA_PARITY_RESULT = D_PARITY0 XOR D[0] XOR D[1] XOR D[2] XOR D[3]
XOR D[4] XOR D[5] XOR D[6] XOR D[7] XOR BE0
A non-zero result from the above operation indicates a parity error.
The parity logic uses the following algorithm, and this algorithm logs the error when an
error is detected.
check data_parity_result
if parity is good
done
else {error}
create an error log
Interrupt the core (if enabled)
5.12.2.3
Parity Disabled
When software disables data parity, the ADMA would simply not verify data parity on
descriptor fetches. Note that address parity is always enabled.
5.12.2.4
Parity Testing
The System Controller provides the ability for the programmer to test error handling
software by forcing address or data parity error. Refer to the
Controller (SC) and Internal Bus Bridge”
for more details.