embeddedsw/XilinxProcessorIPLib/drivers/srio/doc/html/api/xsrio_8c.html

316 lines
15 KiB
HTML
Raw Normal View History

<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&nbsp;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&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>xsrio.c File Reference</h1><code>#include &quot;<a class="el" href="xsrio_8h.html">xsrio.h</a>&quot;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>Config</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>EffectiveAddress</em></td><td>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8 *&nbsp;</td>
<td class="paramname"> <em>WaterMark0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8 *&nbsp;</td>
<td class="paramname"> <em>WaterMark1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8 *&nbsp;</td>
<td class="paramname"> <em>WaterMark2</em></td><td>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>Operation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>Direction</em></td><td>&nbsp;</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>&nbsp;</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>&nbsp;</td><td>type is the operation type of the SRIO Packet </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Direction</em>&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>WaterMark0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>WaterMark1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>WaterMark2</em></td><td>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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 &copy; 1995-2014 Xilinx, Inc. All rights reserved.
</p>
</body>
</html>