Software Drivers

xsrio.c File Reference

#include "xsrio.h"

Functions

int XSrio_CfgInitialize (XSrio *InstancePtr, XSrio_Config *Config, u32 EffectiveAddress)
int XSrio_GetPortStatus (XSrio *InstancePtr)
int XSrio_GetPEType (XSrio *InstancePtr)
int XSrio_IsOperationSupported (XSrio *InstancePtr, u8 Operation, u8 Direction)
void XSrio_SetWaterMark (XSrio *InstancePtr, u8 WaterMark0, u8 WaterMark1, u8 WaterMark2)
void XSrio_GetWaterMark (XSrio *InstancePtr, u8 *WaterMark0, u8 *WaterMark1, u8 *WaterMark2)

Detailed Description

This file contains the required functions for the XSrio driver. See the xsrio.h header file for more details on this driver.

 MODIFICATION HISTORY:
 Ver   Who  Date     Changes
 ----- ---- -------- -------------------------------------------------------
 1.0   adk  16/04/14 Initial release
 

Function Documentation

int XSrio_CfgInitialize ( XSrio InstancePtr,
XSrio_Config Config,
u32  EffectiveAddress 
)

Initialize the XSrio instance provided by the caller based on the given Config structure.

Parameters:
InstancePtr is the XSrio instance to operate on.
Config is the device configuration structure containing information about a specific SRIO Device.
EffectiveAddress is the Physical address of the hardware in a Virtual Memory operating system environment.It is the Base Address in a stand alone environment.
Returns:
  • XST_SUCCESS Initialization was successful.
Note:
None.
int XSrio_GetPEType ( XSrio InstancePtr  ) 

XSrio_GetPEType API will check for the Processing Element type and return the type of type of Processing Element

Parameters:
InstancePtr is the XSrio instance to operate on.
Returns:
  • XSRIO_IS_MEMORY if the core is configured as a memory
  • XSRIO_IS_PROCESSOR if the core is configured as a processor
  • XSRIO_IS_BRIDGE if the core is configured as a bridge.
Note:
: None.
int XSrio_GetPortStatus ( XSrio InstancePtr  ) 

XSrio_GetPortStatus will check the status of the port and returns the status of the port to the user

Parameters:
InstancePtr is the XSrio instance to operate on.
Returns:
  • XSRIO_PORT_OK Port is initialized with no errors.
  • XSRIO_PORT_UNINITIALIZED Port is not initialized. No Serial Rapidio link is present.
  • XSRIO_PORT_HAS_ERRORS Port is initialized but has errors.
Note:
: None.
void XSrio_GetWaterMark ( XSrio InstancePtr,
u8 *  WaterMark0,
u8 *  WaterMark1,
u8 *  WaterMark2 
)

XSrio_GetWaterMark API reads the water mark values.

Parameters:
InstancePtr is the XSrio instance to operate on.
WaterMark0 is a pointer to a variable where the driver will pass back the water mark 0 value.
WaterMark1 is a pointer to a variable where the driver will pass back the water mark 1 value.
WaterMark2 is a pointer to a variable where the driver will pass back the water mark 2 value.
Returns:
None.
Note:
: None.
int XSrio_IsOperationSupported ( XSrio InstancePtr,
u8  Operation,
u8  Direction 
)

XSrio_IsOperationSupported tells whether the operation is supported by the SRIO Gen2 core or not.

Parameters:
InstancePtr is a pointer to the SRIO Gen2 instance to be worked on.
Operation type is the operation type of the SRIO Packet
Direction type
Returns:
  • XST_SUCCESS if the operation is supported by the core.
    • XST_FAILURE if the operation is not supported by the core.
Note:
None.
void XSrio_SetWaterMark ( XSrio InstancePtr,
u8  WaterMark0,
u8  WaterMark1,
u8  WaterMark2 
)

XSrio_SetWaterMark Configures the watermark to transfer a priority packet.

Parameters:
InstancePtr is a pointer to the SRIO Gen2 instance to be worked on.
WaterMark0 is the water mark value to transfer a priority 0 packet.
WaterMark1 is the water mark value to transfer a priority 1 packet.
WaterMark2 is the water mark value to transfer a priority 2 packet.
Returns:
None.
Note:
None.