Coherent dma on ARM64 also can't work with mapped system ram, that means 'no-map' property must be specified in dts. Add the missing check for ARM64 platforms as well. Besides 'no-map' checking, 'linux,dma-default' feature is also enabled for ARM64 along with this patch.
Cc: Christoph Hellwig <h...@lst.de> Cc: Marek Szyprowski <m.szyprow...@samsung.com> Cc: Robin Murphy <robin.mur...@arm.com> Signed-off-by: Dong Aisheng <aisheng.d...@nxp.com> --- kernel/dma/coherent.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/dma/coherent.c b/kernel/dma/coherent.c index 5b5b6c7ec7f2..d1831da7afba 100644 --- a/kernel/dma/coherent.c +++ b/kernel/dma/coherent.c @@ -356,7 +356,7 @@ static int __init rmem_dma_setup(struct reserved_mem *rmem) if (of_get_flat_dt_prop(node, "reusable", NULL)) return -EINVAL; -#ifdef CONFIG_ARM +#if defined(CONFIG_ARM) || defined(CONFIG_ARM64) if (!of_get_flat_dt_prop(node, "no-map", NULL)) { pr_err("Reserved memory: regions without no-map are not yet supported\n"); return -EINVAL; -- 2.25.1 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu