of: address: Allow to specify nonposted-mmio per-device

Certain IP blocks may strictly require/expect a nE mapping to function
correctly, while others may be fine without it (which is preferred for
performance reasons).

Allow specifying nonposted-mmio on a per-device basis.

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250319-topic-nonposted_mmio-v1-2-dfb886fbd15f@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
Konrad Dybcio 2025-03-19 15:25:58 +01:00 committed by Rob Herring (Arm)
parent 7f623466b6
commit 47026c4ffe

View File

@ -1032,10 +1032,11 @@ EXPORT_SYMBOL_GPL(of_dma_is_coherent);
static bool of_mmio_is_nonposted(const struct device_node *np)
{
struct device_node *parent __free(device_node) = of_get_parent(np);
if (!parent)
return false;
return of_property_read_bool(parent, "nonposted-mmio");
if (of_property_read_bool(np, "nonposted-mmio"))
return true;
return parent && of_property_read_bool(parent, "nonposted-mmio");
}
static int __of_address_to_resource(struct device_node *dev, int index, int bar_no,