1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 7.0.0.0 for Windows">
6<META http-equiv="Content-Style-Type" content="text/css">
7<TITLE>MI_VBlankNDmaCopy*</TITLE>
8<LINK rel="stylesheet" href="../../css/nitro.css" type="text/css">
9</HEAD>
10<BODY>
11<H1 align="left">MI_VBlankNDmaCopy* <IMG src="../../image/TWL.gif" width="24" height="12" border="0" align=middle></H1>
12<H2>Syntax</H2>
13<DL>
14<DD><CODE>#include &lt;twl/mi.h&gt;</CODE><BR> <BR>
15
16<DD><CODE>void MI_VBlankNDmaCopy( u32 ndmaNo,</CODE><BR> <CODE>const void *src,<BR> void *dest,</CODE><BR> <CODE>u32 size );</CODE><BR>
17<DD><CODE>void MI_VBlankNDmaCopyAsync( u32 ndmaNo,</CODE><BR> <CODE>const void *src,<BR> void *dest,</CODE><BR> <CODE>u32 size,<BR> MINDmaCallback calback,<BR> void* arg );</CODE><BR>
18</DL>
19<H2>Arguments</H2>
20<TABLE border="1" width="100%">
21  <TBODY>
22    <TR>
23<TD><B><I>ndmaNo</I></B></TD>
24<TD>DMA channel used.</TD>
25    </TR>
26    <TR>
27<TD><B><I>src</I></B></TD>
28<TD>The transfer source address.</TD>
29    </TR>
30    <TR>
31<TD><B><I>dest</I></B></TD>
32<TD>The transfer destination address.</TD>
33    </TR>
34    <TR>
35<TD><B><I>size</I></B></TD>
36<TD>Transfer size.</TD>
37    </TR>
38    <TR>
39<TD><B><I>callback</I></B></TD>
40<TD>Callback when DMA ends.</TD>
41    </TR>
42    <TR>
43<TD><B><I>arg</I></B></TD>
44<TD>Callback argument when DMA ends.</TD>
45    </TR>
46  </TBODY>
47</TABLE>
48<H2>Return Values</H2>
49<P>None.</P>
50<H2>Description</H2>
51<P>This function uses the new DMA to perform a V-Blank copy. When a V-Blank starts, DMA starts.</P>
52<P>It uses the new DMA to perform copies in word (4-byte) units. Both the transfer source address (<B><I>src</I></B>) and the transfer destination address (<B><I>dest</I></B>) must be 4-byte aligned. The transfer size (<em><strong><code>size</code></strong></em>) needs to be a multiple of 4.</P>
53<P><CODE>MI_VBlankNDmaCopy()</CODE> starts DMA when a V-Blank is generated, and then waits for it to end. The <CODE>MI_VBlankNDmaCopyAsync</CODE> function starts DMA when a V-blank is generated. It calls <code>callback</code> when ending DMA. The callback type is <CODE>MINDmaCallback</CODE> (a <code>void</code>-type function that takes one <code>void*</code> argument). <code>callback</code> is called from the system DMA interrupt handler and therefore is called even if interrupts are prohibited.</P>
54<P>It is necessary to understand how to use Async-type APIs in order to obtain maximum functionality.</P>
55<H2>Internal Operation</H2>
56<P>Accesses the new DMA register.</P>
57<H2>See Also</H2>
58<P><CODE><A href="MI_NDmaCopy.html">MI_NDmaCopy</A><BR></CODE></P>
59<H2>Revision History</H2>
60<P>2007/10/04 Initial version.</P>
61<hr><p>CONFIDENTIAL</p></body>
62</HTML>