4.1. ポートリスト
4.2. クロック
4.3. リセット
4.4. マルチ・チャネルDMA
4.5. バーストAvalon Master (BAM) インターフェイズ
4.6. バースト Avalon-MM スレーブ (BAS) インターフェイス
4.7. Config Slaveのインターフェイス (RP のみ)
4.8. ハードIPリコンフィグレーション・インターフェイス
4.9. Config TLのインターフェイス
4.10. Configuration Interceptのインターフェイス (EP のみ)
4.11. ユーザーのFunctional Level Reset (FLR)
4.12. ユーザー イベント MSI-X 要求インターフェイス
4.13. データ・ムーバー・インターフェイス
4.14. ハードIPステータス・インターフェイス
8.1.6.1. ifc_api_start
8.1.6.2. ifc_mcdma_port_by_name
8.1.6.3. ifc_qdma_device_get
8.1.6.4. ifc_num_channels_get
8.1.6.5. ifc_qdma_channel_get
8.1.6.6. ifc_qdma_acquire_channels
8.1.6.7. ifc_qdma_release_all_channels
8.1.6.8. ifc_qdma_device_put
8.1.6.9. ifc_qdma_channel_put
8.1.6.10. ifc_qdma_completion_poll
8.1.6.11. ifc_qdma_request_start
8.1.6.12. ifc_qdma_request_prepare
8.1.6.13. ifc_qdma_descq_queue_batch_load
8.1.6.14. ifc_qdma_request_submit
8.1.6.15. ifc_qdma_pio_read32
8.1.6.16. ifc_qdma_pio_write32
8.1.6.17. ifc_qdma_pio_read64
8.1.6.18. ifc_qdma_pio_write64
8.1.6.19. ifc_qdma_pio_read128
8.1.6.20. ifc_qdma_pio_write128
8.1.6.21. ifc_qdma_pio_read256
8.1.6.22. ifc_qdma_pio_write256
8.1.6.23. ifc_request_malloc
8.1.6.24. ifc_request_free
8.1.6.25. ifc_app_stop
8.1.6.26. ifc_qdma_poll_init
8.1.6.27. ifc_qdma_poll_add
8.1.6.28. ifc_qdma_poll_wait
8.1.6.29. ifc_mcdma_port_by_name
8.4.2.1. 端末管理
static const struct net_device_ops ifc_mcdma_netdev_ops = { .ndo_open = ifc_mcdma_netdev_open, .ndo_stop = ifc_mcdma_netdev_close, .ndo_start_xmit = ifc_mcdma_netdev_xmit, #ifdef IFC_SELECT_QUEUE_ALGO .ndo_select_queue = ifc_mcdma_select_queue, #endif #ifdef RHEL_RELEASE_CODE .ndo_change_mtu_rh74 = ifc_mcdma_change_mtu, #else .ndo_change_mtu = ifc_mcdma_change_mtu, #endif . ndo_validate_addr = eth_validate_addr, .ndo_set_mac_address = eth_mac_addr, .ndo_get_stats = ifc_mcdma_netdev_get_stats, .ndo_do_ioctl = ifc_mcdma_netdev_ioctl, }
ifc_mcdma_netdev ドライバーは、ethtool と ifconfig および ip ユーティリティーをサポートして、デバイスをコンフィグレーションおよび管理します。
IP リセット
IP リセットは、sysfs属性ファイルmcdma_ipresetを通じて実行されます。
次のコマンドは、IP リセットを実行します。
echo 1 > /sys/bus/pci/devices/<bdf>/mcdma_ipreset
ifconfig サポート
ifconfigを使用することで 、ドライバーはデバイスのブリングダウンとブリングアップをサポートします。これらの操作をサポートするために、ドライバーはデバイスのndo_openおよびndo_stop操作をオーバーライドします。
デバイスの立ち下げ
ifconfig コマンドを使用してデバイスをダウンさせると、カーネルはデバイスの状態を DOWN 状態に変更し、レジスターされたコールバックを実行します。コールバック機能の結果として、ドライバーは TX キューを停止し、割り込みを無効にし、取得したチャネルとデバイスに割り当てられたすべての内部リソースを解放します。
デバイスのダウンのコマンド例:
ifconfig ifc_mcdma0 down
デバイスの立ち上げ
ifconfig コマンドを使用してデバイスを起動すると、カーネルはデバイスの状態を「UP」状態に変更し、レジスターされたコールバックを実行します。コールバック機能の結果として、ドライバーは TX キューを開始し、チャネルと対応する割り込みを取得して有効にします。
デバイスの例を起動するためのコマンド:
ifconfig ifc_mcdma0 アップ