Hi Dan,
I've been looking over how your patches change the ioatdma driver. I
like the idea of removing the multiple entry points for virtual address
vs. page struct arguments, and just using dma_addr_t for the driver
interfaces.
But, I don't think having both ioatdma and iop-adma implement map_page,
map_single, unmap_page, and unmap_single entry points is much better.
Do you see a reason why it wouldn't work to expose the generic device
for a DMA channel, and replace instances of
dma_device->map_single(dma_chan, src, len, DMA_TO_DEVICE)
with
dma_map_single(dma_device->dev, src, len, DMA_TO_DEVICE)
I am a little concerned about having the DMA mapping happen outside of
the driver, but the unmapping is still in the driver cleanup routine.
I'm not sure if it's really a problem, or how I'd change it though.
- Chris