The DMA_CFG.INT bit field selects whether an interrupt request goes to the core based on work unit status or a peripheral interrupt request.
If ENUM_DMA_CFG_XCNT_INT is selected, interrupt is signalled by DMA when a row or a work unit completion (i.e X count reaching 0 or Y count reaching 0).
If ENUM_DMA_CFG_PERIPH_INT is selected, interrupt is signalled by the peripheral when it has completed the transfer of all data. In the case of a peripheral transmit operation, that data has not only left the FIFO of the DMA channel, but that the peripheral has also completed the transfer. This disables the generation of interrupts based on work unit state and instead results in generating an interrupt when the DMA channel receives the command from the peripheral.
For example: You are sending 5 data from SPI1 to SPI0.
1. If ENUM_DMA_CFG_XCNT_INT is set: Initially XCNT is 5 and after transmitting data from Memory to Peripheral(SPI1) XCNT reaches 0 and interrupt occurs.
2. If ENUM_DMA_CFG_PERIPH_INT is set: Interrupt occurs when XCNT reaches 0 as well as data from the SPI1 transferred to SPI0