Multi Channel DMA Intel® FPGA IP for PCI Express* User Guide

ID 683821
Date 7/30/2024
Public
Document Table of Contents

8.1.2.3. Descriptor Completion Status Update

There are two modes for selecting the descriptor completion status, MSI-X and Writeback mode. The default mode is writeback. This can be changed in the following C header file.

pX_software/user/common/include/ifc_libmqdma.h

/* Set default descriptor completion */
#define IFC_CONFIG_QDMA_COMPL_PROC <Set with following method >

Descriptor Completion Status Update Method

  1. Writeback mode: (CONFIG_QDMA_QUEUE_WB): In this approach, MCDMA IP updates the completed descriptor index in the host memory. libmqdma goes for local read and not for PCIe read.
  2. MSI-X interrupt mode: (CONFIG_QDMA_QUEUE_MSIX): In this approach, when the transaction completed, MCDMA IP sends the interrupt to the Host and updates the completed descriptor index in the host memory. libmqdma reads the completion status up on receiving the interrupt.
  3. Register Mode (CONFIG_QDMA_QUEUE_REG): In this approach, driver knows the completion status by polling the completion head register. As register read is costly from host perspective, performance of smaller payloads would be less in this approach.