DW_HDMA_V0_CB                                   = BIT(0),
        DW_HDMA_V0_TCB                                  = BIT(1),
        DW_HDMA_V0_LLP                                  = BIT(2),
-       DW_HDMA_V0_LIE                                  = BIT(3),
-       DW_HDMA_V0_RIE                                  = BIT(4),
+       DW_HDMA_V0_LWIE                                 = BIT(3),
+       DW_HDMA_V0_RWIE                                 = BIT(4),
        DW_HDMA_V0_CCS                                  = BIT(8),
        DW_HDMA_V0_LLE                                  = BIT(9),
 };
 static void dw_hdma_v0_core_write_chunk(struct dw_edma_chunk *chunk)
 {
        struct dw_edma_burst *child;
-       struct dw_edma_chan *chan = chunk->chan;
        u32 control = 0, i = 0;
-       int j;
 
        if (chunk->cb)
                control = DW_HDMA_V0_CB;
 
-       j = chunk->bursts_alloc;
-       list_for_each_entry(child, &chunk->burst->list, list) {
-               j--;
-               if (!j) {
-                       control |= DW_HDMA_V0_LIE;
-                       if (!(chan->dw->chip->flags & DW_EDMA_CHIP_LOCAL))
-                               control |= DW_HDMA_V0_RIE;
-               }
-
+       list_for_each_entry(child, &chunk->burst->list, list)
                dw_hdma_v0_write_ll_data(chunk, i++, control, child->sz,
                                         child->sar, child->dar);
-       }
 
        control = DW_HDMA_V0_LLP | DW_HDMA_V0_TCB;
        if (!chunk->cb)