前言
前面的几个章节对 DMA descriptor的赋值已经说的非常清楚了,接下来讲解最后一部分,DMA的执行。我们接着sunxi_dma_test.c 分析下去。
DMA传输开始
/*static void __dma_callback(void *dma_async_param)
{
chan_info *pinfo = (chan_info *)dma_async_param;
wake_up_interruptible(&pinfo->dma_wq);
atomic_set(&pinfo->dma_done, 1);
}*/
struct dma_async_tx_descriptor *tx = NULL;
struct dma_slave_config