aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64')
-rw-r--r--arch/sparc64/kernel/of_device.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index e427086e3b58..c15bcdf75c0d 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -438,8 +438,17 @@ static int __init use_1to1_mapping(struct device_node *pp)
438 438
439 /* If the parent is the dma node of an ISA bus, pass 439 /* If the parent is the dma node of an ISA bus, pass
440 * the translation up to the root. 440 * the translation up to the root.
441 *
442 * Some SBUS devices use intermediate nodes to express
443 * hierarchy within the device itself. These aren't
444 * real bus nodes, and don't have a 'ranges' property.
445 * But, we should still pass the translation work up
446 * to the SBUS itself.
441 */ 447 */
442 if (!strcmp(pp->name, "dma")) 448 if (!strcmp(pp->name, "dma") ||
449 !strcmp(pp->name, "espdma") ||
450 !strcmp(pp->name, "ledma") ||
451 !strcmp(pp->name, "lebuffer"))
443 return 0; 452 return 0;
444 453
445 /* Similarly for all PCI bridges, if we get this far 454 /* Similarly for all PCI bridges, if we get this far