diff options
author | Christoph Hellwig <hch@lst.de> | 2018-08-19 14:53:20 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2018-09-20 09:01:15 +0200 |
commit | f3ecc0ff0457eae93503792c6fc35921fa8a6204 (patch) | |
tree | cbaa1fbb29ea8d5b33fb8d1798e595147cb72729 /arch/mips/include/asm/dma-coherence.h | |
parent | MIPS: don't select DMA_MAYBE_COHERENT from DMA_PERDEV_COHERENT (diff) | |
download | linux-f3ecc0ff0457eae93503792c6fc35921fa8a6204.tar.xz linux-f3ecc0ff0457eae93503792c6fc35921fa8a6204.zip |
dma-mapping: move the dma_coherent flag to struct device
Various architectures support both coherent and non-coherent dma on a
per-device basis. Move the dma_noncoherent flag from the mips archdata
field to struct device proper to prepare the infrastructure for reuse on
other architectures.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Paul Burton <paul.burton@mips.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/mips/include/asm/dma-coherence.h')
-rw-r--r-- | arch/mips/include/asm/dma-coherence.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/mips/include/asm/dma-coherence.h b/arch/mips/include/asm/dma-coherence.h index 8eda48748ed5..5eaa1fcc878a 100644 --- a/arch/mips/include/asm/dma-coherence.h +++ b/arch/mips/include/asm/dma-coherence.h @@ -20,6 +20,12 @@ enum coherent_io_user_state { #elif defined(CONFIG_DMA_MAYBE_COHERENT) extern enum coherent_io_user_state coherentio; extern int hw_coherentio; + +static inline bool dev_is_dma_coherent(struct device *dev) +{ + return coherentio == IO_COHERENCE_ENABLED || + (coherentio == IO_COHERENCE_DEFAULT && hw_coherentio); +} #else #ifdef CONFIG_DMA_NONCOHERENT #define coherentio IO_COHERENCE_DISABLED |