# MI_DmaFill*

## C Specification

      #include <nitro/mi.h>

        void MI_DmaFill32( u32 dmaNo, void* dest, u32 data, u32 size );
        void MI_DmaFill16( u32 dmaNo, void* dest, u32 data, u32 size );

        void MI_DmaFill32Async( u32 dmaNo, void* dest, u32 data, u32 size,                        MIDmaCallback callback, void* arg );
        void MI_DmaFill16Async( u32 dmaNo, void* dest, u32 data, u32 size,                        MIDmaCallback callback, void* arg );

## Arguments

dmaNo | DMA channel used
dest | The transfer destination address.
data | The data that will be transferred
size | Transfer size
callback | Callback when DMA ends.
arg | Callback argument when DMA ends.

## Return Values

None.

## Description

Uses DMA to fill memory with the specified data.

`MI_DmaFill16()` and `MI_DmaFill16Async()` fill memory with the specified data in 16-bit units. You must 2-byte align the transfer destination address. `MI_DmaFill32()` and `MI_DmaFill32Async()` fill memory with the specified data in 32-bit units. You must 4-byte align the transfer destination address.

`MI_DmaFill16()` and `MI_DmaFill32()` wait within the function until DMA completes. `MI_DmaFill16Async()` and `MI_DmaFill32Async()` call a callback function when DMA ends. The callback, `callback`, is a `MIDmaCallback` type (a `void` type function which takes one `void*` argument). callback is called from the system DMA interrupt handler and therefore is called while interrupts are prohibited.

## Internal Operation

Uses the following IO registers: DMAn source register (0x40000B0 + 12n), DMAn destination register (0x40000B4 + 12n), and DMAn control register (0x40000B8 + 12n). n is the DMA channel used.))In addition, the `HW_DMA_CLEAR_DATA_BUF` region is used for fill. This region is occupied by shared memory for the TEG board but is mapped to the IO registers for TS.

## See Also

`MI_DmaCopy*`, `MI_DmaClear*`, `MI_DmaSend*`, `MI_CpuFill*`

## Revision History

03/08/2005 Standardized the Japanese term for "interrupt".
12/22/2004 Added a description regarding `callback`.
12/01/2003 Initial version

CONFIDENTIAL