My experiments show that this information is not accurate. Both my running example as well as the lpc_open example included with MCUXpresso with DMA LLI implemented show that only one interrupt is generated after the last LLI in the chain has been handled by the DMA controller. If you wait for two interrupts, you will be waiting forever. Perhaps this was the way the silicon was early on, but it's not that way anymore. Hopefully someone else will find this helpful as it caused me to chase a problem that didn't exist. The following are relevant pieces from the example code (gpdma_speed):
void DMA_IRQHandler(void)
{
dma_xfer_complete = 1;
Chip_GPDMA_Interrupt(LPC_GPDMA, ch_no);
}
Chip_GPDMA_SGTransfer(LPC_GPDMA, ch_no, &desc_array[0], GPDMA_TRANSFERTYPE_M2M_CONTROLLER_DMA);
NVIC_EnableIRQ(DMA_IRQn);
while(!dma_xfer_complete);