
This patch updates the doxygen for the drivers axivdma, can, canps ,devcfg , bram to include .h files in the listof files provided in the index.html file. Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
1992 lines
96 KiB
HTML
Executable file
1992 lines
96 KiB
HTML
Executable file
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>
|
|
Xilinx Driver axivdma v5_0: xaxivdma.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 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>xaxivdma.h File Reference</h1><code>#include "<a class="el" href="xaxivdma__hw_8h.html">xaxivdma_hw.h</a>"</code><br/>
|
|
<code>#include "<a class="el" href="xaxivdma__i_8h.html">xaxivdma_i.h</a>"</code><br/>
|
|
<code>#include "xstatus.h"</code><br/>
|
|
<code>#include "xil_assert.h"</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 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_axi_vdma___config.html">XAxiVdma_Config</a></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_axi_vdma___dma_setup.html">XAxiVdma_DmaSetup</a></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_axi_vdma___frame_counter.html">XAxiVdma_FrameCounter</a></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_axi_vdma___channel_call_back.html">XAxiVdma_ChannelCallBack</a></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a></td></tr>
|
|
<tr><td colspan="2"><h2>Defines</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ae66ac7d51cdfd51731da8c17762a7ee7">XAXIVDMA_H_</a></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a525d0fa8fc04a9dde871ab55cf6b227b">XAXIVDMA_WRITE</a> 1</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a5fa27b3ce66d947167262fe918fb5373">XAXIVDMA_READ</a> 2</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a001373abfc5971ca63943b4088f58e60">XAXIVDMA_CHAN_FSYNC</a> 0</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ad7efb99074c21907015a0ba0826de6a6">XAXIVDMA_CHAN_OTHER_FSYNC</a> 1</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a45e841b6b8b07377d0937524f55fdea2">XAXIVDMA_S2MM_TUSER_FSYNC</a> 2</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ae49d9133e0ce94d33014c1277b1a4002">XAXIVDMA_EXTERNAL_GENLOCK</a> 0</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a9c756e52ae4f9ef594a876520ca2909b">XAXIVDMA_INTERNAL_GENLOCK</a> 1</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a36e2b755a604e36829faf28153035830">XAXIVDMA_GENLOCK_MASTER</a> 0</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ad2d76029a10cd53f435d61b379e6d913">XAXIVDMA_GENLOCK_SLAVE</a> 1</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a84e3a6fe479529589d5c9866b1d2d626">XAXIVDMA_DYN_GENLOCK_MASTER</a> 2</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a2be472c183135942d2bbe8d4572387d9">XAXIVDMA_DYN_GENLOCK_SLAVE</a> 3</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a4c57db0180eafe041035a8d4781cb2b9">XAXIVDMA_HANDLER_GENERAL</a> 1</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a7ed954b5de3073f15b8e47c5736d627b">XAXIVDMA_HANDLER_ERROR</a> 2</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#afa8a6604771dc02e3a96eb09ac16fcaa">XAXIVDMA_DEVICE_READY</a> 0x11111111</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#aef1fd25fb7d569716f06428a2cb252a6">XAXIVDMA_ENABLE_DBG_THRESHOLD_REG</a> 0x01</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a07288b90389ef7168517a5fadaa68337">XAXIVDMA_ENABLE_DBG_FRMSTORE_REG</a> 0x02</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#aff43bfe0597ea5019b618535fbb7788b">XAXIVDMA_ENABLE_DBG_FRM_CNTR</a> 0x04</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a9d064946a0476a15d35ca851ddfeb460">XAXIVDMA_ENABLE_DBG_DLY_CNTR</a> 0x08</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a5c2546d927e1b4226aefbe7228448ccb">XAXIVDMA_ENABLE_DBG_ALL_FEATURES</a> 0x0F</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a360c7af9f1d1b5721518cc7cd66139bf">XST_VDMA_MISMATCH_ERROR</a> 1430</td></tr>
|
|
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a07f81ffdbceb0024e3a675a787ca3d90">XAxiVdma_CallBack</a> )(void *CallBackRef, u32 InterruptTypes)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#af4cafedb40698ffa21e672bf20ac3602">XAxiVdma_ErrorCallBack</a> )(void *CallBackRef, u32 ErrorMask)</td></tr>
|
|
<tr><td colspan="2"><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_axi_vdma___config.html">XAxiVdma_Config</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ac1056bf89d30ac044aca72de431c6a3f">XAxiVdma_LookupConfig</a> (u16 DeviceId)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a8d11c9609cf957c560fb287af1433374">XAxiVdma_CfgInitialize</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, <a class="el" href="struct_x_axi_vdma___config.html">XAxiVdma_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a8dbd2faa070ca571f049e3b61f9bdb1e">XAxiVdma_Reset</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a3e01bd69f101126d5962f7078ee3e520">XAxiVdma_ResetNotDone</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a0fc5b39aabb8d4f56b0dd2024ea5bff2">XAxiVdma_IsBusy</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a9769479907cda3ef95ff1ed394de4629">XAxiVdma_CurrFrameStore</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a24f182cf8678e4df6e0e2b19e2f50620">XAxiVdma_GetVersion</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a15653f0679e3a33efd384598b6c42e08">XAxiVdma_GetStatus</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a741b4b1607c2ee71a3be16ddd8300656">XAxiVdma_SetLineBufThreshold</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, int LineBufThreshold, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#af99dd7738b98367397831df26433843a">XAxiVdma_StartParking</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, int FrameIndex, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a8625bbc0ed0ab829f3153160c74bba44">XAxiVdma_StopParking</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a4f05c5a75fdf840517c17d687443510d">XAxiVdma_StartFrmCntEnable</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a4c687431dde198458fb4e42dff22c106">XAxiVdma_IntrEnable</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 IntrType, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#aba9a0ebdb72696e24ccaa48e57802323">XAxiVdma_IntrDisable</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 IntrType, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a90501638e7f1077232443f0a60b3b40d">XAxiVdma_IntrGetPending</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#aaba3bd6f623637f15e16176ea77213b3">XAxiVdma_IntrClear</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 IntrType, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ab14c0b0487aeb3347b289eb58453e75d">XAxiVdma_SetBdAddrs</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 BdAddrPhys, u32 BdAddrVirt, int NumBds, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_axi_vdma___channel.html">XAxiVdma_Channel</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a53d9dd2e9c6d96baa4aef6e1b46d8f0a">XAxiVdma_GetChannel</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#af331929e09bf1454dc2835b6ecc4ff30">XAxiVdma_SetFrmStore</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u8 FrmStoreNum, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a83d55bee4a575b0fdd98d1013a26533e">XAxiVdma_GetFrmStore</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u8 *FrmStoreNum, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#aa3376589f8781eec1f0d619e1a0d3078">XAxiVdma_FsyncSrcSelect</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 Source, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#acf7ed6b0ef406b80e49ff25634f6d5f1">XAxiVdma_GenLockSourceSelect</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 Source, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a4d93d3dea2f117948c175371d983a0e1">XAxiVdma_GetDmaChannelErrors</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ac01b1199d15a3a95cafb01f61dd1d0d3">XAxiVdma_ClearDmaChannelErrors</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction, u32 ErrorMask)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a2650d7820ff062709d027bff2934cf58">XAxiVdma_MaskS2MMErrIntr</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 ErrorMask, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a1dc126d885558e03cf06a4d9c05d5668">XAxiVdma_StartWriteFrame</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, <a class="el" href="struct_x_axi_vdma___dma_setup.html">XAxiVdma_DmaSetup</a> *DmaConfigPtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ab2646b6aeea2ff64c4b42319ffb49804">XAxiVdma_StartReadFrame</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, <a class="el" href="struct_x_axi_vdma___dma_setup.html">XAxiVdma_DmaSetup</a> *DmaConfigPtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a3c50e96d431d9f1ee7d6200266c0dbd3">XAxiVdma_DmaConfig</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction, <a class="el" href="struct_x_axi_vdma___dma_setup.html">XAxiVdma_DmaSetup</a> *DmaConfigPtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#af610e3b2bee38be4c0da65ead756fbcd">XAxiVdma_DmaSetBufferAddr</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction, u32 *BufferAddrSet)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#adf310ae3bd4c0ae9ebf3e445a2fbe444">XAxiVdma_DmaStart</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a133b5fd1032db27366382885d6d76484">XAxiVdma_DmaStop</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ab51f0d1f195db6af2dd3023e5c80eb5c">XAxiVdma_DmaRegisterDump</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u16 Direction)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#adbc82f63f2b4872a56388162d1624560">XAxiVdma_SetFrameCounter</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, <a class="el" href="struct_x_axi_vdma___frame_counter.html">XAxiVdma_FrameCounter</a> *FrameCounterCfgPtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#ae072444124ad1bfd622ceac2fd585bb9">XAxiVdma_GetFrameCounter</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, <a class="el" href="struct_x_axi_vdma___frame_counter.html">XAxiVdma_FrameCounter</a> *FrameCounterCfgPtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#a60ceb86226e513a16d6776a97fcfa50f">XAxiVdma_ReadIntrHandler</a> (void *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#aad76f2f6ab41e322ddcd240d2af8140d">XAxiVdma_WriteIntrHandler</a> (void *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xaxivdma_8h.html#afd0477fae9534ebd2d2e15cc8885642d">XAxiVdma_SetCallBack</a> (<a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef, u16 Direction)</td></tr>
|
|
</table>
|
|
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
|
<hr/><h2>Define Documentation</h2>
|
|
<a class="anchor" id="a001373abfc5971ca63943b4088f58e60"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_CHAN_FSYNC" ref="a001373abfc5971ca63943b4088f58e60" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_CHAN_FSYNC 0</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Frame Sync Source Selection </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad7efb99074c21907015a0ba0826de6a6"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_CHAN_OTHER_FSYNC" ref="ad7efb99074c21907015a0ba0826de6a6" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_CHAN_OTHER_FSYNC 1</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afa8a6604771dc02e3a96eb09ac16fcaa"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_DEVICE_READY" ref="afa8a6604771dc02e3a96eb09ac16fcaa" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_DEVICE_READY 0x11111111</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Flag to signal that device is ready to be used </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a84e3a6fe479529589d5c9866b1d2d626"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_DYN_GENLOCK_MASTER" ref="a84e3a6fe479529589d5c9866b1d2d626" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_DYN_GENLOCK_MASTER 2</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2be472c183135942d2bbe8d4572387d9"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_DYN_GENLOCK_SLAVE" ref="a2be472c183135942d2bbe8d4572387d9" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_DYN_GENLOCK_SLAVE 3</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5c2546d927e1b4226aefbe7228448ccb"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_ENABLE_DBG_ALL_FEATURES" ref="a5c2546d927e1b4226aefbe7228448ccb" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_ENABLE_DBG_ALL_FEATURES 0x0F</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9d064946a0476a15d35ca851ddfeb460"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_ENABLE_DBG_DLY_CNTR" ref="a9d064946a0476a15d35ca851ddfeb460" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_ENABLE_DBG_DLY_CNTR 0x08</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aff43bfe0597ea5019b618535fbb7788b"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_ENABLE_DBG_FRM_CNTR" ref="aff43bfe0597ea5019b618535fbb7788b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_ENABLE_DBG_FRM_CNTR 0x04</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a07288b90389ef7168517a5fadaa68337"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_ENABLE_DBG_FRMSTORE_REG" ref="a07288b90389ef7168517a5fadaa68337" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_ENABLE_DBG_FRMSTORE_REG 0x02</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aef1fd25fb7d569716f06428a2cb252a6"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_ENABLE_DBG_THRESHOLD_REG" ref="aef1fd25fb7d569716f06428a2cb252a6" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_ENABLE_DBG_THRESHOLD_REG 0x01</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Debug Configuration Parameter Constants (C_ENABLE_DEBUG_INFO_*) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae49d9133e0ce94d33014c1277b1a4002"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_EXTERNAL_GENLOCK" ref="ae49d9133e0ce94d33014c1277b1a4002" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_EXTERNAL_GENLOCK 0</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>GenLock Source Selection </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a36e2b755a604e36829faf28153035830"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_GENLOCK_MASTER" ref="a36e2b755a604e36829faf28153035830" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_GENLOCK_MASTER 0</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>GenLock Mode Constants </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad2d76029a10cd53f435d61b379e6d913"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_GENLOCK_SLAVE" ref="ad2d76029a10cd53f435d61b379e6d913" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_GENLOCK_SLAVE 1</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae66ac7d51cdfd51731da8c17762a7ee7"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_H_" ref="ae66ac7d51cdfd51731da8c17762a7ee7" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_H_</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7ed954b5de3073f15b8e47c5736d627b"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_HANDLER_ERROR" ref="a7ed954b5de3073f15b8e47c5736d627b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_HANDLER_ERROR 2</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Error Interrupt Type </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4c57db0180eafe041035a8d4781cb2b9"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_HANDLER_GENERAL" ref="a4c57db0180eafe041035a8d4781cb2b9" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_HANDLER_GENERAL 1</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Interrupt type for setting up callback Non-Error Interrupt Type </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9c756e52ae4f9ef594a876520ca2909b"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_INTERNAL_GENLOCK" ref="a9c756e52ae4f9ef594a876520ca2909b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_INTERNAL_GENLOCK 1</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5fa27b3ce66d947167262fe918fb5373"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_READ" ref="a5fa27b3ce66d947167262fe918fb5373" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_READ 2</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>DMA transfer from memory </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a45e841b6b8b07377d0937524f55fdea2"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_S2MM_TUSER_FSYNC" ref="a45e841b6b8b07377d0937524f55fdea2" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_S2MM_TUSER_FSYNC 2</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a525d0fa8fc04a9dde871ab55cf6b227b"></a><!-- doxytag: member="xaxivdma.h::XAXIVDMA_WRITE" ref="a525d0fa8fc04a9dde871ab55cf6b227b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XAXIVDMA_WRITE 1</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>VDMA data transfer direction DMA transfer into memory </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a360c7af9f1d1b5721518cc7cd66139bf"></a><!-- doxytag: member="xaxivdma.h::XST_VDMA_MISMATCH_ERROR" ref="a360c7af9f1d1b5721518cc7cd66139bf" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define XST_VDMA_MISMATCH_ERROR 1430</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<hr/><h2>Typedef Documentation</h2>
|
|
<a class="anchor" id="a07f81ffdbceb0024e3a675a787ca3d90"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_CallBack" ref="a07f81ffdbceb0024e3a675a787ca3d90" args=")(void *CallBackRef, u32 InterruptTypes)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef void(* <a class="el" href="xaxivdma_8h.html#a07f81ffdbceb0024e3a675a787ca3d90">XAxiVdma_CallBack</a>)(void *CallBackRef, u32 InterruptTypes)</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Callback type for general interrupts</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>CallBackRef</em> </td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is called. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>InterruptTypes</em> </td><td>indicates the detailed type(s) of the interrupt. Its value equals 'OR'ing one or more XAXIVDMA_IXR_* values defined in <a class="el" href="xaxivdma__hw_8h.html">xaxivdma_hw.h</a> </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af4cafedb40698ffa21e672bf20ac3602"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_ErrorCallBack" ref="af4cafedb40698ffa21e672bf20ac3602" args=")(void *CallBackRef, u32 ErrorMask)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef void(* <a class="el" href="xaxivdma_8h.html#af4cafedb40698ffa21e672bf20ac3602">XAxiVdma_ErrorCallBack</a>)(void *CallBackRef, u32 ErrorMask)</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Callback type for Error interrupt.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>CallBackRef</em> </td><td>is a callback reference passed in by the upper layer when setting the callback function, and it is passed back to the upper layer when the callback is called. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ErrorMask</em> </td><td>is a bit mask indicating the cause of the error. Its value equals 'OR'ing one or more XAXIVDMA_IXR_* values defined in <a class="el" href="xaxivdma__hw_8h.html">xaxivdma_hw.h</a> </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/><h2>Function Documentation</h2>
|
|
<a class="anchor" id="a8d11c9609cf957c560fb287af1433374"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_CfgInitialize" ref="a8d11c9609cf957c560fb287af1433374" args="(XAxiVdma *InstancePtr, XAxiVdma_Config *CfgPtr, u32 EffectiveAddr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_CfgInitialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</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_axi_vdma___config.html">XAxiVdma_Config</a> * </td>
|
|
<td class="paramname"> <em>CfgPtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>EffectiveAddr</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 driver with hardware configuration</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em> </td><td>is the pointer to the hardware configuration structure </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em> </td><td>is the virtual address map for the device</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if everything goes fine</li>
|
|
<li>XST_FAILURE if reset the hardware failed, need system reset to recover</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>If channel fails reset, then it will be set as invalid </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac01b1199d15a3a95cafb01f61dd1d0d3"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_ClearDmaChannelErrors" ref="ac01b1199d15a3a95cafb01f61dd1d0d3" args="(XAxiVdma *InstancePtr, u16 Direction, u32 ErrorMask)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_ClearDmaChannelErrors </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>Direction</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>ErrorMask</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Clear DMA Channel Errors.</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_axi_vdma.html">XAxiVdma</a> instance to operate on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ErrorMask</em> </td><td>is the mask of error bits to clear</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>- XST_SUCCESS, when error bits are cleared.<ul>
|
|
<li>XST_INVALID_PARAM, when channel pointer is invalid.</li>
|
|
<li>XST_DEVICE_NOT_FOUND, when the channel is not valid.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9769479907cda3ef95ff1ed394de4629"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_CurrFrameStore" ref="a9769479907cda3ef95ff1ed394de4629" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XAxiVdma_CurrFrameStore </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Get the current frame that hardware is working on</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The current frame that the hardware is working on</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>If returned frame number is out of range, then the channel is invalid </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a3c50e96d431d9f1ee7d6200266c0dbd3"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_DmaConfig" ref="a3c50e96d431d9f1ee7d6200266c0dbd3" args="(XAxiVdma *InstancePtr, u16 Direction, XAxiVdma_DmaSetup *DmaConfigPtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_DmaConfig </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>Direction</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma___dma_setup.html">XAxiVdma_DmaSetup</a> * </td>
|
|
<td class="paramname"> <em>DmaConfigPtr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Configure one DMA channel using the configuration 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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>DmaConfigPtr</em> </td><td>is the pointer to the setup structure</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_DEVICE_BUSY if the DMA channel is not idle, BDs are still being used</li>
|
|
<li>XST_INVAID_PARAM if buffer address not valid, for example, unaligned address with no DRE built in the hardware, or Direction invalid</li>
|
|
<li>XST_DEVICE_NOT_FOUND if the channel is invalid </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab51f0d1f195db6af2dd3023e5c80eb5c"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_DmaRegisterDump" ref="ab51f0d1f195db6af2dd3023e5c80eb5c" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_DmaRegisterDump </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Dump registers of one 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on</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>If channel is invalid, then do nothing on that channel </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af610e3b2bee38be4c0da65ead756fbcd"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_DmaSetBufferAddr" ref="af610e3b2bee38be4c0da65ead756fbcd" args="(XAxiVdma *InstancePtr, u16 Direction, u32 *BufferAddrSet)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_DmaSetBufferAddr </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>Direction</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 * </td>
|
|
<td class="paramname"> <em>BufferAddrSet</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Configure buffer addresses for one 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>BufferAddrSet</em> </td><td>is the set of addresses for the transfers</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_DEVICE_BUSY if the DMA channel is not idle, BDs are still being used</li>
|
|
<li>XST_INVAID_PARAM if buffer address not valid, for example, unaligned address with no DRE built in the hardware, or Direction invalid</li>
|
|
<li>XST_DEVICE_NOT_FOUND if the channel is invalid </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adf310ae3bd4c0ae9ebf3e445a2fbe444"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_DmaStart" ref="adf310ae3bd4c0ae9ebf3e445a2fbe444" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_DmaStart </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Start one 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if channel started successfully</li>
|
|
<li>XST_FAILURE otherwise</li>
|
|
<li>XST_DEVICE_NOT_FOUND if the channel is invalid</li>
|
|
<li>XST_INVALID_PARAM if Direction invalid </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a133b5fd1032db27366382885d6d76484"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_DmaStop" ref="a133b5fd1032db27366382885d6d76484" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_DmaStop </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Stop one 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on</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>If channel is invalid, then do nothing on that channel </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aa3376589f8781eec1f0d619e1a0d3078"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_FsyncSrcSelect" ref="aa3376589f8781eec1f0d619e1a0d3078" args="(XAxiVdma *InstancePtr, u32 Source, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_FsyncSrcSelect </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>Source</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Configure Frame Sync Source and valid only when C_USE_FSYNC is enabled.</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Source</em> </td><td>is the value to set the source of Frame Sync </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_FAILURE if C_USE_FSYNC is disabled. </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acf7ed6b0ef406b80e49ff25634f6d5f1"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_GenLockSourceSelect" ref="acf7ed6b0ef406b80e49ff25634f6d5f1" args="(XAxiVdma *InstancePtr, u32 Source, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_GenLockSourceSelect </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>Source</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Configure Gen Lock Source</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Source</em> </td><td>is the value to set the source of Gen Lock </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_FAILURE if the channel is in GenLock Master Mode. if C_INCLUDE_INTERNAL_GENLOCK is disabled. </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a53d9dd2e9c6d96baa4aef6e1b46d8f0a"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_GetChannel" ref="a53d9dd2e9c6d96baa4aef6e1b46d8f0a" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="struct_x_axi_vdma___channel.html">XAxiVdma_Channel</a>* XAxiVdma_GetChannel </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Get 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>InstancePtr</em> </td><td>is the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the direction for the channel to get</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the channel. Upon error, return NULL.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>Since this function is internally used, we assume Direction is valid </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4d93d3dea2f117948c175371d983a0e1"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_GetDmaChannelErrors" ref="a4d93d3dea2f117948c175371d983a0e1" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_GetDmaChannelErrors </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Check for DMA Channel Errors.</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_axi_vdma.html">XAxiVdma</a> instance to operate on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>- Errors seen on the channel<ul>
|
|
<li>XST_INVALID_PARAM, when channel pointer is invalid.</li>
|
|
<li>XST_DEVICE_NOT_FOUND, when the channel is not valid.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae072444124ad1bfd622ceac2fd585bb9"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_GetFrameCounter" ref="ae072444124ad1bfd622ceac2fd585bb9" args="(XAxiVdma *InstancePtr, XAxiVdma_FrameCounter *FrameCounterCfgPtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_GetFrameCounter </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</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_axi_vdma___frame_counter.html">XAxiVdma_FrameCounter</a> * </td>
|
|
<td class="paramname"> <em>CfgPtr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Get the frame counter and delay counter for both channels</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em> </td><td>is the configuration structure to contain return values</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>If returned frame counter value is 0, then the channel is not valid </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a83d55bee4a575b0fdd98d1013a26533e"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_GetFrmStore" ref="a83d55bee4a575b0fdd98d1013a26533e" args="(XAxiVdma *InstancePtr, u8 *FrmStoreNum, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_GetFrmStore </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</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>FrmStoreNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Get the number of frame store buffers to use.</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_axi_vdma.html">XAxiVdma</a> instance to operate on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>FrmStoreNum</em> </td><td>is the number of frame store buffers to use. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</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="a15653f0679e3a33efd384598b6c42e08"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_GetStatus" ref="a15653f0679e3a33efd384598b6c42e08" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XAxiVdma_GetStatus </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Get the status of 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the channel</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>An invalid return value indicates that channel is invalid </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a24f182cf8678e4df6e0e2b19e2f50620"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_GetVersion" ref="a24f182cf8678e4df6e0e2b19e2f50620" args="(XAxiVdma *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XAxiVdma_GetVersion </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Get the version of the hardware</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 pointer to the DMA engine to work on</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The version of the hardware </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aaba3bd6f623637f15e16176ea77213b3"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_IntrClear" ref="aaba3bd6f623637f15e16176ea77213b3" args="(XAxiVdma *InstancePtr, u32 IntrType, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_IntrClear </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>IntrType</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Clear the pending interrupts specified by the bit mask</p>
|
|
<p>Interrupts not specified by the mask will not be affected</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel, use XAXIVDMA_READ or XAXIVDMA_WRITE </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IntrType</em> </td><td>is the bit mask for the interrups to be cleared</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>If channel is invalid, then nothing is done </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aba9a0ebdb72696e24ccaa48e57802323"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_IntrDisable" ref="aba9a0ebdb72696e24ccaa48e57802323" args="(XAxiVdma *InstancePtr, u32 IntrType, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_IntrDisable </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>IntrType</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Disable specific interrupts for a channel</p>
|
|
<p>Interrupts not specified by the mask will not be affected</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IntrType</em> </td><td>is the bit mask for the interrups to be disabled </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel, use XAXIVDMA_READ or XAXIVDMA_WRITE</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>If channel is invalid, then nothing is done </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4c687431dde198458fb4e42dff22c106"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_IntrEnable" ref="a4c687431dde198458fb4e42dff22c106" args="(XAxiVdma *InstancePtr, u32 IntrType, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_IntrEnable </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>IntrType</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Enable specific interrupts for a channel</p>
|
|
<p>Interrupts not specified by the mask will not be affected</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel, use XAXIVDMA_READ or XAXIVDMA_WRITE </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IntrType</em> </td><td>is the bit mask for the interrups to be enabled</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>If channel is invalid, then nothing is done </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a90501638e7f1077232443f0a60b3b40d"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_IntrGetPending" ref="a90501638e7f1077232443f0a60b3b40d" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XAxiVdma_IntrGetPending </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Get the pending interrupts of 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel, use XAXIVDMA_READ or XAXIVDMA_WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The bit mask for the currently pending interrupts</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>If Direction is invalid, return 0 </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0fc5b39aabb8d4f56b0dd2024ea5bff2"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_IsBusy" ref="a0fc5b39aabb8d4f56b0dd2024ea5bff2" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_IsBusy </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Check whether a DMA channel is busy</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>Non-zero if the channel is busy</li>
|
|
<li>Zero if the channel is idle </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac1056bf89d30ac044aca72de431c6a3f"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_LookupConfig" ref="ac1056bf89d30ac044aca72de431c6a3f" args="(u16 DeviceId)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="struct_x_axi_vdma___config.html">XAxiVdma_Config</a>* XAxiVdma_LookupConfig </td>
|
|
<td>(</td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>DeviceId</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Look up the hardware configuration for a device instance</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> </td><td>is the unique device ID of the device to lookup for</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The configuration structure for the device. If the device ID is not found, a NULL pointer is returned. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2650d7820ff062709d027bff2934cf58"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_MaskS2MMErrIntr" ref="a2650d7820ff062709d027bff2934cf58" args="(XAxiVdma *InstancePtr, u32 ErrorMask, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_MaskS2MMErrIntr </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>ErrorMask</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Masks the S2MM error interrupt for the provided error mask value</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_axi_vdma.html">XAxiVdma</a> instance to operate on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ErrorMask</em> </td><td>is the mask of error bits for which S2MM error interrupt can be disabled. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>- XST_SUCCESS, when error bits are cleared.<ul>
|
|
<li>XST_INVALID_PARAM, when channel pointer is invalid.</li>
|
|
<li>XST_DEVICE_NOT_FOUND, when the channel is not valid.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>The register S2MM_DMA_IRQ_MASK is only applicable from IPv6.01a which is added at offset XAXIVDMA_S2MM_DMA_IRQ_MASK_OFFSET. For older versions, this offset location is reserved and so the API does not have any effect. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a60ceb86226e513a16d6776a97fcfa50f"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_ReadIntrHandler" ref="a60ceb86226e513a16d6776a97fcfa50f" args="(void *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_ReadIntrHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Interrupt handler for the read 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on</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>If the channel is invalid, then no interrupt handling </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8dbd2faa070ca571f049e3b61f9bdb1e"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_Reset" ref="a8dbd2faa070ca571f049e3b61f9bdb1e" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_Reset </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>This function resets one DMA channel</p>
|
|
<p>The registers will be default values after the reset</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</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>Due to undeterminism of system delays, check the reset status through <a class="el" href="xaxivdma_8c.html#a3e01bd69f101126d5962f7078ee3e520">XAxiVdma_ResetNotDone()</a>. If direction is invalid, do nothing. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a3e01bd69f101126d5962f7078ee3e520"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_ResetNotDone" ref="a3e01bd69f101126d5962f7078ee3e520" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_ResetNotDone </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>This function checks one DMA channel for reset completion</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>0 if reset is done</li>
|
|
<li>1 if reset is ongoing</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>We do not check for channel validity, because channel is marked as invalid before reset is done </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab14c0b0487aeb3347b289eb58453e75d"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_SetBdAddrs" ref="ab14c0b0487aeb3347b289eb58453e75d" args="(XAxiVdma *InstancePtr, u32 BdAddrPhys, u32 BdAddrVirt, int NumBds, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_SetBdAddrs </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>BdAddrPhys</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>BdAddrVirt</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>NumBds</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Set BD addresses to be different.</p>
|
|
<p>In some systems, it is convenient to put BDs into a certain region of the memory. This function enables that.</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>BdAddrPhys</em> </td><td>is the physical starting address for BDs </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>BdAddrVirt</em> </td><td>is the Virtual starting address for BDs. For systems that do not use MMU, then virtual address is the same as physical address </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>NumBds</em> </td><td>is the number of BDs to setup with. This is required to be the same as the number of frame stores for that channel </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel direction</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS for a successful setup</li>
|
|
<li>XST_DEVICE_BUSY if the DMA channel is not idle, BDs are still being used</li>
|
|
<li>XST_INVALID_PARAM if parameters not valid</li>
|
|
<li>XST_DEVICE_NOT_FOUND if the channel is invalid</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<p>We assume that the memory region starting from BdAddrPhys and BdAddrVirt are large enough to hold all the BDs. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afd0477fae9534ebd2d2e15cc8885642d"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_SetCallBack" ref="afd0477fae9534ebd2d2e15cc8885642d" args="(XAxiVdma *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_SetCallBack </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>HandlerType</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>CallBackFunc</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>CallBackRef</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Set call back function and call back reference pointer for one 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>HandlerType</em> </td><td>is the interrupt type that this callback handles </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CallBackFunc</em> </td><td>is the call back function pointer </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CallBackRef</em> </td><td>is the call back reference pointer </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel, use XAXIVDMA_READ or XAXIVDMA_WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if everything is fine</li>
|
|
<li>XST_INVALID_PARAM if the handler type or direction invalid</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>This function overwrites the existing interrupt handler and its reference pointer. The function sets the handlers even if the channels are invalid. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adbc82f63f2b4872a56388162d1624560"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_SetFrameCounter" ref="adbc82f63f2b4872a56388162d1624560" args="(XAxiVdma *InstancePtr, XAxiVdma_FrameCounter *FrameCounterCfgPtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_SetFrameCounter </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</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_axi_vdma___frame_counter.html">XAxiVdma_FrameCounter</a> * </td>
|
|
<td class="paramname"> <em>CfgPtr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Set the frame counter and delay counter for both channels</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em> </td><td>is the pointer to the configuration structure</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if setup finishes successfully</li>
|
|
<li>XST_INVALID_PARAM if the configuration structure has invalid values</li>
|
|
<li>Others if setting channel frame counter fails</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>If channel is invalid, then do nothing on that channel </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af331929e09bf1454dc2835b6ecc4ff30"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_SetFrmStore" ref="af331929e09bf1454dc2835b6ecc4ff30" args="(XAxiVdma *InstancePtr, u8 FrmStoreNum, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_SetFrmStore </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</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>FrmStoreNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Set the number of frame store buffers to use.</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_axi_vdma.html">XAxiVdma</a> instance to operate on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>FrmStoreNum</em> </td><td>is the number of frame store buffers to use. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>- XST_SUCCESS if operation is successful<ul>
|
|
<li>XST_FAILURE if operation fails.</li>
|
|
<li>XST_NO_FEATURE if access to FrameStore register is disabled </li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a741b4b1607c2ee71a3be16ddd8300656"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_SetLineBufThreshold" ref="a741b4b1607c2ee71a3be16ddd8300656" args="(XAxiVdma *InstancePtr, int LineBufThreshold, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_SetLineBufThreshold </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>LineBufThreshold</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Configure Line Buffer Threshold</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>LineBufThreshold</em> </td><td>is the value to set threshold </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the DMA channel to work on</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful</li>
|
|
<li>XST_FAILURE otherwise</li>
|
|
<li>XST_NO_FEATURE if access to Threshold register is disabled </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a4f05c5a75fdf840517c17d687443510d"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_StartFrmCntEnable" ref="a4f05c5a75fdf840517c17d687443510d" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_StartFrmCntEnable </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Start frame count enable on one channel</p>
|
|
<p>This is needed to start limiting the number of frames to transfer so that software can check the data etc after hardware stops transfer.</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af99dd7738b98367397831df26433843a"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_StartParking" ref="af99dd7738b98367397831df26433843a" args="(XAxiVdma *InstancePtr, int FrameIndex, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_StartParking </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>FrameIndex</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Start parking mode on a certain frame</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>FrameIndex</em> </td><td>is the frame to park on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if everything is fine</li>
|
|
<li>XST_INVALID_PARAM if . channel is invalid . FrameIndex is invalid . Direction is invalid </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab2646b6aeea2ff64c4b42319ffb49804"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_StartReadFrame" ref="ab2646b6aeea2ff64c4b42319ffb49804" args="(XAxiVdma *InstancePtr, XAxiVdma_DmaSetup *DmaConfigPtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_StartReadFrame </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</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_axi_vdma___dma_setup.html">XAxiVdma_DmaSetup</a> * </td>
|
|
<td class="paramname"> <em>DmaConfigPtr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Start a read operation</p>
|
|
<p>Read corresponds to send data from memory to device</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>DmaConfigPtr</em> </td><td>is the pointer to the setup structure</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS for a successful submission</li>
|
|
<li>XST_DEVICE_BUSY if the DMA channel is not idle, BDs are still being used</li>
|
|
<li>XST_INVAID_PARAM if parameters in config structure not valid</li>
|
|
<li>XST_DEVICE_NOT_FOUND if the channel is invalid </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1dc126d885558e03cf06a4d9c05d5668"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_StartWriteFrame" ref="a1dc126d885558e03cf06a4d9c05d5668" args="(XAxiVdma *InstancePtr, XAxiVdma_DmaSetup *DmaConfigPtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XAxiVdma_StartWriteFrame </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</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_axi_vdma___dma_setup.html">XAxiVdma_DmaSetup</a> * </td>
|
|
<td class="paramname"> <em>DmaConfigPtr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Start a write operation</p>
|
|
<p>Write corresponds to send data from device to memory</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 pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>DmaConfigPtr</em> </td><td>is the pointer to the setup structure</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS for a successful submission</li>
|
|
<li>XST_DEVICE_BUSY if the DMA channel is not idle, BDs are still being used</li>
|
|
<li>XST_INVAID_PARAM if parameters in config structure not valid</li>
|
|
<li>XST_DEVICE_NOT_FOUND if the channel is invalid </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8625bbc0ed0ab829f3153160c74bba44"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_StopParking" ref="a8625bbc0ed0ab829f3153160c74bba44" args="(XAxiVdma *InstancePtr, u16 Direction)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_StopParking </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_axi_vdma.html">XAxiVdma</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </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>Exit parking mode, the channel will return to circular buffer 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Direction</em> </td><td>is the channel to work on, use XAXIVDMA_READ/WRITE</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>If channel is invalid, then do nothing </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aad76f2f6ab41e322ddcd240d2af8140d"></a><!-- doxytag: member="xaxivdma.h::XAxiVdma_WriteIntrHandler" ref="aad76f2f6ab41e322ddcd240d2af8140d" args="(void *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XAxiVdma_WriteIntrHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Interrupt handler for the write 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>InstancePtr</em> </td><td>is the pointer to the DMA engine to work on</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>If the channel is invalid, then no interrupt handling </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p class="Copyright">
|
|
Copyright © 1995-2014 Xilinx, Inc. All rights reserved.
|
|
</p>
|
|
</body>
|
|
</html>
|