In Dual Buffer descriptor mode, each descriptor can transfer the data from two different buffers with buffer size up to 4096 bytes. In this mode IDMAC can either use only one descriptor to transfer the data from two buffer or it can have multiple descriptors which can be chained to run one after the other. Unlike the chained descriptor mode where the descriptor has the address of next descriptor, dual buffer mode links the descriptors using a fixed offset between the end address of current descriptor and start address of next descriptor. This fixed offset is same for all the descriptors in the chain and is programmed in DSL(Descriptor Skip Length) field of MSI_BUSMOD register.
Forming a ring chain of descriptors in dual buffer mode is also possible. This is helpful if the same set of descriptors need to be used again and again in a ring form. In order to configure the IDMAC descriptors in Dual buffer ring mode, use following steps: