MI_VBlankNDmaCopy*

Syntax

#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 );

Arguments

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.

Return Values

None.

Description

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.

Internal Operation

Accesses the new DMA register.

See Also

MI_NDmaCopy

Revision History

2007/10/04 Initial version.


CONFIDENTIAL