Why driver need to map DMA buffers when dma-engine is in device?
问题 DMA buffers are memory mapped by the driver. For example, in pci-skeleton.c, which uses rtl8319 we have: tp->tx_bufs = pci_alloc_consistent(tp->pci_dev, TX_BUF_TOT_LEN, &tp->tx_bufs_dma); But DMA engine can reside in soc or in device. **Is it that dma buffers should be allocated even if DMA engine is in device ? Why ? ** rtl8139cp datasheet (I think the dma is part of the device, but not sure about it): http://realtek.info/pdf/rtl8139cp.pdf I believe that "dma engine" and "dma controller"