Multi Channel DMA Intel® FPGA IP for PCI Express Design Example User Guide
ID
683517
Date
10/28/2022
Public
A newer version of this document is available. Customers should click here to go to the newest version.
3.5.2.6.1. Build and Install Netdev Driver
3.5.2.6.2. Enable VFs if SRIOV is Supported
3.5.2.6.3. Configure the Number of Channels Supported on the Device
3.5.2.6.4. Configure the MTU Value
3.5.2.6.5. Configure the Device Communication
3.5.2.6.6. Configure Transmit Queue Selection Mechanism
3.5.2.6.7. Test Procedure by Using Name Space Environment
3.5.2.6.8. PIO Test
3.5.2.3.2.1. Installing the Linux Kernel Driver
- Install the UIO driver If we are proceeding with UIO support. If we are proceeding with vfio, this step not required:
$ modprobe uio
- Build the mcdma kernel driver and load:
- $ cd software/kernel
- $ make clean all -C driver/kmod/mcdma-custom-driver
- $ insmod driver/kmod/mcdma-custom-driver/ifc_uio.ko
- Verify whether driver is loaded or not:
$ lspci -d 1172:000 -v | grep ifc_uio
(Kernel driver in use: ifc_uio)
Currently, UIO is the default.
To use the vfio driver, modify UIO_SUPPORT in common/mk/common.mk as follows:
__cflags += -UUIO_SUPPORT
- Install vfio-pci module.
$ modprobe vfio-pci
- Bind the device to vfio-pci
- If the device is bound to ifc_uio, unbind with the following command:
$ echo "<bdf>" > /sys/bus/pci/devices/<bdf>/driver/unbind
E.g: echo "0000:01:00.0" > /sys/bus/pci/devices/0000\:01\:00.0/driver/unbind
- Bind the device to vfio-pci
echo <PCI Vendor ID> <PCI Device ID> > /sys/bus/pci/drivers/vfio-pci/new_id
Example: echo 1172 0000 > /sys/bus/pci/drivers/vfio-pci/new_id
- If the device is bound to ifc_uio, unbind with the following command: