Lines Matching refs:hose

211 	struct pci_controller *hose = pci_bus_to_host(bus);  in pcibios_setup_bridge()  local
213 if (hose->controller_ops.setup_bridge) in pcibios_setup_bridge()
214 hose->controller_ops.setup_bridge(bus, type); in pcibios_setup_bridge()
264 static resource_size_t pcibios_io_size(const struct pci_controller *hose) in pcibios_io_size() argument
267 return hose->pci_io_size; in pcibios_io_size()
269 return resource_size(&hose->io_resource); in pcibios_io_size()
276 struct pci_controller *hose; in pcibios_vaddr_is_ioport() local
280 list_for_each_entry(hose, &hose_list, list_node) { in pcibios_vaddr_is_ioport()
281 size = pcibios_io_size(hose); in pcibios_vaddr_is_ioport()
282 if (address >= hose->io_base_virt && in pcibios_vaddr_is_ioport()
283 address < (hose->io_base_virt + size)) { in pcibios_vaddr_is_ioport()
294 struct pci_controller *hose; in pci_address_to_pio() local
299 list_for_each_entry(hose, &hose_list, list_node) { in pci_address_to_pio()
300 size = pcibios_io_size(hose); in pci_address_to_pio()
301 if (address >= hose->io_base_phys && in pci_address_to_pio()
302 address < (hose->io_base_phys + size)) { in pci_address_to_pio()
304 (unsigned long)hose->io_base_virt - _IO_BASE; in pci_address_to_pio()
305 ret = base + (address - hose->io_base_phys); in pci_address_to_pio()
320 struct pci_controller *hose = pci_bus_to_host(bus); in pci_domain_nr() local
322 return hose->global_number; in pci_domain_nr()
336 struct pci_controller *hose, *tmp; in pci_find_hose_for_OF_device() local
337 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) in pci_find_hose_for_OF_device()
338 if (hose->dn == node) in pci_find_hose_for_OF_device()
339 return hose; in pci_find_hose_for_OF_device()
347 struct pci_controller *hose; in pci_find_controller_for_domain() local
349 list_for_each_entry(hose, &hose_list, list_node) in pci_find_controller_for_domain()
350 if (hose->global_number == domain_nr) in pci_find_controller_for_domain()
351 return hose; in pci_find_controller_for_domain()
413 struct pci_controller *hose = pci_bus_to_host(pdev->bus); in pci_iobar_pfn() local
416 if (!hose) in pci_iobar_pfn()
420 ioaddr -= (unsigned long)hose->io_base_virt - _IO_BASE; in pci_iobar_pfn()
422 vma->vm_pgoff += (ioaddr + hose->io_base_phys) >> PAGE_SHIFT; in pci_iobar_pfn()
479 struct pci_controller *hose = pci_bus_to_host(bus); in pci_legacy_read() local
480 struct resource *rp = &hose->io_resource; in pci_legacy_read()
488 offset = (unsigned long)hose->io_base_virt - _IO_BASE; in pci_legacy_read()
495 addr = hose->io_base_virt + port; in pci_legacy_read()
519 struct pci_controller *hose = pci_bus_to_host(bus); in pci_legacy_write() local
520 struct resource *rp = &hose->io_resource; in pci_legacy_write()
528 offset = (unsigned long)hose->io_base_virt - _IO_BASE; in pci_legacy_write()
535 addr = hose->io_base_virt + port; in pci_legacy_write()
565 struct pci_controller *hose = pci_bus_to_host(bus); in pci_mmap_legacy_page_range() local
585 if ((offset + size) > hose->isa_mem_size) { in pci_mmap_legacy_page_range()
593 offset += hose->isa_mem_phys; in pci_mmap_legacy_page_range()
595 unsigned long io_offset = (unsigned long)hose->io_base_virt - _IO_BASE; in pci_mmap_legacy_page_range()
597 rp = &hose->io_resource; in pci_mmap_legacy_page_range()
602 offset += hose->io_base_phys; in pci_mmap_legacy_page_range()
662 void pci_process_bridge_OF_ranges(struct pci_controller *hose, in pci_process_bridge_OF_ranges() argument
697 if (hose->pci_io_size) { in pci_process_bridge_OF_ranges()
708 hose->io_base_virt = ioremap(range.cpu_addr, in pci_process_bridge_OF_ranges()
714 (unsigned long)hose->io_base_virt; in pci_process_bridge_OF_ranges()
719 hose->pci_io_size = range.pci_addr + range.size; in pci_process_bridge_OF_ranges()
720 hose->io_base_phys = range.cpu_addr - range.pci_addr; in pci_process_bridge_OF_ranges()
723 res = &hose->io_resource; in pci_process_bridge_OF_ranges()
744 hose->isa_mem_phys = range.cpu_addr; in pci_process_bridge_OF_ranges()
745 hose->isa_mem_size = range.size; in pci_process_bridge_OF_ranges()
749 hose->mem_offset[memno] = range.cpu_addr - in pci_process_bridge_OF_ranges()
751 res = &hose->mem_resources[memno++]; in pci_process_bridge_OF_ranges()
767 struct pci_controller *hose = pci_bus_to_host(bus); in pci_proc_domain() local
772 return hose->global_number != 0; in pci_proc_domain()
789 struct pci_controller *hose = pci_bus_to_host(dev->bus); in pcibios_fixup_resources() local
792 if (!hose) { in pcibios_fixup_resources()
842 struct pci_controller *hose = pci_bus_to_host(bus); in pcibios_uninitialized_bridge_resource() local
873 if ((hose->mem_resources[i].flags & IORESOURCE_MEM) && in pcibios_uninitialized_bridge_resource()
874 hose->mem_resources[i].start == hose->mem_offset[i]) in pcibios_uninitialized_bridge_resource()
884 offset = (unsigned long)hose->io_base_virt - _IO_BASE; in pcibios_uninitialized_bridge_resource()
1262 struct pci_controller *hose = pci_bus_to_host(bus); in pcibios_reserve_legacy_regions() local
1270 if (!(hose->io_resource.flags & IORESOURCE_IO)) in pcibios_reserve_legacy_regions()
1272 offset = (unsigned long)hose->io_base_virt - _IO_BASE; in pcibios_reserve_legacy_regions()
1280 if (request_resource(&hose->io_resource, res)) { in pcibios_reserve_legacy_regions()
1290 pres = &hose->mem_resources[i]; in pcibios_reserve_legacy_regions()
1291 offset = hose->mem_offset[i]; in pcibios_reserve_legacy_regions()
1426 resource_size_t pcibios_io_space_offset(struct pci_controller *hose) in pcibios_io_space_offset() argument
1428 return (unsigned long) hose->io_base_virt - _IO_BASE; in pcibios_io_space_offset()
1431 static void pcibios_setup_phb_resources(struct pci_controller *hose, in pcibios_setup_phb_resources() argument
1439 res = &hose->io_resource; in pcibios_setup_phb_resources()
1444 hose->dn, hose->global_number); in pcibios_setup_phb_resources()
1446 offset = pcibios_io_space_offset(hose); in pcibios_setup_phb_resources()
1455 res = &hose->mem_resources[i]; in pcibios_setup_phb_resources()
1459 offset = hose->mem_offset[i]; in pcibios_setup_phb_resources()
1503 fake_pci_bus(struct pci_controller *hose, int busnr) in fake_pci_bus() argument
1507 if (hose == NULL) { in fake_pci_bus()
1511 bus.sysdata = hose; in fake_pci_bus()
1512 bus.ops = hose? hose->ops: &null_pci_ops; in fake_pci_bus()
1517 int early_##rw##_config_##size(struct pci_controller *hose, int bus, \
1520 return pci_bus_##rw##_config_##size(fake_pci_bus(hose, bus), \
1531 int early_find_capability(struct pci_controller *hose, int bus, int devfn, in EARLY_PCI_OP()
1534 return pci_bus_find_capability(fake_pci_bus(hose, bus), devfn, cap); in EARLY_PCI_OP()
1539 struct pci_controller *hose = bus->sysdata; in pcibios_get_phb_of_node() local
1541 return of_node_get(hose->dn); in pcibios_get_phb_of_node()
1548 void pcibios_scan_phb(struct pci_controller *hose) in pcibios_scan_phb() argument
1552 struct device_node *node = hose->dn; in pcibios_scan_phb()
1558 pcibios_setup_phb_io_space(hose); in pcibios_scan_phb()
1561 pcibios_setup_phb_resources(hose, &resources); in pcibios_scan_phb()
1563 hose->busn.start = hose->first_busno; in pcibios_scan_phb()
1564 hose->busn.end = hose->last_busno; in pcibios_scan_phb()
1565 hose->busn.flags = IORESOURCE_BUS; in pcibios_scan_phb()
1566 pci_add_resource(&resources, &hose->busn); in pcibios_scan_phb()
1569 bus = pci_create_root_bus(hose->parent, hose->first_busno, in pcibios_scan_phb()
1570 hose->ops, hose, &resources); in pcibios_scan_phb()
1573 hose->global_number); in pcibios_scan_phb()
1577 hose->bus = bus; in pcibios_scan_phb()
1581 if (node && hose->controller_ops.probe_mode) in pcibios_scan_phb()
1582 mode = hose->controller_ops.probe_mode(bus); in pcibios_scan_phb()
1589 hose->last_busno = pci_scan_child_bus(bus); in pcibios_scan_phb()
1590 pci_bus_update_busn_res_end(bus, hose->last_busno); in pcibios_scan_phb()
1597 ppc_md.pcibios_fixup_phb(hose); in pcibios_scan_phb()