A newer version of this document is available. Customers should click here to go to the newest version.
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.