Scalable Scatter-Gather DMA Intel® FPGA IP User Guide

ID 823097
Date 4/07/2025
Public
Document Table of Contents

5.1.1. Data Descriptors 

Data descriptors are stored in the host memory as an array. sw_idx is the index used to access the array in the driver and starts with index 0. The descriptors also contain a field called DescrIDX, which is equivalent to hw_idx. hw_idx is also used, when setting the insert pointer in the hardware. As the first hw_idx starts with 1, an offset is needed to sync them: sw_idx = hw_idx - 1

The driver provides a descriptor tracking index (sw_insert_hw_idx), which assists you to write to the next free descriptor. This index may be used as an input to set the hardware insert pointer. This allows you to prepare several descriptors in software, before updating the index to the hardware.