dma-contiguous: hornor the cma address limit setup by user
authorFeng Tang <feng.tang@linux.alibaba.com>
Thu, 12 Jun 2025 02:14:17 +0000 (10:14 +0800)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 12 Jun 2025 06:38:40 +0000 (08:38 +0200)
commitaa807b9f22df2eee28593cbbabba0f93f4aa26c1
treec15e72e70a4ec37da9a22c40bfa52d8c398cd892
parent19272b37aa4f83ca52bdf9c16d5d81bdd1354494
dma-contiguous: hornor the cma address limit setup by user

When porting a cma related usage from x86_64 server to arm64 server,
the "cma=4G@4G" setup failed on arm64. The reason is arm64 and some
other architectures have specific physical address limit for reserved
cma area, like 4GB due to the device's need for 32 bit dma. Actually
lots of platforms of those architectures don't have this device dma
limit, but still have to obey it, and are not able to reserve a huge
cma pool.

This situation could be improved by honoring the user input cma
physical address than the arch limit. As when users specify it, they
already knows what the default is which probably can't suit them.

Suggested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Feng Tang <feng.tang@linux.alibaba.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20250612021417.44929-1-feng.tang@linux.alibaba.com
kernel/dma/contiguous.c