Lines Matching refs:pbm

198 	struct pci_pbm_info *pbm = dev_id;  in sabre_ue_intr()  local
199 unsigned long afsr_reg = pbm->controller_regs + SABRE_UE_AFSR; in sabre_ue_intr()
200 unsigned long afar_reg = pbm->controller_regs + SABRE_UECE_AFAR; in sabre_ue_intr()
219 pbm->name, in sabre_ue_intr()
227 pbm->name, in sabre_ue_intr()
231 printk("%s: UE AFAR [%016lx]\n", pbm->name, afar); in sabre_ue_intr()
232 printk("%s: UE Secondary errors [", pbm->name); in sabre_ue_intr()
251 psycho_check_iommu_error(pbm, afsr, afar, UE_ERR); in sabre_ue_intr()
258 struct pci_pbm_info *pbm = dev_id; in sabre_ce_intr() local
259 unsigned long afsr_reg = pbm->controller_regs + SABRE_CE_AFSR; in sabre_ce_intr()
260 unsigned long afar_reg = pbm->controller_regs + SABRE_UECE_AFAR; in sabre_ce_intr()
278 pbm->name, in sabre_ce_intr()
289 pbm->name, in sabre_ce_intr()
294 printk("%s: CE AFAR [%016lx]\n", pbm->name, afar); in sabre_ce_intr()
295 printk("%s: CE Secondary errors [", pbm->name); in sabre_ce_intr()
312 static void sabre_register_error_handlers(struct pci_pbm_info *pbm) in sabre_register_error_handlers() argument
314 struct device_node *dp = pbm->op->dev.of_node; in sabre_register_error_handlers()
316 unsigned long base = pbm->controller_regs; in sabre_register_error_handlers()
320 if (pbm->chip_type == PBM_CHIP_TYPE_SABRE) in sabre_register_error_handlers()
345 err = request_irq(op->archdata.irqs[1], sabre_ue_intr, 0, "SABRE_UE", pbm); in sabre_register_error_handlers()
348 pbm->name, err); in sabre_register_error_handlers()
355 err = request_irq(op->archdata.irqs[2], sabre_ce_intr, 0, "SABRE_CE", pbm); in sabre_register_error_handlers()
358 pbm->name, err); in sabre_register_error_handlers()
360 "SABRE_PCIERR", pbm); in sabre_register_error_handlers()
363 pbm->name, err); in sabre_register_error_handlers()
406 static void sabre_scan_bus(struct pci_pbm_info *pbm, struct device *parent) in sabre_scan_bus() argument
418 pbm->is_66mhz_capable = 1; in sabre_scan_bus()
420 pbm->is_66mhz_capable = 0; in sabre_scan_bus()
434 pbm->pci_bus = pci_scan_one_pbm(pbm, parent); in sabre_scan_bus()
435 if (!pbm->pci_bus) in sabre_scan_bus()
438 sabre_root_bus = pbm->pci_bus; in sabre_scan_bus()
440 apb_init(pbm->pci_bus); in sabre_scan_bus()
442 sabre_register_error_handlers(pbm); in sabre_scan_bus()
445 static void sabre_pbm_init(struct pci_pbm_info *pbm, in sabre_pbm_init() argument
448 psycho_pbm_init_common(pbm, op, "SABRE", PBM_CHIP_TYPE_SABRE); in sabre_pbm_init()
449 pbm->pci_afsr = pbm->controller_regs + SABRE_PIOAFSR; in sabre_pbm_init()
450 pbm->pci_afar = pbm->controller_regs + SABRE_PIOAFAR; in sabre_pbm_init()
451 pbm->pci_csr = pbm->controller_regs + SABRE_PCICTRL; in sabre_pbm_init()
452 sabre_scan_bus(pbm, &op->dev); in sabre_pbm_init()
461 struct pci_pbm_info *pbm; in sabre_probe() local
483 pbm = kzalloc(sizeof(*pbm), GFP_KERNEL); in sabre_probe()
484 if (!pbm) { in sabre_probe()
495 pbm->iommu = iommu; in sabre_probe()
499 pbm->portid = upa_portid; in sabre_probe()
515 pbm->controller_regs = pr_regs[0].phys_addr; in sabre_probe()
521 upa_writeq(0x0UL, pbm->controller_regs + clear_irq); in sabre_probe()
525 upa_writeq(0x0UL, pbm->controller_regs + clear_irq); in sabre_probe()
530 pbm->controller_regs + SABRE_PCICTRL); in sabre_probe()
533 pbm->config_space = pbm->controller_regs + SABRE_CONFIGSPACE; in sabre_probe()
561 err = psycho_iommu_init(pbm, tsbsize, vdma[0], dma_mask, SABRE_WRSYNC); in sabre_probe()
568 sabre_pbm_init(pbm, op); in sabre_probe()
570 pbm->next = pci_pbm_root; in sabre_probe()
571 pci_pbm_root = pbm; in sabre_probe()
573 dev_set_drvdata(&op->dev, pbm); in sabre_probe()
578 kfree(pbm->iommu); in sabre_probe()
581 kfree(pbm); in sabre_probe()