merge dma_direct_ops and dma_noncoherent_ops v3
From: Christoph Hellwig
Date: Fri Sep 14 2018 - 05:59:06 EST
While most architectures are either always or never dma coherent for a
given build, the arm, arm64, mips and soon arc architectures can have
different dma coherent settings on a per-device basis. Additionally
some mips builds can decide at boot time if dma is coherent or not.
I've started to look into handling noncoherent dma in swiotlb, and
moving the dma-iommu ops into common code [1], and for that we need a
generic way to check if a given device is coherent or not. Moving
this flag into struct device also simplifies the conditionally coherent
architecture implementations.
These patches are also available in a git tree given that they have
a few previous posted dependencies:
git://git.infradead.org/users/hch/misc.git dma-direct-noncoherent-merge
Gitweb:
http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma-direct-noncoherent-merge
Changes since v2:
- return bool from dev_is_dma_coherent
Changes since v1:
- rebased to the latest Linus' tree which includes coherent dma support
for arc
- a couple tidyups suggested by Paul Burton