インテルのみ表示可能 — GUID: iga1446069880595
Ixiasoft
インテルのみ表示可能 — GUID: iga1446069880595
Ixiasoft
30.8.5. alt_msgdma_extended_descriptor_sync_transfer
プロトタイプ | int alt_msgdma_extended_descriptor_sync_transfer(alt_msgdma_dev *dev, alt_msgdma_extended_descriptor *desc) |
インクルード | <modular_sgdma_dispatcher.h>、<altera_msgdma_csr_regs.h>、<altera_msgdma_descriptor_regs.h>、<sys/alt_errno.h>、<sys/alt_irq.h>、<io.h> |
パラメーター | *dev — msgdmaインスタンスへのポインター *desc — 拡張記述子構造へのポインター |
戻り値 | 「0」の場合は成功、「error」は、エラーまたは条件によりmsgdmaがマスターへのコマンドの発行を停止していることを示しています。CSRのステータスレジスターでエラーに設定されているビットを確認することが推奨されます。「-EPERM」は記述子タイプの競合のために操作が許可されないことを示します。「-ETIME」は、5ミリ秒後のタイムアウトおよびループのスキップを示します。 |
説明 | この関数を呼び出す際は、拡張記述子を作成し、*descへのパラメーター・ポインターとして渡す必要があります。この関数は、ヘルパー関数「alt_msgdma_descriptor_sync_transfer」を呼び出し、一度に1つの拡張記述子のブロッキング転送を開始します。この呼び出しの時点で読み出しまたは書き込みFIFOバッファーのいずれかがフルの状態になっている場合、ルーチンではFIFOバッファーに空きができるまで待機してプロセスを続行する、もしくは5ミリ秒のタイムアウトを待機します。読み出しと書き込みのコマンドバッファーが空になる前にエラーまたは条件によってディスパッチャーが読み出しと書き込みのマスターに対するコマンドの発行を停止した場合、関数は「error」を返します。エラーおよび完了ステータスを確認するのはアプリケーション開発者の責任です。FIFOバッファーの待機、ディスパッチャーへの記述子の書き込み、保留中の転送の完了が5ミリ秒を超える場合は、-ETIMEが返されます。 |