embeddedsw/XilinxProcessorIPLib/drivers/llfifo/doc/html/api/xllfifo_8c.html

355 lines
16 KiB
HTML
Raw Normal View History

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Xilinx Driver llfifo v4_0: xllfifo.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>xllfifo.c File Reference</h1><code>#include &quot;xstatus.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="xllfifo_8h.html">xllfifo.h</a>&quot;</code><br/>
<code>#include &quot;xil_assert.h&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#a9ab678f3af0afefab24bc4f670a50bf6">FIFO_WIDTH_BYTES</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#aacc66a5dc69ac5a882fa7f3d161efbcb">xdbg_stmnt</a> (u32 _xllfifo_rr_value;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#aad292ddf2a2c9dde261b93da802c8080">XLlFifo_iRxGetLen</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#a18bc620d388cbca83d63cc1c6ef33225">XLlFifo_iRead_Aligned</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr, void *BufPtr, unsigned WordCount)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#ac02405b23499d780e7bc1dfe371281a6">XLlFifo_iTxVacancy</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#aa49ecc1529434fd932d8a65d63a1a04d">XLlFifo_iTxSetLen</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr, u32 Bytes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#a9be5556d593980195e43a31ffb37e0fe">XLlFifo_iWrite_Aligned</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr, void *BufPtr, unsigned WordCount)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#adc1db2785627a0d8da46dc60990889a0">XLlFifo_CfgInitialize</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr, <a class="el" href="struct_x_ll_fifo___config.html">XLlFifo_Config</a> *Config, u32 EffectiveAddress)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#aed3ae31c8c24f46139fbd709027329ec">XLlFifo_RxGetWord</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#a29654d755dce84b861022179c99ca7a3">XLlFifo_TxPutWord</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr, u32 Word)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xllfifo_8c.html#a1fdf07ca198f5cfe2dc14ced21e5631d">XLlFifo_Initialize</a> (<a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *InstancePtr, u32 BaseAddress)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The Xilinx local link FIFO driver component. This driver supports the Xilinx xps_ll_fifo core.</p>
<pre>
MODIFICATION HISTORY:</pre><pre> Ver Who Date Changes
----- ---- -------- -------------------------------------------------------
1.00a jvb 10/13/06 First release
1.00a xd 12/17/07 Added type casting to fix CR #456850
1.02a jz 12/04/09 Hal phase 1 support
2.00a hbm 01/20/10 Hal phase 1 support, bump up major release
2.01a asa 09/17/10 Added code for resetting Streaming interface
for CR574868
3.00a adk 08/10/13 Added support for AXI4 Datainterface.Updated
XLlFifo_RxGetWord, XLlFifo_TxPutword inorder to
handle AXI4 Datainterface. Added Config
initialization for the driver.
</pre> <hr/><h2>Define Documentation</h2>
<a class="anchor" id="a9ab678f3af0afefab24bc4f670a50bf6"></a><!-- doxytag: member="xllfifo.c::FIFO_WIDTH_BYTES" ref="a9ab678f3af0afefab24bc4f670a50bf6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FIFO_WIDTH_BYTES&nbsp;&nbsp;&nbsp;4</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="aacc66a5dc69ac5a882fa7f3d161efbcb"></a><!-- doxytag: member="xllfifo.c::xdbg_stmnt" ref="aacc66a5dc69ac5a882fa7f3d161efbcb" args="(u32 _xllfifo_rr_value;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">xdbg_stmnt </td>
<td>(</td>
<td class="paramtype">u32 _xllfifo_rr_value;&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="adc1db2785627a0d8da46dc60990889a0"></a><!-- doxytag: member="xllfifo.c::XLlFifo_CfgInitialize" ref="adc1db2785627a0d8da46dc60990889a0" args="(XLlFifo *InstancePtr, XLlFifo_Config *Config, u32 EffectiveAddress)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XLlFifo_CfgInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</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_ll_fifo___config.html">XLlFifo_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>XLlFifo_CfgInitialize initializes an XPS_ll_Fifo device along with the <em>InstancePtr</em> that references it.</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 Axi Streaming FIFO instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em>&nbsp;</td><td>references the structure holding the hardware configuration for the Axi Streaming FIFO core to initialize. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em>&nbsp;</td><td>is the device base address in the virtual memory address space. The caller is responsible for keeping the address mapping from EffectiveAddr to the device physical base address unchanged once this function is invoked. Unexpected errors may occur if the address mapping changes after this function is called. If address translation is not used, use Config-&gt;BaseAddress for this parameters, passing the physical address instead.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>N/A </dd></dl>
</div>
</div>
<a class="anchor" id="a1fdf07ca198f5cfe2dc14ced21e5631d"></a><!-- doxytag: member="xllfifo.c::XLlFifo_Initialize" ref="a1fdf07ca198f5cfe2dc14ced21e5631d" args="(XLlFifo *InstancePtr, u32 BaseAddress)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XLlFifo_Initialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>BaseAddress</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>XLlFifo_Initialize initializes an XPS_ll_Fifo device along with the <em>InstancePtr</em> that references it.</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>references the memory instance to be associated with the FIFO device upon initialization.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>BaseAddress</em>&nbsp;</td><td>is the processor address used to access the base address of the Fifo device.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>N/A </dd></dl>
</div>
</div>
<a class="anchor" id="a18bc620d388cbca83d63cc1c6ef33225"></a><!-- doxytag: member="xllfifo.c::XLlFifo_iRead_Aligned" ref="a18bc620d388cbca83d63cc1c6ef33225" args="(XLlFifo *InstancePtr, void *BufPtr, unsigned WordCount)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XLlFifo_iRead_Aligned </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>BufPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>WordCount</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aad292ddf2a2c9dde261b93da802c8080"></a><!-- doxytag: member="xllfifo.c::XLlFifo_iRxGetLen" ref="aad292ddf2a2c9dde261b93da802c8080" args="(XLlFifo *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XLlFifo_iRxGetLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aa49ecc1529434fd932d8a65d63a1a04d"></a><!-- doxytag: member="xllfifo.c::XLlFifo_iTxSetLen" ref="aa49ecc1529434fd932d8a65d63a1a04d" args="(XLlFifo *InstancePtr, u32 Bytes)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XLlFifo_iTxSetLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Bytes</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ac02405b23499d780e7bc1dfe371281a6"></a><!-- doxytag: member="xllfifo.c::XLlFifo_iTxVacancy" ref="ac02405b23499d780e7bc1dfe371281a6" args="(XLlFifo *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XLlFifo_iTxVacancy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9be5556d593980195e43a31ffb37e0fe"></a><!-- doxytag: member="xllfifo.c::XLlFifo_iWrite_Aligned" ref="a9be5556d593980195e43a31ffb37e0fe" args="(XLlFifo *InstancePtr, void *BufPtr, unsigned WordCount)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XLlFifo_iWrite_Aligned </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>BufPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>WordCount</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aed3ae31c8c24f46139fbd709027329ec"></a><!-- doxytag: member="xllfifo.c::XLlFifo_RxGetWord" ref="aed3ae31c8c24f46139fbd709027329ec" args="(XLlFifo *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XLlFifo_RxGetWord </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a29654d755dce84b861022179c99ca7a3"></a><!-- doxytag: member="xllfifo.c::XLlFifo_TxPutWord" ref="a29654d755dce84b861022179c99ca7a3" args="(XLlFifo *InstancePtr, u32 Word)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XLlFifo_TxPutWord </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_ll_fifo.html">XLlFifo</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Word</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
</div>
<p class="Copyright">
Copyright &copy; 1995-2014 Xilinx, Inc. All rights reserved.
</p>
</body>
</html>