embeddedsw/XilinxProcessorIPLib/drivers/dmaps/doc/html/api/xdmaps_8h.html
Kedareswara rao Appana 659fb81abd doxygen: Update doxygen for the drivers to include .h files in documentation.
This patch updates the doxygen for the drivers
emaclite,dmaps, emacps,gpio,gpiops to include .h files
in the listof files provided in the index.html file.

Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
2014-09-02 11:21:33 +05:30

875 lines
44 KiB
HTML
Executable file

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Xilinx Driver dmaps v2_1: xdmaps.h 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>xdmaps.h File Reference</h1><code>#include &quot;xparameters.h&quot;</code><br/>
<code>#include &quot;xil_types.h&quot;</code><br/>
<code>#include &quot;xil_assert.h&quot;</code><br/>
<code>#include &quot;xstatus.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="xdmaps__hw_8h.html">xdmaps_hw.h</a>&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dma_ps___config.html">XDmaPs_Config</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dma_ps___chan_ctrl.html">XDmaPs_ChanCtrl</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dma_ps___b_d.html">XDmaPs_BD</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dma_ps___prog_buf.html">XDmaPs_ProgBuf</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dma_ps___channel_data.html">XDmaPs_ChannelData</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a></td></tr>
<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="xdmaps_8h.html#a6ab74fe5c8b354d102039817429abb2d">XDMAPS_H</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a50bf5d327febf45741ae10b8fff7ab45">XDMAPS_MAX_CHAN_BUFS</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a613828e13c594a40ae338295bbfbb600">XDMAPS_CHAN_BUF_LEN</a>&nbsp;&nbsp;&nbsp;128</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#ad59232da2016e1a60744cc6e11a04a98">XDmaPsDoneHandler</a> )(unsigned int Channel, <a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *DmaCmd, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a5dba8cc7cd39c53eed1dabac803ce74f">XDmaPsFaultHandler</a> )(unsigned int Channel, <a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *DmaCmd, void *CallbackRef)</td></tr>
<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="xdmaps_8h.html#a2fed90dfba1ff9f472b40ed492d78b4c">XDmaPs_CfgInitialize</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, <a class="el" href="struct_x_dma_ps___config.html">XDmaPs_Config</a> *Config, u32 EffectiveAddr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a3691ba115c788c4f68a05cf05c486eeb">XDmaPs_Start</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, unsigned int Channel, <a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *Cmd, int HoldDmaProg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a05047e523efd0dcc0e1f3ba16a32a796">XDmaPs_IsActive</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, unsigned int Channel)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#abc2e04f69037f0bdba33275ae017af8a">XDmaPs_GenDmaProg</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, unsigned int Channel, <a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *Cmd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a96c4c2e45ab31a22f05767c24db425ea">XDmaPs_FreeDmaProg</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, unsigned int Channel, <a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *Cmd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a24d151e510be2f13777cc85a563c6bbd">XDmaPs_Print_DmaProg</a> (<a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *Cmd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a65cc22a994eb1ca6a9c56d86d469242e">XDmaPs_ResetManager</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a593458e8f6ac55566fc235e8a93b9890">XDmaPs_ResetChannel</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, unsigned int Channel)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#accf32b08856fbe62745a4d0552aa1bff">XDmaPs_SetDoneHandler</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, unsigned Channel, <a class="el" href="xdmaps_8h.html#ad59232da2016e1a60744cc6e11a04a98">XDmaPsDoneHandler</a> DoneHandler, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#acda5c5523ed24451a7efacc7b9257fa3">XDmaPs_SetFaultHandler</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr, <a class="el" href="xdmaps_8h.html#a5dba8cc7cd39c53eed1dabac803ce74f">XDmaPsFaultHandler</a> FaultHandler, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a20b05e6795a86f3381e6850a0ada0c6d">XDmaPs_DoneISR_0</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a766bb579aeee8b0914fcb258a4057259">XDmaPs_DoneISR_1</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#ada1623174e9c5bbb4bf247a650987dbd">XDmaPs_DoneISR_2</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a6b98da80d55e109b0cb57a34f9baa5a9">XDmaPs_DoneISR_3</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a1a1f8340c3a0a64e8a2363c5fe752707">XDmaPs_DoneISR_4</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#afbb8e861538769798d48350dd885dc65">XDmaPs_DoneISR_5</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a2946a438ecf5fd79ca346254c69ba208">XDmaPs_DoneISR_6</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a42bc1b1e99ac5ea705d1a707f4618fc3">XDmaPs_DoneISR_7</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#ae1f2b39fb5e2e8d369c3286aeada67be">XDmaPs_FaultISR</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_dma_ps___config.html">XDmaPs_Config</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a9925e7fdbc5e9412b755a8e3caeb65aa">XDmaPs_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdmaps_8h.html#a711e54b9c033b127fb582bde320f8823">XDmaPs_SelfTest</a> (<a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *InstPtr)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a613828e13c594a40ae338295bbfbb600"></a><!-- doxytag: member="xdmaps.h::XDMAPS_CHAN_BUF_LEN" ref="a613828e13c594a40ae338295bbfbb600" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XDMAPS_CHAN_BUF_LEN&nbsp;&nbsp;&nbsp;128</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a6ab74fe5c8b354d102039817429abb2d"></a><!-- doxytag: member="xdmaps.h::XDMAPS_H" ref="a6ab74fe5c8b354d102039817429abb2d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XDMAPS_H</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a50bf5d327febf45741ae10b8fff7ab45"></a><!-- doxytag: member="xdmaps.h::XDMAPS_MAX_CHAN_BUFS" ref="a50bf5d327febf45741ae10b8fff7ab45" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XDMAPS_MAX_CHAN_BUFS&nbsp;&nbsp;&nbsp;2</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ad59232da2016e1a60744cc6e11a04a98"></a><!-- doxytag: member="xdmaps.h::XDmaPsDoneHandler" ref="ad59232da2016e1a60744cc6e11a04a98" args=")(unsigned int Channel, XDmaPs_Cmd *DmaCmd, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* <a class="el" href="xdmaps_8h.html#ad59232da2016e1a60744cc6e11a04a98">XDmaPsDoneHandler</a>)(unsigned int Channel, <a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *DmaCmd, void *CallbackRef)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>It's the done handler a user can set for a channel </p>
</div>
</div>
<a class="anchor" id="a5dba8cc7cd39c53eed1dabac803ce74f"></a><!-- doxytag: member="xdmaps.h::XDmaPsFaultHandler" ref="a5dba8cc7cd39c53eed1dabac803ce74f" args=")(unsigned int Channel, XDmaPs_Cmd *DmaCmd, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* <a class="el" href="xdmaps_8h.html#a5dba8cc7cd39c53eed1dabac803ce74f">XDmaPsFaultHandler</a>)(unsigned int Channel, <a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *DmaCmd, void *CallbackRef)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>It's the fault handler a user can set for a channel </p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a2fed90dfba1ff9f472b40ed492d78b4c"></a><!-- doxytag: member="xdmaps.h::XDmaPs_CfgInitialize" ref="a2fed90dfba1ff9f472b40ed492d78b4c" args="(XDmaPs *InstPtr, XDmaPs_Config *Config, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_CfgInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps___config.html">XDmaPs_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>EffectiveAddr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initializes a specific <a class="el" href="struct_x_dma_ps.html">XDmaPs</a> instance such that it is ready to be used. The data format of the device is setup for 8 data bits, 1 stop bit, and no parity by default. The baud rate is set to a default value specified by Config-&gt;DefaultBaudRate if set, otherwise it is set to 19.2K baud. The receive FIFO threshold is set for 8 bytes. The default operating mode of the driver is polled mode.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dma_ps.html">XDmaPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Config</em>&nbsp;</td><td>is a reference to a structure containing information about a specific <a class="el" href="struct_x_dma_ps.html">XDmaPs</a> driver. </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, pass in the physical address instead.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<ul>
<li>XST_SUCCESS on initialization completion</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a20b05e6795a86f3381e6850a0ada0c6d"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_0" ref="a20b05e6795a86f3381e6850a0ada0c6d" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_0 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routines for the channels. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<p>Driver done interrupt service routine for channel 0. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="a766bb579aeee8b0914fcb258a4057259"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_1" ref="a766bb579aeee8b0914fcb258a4057259" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_1 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routine for channel 1. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="ada1623174e9c5bbb4bf247a650987dbd"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_2" ref="ada1623174e9c5bbb4bf247a650987dbd" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routine for channel 2. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="a6b98da80d55e109b0cb57a34f9baa5a9"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_3" ref="a6b98da80d55e109b0cb57a34f9baa5a9" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routine for channel 3. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="a1a1f8340c3a0a64e8a2363c5fe752707"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_4" ref="a1a1f8340c3a0a64e8a2363c5fe752707" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_4 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routine for channel 4. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="afbb8e861538769798d48350dd885dc65"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_5" ref="afbb8e861538769798d48350dd885dc65" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_5 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routine for channel 5. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="a2946a438ecf5fd79ca346254c69ba208"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_6" ref="a2946a438ecf5fd79ca346254c69ba208" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_6 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routine for channel 6. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="a42bc1b1e99ac5ea705d1a707f4618fc3"></a><!-- doxytag: member="xdmaps.h::XDmaPs_DoneISR_7" ref="a42bc1b1e99ac5ea705d1a707f4618fc3" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_DoneISR_7 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver done interrupt service routine for channel 7. We need this done ISR mainly because the driver needs to release the DMA program buffer. This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="ae1f2b39fb5e2e8d369c3286aeada67be"></a><!-- doxytag: member="xdmaps.h::XDmaPs_FaultISR" ref="ae1f2b39fb5e2e8d369c3286aeada67be" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_FaultISR </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Driver fault interrupt service routine</p>
<p>Driver fault interrupt service routine This is the one that connects the GIC</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</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="a96c4c2e45ab31a22f05767c24db425ea"></a><!-- doxytag: member="xdmaps.h::XDmaPs_FreeDmaProg" ref="a96c4c2e45ab31a22f05767c24db425ea" args="(XDmaPs *InstPtr, unsigned int Channel, XDmaPs_Cmd *Cmd)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_FreeDmaProg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>Channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *&nbsp;</td>
<td class="paramname"> <em>Cmd</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Free the DMA program buffer that is pointed by the GeneratedDmaProg field of the command.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is then DMA instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Channel</em>&nbsp;</td><td>is the DMA channel number. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Cmd</em>&nbsp;</td><td>is the DMA command.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>XST_SUCCESS on success. XST_FAILURE if there is any error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="abc2e04f69037f0bdba33275ae017af8a"></a><!-- doxytag: member="xdmaps.h::XDmaPs_GenDmaProg" ref="abc2e04f69037f0bdba33275ae017af8a" args="(XDmaPs *InstPtr, unsigned int Channel, XDmaPs_Cmd *Cmd)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_GenDmaProg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>Channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *&nbsp;</td>
<td class="paramname"> <em>Cmd</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Generate a DMA program based for the DMA command, the buffer will be pointed by the GeneratedDmaProg field of the command.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is then DMA instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Channel</em>&nbsp;</td><td>is the DMA channel number. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Cmd</em>&nbsp;</td><td>is the DMA command.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>- XST_SUCCESS on success.<ul>
<li>XST_FAILURE if it fails</li>
</ul>
</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a05047e523efd0dcc0e1f3ba16a32a796"></a><!-- doxytag: member="xdmaps.h::XDmaPs_IsActive" ref="a05047e523efd0dcc0e1f3ba16a32a796" args="(XDmaPs *InstPtr, unsigned int Channel)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_IsActive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>Channel</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Checks whether the DMA channel is active or idle.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Channel</em>&nbsp;</td><td>is the DMA channel number.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0: if the channel is idle 1: otherwise</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a9925e7fdbc5e9412b755a8e3caeb65aa"></a><!-- doxytag: member="xdmaps.h::XDmaPs_LookupConfig" ref="a9925e7fdbc5e9412b755a8e3caeb65aa" args="(u16 DeviceId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_x_dma_ps___config.html">XDmaPs_Config</a>* XDmaPs_LookupConfig </td>
<td>(</td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>DeviceId</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Looks up the device configuration based on the unique device ID. The table contains the configuration info for each device in the system.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>DeviceId</em>&nbsp;</td><td>contains the ID of the device</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<p>A pointer to the configuration structure or NULL if the specified device is not in the system.</p>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>None. </p>
</div>
</div>
<a class="anchor" id="a24d151e510be2f13777cc85a563c6bbd"></a><!-- doxytag: member="xdmaps.h::XDmaPs_Print_DmaProg" ref="a24d151e510be2f13777cc85a563c6bbd" args="(XDmaPs_Cmd *Cmd)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDmaPs_Print_DmaProg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *&nbsp;</td>
<td class="paramname"> <em>Cmd</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Print the Dma Prog Contents.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>Cmd</em>&nbsp;</td><td>is the command buffer.</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="a593458e8f6ac55566fc235e8a93b9890"></a><!-- doxytag: member="xdmaps.h::XDmaPs_ResetChannel" ref="a593458e8f6ac55566fc235e8a93b9890" args="(XDmaPs *InstPtr, unsigned int Channel)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_ResetChannel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>Channel</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reset the specified DMA Channel.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Channel</em>&nbsp;</td><td>is the channel to be reset.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, -1 on time out</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a65cc22a994eb1ca6a9c56d86d469242e"></a><!-- doxytag: member="xdmaps.h::XDmaPs_ResetManager" ref="a65cc22a994eb1ca6a9c56d86d469242e" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_ResetManager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reset the DMA Manager.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, -1 on time out</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a711e54b9c033b127fb582bde320f8823"></a><!-- doxytag: member="xdmaps.h::XDmaPs_SelfTest" ref="a711e54b9c033b127fb582bde320f8823" args="(XDmaPs *InstPtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_SelfTest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function runs a self-test on the driver and hardware device. This self test performs a local loopback and verifies data can be sent and received.</p>
<p>The time for this test is proportional to the baud rate that has been set prior to calling this function.</p>
<p>The mode and control registers are restored before return.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dma_ps.html">XDmaPs</a> instance</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<ul>
<li>XST_SUCCESS if the test was successful</li>
<li>XST_FAILURE if the test failed</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>This function can hang if the hardware is not functioning properly. </p>
</div>
</div>
<a class="anchor" id="accf32b08856fbe62745a4d0552aa1bff"></a><!-- doxytag: member="xdmaps.h::XDmaPs_SetDoneHandler" ref="accf32b08856fbe62745a4d0552aa1bff" args="(XDmaPs *InstPtr, unsigned Channel, XDmaPsDoneHandler DoneHandler, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_SetDoneHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>Channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdmaps_8h.html#ad59232da2016e1a60744cc6e11a04a98">XDmaPsDoneHandler</a>&nbsp;</td>
<td class="paramname"> <em>DoneHandler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the done handler for a channel.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Channel</em>&nbsp;</td><td>is the channel number. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>DoneHandler</em>&nbsp;</td><td>is the done interrupt handler. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the callback reference data.</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="acda5c5523ed24451a7efacc7b9257fa3"></a><!-- doxytag: member="xdmaps.h::XDmaPs_SetFaultHandler" ref="acda5c5523ed24451a7efacc7b9257fa3" args="(XDmaPs *InstPtr, XDmaPsFaultHandler FaultHandler, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_SetFaultHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdmaps_8h.html#a5dba8cc7cd39c53eed1dabac803ce74f">XDmaPsFaultHandler</a>&nbsp;</td>
<td class="paramname"> <em>FaultHandler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the fault handler for a channel.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is the DMA instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FaultHandler</em>&nbsp;</td><td>is the fault interrupt handler. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the callback reference data.</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="a3691ba115c788c4f68a05cf05c486eeb"></a><!-- doxytag: member="xdmaps.h::XDmaPs_Start" ref="a3691ba115c788c4f68a05cf05c486eeb" args="(XDmaPs *InstPtr, unsigned int Channel, XDmaPs_Cmd *Cmd, int HoldDmaProg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDmaPs_Start </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps.html">XDmaPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>Channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_dma_ps___cmd.html">XDmaPs_Cmd</a> *&nbsp;</td>
<td class="paramname"> <em>Cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>HoldDmaProg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Start a DMA command. The command can only be invoked when the channel is idle. The driver takes the command, generates DMA program if needed, then pass the program to DMAC to execute.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstPtr</em>&nbsp;</td><td>is then DMA instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Channel</em>&nbsp;</td><td>is the DMA channel number. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Cmd</em>&nbsp;</td><td>is the DMA command. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>HoldDmaProg</em>&nbsp;</td><td>is tag indicating whether the driver can release the allocated DMA buffer or not. If a user wants to examine the generated DMA program, the flag should be set to 1. After the DMA program is finished, a user needs to explicity free the buffer.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS on success</li>
<li>XST_DEVICE_BUSY if DMA is busy</li>
<li>XST_FAILURE on other failures</li>
</ul>
</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>