Nios® V プロセッサー・ソフトウェア開発者ハンドブック

ID 743810
日付 7/08/2024
Public
ドキュメント目次

16.1.1.24. alt_dma_rxchan_ioctl()

プロトタイプ

int alt_dma_rxchan_ioctl (alt_dma_rxchan dma,


 int req,


 void* arg)

一般的な呼び出し元

C/C++ プログラム

デバイスドライバー

スレッドセーフ

説明を参照してください。

ISRから入手可能

説明を参照してください。

インクルード

<sys/alt_dma.h>

説明

alt_dma_rxchan_ioctl() 関数は、DMA 受信チャネル dma 上で DMA I/O 操作を実行します。 I/O 操作はデバイス固有です。たとえば、一部の DMA ドライバーには、転送操作の幅を制御するオプションをサポートするものもあります。入力引数 req は、要求された操作の列挙です。arg はリクエストの追加引数です。arg の解釈はリクエストに依存します。

alt_dma_rxchan_ioctl() への呼び出しがスレッドセーフであるか、ISR から呼び出すことができるかは、デバイスに依存します。一般に、スレッドセーフではないと想定するのが最も安全です。

DMA 転送が保留中は alt_dma_rxchan_ioctl() 関数を呼び出さないでください。呼び出すと、予期しない動作が発生する可能性があります。

Intel FPGA® DMA コントローラー・コアに関するデバイス固有の情報については、組み込みペリフェラル IP ユーザーガイドの DMA コントローラー・コアの章を参照してください。

戻り値

負の戻り値は失敗を示します。それ以外の場合、戻り値の解釈は要求によって異なります。
表 52.  一般的な要求 DMA がサポートする可能性があるもの
要求 意味
ALT_DMA_SET_MODE_8 8ビット単位でデータを転送します。パラメーターの arg は無視されます。
ALT_DMA_SET_MODE_16 16ビット単位でデータを転送します。パラメーターの arg は無視されます。
ALT_DMA_SET_MODE_32 32ビット単位でデータを転送します。パラメーターの arg は無視されます。
ALT_DMA_SET_MODE_64 64ビット単位でデータを転送します。パラメーターの arg は無視されます。
ALT_DMA_SET_MODE_128 128ビット単位でデータを転送します。パラメーターの arg は無視されます。
ALT_DMA_GET_MODE 転送幅を返します。arg の値 は無視されます。
ALT_DMA_TX_ONLY_ON ALT_DMA_TX_ONLY_ON リクエストにより、送信機のみがソフトウェア制御下にあるモードで DMA チャネルが動作します。反対側は、1 つの場所から継続的に書き込みます。書き込むアドレスは、このリクエストの引数です。
ALT_DMA_TX_ONLY_OFF DMA の受信側と送信側の両方をソフトウェアで制御可能なデフォルト・モードに戻ります。
ALT_DMA_RX_ONLY_ON ALT_DMA_RX_ONLY_ON リクエストにより、DMA チャネルは、受信機のみがソフトウェア制御下にあるモードで動作します。反対側は、1 つの場所から継続的に読み取ります。読み取るアドレスは、このリクエストの引数です。
ALT_DMA_RX_ONLY_OFF DMA の受信側と送信側の両方をソフトウェアで制御可能なデフォルト・モードに戻ります。