MI_NDmaClear*

構文

#include <twl/mi.h>

void MI_NDmaClear( u32 ndmaNo,
                     void* dest, u32 size );
void MI_NDmaClear_SetUp( u32 ndmaNo,
                     void* dest, u32 size );
void MI_NDmaClearAsync( u32 dmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg );
void MI_NDmaClearAsync_SetUp( u32 dmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg );
void MI_NDmaClearEx( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaConfig *config );
void MI_NDmaClearEx_SetUp( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaConfig *config );
void MI_NDmaClearExAsync( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg,
                 MINDmaConfig *config );
void MI_NDmaClearExAsync_SetUp( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg,
                 MINDmaConfig *config );
void MI_NDmaClear_Dev( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaDevice dev );
void MI_NDmaClear_Dev_SetUp( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaDevice dev );
void MI_NDmaClearAsync_Dev( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg,
              MINDmaDevice dev );
void MI_NDmaClearAsync_Dev_SetUp( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg,
              MINDmaDevice dev );
void MI_NDmaClearEx_Dev( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaConfig *config,
              MINDmaDevice dev );
void MI_NDmaClearEx_Dev_SetUp( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaConfig *config,
              MINDmaDevice dev );
void MI_NDmaClearExAsync_Dev( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg,
                 MINDmaConfig *config,
              MINDmaDevice dev );
void MI_NDmaClearExAsync_Dev_SetUp( u32 ndmaNo,
                     void* dest, u32 size,
              MINDmaCallback callback, void* arg,
                 MINDmaConfig *config,
              MINDmaDevice dev );

引数

ndmaNo 使用DMAチャンネル (新規DMAの中で0〜3)
dest 転送先アドレス
size 転送サイズ
callback DMA終了時のコールバック
arg DMA終了時のコールバック引数
config DMA 設定
dev デバイス起動する場合のデバイス

返り値

なし。

説明

新規 DMA を用いて 0 フィルを行います。
(但し、*_SetUp() は設定のみを行います。)

MI_NDmaClear*() は TWL の新規DMAを用いてワード(4byte)単位でデータフィルを行います。転送先アドレスdest は4バイトアラインメントする必要があります。転送サイズ size も4の倍数である必要があります。

MI_NDmaClear*()MI_NDmaFill*()data 引数を 0 としてdefine したものになっています。詳細は MI_NDmaFill*() を参照してください。

内部動作

IOレジスタの新規DMAレジスタを使用します。

参照

MI_NDmaFill*, MI_NDmaCopy*, MI_DmaClear*, MI_CpuClear*, MI_NDmaRestart
新規DMA(overview)

履歴

2008/11/19 MINDmaDevice についての参照先を記述
2007/10/31 _SetUp() 追加
2007/09/06 初版