X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=arch%2Fmips%2Finclude%2Fasm%2Fmach-generic%2Fdma-coherence.h;h=61addb1677e950c75936cce24905f850e23e7a04;hb=0ea67fae9e80bfd69713b51ba3fa53879be5383b;hp=0f8a354fd4686dc49cbd6718ef565e9b73786386;hpb=c09b5cbd0d88317785de87bcdfe4052f9785c473;p=cascardo%2Flinux.git diff --git a/arch/mips/include/asm/mach-generic/dma-coherence.h b/arch/mips/include/asm/mach-generic/dma-coherence.h index 0f8a354fd468..61addb1677e9 100644 --- a/arch/mips/include/asm/mach-generic/dma-coherence.h +++ b/arch/mips/include/asm/mach-generic/dma-coherence.h @@ -49,7 +49,19 @@ static inline int plat_dma_supported(struct device *dev, u64 mask) static inline int plat_device_is_coherent(struct device *dev) { - return coherentio; +#ifdef CONFIG_DMA_PERDEV_COHERENT + return dev->archdata.dma_coherent; +#else + switch (coherentio) { + default: + case IO_COHERENCE_DEFAULT: + return hw_coherentio; + case IO_COHERENCE_ENABLED: + return 1; + case IO_COHERENCE_DISABLED: + return 0; + } +#endif } #ifndef plat_post_dma_flush