Multi Channel DMA Intel® FPGA IP for PCI Express* Design Example User Guide
ID
683517
Date
6/09/2025
Public
Visible to Intel only — GUID: yih1745458503941
Ixiasoft
3.5.1. Hardware Requirements
3.5.2. Software Requirements
3.5.3. Set Up the Hardware and Program the FPGA
3.5.4. Configuration Changes from BIOS
3.5.5. Host Operating System Check for Ubuntu v22.04
3.5.6. Installing the Required Kernel Version for Ubuntu v24.04
3.5.7. Set the Boot Parameters
3.5.8. MCDMA Custom Driver
3.5.9. MCDMA DPDK Poll Mode Driver
3.5.10. MCDMA Kernel Mode Network Device Driver
Visible to Intel only — GUID: yih1745458503941
Ixiasoft
3.5.8.3.4. External Descriptor Controller
The UIO Linux Kernel driver should be used for this design example, The VFIO Linux Kernel driver is not supported. Use the following steps to verify the external fetch descriptors:
- Define the following software flag in p0_software/user/common/include/mcdma_iparams.h
#define IFC_MCDMA_EXTERNL_DESC
- Complete the instructions outlined in Prerequisites to install the UIO Linux Kernel driver, and build the driver application for testing.
- Build the devmem utility and run as the root user.
cd p0_software/user/cli/devmem/
make clean all
- Disable the queues and FIFOs.
sudo devmem 0000:09:00.0 0 0x8 0x1
- Enable the queues and FIFOs.
sudo devmem 0000:09:00.0 0 0x8 0x0
Run the following commands to test the external fetch descriptor:
cd software/user/cli/perfq/ make clean all sudo ./perfq_app -b 0000:09:00.0 -d 1 -c 16 -a 8 -p 128 -s 128 -u
Configuration:
- bdf (-b 0000:09:00.0)
- 16 channels (-c 16)
- Bidirectional (-u)
- Payload length of 128 bytes in each descriptor (-p 128)
- Total data amount to transfer = 128 bytes (-s 128)
- Dump every 1 second (-d 1)
- Total 8 threads/CPU core used (-a 8)
Figure 36. Results of External Fetch Descriptor Test
