summaryrefslogtreecommitdiffstats
path: root/kernel/dma
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2023-10-06 15:17:54 +0200
committerChristoph Hellwig <hch@lst.de>2023-10-22 16:38:54 +0200
commit63f067e33c996a6e4d9a34d138116a43105182f1 (patch)
treec5a81810d07deafc6e022e29365534fe55360a1d /kernel/dma
parentb1da46d70e5427a9ba5eae28bcca29a20e68a442 (diff)
downloadlinux-63f067e33c996a6e4d9a34d138116a43105182f1.tar.gz
linux-63f067e33c996a6e4d9a34d138116a43105182f1.tar.bz2
linux-63f067e33c996a6e4d9a34d138116a43105182f1.zip
dma-direct: warn when coherent allocations aren't supported
Log a warning once when dma_alloc_coherent fails because the platform does not support coherent allocations at all. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Reviewed-by: Greg Ungerer <gerg@linux-m68k.org> Tested-by: Greg Ungerer <gerg@linux-m68k.org>
Diffstat (limited to 'kernel/dma')
-rw-r--r--kernel/dma/direct.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c
index 9657ef7c055e..ed3056eb20b8 100644
--- a/kernel/dma/direct.c
+++ b/kernel/dma/direct.c
@@ -240,8 +240,10 @@ void *dma_direct_alloc(struct device *dev, size_t size,
*/
set_uncached = IS_ENABLED(CONFIG_ARCH_HAS_DMA_SET_UNCACHED);
remap = IS_ENABLED(CONFIG_DMA_DIRECT_REMAP);
- if (!set_uncached && !remap)
+ if (!set_uncached && !remap) {
+ pr_warn_once("coherent DMA allocations not supported on this platform.\n");
return NULL;
+ }
}
/*