aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKonrad Dybcio <konrad.dybcio@oss.qualcomm.com>2025-03-19 15:25:58 +0100
committerRob Herring (Arm) <robh@kernel.org>2025-03-21 11:27:56 -0500
commit47026c4ffedd2cd664e3f70f63c4149c56355f37 (patch)
tree5f8ece8303ece22b1d5cce4ed5ddd87d7d047db8
parentof: address: Expand nonposted-mmio to non-Apple Silicon platforms (diff)
downloadwireguard-linux-47026c4ffedd2cd664e3f70f63c4149c56355f37.tar.xz
wireguard-linux-47026c4ffedd2cd664e3f70f63c4149c56355f37.zip
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>
Diffstat (limited to '')
-rw-r--r--drivers/of/address.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/of/address.c b/drivers/of/address.c
index 0ed35a4f9205..cb2212b13375 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -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,