/openbmc/u-boot/drivers/pci/ |
H A D | pci.c | 28 int pci_hose_##rw##_config_##size(struct pci_controller *hose, \ 32 return hose->rw##_##size(hose, dev, offset, value); \ 45 struct pci_controller *hose = pci_bus_to_hose(PCI_BUS(dev)); \ 47 if (!hose) \ 53 return pci_hose_##rw##_config_##size(hose, dev, offset, value); \ 64 int pci_hose_read_config_##size##_via_dword(struct pci_controller *hose,\ 70 if (pci_hose_read_config_dword(hose, dev, offset & 0xfc, &val32) < 0) { \ 81 int pci_hose_write_config_##size##_via_dword(struct pci_controller *hose,\ 87 if (pci_hose_read_config_dword(hose, dev, offset & 0xfc, &val32) < 0)\ 95 if (pci_hose_write_config_dword(hose, dev, offset & 0xfc, val32) < 0)\ [all …]
|
H A D | pci_auto_old.c | 28 void pciauto_setup_device(struct pci_controller *hose, in pciauto_setup_device() argument 47 pci_hose_read_config_word(hose, dev, PCI_COMMAND, &cmdstat); in pciauto_setup_device() 54 pci_hose_write_config_dword(hose, dev, bar, 0xffffffff); in pciauto_setup_device() 56 pci_hose_read_config_dword(hose, dev, bar, &bar_response); in pciauto_setup_device() 83 pci_hose_write_config_dword(hose, dev, bar + 4, in pciauto_setup_device() 86 pci_hose_read_config_dword(hose, dev, bar + 4, in pciauto_setup_device() 114 pci_hose_write_config_dword(hose, dev, bar, (u32)bar_value); in pciauto_setup_device() 119 pci_hose_write_config_dword(hose, dev, bar, (u32)(bar_value>>32)); in pciauto_setup_device() 126 pci_hose_write_config_dword(hose, dev, bar, 0x00000000); in pciauto_setup_device() 142 pci_hose_read_config_byte(hose, dev, PCI_HEADER_TYPE, &header_type); in pciauto_setup_device() [all …]
|
H A D | fsl_pci_init.c | 71 int fsl_setup_hose(struct pci_controller *hose, unsigned long addr) in fsl_setup_hose() argument 76 memset(hose, 0, sizeof(struct pci_controller)); in fsl_setup_hose() 78 pci_setup_indirect(hose, (u32)&pci->cfg_addr, (u32)&pci->cfg_data); in fsl_setup_hose() 80 return fsl_is_pci_agent(hose); in fsl_setup_hose() 83 static int fsl_pci_setup_inbound_windows(struct pci_controller *hose, in fsl_pci_setup_inbound_windows() argument 87 struct pci_region *r = hose->regions + hose->region_count; in fsl_pci_setup_inbound_windows() 194 hose->region_count = r - hose->regions; in fsl_pci_setup_inbound_windows() 292 void fsl_pci_init(struct pci_controller *hose, struct fsl_pci_info *pci_info) in fsl_pci_init() argument 312 struct pci_region *reg = hose->regions + hose->region_count; in fsl_pci_init() 313 pci_dev_t dev = PCI_BDF(hose->first_busno, 0, 0); in fsl_pci_init() [all …]
|
H A D | pci_auto_common.c | 80 void pciauto_config_init(struct pci_controller *hose) in pciauto_config_init() argument 84 hose->pci_io = NULL; in pciauto_config_init() 85 hose->pci_mem = NULL; in pciauto_config_init() 86 hose->pci_prefetch = NULL; in pciauto_config_init() 88 for (i = 0; i < hose->region_count; i++) { in pciauto_config_init() 89 switch (hose->regions[i].flags) { in pciauto_config_init() 91 if (!hose->pci_io || in pciauto_config_init() 92 hose->pci_io->size < hose->regions[i].size) in pciauto_config_init() 93 hose->pci_io = hose->regions + i; in pciauto_config_init() 96 if (!hose->pci_mem || in pciauto_config_init() [all …]
|
H A D | pci_sh4.c | 18 int pci_sh4_init(struct pci_controller *hose) in pci_sh4_init() argument 20 hose->first_busno = 0; in pci_sh4_init() 21 hose->region_count = 0; in pci_sh4_init() 22 hose->last_busno = 0xff; in pci_sh4_init() 25 pci_set_region(hose->regions + 0, in pci_sh4_init() 30 hose->region_count++; in pci_sh4_init() 33 pci_set_region(hose->regions + 1, in pci_sh4_init() 38 hose->region_count++; in pci_sh4_init() 42 pci_set_region(hose->regions + 2, in pci_sh4_init() 47 hose->region_count++; in pci_sh4_init() [all …]
|
H A D | pci_msc01.c | 17 struct pci_controller hose; member 22 hose_to_msc01(struct pci_controller *hose) in hose_to_msc01() argument 24 return container_of(hose, struct msc01_pci_controller, hose); in hose_to_msc01() 64 static int msc01_read_config_dword(struct pci_controller *hose, pci_dev_t dev, in msc01_read_config_dword() argument 67 struct msc01_pci_controller *msc01 = hose_to_msc01(hose); in msc01_read_config_dword() 73 static int msc01_write_config_dword(struct pci_controller *hose, pci_dev_t dev, in msc01_write_config_dword() argument 76 struct msc01_pci_controller *gt = hose_to_msc01(hose); in msc01_write_config_dword() 90 struct pci_controller *hose; in msc01_pci_init() local 95 hose = &msc01->hose; in msc01_pci_init() 97 hose->first_busno = 0; in msc01_pci_init() [all …]
|
/openbmc/u-boot/board/freescale/common/ |
H A D | cds_via.c | 10 void mpc85xx_config_via(struct pci_controller *hose, in mpc85xx_config_via() argument 17 pci_hose_write_config_byte(hose, dev, 0x48, 0x08); in mpc85xx_config_via() 19 pci_hose_read_config_dword(hose, dev, PCI_COMMAND, &cmdstat); in mpc85xx_config_via() 21 pci_hose_write_config_dword(hose, dev, PCI_COMMAND, cmdstat); in mpc85xx_config_via() 22 pci_hose_write_config_byte(hose, dev, PCI_CACHE_LINE_SIZE, 0x08); in mpc85xx_config_via() 23 pci_hose_write_config_byte(hose, dev, PCI_LATENCY_TIMER, 0x80); in mpc85xx_config_via() 32 pci_hose_write_config_byte(hose, bridge, PCI_IO_BASE, 0); in mpc85xx_config_via() 33 pci_hose_write_config_word(hose, bridge, PCI_IO_BASE_UPPER16, 0); in mpc85xx_config_via() 34 pci_hose_write_config_byte(hose, bridge, PCI_IO_LIMIT, 0x10); in mpc85xx_config_via() 35 pci_hose_write_config_word(hose, bridge, PCI_IO_LIMIT_UPPER16, 0); in mpc85xx_config_via() [all …]
|
/openbmc/linux/arch/powerpc/sysdev/ |
H A D | fsl_pci.c | 68 static int fsl_pcie_check_link(struct pci_controller *hose) in fsl_pcie_check_link() argument 72 if (hose->indirect_type & PPC_INDIRECT_TYPE_FSL_CFG_REG_LINK) { in fsl_pcie_check_link() 73 if (hose->ops->read == fsl_indirect_read_config) in fsl_pcie_check_link() 74 __indirect_read_config(hose, hose->first_busno, 0, in fsl_pcie_check_link() 77 early_read_config_dword(hose, 0, 0, PCIE_LTSSM, &val); in fsl_pcie_check_link() 81 struct ccsr_pci __iomem *pci = hose->private_data; in fsl_pcie_check_link() 95 struct pci_controller *hose = pci_bus_to_host(bus); in fsl_indirect_read_config() local 97 if (fsl_pcie_check_link(hose)) in fsl_indirect_read_config() 98 hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK; in fsl_indirect_read_config() 100 hose->indirect_type &= ~PPC_INDIRECT_TYPE_NO_PCIE_LINK; in fsl_indirect_read_config() [all …]
|
H A D | indirect_pci.c | 18 int __indirect_read_config(struct pci_controller *hose, in __indirect_read_config() argument 26 if (hose->indirect_type & PPC_INDIRECT_TYPE_NO_PCIE_LINK) { in __indirect_read_config() 27 if (bus_number != hose->first_busno) in __indirect_read_config() 34 if (ppc_md.pci_exclude_device(hose, bus_number, devfn)) in __indirect_read_config() 37 if (hose->indirect_type & PPC_INDIRECT_TYPE_SET_CFG_TYPE) in __indirect_read_config() 38 if (bus_number != hose->first_busno) in __indirect_read_config() 41 bus_no = (bus_number == hose->first_busno) ? in __indirect_read_config() 42 hose->self_busno : bus_number; in __indirect_read_config() 44 if (hose->indirect_type & PPC_INDIRECT_TYPE_EXT_REG) in __indirect_read_config() 49 if (hose->indirect_type & PPC_INDIRECT_TYPE_BIG_ENDIAN) in __indirect_read_config() [all …]
|
/openbmc/linux/arch/powerpc/platforms/maple/ |
H A D | pci.c | 96 static volatile void __iomem *u3_agp_cfg_access(struct pci_controller* hose, in u3_agp_cfg_access() argument 101 if (bus == hose->first_busno) { in u3_agp_cfg_access() 110 out_le32(hose->cfg_addr, caddr); in u3_agp_cfg_access() 111 } while (in_le32(hose->cfg_addr) != caddr); in u3_agp_cfg_access() 114 return hose->cfg_data + offset; in u3_agp_cfg_access() 120 struct pci_controller *hose; in u3_agp_read_config() local 123 hose = pci_bus_to_host(bus); in u3_agp_read_config() 124 if (hose == NULL) in u3_agp_read_config() 127 addr = u3_agp_cfg_access(hose, bus->number, devfn, offset); in u3_agp_read_config() 151 struct pci_controller *hose; in u3_agp_write_config() local [all …]
|
/openbmc/linux/arch/alpha/kernel/ |
H A D | sys_rawhide.c | 47 rawhide_update_irq_hw(int hose, int mask) in rawhide_update_irq_hw() argument 49 *(vuip)MCPCIA_INT_MASK0(MCPCIA_HOSE2MID(hose)) = mask; in rawhide_update_irq_hw() 51 *(vuip)MCPCIA_INT_MASK0(MCPCIA_HOSE2MID(hose)); in rawhide_update_irq_hw() 60 unsigned int mask, hose; in rawhide_enable_irq() local 64 hose = irq / 24; in rawhide_enable_irq() 65 if (!hose_exists(hose)) /* if hose non-existent, exit */ in rawhide_enable_irq() 68 irq -= hose * 24; in rawhide_enable_irq() 72 mask |= cached_irq_masks[hose]; in rawhide_enable_irq() 73 cached_irq_masks[hose] = mask; in rawhide_enable_irq() 74 rawhide_update_irq_hw(hose, mask); in rawhide_enable_irq() [all …]
|
H A D | pci.c | 99 struct pci_controller *hose = dev->sysdata; in quirk_cypress() local 100 struct pci_iommu_arena *pci = hose->sg_pci; in quirk_cypress() 131 struct pci_controller *hose = dev->sysdata; in pcibios_align_resource() local 137 if (start - hose->io_space->start < PCIBIOS_MIN_IO) in pcibios_align_resource() 138 start = PCIBIOS_MIN_IO + hose->io_space->start; in pcibios_align_resource() 148 if (start - hose->mem_space->start < PCIBIOS_MIN_MEM) in pcibios_align_resource() 149 start = PCIBIOS_MIN_MEM + hose->mem_space->start; in pcibios_align_resource() 170 if (hose->sparse_mem_base && size <= 7 * 16*MB) { in pcibios_align_resource() 323 struct pci_controller *hose; in common_init_pci() local 334 for (next_busno = 0, hose = hose_head; hose; hose = hose->next) { in common_init_pci() [all …]
|
H A D | pci-noop.c | 34 struct pci_controller *hose; in alloc_pci_controller() local 36 hose = memblock_alloc(sizeof(*hose), SMP_CACHE_BYTES); in alloc_pci_controller() 37 if (!hose) in alloc_pci_controller() 39 sizeof(*hose)); in alloc_pci_controller() 41 *hose_tail = hose; in alloc_pci_controller() 42 hose_tail = &hose->next; in alloc_pci_controller() 44 return hose; in alloc_pci_controller() 62 struct pci_controller *hose; in SYSCALL_DEFINE3() local 66 for (hose = hose_head; hose; hose = hose->next) in SYSCALL_DEFINE3() 67 if (hose->index == bus) in SYSCALL_DEFINE3() [all …]
|
H A D | console.c | 41 struct pci_controller *hose = NULL; in locate_and_init_vga() local 49 if (!hose) in locate_and_init_vga() 50 hose = dev->sysdata; in locate_and_init_vga() 52 hose = sel_func(hose, dev->sysdata); in locate_and_init_vga() 56 if (!hose || (conswitchp == &vga_con && pci_vga_hose == hose)) in locate_and_init_vga() 60 alpha_vga.start += hose->io_space->start; in locate_and_init_vga() 61 alpha_vga.end += hose->io_space->start; in locate_and_init_vga() 62 request_resource(hose->io_space, &alpha_vga); in locate_and_init_vga() 65 pci_vga_hose = hose; in locate_and_init_vga() 77 struct pci_controller *hose; in find_console_vga_hose() local [all …]
|
H A D | core_mcpcia.c | 88 struct pci_controller *hose) in conf_read() argument 91 unsigned long mid = MCPCIA_HOSE2MID(hose->index); in conf_read() 136 struct pci_controller *hose) in conf_write() argument 139 unsigned long mid = MCPCIA_HOSE2MID(hose->index); in conf_write() 171 struct pci_controller *hose, unsigned long *pci_addr, in mk_conf_addr() argument 179 bus, devfn, hose->index, where, pci_addr, type1)); in mk_conf_addr() 188 addr |= hose->config_space_base; in mk_conf_addr() 199 struct pci_controller *hose = bus->sysdata; in mcpcia_read_config() local 203 if (mk_conf_addr(bus, devfn, where, hose, &addr, &type1)) in mcpcia_read_config() 207 w = conf_read(addr, type1, hose); in mcpcia_read_config() [all …]
|
H A D | core_marvel.c | 209 struct pci_controller *hose = alloc_pci_controller(); in io7_init_hose() local 214 hose->index = hose_index++; /* arbitrary */ in io7_init_hose() 224 if (hose->index == 0) in io7_init_hose() 225 pci_isa_hose = hose; in io7_init_hose() 228 io7_port->hose = hose; in io7_init_hose() 229 hose->sysdata = io7_port; in io7_init_hose() 231 hose->io_space = alloc_resource(); in io7_init_hose() 232 hose->mem_space = alloc_resource(); in io7_init_hose() 238 hose->sparse_mem_base = hose->sparse_io_base = 0; in io7_init_hose() 239 hose->dense_mem_base = IO7_MEM_PHYS(io7->pe, port); in io7_init_hose() [all …]
|
/openbmc/linux/arch/sh/drivers/pci/ |
H A D | pci.c | 31 static void pcibios_scanbus(struct pci_channel *hose) in pcibios_scanbus() argument 45 for (i = 0; i < hose->nr_resources; i++) { in pcibios_scanbus() 46 res = hose->resources + i; in pcibios_scanbus() 51 offset = hose->io_offset; in pcibios_scanbus() 53 offset = hose->mem_offset; in pcibios_scanbus() 59 bridge->sysdata = hose; in pcibios_scanbus() 61 bridge->ops = hose->pci_ops; in pcibios_scanbus() 71 hose->bus = bridge->bus; in pcibios_scanbus() 73 need_domain_info = need_domain_info || hose->index; in pcibios_scanbus() 74 hose->need_domain_info = need_domain_info; in pcibios_scanbus() [all …]
|
H A D | common.c | 11 static struct pci_dev *fake_pci_dev(struct pci_channel *hose, in fake_pci_dev() argument 18 dev.sysdata = hose; in fake_pci_dev() 21 bus.sysdata = hose; in fake_pci_dev() 22 bus.ops = hose->pci_ops; in fake_pci_dev() 34 int __init early_##rw##_config_##size(struct pci_channel *hose, \ 38 fake_pci_dev(hose, top_bus, bus, devfn), \ 49 int __init pci_is_66mhz_capable(struct pci_channel *hose, in EARLY_PCI_OP() 62 if (early_read_config_word(hose, top_bus, current_bus, in EARLY_PCI_OP() 73 early_read_config_word(hose, top_bus, current_bus, in EARLY_PCI_OP() 90 struct pci_channel *hose = from_timer(hose, t, err_timer); in pcibios_enable_err() local [all …]
|
/openbmc/linux/arch/powerpc/kernel/ |
H A D | pci_64.c | 42 struct pci_controller *hose, *tmp; in pcibios_init() local 57 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) in pcibios_init() 58 pcibios_scan_phb(hose); in pcibios_init() 64 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) in pcibios_init() 65 pci_bus_add_devices(hose->bus); in pcibios_init() 80 struct pci_controller *hose; in pcibios_unmap_io_space() local 110 hose = pci_bus_to_host(bus); in pcibios_unmap_io_space() 112 pr_debug("IO unmapping for PHB %pOF\n", hose->dn); in pcibios_unmap_io_space() 113 pr_debug(" alloc=0x%p\n", hose->io_base_alloc); in pcibios_unmap_io_space() 115 iounmap(hose->io_base_alloc); in pcibios_unmap_io_space() [all …]
|
H A D | pci-common.c | 230 struct pci_controller *hose = pci_bus_to_host(bus); in pcibios_setup_bridge() local 232 if (hose->controller_ops.setup_bridge) in pcibios_setup_bridge() 233 hose->controller_ops.setup_bridge(bus, type); in pcibios_setup_bridge() 283 static resource_size_t pcibios_io_size(const struct pci_controller *hose) in pcibios_io_size() argument 286 return hose->pci_io_size; in pcibios_io_size() 288 return resource_size(&hose->io_resource); in pcibios_io_size() 295 struct pci_controller *hose; in pcibios_vaddr_is_ioport() local 299 list_for_each_entry(hose, &hose_list, list_node) { in pcibios_vaddr_is_ioport() 300 size = pcibios_io_size(hose); in pcibios_vaddr_is_ioport() 301 if (address >= hose->io_base_virt && in pcibios_vaddr_is_ioport() [all …]
|
/openbmc/linux/arch/powerpc/platforms/powermac/ |
H A D | pci.c | 140 struct pci_controller *hose; in macrisc_cfg_map_bus() local 142 hose = pci_bus_to_host(bus); in macrisc_cfg_map_bus() 143 if (hose == NULL) in macrisc_cfg_map_bus() 146 if (bus->number == hose->first_busno) { in macrisc_cfg_map_bus() 155 out_le32(hose->cfg_addr, caddr); in macrisc_cfg_map_bus() 156 } while (in_le32(hose->cfg_addr) != caddr); in macrisc_cfg_map_bus() 159 return hose->cfg_data + offset; in macrisc_cfg_map_bus() 204 static void __init setup_chaos(struct pci_controller *hose, in setup_chaos() argument 208 hose->ops = &chaos_pci_ops; in setup_chaos() 209 hose->cfg_addr = ioremap(addr->start + 0x800000, 0x1000); in setup_chaos() [all …]
|
/openbmc/u-boot/arch/powerpc/cpu/mpc85xx/ |
H A D | pci.c | 46 struct pci_controller * hose; in pci_mpc85xx_init() local 50 hose = &pci_hose[0]; in pci_mpc85xx_init() 52 hose->first_busno = 0; in pci_mpc85xx_init() 53 hose->last_busno = 0xff; in pci_mpc85xx_init() 55 pci_setup_indirect(hose, in pci_mpc85xx_init() 62 dev = PCI_BDF(hose->first_busno, 0, 0); in pci_mpc85xx_init() 63 pci_hose_read_config_word (hose, dev, PCI_COMMAND, ®16); in pci_mpc85xx_init() 65 pci_hose_write_config_word(hose, dev, PCI_COMMAND, reg16); in pci_mpc85xx_init() 70 pci_hose_write_config_word(hose, dev, PCI_STATUS, 0xffff); in pci_mpc85xx_init() 79 pci_hose_write_config_word(hose, dev, PCIX_COMMAND, reg16); in pci_mpc85xx_init() [all …]
|
/openbmc/linux/arch/mips/pci/ |
H A D | pci-legacy.c | 50 struct pci_controller *hose = dev->sysdata; in pcibios_align_resource() local 55 if (start < PCIBIOS_MIN_IO + hose->io_resource->start) in pcibios_align_resource() 56 start = PCIBIOS_MIN_IO + hose->io_resource->start; in pcibios_align_resource() 65 if (start < PCIBIOS_MIN_MEM + hose->mem_resource->start) in pcibios_align_resource() 66 start = PCIBIOS_MIN_MEM + hose->mem_resource->start; in pcibios_align_resource() 72 static void pcibios_scanbus(struct pci_controller *hose) in pcibios_scanbus() argument 85 if (hose->get_busno && pci_has_flag(PCI_PROBE_ONLY)) in pcibios_scanbus() 86 next_busno = (*hose->get_busno)(); in pcibios_scanbus() 89 hose->mem_resource, hose->mem_offset); in pcibios_scanbus() 91 hose->io_resource, hose->io_offset); in pcibios_scanbus() [all …]
|
/openbmc/linux/arch/powerpc/platforms/pasemi/ |
H A D | pci.c | 40 static void volatile __iomem *pa_pxp_cfg_addr(struct pci_controller *hose, in pa_pxp_cfg_addr() argument 43 return hose->cfg_data + PA_PXP_CFA(bus, devfn, offset); in pa_pxp_cfg_addr() 61 struct pci_controller *hose; in workaround_5945() local 69 hose = pci_bus_to_host(bus); in workaround_5945() 71 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset & ~0x3); in workaround_5945() 78 dummy = pa_pxp_cfg_addr(hose, bus->number, devfn, 0x10); in workaround_5945() 159 struct pci_controller *hose; in pa_pxp_read_config() local 162 hose = pci_bus_to_host(bus); in pa_pxp_read_config() 163 if (!hose) in pa_pxp_read_config() 172 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset); in pa_pxp_read_config() [all …]
|
/openbmc/u-boot/arch/powerpc/cpu/mpc83xx/ |
H A D | pci.c | 31 struct pci_controller *hose = &pci_hose[bus]; in pci_init_bus() local 44 hose->regions[i] = *reg; in pci_init_bus() 45 hose->region_count++; in pci_init_bus() 71 i = hose->region_count++; in pci_init_bus() 72 hose->regions[i].bus_start = 0; in pci_init_bus() 73 hose->regions[i].phys_start = 0; in pci_init_bus() 74 hose->regions[i].size = gd->ram_size; in pci_init_bus() 75 hose->regions[i].flags = PCI_REGION_MEM | PCI_REGION_SYS_MEMORY; in pci_init_bus() 77 hose->first_busno = pci_last_busno() + 1; in pci_init_bus() 78 hose->last_busno = 0xff; in pci_init_bus() [all …]
|