MI_SendGXCommand*

構文

#include <iris/mi.h>

void MI_SendGXCommand( u32 dmaNo, const void* src, u32 commandLength );

void MI_SendGXCommandAsync( u32 dmaNo, const void* src, u32 commandLength,
                         MIDmaCallback callback, void* arg );

引数

dmaNo 使用DMAチャンネル
src 転送元アドレス
commandLength 転送コマンドサイズ(バイト数)
callback DMA終了時のコールバック
arg DMA終了時のコールバック引数

返り値

なし。

説明

DMAを用いてGXコマンドをコマンドFIFOに送ります。

転送元アドレスは 4バイトアラインメントする必要があります。

MI_SendGXCommand() は DMAの終了を関数内で待ちます。
MI_SendGXCommandAsync() 関数は、DMA終了時にコールバックを呼びます。コールバックは MIDmaCallback 型(void* 引数1つを取る void 型関数)です。

内部動作

IOレジスタのDMAnソースレジスタ(0x40000B0 + 12n)、DMAnデスティネーションレジスタ(0x40000B4 + 12n)、DMAnコントロールレジスタ(0x40000B8 + 12n)を使用します。( n は 使用するDMAチャンネルです。)
また、IOレジスタの GXFIFO(0x4000400) にアクセスします。

参照

MI_DmaCopy*

履歴

2003/12/01 初版