Texas Instruments TMS320C645X User Manual
Page 46
www.ti.com
SRIO Functional Description
Table 17. RX Buffer Descriptor Field Descriptions (continued)
Field
Description
mailbox
Destination Mailbox: Specifies the mailbox to which the message was sent.
000000b: Mailbox 0
000001b: Mailbox 1
. . .
000100b: Mailbox 4
. . .
111111b: Mailbox 63
For multi-segment messages, only the two LSBs of this mailbox are valid. Hardware
ignores the four MSBs if the incoming message has multiple segments.
Although the switch fabric must deliver the segments of multi-packet messages in the order they were
sent, buffer resources at the receiving endpoint may only become available after the initial segment(s) of a
message have had to be retried. The peripheral can accept out-of-order segments and track completion of
the overall message. Scenario A in
shows this concept.
For applications that are set up for specific message flows between a single source and destination, it may
require in-order delivery of messages. This is described in scenario B of
. This scenario is similar
to scenario A, although one message may be retried due to a lack of receiver resources, subsequent
pipelined messages may arrive just as resources are freed up. This is a problem for systems requiring
in-order message delivery. In this case, the peripheral needs to record the Src_id/mailbox/letter of the first
retried message and retry all subsequent new requests until resources are available and a segment for
that Src_id/mailbox/letter is received. As long as all messages are from the same source and that source
sends (and retries) packets in order, then all messages will be received in order. Note that this solution is
less effective when multiple sources share an RxQ. The RX CPPI Control register (Address offset 0x0744)
sets this mode of operation on all receive queues. Once this mode is set and a retry is issued, the queue
will continue to wait for an incoming message that matches the Src_id/mailbox/letter combination. If no
such packet arrives, the RX queue is unusable in a locked state. To reenable the queue, the in-order bit in
the RX CPPI Control register must be disabled by software for that queue, after which it may be enabled
again if desired. The in-order mode of operation is only valid on multi-segment queues because
single-segment messages will never generate RETRY responses.
46
Serial RapidIO (SRIO)
SPRU976 – March 2006