[PATCH v2] dma-coherent: use KiB in DMA allocation logs

From: Vova Sharaienko

Date: Mon Jun 29 2026 - 18:38:25 EST


Update DMA reserved memory pool allocation log messages to display
sizes in KiB instead of MiB. Using MiB caused allocations less than
1 MiB to be logged as 0 MiB due to integer truncation. KiB provides
better precision for smaller memory regions specified in the Device Tree.

Signed-off-by: Vova Sharaienko <sharaienko@xxxxxxxxxx>
---
v1: https://lore.kernel.org/all/20260624000516.597555-1-sharaienko@xxxxxxxxxx/
Addressed feedback from v1: changed %ld to %llu for size in KiB
to avoid truncation for sizes (which can be 64-bit on a 32-bit kernel)
larger than 4 GiB.

kernel/dma/coherent.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/dma/coherent.c b/kernel/dma/coherent.c
index bcdc0f76d2e8..67f9a88ec4fe 100644
--- a/kernel/dma/coherent.c
+++ b/kernel/dma/coherent.c
@@ -69,8 +69,8 @@ static struct dma_coherent_mem *dma_init_coherent_memory(phys_addr_t phys_addr,
kfree(dma_mem);
out_unmap_membase:
memunmap(mem_base);
- pr_err("Reserved memory: failed to init DMA memory pool at %pa, size %zd MiB\n",
- &phys_addr, size / SZ_1M);
+ pr_err("Reserved memory: failed to init DMA memory pool at %pa, size %zu KiB\n",
+ &phys_addr, size / SZ_1K);
return ERR_PTR(-ENOMEM);
}

@@ -384,8 +384,8 @@ static int __init rmem_dma_setup(unsigned long node, struct reserved_mem *rmem)
}
#endif

- pr_info("Reserved memory: created DMA memory pool at %pa, size %ld MiB\n",
- &rmem->base, (unsigned long)rmem->size / SZ_1M);
+ pr_info("Reserved memory: created DMA memory pool at %pa, size %llu KiB\n",
+ &rmem->base, (unsigned long long)(rmem->size / SZ_1K));
return 0;
}

--
2.55.0.rc0.799.gd6f94ed593-goog