Lines Matching +full:in +full:- +full:tree

2  * Generic PCI host controller as described in PCI Bus Binding to Open Firmware
14 #include "pci-host-generic.h"
49 * See kernel Documentation/devicetree/bindings/pci/host-generic-pci.txt
50 * and function gen_pci_probe() in drivers/pci/host/pci-host-generic.c
68 printf("No device tree found\n"); in pci_dt_probe()
83 "pci-host-ecam-generic"); in pci_dt_probe()
84 if (node == -FDT_ERR_NOTFOUND) { in pci_dt_probe()
91 assert(prop && len == 4 && !strcmp((char *)prop->data, "pci")); in pci_dt_probe()
97 prop = fdt_get_property(fdt, node, "bus-range", &len); in pci_dt_probe()
99 assert(len == -FDT_ERR_NOTFOUND); in pci_dt_probe()
103 data = (fdt32_t *)prop->data; in pci_dt_probe()
122 sizeof(host->addr_space[0]) * nr_addr_spaces); in pci_dt_probe()
125 host->start = ioremap(base.addr, base.size); in pci_dt_probe()
126 host->size = base.size; in pci_dt_probe()
127 host->bus = bus; in pci_dt_probe()
128 host->bus_max = bus_max; in pci_dt_probe()
129 host->nr_addr_spaces = nr_addr_spaces; in pci_dt_probe()
131 data = (fdt32_t *)prop->data; in pci_dt_probe()
132 as = &host->addr_space[0]; in pci_dt_probe()
146 as->type = of_flags_to_pci_type(fdt32_to_cpu(data[0])); in pci_dt_probe()
147 as->pci_start = ((u64)fdt32_to_cpu(data[1]) << 32) | in pci_dt_probe()
151 as->start = fdt32_to_cpu(data[3]); in pci_dt_probe()
152 as->size = ((u64)fdt32_to_cpu(data[4]) << 32) | in pci_dt_probe()
155 as->start = ((u64)fdt32_to_cpu(data[3]) << 32) | in pci_dt_probe()
157 as->size = ((u64)fdt32_to_cpu(data[5]) << 32) | in pci_dt_probe()
171 struct pci_addr_space *as = &host->addr_space[0]; in pci_alloc_resource()
187 for (i = 0; i < host->nr_addr_spaces; i++) { in pci_alloc_resource()
188 if (as->type == type) in pci_alloc_resource()
193 if (i >= host->nr_addr_spaces) { in pci_alloc_resource()
202 pci_addr = ALIGN(as->pci_start + as->allocated, size); in pci_alloc_resource()
203 size += pci_addr - (as->pci_start + as->allocated); in pci_alloc_resource()
204 assert(as->allocated + size <= as->size); in pci_alloc_resource()
206 as->allocated += size; in pci_alloc_resource()
230 /* We are only interested in normal PCI devices */ in pci_probe()
267 struct pci_addr_space *as = &host->addr_space[0]; in pci_host_bridge_get_paddr()
270 for (i = 0; i < host->nr_addr_spaces; i++) { in pci_host_bridge_get_paddr()
271 if (pci_addr >= as->pci_start && in pci_host_bridge_get_paddr()
272 pci_addr < as->pci_start + as->size) in pci_host_bridge_get_paddr()
273 return as->start + (pci_addr - as->pci_start); in pci_host_bridge_get_paddr()
282 return host->start + (devfn << PCI_ECAM_DEVFN_SHIFT); in pci_get_dev_conf()