|
@@ -1572,8 +1572,8 @@ static void at_xdmac_handle_cyclic(struct at_xdmac_chan *atchan)
|
|
desc = list_first_entry(&atchan->xfers_list, struct at_xdmac_desc, xfer_node);
|
|
desc = list_first_entry(&atchan->xfers_list, struct at_xdmac_desc, xfer_node);
|
|
txd = &desc->tx_dma_desc;
|
|
txd = &desc->tx_dma_desc;
|
|
|
|
|
|
- if (txd->callback && (txd->flags & DMA_PREP_INTERRUPT))
|
|
|
|
- txd->callback(txd->callback_param);
|
|
|
|
|
|
+ if (txd->flags & DMA_PREP_INTERRUPT)
|
|
|
|
+ dmaengine_desc_get_callback_invoke(txd, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
static void at_xdmac_tasklet(unsigned long data)
|
|
static void at_xdmac_tasklet(unsigned long data)
|
|
@@ -1616,8 +1616,8 @@ static void at_xdmac_tasklet(unsigned long data)
|
|
|
|
|
|
if (!at_xdmac_chan_is_cyclic(atchan)) {
|
|
if (!at_xdmac_chan_is_cyclic(atchan)) {
|
|
dma_cookie_complete(txd);
|
|
dma_cookie_complete(txd);
|
|
- if (txd->callback && (txd->flags & DMA_PREP_INTERRUPT))
|
|
|
|
- txd->callback(txd->callback_param);
|
|
|
|
|
|
+ if (txd->flags & DMA_PREP_INTERRUPT)
|
|
|
|
+ dmaengine_desc_get_callback_invoke(txd, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
dma_run_dependencies(txd);
|
|
dma_run_dependencies(txd);
|