提交 0e0b47ab 编写于 作者: M Michael Ellerman 提交者: Paul Mackerras

[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: NMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 ccd05d08
......@@ -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.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册