# SRIO LLD Data Structures
[SRIO LLD]

## Data Structures

struct | Srio_DrvManagedRxCfg
| The structure describes the SRIO Driver Managed Receive Configuration. More...
struct | Srio_DrvManagedTxCfg
| The structure describes the SRIO Driver Managed Transmit Configuration. More...
struct | Srio_DrvManagedCfg
| The structure describes the SRIO Driver Managed Configuration. More...
struct | Srio_AppManagedCfg
| The structure describes the application managed configuration. More...
union | Srio_DrvConfigType
| Describes driver configuration. More...
struct | Srio_DrvConfig
| The structure describes the SRIO Driver Configuration. More...
struct | Srio_Type11BindAddrInfo
| SRIO Socket Type11 Binding Information. More...
struct | Srio_Type11AddrInfo
| SRIO Socket Type11 Address Information. More...
struct | Srio_Type9AddrInfo
| SRIO Socket Type9 Information. More...
struct | Srio_DioBindAddrInfo
| SRIO Socket DIO Binding Information. More...
struct | Srio_DioAddrInfo
| SRIO Socket DIO Information. More...
union | Srio_SockBindAddrInfo
| SRIO Socket Bind Information. More...
union | Srio_SockAddrInfo
| SRIO Socket Address Information. More...

## Typedefs

typedef void * | Srio_SockHandle
| This is the handle which is used for sending and receiving data.
typedef void * | Srio_DrvHandle
| This is the handle which is used accessing the SRIO driver.
typedef void * | Srio_DrvBuffer
| This is the handle which encapsulates the SRIO driver buffer information.
typedef struct Srio_DrvManagedRxCfg | Srio_DrvManagedRxCfg
| The structure describes the SRIO Driver Managed Receive Configuration.
typedef struct Srio_DrvManagedTxCfg | Srio_DrvManagedTxCfg
| The structure describes the SRIO Driver Managed Transmit Configuration.
typedef struct Srio_DrvManagedCfg | Srio_DrvManagedCfg
| The structure describes the SRIO Driver Managed Configuration.
typedef struct Srio_AppManagedCfg | Srio_AppManagedCfg
| The structure describes the application managed configuration.
typedef union Srio_DrvConfigType | Srio_DrvConfigType
| Describes driver configuration.
typedef struct Srio_DrvConfig | Srio_DrvConfig
| The structure describes the SRIO Driver Configuration.
typedef enum Srio_SocketType | Srio_SocketType
| Enumeration Type which describes the socket.
typedef struct Srio_Type11BindAddrInfo | Srio_Type11BindAddrInfo
| SRIO Socket Type11 Binding Information.
typedef struct Srio_Type11AddrInfo | Srio_Type11AddrInfo
| SRIO Socket Type11 Address Information.
typedef struct Srio_Type9AddrInfo | Srio_Type9AddrInfo
| SRIO Socket Type9 Information.
typedef Srio_Type9AddrInfo | Srio_Type9BindAddrInfo
| SRIO Socket Type9 Binding Information.
typedef struct Srio_DioBindAddrInfo | Srio_DioBindAddrInfo
| SRIO Socket DIO Binding Information.
typedef struct Srio_DioAddrInfo | Srio_DioAddrInfo
| SRIO Socket DIO Information.
typedef union Srio_SockBindAddrInfo | Srio_SockBindAddrInfo
| SRIO Socket Bind Information.
typedef union Srio_SockAddrInfo | Srio_SockAddrInfo
| SRIO Socket Address Information.
typedef enum Srio_Opt | Srio_Opt
| SRIO Driver Option Commands.

## Enumerations

enum | Srio_PktDma_Prio
| SRIO priority level set in the TCHAN_SCHED_CFG_REGn registers. More...
enum | Srio_SocketType { Srio_SocketType_TYPE9 = 0x1, Srio_SocketType_RAW_TYPE9 = 0x2, Srio_SocketType_TYPE11 = 0x3, Srio_SocketType_RAW_TYPE11 = 0x4, Srio_SocketType_DIO = 0x5 }
| Enumeration Type which describes the socket. More...
enum | Srio_Opt { Srio_Opt_PENDING_PKT_COUNT = 0x1, Srio_Opt_DIO_SOCK_COMP_CODE = 0x2, Srio_Opt_REGISTER_DOORBELL = 0x3, Srio_Opt_DIO_READ_SOCK_COMP_CODE = 0x4 }
| SRIO Driver Option Commands. More...
enum | Srio_Ftype
| RIO Format Type. More...
enum | Srio_Ttype_Request
| RIO Transaction Type for Type2 Packet Format. More...
enum | Srio_Ttype_Write
| RIO Transaction Type for Type5 Packet Format. More...
enum | Srio_Ttype_Swrite
| RIO Transaction Type for Type6 Packet Format. More...
enum | Srio_Ttype_Congestion
| RIO Transaction Type for Type7 Packet Format. More...
enum | Srio_Ttype_Maintenance
| RIO Transaction Type for Type8 Packet Format. More...
enum | Srio_Ttype_Data_Streaming
| RIO Transaction Type for Type9 Packet Format. More...
enum | Srio_Ttype_Doorbell
| RIO Transaction Type for Type10 Packet Format. More...
enum | Srio_Ttype_Message
| RIO Transaction Type for Type11 Packet Format. More...
enum | Srio_Ttype_Response
| RIO Transaction Type for Type13 Packet Format. More...

## Typedef Documentation

typedef struct Srio_AppManagedCfg Srio_AppManagedCfg

The structure describes the application managed configuration.

In this configuration the entire low level configuration is exposed to the application. Applications can specify the CPPI Receive Flows, QMSS Accumulator configuration. This configuration works only with RAW sockets.

typedef struct Srio_DioAddrInfo Srio_DioAddrInfo

SRIO Socket DIO Information.

The structure describes the DIO request which has to be sent to the remote endpoint.

typedef struct Srio_DioBindAddrInfo Srio_DioBindAddrInfo

SRIO Socket DIO Binding Information.

The structure describes the address information required for binding a DIO socket. This includes information which describes the DIO endpoint characteristics and is used to describe the local characteristics of the endpoint.

typedef struct Srio_DrvConfig Srio_DrvConfig

The structure describes the SRIO Driver Configuration.

SRIO Driver users are expected to populate the driver configuration block and pass it to the driver during initialization.

typedef union Srio_DrvConfigType Srio_DrvConfigType

Describes driver configuration.

There are 2 types of configuration in the driver. Application Managed and Driver Managed.

typedef struct Srio_DrvManagedCfg Srio_DrvManagedCfg

The structure describes the SRIO Driver Managed Configuration.

The configuration exposes encapsulates majority of the low level configuration from the application. The configuration works only with NORMAL sockets.

typedef struct Srio_DrvManagedRxCfg Srio_DrvManagedRxCfg

The structure describes the SRIO Driver Managed Receive Configuration.

This specifies the Receive configuration which is a part of the Driver Managed configuration.

typedef struct Srio_DrvManagedTxCfg Srio_DrvManagedTxCfg

The structure describes the SRIO Driver Managed Transmit Configuration.

This specifies the Transmit configuration which is a part of the Driver Managed configuration.

typedef enum Srio_Opt Srio_Opt

SRIO Driver Option Commands.

These option commands are used for the get/set of various configuration parameters which exist in the driver.

typedef union Srio_SockAddrInfo Srio_SockAddrInfo

SRIO Socket Address Information.

The structure describes the various address socket type address characteristics which are used while sending & receiving data over the specific SRIO socket type.

typedef union Srio_SockBindAddrInfo Srio_SockBindAddrInfo

SRIO Socket Bind Information.

There are different types of sockets and this union explains the different types of binding information required.

typedef enum Srio_SocketType Srio_SocketType

Enumeration Type which describes the socket.

There can be different kinds of SRIO sockets which can be used to send and receive data. These enumerations define the supported types.

typedef struct Srio_Type11AddrInfo Srio_Type11AddrInfo

SRIO Socket Type11 Address Information.

The structure describes the address information required to send & receive a Type11 message over a Type11 socket. This is populated to indicate the remote endpoint where the message has to be sent.

typedef struct Srio_Type11BindAddrInfo Srio_Type11BindAddrInfo

SRIO Socket Type11 Binding Information.

The structure describes the address information required for binding a Type11 socket. This includes information which describes the Type11 endpoint characteristics and is used to describe the local characteristics of the endpoint.

typedef struct Srio_Type9AddrInfo Srio_Type9AddrInfo

SRIO Socket Type9 Information.

The structure describes the address information required to send & receive a Type11 message over a Type11 socket. This is populated to indicate the remote endpoint where the message has to be sent.

typedef Srio_Type9AddrInfo Srio_Type9BindAddrInfo

SRIO Socket Type9 Binding Information.

The structure describes the address information required for binding a Type9 socket. This includes information which describes the Type9 endpoint characteristics and is used to describe the local characteristics of the endpoint.

## Enumeration Type Documentation

enum Srio_Ftype

RIO Format Type.

This enumberation describes the SRIO Packet Ftype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Opt

SRIO Driver Option Commands.

These option commands are used for the get/set of various configuration parameters which exist in the driver.

Enumerator:

  Srio_Opt_PENDING_PKT_COUNT | This is the command which is used to get/set the MAX Pending Packet limit for each socket. This command when used requires a 2 byte configuration data.
  Srio_Opt_DIO_SOCK_COMP_CODE | This command is applicable only for DIO sockets and is used to get the DIO socket last transfer completion code. If there is a pending transaction on the socket the function returns 0xFF else the function returns the last recorded completion code. The command uses a 1 byte configuration data to return the completion code. A value of 0 indicates transfer was complete with no errors. All other values indicate an error.
  Srio_Opt_REGISTER_DOORBELL | This command is applicable only for DIO sockets and is used register a DIO socket with a specific Doorbell register and Doorbell bit. The mappings are maintained *only* on a core specific basis.
  Srio_Opt_DIO_READ_SOCK_COMP_CODE | This command is applicable only for DIO sockets and is used to get the DIO socket transfer completion code. Note that this just returns the last recorded completion code in the socket data structure and doesn't check if transaction is pending or not. A typical use of this option would be in the case where an ISR fills the completion code and application needs to know the status of completion code after ISR. The command uses a 1 byte configuration data to return the completion code. A value of 0 indicates transfer was complete with no errors. All other values indicate an error.

enum Srio_PktDma_Prio

SRIO priority level set in the TCHAN_SCHED_CFG_REGn registers.

This enumeration provides the SRIO PKTDMA TX DMA channels priority. The value is encoded as follows: 0 = HIGH PRIORITY, 1 = MEDIUM-HIGH PRIORITY, 2 = MEDIUM-LOW PRIO, 3 = LOW PRIORITY

The priority order from the CDMA is in the reverse order from the SRIO. Thus, "0" maps to "3", "1" to "2", "2" to "1" and "3" to "0". The inversed priority level (3 --> 0, 2 --> 1 etc.) is copied to the TX_QUEUE_SCH_INFOx register and used by the SRIO IP when forming SRIO headers.

enum Srio_SocketType

Enumeration Type which describes the socket.

There can be different kinds of SRIO sockets which can be used to send and receive data. These enumerations define the supported types.

Enumerator:

  Srio_SocketType_TYPE9 | Type9 Sockets.
  Srio_SocketType_RAW_TYPE9 | Type9 RAW Sockets.
  Srio_SocketType_TYPE11 | Type11 Sockets.
  Srio_SocketType_RAW_TYPE11 | Type11 RAW Sockets.
  Srio_SocketType_DIO | Direct IO Socket.

enum Srio_Ttype_Congestion

RIO Transaction Type for Type7 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Data_Streaming

RIO Transaction Type for Type9 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Doorbell

RIO Transaction Type for Type10 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Maintenance

RIO Transaction Type for Type8 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Message

RIO Transaction Type for Type11 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Request

RIO Transaction Type for Type2 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Response

RIO Transaction Type for Type13 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Swrite

RIO Transaction Type for Type6 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

enum Srio_Ttype_Write

RIO Transaction Type for Type5 Packet Format.

This enumberation describes the SRIO Packet Ttype field which is present in the RIO packet. These are as per the Rapid IO Standard specifications.

Copyright 2012, Texas Instruments Incorporated