/Linux-v4.19/arch/powerpc/sysdev/ |
D | fsl_pci.c | 69 static int fsl_pcie_check_link(struct pci_controller *hose) in fsl_pcie_check_link() argument 73 if (hose->indirect_type & PPC_INDIRECT_TYPE_FSL_CFG_REG_LINK) { in fsl_pcie_check_link() 74 if (hose->ops->read == fsl_indirect_read_config) in fsl_pcie_check_link() 75 __indirect_read_config(hose, hose->first_busno, 0, in fsl_pcie_check_link() 78 early_read_config_dword(hose, 0, 0, PCIE_LTSSM, &val); in fsl_pcie_check_link() 82 struct ccsr_pci __iomem *pci = hose->private_data; in fsl_pcie_check_link() 96 struct pci_controller *hose = pci_bus_to_host(bus); in fsl_indirect_read_config() local 98 if (fsl_pcie_check_link(hose)) in fsl_indirect_read_config() 99 hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK; in fsl_indirect_read_config() 101 hose->indirect_type &= ~PPC_INDIRECT_TYPE_NO_PCIE_LINK; in fsl_indirect_read_config() [all …]
|
D | indirect_pci.c | 23 int __indirect_read_config(struct pci_controller *hose, in __indirect_read_config() argument 31 if (hose->indirect_type & PPC_INDIRECT_TYPE_NO_PCIE_LINK) { in __indirect_read_config() 32 if (bus_number != hose->first_busno) in __indirect_read_config() 39 if (ppc_md.pci_exclude_device(hose, bus_number, devfn)) in __indirect_read_config() 42 if (hose->indirect_type & PPC_INDIRECT_TYPE_SET_CFG_TYPE) in __indirect_read_config() 43 if (bus_number != hose->first_busno) in __indirect_read_config() 46 bus_no = (bus_number == hose->first_busno) ? in __indirect_read_config() 47 hose->self_busno : bus_number; in __indirect_read_config() 49 if (hose->indirect_type & PPC_INDIRECT_TYPE_EXT_REG) in __indirect_read_config() 54 if (hose->indirect_type & PPC_INDIRECT_TYPE_BIG_ENDIAN) in __indirect_read_config() [all …]
|
/Linux-v4.19/arch/alpha/kernel/ |
D | sys_rawhide.c | 48 rawhide_update_irq_hw(int hose, int mask) in rawhide_update_irq_hw() argument 50 *(vuip)MCPCIA_INT_MASK0(MCPCIA_HOSE2MID(hose)) = mask; in rawhide_update_irq_hw() 52 *(vuip)MCPCIA_INT_MASK0(MCPCIA_HOSE2MID(hose)); in rawhide_update_irq_hw() 61 unsigned int mask, hose; in rawhide_enable_irq() local 65 hose = irq / 24; in rawhide_enable_irq() 66 if (!hose_exists(hose)) /* if hose non-existent, exit */ in rawhide_enable_irq() 69 irq -= hose * 24; in rawhide_enable_irq() 73 mask |= cached_irq_masks[hose]; in rawhide_enable_irq() 74 cached_irq_masks[hose] = mask; in rawhide_enable_irq() 75 rawhide_update_irq_hw(hose, mask); in rawhide_enable_irq() [all …]
|
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() 324 struct pci_controller *hose; in common_init_pci() local 335 for (next_busno = 0, hose = hose_head; hose; hose = hose->next) { in common_init_pci() [all …]
|
D | pci-noop.c | 34 struct pci_controller *hose; in alloc_pci_controller() local 36 hose = alloc_bootmem(sizeof(*hose)); in alloc_pci_controller() 38 *hose_tail = hose; in alloc_pci_controller() 39 hose_tail = &hose->next; in alloc_pci_controller() 41 return hose; in alloc_pci_controller() 53 struct pci_controller *hose; in SYSCALL_DEFINE3() local 57 for (hose = hose_head; hose; hose = hose->next) in SYSCALL_DEFINE3() 58 if (hose->index == bus) in SYSCALL_DEFINE3() 60 if (!hose) in SYSCALL_DEFINE3() 65 hose = pci_isa_hose; in SYSCALL_DEFINE3() [all …]
|
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 …]
|
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 …]
|
D | core_marvel.c | 204 struct pci_controller *hose = alloc_pci_controller(); in io7_init_hose() local 209 hose->index = hose_index++; /* arbitrary */ in io7_init_hose() 219 if (hose->index == 0) in io7_init_hose() 220 pci_isa_hose = hose; in io7_init_hose() 223 io7_port->hose = hose; in io7_init_hose() 224 hose->sysdata = io7_port; in io7_init_hose() 226 hose->io_space = alloc_resource(); in io7_init_hose() 227 hose->mem_space = alloc_resource(); in io7_init_hose() 233 hose->sparse_mem_base = hose->sparse_io_base = 0; in io7_init_hose() 234 hose->dense_mem_base = IO7_MEM_PHYS(io7->pe, port); in io7_init_hose() [all …]
|
D | core_titan.c | 119 struct pci_controller *hose = pbus->sysdata; in mk_conf_addr() local 132 addr |= hose->config_space_base; in mk_conf_addr() 203 titan_pci_tbi(struct pci_controller *hose, dma_addr_t start, dma_addr_t end) in titan_pci_tbi() argument 206 (hose->index & 1) ? TITAN_pachip1 : TITAN_pachip0; in titan_pci_tbi() 213 if (hose->index & 2) in titan_pci_tbi() 250 struct pci_controller *hose; in titan_init_one_pachip_port() local 252 hose = alloc_pci_controller(); in titan_init_one_pachip_port() 254 pci_isa_hose = hose; in titan_init_one_pachip_port() 255 hose->io_space = alloc_resource(); in titan_init_one_pachip_port() 256 hose->mem_space = alloc_resource(); in titan_init_one_pachip_port() [all …]
|
D | core_tsunami.c | 95 struct pci_controller *hose = pbus->sysdata; in mk_conf_addr() local 108 addr |= hose->config_space_base; in mk_conf_addr() 178 tsunami_pci_tbi(struct pci_controller *hose, dma_addr_t start, dma_addr_t end) in tsunami_pci_tbi() argument 180 tsunami_pchip *pchip = hose->index ? TSUNAMI_pchip1 : TSUNAMI_pchip0; in tsunami_pci_tbi() 249 struct pci_controller *hose; in tsunami_init_one_pchip() local 254 hose = alloc_pci_controller(); in tsunami_init_one_pchip() 256 pci_isa_hose = hose; in tsunami_init_one_pchip() 257 hose->io_space = alloc_resource(); in tsunami_init_one_pchip() 258 hose->mem_space = alloc_resource(); in tsunami_init_one_pchip() 264 hose->sparse_mem_base = 0; in tsunami_init_one_pchip() [all …]
|
/Linux-v4.19/arch/powerpc/platforms/maple/ |
D | pci.c | 100 static volatile void __iomem *u3_agp_cfg_access(struct pci_controller* hose, in u3_agp_cfg_access() argument 105 if (bus == hose->first_busno) { in u3_agp_cfg_access() 114 out_le32(hose->cfg_addr, caddr); in u3_agp_cfg_access() 115 } while (in_le32(hose->cfg_addr) != caddr); in u3_agp_cfg_access() 118 return hose->cfg_data + offset; in u3_agp_cfg_access() 124 struct pci_controller *hose; in u3_agp_read_config() local 127 hose = pci_bus_to_host(bus); in u3_agp_read_config() 128 if (hose == NULL) in u3_agp_read_config() 131 addr = u3_agp_cfg_access(hose, bus->number, devfn, offset); in u3_agp_read_config() 155 struct pci_controller *hose; in u3_agp_write_config() local [all …]
|
/Linux-v4.19/arch/sh/drivers/pci/ |
D | pci.c | 35 static void pcibios_scanbus(struct pci_channel *hose) in pcibios_scanbus() argument 49 for (i = 0; i < hose->nr_resources; i++) { in pcibios_scanbus() 50 res = hose->resources + i; in pcibios_scanbus() 55 offset = hose->io_offset; in pcibios_scanbus() 57 offset = hose->mem_offset; in pcibios_scanbus() 63 bridge->sysdata = hose; in pcibios_scanbus() 65 bridge->ops = hose->pci_ops; in pcibios_scanbus() 75 hose->bus = bridge->bus; in pcibios_scanbus() 77 need_domain_info = need_domain_info || hose->index; in pcibios_scanbus() 78 hose->need_domain_info = need_domain_info; in pcibios_scanbus() [all …]
|
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 …]
|
D | pci-sh7780.c | 97 struct pci_channel *hose = dev_id; in sh7780_pci_err_irq() local 103 addr = __raw_readl(hose->reg_base + SH4_PCIALR); in sh7780_pci_err_irq() 108 status = __raw_readw(hose->reg_base + PCI_STATUS); in sh7780_pci_err_irq() 114 cmd = pcibios_handle_status_errors(addr, status, hose); in sh7780_pci_err_irq() 116 __raw_writew(cmd, hose->reg_base + PCI_STATUS); in sh7780_pci_err_irq() 122 status = __raw_readl(hose->reg_base + SH4_PCIAINT); in sh7780_pci_err_irq() 130 __raw_writel(cmd, hose->reg_base + SH4_PCIAINT); in sh7780_pci_err_irq() 135 status = __raw_readl(hose->reg_base + SH4_PCIINT); in sh7780_pci_err_irq() 143 __raw_writel(cmd, hose->reg_base + SH4_PCIINT); in sh7780_pci_err_irq() 150 struct pci_channel *hose = dev_id; in sh7780_pci_serr_irq() local [all …]
|
/Linux-v4.19/arch/powerpc/kernel/ |
D | pci_64.c | 46 struct pci_controller *hose, *tmp; in pcibios_init() local 61 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { in pcibios_init() 62 pcibios_scan_phb(hose); in pcibios_init() 63 pci_bus_add_devices(hose->bus); in pcibios_init() 78 struct pci_controller *hose; in pcibios_unmap_io_space() local 108 hose = pci_bus_to_host(bus); in pcibios_unmap_io_space() 111 if (hose->io_base_alloc == NULL) in pcibios_unmap_io_space() 114 pr_debug("IO unmapping for PHB %pOF\n", hose->dn); in pcibios_unmap_io_space() 115 pr_debug(" alloc=0x%p\n", hose->io_base_alloc); in pcibios_unmap_io_space() 118 vunmap(hose->io_base_alloc); in pcibios_unmap_io_space() [all …]
|
D | pci-common.c | 220 struct pci_controller *hose = pci_bus_to_host(bus); in pcibios_setup_bridge() local 222 if (hose->controller_ops.setup_bridge) in pcibios_setup_bridge() 223 hose->controller_ops.setup_bridge(bus, type); in pcibios_setup_bridge() 279 static resource_size_t pcibios_io_size(const struct pci_controller *hose) in pcibios_io_size() argument 282 return hose->pci_io_size; in pcibios_io_size() 284 return resource_size(&hose->io_resource); in pcibios_io_size() 291 struct pci_controller *hose; in pcibios_vaddr_is_ioport() local 295 list_for_each_entry(hose, &hose_list, list_node) { in pcibios_vaddr_is_ioport() 296 size = pcibios_io_size(hose); in pcibios_vaddr_is_ioport() 297 if (address >= hose->io_base_virt && in pcibios_vaddr_is_ioport() [all …]
|
D | pci_32.c | 116 struct pci_controller *hose, *tmp; in pcibios_make_OF_bus_map() local 133 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { in pcibios_make_OF_bus_map() 134 struct device_node* node = hose->dn; in pcibios_make_OF_bus_map() 138 make_one_node_map(node, hose->first_busno); in pcibios_make_OF_bus_map() 219 void pcibios_setup_phb_io_space(struct pci_controller *hose) in pcibios_setup_phb_io_space() argument 222 struct resource *res = &hose->io_resource; in pcibios_setup_phb_io_space() 225 io_offset = pcibios_io_space_offset(hose); in pcibios_setup_phb_io_space() 232 struct pci_controller *hose, *tmp; in pcibios_init() local 241 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { in pcibios_init() 243 hose->first_busno = next_busno; in pcibios_init() [all …]
|
/Linux-v4.19/arch/microblaze/pci/ |
D | indirect_pci.c | 25 struct pci_controller *hose = pci_bus_to_host(bus); in indirect_read_config() local 30 if (hose->indirect_type & INDIRECT_TYPE_NO_PCIE_LINK) { in indirect_read_config() 31 if (bus->number != hose->first_busno) in indirect_read_config() 37 if (hose->indirect_type & 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 & INDIRECT_TYPE_EXT_REG) in indirect_read_config() 49 if (hose->indirect_type & INDIRECT_TYPE_BIG_ENDIAN) in indirect_read_config() 50 out_be32(hose->cfg_addr, (0x80000000 | (bus_no << 16) | in indirect_read_config() [all …]
|
D | pci-common.c | 82 static resource_size_t pcibios_io_size(const struct pci_controller *hose) in pcibios_io_size() argument 84 return resource_size(&hose->io_resource); in pcibios_io_size() 90 struct pci_controller *hose; in pcibios_vaddr_is_ioport() local 94 list_for_each_entry(hose, &hose_list, list_node) { in pcibios_vaddr_is_ioport() 95 size = pcibios_io_size(hose); in pcibios_vaddr_is_ioport() 96 if (address >= hose->io_base_virt && in pcibios_vaddr_is_ioport() 97 address < (hose->io_base_virt + size)) { in pcibios_vaddr_is_ioport() 108 struct pci_controller *hose; in pci_address_to_pio() local 113 list_for_each_entry(hose, &hose_list, list_node) { in pci_address_to_pio() 114 size = pcibios_io_size(hose); in pci_address_to_pio() [all …]
|
D | xilinx_pci.c | 40 struct pci_controller *hose; in xilinx_pci_fixup_bridge() local 46 hose = pci_bus_to_host(dev->bus); in xilinx_pci_fixup_bridge() 47 if (!hose) in xilinx_pci_fixup_bridge() 50 if (!of_match_node(xilinx_pci_match, hose->dn)) in xilinx_pci_fixup_bridge() 75 xilinx_pci_exclude_device(struct pci_controller *hose, u_char bus, u8 devfn) in xilinx_pci_exclude_device() argument 85 static void __init xilinx_early_pci_scan(struct pci_controller *hose) in xilinx_early_pci_scan() argument 98 early_read_config_dword(hose, bus, in xilinx_early_pci_scan() 114 static void __init xilinx_early_pci_scan(struct pci_controller *hose) in xilinx_early_pci_scan() argument 124 struct pci_controller *hose; in xilinx_pci_init() local 138 hose = pcibios_alloc_controller(pci_node); in xilinx_pci_init() [all …]
|
/Linux-v4.19/arch/powerpc/platforms/powermac/ |
D | pci.c | 143 struct pci_controller *hose; in macrisc_cfg_map_bus() local 145 hose = pci_bus_to_host(bus); in macrisc_cfg_map_bus() 146 if (hose == NULL) in macrisc_cfg_map_bus() 149 if (bus->number == hose->first_busno) { in macrisc_cfg_map_bus() 158 out_le32(hose->cfg_addr, caddr); in macrisc_cfg_map_bus() 159 } while (in_le32(hose->cfg_addr) != caddr); in macrisc_cfg_map_bus() 162 return hose->cfg_data + offset; in macrisc_cfg_map_bus() 207 static void __init setup_chaos(struct pci_controller *hose, in setup_chaos() argument 211 hose->ops = &chaos_pci_ops; in setup_chaos() 212 hose->cfg_addr = ioremap(addr->start + 0x800000, 0x1000); in setup_chaos() [all …]
|
/Linux-v4.19/arch/mips/pci/ |
D | pci-legacy.c | 53 struct pci_controller *hose = dev->sysdata; in pcibios_align_resource() local 58 if (start < PCIBIOS_MIN_IO + hose->io_resource->start) in pcibios_align_resource() 59 start = PCIBIOS_MIN_IO + hose->io_resource->start; in pcibios_align_resource() 68 if (start < PCIBIOS_MIN_MEM + hose->mem_resource->start) in pcibios_align_resource() 69 start = PCIBIOS_MIN_MEM + hose->mem_resource->start; in pcibios_align_resource() 75 static void pcibios_scanbus(struct pci_controller *hose) in pcibios_scanbus() argument 88 if (hose->get_busno && pci_has_flag(PCI_PROBE_ONLY)) in pcibios_scanbus() 89 next_busno = (*hose->get_busno)(); in pcibios_scanbus() 92 hose->mem_resource, hose->mem_offset); in pcibios_scanbus() 94 hose->io_resource, hose->io_offset); in pcibios_scanbus() [all …]
|
/Linux-v4.19/arch/powerpc/platforms/pasemi/ |
D | pci.c | 50 static void volatile __iomem *pa_pxp_cfg_addr(struct pci_controller *hose, in pa_pxp_cfg_addr() argument 53 return hose->cfg_data + PA_PXP_CFA(bus, devfn, offset); in pa_pxp_cfg_addr() 71 struct pci_controller *hose; in workaround_5945() local 79 hose = pci_bus_to_host(bus); in workaround_5945() 81 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset & ~0x3); in workaround_5945() 88 dummy = pa_pxp_cfg_addr(hose, bus->number, devfn, 0x10); in workaround_5945() 114 struct pci_controller *hose; in pa_pxp_read_config() local 117 hose = pci_bus_to_host(bus); in pa_pxp_read_config() 118 if (!hose) in pa_pxp_read_config() 127 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset); in pa_pxp_read_config() [all …]
|
/Linux-v4.19/arch/powerpc/platforms/52xx/ |
D | mpc52xx_pci.c | 110 struct pci_controller *hose = pci_bus_to_host(bus); in mpc52xx_pci_read_config() local 114 if (ppc_md.pci_exclude_device(hose, bus->number, devfn)) in mpc52xx_pci_read_config() 117 out_be32(hose->cfg_addr, in mpc52xx_pci_read_config() 130 value = in_8(((u8 __iomem *)hose->cfg_data) + in mpc52xx_pci_read_config() 134 value = in_le16(((u16 __iomem *)hose->cfg_data) + in mpc52xx_pci_read_config() 139 value = in_le16((u16 __iomem *)hose->cfg_data) | in mpc52xx_pci_read_config() 140 (in_le16(((u16 __iomem *)hose->cfg_data) + 1) << 16); in mpc52xx_pci_read_config() 147 value = in_le32(hose->cfg_data); in mpc52xx_pci_read_config() 157 out_be32(hose->cfg_addr, 0); in mpc52xx_pci_read_config() 167 struct pci_controller *hose = pci_bus_to_host(bus); in mpc52xx_pci_write_config() local [all …]
|
/Linux-v4.19/arch/powerpc/platforms/4xx/ |
D | pci.c | 58 struct pci_controller *hose; in fixup_ppc4xx_pci_bridge() local 64 hose = pci_bus_to_host(dev->bus); in fixup_ppc4xx_pci_bridge() 65 if (hose == NULL) in fixup_ppc4xx_pci_bridge() 68 if (!of_device_is_compatible(hose->dn, "ibm,plb-pciex") && in fixup_ppc4xx_pci_bridge() 69 !of_device_is_compatible(hose->dn, "ibm,plb-pcix") && in fixup_ppc4xx_pci_bridge() 70 !of_device_is_compatible(hose->dn, "ibm,plb-pci")) in fixup_ppc4xx_pci_bridge() 73 if (of_device_is_compatible(hose->dn, "ibm,plb440epx-pci") || in fixup_ppc4xx_pci_bridge() 74 of_device_is_compatible(hose->dn, "ibm,plb440grx-pci")) { in fixup_ppc4xx_pci_bridge() 75 hose->indirect_type |= PPC_INDIRECT_TYPE_BROKEN_MRM; in fixup_ppc4xx_pci_bridge() 91 static int __init ppc4xx_parse_dma_ranges(struct pci_controller *hose, in ppc4xx_parse_dma_ranges() argument [all …]
|