pbm 44 arch/sparc/include/asm/pbm.h struct linux_pbm_info *pbm; pbm 28 arch/sparc/include/asm/pcic.h struct linux_pbm_info pbm; pbm 263 arch/sparc/kernel/pci.c static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, pbm 278 arch/sparc/kernel/pci.c pci_init_dev_archdata(sd, pbm->iommu, &pbm->stc, pbm, op, pbm 279 arch/sparc/kernel/pci.c pbm->numa_node); pbm 281 arch/sparc/kernel/pci.c sd->iommu = pbm->iommu; pbm 282 arch/sparc/kernel/pci.c sd->stc = &pbm->stc; pbm 283 arch/sparc/kernel/pci.c sd->numa_node = pbm->numa_node; pbm 386 arch/sparc/kernel/pci.c struct pci_pbm_info *pbm) pbm 410 arch/sparc/kernel/pci.c static void pci_of_scan_bus(struct pci_pbm_info *pbm, pbm 416 arch/sparc/kernel/pci.c static void of_scan_pci_bridge(struct pci_pbm_info *pbm, pbm 475 arch/sparc/kernel/pci.c apb_fake_ranges(dev, bus, pbm); pbm 539 arch/sparc/kernel/pci.c pci_of_scan_bus(pbm, node, bus); pbm 542 arch/sparc/kernel/pci.c static void pci_of_scan_bus(struct pci_pbm_info *pbm, pbm 576 arch/sparc/kernel/pci.c dev = of_create_pci_dev(pbm, child, bus, devfn); pbm 583 arch/sparc/kernel/pci.c of_scan_pci_bridge(pbm, child, dev); pbm 689 arch/sparc/kernel/pci.c struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm, pbm 693 arch/sparc/kernel/pci.c struct device_node *node = pbm->op->dev.of_node; pbm 698 arch/sparc/kernel/pci.c pci_add_resource_offset(&resources, &pbm->io_space, pbm 699 arch/sparc/kernel/pci.c pbm->io_offset); pbm 700 arch/sparc/kernel/pci.c pci_add_resource_offset(&resources, &pbm->mem_space, pbm 701 arch/sparc/kernel/pci.c pbm->mem_offset); pbm 702 arch/sparc/kernel/pci.c if (pbm->mem64_space.flags) pbm 703 arch/sparc/kernel/pci.c pci_add_resource_offset(&resources, &pbm->mem64_space, pbm 704 arch/sparc/kernel/pci.c pbm->mem64_offset); pbm 705 arch/sparc/kernel/pci.c pbm->busn.start = pbm->pci_first_busno; pbm 706 arch/sparc/kernel/pci.c pbm->busn.end = pbm->pci_last_busno; pbm 707 arch/sparc/kernel/pci.c pbm->busn.flags = IORESOURCE_BUS; pbm 708 arch/sparc/kernel/pci.c pci_add_resource(&resources, &pbm->busn); pbm 709 arch/sparc/kernel/pci.c bus = pci_create_root_bus(parent, pbm->pci_first_busno, pbm->pci_ops, pbm 710 arch/sparc/kernel/pci.c pbm, &resources); pbm 717 arch/sparc/kernel/pci.c pci_of_scan_bus(pbm, node, bus); pbm 766 arch/sparc/kernel/pci.c struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller; pbm 770 arch/sparc/kernel/pci.c space_size = resource_size(&pbm->io_space); pbm 772 arch/sparc/kernel/pci.c space_size = resource_size(&pbm->mem_space); pbm 784 arch/sparc/kernel/pci.c vma->vm_pgoff = (pbm->io_space.start + pbm 787 arch/sparc/kernel/pci.c vma->vm_pgoff = (pbm->mem_space.start + pbm 912 arch/sparc/kernel/pci.c struct pci_pbm_info *pbm = pbus->sysdata; pbm 914 arch/sparc/kernel/pci.c return pbm->numa_node; pbm 923 arch/sparc/kernel/pci.c struct pci_pbm_info *pbm = pbus->sysdata; pbm 926 arch/sparc/kernel/pci.c if (!pbm) { pbm 929 arch/sparc/kernel/pci.c ret = pbm->index; pbm 939 arch/sparc/kernel/pci.c struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller; pbm 942 arch/sparc/kernel/pci.c if (!pbm->setup_msi_irq) pbm 945 arch/sparc/kernel/pci.c return pbm->setup_msi_irq(&irq, pdev, desc); pbm 952 arch/sparc/kernel/pci.c struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller; pbm 954 arch/sparc/kernel/pci.c if (pbm->teardown_msi_irq) pbm 955 arch/sparc/kernel/pci.c pbm->teardown_msi_irq(irq, pdev); pbm 1140 arch/sparc/kernel/pci.c struct pci_pbm_info *pbm = pbus->sysdata; pbm 1143 arch/sparc/kernel/pci.c node = pbm->op->dev.of_node; pbm 19 arch/sparc/kernel/pci_common.c static int config_out_of_range(struct pci_pbm_info *pbm, pbm 24 arch/sparc/kernel/pci_common.c if (bus < pbm->pci_first_busno || pbm 25 arch/sparc/kernel/pci_common.c bus > pbm->pci_last_busno) pbm 30 arch/sparc/kernel/pci_common.c static void *sun4u_config_mkaddr(struct pci_pbm_info *pbm, pbm 35 arch/sparc/kernel/pci_common.c unsigned long rbits = pbm->config_space_reg_bits; pbm 37 arch/sparc/kernel/pci_common.c if (config_out_of_range(pbm, bus, devfn, reg)) pbm 44 arch/sparc/kernel/pci_common.c return (void *) (pbm->config_space | bus | devfn | reg); pbm 52 arch/sparc/kernel/pci_common.c static int sun4u_read_pci_cfg_host(struct pci_pbm_info *pbm, pbm 60 arch/sparc/kernel/pci_common.c addr = sun4u_config_mkaddr(pbm, bus, devfn, where); pbm 95 arch/sparc/kernel/pci_common.c sun4u_read_pci_cfg_host(pbm, bus, devfn, pbm 100 arch/sparc/kernel/pci_common.c sun4u_read_pci_cfg_host(pbm, bus, devfn, pbm 111 arch/sparc/kernel/pci_common.c struct pci_pbm_info *pbm = bus_dev->sysdata; pbm 130 arch/sparc/kernel/pci_common.c return sun4u_read_pci_cfg_host(pbm, bus, devfn, where, pbm 133 arch/sparc/kernel/pci_common.c addr = sun4u_config_mkaddr(pbm, bus, devfn, where); pbm 165 arch/sparc/kernel/pci_common.c static int sun4u_write_pci_cfg_host(struct pci_pbm_info *pbm, pbm 171 arch/sparc/kernel/pci_common.c addr = sun4u_config_mkaddr(pbm, bus, devfn, where); pbm 203 arch/sparc/kernel/pci_common.c sun4u_write_pci_cfg_host(pbm, bus, devfn, pbm 205 arch/sparc/kernel/pci_common.c sun4u_write_pci_cfg_host(pbm, bus, devfn, pbm 215 arch/sparc/kernel/pci_common.c struct pci_pbm_info *pbm = bus_dev->sysdata; pbm 220 arch/sparc/kernel/pci_common.c return sun4u_write_pci_cfg_host(pbm, bus, devfn, where, pbm 223 arch/sparc/kernel/pci_common.c addr = sun4u_config_mkaddr(pbm, bus, devfn, where); pbm 260 arch/sparc/kernel/pci_common.c struct pci_pbm_info *pbm = bus_dev->sysdata; pbm 261 arch/sparc/kernel/pci_common.c u32 devhandle = pbm->devhandle; pbm 267 arch/sparc/kernel/pci_common.c if (config_out_of_range(pbm, bus, devfn, where)) { pbm 293 arch/sparc/kernel/pci_common.c struct pci_pbm_info *pbm = bus_dev->sysdata; pbm 294 arch/sparc/kernel/pci_common.c u32 devhandle = pbm->devhandle; pbm 299 arch/sparc/kernel/pci_common.c if (config_out_of_range(pbm, bus, devfn, where)) { pbm 318 arch/sparc/kernel/pci_common.c void pci_get_pbm_props(struct pci_pbm_info *pbm) pbm 320 arch/sparc/kernel/pci_common.c const u32 *val = of_get_property(pbm->op->dev.of_node, "bus-range", NULL); pbm 322 arch/sparc/kernel/pci_common.c pbm->pci_first_busno = val[0]; pbm 323 arch/sparc/kernel/pci_common.c pbm->pci_last_busno = val[1]; pbm 325 arch/sparc/kernel/pci_common.c val = of_get_property(pbm->op->dev.of_node, "ino-bitmap", NULL); pbm 327 arch/sparc/kernel/pci_common.c pbm->ino_bitmap = (((u64)val[1] << 32UL) | pbm 332 arch/sparc/kernel/pci_common.c static void pci_register_iommu_region(struct pci_pbm_info *pbm) pbm 334 arch/sparc/kernel/pci_common.c const u32 *vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma", pbm 342 arch/sparc/kernel/pci_common.c pbm->name); pbm 346 arch/sparc/kernel/pci_common.c rp->start = pbm->mem_space.start + (unsigned long) vdma[0]; pbm 349 arch/sparc/kernel/pci_common.c if (request_resource(&pbm->mem_space, rp)) { pbm 351 arch/sparc/kernel/pci_common.c pbm->name); pbm 357 arch/sparc/kernel/pci_common.c void pci_determine_mem_io_space(struct pci_pbm_info *pbm) pbm 366 arch/sparc/kernel/pci_common.c pbm_ranges = of_get_property(pbm->op->dev.of_node, "ranges", &i); pbm 370 arch/sparc/kernel/pci_common.c pbm->name); pbm 375 arch/sparc/kernel/pci_common.c memset(&pbm->mem64_space, 0, sizeof(struct resource)); pbm 406 arch/sparc/kernel/pci_common.c pbm->config_space = a; pbm 411 arch/sparc/kernel/pci_common.c pbm->io_space.start = a; pbm 412 arch/sparc/kernel/pci_common.c pbm->io_space.end = a + size - 1UL; pbm 413 arch/sparc/kernel/pci_common.c pbm->io_space.flags = IORESOURCE_IO; pbm 414 arch/sparc/kernel/pci_common.c pbm->io_offset = a - region_a; pbm 420 arch/sparc/kernel/pci_common.c pbm->mem_space.start = a; pbm 421 arch/sparc/kernel/pci_common.c pbm->mem_space.end = a + size - 1UL; pbm 422 arch/sparc/kernel/pci_common.c pbm->mem_space.flags = IORESOURCE_MEM; pbm 423 arch/sparc/kernel/pci_common.c pbm->mem_offset = a - region_a; pbm 429 arch/sparc/kernel/pci_common.c pbm->mem64_space.start = a; pbm 430 arch/sparc/kernel/pci_common.c pbm->mem64_space.end = a + size - 1UL; pbm 431 arch/sparc/kernel/pci_common.c pbm->mem64_space.flags = IORESOURCE_MEM; pbm 432 arch/sparc/kernel/pci_common.c pbm->mem64_offset = a - region_a; pbm 443 arch/sparc/kernel/pci_common.c pbm->name, pbm 448 arch/sparc/kernel/pci_common.c if (pbm->io_space.flags) pbm 450 arch/sparc/kernel/pci_common.c pbm->name, &pbm->io_space, pbm->io_offset); pbm 451 arch/sparc/kernel/pci_common.c if (pbm->mem_space.flags) pbm 453 arch/sparc/kernel/pci_common.c pbm->name, &pbm->mem_space, pbm->mem_offset); pbm 454 arch/sparc/kernel/pci_common.c if (pbm->mem64_space.flags && pbm->mem_space.flags) { pbm 455 arch/sparc/kernel/pci_common.c if (pbm->mem64_space.start <= pbm->mem_space.end) pbm 456 arch/sparc/kernel/pci_common.c pbm->mem64_space.start = pbm->mem_space.end + 1; pbm 457 arch/sparc/kernel/pci_common.c if (pbm->mem64_space.start > pbm->mem64_space.end) pbm 458 arch/sparc/kernel/pci_common.c pbm->mem64_space.flags = 0; pbm 461 arch/sparc/kernel/pci_common.c if (pbm->mem64_space.flags) pbm 463 arch/sparc/kernel/pci_common.c pbm->name, &pbm->mem64_space, pbm->mem64_offset); pbm 465 arch/sparc/kernel/pci_common.c pbm->io_space.name = pbm->mem_space.name = pbm->name; pbm 466 arch/sparc/kernel/pci_common.c pbm->mem64_space.name = pbm->name; pbm 468 arch/sparc/kernel/pci_common.c request_resource(&ioport_resource, &pbm->io_space); pbm 469 arch/sparc/kernel/pci_common.c request_resource(&iomem_resource, &pbm->mem_space); pbm 470 arch/sparc/kernel/pci_common.c if (pbm->mem64_space.flags) pbm 471 arch/sparc/kernel/pci_common.c request_resource(&iomem_resource, &pbm->mem64_space); pbm 473 arch/sparc/kernel/pci_common.c pci_register_iommu_region(pbm); pbm 477 arch/sparc/kernel/pci_common.c void pci_scan_for_target_abort(struct pci_pbm_info *pbm, pbm 493 arch/sparc/kernel/pci_common.c pbm->name, status); pbm 498 arch/sparc/kernel/pci_common.c pci_scan_for_target_abort(pbm, bus); pbm 501 arch/sparc/kernel/pci_common.c void pci_scan_for_master_abort(struct pci_pbm_info *pbm, pbm 516 arch/sparc/kernel/pci_common.c "[%016x]\n", pbm->name, status); pbm 521 arch/sparc/kernel/pci_common.c pci_scan_for_master_abort(pbm, bus); pbm 524 arch/sparc/kernel/pci_common.c void pci_scan_for_parity_error(struct pci_pbm_info *pbm, pbm 540 arch/sparc/kernel/pci_common.c pbm->name, status); pbm 545 arch/sparc/kernel/pci_common.c pci_scan_for_parity_error(pbm, bus); pbm 30 arch/sparc/kernel/pci_fire.c static int pci_fire_pbm_iommu_init(struct pci_pbm_info *pbm) pbm 32 arch/sparc/kernel/pci_fire.c struct iommu *iommu = pbm->iommu; pbm 44 arch/sparc/kernel/pci_fire.c iommu->iommu_control = pbm->pbm_regs + FIRE_IOMMU_CONTROL; pbm 45 arch/sparc/kernel/pci_fire.c iommu->iommu_tsbbase = pbm->pbm_regs + FIRE_IOMMU_TSBBASE; pbm 46 arch/sparc/kernel/pci_fire.c iommu->iommu_flush = pbm->pbm_regs + FIRE_IOMMU_FLUSH; pbm 47 arch/sparc/kernel/pci_fire.c iommu->iommu_flushinv = pbm->pbm_regs + FIRE_IOMMU_FLUSHINV; pbm 52 arch/sparc/kernel/pci_fire.c iommu->write_complete_reg = pbm->controller_regs + 0x410000UL; pbm 60 arch/sparc/kernel/pci_fire.c pbm->numa_node); pbm 150 arch/sparc/kernel/pci_fire.c static int pci_fire_get_head(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 153 arch/sparc/kernel/pci_fire.c *head = upa_readq(pbm->pbm_regs + EVENT_QUEUE_HEAD(msiqid)); pbm 157 arch/sparc/kernel/pci_fire.c static int pci_fire_dequeue_msi(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 163 arch/sparc/kernel/pci_fire.c base = (pbm->msi_queues + ((msiqid - pbm->msiq_first) * 8192)); pbm 179 arch/sparc/kernel/pci_fire.c upa_writeq(MSI_CLEAR_EQWR_N, pbm->pbm_regs + MSI_CLEAR(msi_num)); pbm 186 arch/sparc/kernel/pci_fire.c if (*head >= pbm->msiq_ent_count) pbm 192 arch/sparc/kernel/pci_fire.c static int pci_fire_set_head(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 195 arch/sparc/kernel/pci_fire.c upa_writeq(head, pbm->pbm_regs + EVENT_QUEUE_HEAD(msiqid)); pbm 199 arch/sparc/kernel/pci_fire.c static int pci_fire_msi_setup(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 204 arch/sparc/kernel/pci_fire.c val = upa_readq(pbm->pbm_regs + MSI_MAP(msi)); pbm 207 arch/sparc/kernel/pci_fire.c upa_writeq(val, pbm->pbm_regs + MSI_MAP(msi)); pbm 209 arch/sparc/kernel/pci_fire.c upa_writeq(MSI_CLEAR_EQWR_N, pbm->pbm_regs + MSI_CLEAR(msi)); pbm 211 arch/sparc/kernel/pci_fire.c val = upa_readq(pbm->pbm_regs + MSI_MAP(msi)); pbm 213 arch/sparc/kernel/pci_fire.c upa_writeq(val, pbm->pbm_regs + MSI_MAP(msi)); pbm 218 arch/sparc/kernel/pci_fire.c static int pci_fire_msi_teardown(struct pci_pbm_info *pbm, unsigned long msi) pbm 222 arch/sparc/kernel/pci_fire.c val = upa_readq(pbm->pbm_regs + MSI_MAP(msi)); pbm 226 arch/sparc/kernel/pci_fire.c upa_writeq(val, pbm->pbm_regs + MSI_MAP(msi)); pbm 231 arch/sparc/kernel/pci_fire.c static int pci_fire_msiq_alloc(struct pci_pbm_info *pbm) pbm 243 arch/sparc/kernel/pci_fire.c pbm->msi_queues = (void *) pages; pbm 246 arch/sparc/kernel/pci_fire.c __pa(pbm->msi_queues)), pbm 247 arch/sparc/kernel/pci_fire.c pbm->pbm_regs + EVENT_QUEUE_BASE_ADDR_REG); pbm 249 arch/sparc/kernel/pci_fire.c upa_writeq(pbm->portid << 6, pbm->pbm_regs + IMONDO_DATA0); pbm 250 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + IMONDO_DATA1); pbm 252 arch/sparc/kernel/pci_fire.c upa_writeq(pbm->msi32_start, pbm->pbm_regs + MSI_32BIT_ADDR); pbm 253 arch/sparc/kernel/pci_fire.c upa_writeq(pbm->msi64_start, pbm->pbm_regs + MSI_64BIT_ADDR); pbm 255 arch/sparc/kernel/pci_fire.c for (i = 0; i < pbm->msiq_num; i++) { pbm 256 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + EVENT_QUEUE_HEAD(i)); pbm 257 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + EVENT_QUEUE_TAIL(i)); pbm 263 arch/sparc/kernel/pci_fire.c static void pci_fire_msiq_free(struct pci_pbm_info *pbm) pbm 268 arch/sparc/kernel/pci_fire.c pages = (unsigned long) pbm->msi_queues; pbm 272 arch/sparc/kernel/pci_fire.c pbm->msi_queues = NULL; pbm 275 arch/sparc/kernel/pci_fire.c static int pci_fire_msiq_build_irq(struct pci_pbm_info *pbm, pbm 279 arch/sparc/kernel/pci_fire.c unsigned long cregs = (unsigned long) pbm->pbm_regs; pbm 295 arch/sparc/kernel/pci_fire.c fixup = ((pbm->portid << 6) | devino) - int_ctrlr; pbm 302 arch/sparc/kernel/pci_fire.c pbm->pbm_regs + EVENT_QUEUE_CONTROL_SET(msiqid)); pbm 318 arch/sparc/kernel/pci_fire.c static void pci_fire_msi_init(struct pci_pbm_info *pbm) pbm 320 arch/sparc/kernel/pci_fire.c sparc64_pbm_msi_init(pbm, &pci_fire_msiq_ops); pbm 323 arch/sparc/kernel/pci_fire.c static void pci_fire_msi_init(struct pci_pbm_info *pbm) pbm 366 arch/sparc/kernel/pci_fire.c static void pci_fire_hw_init(struct pci_pbm_info *pbm) pbm 371 arch/sparc/kernel/pci_fire.c pbm->controller_regs + FIRE_PARITY_CONTROL); pbm 381 arch/sparc/kernel/pci_fire.c pbm->controller_regs + FIRE_FATAL_RESET_CTL); pbm 383 arch/sparc/kernel/pci_fire.c upa_writeq(~(u64)0, pbm->controller_regs + FIRE_CORE_INTR_ENABLE); pbm 385 arch/sparc/kernel/pci_fire.c val = upa_readq(pbm->pbm_regs + FIRE_TLU_CTRL); pbm 389 arch/sparc/kernel/pci_fire.c upa_writeq(val, pbm->pbm_regs + FIRE_TLU_CTRL); pbm 390 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + FIRE_TLU_DEV_CTRL); pbm 392 arch/sparc/kernel/pci_fire.c pbm->pbm_regs + FIRE_TLU_LINK_CTRL); pbm 394 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + FIRE_LPU_RESET); pbm 395 arch/sparc/kernel/pci_fire.c upa_writeq(FIRE_LPU_LLCFG_VC0, pbm->pbm_regs + FIRE_LPU_LLCFG); pbm 397 arch/sparc/kernel/pci_fire.c pbm->pbm_regs + FIRE_LPU_FCTRL_UCTRL); pbm 399 arch/sparc/kernel/pci_fire.c pbm->pbm_regs + FIRE_LPU_TXL_FIFOP); pbm 400 arch/sparc/kernel/pci_fire.c upa_writeq(3000000, pbm->pbm_regs + FIRE_LPU_LTSSM_CFG2); pbm 401 arch/sparc/kernel/pci_fire.c upa_writeq(500000, pbm->pbm_regs + FIRE_LPU_LTSSM_CFG3); pbm 403 arch/sparc/kernel/pci_fire.c pbm->pbm_regs + FIRE_LPU_LTSSM_CFG4); pbm 404 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + FIRE_LPU_LTSSM_CFG5); pbm 406 arch/sparc/kernel/pci_fire.c upa_writeq(~(u64)0, pbm->pbm_regs + FIRE_DMC_IENAB); pbm 407 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + FIRE_DMC_DBG_SEL_A); pbm 408 arch/sparc/kernel/pci_fire.c upa_writeq(0, pbm->pbm_regs + FIRE_DMC_DBG_SEL_B); pbm 410 arch/sparc/kernel/pci_fire.c upa_writeq(~(u64)0, pbm->pbm_regs + FIRE_PEC_IENAB); pbm 413 arch/sparc/kernel/pci_fire.c static int pci_fire_pbm_init(struct pci_pbm_info *pbm, pbm 420 arch/sparc/kernel/pci_fire.c pbm->numa_node = NUMA_NO_NODE; pbm 422 arch/sparc/kernel/pci_fire.c pbm->pci_ops = &sun4u_pci_ops; pbm 423 arch/sparc/kernel/pci_fire.c pbm->config_space_reg_bits = 12; pbm 425 arch/sparc/kernel/pci_fire.c pbm->index = pci_num_pbms++; pbm 427 arch/sparc/kernel/pci_fire.c pbm->portid = portid; pbm 428 arch/sparc/kernel/pci_fire.c pbm->op = op; pbm 429 arch/sparc/kernel/pci_fire.c pbm->name = dp->full_name; pbm 432 arch/sparc/kernel/pci_fire.c pbm->pbm_regs = regs[0].phys_addr; pbm 433 arch/sparc/kernel/pci_fire.c pbm->controller_regs = regs[1].phys_addr - 0x410000UL; pbm 435 arch/sparc/kernel/pci_fire.c printk("%s: SUN4U PCIE Bus Module\n", pbm->name); pbm 437 arch/sparc/kernel/pci_fire.c pci_determine_mem_io_space(pbm); pbm 439 arch/sparc/kernel/pci_fire.c pci_get_pbm_props(pbm); pbm 441 arch/sparc/kernel/pci_fire.c pci_fire_hw_init(pbm); pbm 443 arch/sparc/kernel/pci_fire.c err = pci_fire_pbm_iommu_init(pbm); pbm 447 arch/sparc/kernel/pci_fire.c pci_fire_msi_init(pbm); pbm 449 arch/sparc/kernel/pci_fire.c pbm->pci_bus = pci_scan_one_pbm(pbm, &op->dev); pbm 453 arch/sparc/kernel/pci_fire.c pbm->next = pci_pbm_root; pbm 454 arch/sparc/kernel/pci_fire.c pci_pbm_root = pbm; pbm 462 arch/sparc/kernel/pci_fire.c struct pci_pbm_info *pbm; pbm 470 arch/sparc/kernel/pci_fire.c pbm = kzalloc(sizeof(*pbm), GFP_KERNEL); pbm 471 arch/sparc/kernel/pci_fire.c if (!pbm) { pbm 482 arch/sparc/kernel/pci_fire.c pbm->iommu = iommu; pbm 484 arch/sparc/kernel/pci_fire.c err = pci_fire_pbm_init(pbm, op, portid); pbm 488 arch/sparc/kernel/pci_fire.c dev_set_drvdata(&op->dev, pbm); pbm 493 arch/sparc/kernel/pci_fire.c kfree(pbm->iommu); pbm 496 arch/sparc/kernel/pci_fire.c kfree(pbm); pbm 37 arch/sparc/kernel/pci_impl.h int (*get_head)(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 39 arch/sparc/kernel/pci_impl.h int (*dequeue_msi)(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 41 arch/sparc/kernel/pci_impl.h int (*set_head)(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 43 arch/sparc/kernel/pci_impl.h int (*msi_setup)(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 45 arch/sparc/kernel/pci_impl.h int (*msi_teardown)(struct pci_pbm_info *pbm, unsigned long msi); pbm 46 arch/sparc/kernel/pci_impl.h int (*msiq_alloc)(struct pci_pbm_info *pbm); pbm 47 arch/sparc/kernel/pci_impl.h void (*msiq_free)(struct pci_pbm_info *pbm); pbm 48 arch/sparc/kernel/pci_impl.h int (*msiq_build_irq)(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 52 arch/sparc/kernel/pci_impl.h void sparc64_pbm_msi_init(struct pci_pbm_info *pbm, pbm 56 arch/sparc/kernel/pci_impl.h struct pci_pbm_info *pbm; pbm 167 arch/sparc/kernel/pci_impl.h void pci_get_pbm_props(struct pci_pbm_info *pbm); pbm 168 arch/sparc/kernel/pci_impl.h struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm, pbm 170 arch/sparc/kernel/pci_impl.h void pci_determine_mem_io_space(struct pci_pbm_info *pbm); pbm 16 arch/sparc/kernel/pci_msi.c struct pci_pbm_info *pbm = msiq_cookie->pbm; pbm 22 arch/sparc/kernel/pci_msi.c ops = pbm->msi_ops; pbm 24 arch/sparc/kernel/pci_msi.c err = ops->get_head(pbm, msiqid, &head); pbm 32 arch/sparc/kernel/pci_msi.c err = ops->dequeue_msi(pbm, msiqid, &head, &msi); pbm 36 arch/sparc/kernel/pci_msi.c irq = pbm->msi_irq_table[msi - pbm->msi_first]; pbm 47 arch/sparc/kernel/pci_msi.c err = ops->set_head(pbm, msiqid, head); pbm 74 arch/sparc/kernel/pci_msi.c static u32 pick_msiq(struct pci_pbm_info *pbm) pbm 82 arch/sparc/kernel/pci_msi.c rotor = pbm->msiq_rotor; pbm 83 arch/sparc/kernel/pci_msi.c ret = pbm->msiq_first + rotor; pbm 85 arch/sparc/kernel/pci_msi.c if (++rotor >= pbm->msiq_num) pbm 87 arch/sparc/kernel/pci_msi.c pbm->msiq_rotor = rotor; pbm 95 arch/sparc/kernel/pci_msi.c static int alloc_msi(struct pci_pbm_info *pbm) pbm 99 arch/sparc/kernel/pci_msi.c for (i = 0; i < pbm->msi_num; i++) { pbm 100 arch/sparc/kernel/pci_msi.c if (!test_and_set_bit(i, pbm->msi_bitmap)) pbm 101 arch/sparc/kernel/pci_msi.c return i + pbm->msi_first; pbm 107 arch/sparc/kernel/pci_msi.c static void free_msi(struct pci_pbm_info *pbm, int msi_num) pbm 109 arch/sparc/kernel/pci_msi.c msi_num -= pbm->msi_first; pbm 110 arch/sparc/kernel/pci_msi.c clear_bit(msi_num, pbm->msi_bitmap); pbm 126 arch/sparc/kernel/pci_msi.c struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller; pbm 127 arch/sparc/kernel/pci_msi.c const struct sparc64_msiq_ops *ops = pbm->msi_ops; pbm 140 arch/sparc/kernel/pci_msi.c err = alloc_msi(pbm); pbm 146 arch/sparc/kernel/pci_msi.c msiqid = pick_msiq(pbm); pbm 148 arch/sparc/kernel/pci_msi.c err = ops->msi_setup(pbm, msiqid, msi, pbm 153 arch/sparc/kernel/pci_msi.c pbm->msi_irq_table[msi - pbm->msi_first] = *irq_p; pbm 156 arch/sparc/kernel/pci_msi.c msg.address_hi = pbm->msi64_start >> 32; pbm 157 arch/sparc/kernel/pci_msi.c msg.address_lo = pbm->msi64_start & 0xffffffff; pbm 160 arch/sparc/kernel/pci_msi.c msg.address_lo = pbm->msi32_start; pbm 170 arch/sparc/kernel/pci_msi.c free_msi(pbm, msi); pbm 184 arch/sparc/kernel/pci_msi.c struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller; pbm 185 arch/sparc/kernel/pci_msi.c const struct sparc64_msiq_ops *ops = pbm->msi_ops; pbm 189 arch/sparc/kernel/pci_msi.c for (i = 0; i < pbm->msi_num; i++) { pbm 190 arch/sparc/kernel/pci_msi.c if (pbm->msi_irq_table[i] == irq) pbm 193 arch/sparc/kernel/pci_msi.c if (i >= pbm->msi_num) { pbm 194 arch/sparc/kernel/pci_msi.c pci_err(pdev, "%s: teardown: No MSI for irq %u\n", pbm->name, pbm 199 arch/sparc/kernel/pci_msi.c msi_num = pbm->msi_first + i; pbm 200 arch/sparc/kernel/pci_msi.c pbm->msi_irq_table[i] = ~0U; pbm 202 arch/sparc/kernel/pci_msi.c err = ops->msi_teardown(pbm, msi_num); pbm 205 arch/sparc/kernel/pci_msi.c "irq %u, gives error %d\n", pbm->name, msi_num, irq, pbm 210 arch/sparc/kernel/pci_msi.c free_msi(pbm, msi_num); pbm 216 arch/sparc/kernel/pci_msi.c static int msi_bitmap_alloc(struct pci_pbm_info *pbm) pbm 221 arch/sparc/kernel/pci_msi.c size = (pbm->msi_num + (bits_per_ulong - 1)) & ~(bits_per_ulong - 1); pbm 225 arch/sparc/kernel/pci_msi.c pbm->msi_bitmap = kzalloc(size, GFP_KERNEL); pbm 226 arch/sparc/kernel/pci_msi.c if (!pbm->msi_bitmap) pbm 232 arch/sparc/kernel/pci_msi.c static void msi_bitmap_free(struct pci_pbm_info *pbm) pbm 234 arch/sparc/kernel/pci_msi.c kfree(pbm->msi_bitmap); pbm 235 arch/sparc/kernel/pci_msi.c pbm->msi_bitmap = NULL; pbm 238 arch/sparc/kernel/pci_msi.c static int msi_table_alloc(struct pci_pbm_info *pbm) pbm 242 arch/sparc/kernel/pci_msi.c size = pbm->msiq_num * sizeof(struct sparc64_msiq_cookie); pbm 243 arch/sparc/kernel/pci_msi.c pbm->msiq_irq_cookies = kzalloc(size, GFP_KERNEL); pbm 244 arch/sparc/kernel/pci_msi.c if (!pbm->msiq_irq_cookies) pbm 247 arch/sparc/kernel/pci_msi.c for (i = 0; i < pbm->msiq_num; i++) { pbm 250 arch/sparc/kernel/pci_msi.c p = &pbm->msiq_irq_cookies[i]; pbm 251 arch/sparc/kernel/pci_msi.c p->pbm = pbm; pbm 252 arch/sparc/kernel/pci_msi.c p->msiqid = pbm->msiq_first + i; pbm 255 arch/sparc/kernel/pci_msi.c size = pbm->msi_num * sizeof(unsigned int); pbm 256 arch/sparc/kernel/pci_msi.c pbm->msi_irq_table = kzalloc(size, GFP_KERNEL); pbm 257 arch/sparc/kernel/pci_msi.c if (!pbm->msi_irq_table) { pbm 258 arch/sparc/kernel/pci_msi.c kfree(pbm->msiq_irq_cookies); pbm 259 arch/sparc/kernel/pci_msi.c pbm->msiq_irq_cookies = NULL; pbm 266 arch/sparc/kernel/pci_msi.c static void msi_table_free(struct pci_pbm_info *pbm) pbm 268 arch/sparc/kernel/pci_msi.c kfree(pbm->msiq_irq_cookies); pbm 269 arch/sparc/kernel/pci_msi.c pbm->msiq_irq_cookies = NULL; pbm 271 arch/sparc/kernel/pci_msi.c kfree(pbm->msi_irq_table); pbm 272 arch/sparc/kernel/pci_msi.c pbm->msi_irq_table = NULL; pbm 275 arch/sparc/kernel/pci_msi.c static int bringup_one_msi_queue(struct pci_pbm_info *pbm, pbm 280 arch/sparc/kernel/pci_msi.c int irq = ops->msiq_build_irq(pbm, msiqid, devino); pbm 286 arch/sparc/kernel/pci_msi.c nid = pbm->numa_node; pbm 295 arch/sparc/kernel/pci_msi.c &pbm->msiq_irq_cookies[msiqid - pbm->msiq_first]); pbm 302 arch/sparc/kernel/pci_msi.c static int sparc64_bringup_msi_queues(struct pci_pbm_info *pbm, pbm 307 arch/sparc/kernel/pci_msi.c for (i = 0; i < pbm->msiq_num; i++) { pbm 308 arch/sparc/kernel/pci_msi.c unsigned long msiqid = i + pbm->msiq_first; pbm 309 arch/sparc/kernel/pci_msi.c unsigned long devino = i + pbm->msiq_first_devino; pbm 312 arch/sparc/kernel/pci_msi.c err = bringup_one_msi_queue(pbm, ops, msiqid, devino); pbm 320 arch/sparc/kernel/pci_msi.c void sparc64_pbm_msi_init(struct pci_pbm_info *pbm, pbm 326 arch/sparc/kernel/pci_msi.c val = of_get_property(pbm->op->dev.of_node, "#msi-eqs", &len); pbm 329 arch/sparc/kernel/pci_msi.c pbm->msiq_num = *val; pbm 330 arch/sparc/kernel/pci_msi.c if (pbm->msiq_num) { pbm 349 arch/sparc/kernel/pci_msi.c val = of_get_property(pbm->op->dev.of_node, "msi-eq-size", &len); pbm 353 arch/sparc/kernel/pci_msi.c pbm->msiq_ent_count = *val; pbm 355 arch/sparc/kernel/pci_msi.c mqp = of_get_property(pbm->op->dev.of_node, pbm 358 arch/sparc/kernel/pci_msi.c mqp = of_get_property(pbm->op->dev.of_node, pbm 363 arch/sparc/kernel/pci_msi.c pbm->msiq_first = mqp->first_msiq; pbm 364 arch/sparc/kernel/pci_msi.c pbm->msiq_first_devino = mqp->first_devino; pbm 366 arch/sparc/kernel/pci_msi.c val = of_get_property(pbm->op->dev.of_node, "#msi", &len); pbm 369 arch/sparc/kernel/pci_msi.c pbm->msi_num = *val; pbm 371 arch/sparc/kernel/pci_msi.c mrng = of_get_property(pbm->op->dev.of_node, "msi-ranges", &len); pbm 374 arch/sparc/kernel/pci_msi.c pbm->msi_first = mrng->first_msi; pbm 376 arch/sparc/kernel/pci_msi.c val = of_get_property(pbm->op->dev.of_node, "msi-data-mask", &len); pbm 379 arch/sparc/kernel/pci_msi.c pbm->msi_data_mask = *val; pbm 381 arch/sparc/kernel/pci_msi.c val = of_get_property(pbm->op->dev.of_node, "msix-data-width", &len); pbm 384 arch/sparc/kernel/pci_msi.c pbm->msix_data_width = *val; pbm 386 arch/sparc/kernel/pci_msi.c arng = of_get_property(pbm->op->dev.of_node, "msi-address-ranges", pbm 390 arch/sparc/kernel/pci_msi.c pbm->msi32_start = ((u64)arng->msi32_high << 32) | pbm 392 arch/sparc/kernel/pci_msi.c pbm->msi64_start = ((u64)arng->msi64_high << 32) | pbm 394 arch/sparc/kernel/pci_msi.c pbm->msi32_len = arng->msi32_len; pbm 395 arch/sparc/kernel/pci_msi.c pbm->msi64_len = arng->msi64_len; pbm 397 arch/sparc/kernel/pci_msi.c if (msi_bitmap_alloc(pbm)) pbm 400 arch/sparc/kernel/pci_msi.c if (msi_table_alloc(pbm)) { pbm 401 arch/sparc/kernel/pci_msi.c msi_bitmap_free(pbm); pbm 405 arch/sparc/kernel/pci_msi.c if (ops->msiq_alloc(pbm)) { pbm 406 arch/sparc/kernel/pci_msi.c msi_table_free(pbm); pbm 407 arch/sparc/kernel/pci_msi.c msi_bitmap_free(pbm); pbm 411 arch/sparc/kernel/pci_msi.c if (sparc64_bringup_msi_queues(pbm, ops)) { pbm 412 arch/sparc/kernel/pci_msi.c ops->msiq_free(pbm); pbm 413 arch/sparc/kernel/pci_msi.c msi_table_free(pbm); pbm 414 arch/sparc/kernel/pci_msi.c msi_bitmap_free(pbm); pbm 420 arch/sparc/kernel/pci_msi.c pbm->name, pbm 421 arch/sparc/kernel/pci_msi.c pbm->msiq_first, pbm->msiq_num, pbm 422 arch/sparc/kernel/pci_msi.c pbm->msiq_ent_count, pbm 423 arch/sparc/kernel/pci_msi.c pbm->msiq_first_devino); pbm 426 arch/sparc/kernel/pci_msi.c pbm->name, pbm 427 arch/sparc/kernel/pci_msi.c pbm->msi_first, pbm->msi_num, pbm->msi_data_mask, pbm 428 arch/sparc/kernel/pci_msi.c pbm->msix_data_width); pbm 431 arch/sparc/kernel/pci_msi.c pbm->name, pbm 432 arch/sparc/kernel/pci_msi.c pbm->msi32_start, pbm->msi32_len, pbm 433 arch/sparc/kernel/pci_msi.c pbm->msi64_start, pbm->msi64_len); pbm 435 arch/sparc/kernel/pci_msi.c pbm->name, pbm 436 arch/sparc/kernel/pci_msi.c __pa(pbm->msi_queues)); pbm 438 arch/sparc/kernel/pci_msi.c pbm->msi_ops = ops; pbm 439 arch/sparc/kernel/pci_msi.c pbm->setup_msi_irq = sparc64_setup_msi_irq; pbm 440 arch/sparc/kernel/pci_msi.c pbm->teardown_msi_irq = sparc64_teardown_msi_irq; pbm 445 arch/sparc/kernel/pci_msi.c pbm->msiq_num = 0; pbm 446 arch/sparc/kernel/pci_msi.c printk(KERN_INFO "%s: No MSI support.\n", pbm->name); pbm 135 arch/sparc/kernel/pci_psycho.c struct pci_pbm_info *pbm = dev_id; pbm 136 arch/sparc/kernel/pci_psycho.c unsigned long afsr_reg = pbm->controller_regs + PSYCHO_UE_AFSR; pbm 137 arch/sparc/kernel/pci_psycho.c unsigned long afar_reg = pbm->controller_regs + PSYCHO_UE_AFAR; pbm 155 arch/sparc/kernel/pci_psycho.c pbm->name, pbm 163 arch/sparc/kernel/pci_psycho.c pbm->name, pbm 168 arch/sparc/kernel/pci_psycho.c printk("%s: UE AFAR [%016lx]\n", pbm->name, afar); pbm 169 arch/sparc/kernel/pci_psycho.c printk("%s: UE Secondary errors [", pbm->name); pbm 188 arch/sparc/kernel/pci_psycho.c psycho_check_iommu_error(pbm, afsr, afar, UE_ERR); pbm 189 arch/sparc/kernel/pci_psycho.c if (pbm->sibling) pbm 190 arch/sparc/kernel/pci_psycho.c psycho_check_iommu_error(pbm->sibling, afsr, afar, UE_ERR); pbm 214 arch/sparc/kernel/pci_psycho.c struct pci_pbm_info *pbm = dev_id; pbm 215 arch/sparc/kernel/pci_psycho.c unsigned long afsr_reg = pbm->controller_regs + PSYCHO_CE_AFSR; pbm 216 arch/sparc/kernel/pci_psycho.c unsigned long afar_reg = pbm->controller_regs + PSYCHO_CE_AFAR; pbm 234 arch/sparc/kernel/pci_psycho.c pbm->name, pbm 247 arch/sparc/kernel/pci_psycho.c pbm->name, pbm 253 arch/sparc/kernel/pci_psycho.c printk("%s: CE AFAR [%016lx]\n", pbm->name, afar); pbm 254 arch/sparc/kernel/pci_psycho.c printk("%s: CE Secondary errors [", pbm->name); pbm 288 arch/sparc/kernel/pci_psycho.c static void psycho_register_error_handlers(struct pci_pbm_info *pbm) pbm 290 arch/sparc/kernel/pci_psycho.c struct platform_device *op = of_find_device_by_node(pbm->op->dev.of_node); pbm 291 arch/sparc/kernel/pci_psycho.c unsigned long base = pbm->controller_regs; pbm 315 arch/sparc/kernel/pci_psycho.c "PSYCHO_UE", pbm); pbm 317 arch/sparc/kernel/pci_psycho.c "PSYCHO_CE", pbm); pbm 324 arch/sparc/kernel/pci_psycho.c "PSYCHO_PCIERR", pbm); pbm 327 arch/sparc/kernel/pci_psycho.c "err=%d\n", pbm->name, err); pbm 353 arch/sparc/kernel/pci_psycho.c static void pbm_config_busmastering(struct pci_pbm_info *pbm) pbm 360 arch/sparc/kernel/pci_psycho.c addr = psycho_pci_config_mkaddr(pbm, pbm->pci_first_busno, pbm 365 arch/sparc/kernel/pci_psycho.c addr = psycho_pci_config_mkaddr(pbm, pbm->pci_first_busno, pbm 370 arch/sparc/kernel/pci_psycho.c static void psycho_scan_bus(struct pci_pbm_info *pbm, pbm 373 arch/sparc/kernel/pci_psycho.c pbm_config_busmastering(pbm); pbm 374 arch/sparc/kernel/pci_psycho.c pbm->is_66mhz_capable = 0; pbm 375 arch/sparc/kernel/pci_psycho.c pbm->pci_bus = pci_scan_one_pbm(pbm, parent); pbm 380 arch/sparc/kernel/pci_psycho.c psycho_register_error_handlers(pbm); pbm 395 arch/sparc/kernel/pci_psycho.c static void psycho_controller_hwinit(struct pci_pbm_info *pbm) pbm 399 arch/sparc/kernel/pci_psycho.c upa_writeq(5, pbm->controller_regs + PSYCHO_IRQ_RETRY); pbm 402 arch/sparc/kernel/pci_psycho.c tmp = upa_readq(pbm->controller_regs + PSYCHO_PCIA_CTRL); pbm 404 arch/sparc/kernel/pci_psycho.c upa_writeq(tmp, pbm->controller_regs + PSYCHO_PCIA_CTRL); pbm 406 arch/sparc/kernel/pci_psycho.c tmp = upa_readq(pbm->controller_regs + PSYCHO_PCIB_CTRL); pbm 408 arch/sparc/kernel/pci_psycho.c upa_writeq(tmp, pbm->controller_regs + PSYCHO_PCIB_CTRL); pbm 414 arch/sparc/kernel/pci_psycho.c tmp = upa_readq(pbm->controller_regs + PSYCHO_PCIA_DIAG); pbm 416 arch/sparc/kernel/pci_psycho.c upa_writeq(tmp, pbm->controller_regs + PSYCHO_PCIA_DIAG); pbm 418 arch/sparc/kernel/pci_psycho.c tmp = upa_readq(pbm->controller_regs + PSYCHO_PCIB_DIAG); pbm 420 arch/sparc/kernel/pci_psycho.c upa_writeq(tmp, pbm->controller_regs + PSYCHO_PCIB_DIAG); pbm 423 arch/sparc/kernel/pci_psycho.c static void psycho_pbm_strbuf_init(struct pci_pbm_info *pbm, pbm 426 arch/sparc/kernel/pci_psycho.c unsigned long base = pbm->controller_regs; pbm 430 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_control = base + PSYCHO_STRBUF_CONTROL_A; pbm 431 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_pflush = base + PSYCHO_STRBUF_FLUSH_A; pbm 432 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_fsync = base + PSYCHO_STRBUF_FSYNC_A; pbm 433 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_err_stat = base + PSYCHO_STC_ERR_A; pbm 434 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_tag_diag = base + PSYCHO_STC_TAG_A; pbm 435 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_line_diag= base + PSYCHO_STC_LINE_A; pbm 437 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_control = base + PSYCHO_STRBUF_CONTROL_B; pbm 438 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_pflush = base + PSYCHO_STRBUF_FLUSH_B; pbm 439 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_fsync = base + PSYCHO_STRBUF_FSYNC_B; pbm 440 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_err_stat = base + PSYCHO_STC_ERR_B; pbm 441 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_tag_diag = base + PSYCHO_STC_TAG_B; pbm 442 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_line_diag= base + PSYCHO_STC_LINE_B; pbm 445 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_ctxflush = 0; pbm 446 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_ctxmatch_base = 0; pbm 448 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_flushflag = (volatile unsigned long *) pbm 449 arch/sparc/kernel/pci_psycho.c ((((unsigned long)&pbm->stc.__flushflag_buf[0]) pbm 452 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_flushflag_pa = (unsigned long) pbm 453 arch/sparc/kernel/pci_psycho.c __pa(pbm->stc.strbuf_flushflag); pbm 465 arch/sparc/kernel/pci_psycho.c control = upa_readq(pbm->stc.strbuf_control); pbm 475 arch/sparc/kernel/pci_psycho.c upa_writeq(control, pbm->stc.strbuf_control); pbm 477 arch/sparc/kernel/pci_psycho.c pbm->stc.strbuf_enabled = 1; pbm 487 arch/sparc/kernel/pci_psycho.c static void psycho_pbm_init(struct pci_pbm_info *pbm, pbm 490 arch/sparc/kernel/pci_psycho.c psycho_pbm_init_common(pbm, op, "PSYCHO", PBM_CHIP_TYPE_PSYCHO); pbm 491 arch/sparc/kernel/pci_psycho.c psycho_pbm_strbuf_init(pbm, is_pbm_a); pbm 492 arch/sparc/kernel/pci_psycho.c psycho_scan_bus(pbm, &op->dev); pbm 497 arch/sparc/kernel/pci_psycho.c struct pci_pbm_info *pbm; pbm 499 arch/sparc/kernel/pci_psycho.c for (pbm = pci_pbm_root; pbm; pbm = pbm->next) { pbm 500 arch/sparc/kernel/pci_psycho.c if (pbm->portid == upa_portid) pbm 501 arch/sparc/kernel/pci_psycho.c return pbm; pbm 512 arch/sparc/kernel/pci_psycho.c struct pci_pbm_info *pbm; pbm 520 arch/sparc/kernel/pci_psycho.c pbm = kzalloc(sizeof(*pbm), GFP_KERNEL); pbm 521 arch/sparc/kernel/pci_psycho.c if (!pbm) { pbm 526 arch/sparc/kernel/pci_psycho.c pbm->sibling = psycho_find_sibling(upa_portid); pbm 527 arch/sparc/kernel/pci_psycho.c if (pbm->sibling) { pbm 528 arch/sparc/kernel/pci_psycho.c iommu = pbm->sibling->iommu; pbm 537 arch/sparc/kernel/pci_psycho.c pbm->iommu = iommu; pbm 538 arch/sparc/kernel/pci_psycho.c pbm->portid = upa_portid; pbm 549 arch/sparc/kernel/pci_psycho.c pbm->controller_regs = pr_regs[2].phys_addr; pbm 550 arch/sparc/kernel/pci_psycho.c pbm->config_space = (pr_regs[2].phys_addr + PSYCHO_CONFIGSPACE); pbm 553 arch/sparc/kernel/pci_psycho.c pbm->pci_afsr = pbm->controller_regs + PSYCHO_PCI_AFSR_A; pbm 554 arch/sparc/kernel/pci_psycho.c pbm->pci_afar = pbm->controller_regs + PSYCHO_PCI_AFAR_A; pbm 555 arch/sparc/kernel/pci_psycho.c pbm->pci_csr = pbm->controller_regs + PSYCHO_PCIA_CTRL; pbm 557 arch/sparc/kernel/pci_psycho.c pbm->pci_afsr = pbm->controller_regs + PSYCHO_PCI_AFSR_B; pbm 558 arch/sparc/kernel/pci_psycho.c pbm->pci_afar = pbm->controller_regs + PSYCHO_PCI_AFAR_B; pbm 559 arch/sparc/kernel/pci_psycho.c pbm->pci_csr = pbm->controller_regs + PSYCHO_PCIB_CTRL; pbm 562 arch/sparc/kernel/pci_psycho.c psycho_controller_hwinit(pbm); pbm 563 arch/sparc/kernel/pci_psycho.c if (!pbm->sibling) { pbm 564 arch/sparc/kernel/pci_psycho.c err = psycho_iommu_init(pbm, 128, 0xc0000000, pbm 571 arch/sparc/kernel/pci_psycho.c starfire_hookup(pbm->portid); pbm 574 arch/sparc/kernel/pci_psycho.c psycho_pbm_init(pbm, op, is_pbm_a); pbm 576 arch/sparc/kernel/pci_psycho.c pbm->next = pci_pbm_root; pbm 577 arch/sparc/kernel/pci_psycho.c pci_pbm_root = pbm; pbm 579 arch/sparc/kernel/pci_psycho.c if (pbm->sibling) pbm 580 arch/sparc/kernel/pci_psycho.c pbm->sibling->sibling = pbm; pbm 582 arch/sparc/kernel/pci_psycho.c dev_set_drvdata(&op->dev, pbm); pbm 587 arch/sparc/kernel/pci_psycho.c if (!pbm->sibling) pbm 588 arch/sparc/kernel/pci_psycho.c kfree(pbm->iommu); pbm 591 arch/sparc/kernel/pci_psycho.c kfree(pbm); pbm 199 arch/sparc/kernel/pci_sabre.c struct pci_pbm_info *pbm = dev_id; pbm 200 arch/sparc/kernel/pci_sabre.c unsigned long afsr_reg = pbm->controller_regs + SABRE_UE_AFSR; pbm 201 arch/sparc/kernel/pci_sabre.c unsigned long afar_reg = pbm->controller_regs + SABRE_UECE_AFAR; pbm 220 arch/sparc/kernel/pci_sabre.c pbm->name, pbm 228 arch/sparc/kernel/pci_sabre.c pbm->name, pbm 232 arch/sparc/kernel/pci_sabre.c printk("%s: UE AFAR [%016lx]\n", pbm->name, afar); pbm 233 arch/sparc/kernel/pci_sabre.c printk("%s: UE Secondary errors [", pbm->name); pbm 252 arch/sparc/kernel/pci_sabre.c psycho_check_iommu_error(pbm, afsr, afar, UE_ERR); pbm 259 arch/sparc/kernel/pci_sabre.c struct pci_pbm_info *pbm = dev_id; pbm 260 arch/sparc/kernel/pci_sabre.c unsigned long afsr_reg = pbm->controller_regs + SABRE_CE_AFSR; pbm 261 arch/sparc/kernel/pci_sabre.c unsigned long afar_reg = pbm->controller_regs + SABRE_UECE_AFAR; pbm 279 arch/sparc/kernel/pci_sabre.c pbm->name, pbm 290 arch/sparc/kernel/pci_sabre.c pbm->name, pbm 295 arch/sparc/kernel/pci_sabre.c printk("%s: CE AFAR [%016lx]\n", pbm->name, afar); pbm 296 arch/sparc/kernel/pci_sabre.c printk("%s: CE Secondary errors [", pbm->name); pbm 313 arch/sparc/kernel/pci_sabre.c static void sabre_register_error_handlers(struct pci_pbm_info *pbm) pbm 315 arch/sparc/kernel/pci_sabre.c struct device_node *dp = pbm->op->dev.of_node; pbm 317 arch/sparc/kernel/pci_sabre.c unsigned long base = pbm->controller_regs; pbm 321 arch/sparc/kernel/pci_sabre.c if (pbm->chip_type == PBM_CHIP_TYPE_SABRE) pbm 346 arch/sparc/kernel/pci_sabre.c err = request_irq(op->archdata.irqs[1], sabre_ue_intr, 0, "SABRE_UE", pbm); pbm 349 arch/sparc/kernel/pci_sabre.c pbm->name, err); pbm 356 arch/sparc/kernel/pci_sabre.c err = request_irq(op->archdata.irqs[2], sabre_ce_intr, 0, "SABRE_CE", pbm); pbm 359 arch/sparc/kernel/pci_sabre.c pbm->name, err); pbm 361 arch/sparc/kernel/pci_sabre.c "SABRE_PCIERR", pbm); pbm 364 arch/sparc/kernel/pci_sabre.c pbm->name, err); pbm 407 arch/sparc/kernel/pci_sabre.c static void sabre_scan_bus(struct pci_pbm_info *pbm, struct device *parent) pbm 419 arch/sparc/kernel/pci_sabre.c pbm->is_66mhz_capable = 1; pbm 421 arch/sparc/kernel/pci_sabre.c pbm->is_66mhz_capable = 0; pbm 435 arch/sparc/kernel/pci_sabre.c pbm->pci_bus = pci_scan_one_pbm(pbm, parent); pbm 436 arch/sparc/kernel/pci_sabre.c if (!pbm->pci_bus) pbm 439 arch/sparc/kernel/pci_sabre.c sabre_root_bus = pbm->pci_bus; pbm 441 arch/sparc/kernel/pci_sabre.c apb_init(pbm->pci_bus); pbm 443 arch/sparc/kernel/pci_sabre.c sabre_register_error_handlers(pbm); pbm 446 arch/sparc/kernel/pci_sabre.c static void sabre_pbm_init(struct pci_pbm_info *pbm, pbm 449 arch/sparc/kernel/pci_sabre.c psycho_pbm_init_common(pbm, op, "SABRE", PBM_CHIP_TYPE_SABRE); pbm 450 arch/sparc/kernel/pci_sabre.c pbm->pci_afsr = pbm->controller_regs + SABRE_PIOAFSR; pbm 451 arch/sparc/kernel/pci_sabre.c pbm->pci_afar = pbm->controller_regs + SABRE_PIOAFAR; pbm 452 arch/sparc/kernel/pci_sabre.c pbm->pci_csr = pbm->controller_regs + SABRE_PCICTRL; pbm 453 arch/sparc/kernel/pci_sabre.c sabre_scan_bus(pbm, &op->dev); pbm 462 arch/sparc/kernel/pci_sabre.c struct pci_pbm_info *pbm; pbm 484 arch/sparc/kernel/pci_sabre.c pbm = kzalloc(sizeof(*pbm), GFP_KERNEL); pbm 485 arch/sparc/kernel/pci_sabre.c if (!pbm) { pbm 496 arch/sparc/kernel/pci_sabre.c pbm->iommu = iommu; pbm 500 arch/sparc/kernel/pci_sabre.c pbm->portid = upa_portid; pbm 516 arch/sparc/kernel/pci_sabre.c pbm->controller_regs = pr_regs[0].phys_addr; pbm 522 arch/sparc/kernel/pci_sabre.c upa_writeq(0x0UL, pbm->controller_regs + clear_irq); pbm 526 arch/sparc/kernel/pci_sabre.c upa_writeq(0x0UL, pbm->controller_regs + clear_irq); pbm 531 arch/sparc/kernel/pci_sabre.c pbm->controller_regs + SABRE_PCICTRL); pbm 534 arch/sparc/kernel/pci_sabre.c pbm->config_space = pbm->controller_regs + SABRE_CONFIGSPACE; pbm 562 arch/sparc/kernel/pci_sabre.c err = psycho_iommu_init(pbm, tsbsize, vdma[0], dma_mask, SABRE_WRSYNC); pbm 569 arch/sparc/kernel/pci_sabre.c sabre_pbm_init(pbm, op); pbm 571 arch/sparc/kernel/pci_sabre.c pbm->next = pci_pbm_root; pbm 572 arch/sparc/kernel/pci_sabre.c pci_pbm_root = pbm; pbm 574 arch/sparc/kernel/pci_sabre.c dev_set_drvdata(&op->dev, pbm); pbm 579 arch/sparc/kernel/pci_sabre.c kfree(pbm->iommu); pbm 582 arch/sparc/kernel/pci_sabre.c kfree(pbm); pbm 80 arch/sparc/kernel/pci_schizo.c static void *schizo_pci_config_mkaddr(struct pci_pbm_info *pbm, pbm 85 arch/sparc/kernel/pci_schizo.c if (!pbm) pbm 87 arch/sparc/kernel/pci_schizo.c bus -= pbm->pci_first_busno; pbm 89 arch/sparc/kernel/pci_schizo.c (SCHIZO_CONFIG_BASE(pbm) | pbm 128 arch/sparc/kernel/pci_schizo.c static void __schizo_check_stc_error_pbm(struct pci_pbm_info *pbm, pbm 131 arch/sparc/kernel/pci_schizo.c struct strbuf *strbuf = &pbm->stc; pbm 132 arch/sparc/kernel/pci_schizo.c unsigned long regbase = pbm->pbm_regs; pbm 183 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 193 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 203 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 236 arch/sparc/kernel/pci_schizo.c static void schizo_check_iommu_error_pbm(struct pci_pbm_info *pbm, pbm 239 arch/sparc/kernel/pci_schizo.c struct iommu *iommu = pbm->iommu; pbm 272 arch/sparc/kernel/pci_schizo.c pbm->name, type_string); pbm 287 arch/sparc/kernel/pci_schizo.c base = pbm->pbm_regs; pbm 328 arch/sparc/kernel/pci_schizo.c pbm->name, i, type_string, pbm 335 arch/sparc/kernel/pci_schizo.c pbm->name, i, pbm 341 arch/sparc/kernel/pci_schizo.c if (pbm->stc.strbuf_enabled) pbm 342 arch/sparc/kernel/pci_schizo.c __schizo_check_stc_error_pbm(pbm, type); pbm 346 arch/sparc/kernel/pci_schizo.c static void schizo_check_iommu_error(struct pci_pbm_info *pbm, pbm 349 arch/sparc/kernel/pci_schizo.c schizo_check_iommu_error_pbm(pbm, type); pbm 350 arch/sparc/kernel/pci_schizo.c if (pbm->sibling) pbm 351 arch/sparc/kernel/pci_schizo.c schizo_check_iommu_error_pbm(pbm->sibling, type); pbm 375 arch/sparc/kernel/pci_schizo.c struct pci_pbm_info *pbm = dev_id; pbm 376 arch/sparc/kernel/pci_schizo.c unsigned long afsr_reg = pbm->controller_regs + SCHIZO_UE_AFSR; pbm 377 arch/sparc/kernel/pci_schizo.c unsigned long afar_reg = pbm->controller_regs + SCHIZO_UE_AFAR; pbm 403 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 411 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 416 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 422 arch/sparc/kernel/pci_schizo.c printk("%s: UE AFAR [%016lx]\n", pbm->name, afar); pbm 423 arch/sparc/kernel/pci_schizo.c printk("%s: UE Secondary errors [", pbm->name); pbm 438 arch/sparc/kernel/pci_schizo.c schizo_check_iommu_error(pbm, UE_ERR); pbm 463 arch/sparc/kernel/pci_schizo.c struct pci_pbm_info *pbm = dev_id; pbm 464 arch/sparc/kernel/pci_schizo.c unsigned long afsr_reg = pbm->controller_regs + SCHIZO_CE_AFSR; pbm 465 arch/sparc/kernel/pci_schizo.c unsigned long afar_reg = pbm->controller_regs + SCHIZO_CE_AFAR; pbm 491 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 503 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 508 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 514 arch/sparc/kernel/pci_schizo.c printk("%s: CE AFAR [%016lx]\n", pbm->name, afar); pbm 515 arch/sparc/kernel/pci_schizo.c printk("%s: CE Secondary errors [", pbm->name); pbm 582 arch/sparc/kernel/pci_schizo.c static irqreturn_t schizo_pcierr_intr_other(struct pci_pbm_info *pbm) pbm 588 arch/sparc/kernel/pci_schizo.c csr_reg = pbm->pbm_regs + SCHIZO_PCI_CTRL; pbm 604 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 607 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 610 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 613 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 616 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 619 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 622 arch/sparc/kernel/pci_schizo.c pbm->pci_ops->read(pbm->pci_bus, 0, PCI_STATUS, 2, &stat); pbm 629 arch/sparc/kernel/pci_schizo.c pbm->name, stat); pbm 630 arch/sparc/kernel/pci_schizo.c pbm->pci_ops->write(pbm->pci_bus, 0, PCI_STATUS, 2, 0xffff); pbm 638 arch/sparc/kernel/pci_schizo.c struct pci_pbm_info *pbm = dev_id; pbm 643 arch/sparc/kernel/pci_schizo.c base = pbm->pbm_regs; pbm 661 arch/sparc/kernel/pci_schizo.c return schizo_pcierr_intr_other(pbm); pbm 666 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 680 arch/sparc/kernel/pci_schizo.c pbm->name, pbm 690 arch/sparc/kernel/pci_schizo.c pbm->name, afar); pbm 692 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 732 arch/sparc/kernel/pci_schizo.c schizo_check_iommu_error(pbm, PCI_ERR); pbm 733 arch/sparc/kernel/pci_schizo.c pci_scan_for_target_abort(pbm, pbm->pci_bus); pbm 736 arch/sparc/kernel/pci_schizo.c pci_scan_for_master_abort(pbm, pbm->pci_bus); pbm 746 arch/sparc/kernel/pci_schizo.c pci_scan_for_parity_error(pbm, pbm->pci_bus); pbm 792 arch/sparc/kernel/pci_schizo.c struct pci_pbm_info *pbm = dev_id; pbm 795 arch/sparc/kernel/pci_schizo.c errlog = upa_readq(pbm->controller_regs + SCHIZO_SAFARI_ERRLOG); pbm 797 arch/sparc/kernel/pci_schizo.c pbm->controller_regs + SCHIZO_SAFARI_ERRLOG); pbm 801 arch/sparc/kernel/pci_schizo.c pbm->name, errlog); pbm 807 arch/sparc/kernel/pci_schizo.c pbm->name); pbm 808 arch/sparc/kernel/pci_schizo.c schizo_check_iommu_error(pbm, SAFARI_ERR); pbm 824 arch/sparc/kernel/pci_schizo.c static int pbm_routes_this_ino(struct pci_pbm_info *pbm, u32 ino) pbm 828 arch/sparc/kernel/pci_schizo.c if (pbm->ino_bitmap & (1UL << ino)) pbm 848 arch/sparc/kernel/pci_schizo.c static void tomatillo_register_error_handlers(struct pci_pbm_info *pbm) pbm 850 arch/sparc/kernel/pci_schizo.c struct platform_device *op = of_find_device_by_node(pbm->op->dev.of_node); pbm 862 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_UE_INO)) { pbm 864 arch/sparc/kernel/pci_schizo.c "TOMATILLO_UE", pbm); pbm 867 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 869 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_CE_INO)) { pbm 871 arch/sparc/kernel/pci_schizo.c "TOMATILLO_CE", pbm); pbm 874 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 877 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_PCIERR_A_INO)) { pbm 879 arch/sparc/kernel/pci_schizo.c "TOMATILLO_PCIERR", pbm); pbm 880 arch/sparc/kernel/pci_schizo.c } else if (pbm_routes_this_ino(pbm, SCHIZO_PCIERR_B_INO)) { pbm 882 arch/sparc/kernel/pci_schizo.c "TOMATILLO_PCIERR", pbm); pbm 886 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 888 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_SERR_INO)) { pbm 890 arch/sparc/kernel/pci_schizo.c "TOMATILLO_SERR", pbm); pbm 893 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 899 arch/sparc/kernel/pci_schizo.c SCHIZO_ECCCTRL_CE), pbm->controller_regs + SCHIZO_ECC_CTRL); pbm 912 arch/sparc/kernel/pci_schizo.c tmp = upa_readq(pbm->pbm_regs + SCHIZO_PCI_CTRL); pbm 915 arch/sparc/kernel/pci_schizo.c upa_writeq(tmp, pbm->pbm_regs + SCHIZO_PCI_CTRL); pbm 924 arch/sparc/kernel/pci_schizo.c upa_writeq(err_mask, pbm->pbm_regs + SCHIZO_PCI_AFSR); pbm 937 arch/sparc/kernel/pci_schizo.c pbm->controller_regs + SCHIZO_SAFARI_ERRCTRL); pbm 940 arch/sparc/kernel/pci_schizo.c pbm->controller_regs + SCHIZO_SAFARI_IRQCTRL); pbm 943 arch/sparc/kernel/pci_schizo.c static void schizo_register_error_handlers(struct pci_pbm_info *pbm) pbm 945 arch/sparc/kernel/pci_schizo.c struct platform_device *op = of_find_device_by_node(pbm->op->dev.of_node); pbm 957 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_UE_INO)) { pbm 959 arch/sparc/kernel/pci_schizo.c "SCHIZO_UE", pbm); pbm 962 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 964 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_CE_INO)) { pbm 966 arch/sparc/kernel/pci_schizo.c "SCHIZO_CE", pbm); pbm 969 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 972 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_PCIERR_A_INO)) { pbm 974 arch/sparc/kernel/pci_schizo.c "SCHIZO_PCIERR", pbm); pbm 975 arch/sparc/kernel/pci_schizo.c } else if (pbm_routes_this_ino(pbm, SCHIZO_PCIERR_B_INO)) { pbm 977 arch/sparc/kernel/pci_schizo.c "SCHIZO_PCIERR", pbm); pbm 981 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 983 arch/sparc/kernel/pci_schizo.c if (pbm_routes_this_ino(pbm, SCHIZO_SERR_INO)) { pbm 985 arch/sparc/kernel/pci_schizo.c "SCHIZO_SERR", pbm); pbm 988 arch/sparc/kernel/pci_schizo.c "err=%d\n", pbm->name, err); pbm 994 arch/sparc/kernel/pci_schizo.c SCHIZO_ECCCTRL_CE), pbm->controller_regs + SCHIZO_ECC_CTRL); pbm 1010 arch/sparc/kernel/pci_schizo.c tmp = upa_readq(pbm->pbm_regs + SCHIZO_PCI_CTRL); pbm 1013 arch/sparc/kernel/pci_schizo.c upa_writeq(tmp, pbm->pbm_regs + SCHIZO_PCI_CTRL); pbm 1021 arch/sparc/kernel/pci_schizo.c pbm->pbm_regs + SCHIZO_PCI_AFSR); pbm 1049 arch/sparc/kernel/pci_schizo.c pbm->controller_regs + SCHIZO_SAFARI_ERRCTRL); pbm 1052 arch/sparc/kernel/pci_schizo.c static void pbm_config_busmastering(struct pci_pbm_info *pbm) pbm 1059 arch/sparc/kernel/pci_schizo.c addr = schizo_pci_config_mkaddr(pbm, pbm->pci_first_busno, pbm 1064 arch/sparc/kernel/pci_schizo.c addr = schizo_pci_config_mkaddr(pbm, pbm->pci_first_busno, pbm 1069 arch/sparc/kernel/pci_schizo.c static void schizo_scan_bus(struct pci_pbm_info *pbm, struct device *parent) pbm 1071 arch/sparc/kernel/pci_schizo.c pbm_config_busmastering(pbm); pbm 1072 arch/sparc/kernel/pci_schizo.c pbm->is_66mhz_capable = pbm 1073 arch/sparc/kernel/pci_schizo.c (of_find_property(pbm->op->dev.of_node, "66mhz-capable", NULL) pbm 1076 arch/sparc/kernel/pci_schizo.c pbm->pci_bus = pci_scan_one_pbm(pbm, parent); pbm 1078 arch/sparc/kernel/pci_schizo.c if (pbm->chip_type == PBM_CHIP_TYPE_TOMATILLO) pbm 1079 arch/sparc/kernel/pci_schizo.c tomatillo_register_error_handlers(pbm); pbm 1081 arch/sparc/kernel/pci_schizo.c schizo_register_error_handlers(pbm); pbm 1090 arch/sparc/kernel/pci_schizo.c static void schizo_pbm_strbuf_init(struct pci_pbm_info *pbm) pbm 1092 arch/sparc/kernel/pci_schizo.c unsigned long base = pbm->pbm_regs; pbm 1095 arch/sparc/kernel/pci_schizo.c if (pbm->chip_type == PBM_CHIP_TYPE_TOMATILLO) { pbm 1101 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_control = base + SCHIZO_STRBUF_CONTROL; pbm 1102 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_pflush = base + SCHIZO_STRBUF_FLUSH; pbm 1103 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_fsync = base + SCHIZO_STRBUF_FSYNC; pbm 1104 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_ctxflush = base + SCHIZO_STRBUF_CTXFLUSH; pbm 1105 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_ctxmatch_base = base + SCHIZO_STRBUF_CTXMATCH; pbm 1107 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_flushflag = (volatile unsigned long *) pbm 1108 arch/sparc/kernel/pci_schizo.c ((((unsigned long)&pbm->stc.__flushflag_buf[0]) pbm 1111 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_flushflag_pa = (unsigned long) pbm 1112 arch/sparc/kernel/pci_schizo.c __pa(pbm->stc.strbuf_flushflag); pbm 1118 arch/sparc/kernel/pci_schizo.c control = upa_readq(pbm->stc.strbuf_control); pbm 1123 arch/sparc/kernel/pci_schizo.c upa_writeq(control, pbm->stc.strbuf_control); pbm 1125 arch/sparc/kernel/pci_schizo.c pbm->stc.strbuf_enabled = 1; pbm 1133 arch/sparc/kernel/pci_schizo.c static int schizo_pbm_iommu_init(struct pci_pbm_info *pbm) pbm 1137 arch/sparc/kernel/pci_schizo.c struct iommu *iommu = pbm->iommu; pbm 1143 arch/sparc/kernel/pci_schizo.c vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma", NULL); pbm 1170 arch/sparc/kernel/pci_schizo.c iommu->iommu_control = pbm->pbm_regs + SCHIZO_IOMMU_CONTROL; pbm 1171 arch/sparc/kernel/pci_schizo.c iommu->iommu_tsbbase = pbm->pbm_regs + SCHIZO_IOMMU_TSBBASE; pbm 1172 arch/sparc/kernel/pci_schizo.c iommu->iommu_flush = pbm->pbm_regs + SCHIZO_IOMMU_FLUSH; pbm 1174 arch/sparc/kernel/pci_schizo.c iommu->iommu_ctxflush = pbm->pbm_regs + SCHIZO_IOMMU_CTXFLUSH; pbm 1179 arch/sparc/kernel/pci_schizo.c iommu->write_complete_reg = pbm->controller_regs + 0x10000UL; pbm 1191 arch/sparc/kernel/pci_schizo.c upa_writeq(0, pbm->pbm_regs + tagbase + (i * 8UL)); pbm 1192 arch/sparc/kernel/pci_schizo.c upa_writeq(0, pbm->pbm_regs + database + (i * 8UL)); pbm 1199 arch/sparc/kernel/pci_schizo.c pbm->numa_node); pbm 1258 arch/sparc/kernel/pci_schizo.c static void schizo_pbm_hw_init(struct pci_pbm_info *pbm) pbm 1262 arch/sparc/kernel/pci_schizo.c upa_writeq(5, pbm->pbm_regs + SCHIZO_PCI_IRQ_RETRY); pbm 1264 arch/sparc/kernel/pci_schizo.c tmp = upa_readq(pbm->pbm_regs + SCHIZO_PCI_CTRL); pbm 1269 arch/sparc/kernel/pci_schizo.c if (pbm->chip_type == PBM_CHIP_TYPE_TOMATILLO && pbm 1270 arch/sparc/kernel/pci_schizo.c pbm->chip_version >= 0x2) pbm 1273 arch/sparc/kernel/pci_schizo.c if (!of_find_property(pbm->op->dev.of_node, "no-bus-parking", NULL)) pbm 1278 arch/sparc/kernel/pci_schizo.c if (pbm->chip_type == PBM_CHIP_TYPE_TOMATILLO && pbm 1279 arch/sparc/kernel/pci_schizo.c pbm->chip_version <= 0x1) pbm 1284 arch/sparc/kernel/pci_schizo.c if (pbm->chip_type == PBM_CHIP_TYPE_TOMATILLO) pbm 1289 arch/sparc/kernel/pci_schizo.c upa_writeq(tmp, pbm->pbm_regs + SCHIZO_PCI_CTRL); pbm 1291 arch/sparc/kernel/pci_schizo.c tmp = upa_readq(pbm->pbm_regs + SCHIZO_PCI_DIAG); pbm 1295 arch/sparc/kernel/pci_schizo.c upa_writeq(tmp, pbm->pbm_regs + SCHIZO_PCI_DIAG); pbm 1297 arch/sparc/kernel/pci_schizo.c if (pbm->chip_type == PBM_CHIP_TYPE_TOMATILLO) { pbm 1307 arch/sparc/kernel/pci_schizo.c upa_writeq(tmp, pbm->pbm_regs + TOMATILLO_PCI_IOC_CSR); pbm 1311 arch/sparc/kernel/pci_schizo.c static int schizo_pbm_init(struct pci_pbm_info *pbm, pbm 1348 arch/sparc/kernel/pci_schizo.c pbm->next = pci_pbm_root; pbm 1349 arch/sparc/kernel/pci_schizo.c pci_pbm_root = pbm; pbm 1351 arch/sparc/kernel/pci_schizo.c pbm->numa_node = NUMA_NO_NODE; pbm 1353 arch/sparc/kernel/pci_schizo.c pbm->pci_ops = &sun4u_pci_ops; pbm 1354 arch/sparc/kernel/pci_schizo.c pbm->config_space_reg_bits = 8; pbm 1356 arch/sparc/kernel/pci_schizo.c pbm->index = pci_num_pbms++; pbm 1358 arch/sparc/kernel/pci_schizo.c pbm->portid = portid; pbm 1359 arch/sparc/kernel/pci_schizo.c pbm->op = op; pbm 1361 arch/sparc/kernel/pci_schizo.c pbm->chip_type = chip_type; pbm 1362 arch/sparc/kernel/pci_schizo.c pbm->chip_version = of_getintprop_default(dp, "version#", 0); pbm 1363 arch/sparc/kernel/pci_schizo.c pbm->chip_revision = of_getintprop_default(dp, "module-version#", 0); pbm 1365 arch/sparc/kernel/pci_schizo.c pbm->pbm_regs = regs[0].phys_addr; pbm 1366 arch/sparc/kernel/pci_schizo.c pbm->controller_regs = regs[1].phys_addr - 0x10000UL; pbm 1369 arch/sparc/kernel/pci_schizo.c pbm->sync_reg = regs[3].phys_addr + 0x1a18UL; pbm 1371 arch/sparc/kernel/pci_schizo.c pbm->name = dp->full_name; pbm 1374 arch/sparc/kernel/pci_schizo.c pbm->name, chipset_name, pbm 1375 arch/sparc/kernel/pci_schizo.c pbm->chip_version, pbm->chip_revision); pbm 1377 arch/sparc/kernel/pci_schizo.c schizo_pbm_hw_init(pbm); pbm 1379 arch/sparc/kernel/pci_schizo.c pci_determine_mem_io_space(pbm); pbm 1381 arch/sparc/kernel/pci_schizo.c pci_get_pbm_props(pbm); pbm 1383 arch/sparc/kernel/pci_schizo.c err = schizo_pbm_iommu_init(pbm); pbm 1387 arch/sparc/kernel/pci_schizo.c schizo_pbm_strbuf_init(pbm); pbm 1389 arch/sparc/kernel/pci_schizo.c schizo_scan_bus(pbm, &op->dev); pbm 1406 arch/sparc/kernel/pci_schizo.c struct pci_pbm_info *pbm; pbm 1408 arch/sparc/kernel/pci_schizo.c for (pbm = pci_pbm_root; pbm; pbm = pbm->next) { pbm 1409 arch/sparc/kernel/pci_schizo.c if (portid_compare(pbm->portid, portid, chip_type)) pbm 1410 arch/sparc/kernel/pci_schizo.c return pbm; pbm 1418 arch/sparc/kernel/pci_schizo.c struct pci_pbm_info *pbm; pbm 1426 arch/sparc/kernel/pci_schizo.c pbm = kzalloc(sizeof(*pbm), GFP_KERNEL); pbm 1427 arch/sparc/kernel/pci_schizo.c if (!pbm) { pbm 1432 arch/sparc/kernel/pci_schizo.c pbm->sibling = schizo_find_sibling(portid, chip_type); pbm 1440 arch/sparc/kernel/pci_schizo.c pbm->iommu = iommu; pbm 1442 arch/sparc/kernel/pci_schizo.c if (schizo_pbm_init(pbm, op, portid, chip_type)) pbm 1445 arch/sparc/kernel/pci_schizo.c if (pbm->sibling) pbm 1446 arch/sparc/kernel/pci_schizo.c pbm->sibling->sibling = pbm; pbm 1448 arch/sparc/kernel/pci_schizo.c dev_set_drvdata(&op->dev, pbm); pbm 1453 arch/sparc/kernel/pci_schizo.c kfree(pbm->iommu); pbm 1456 arch/sparc/kernel/pci_schizo.c kfree(pbm); pbm 84 arch/sparc/kernel/pci_sun4v.c struct pci_pbm_info *pbm = p->dev->archdata.host_controller; pbm 87 arch/sparc/kernel/pci_sun4v.c unsigned long devhandle = pbm->devhandle; pbm 100 arch/sparc/kernel/pci_sun4v.c if (!iommu_use_atu(pbm->iommu, mask)) { pbm 117 arch/sparc/kernel/pci_sun4v.c iotsb_num = pbm->iommu->atu->iotsb->iotsb_num; pbm 324 arch/sparc/kernel/pci_sun4v.c struct pci_pbm_info *pbm; pbm 334 arch/sparc/kernel/pci_sun4v.c pbm = dev->archdata.host_controller; pbm 336 arch/sparc/kernel/pci_sun4v.c devhandle = pbm->devhandle; pbm 431 arch/sparc/kernel/pci_sun4v.c struct pci_pbm_info *pbm; pbm 447 arch/sparc/kernel/pci_sun4v.c pbm = dev->archdata.host_controller; pbm 449 arch/sparc/kernel/pci_sun4v.c devhandle = pbm->devhandle; pbm 629 arch/sparc/kernel/pci_sun4v.c struct pci_pbm_info *pbm; pbm 640 arch/sparc/kernel/pci_sun4v.c pbm = dev->archdata.host_controller; pbm 642 arch/sparc/kernel/pci_sun4v.c devhandle = pbm->devhandle; pbm 697 arch/sparc/kernel/pci_sun4v.c static void pci_sun4v_scan_bus(struct pci_pbm_info *pbm, struct device *parent) pbm 702 arch/sparc/kernel/pci_sun4v.c dp = pbm->op->dev.of_node; pbm 704 arch/sparc/kernel/pci_sun4v.c pbm->is_66mhz_capable = (prop != NULL); pbm 705 arch/sparc/kernel/pci_sun4v.c pbm->pci_bus = pci_scan_one_pbm(pbm, parent); pbm 710 arch/sparc/kernel/pci_sun4v.c static unsigned long probe_existing_entries(struct pci_pbm_info *pbm, pbm 717 arch/sparc/kernel/pci_sun4v.c devhandle = pbm->devhandle; pbm 741 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_atu_alloc_iotsb(struct pci_pbm_info *pbm) pbm 743 arch/sparc/kernel/pci_sun4v.c struct atu *atu = pbm->iommu->atu; pbm 774 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_iotsb_conf(pbm->devhandle, pbm 786 arch/sparc/kernel/pci_sun4v.c err = dma_4v_iotsb_bind(pbm->devhandle, iotsb_num, pbm->pci_bus); pbm 802 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_atu_init(struct pci_pbm_info *pbm) pbm 804 arch/sparc/kernel/pci_sun4v.c struct atu *atu = pbm->iommu->atu; pbm 812 arch/sparc/kernel/pci_sun4v.c ranges = of_get_property(pbm->op->dev.of_node, "iommu-address-ranges", pbm 819 arch/sparc/kernel/pci_sun4v.c page_size = of_get_property(pbm->op->dev.of_node, "iommu-pagesizes", pbm 841 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_atu_alloc_iotsb(pbm); pbm 867 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_iommu_init(struct pci_pbm_info *pbm) pbm 870 arch/sparc/kernel/pci_sun4v.c struct iommu *iommu = pbm->iommu; pbm 875 arch/sparc/kernel/pci_sun4v.c vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma", NULL); pbm 908 arch/sparc/kernel/pci_sun4v.c sz = probe_existing_entries(pbm, &iommu->tbl); pbm 911 arch/sparc/kernel/pci_sun4v.c pbm->name, sz); pbm 961 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_get_head(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 966 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_msiq_gethead(pbm->devhandle, msiqid, head); pbm 970 arch/sparc/kernel/pci_sun4v.c limit = pbm->msiq_ent_count * sizeof(struct pci_sun4v_msiq_entry); pbm 977 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_dequeue_msi(struct pci_pbm_info *pbm, pbm 985 arch/sparc/kernel/pci_sun4v.c ep = (pbm->msi_queues + ((msiqid - pbm->msiq_first) * pbm 986 arch/sparc/kernel/pci_sun4v.c (pbm->msiq_ent_count * pbm 1000 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_msi_setstate(pbm->devhandle, pbm 1011 arch/sparc/kernel/pci_sun4v.c (pbm->msiq_ent_count * sizeof(struct pci_sun4v_msiq_entry))) pbm 1017 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_set_head(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 1022 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_msiq_sethead(pbm->devhandle, msiqid, head); pbm 1029 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_msi_setup(struct pci_pbm_info *pbm, unsigned long msiqid, pbm 1032 arch/sparc/kernel/pci_sun4v.c if (pci_sun4v_msi_setmsiq(pbm->devhandle, msi, msiqid, pbm 1036 arch/sparc/kernel/pci_sun4v.c if (pci_sun4v_msi_setstate(pbm->devhandle, msi, HV_MSISTATE_IDLE)) pbm 1038 arch/sparc/kernel/pci_sun4v.c if (pci_sun4v_msi_setvalid(pbm->devhandle, msi, HV_MSIVALID_VALID)) pbm 1043 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_msi_teardown(struct pci_pbm_info *pbm, unsigned long msi) pbm 1047 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_msi_getmsiq(pbm->devhandle, msi, &msiqid); pbm 1051 arch/sparc/kernel/pci_sun4v.c pci_sun4v_msi_setvalid(pbm->devhandle, msi, HV_MSIVALID_INVALID); pbm 1056 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_msiq_alloc(struct pci_pbm_info *pbm) pbm 1061 arch/sparc/kernel/pci_sun4v.c q_size = pbm->msiq_ent_count * sizeof(struct pci_sun4v_msiq_entry); pbm 1062 arch/sparc/kernel/pci_sun4v.c alloc_size = (pbm->msiq_num * q_size); pbm 1071 arch/sparc/kernel/pci_sun4v.c pbm->msi_queues = (void *) pages; pbm 1073 arch/sparc/kernel/pci_sun4v.c for (i = 0; i < pbm->msiq_num; i++) { pbm 1077 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_msiq_conf(pbm->devhandle, pbm 1078 arch/sparc/kernel/pci_sun4v.c pbm->msiq_first + i, pbm 1079 arch/sparc/kernel/pci_sun4v.c base, pbm->msiq_ent_count); pbm 1086 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_msiq_info(pbm->devhandle, pbm 1087 arch/sparc/kernel/pci_sun4v.c pbm->msiq_first + i, pbm 1094 arch/sparc/kernel/pci_sun4v.c if (ret1 != base || ret2 != pbm->msiq_ent_count) { pbm 1097 arch/sparc/kernel/pci_sun4v.c base, pbm->msiq_ent_count, pbm 1110 arch/sparc/kernel/pci_sun4v.c static void pci_sun4v_msiq_free(struct pci_pbm_info *pbm) pbm 1115 arch/sparc/kernel/pci_sun4v.c for (i = 0; i < pbm->msiq_num; i++) { pbm 1116 arch/sparc/kernel/pci_sun4v.c unsigned long msiqid = pbm->msiq_first + i; pbm 1118 arch/sparc/kernel/pci_sun4v.c (void) pci_sun4v_msiq_conf(pbm->devhandle, msiqid, 0UL, 0); pbm 1121 arch/sparc/kernel/pci_sun4v.c q_size = pbm->msiq_ent_count * sizeof(struct pci_sun4v_msiq_entry); pbm 1122 arch/sparc/kernel/pci_sun4v.c alloc_size = (pbm->msiq_num * q_size); pbm 1125 arch/sparc/kernel/pci_sun4v.c pages = (unsigned long) pbm->msi_queues; pbm 1129 arch/sparc/kernel/pci_sun4v.c pbm->msi_queues = NULL; pbm 1132 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_msiq_build_irq(struct pci_pbm_info *pbm, pbm 1136 arch/sparc/kernel/pci_sun4v.c unsigned int irq = sun4v_build_irq(pbm->devhandle, devino); pbm 1141 arch/sparc/kernel/pci_sun4v.c if (pci_sun4v_msiq_setvalid(pbm->devhandle, msiqid, HV_MSIQ_VALID)) pbm 1143 arch/sparc/kernel/pci_sun4v.c if (pci_sun4v_msiq_setstate(pbm->devhandle, msiqid, HV_MSIQSTATE_IDLE)) pbm 1160 arch/sparc/kernel/pci_sun4v.c static void pci_sun4v_msi_init(struct pci_pbm_info *pbm) pbm 1162 arch/sparc/kernel/pci_sun4v.c sparc64_pbm_msi_init(pbm, &pci_sun4v_msiq_ops); pbm 1165 arch/sparc/kernel/pci_sun4v.c static void pci_sun4v_msi_init(struct pci_pbm_info *pbm) pbm 1170 arch/sparc/kernel/pci_sun4v.c static int pci_sun4v_pbm_init(struct pci_pbm_info *pbm, pbm 1176 arch/sparc/kernel/pci_sun4v.c pbm->numa_node = of_node_to_nid(dp); pbm 1178 arch/sparc/kernel/pci_sun4v.c pbm->pci_ops = &sun4v_pci_ops; pbm 1179 arch/sparc/kernel/pci_sun4v.c pbm->config_space_reg_bits = 12; pbm 1181 arch/sparc/kernel/pci_sun4v.c pbm->index = pci_num_pbms++; pbm 1183 arch/sparc/kernel/pci_sun4v.c pbm->op = op; pbm 1185 arch/sparc/kernel/pci_sun4v.c pbm->devhandle = devhandle; pbm 1187 arch/sparc/kernel/pci_sun4v.c pbm->name = dp->full_name; pbm 1189 arch/sparc/kernel/pci_sun4v.c printk("%s: SUN4V PCI Bus Module\n", pbm->name); pbm 1190 arch/sparc/kernel/pci_sun4v.c printk("%s: On NUMA node %d\n", pbm->name, pbm->numa_node); pbm 1192 arch/sparc/kernel/pci_sun4v.c pci_determine_mem_io_space(pbm); pbm 1194 arch/sparc/kernel/pci_sun4v.c pci_get_pbm_props(pbm); pbm 1196 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_iommu_init(pbm); pbm 1200 arch/sparc/kernel/pci_sun4v.c pci_sun4v_msi_init(pbm); pbm 1202 arch/sparc/kernel/pci_sun4v.c pci_sun4v_scan_bus(pbm, &op->dev); pbm 1207 arch/sparc/kernel/pci_sun4v.c if (pbm->iommu->atu) { pbm 1208 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_atu_init(pbm); pbm 1210 arch/sparc/kernel/pci_sun4v.c kfree(pbm->iommu->atu); pbm 1211 arch/sparc/kernel/pci_sun4v.c pbm->iommu->atu = NULL; pbm 1216 arch/sparc/kernel/pci_sun4v.c pbm->next = pci_pbm_root; pbm 1217 arch/sparc/kernel/pci_sun4v.c pci_pbm_root = pbm; pbm 1226 arch/sparc/kernel/pci_sun4v.c struct pci_pbm_info *pbm; pbm 1289 arch/sparc/kernel/pci_sun4v.c pbm = kzalloc(sizeof(*pbm), GFP_KERNEL); pbm 1290 arch/sparc/kernel/pci_sun4v.c if (!pbm) { pbm 1301 arch/sparc/kernel/pci_sun4v.c pbm->iommu = iommu; pbm 1311 arch/sparc/kernel/pci_sun4v.c err = pci_sun4v_pbm_init(pbm, op, devhandle); pbm 1315 arch/sparc/kernel/pci_sun4v.c dev_set_drvdata(&op->dev, pbm); pbm 1321 arch/sparc/kernel/pci_sun4v.c kfree(pbm->iommu); pbm 1324 arch/sparc/kernel/pci_sun4v.c kfree(pbm); pbm 291 arch/sparc/kernel/pcic.c struct linux_pbm_info* pbm; pbm 352 arch/sparc/kernel/pcic.c pbm = &pcic->pbm; pbm 353 arch/sparc/kernel/pcic.c pbm->prom_node = node; pbm 355 arch/sparc/kernel/pcic.c strcpy(pbm->prom_name, namebuf); pbm 392 arch/sparc/kernel/pcic.c struct linux_pbm_info *pbm = &pcic->pbm; pbm 394 arch/sparc/kernel/pcic.c pbm->pci_bus = pci_scan_bus(pbm->pci_first_busno, &pcic_ops, pbm); pbm 395 arch/sparc/kernel/pcic.c if (!pbm->pci_bus) pbm 399 arch/sparc/kernel/pcic.c pci_fill_in_pbm_cookies(pbm->pci_bus, pbm, pbm->prom_node); pbm 400 arch/sparc/kernel/pcic.c pci_record_assignments(pbm, pbm->pci_bus); pbm 401 arch/sparc/kernel/pcic.c pci_assign_unassigned(pbm, pbm->pci_bus); pbm 402 arch/sparc/kernel/pcic.c pci_fixup_irq(pbm, pbm->pci_bus); pbm 404 arch/sparc/kernel/pcic.c pci_bus_add_devices(pbm->pci_bus); pbm 447 arch/sparc/kernel/pcic.c static int pdev_to_pnode(struct linux_pbm_info *pbm, struct pci_dev *pdev) pbm 451 arch/sparc/kernel/pcic.c phandle node = prom_getchild(pbm->prom_node); pbm 626 arch/sparc/kernel/pcic.c node = pdev_to_pnode(&pcic->pbm, dev); pbm 632 arch/sparc/kernel/pcic.c pcp->pbm = &pcic->pbm; pbm 35 arch/sparc/kernel/psycho_common.c static void psycho_check_stc_error(struct pci_pbm_info *pbm) pbm 38 arch/sparc/kernel/psycho_common.c struct strbuf *strbuf = &pbm->stc; pbm 90 arch/sparc/kernel/psycho_common.c pbm->name, pbm 101 arch/sparc/kernel/psycho_common.c pbm->name, pbm 109 arch/sparc/kernel/psycho_common.c pbm->name, pbm 126 arch/sparc/kernel/psycho_common.c static void psycho_record_iommu_tags_and_data(struct pci_pbm_info *pbm, pbm 132 arch/sparc/kernel/psycho_common.c unsigned long base = pbm->controller_regs; pbm 154 arch/sparc/kernel/psycho_common.c static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm, pbm 185 arch/sparc/kernel/psycho_common.c pbm->name, i, type_str, pbm 192 arch/sparc/kernel/psycho_common.c pbm->name, i, pbm 202 arch/sparc/kernel/psycho_common.c void psycho_check_iommu_error(struct pci_pbm_info *pbm, pbm 208 arch/sparc/kernel/psycho_common.c struct iommu *iommu = pbm->iommu; pbm 235 arch/sparc/kernel/psycho_common.c pbm->name, type_str); pbm 243 arch/sparc/kernel/psycho_common.c psycho_record_iommu_tags_and_data(pbm, iommu_tag, iommu_data); pbm 244 arch/sparc/kernel/psycho_common.c psycho_dump_iommu_tags_and_data(pbm, iommu_tag, iommu_data); pbm 246 arch/sparc/kernel/psycho_common.c psycho_check_stc_error(pbm); pbm 253 arch/sparc/kernel/psycho_common.c static irqreturn_t psycho_pcierr_intr_other(struct pci_pbm_info *pbm) pbm 259 arch/sparc/kernel/psycho_common.c csr = upa_readq(pbm->pci_csr); pbm 263 arch/sparc/kernel/psycho_common.c upa_writeq(csr, pbm->pci_csr); pbm 268 arch/sparc/kernel/psycho_common.c "error asserted.\n", pbm->name); pbm 271 arch/sparc/kernel/psycho_common.c pbm->name); pbm 274 arch/sparc/kernel/psycho_common.c addr = psycho_pci_config_mkaddr(pbm, pbm->pci_first_busno, pbm 283 arch/sparc/kernel/psycho_common.c pbm->name, stat); pbm 307 arch/sparc/kernel/psycho_common.c struct pci_pbm_info *pbm = dev_id; pbm 311 arch/sparc/kernel/psycho_common.c afsr = upa_readq(pbm->pci_afsr); pbm 312 arch/sparc/kernel/psycho_common.c afar = upa_readq(pbm->pci_afar); pbm 319 arch/sparc/kernel/psycho_common.c return psycho_pcierr_intr_other(pbm); pbm 320 arch/sparc/kernel/psycho_common.c upa_writeq(error_bits, pbm->pci_afsr); pbm 322 arch/sparc/kernel/psycho_common.c pbm->name, pbm 332 arch/sparc/kernel/psycho_common.c pbm->name, pbm 336 arch/sparc/kernel/psycho_common.c printk(KERN_ERR "%s: PCI AFAR [%016llx]\n", pbm->name, afar); pbm 337 arch/sparc/kernel/psycho_common.c printk(KERN_ERR "%s: PCI Secondary errors [", pbm->name); pbm 360 arch/sparc/kernel/psycho_common.c psycho_check_iommu_error(pbm, afsr, afar, PCI_ERR); pbm 361 arch/sparc/kernel/psycho_common.c pci_scan_for_target_abort(pbm, pbm->pci_bus); pbm 364 arch/sparc/kernel/psycho_common.c pci_scan_for_master_abort(pbm, pbm->pci_bus); pbm 367 arch/sparc/kernel/psycho_common.c pci_scan_for_parity_error(pbm, pbm->pci_bus); pbm 372 arch/sparc/kernel/psycho_common.c static void psycho_iommu_flush(struct pci_pbm_info *pbm) pbm 379 arch/sparc/kernel/psycho_common.c upa_writeq(0, pbm->controller_regs + PSYCHO_IOMMU_TAG + off); pbm 380 arch/sparc/kernel/psycho_common.c upa_writeq(0, pbm->controller_regs + PSYCHO_IOMMU_DATA + off); pbm 400 arch/sparc/kernel/psycho_common.c int psycho_iommu_init(struct pci_pbm_info *pbm, int tsbsize, pbm 404 arch/sparc/kernel/psycho_common.c struct iommu *iommu = pbm->iommu; pbm 408 arch/sparc/kernel/psycho_common.c iommu->iommu_control = pbm->controller_regs + PSYCHO_IOMMU_CONTROL; pbm 409 arch/sparc/kernel/psycho_common.c iommu->iommu_tsbbase = pbm->controller_regs + PSYCHO_IOMMU_TSBBASE; pbm 410 arch/sparc/kernel/psycho_common.c iommu->iommu_flush = pbm->controller_regs + PSYCHO_IOMMU_FLUSH; pbm 411 arch/sparc/kernel/psycho_common.c iommu->iommu_tags = pbm->controller_regs + PSYCHO_IOMMU_TAG; pbm 412 arch/sparc/kernel/psycho_common.c iommu->write_complete_reg = (pbm->controller_regs + pbm 421 arch/sparc/kernel/psycho_common.c psycho_iommu_flush(pbm); pbm 425 arch/sparc/kernel/psycho_common.c dvma_offset, dma_mask, pbm->numa_node); pbm 452 arch/sparc/kernel/psycho_common.c void psycho_pbm_init_common(struct pci_pbm_info *pbm, struct platform_device *op, pbm 457 arch/sparc/kernel/psycho_common.c pbm->name = dp->full_name; pbm 458 arch/sparc/kernel/psycho_common.c pbm->numa_node = NUMA_NO_NODE; pbm 459 arch/sparc/kernel/psycho_common.c pbm->chip_type = chip_type; pbm 460 arch/sparc/kernel/psycho_common.c pbm->chip_version = of_getintprop_default(dp, "version#", 0); pbm 461 arch/sparc/kernel/psycho_common.c pbm->chip_revision = of_getintprop_default(dp, "module-revision#", 0); pbm 462 arch/sparc/kernel/psycho_common.c pbm->op = op; pbm 463 arch/sparc/kernel/psycho_common.c pbm->pci_ops = &sun4u_pci_ops; pbm 464 arch/sparc/kernel/psycho_common.c pbm->config_space_reg_bits = 8; pbm 465 arch/sparc/kernel/psycho_common.c pbm->index = pci_num_pbms++; pbm 466 arch/sparc/kernel/psycho_common.c pci_get_pbm_props(pbm); pbm 467 arch/sparc/kernel/psycho_common.c pci_determine_mem_io_space(pbm); pbm 470 arch/sparc/kernel/psycho_common.c pbm->name, chip_name, pbm 471 arch/sparc/kernel/psycho_common.c pbm->chip_version, pbm->chip_revision); pbm 20 arch/sparc/kernel/psycho_common.h static inline void *psycho_pci_config_mkaddr(struct pci_pbm_info *pbm, pbm 26 arch/sparc/kernel/psycho_common.h (PSYCHO_CONFIG_BASE(pbm) | pbm 34 arch/sparc/kernel/psycho_common.h void psycho_check_iommu_error(struct pci_pbm_info *pbm, pbm 41 arch/sparc/kernel/psycho_common.h int psycho_iommu_init(struct pci_pbm_info *pbm, int tsbsize, pbm 45 arch/sparc/kernel/psycho_common.h void psycho_pbm_init_common(struct pci_pbm_info *pbm,