<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title> Xilinx Driver srio v1_0: xsrio.c File Reference </title> <link href="doxygen_kalyanidocs/doc/css/driver_api_doxygen.css" rel="stylesheet" type="text/css"> </head> <h3 class="PageHeader">Xilinx Processor IP Library</h3> <hl>Software Drivers</hl> <hr class="whs1"> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>xsrio.c File Reference</h1><code>#include "<a class="el" href="xsrio_8h.html">xsrio.h</a>"</code><br/> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsrio_8c.html#ac5162a4f64b1b7d32456015e6c6b0243">XSrio_CfgInitialize</a> (<a class="el" href="struct_x_srio.html">XSrio</a> *InstancePtr, <a class="el" href="struct_x_srio___config.html">XSrio_Config</a> *Config, u32 EffectiveAddress)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsrio_8c.html#acbd49fb630e7f2d7c8533d12607ef105">XSrio_GetPortStatus</a> (<a class="el" href="struct_x_srio.html">XSrio</a> *InstancePtr)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsrio_8c.html#a753aded6db30e1c042e7c7ee43b2a483">XSrio_GetPEType</a> (<a class="el" href="struct_x_srio.html">XSrio</a> *InstancePtr)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsrio_8c.html#afce174875d087f4b3cc4713a1df5446d">XSrio_IsOperationSupported</a> (<a class="el" href="struct_x_srio.html">XSrio</a> *InstancePtr, u8 Operation, u8 Direction)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsrio_8c.html#a9cb7fbc368f16113382c2a9b4556b601">XSrio_SetWaterMark</a> (<a class="el" href="struct_x_srio.html">XSrio</a> *InstancePtr, u8 WaterMark0, u8 WaterMark1, u8 WaterMark2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsrio_8c.html#a9eb82f808fa01a1679ed60a026a2a2c7">XSrio_GetWaterMark</a> (<a class="el" href="struct_x_srio.html">XSrio</a> *InstancePtr, u8 *WaterMark0, u8 *WaterMark1, u8 *WaterMark2)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This file contains the required functions for the <a class="el" href="struct_x_srio.html">XSrio</a> driver. See the <a class="el" href="xsrio_8h.html">xsrio.h</a> header file for more details on this driver.</p> <pre> MODIFICATION HISTORY:</pre><pre> Ver Who Date Changes ----- ---- -------- ------------------------------------------------------- 1.0 adk 16/04/14 Initial release </pre> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ac5162a4f64b1b7d32456015e6c6b0243"></a><!-- doxytag: member="xsrio.c::XSrio_CfgInitialize" ref="ac5162a4f64b1b7d32456015e6c6b0243" args="(XSrio *InstancePtr, XSrio_Config *Config, u32 EffectiveAddress)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XSrio_CfgInitialize </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_srio.html">XSrio</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="struct_x_srio___config.html">XSrio_Config</a> * </td> <td class="paramname"> <em>Config</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u32 </td> <td class="paramname"> <em>EffectiveAddress</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Initialize the <a class="el" href="struct_x_srio.html">XSrio</a> instance provided by the caller based on the given Config structure.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is the <a class="el" href="struct_x_srio.html">XSrio</a> instance to operate on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>Config</em> </td><td>is the device configuration structure containing information about a specific SRIO Device. </td></tr> <tr><td valign="top"></td><td valign="top"><em>EffectiveAddress</em> </td><td>is the Physical address of the hardware in a Virtual Memory operating system environment.It is the Base Address in a stand alone environment.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XST_SUCCESS Initialization was successful.</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> <a class="anchor" id="a753aded6db30e1c042e7c7ee43b2a483"></a><!-- doxytag: member="xsrio.c::XSrio_GetPEType" ref="a753aded6db30e1c042e7c7ee43b2a483" args="(XSrio *InstancePtr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XSrio_GetPEType </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_srio.html">XSrio</a> * </td> <td class="paramname"> <em>InstancePtr</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>XSrio_GetPEType API will check for the Processing Element type and return the type of type of Processing Element</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is the <a class="el" href="struct_x_srio.html">XSrio</a> instance to operate on.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XSRIO_IS_MEMORY if the core is configured as a memory</li> <li>XSRIO_IS_PROCESSOR if the core is configured as a processor</li> <li>XSRIO_IS_BRIDGE if the core is configured as a bridge.</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>: None. </dd></dl> </div> </div> <a class="anchor" id="acbd49fb630e7f2d7c8533d12607ef105"></a><!-- doxytag: member="xsrio.c::XSrio_GetPortStatus" ref="acbd49fb630e7f2d7c8533d12607ef105" args="(XSrio *InstancePtr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XSrio_GetPortStatus </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_srio.html">XSrio</a> * </td> <td class="paramname"> <em>InstancePtr</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>XSrio_GetPortStatus will check the status of the port and returns the status of the port to the user</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is the <a class="el" href="struct_x_srio.html">XSrio</a> instance to operate on.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XSRIO_PORT_OK Port is initialized with no errors.</li> <li>XSRIO_PORT_UNINITIALIZED Port is not initialized. No Serial Rapidio link is present.</li> <li>XSRIO_PORT_HAS_ERRORS Port is initialized but has errors.</li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>: None. </dd></dl> </div> </div> <a class="anchor" id="a9eb82f808fa01a1679ed60a026a2a2c7"></a><!-- doxytag: member="xsrio.c::XSrio_GetWaterMark" ref="a9eb82f808fa01a1679ed60a026a2a2c7" args="(XSrio *InstancePtr, u8 *WaterMark0, u8 *WaterMark1, u8 *WaterMark2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XSrio_GetWaterMark </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_srio.html">XSrio</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 * </td> <td class="paramname"> <em>WaterMark0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 * </td> <td class="paramname"> <em>WaterMark1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 * </td> <td class="paramname"> <em>WaterMark2</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>XSrio_GetWaterMark API reads the water mark values.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is the <a class="el" href="struct_x_srio.html">XSrio</a> instance to operate on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>WaterMark0</em> </td><td>is a pointer to a variable where the driver will pass back the water mark 0 value. </td></tr> <tr><td valign="top"></td><td valign="top"><em>WaterMark1</em> </td><td>is a pointer to a variable where the driver will pass back the water mark 1 value. </td></tr> <tr><td valign="top"></td><td valign="top"><em>WaterMark2</em> </td><td>is a pointer to a variable where the driver will pass back the water mark 2 value.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>: None. </dd></dl> </div> </div> <a class="anchor" id="afce174875d087f4b3cc4713a1df5446d"></a><!-- doxytag: member="xsrio.c::XSrio_IsOperationSupported" ref="afce174875d087f4b3cc4713a1df5446d" args="(XSrio *InstancePtr, u8 Operation, u8 Direction)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int XSrio_IsOperationSupported </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_srio.html">XSrio</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>Operation</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>Direction</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>XSrio_IsOperationSupported tells whether the operation is supported by the SRIO Gen2 core or not.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the SRIO Gen2 instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>Operation</em> </td><td>type is the operation type of the SRIO Packet </td></tr> <tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>type</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><ul> <li>XST_SUCCESS if the operation is supported by the core.<ul> <li>XST_FAILURE if the operation is not supported by the core.</li> </ul> </li> </ul> </dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> <a class="anchor" id="a9cb7fbc368f16113382c2a9b4556b601"></a><!-- doxytag: member="xsrio.c::XSrio_SetWaterMark" ref="a9cb7fbc368f16113382c2a9b4556b601" args="(XSrio *InstancePtr, u8 WaterMark0, u8 WaterMark1, u8 WaterMark2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XSrio_SetWaterMark </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_x_srio.html">XSrio</a> * </td> <td class="paramname"> <em>InstancePtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>WaterMark0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>WaterMark1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u8 </td> <td class="paramname"> <em>WaterMark2</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>XSrio_SetWaterMark Configures the watermark to transfer a priority packet.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the SRIO Gen2 instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>WaterMark0</em> </td><td>is the water mark value to transfer a priority 0 packet. </td></tr> <tr><td valign="top"></td><td valign="top"><em>WaterMark1</em> </td><td>is the water mark value to transfer a priority 1 packet. </td></tr> <tr><td valign="top"></td><td valign="top"><em>WaterMark2</em> </td><td>is the water mark value to transfer a priority 2 packet.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl> </div> </div> </div> <p class="Copyright"> Copyright © 1995-2014 Xilinx, Inc. All rights reserved. </p> </body> </html>