/Linux-v5.15/arch/powerpc/sysdev/ |
D | fsl_pci.c | 66 static int fsl_pcie_check_link(struct pci_controller *hose) in fsl_pcie_check_link() argument 70 if (hose->indirect_type & PPC_INDIRECT_TYPE_FSL_CFG_REG_LINK) { in fsl_pcie_check_link() 71 if (hose->ops->read == fsl_indirect_read_config) in fsl_pcie_check_link() 72 __indirect_read_config(hose, hose->first_busno, 0, in fsl_pcie_check_link() 75 early_read_config_dword(hose, 0, 0, PCIE_LTSSM, &val); in fsl_pcie_check_link() 79 struct ccsr_pci __iomem *pci = hose->private_data; in fsl_pcie_check_link() 93 struct pci_controller *hose = pci_bus_to_host(bus); in fsl_indirect_read_config() local 95 if (fsl_pcie_check_link(hose)) in fsl_indirect_read_config() 96 hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK; in fsl_indirect_read_config() 98 hose->indirect_type &= ~PPC_INDIRECT_TYPE_NO_PCIE_LINK; in fsl_indirect_read_config() [all …]
|
D | indirect_pci.c | 19 int __indirect_read_config(struct pci_controller *hose, in __indirect_read_config() argument 27 if (hose->indirect_type & PPC_INDIRECT_TYPE_NO_PCIE_LINK) { in __indirect_read_config() 28 if (bus_number != hose->first_busno) in __indirect_read_config() 35 if (ppc_md.pci_exclude_device(hose, bus_number, devfn)) in __indirect_read_config() 38 if (hose->indirect_type & PPC_INDIRECT_TYPE_SET_CFG_TYPE) in __indirect_read_config() 39 if (bus_number != hose->first_busno) in __indirect_read_config() 42 bus_no = (bus_number == hose->first_busno) ? in __indirect_read_config() 43 hose->self_busno : bus_number; in __indirect_read_config() 45 if (hose->indirect_type & PPC_INDIRECT_TYPE_EXT_REG) in __indirect_read_config() 50 if (hose->indirect_type & PPC_INDIRECT_TYPE_BIG_ENDIAN) in __indirect_read_config() [all …]
|
/Linux-v5.15/arch/powerpc/platforms/maple/ |
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 …]
|
/Linux-v5.15/arch/alpha/kernel/ |
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 …]
|
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 = 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 …]
|
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 | 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 …]
|
D | core_titan.c | 118 struct pci_controller *hose = pbus->sysdata; in mk_conf_addr() local 131 addr |= hose->config_space_base; in mk_conf_addr() 202 titan_pci_tbi(struct pci_controller *hose, dma_addr_t start, dma_addr_t end) in titan_pci_tbi() argument 205 (hose->index & 1) ? TITAN_pachip1 : TITAN_pachip0; in titan_pci_tbi() 212 if (hose->index & 2) in titan_pci_tbi() 249 struct pci_controller *hose; in titan_init_one_pachip_port() local 251 hose = alloc_pci_controller(); in titan_init_one_pachip_port() 253 pci_isa_hose = hose; in titan_init_one_pachip_port() 254 hose->io_space = alloc_resource(); in titan_init_one_pachip_port() 255 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-v5.15/arch/powerpc/kernel/ |
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 …]
|
D | pci-common.c | 212 struct pci_controller *hose = pci_bus_to_host(bus); in pcibios_setup_bridge() local 214 if (hose->controller_ops.setup_bridge) in pcibios_setup_bridge() 215 hose->controller_ops.setup_bridge(bus, type); in pcibios_setup_bridge() 265 static resource_size_t pcibios_io_size(const struct pci_controller *hose) in pcibios_io_size() argument 268 return hose->pci_io_size; in pcibios_io_size() 270 return resource_size(&hose->io_resource); in pcibios_io_size() 277 struct pci_controller *hose; in pcibios_vaddr_is_ioport() local 281 list_for_each_entry(hose, &hose_list, list_node) { in pcibios_vaddr_is_ioport() 282 size = pcibios_io_size(hose); in pcibios_vaddr_is_ioport() 283 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() 223 void pcibios_setup_phb_io_space(struct pci_controller *hose) in pcibios_setup_phb_io_space() argument 226 struct resource *res = &hose->io_resource; in pcibios_setup_phb_io_space() 229 io_offset = pcibios_io_space_offset(hose); in pcibios_setup_phb_io_space() 236 struct pci_controller *hose, *tmp; in pcibios_init() local 245 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { in pcibios_init() 247 hose->first_busno = next_busno; in pcibios_init() [all …]
|
/Linux-v5.15/arch/sh/drivers/pci/ |
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 …]
|
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 | 94 struct pci_channel *hose = dev_id; in sh7780_pci_err_irq() local 100 addr = __raw_readl(hose->reg_base + SH4_PCIALR); in sh7780_pci_err_irq() 105 status = __raw_readw(hose->reg_base + PCI_STATUS); in sh7780_pci_err_irq() 111 cmd = pcibios_handle_status_errors(addr, status, hose); in sh7780_pci_err_irq() 113 __raw_writew(cmd, hose->reg_base + PCI_STATUS); in sh7780_pci_err_irq() 119 status = __raw_readl(hose->reg_base + SH4_PCIAINT); in sh7780_pci_err_irq() 127 __raw_writel(cmd, hose->reg_base + SH4_PCIAINT); in sh7780_pci_err_irq() 132 status = __raw_readl(hose->reg_base + SH4_PCIINT); in sh7780_pci_err_irq() 140 __raw_writel(cmd, hose->reg_base + SH4_PCIINT); in sh7780_pci_err_irq() 147 struct pci_channel *hose = dev_id; in sh7780_pci_serr_irq() local [all …]
|
/Linux-v5.15/arch/microblaze/pci/ |
D | indirect_pci.c | 21 struct pci_controller *hose = pci_bus_to_host(bus); in indirect_read_config() local 26 if (hose->indirect_type & INDIRECT_TYPE_NO_PCIE_LINK) { in indirect_read_config() 27 if (bus->number != hose->first_busno) in indirect_read_config() 33 if (hose->indirect_type & INDIRECT_TYPE_SET_CFG_TYPE) in indirect_read_config() 34 if (bus->number != hose->first_busno) in indirect_read_config() 37 bus_no = (bus->number == hose->first_busno) ? in indirect_read_config() 38 hose->self_busno : bus->number; in indirect_read_config() 40 if (hose->indirect_type & INDIRECT_TYPE_EXT_REG) in indirect_read_config() 45 if (hose->indirect_type & INDIRECT_TYPE_BIG_ENDIAN) in indirect_read_config() 46 out_be32(hose->cfg_addr, (0x80000000 | (bus_no << 16) | in indirect_read_config() [all …]
|
D | pci-common.c | 78 static resource_size_t pcibios_io_size(const struct pci_controller *hose) in pcibios_io_size() argument 80 return resource_size(&hose->io_resource); in pcibios_io_size() 86 struct pci_controller *hose; in pcibios_vaddr_is_ioport() local 90 list_for_each_entry(hose, &hose_list, list_node) { in pcibios_vaddr_is_ioport() 91 size = pcibios_io_size(hose); in pcibios_vaddr_is_ioport() 92 if (address >= hose->io_base_virt && in pcibios_vaddr_is_ioport() 93 address < (hose->io_base_virt + size)) { in pcibios_vaddr_is_ioport() 104 struct pci_controller *hose; in pci_address_to_pio() local 109 list_for_each_entry(hose, &hose_list, list_node) { in pci_address_to_pio() 110 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-v5.15/arch/powerpc/platforms/powermac/ |
D | pci.c | 139 struct pci_controller *hose; in macrisc_cfg_map_bus() local 141 hose = pci_bus_to_host(bus); in macrisc_cfg_map_bus() 142 if (hose == NULL) in macrisc_cfg_map_bus() 145 if (bus->number == hose->first_busno) { in macrisc_cfg_map_bus() 154 out_le32(hose->cfg_addr, caddr); in macrisc_cfg_map_bus() 155 } while (in_le32(hose->cfg_addr) != caddr); in macrisc_cfg_map_bus() 158 return hose->cfg_data + offset; in macrisc_cfg_map_bus() 203 static void __init setup_chaos(struct pci_controller *hose, in setup_chaos() argument 207 hose->ops = &chaos_pci_ops; in setup_chaos() 208 hose->cfg_addr = ioremap(addr->start + 0x800000, 0x1000); in setup_chaos() [all …]
|
/Linux-v5.15/arch/mips/pci/ |
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 …]
|
/Linux-v5.15/arch/powerpc/platforms/pasemi/ |
D | pci.c | 39 static void volatile __iomem *pa_pxp_cfg_addr(struct pci_controller *hose, in pa_pxp_cfg_addr() argument 42 return hose->cfg_data + PA_PXP_CFA(bus, devfn, offset); in pa_pxp_cfg_addr() 60 struct pci_controller *hose; in workaround_5945() local 68 hose = pci_bus_to_host(bus); in workaround_5945() 70 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset & ~0x3); in workaround_5945() 77 dummy = pa_pxp_cfg_addr(hose, bus->number, devfn, 0x10); in workaround_5945() 158 struct pci_controller *hose; in pa_pxp_read_config() local 161 hose = pci_bus_to_host(bus); in pa_pxp_read_config() 162 if (!hose) in pa_pxp_read_config() 171 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset); in pa_pxp_read_config() [all …]
|
/Linux-v5.15/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-v5.15/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 …]
|