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 <twl/mi.h></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>