]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/edma3_lld.git/blob - packages/ti/sdo/edma3/rm/docs/html/group__edma3rmintrmgrchannel.html
EDMA3: Adding release package 02.00.00.03
[keystone-rtos/edma3_lld.git] / packages / ti / sdo / edma3 / rm / docs / html / group__edma3rmintrmgrchannel.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>EDMA3 Resource Manager: Channel Specific Interface</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.6 -->
8 <div class="navigation" id="top">
9   <div class="tabs">
10     <ul>
11       <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12       <li><a href="modules.html"><span>Modules</span></a></li>
13       <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
14       <li><a href="files.html"><span>Files</span></a></li>
15     </ul>
16   </div>
17 </div>
18 <div class="contents">
19 <h1>Channel Specific Interface<br>
20 <small>
21 [<a class="el" href="group__Edma3RMIntrMgrInst.html">Instance Wide Interface</a>]</small>
22 </h1><table border="0" cellpadding="0" cellspacing="0">
23 <tr><td></td></tr>
24 <tr><td colspan="2"><br><h2>Modules</h2></td></tr>
25 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Edma3ResType.html">Resource Type</a></td></tr>
27 <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
28 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Edma3RMIntrMgrChannel.html#gadca81927be74261ef874009bf8e37d3">EDMA3_RM_TccCallback</a> )(unsigned int tcc, <a class="el" href="group__Edma3RMStatus.html#g6552b0f8faaf17b884686da3bdcb955f">EDMA3_RM_TccStatus</a> status, void *appData)</td></tr>
30 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TCC callback - caters to channel-specific events like "Event Miss Error" or "Transfer Complete". Runs in ISR context.  <a href="#gadca81927be74261ef874009bf8e37d3"></a><br></td></tr>
31 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
32 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="edma3__common_8h.html#92509a51dd7317a97b313dd3a542b8fd">EDMA3_RM_Result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Edma3RMIntrMgrChannel.html#gd57281a3cabf45b1520007a1a78f6a53">EDMA3_RM_registerTccCb</a> (<a class="el" href="edma3__common_8h.html#5de00d3f01e8a0fcc22cfbdf8fb1b372">EDMA3_RM_Handle</a> hEdmaResMgr, const <a class="el" href="structEDMA3__RM__ResDesc.html">EDMA3_RM_ResDesc</a> *channelObj, unsigned int tcc, <a class="el" href="group__Edma3RMIntrMgrChannel.html#gadca81927be74261ef874009bf8e37d3">EDMA3_RM_TccCallback</a> tccCb, void *cbData)</td></tr>
34 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register Interrupt / Completion Handler for a given TCC.  <a href="#gd57281a3cabf45b1520007a1a78f6a53"></a><br></td></tr>
35 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="edma3__common_8h.html#92509a51dd7317a97b313dd3a542b8fd">EDMA3_RM_Result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Edma3RMIntrMgrChannel.html#g34a841202d01ea2e2a35747aa873a984">EDMA3_RM_unregisterTccCb</a> (<a class="el" href="edma3__common_8h.html#5de00d3f01e8a0fcc22cfbdf8fb1b372">EDMA3_RM_Handle</a> hEdmaResMgr, const <a class="el" href="structEDMA3__RM__ResDesc.html">EDMA3_RM_ResDesc</a> *channelObj)</td></tr>
37 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregister the previously registered callback function against a DMA/QDMA channel.  <a href="#g34a841202d01ea2e2a35747aa873a984"></a><br></td></tr>
38 </table>
39 <hr><a name="_details"></a><h2>Detailed Description</h2>
40 Channel Specific Interface of the EDMA3 Interrupt Manager Layer <hr><h2>Typedef Documentation</h2>
41 <a class="anchor" name="gadca81927be74261ef874009bf8e37d3"></a><!-- doxytag: member="edma3_rm.h::EDMA3_RM_TccCallback" ref="gadca81927be74261ef874009bf8e37d3" args=")(unsigned int tcc, EDMA3_RM_TccStatus status, void *appData)" -->
42 <div class="memitem">
43 <div class="memproto">
44       <table class="memname">
45         <tr>
46           <td class="memname">typedef void(*  <a class="el" href="group__Edma3RMIntrMgrChannel.html#gadca81927be74261ef874009bf8e37d3">EDMA3_RM_TccCallback</a>)(unsigned int tcc, <a class="el" href="group__Edma3RMStatus.html#g6552b0f8faaf17b884686da3bdcb955f">EDMA3_RM_TccStatus</a> status, void *appData)          </td>
47         </tr>
48       </table>
49 </div>
50 <div class="memdoc">
52 <p>
53 TCC callback - caters to channel-specific events like "Event Miss Error" or "Transfer Complete". Runs in ISR context. 
54 <p>
55 appData is passed by the application during Register'ing of TCC Callback function. 
56 </div>
57 </div><p>
58 <hr><h2>Function Documentation</h2>
59 <a class="anchor" name="gd57281a3cabf45b1520007a1a78f6a53"></a><!-- doxytag: member="edma3_rm.h::EDMA3_RM_registerTccCb" ref="gd57281a3cabf45b1520007a1a78f6a53" args="(EDMA3_RM_Handle hEdmaResMgr, const EDMA3_RM_ResDesc *channelObj, unsigned int tcc, EDMA3_RM_TccCallback tccCb, void *cbData)" -->
60 <div class="memitem">
61 <div class="memproto">
62       <table class="memname">
63         <tr>
64           <td class="memname"><a class="el" href="edma3__common_8h.html#92509a51dd7317a97b313dd3a542b8fd">EDMA3_RM_Result</a> EDMA3_RM_registerTccCb           </td>
65           <td>(</td>
66           <td class="paramtype"><a class="el" href="edma3__common_8h.html#5de00d3f01e8a0fcc22cfbdf8fb1b372">EDMA3_RM_Handle</a>&nbsp;</td>
67           <td class="paramname"> <em>hEdmaResMgr</em>, </td>
68         </tr>
69         <tr>
70           <td class="paramkey"></td>
71           <td></td>
72           <td class="paramtype">const <a class="el" href="structEDMA3__RM__ResDesc.html">EDMA3_RM_ResDesc</a> *&nbsp;</td>
73           <td class="paramname"> <em>channelObj</em>, </td>
74         </tr>
75         <tr>
76           <td class="paramkey"></td>
77           <td></td>
78           <td class="paramtype">unsigned int&nbsp;</td>
79           <td class="paramname"> <em>tcc</em>, </td>
80         </tr>
81         <tr>
82           <td class="paramkey"></td>
83           <td></td>
84           <td class="paramtype"><a class="el" href="group__Edma3RMIntrMgrChannel.html#gadca81927be74261ef874009bf8e37d3">EDMA3_RM_TccCallback</a>&nbsp;</td>
85           <td class="paramname"> <em>tccCb</em>, </td>
86         </tr>
87         <tr>
88           <td class="paramkey"></td>
89           <td></td>
90           <td class="paramtype">void *&nbsp;</td>
91           <td class="paramname"> <em>cbData</em></td><td>&nbsp;</td>
92         </tr>
93         <tr>
94           <td></td>
95           <td>)</td>
96           <td></td><td></td><td></td>
97         </tr>
98       </table>
99 </div>
100 <div class="memdoc">
102 <p>
103 Register Interrupt / Completion Handler for a given TCC. 
104 <p>
105 This function enables the interrupts in IESR/IESRH, only if the callback function provided by the user is NON-NULL. Moreover, if a call-back function is already registered against that TCC, the API fails with the error code EDMA3_RM_E_CALLBACK_ALREADY_REGISTERED. For a NULL callback function, this API returns error.<p>
106 <dl compact><dt><b>Parameters:</b></dt><dd>
107   <table border="0" cellspacing="2" cellpadding="0">
108     <tr><td valign="top"></td><td valign="top"><em>hEdmaResMgr</em>&nbsp;</td><td>[IN] Handle to the previously opened EDMA3 Resource Manager Instance </td></tr>
109     <tr><td valign="top"></td><td valign="top"><em>channelObj</em>&nbsp;</td><td>[IN] Channel ID and type (DMA or QDMA Channel), allocated earlier, and corresponding to which a callback function needs to be registered against the associated TCC. </td></tr>
110     <tr><td valign="top"></td><td valign="top"><em>tcc</em>&nbsp;</td><td>[IN] TCC against which the handler needs to be registered. </td></tr>
111     <tr><td valign="top"></td><td valign="top"><em>tccCb</em>&nbsp;</td><td>[IN] The Callback function to be registered against the TCC. </td></tr>
112     <tr><td valign="top"></td><td valign="top"><em>cbData</em>&nbsp;</td><td>[IN] Callback data to be passed while calling the callback function.</td></tr>
113   </table>
114 </dl>
115 <dl class="return" compact><dt><b>Returns:</b></dt><dd>EDMA3_RM_SOK or EDMA3_RM Error Code</dd></dl>
116 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is re-entrant for unique tcc values. It is non- re-entrant for same tcc value. </dd></dl>
118 <p>
119 Enable the interrupts in IESR/IESRH, only if the Callback function is NOT NULL. 
120 <p>References <a class="el" href="edma3resmgr_8h-source.html#l00342">EDMA3_RM_TccCallbackParams::cbData</a>, <a class="el" href="edma3__rm_8h-source.html#l00720">EDMA3_RM_E_CALLBACK_ALREADY_REGISTERED</a>, <a class="el" href="edma3__rm_8h-source.html#l00693">EDMA3_RM_E_INVALID_PARAM</a>, <a class="el" href="edma3__rm_8h-source.html#l00279">EDMA3_RM_RES_DMA_CHANNEL</a>, <a class="el" href="edma3__rm_8h-source.html#l00282">EDMA3_RM_RES_QDMA_CHANNEL</a>, <a class="el" href="edma3__common_8h-source.html#l00138">EDMA3_RM_SOK</a>, <a class="el" href="edma3resmgr_8c-source.html#l00211">edma3DmaChTccMapping</a>, <a class="el" href="edma3resmgr_8c-source.html#l00223">edma3QdmaChTccMapping</a>, <a class="el" href="edma3resmgr_8h-source.html#l00231">EDMA3_RM_Obj::gblCfgParams</a>, <a class="el" href="edma3__common_8h-source.html#l00127">NULL</a>, <a class="el" href="edma3__rm_8h-source.html#l00772">EDMA3_RM_GblConfigParams::numDmaChannels</a>, <a class="el" href="edma3__rm_8h-source.html#l00775">EDMA3_RM_GblConfigParams::numQdmaChannels</a>, <a class="el" href="edma3__rm_8h-source.html#l00781">EDMA3_RM_GblConfigParams::numTccs</a>, <a class="el" href="edma3resmgr_8h-source.html#l00262">EDMA3_RM_Instance::pResMgrObjHandle</a>, <a class="el" href="edma3__rm_8h-source.html#l00306">EDMA3_RM_ResDesc::resId</a>, <a class="el" href="edma3resmgr_8h-source.html#l00256">EDMA3_RM_Instance::shadowRegs</a>, <a class="el" href="edma3resmgr_8h-source.html#l00339">EDMA3_RM_TccCallbackParams::tccCb</a>, and <a class="el" href="edma3__rm_8h-source.html#l00309">EDMA3_RM_ResDesc::type</a>.</p>
122 </div>
123 </div><p>
124 <a class="anchor" name="g34a841202d01ea2e2a35747aa873a984"></a><!-- doxytag: member="edma3_rm.h::EDMA3_RM_unregisterTccCb" ref="g34a841202d01ea2e2a35747aa873a984" args="(EDMA3_RM_Handle hEdmaResMgr, const EDMA3_RM_ResDesc *channelObj)" -->
125 <div class="memitem">
126 <div class="memproto">
127       <table class="memname">
128         <tr>
129           <td class="memname"><a class="el" href="edma3__common_8h.html#92509a51dd7317a97b313dd3a542b8fd">EDMA3_RM_Result</a> EDMA3_RM_unregisterTccCb           </td>
130           <td>(</td>
131           <td class="paramtype"><a class="el" href="edma3__common_8h.html#5de00d3f01e8a0fcc22cfbdf8fb1b372">EDMA3_RM_Handle</a>&nbsp;</td>
132           <td class="paramname"> <em>hEdmaResMgr</em>, </td>
133         </tr>
134         <tr>
135           <td class="paramkey"></td>
136           <td></td>
137           <td class="paramtype">const <a class="el" href="structEDMA3__RM__ResDesc.html">EDMA3_RM_ResDesc</a> *&nbsp;</td>
138           <td class="paramname"> <em>channelObj</em></td><td>&nbsp;</td>
139         </tr>
140         <tr>
141           <td></td>
142           <td>)</td>
143           <td></td><td></td><td></td>
144         </tr>
145       </table>
146 </div>
147 <div class="memdoc">
149 <p>
150 Unregister the previously registered callback function against a DMA/QDMA channel. 
151 <p>
152 This function unregisters the previously registered callback function against a DMA/QDMA channel by removing any stored callback function. Moreover, it clears the interrupt enable register (IESR/IESRH) by writing to the IECR/ IECRH register, for the TCC associated with that particular channel.<p>
153 <dl compact><dt><b>Parameters:</b></dt><dd>
154   <table border="0" cellspacing="2" cellpadding="0">
155     <tr><td valign="top"></td><td valign="top"><em>hEdmaResMgr</em>&nbsp;</td><td>[IN] Handle to the previously opened EDMA3 Resource Manager Instance </td></tr>
156     <tr><td valign="top"></td><td valign="top"><em>channelObj</em>&nbsp;</td><td>[IN] Channel ID and type, allocated earlier (DMA or QDMA Channel ONLY), and corresponding to which a TCC is there. Against that TCC, the callback needs to be un-registered.</td></tr>
157   </table>
158 </dl>
159 <dl class="return" compact><dt><b>Returns:</b></dt><dd>EDMA3_RM_SOK or EDMA3_RM Error Code.</dd></dl>
160 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is re-entrant for unique (channelObj-&gt;type + channelObj-&gt;resId) combination. It is non-re-entrant for same channelObj Resource. </dd></dl>
162 <p>References <a class="el" href="edma3resmgr_8h-source.html#l00342">EDMA3_RM_TccCallbackParams::cbData</a>, <a class="el" href="edma3__common_8h-source.html#l00187">EDMA3_MAX_TCC</a>, <a class="el" href="edma3__rm_8h-source.html#l00693">EDMA3_RM_E_INVALID_PARAM</a>, <a class="el" href="edma3__rm_8h-source.html#l00279">EDMA3_RM_RES_DMA_CHANNEL</a>, <a class="el" href="edma3__rm_8h-source.html#l00282">EDMA3_RM_RES_QDMA_CHANNEL</a>, <a class="el" href="edma3__common_8h-source.html#l00138">EDMA3_RM_SOK</a>, <a class="el" href="edma3resmgr_8c-source.html#l00211">edma3DmaChTccMapping</a>, <a class="el" href="edma3resmgr_8c-source.html#l00223">edma3QdmaChTccMapping</a>, <a class="el" href="edma3resmgr_8h-source.html#l00231">EDMA3_RM_Obj::gblCfgParams</a>, <a class="el" href="edma3__common_8h-source.html#l00127">NULL</a>, <a class="el" href="edma3__rm_8h-source.html#l00772">EDMA3_RM_GblConfigParams::numDmaChannels</a>, <a class="el" href="edma3__rm_8h-source.html#l00775">EDMA3_RM_GblConfigParams::numQdmaChannels</a>, <a class="el" href="edma3resmgr_8h-source.html#l00262">EDMA3_RM_Instance::pResMgrObjHandle</a>, <a class="el" href="edma3__rm_8h-source.html#l00306">EDMA3_RM_ResDesc::resId</a>, <a class="el" href="edma3resmgr_8h-source.html#l00256">EDMA3_RM_Instance::shadowRegs</a>, <a class="el" href="edma3resmgr_8h-source.html#l00339">EDMA3_RM_TccCallbackParams::tccCb</a>, and <a class="el" href="edma3__rm_8h-source.html#l00309">EDMA3_RM_ResDesc::type</a>.</p>
164 </div>
165 </div><p>
166 </div>
167 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Oct 16 16:22:39 2008 for EDMA3 Resource Manager by&nbsp;
168 <a href="http://www.doxygen.org/index.html">
169 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
170 </body>
171 </html>