Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e0b47ab authored by Michael Ellerman's avatar Michael Ellerman Committed by Paul Mackerras
Browse files

[POWERPC] Don't enable cell IOMMU fixed mapping if there are no dma-ranges



In order for the cell IOMMU fixed mapping to work we need "dma-ranges"
properties in the device tree. If there are none then there's no point
enabling the fixed mapping support.

Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent ccd05d08
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -917,6 +917,18 @@ static int __init cell_iommu_fixed_mapping_init(void)
		return -1;
	}

	/* We must have dma-ranges properties for fixed mapping to work */
	for (np = NULL; (np = of_find_all_nodes(np));) {
		if (of_find_property(np, "dma-ranges", NULL))
			break;
	}
	of_node_put(np);

	if (!np) {
		pr_debug("iommu: no dma-ranges found, no fixed mapping\n");
		return -1;
	}

	/* The default setup is to have the fixed mapping sit after the
	 * dynamic region, so find the top of the largest IOMMU window
	 * on any axon, then add the size of RAM and that's our max value.