AR# 70481

DMA Subsystem for PCI Express - FAQ およびデバッグ チェックリスト

説明

このアンサーでは、DMA Subsystem for PCI Express IP のよくある質問とデバッグ チェックリストを示します。 

この IP に関連しない一般的な PCIe に関するよくある質問およびデバッグ チェックリストは、(Xilinx Answer 69751) を参照してください。


このアンサーは、PCI Express ソリューション センターの一部です。

(Xilinx Answer 34536)ザイリンクス PCI Express ソリューション センター

ソリューション

FAQ:

なし

デバッグ チェックリスト:

  • DMA では、PCIe Base IP、および普通の PCIe Integrated IP に似た GT が使用されます。
    リンク アップ、エニュメレーション、一般的な PCIe ブートアップ、または検出に関する問題がある場合は、AXI とは関係がないので、(Xilinx Answer 69751) にある PCIe デバッグ ストラテジに従ってください。

  • 割り込みがない場合 - (Xilinx Answer 69751) を参照してください。

  • ドライバーを読み込めない
    • xdma-core.c および xdma-core.h で XDMA_DEBUG 指示子を 1 に設定し、ドライバーを再度コンパイルします。その後、問題がどこで起きているのかを絞り込みやすくするため、dmesg コマンドの出力をチェックします。
    • どの関数呼び出しで問題が起きているのかまで絞り込めたら、ドライバーがアクセスしている特定のレジスタに読み出しまたは書き込みを実行するため PIO 転送を実行し、どんな応答が得られるか確認します。
    • 特に検索すべきなのは xdma-core.c ファイルの中のプローブ関数です。
      ドライバーをカーネルに挿入するとこのプローブ関数が呼び出され、さまざまな DMA ステータス レジスタを読み出し、どの機能が使用できるのかを示し、初期化値をそれに設定します。
  • 動作停止/カーネル パニック/ランタイムでの予期しないリブート - (Xilinx Answer 69751) を参照してください。

  • 期待よりも低いパフォーマンス
    • リンクがフル スピードおよび最大幅で起動していることを確認するため、lspci でリンク ステータスをチェックします。
    • lspci を使用して、最大ペイロード サイズおよび最大読み出しリクエスト サイズをチェックします。システムによっては、128 バイト転送しかサポートされません。この場合、256 バイトまたは 512 バイト対応のシステムよりもスピードが遅くなります。
    • 一般的には、ディスクリプターごとの転送サイズが大きいとパフォーマンスは高くなりますが、システムの制限事項または XDMA IP の背後にある AXI ペリフェラルの影響も受けます。
  • C2H ストリーミング転送をすると、XDMA ドライバーが停止します。
    • ディクリプター "credit based"をイネーブルにして、ドライバーをカーネルに読み込んでチェックします。load_driver.sh ファイルの Insmod コマンドを、このファイルを読み込む前に次のように変更します。
      • insmod ../driver/xdma.ko enable_credit_mp=1

その他のデバッグ情報:

詳細は、DMA/Bridge Subsystem for PCI Express の (PG195) の「付録 C: デバッグ」を参照してください。

https://japan.xilinx.com/support/documentation-navigation/see-all-versions.html?xlnxproducttypes=IP%20Cores&xlnxipcoresname=dma-subsystem-pcie

改訂履歴
2018/04/01: 初版

AR# 70481
日付 08/13/2018
ステータス アクティブ
種類 一般
IP