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

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

8.3.3.2. チャネル管理

  • 物理機能に関連付けられた各キャラクター・デバイス。
  • チャネルの割り当ては、空きチャネルのリストから行われます。
  • 各チャネルのドライバー・コンテキストは、ファイル・ディスクリプターのプライベート領域に保存されます。これにより、取得したチャネルのコンテキストをすばやく取得して、以降の操作を行うことができます。これに代わる方法は、チャネルごとに 1 つのキャラクター・デバイスを作成することですが、MCDMA がスケールアップすると膨大な数の char dev ファイルが作成されます。
  • ディスクリプターのメモリー管理:
    • ディスクリプター・メモリーは、ディスクリプターの送信のためのキューを形成します。
    • Linux DMA フレームワークの dma_alloc_coherent API を使用して、スワップ不可能な物理的に伝染性のメモリーをキューに割り当てます。
    • 各チャネルの各キュー (H2D および D2H) は、そのディスクリプター・メモリーを取得します。
    • このメモリーの割り当て後、QCSR 領域への開始アドレスの書き込みによってハードウェアに通知されます。