On Sun, 2020-10-11 at 09:47 +0200, Ard Biesheuvel wrote:
Hi Nicolas,
$SUBJECT is out of sync with the patch below. Also, for legibility, it
helps if the commit log is intelligible by itself, rather than relying
on $SUBJECT being the first line of the first paragraph.
Noted, I'll update all commit logs.
On Sat, 10 Oct 2020 at 17:12, Nicolas Saenz Julienne
[off-list ref] wrote:
quoted
The function provides the CPU physical address addressable by the most
constrained bus in the system. It might be useful in order to
dynamically set up memory zones during boot.
Signed-off-by: Nicolas Saenz Julienne <redacted>
---
drivers/of/address.c | 34 ++++++++++++++++++++++++++++++++++
include/linux/of.h | 7 +++++++
2 files changed, 41 insertions(+)
diff --git a/drivers/of/address.c b/drivers/of/address.c
index eb9ab4f1e80b..755e97b65096 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -1024,6 +1024,40 @@ int of_dma_get_range(struct device_node *np, const struct bus_dma_region **map)
}
#endif /* CONFIG_HAS_DMA */
+/**
+ * of_dma_safe_phys_limit - Get system wide DMA safe address space
+ *
+ * Gets the CPU physical address limit for safe DMA addressing system wide by
+ * searching for the most constraining dma-range. Otherwise it returns ~0ULL.
+ */
+u64 __init of_dma_safe_phys_limit(void)
I don't think 'safe' strikes the right tone here. You are looking for
the highest CPU address that is addressable by all DMA masters in the
system.
Something like
of_dma_get_max_cpu_address(void)
perhaps? Also, since this is generic code, phys_addr_t is probably a
better type to return.
Sonds good to me, I dindn't like the name I used either.
Will use with phys_addr_t.
Regards,
Nicolas