KeyStone Training Serial RapidIO (SRIO) Subsystem

Similar documents
SRIO Programming and Performance Data on Keystone DSP

KeyStone Training. Multicore Navigator Overview

C66x KeyStone Training HyperLink

C66x KeyStone Training HyperLink

Keystone Architecture Inter-core Data Exchange

TMS320C6474 DSP Serial RapidIO (SRIO) User's Guide

KeyStone Training. Turbo Encoder Coprocessor (TCP3E)

KeyStone Training. Network Coprocessor (NETCP)

LogiCORE IP Serial RapidIO Gen2 v1.2

KeyStone Training. Bootloader

HyperLink Programming and Performance consideration

Introduction to AM5K2Ex/66AK2Ex Processors

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1.

Gigabit Ethernet Switch Subsystem

KeyStone Training. Network Coprocessor (NETCP) Packet Accelerator (PA)

C66x KeyStone Training HyperLink

KeyStone C665x Multicore SoC

srio Hot Swap Application Note - 552

Low-Cost Serial RapidIO to TI 6482 Digital Signal Processor Interoperability with LatticeECP3

KeyStone C66x Multicore SoC Overview. Dec, 2011

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

TMS320TCI6487/8 Antenna Interface. User's Guide

RapidIO TM Interconnect Specification Part 7: System and Device Inter-operability Specification

KeyStone Training. Network Coprocessor (NETCP) Packet Accelerator (PA)

LogiCORE IP Serial RapidIO v5.6

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

The Network Layer and Routers

CSE 473 Introduction to Computer Networks. Exam 1. Your name: 9/26/2013

DISTRIBUTED EMBEDDED ARCHITECTURES

Operating Systems. 17. Sockets. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

History Page. Barracuda NextGen Firewall F

Using the Serial RapidIO Messaging Unit on PowerQUICC III

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS

Cisco Series Internet Router Architecture: Packet Switching

SpiNNaker Application Programming Interface (API)

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

TMS320C672x DSP Dual Data Movement Accelerator (dmax) Reference Guide

An Introduction to the RapidIO. Bus Functional Models. White Paper

SoC Overview. Multicore Applications Team

Raw Data Formatting: The RDR Formatter and NetFlow Exporting

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm

GUARANTEED END-TO-END LATENCY THROUGH ETHERNET

(Refer Slide Time: 1:09)

Northern India Engineering College, Delhi (GGSIP University) PAPER I

Intel IXP400 Software Version 1.5

Ethernet TCP/IP component programming guide

Network Processor Interface User s Guide

Quality of Service in the Internet

Performance Objects and Counters for the System

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

cpci-dart Base-Board & Daughter-Board

Section 31. DMA Controller

TMS320C64x EDMA Architecture

AN 836: RapidIO II Reference Design for Avalon-ST Pass-Through Interface

Interprocess Communication Mechanisms

The desire for higher interconnect speeds between

shared storage These mechanisms have already been covered. examples: shared virtual memory message based signals

PCI-HPDI32A-COS User Manual

Design of Link and Routing Protocols for Cache-and- Forward Networks. Shweta Jain, Ayesha Saleem, Hongbo Liu, Yanyong Zhang, Dipankar Raychaudhuri

These three counters can be programmed for either binary or BCD count.

Module 10 MULTIMEDIA SYNCHRONIZATION

PCI Express System Interconnect Software Architecture for PowerQUICC TM III-based Systems

ECE 650 Systems Programming & Engineering. Spring 2018

A (Very Hand-Wavy) Introduction to. PCI-Express. Jonathan Heathcote

Chapter 5.6 Network and Multiplayer

Managing Caching Performance and Differentiated Services

Chapter 4 Communication

Raw Data Formatting: The RDR Formatter and NetFlow Exporting

Lecture 26: Interconnects. James C. Hoe Department of ECE Carnegie Mellon University

AFDX Training Emulator

Implementing Multicast Using DMA in a PCIe Switch

UNIT V. Computer Networks [10MCA32] 1

Quality of Service in the Internet

Peripheral Component Interconnect - Express

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

Research and Analysis of Flow Control Mechanism for Transport Protocols of the SpaceWire Onboard Networks

Class-based Packet Scheduling Policies for Bluetooth

CS 4390 Computer Networks. Transport Services and Protocols

H3C S9500 QoS Technology White Paper

ETH. Ethernet MAC with Timestamp Extension. TCD30xx User Guide. Revision July 17, 2015

Quality of Service. Traffic Descriptor Traffic Profiles. Figure 24.1 Traffic descriptors. Figure Three traffic profiles

Input/Output Systems

Achieving UFS Host Throughput For System Performance

Engineer-to-Engineer Note

Configuring Queuing and Flow Control

Memory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length)

I/O. CS 416: Operating Systems Design Department of Computer Science Rutgers University

PEX 8680, PCI Express Gen 2 Switch, 80 Lanes, 20 Ports

Device-Functionality Progression

Chapter 12: I/O Systems. I/O Hardware

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract

Chapter 13: I/O Systems

Unit 2 Packet Switching Networks - II

... Application Note AN-531. PCI Express System Interconnect Software Architecture. Notes Introduction. System Architecture.

Learning with Purpose

Burst Transfers ABSTRACT

William Stallings Computer Organization and Architecture 10 th Edition Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Real-Time Protocol (RTP)

Transcription:

KeyStone Training Serial RapidIO (SRIO) Subsystem

SRIO Overview SRIO Overview DirectIO Operation Message Passing Operation Other RapidIO Features Summary

Introduction To RapidIO Two Basic Modes of Operation: DirectIO Read/write operations directed to specific memory address Transmit device has knowledge of memory map of receiving device Functional units: LSU (Load/Store Unit) MAU (Memory Access Unit) Message Passing Mailbox and Letter designators Transmit device does not need knowledge of memory map of receiving device Functional units: TXU (Message Transmit Unit) RXU (Message Receive Unit) Data communication on differential input/output ports Overall RapidIO architecture divided into three layers: 1. Physical Layer SERDES RapidIO Physical layer IP 2. Transport Layer Transports packet from physical layer to logical layer protocol units 3. Logical Layer Protocol Units (e.g. LSUs, TXU, etc.)

Logical Layer Physical Layer New Features Compared to C64x+ RapidIO 2.1.1 Compliant / RapidIO 1.2 Compliant For ports with options show in the table below: Data rates up to 5 Gbaud/ Data rates up to 3.125 Gbaud Different ports at different baud rates (Only integer multiple different rates are allowed) 24 Interrupt outputs / 8 Interrupt outputs 1 MB LSU transaction size with queuing capability/ single 4 KB LSU transaction size Type 9 Packet Support (Data Streaming) External Type 9 and Type 11 queue management Strict priority scheduler / Round-robin scheduler Round robin interleaved on a packet basis at a given priority Outbound credit-aware functional blocks 16 Local DeviceIDs & 8 Multicast IDs / 1 Local DeviceID & 3 Multicast IDs Auto-promotion of response priorities by RXU and MAU can now be disabled Ability to set the CRF (Critical Request Flow) bit on outgoing requests and responses

SRIO in KeyStone Devices Just for muxing PCIe with SRIO Data Interface SRIO_M M SCR_3_F CPU/3 128b VBUSM SCR SRIO_M M SCR_3_A CPU/3 128b VBUSM SCR Message Passing & Type 9 Only Wireless Applications Only SRIO_CPPI M Media Applications Only KeyStone Common Configuration Interface CorePac M SCR_3P_A CPU/3 32b VBUSP SCR MPU_0 SCR_3P_B CPU/3 32b VBUSP SCR S SRIO Memory Protection Unit

Packet Types New Packet Type Supported in KeyStone

Physical & Logical Layer Considerations Tx Buffers 16-deep shared buffer for Tx header and 16-deep shared buffer for Tx header + payload packets If SRIO is configured for four ports in 1x mode, then 8-deep Tx physical layer buffers are supported. If SRIO is configured for two ports in 2x mode, then 16-deep Tx physical layer buffers are supported. If SRIO is configured for one port in 4x mode, then 32-deep Tx physical layer buffers are supported. Tx Operation Getting outbound credit: Based on programmed Tx watermarks If the watermarks for a packet indicate that minimum required buffer count is three and if SRIO is configured for four ports in 1x mode (8- deep physical layer), then after five buffers are filled, no credit is granted to that PRI of packets. If SRIO is configured for one port in 4x mode (32-deep physical layer), then after 29 buffers are filled, no credit is granted to that PRI of packets. Strict priority-based scheduling: As illustrated by the example shown below, three protocol units -- LSU0, MAU, and TXU -- have packets to send. The priority of those packets are 2, 1 and 2 respectively. The scheduler will round robin between LSU0 and TXU to send data. Because LSU0 and TXU have a higher priority, the transmission of their data must be completed before the scheduler begins to send data from MAU. Protocol units know whether they have outbound credit or not. If a protocol unit does not have outbound credit, then it will not be part of round robin scheduling. Data reaches from shared buffer memory to physical layer memory and goes out in the same order unless there is physical layer re-ordering due to retry or any other condition. Shared Buffer for Header only Packets PBM Buffers LSUx RXU TXU MAU Shared Buffer for Header+Payload Packets 4 Ports 1x Mode PORT0 PORT1 PORT2 PORT3

Physical & Logical Layer Considerations Rx Buffers 16-deep shared buffer for Rx header and 16-deep shared buffer for Rx header+payload packets If SRIO is configured for four ports in 1x mode, then 8-deep physical layer Rx buffers are supported. If SRIO is configured for two ports in 2x mode, then 16-deep physical layer Rx buffers are supported. If SRIO is configured for one port in 4x mode, then 32 deep physical layer Rx buffers are supported. Rx Operation Incoming data reaches to physical Layer Round Robin pickup from four ports to move to shared buffer No priorities are considered while moving from the physical layer buffers to shared buffer Shared Buffer for Header only Packets Physical Layer Buffers Incoming Data LSUx RXU TXU MAU Shared Buffer for Payload Packets 4 Ports 1x Mode PORT0 PORT1 PORT2 PORT3

Functional Diagram Shared Buffer for Header-only Packets Physical Layer Buffers PORT0 Shared Buffer for Payload Packets PORT1 PORT2 PORT3 VBUSM Master CAU Shared Buffer for Header-only Packets 4 Ports 1x Mode VBUSM Master PKTDMA PBM Buffers LSUx PORT0 VBUSM Slave MAU TXU RXU Shared Buffer for Header+Payload Packets PORT1 PORT2 PORT3 Credit Manager

DirectIO Operation SRIO Overview DirectIO Operation Message Passing Operation Other RapidIO Features Summary

C66x DirectIO Operations Compared to C64x+ 8 LSUs / 4 LSUs Maximum transaction size (byte_count field) of 1MB / 4KB Up to 4K packets of 256 bytes per LSU programming Shadow Registers Concept 128 outstanding non-posted packets in total, 16 per LSU (not configurable) Auto-generation of doorbell at the end of transfer completion. Send doorbell after sending last packet. OR Send doorbell after receiving last response. No doorbell is sent if there is an error. Restart and flush LSU transactions.

Shadow Registers Example SHADOW 1 Constant LSU0 Register Addresses for Programming SHADOW 0 LSU0_REG0 LSU0_REG1 LSU0_REG2 LSU0_REG3 LSU0_REG0 LSU0_REG1 LSU0_REG2 LSU0_REG3 LSU0_REG4 LSU0_REG5 SHADOW 2 LSU0_REG0 0x02900D00 LSU0_REG0 LSU0_REG1 LSU0_REG2 LSU0_REG3 LSU0_REG4 LSU0_REG5 LSU0_REG4 LSU0_REG5 LSU0_REG6 SHADOW 8 LSU0_REG6 SHADOW 7 LSU0_REG1 LSU0_REG2 LSU0_REG3 LSU0_REG4 LSU0_REG5 LSU0_REG6 Active Shadow Register 0x02900D1B LSU0_REG6 LSU0_REG0 LSU0_REG1 LSU0_REG0 LSU0_REG1 LSU0_REG2 LSU0_REG2 LSU0_REG3 LSU0_REG3 LSU0_REG4 LSU0_REG4 LSU0_REG5 LSU0_REG5 LSU0_REG6 LSU0_REG6

Shadow Register Combinations Same LSU registers, so no memory map address change. Two Shadow Register groups: Shadow Group 0 for LSU0 to LSU3 Shadow Group 1 for LSU4 to LSU7 Total of 32 shadow registers with a maximum of 16 per group Shadow Register group restrictions: Pre-defined combinations of shadow registers per LSU. The diagram shown here identifies those combinations. Each LSU will have at least one shadow register. Maximum of nine shadow registers per LSU RIO_LSU_SETUP_REG0 register used for storing this number for each LSU. RIO_LSU_STAT_REG0 set to 2 stores completion code for each shadow register set of Shadow Group0. Same mechanism applies to Shadow Group1 for LSU3 to LSU7. LSU0 Max 9 to Min 4 LSU1 Max 6 to Min 3 Shadow Group 0 LSU0 LSU3 Total 16 Shadow Registers RIO_LSU_STAT_REG0-2 LSU2 Max 5 to Min 1 4-bits Completion Code & Context Bit For Each Shadow Register LSU3 Max 4 to Min 1

Shadow Register Pre-defined Combinations

LSU Registers 31:0 LSU_Reg0 LSU_Reg1 LSU_Reg2 Doorbell Valid - Doorbell represented by Drbll_Info field will be sent out at the end of message. RapidIO Destination Address MSB RapidIO Destination Address LSB/Config_Offset DSP Source Address Suppressing Interrupt for good completion and only generating for error condition LSU_Reg3 Identifies which DeviceID out of 16 Local DeviceIDs is to be used LSU_Reg4 31 30:20 19:0 Drbll_val RSVD Byte_Count 31:16 15:12 11:10 9:8 7:4 3:2 1 0 DestID SrcID_MAP ID_Size OutPortID Priority Xambs Sup_gint Int_Req For checking availability of Shadow LSU_Reg5 Register LSU_Reg6 (RO) 31:16 15:8 7:4 3:0 Context bit for Drbll_Info verifying validity Hop Count FType TType of completion 31 30 code 29:5 4 3:0 Busy Full RSVD LCB LTID LSU shadow register number LSU_Reg6 (WO) 31:28 27 26:6 5:2 1 0 PrivID CBUSY RSVD SrcID_MAP Restart Flush Clearing Busy Condition In this example Core0 forgot to release the LSUx, then Core1 uses PrivID of Core0 and sets this bit. Error response will halt the LSU. Restart will restart LSU from next shadow register. Flush discards all shadow registers with SRCID errors.

Tx Operation: Non-EDMA Mode 1. LOCK LSU No Shadow Register available. Poll till you get one. Yes Read LSUx_REG6 2. SETUP LSUx_REG0-4 Write LSUx_REG0 3. TRIGGER TRANSFER Write LSUx_REG5 The LSU is already locked, so it cannot be used. LTID field indicates which Shadow Registers will be used. Store LCB bit to verify the completion code values in future. Yes Full bit = 1? No Busy bit = 1 LSUx is locked now. All other cores will see LSUx Busy bit to be 1 now. Write LSUx_REG1 Write LSUx_REG2 Write LSUx_REG3 Write LSUx_REG4 LSUx Lock will be released & Busy bit will get cleared automatically LSU is Processing Previous Data so busy? No Send Data Out Yes Wait till LSU is available

Tx Operation: EDMA Mode In this mode, the EDMA programs the shadow registers. The LSUx_EDMA bit is available to program this mode in the SETUP register. The EDMA programs LSU registers Reg0 to Reg5. LSU sends the packet out and the completion generates an interrupt which triggers the EDMA once again. The pre-requisite is that the LSU used by EDMA must not be used by any other master: This eliminates the possibility that the LSU becomes busy by another master, so reading the busy bit is not required. EDMA will be able to use only one shadow register so full-bit checking is also not required. So LSU Reg6 read is not required for EDMA mode of operation.

Rx Operation: MAU MAU issues four outstanding VBUSM transactions (write/read commands): Those four cannot be (same SrcID) && (same DestID) && (same or lower priority). One of these three requirements must not be matching If packet is doorbell, then complete all outstanding transactions and post interrupt. If another doorbell comes and previous doorbell is not complete, then a RETRY is attempted on that doorbell. Packet Forwarding: Incoming packet is moved to the MAU local buffer first. The packet applies for credit. If it gets the credit, then it will be moved to shared buffer. Forwarding traffic and local traffic mechanisms are separate to avoid conflicts. Try Again Start New packet received Does the SrcID match the SrcID of a packet already in process? Yes Does the DestID match the DestID of a packet already in process? Yes Is the priority less than or equal to priority of packet already in process? No No No Pending VBUSM commands < 4? No Send VBUSM command for the packet End Wait for the VBUSM command of any packet to complete

Rx Operation: MAU Example MAU transfers data to the absolute address provided in the packet segments. Round robin pickup from all four ports and then move to Shared Buffers. Incoming Data goes to Physical Layer Buffers in the same order. Shared Buffer for Header only Packets Physical Layer Buffers Incoming Data LSUx PORT0 RXU TXU MAU Shared Buffer for Payload Packets PORT1 PORT2 PORT3

Message Passing Operation SRIO Overview DirectIO Operation Message Passing Operation Other RapidIO Features Summary

C66x Message Passing Operations Compared to C64x+ 16 Transmit & 16 Receive Channels 16 dedicated Tx queues for 16 Tx channels Queues for 16 Rx channels are assigned from this range. 20 Receive Flows

C66x Message Passing Operations Compared to C64x+ Maximum 4 KB message size Maximum of 16 segments per message 64 receive mapping table entries / 32 in 64x+ 16 outstanding multi-segment + single segment non-posted messages / 4 multisegment & 12 single-segment in 64x+

Rx Protocol-Specific Part of Descriptor All fields are same as previous devices. No extra fields have been added here. Message size is not part of the SRIO-specific descriptor fields, but instead is located in one of the general descriptor words. One Rx descriptor/buffer per Type 11 message

4 CDMA pops descriptor from Free Descriptor Queue, each of which uses different size buffers. The CDMA chooses based on the message size. FREE DESCRIPTOR QUEUE BUF 3 BUF 2 BUF 1 GENERAL PURPOSE DEST QUEUE BUF 0 Rx Operation FLOW 0 FLOW 1 3 PKTDMA channel identifies Free Descriptor Queue from the FlowID received from SRIO. RX CHANNEL 0 RX CHANNEL 1 RX CHANNEL 2 2 RXU identifies Free Channel/Segmentation Context and sends data along with FlowID & Dest_QID to PKTDMA. 1 RXU identifies SrcID, DestID, Letter & Mailbox from incoming packet and maps to FlowID and Dest_QID. GENERAL PURPOSE DEST QUEUE GENERAL PURPOSE DEST QUEUE FLOW 18 RX CHANNEL 14 SRIO FLOW 19 RX CHANNEL 15 RXU DESTINATION MEMORY TX CHANNEL 0 TXU TX CHANNEL 1 TX CHANNEL 2 TRANSMIT QUEUE # 672 TRANSMIT QUEUE # 673 TX CHANNEL 14 TRANSMIT QUEUE # 674 TX CHANNEL 15 PKTDMA TRANSMIT QUEUE # 686 TRANSMIT QUEUE # 687 6 PKTDMA pushes used descriptor to Destination Queue. PKTDMA writes data to Destination Memory pointed to by Free Buffer Descriptor. 5

Tx Protocol-Specific Part of Descriptor All fields are same as previous devices. No extra fields have been added here. Message size is not part of the SRIO-specific descriptor fields, but instead is located in one of the general descriptor words. One Tx descriptor/buffer per message

1 Prepare Tx descriptor after popping them from Free Descriptor Queue FREE DESCRIPTOR QUEUE BUF 3 BUF 2 BUF 1 BUF 0 TX Operation 2 FLOW 0 Configure the Tx channel for Tx recycle Queue and Priority RX CHANNEL 0 3 Configure SRIO for linking Tx Channel/Queue with Output Port# 7 As soon as TXU gets credit it reads packet data from Channel & writes to Tx Shared Buffers GENERAL PURPOSE DEST QUEUE FLOW 1 RX CHANNEL 1 RX CHANNEL 2 GENERAL PURPOSE DEST QUEUE GENERAL PURPOSE DEST QUEUE FLOW 18 RX CHANNEL 14 SRIO FLOW 19 RX CHANNEL 15 RXU DESTINATION MEMORY TX CHANNEL 0 TXU TX CHANNEL 1 TX CHANNEL 2 TRANSMIT QUEUE # 672 TRANSMIT QUEUE # 673 TX CHANNEL 14 TRANSMIT QUEUE # 674 TX CHANNEL 15 PktDMA TRANSMIT QUEUE # 686 TRANSMIT QUEUE # 687 4 Push Descriptor on Respective Tx Queue 5 Respective Channel will read Descriptor & Pull data from Memory 6 TXU Requests Protocol Specific Descriptor Info (header) & asks Credit Manager to assign Credit, if it does not have credit then TXU will try another channel s packet

TXU Scheduling TXU scheduling requires that a TX queue be dedicated to an outbound port and priority. For example: Two active channels/queues One port 4X mode, so all queues are going to the same output port. Queue 1 uses Priority 1 and has something to send. Queue 2 uses Priority 1 + CRF bit and has something to send. Queue 2 is scheduled first and starts to send packets. During the 5th packet segment transfer when the TXU is moving data to the physical layer, TX buffer Queue 3 becomes active and has Priority 2. When Queue 2 is done moving the 5th segment to the physical layer, TXU will begin reading the header info from Queue 3 and subsequently start sending packets from Queue 3. Only after TXU finishes all of the message from Queue 3 will it attempt to go back and send the remaining packets from Queue 2, finally followed by Queue 1 if nothing else of higher priority has shown up in the meantime.

Other RapidIO Features SRIO Overview DirectIO Operation Message Passing Operation Other RapidIO Features Summary

Interrupt Destinations INTDST 16 & INTDST 20 (Doorbell Only) CorePac 0 INTDST 17 & INTDST 21 (Doorbell Only) CorePac 1 INTDST 0 TO INTDST 15 CP_INTC0 INTDST 18 & INTDST 22 (Doorbell Only) CorePac 2 24 Interrupt Destinations (INTDST0 to INTDST23) INTDST16 to INTDST23 are only for Doorbell interrupts No Interrupt pacing on INTDST16 to INTDST23 INTDST 0 TO INTDST 23 (i.e. ALL INTDSTx) INTDST 19 & INTDST 23 (Doorbell Only) CP_INTC1 CorePac 3 TPCC 1 TPCC 2

Interrupt Registers Three sets of registers route events to INTDSTx: ICSR (Interrupt Condition Set Register) ICCR (Interrupt Condition Clear Register) ICRR (Interrupt Condition Routing Register) Doorbell has one special register -- RIO_INTERRUPT_CTL -- which has DBLL_ROUTE bit to decide whether Doorbell ICRR represents (INTDST0 to INTDST15) OR (INTDST16 to INTDST23). Doorbell events in Doorbell ICSR are same as previous devices. Error events in Error ICSR is same as previous devices. LSU events are referenced by SrcID (non-edma mode). As KeyStone has 16 local device ID registers, LSU events shows whether a transaction for a particular srcid is complete with Success or Error. Software controlled mapping of srcid error with a particular transaction from a particular LSU is required. LSU events with respect to PrivID (EDMA mode)

SRIO LLD DirectIO, Type 9 and Type 11 packets support APIs With Sequence Of Operations SRIO Peripheral Initialization Srio_init () SRIO Driver Instance Initialization Srio_start () Initialize Receive & Transmit memory regions for descriptors Creates & Enables CDMA Channels & link them with respective queues SRIO Socket Open SRIO_sockOpen () Specify Packet Type Blocking or Non-blocking during Rx Operation Same way SRIO_sockClose () SRIO Socket Bind SRIO_sockBind () Socket Bind is applying RXU mapping entries So max sockets are max RXU mapping entries which is 64 Send API SRIO_sockSend () Triggers Tx operation with input data pointer, input data size and Destination info (e.g. Mailbox, letter) Receive API SRIO_sockRecv () Triggers Rx operation with receive buffer pointer, receive socket

Summary C66x SRIO has been enhanced to deliver: Higher performance New transaction types Less required CPU interaction per transaction Better deterministic scheduling More flexibility and system support with increased number of IDs For more information: Serial RapidIO (SRIO) for KeyStone Devices User Guide Support forums at the TI E2E Community and Deyi forum website