consolidate swiotlb dma_map implementations
From: hch@lst.de (Christoph Hellwig)
Date: 2018-01-10 08:09:46
Also in:
linux-arch, linux-iommu, linux-mips, linuxppc-dev, lkml
From: hch@lst.de (Christoph Hellwig)
Date: 2018-01-10 08:09:46
Also in:
linux-arch, linux-iommu, linux-mips, linuxppc-dev, lkml
A lot of architectures have essentially identical dma_map_ops implementations to use swiotlb. This series adds new generic swiotlb_alloc/free helpers that take the attrs argument exposed in dma_map_ops, and which do an enhanced direct allocation modelled after x86 and reused from the dma-direct code, and then switches most architectures over to it. The only exceptions are mips, which requires additional cache flushing which will need a new abstraction, and x86 itself which will be handled in a later series with other x86 dma mapping changes. To support the generic code a few architectures that currently use ZONE_DMA/GFP_DMA for <= 32-bit allocations are switched to implement ZONE_DMA32 instead. This series is based on the previously sent series to consolidate the direct dma mapping implementation. A git tree with this series as well as the prerequisites is available here: git://git.infradead.org/users/hch/misc.git swiotlb Gitweb: http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/swiotlb