63ch), 6bch) – Texas Instruments TMS320TCI648x User Manual

Page 46

Advertising
background image

www.ti.com

SRIO Functional Description

Figure 18. Mailbox to Queue Mapping Register Pair

Mailbox to Queue Mapping Register L n (RXU_MAP_L n )

31

30 29

24 23

22 21

16

LETTER_MASK

MAILBOX_MASK

LETTER

MAILBOX

R/W-11

R/W-111111

R/W-00

R/W-000000

15

0

SOURCEID

R/W-0000h

Mailbox to Queue Mapping Register H n (RXU_MAP_H n )

31

Reserved

R-0

10 9

8 7

6 5

2

1

0

SEGMENT

Reserved

TT

Reserved

QUEUE_ID

PROMISCUOUS

MAPPING

R-0

R/W-01

R-00

R/W-0000

R/W-0

R/W-0

LEGEND: R/W = Read/Write; R = Read only; -n = Value after reset

The packet manager maintains the RX DMA state of free and used data buffers within the memory space.
It directs the data to specific addresses within the memory and maintains and updates the buffer
descriptor queues. There is a single buffer descriptor per RapidIO message. For example, single segment
messages have one buffer descriptor, as do multi-segment messages with up to 4K-byte payloads.

There can be multiple RX buffer descriptor queues per core. It is suggested that one queue be dedicated
to single segment messages and additional queues be dedicated to multi-segment messages. Each
multi-segment message queue can support only one incoming message at a time. Depending on the
application, it may be necessary to support multiple simultaneous segmentation and reassembly (SAR)
operations per core. In this case, a buffer descriptor queue is allocated for each desired simultaneous
message. The peripheral supports a total of 16 assignable RX queues and their associated RX DMA state
registers. Each of the queues can be assigned to single or multi-segment messages.

Table 16

and

Table 17

describe the RX DMA State Registers.

Table 16. RX DMA State Head Descriptor Pointer (HDP) (Address Offset 600h–63Ch)

Bit

Name

Description

31–0

RX Queue Head

RX Queue Head Descriptor Pointer: This field is the memory address for the first buffer descriptor

Descriptor Pointer

in the channel receive queue. This field is written by the DSP core to initiate queue receive
operations and is zeroed by the port when all free buffers have been used. An error condition
results if the DSP core writes this field when the current field value is nonzero. The address must
be 32-bit word aligned.

Table 17. RX DMA State Completion Pointer (CP) (Address Offset 680h–6BCh)

Bit

Name

Description

31–0

RX Queue

RX Queue Completion Pointer: This field is the memory address for the receive queue completion

Completion Pointer

pointer. This register is written by the DSP core with the buffer descriptor address for the last buffer
processed by the DSP core during interrupt processing. The port uses the value written to
determine if the interrupt should be deasserted.

If a multi-segment buffer descriptor queue is not currently free, and an RX port receives another
multi-segment message that is destined for that queue, the RX CPPI sends a RETRY RESPONSE packet
(type 13) to the sender, indicating that an internal buffering problem exists. If a multi-segment buffer
descriptor queue is busy and there is another incoming multi-segment message with the same
SOURCEID, MAILBOX, and LETTER, an ERROR response is sent. This usually indicates that a TX
programming error has occurred, where duplicate segments or segments outside the MSGLEN were sent.
Upon successful reception of any message segment, the RX CPPI is responsible for sending a DONE
response to the sender.

46

Serial RapidIO (SRIO)

SPRUE13A – September 2006

Submit Documentation Feedback

Advertising