PCI Expressのマルチチャネル DMA インテル® FPGA IPユーザー ガイド

ID 683821
日付 4/20/2022
Public
ドキュメント目次

8.1.7. リクエスト構造

DMA 操作を要求するには、アプリケーションはifc_qdma_requestと呼ばれる共通構造体を使用する必要があります。

次のフィールドが含まれます。
struct ifc_qdma_request {
        void *buf;              /* src/dst buffer */
        uint32_t len;           /* number of bytes */
        uint64_t pyld_cnt;
        uint32_t flags;        /* SOF and EOF */
        uint64_t metadata;
        void *ctx;              /* libqdma contexst, NOT for application */
};
  1. buf: - DMA バッファー。 H2D の場合、このバッファーデータは FPGA に移動されます。D2H の場合、FPGA はコンテンツをこのバッファーにコピーします。
  2. len: このディスクリプターのデータの長さ
  3. pyld_cnt: D2H: ディスクリプターに EOF が含まれている場合の有効な日付の長さ。 H2D: このフィールドは使用されません
  4. flags: これは、内容を記述するフラグを含むマスクです。現在、これらのフラグは、データの SOF および EOF を通知するために使用されています。
  5. metadata: H2D の場合、このフィールドのメタデータを更新する必要があります。 D2H ドライバーの場合、メタデータを更新します。
注: シングルポート AVST デザインの場合、sof と eof は同じディスクリプター上にある必要があります。または、SOF を単一の TID アップデートの開始ディスクリプターに、EOF を終了ディスクリプターに配置できます。