aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanimir Varbanov <stanimir.varbanov@linaro.org>2015-04-29 14:38:01 +0300
committerSrinivas Kandagatla <srinivas.kandagatla@linaro.org>2015-10-16 14:07:00 +0100
commit841dc35af67d10fe19e9664c863523834526b3a4 (patch)
treed817cc72c61c99b3ec6578191f58c8f184b77687
parentf8c332c2f3ad8b098097ea229ed65e2eb5f6868c (diff)
arm64: dma-mapping: fix DMA_ATTR_STRONGLY_ORDERED in __get_dma_pgprot
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
-rw-r--r--arch/arm64/mm/dma-mapping.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
index f3b02f1466f8..f25a5558f373 100644
--- a/arch/arm64/mm/dma-mapping.c
+++ b/arch/arm64/mm/dma-mapping.c
@@ -39,10 +39,12 @@ EXPORT_SYMBOL(dma_ops);
static pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot,
bool coherent)
{
- if (!coherent || dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs))
+ if (dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs))
return pgprot_writecombine(prot);
else if (dma_get_attr(DMA_ATTR_STRONGLY_ORDERED, attrs))
prot = pgprot_noncached(prot);
+ else if (!coherent)
+ return pgprot_writecombine(prot);
return prot;
}