Re: [PATCH v5 3/9] dma-mapping: add dma_{map,unmap}_resource

From: Christoph Hellwig
Date: Tue Mar 15 2016 - 04:23:59 EST


On Fri, Mar 11, 2016 at 01:58:46PM +0100, Niklas S?derlund wrote:
> Without an IOMMU this is easy since the phys_addr_t and dma_addr_t are
> the same and no special care is needed. However if you have a IOMMU you
> need to map the DMA slave phys_addr_t to a dma_addr_t using something
> like this. Is it not very similar to dma_map_single() where one maps
> processor virtual memory (instead if MMIO) so that it can be used with
> DMA slaves?

It's similar, but I don't think this actually works as a general case
as there are quite a few places that expect to be able to have a
struct page for a physical address. We'd at least need a very careful
audit for that case.