#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