Lines Matching +full:child +full:- +full:node

1 /*-
2 * Copyright (c) 2011-2012 Semihalf.
85 #define BMAN_PORT_DEVSTR "Freescale Buffer Manager - Portals"
100 "bman-portals",
109 get_addr_props(phandle_t node, uint32_t *addrp, uint32_t *sizep) in get_addr_props() argument
114 OF_getencprop(node, "#address-cells", addrp, sizeof(*addrp)); in get_addr_props()
115 OF_getencprop(node, "#size-cells", sizep, sizeof(*sizep)); in get_addr_props()
121 phandle_t node; in bman_portals_fdt_probe() local
123 if (ofw_bus_is_compatible(dev, "simple-bus")) { in bman_portals_fdt_probe()
124 node = ofw_bus_get_node(dev); in bman_portals_fdt_probe()
125 for (node = OF_child(node); node > 0; node = OF_peer(node)) { in bman_portals_fdt_probe()
126 if (ofw_bus_node_is_compatible(node, "fsl,bman-portal")) in bman_portals_fdt_probe()
129 if (node <= 0) in bman_portals_fdt_probe()
131 } else if (!ofw_bus_is_compatible(dev, "fsl,bman-portals")) in bman_portals_fdt_probe()
142 phandle_t node; in bman_portal_find_cpu() local
145 node = OF_finddevice("/cpus"); in bman_portal_find_cpu()
146 if (node == -1) in bman_portal_find_cpu()
147 return (node); in bman_portal_find_cpu()
149 for (node = OF_child(node); node != 0; node = OF_peer(node)) { in bman_portal_find_cpu()
150 if (OF_getprop(node, "reg", &reg, sizeof(reg)) <= 0) in bman_portal_find_cpu()
153 return (node); in bman_portal_find_cpu()
155 return (-1); in bman_portal_find_cpu()
163 phandle_t node, child, cpu_node; in bman_portals_fdt_attach() local
174 sc->sc_dev = dev; in bman_portals_fdt_attach()
176 node = ofw_bus_get_node(dev); in bman_portals_fdt_attach()
177 get_addr_props(node, &addr, &size); in bman_portals_fdt_attach()
180 for (child = OF_child(node); child != 0; child = OF_peer(child)) { in bman_portals_fdt_attach()
183 if (!ofw_bus_node_is_compatible(child, "fsl,bman-portal")) { in bman_portals_fdt_attach()
187 if (OF_getprop(child, "cpu-handle", (void *)&cpu, in bman_portals_fdt_attach()
202 if (ofw_bus_gen_setup_devinfo(&ofw_di, child) != 0) { in bman_portals_fdt_attach()
208 if (ofw_bus_reg_to_rl(dev, child, addr, size, &di.di_res)) { in bman_portals_fdt_attach()
214 if (ofw_bus_intr_to_rl(dev, child, &di.di_res, &intr_rid)) { in bman_portals_fdt_attach()
223 ofw_reg_to_paddr(child, 0, &portal_pa, &portal_size, NULL); in bman_portals_fdt_attach()
226 if (sc->sc_dp_pa == 0) in bman_portals_fdt_attach()
227 sc->sc_dp_pa = portal_pa - rle->start; in bman_portals_fdt_attach()
229 portal_size = rle->end + 1; in bman_portals_fdt_attach()
231 portal_size = ulmax(rle->end + 1, portal_size); in bman_portals_fdt_attach()
232 sc->sc_dp_size = ulmax(sc->sc_dp_size, portal_size); in bman_portals_fdt_attach()