#include <twl/mi.h>
void MI_VBlankNDmaCopy( u32 ndmaNo,
const void *src,
void *dest,
u32 size );
void MI_VBlankNDmaCopyAsync( u32 ndmaNo,
const void *src,
void *dest,
u32 size,
MINDmaCallback calback,
void* arg );
ndmaNo | DMA channel used. |
src | The transfer source address. |
dest | The transfer destination address. |
size | Transfer size. |
callback | Callback when DMA ends. |
arg | Callback argument when DMA ends. |
None.
This function uses the new DMA to perform a V-Blank copy. When a V-Blank starts, DMA starts.
It uses the new DMA to perform copies in word (4-byte) units. Both the transfer source address (src) and the transfer destination address (dest) must be 4-byte aligned. The transfer size (size
) needs to be a multiple of 4.
MI_VBlankNDmaCopy()
starts DMA when a V-Blank is generated, and then waits for it to end. The MI_VBlankNDmaCopyAsync
function starts DMA when a V-blank is generated. It calls callback
when ending DMA. The callback type is MINDmaCallback
(a void
-type function that takes one void*
argument). callback
is called from the system DMA interrupt handler and therefore is called even if interrupts are prohibited.
It is necessary to understand how to use Async-type APIs in order to obtain maximum functionality.
Accesses the new DMA register.
2007/10/04 Initial version.
CONFIDENTIAL