RapidIO Interface Basics
MSC8144E Reference Manual, Rev. 3
Freescale Semiconductor
16-25
16.2.9
Software Assisted Error Recovery Register Support
PnLMREQCSR is only supported for recovery from Drain mode. Therefore, software should
only write to this register when the port is in Drain mode. The proper sequence for recovering
from Drain mode is as follows:
1.
Software ensures that link activity is stopped. This should include:
a.
Software polls for Port OK bit to be set
b.
Software waits longer than the link time-out value
2.
Software generates a link-request/input-status to obtain the link-partner's inbound ackID
value.
3.
Software changes the RapidIO port's outbound ackID to this value (if necessary).
4.
If the link-partner was hot-inserted, software changes the RapidIO port's inbound ackID
to zero.
Note:
If software can guarantee that the link-partner will not attempt to forward any packets
to this RapidIO port, then software can write the outbound ackID of the link-partner to
match the inbound ackID of this RapidIO port. However, if the link-partner attempts to
forward another packet while this write is still outstanding, and the ackIDs is already
lined up, then the write actually causes the ackIDs not to match, and the link is not
recovered.
5.
Software should cause the link-partner to send a link-request/input-status to ensure that
the RapidIO inbound port is operating normally.
6.
Software clears the Failed Encountered bit or the Output Buffer Drain Enable bit;
whichever one caused the Drain mode (thus clearing Drain mode).
Software is responsible for timing software generated link-requests. If the response valid bit is
not set in some reasonable period of time, the software should write another request in the
register.
When software writes PnLMREQCSR, software should make sure that PnLMRESPCSR
successfully reads as set; otherwise, software may read a stale ackID status/link status later.
Note:
When the RapidIO port's outbound ackID is written by software using PnLASCSR, the
inbound ackID is also written. Care must be taken to ensure that the inbound ackID is
not written to an incorrect value. For example, PnCCSR[PL] could be set to prevent
the inbound ackID from changing before PnLASCSR is written.
16.2.10
Errors and Error Handling
This section describes how the logical and physical layers detect RapidIO errors and respond to
them. For details on the action of the SC3400 core when it is notified of any of these errors, see
Summary of Contents for MSC8144E
Page 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Page 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Page 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Page 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Page 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Page 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Page 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Page 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Page 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Page 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...