/arch/sparc/kernel/ |
D | pci_msi.c | 16 struct pci_pbm_info *pbm = msiq_cookie->pbm; in sparc64_msiq_interrupt() local 22 ops = pbm->msi_ops; in sparc64_msiq_interrupt() 24 err = ops->get_head(pbm, msiqid, &head); in sparc64_msiq_interrupt() 32 err = ops->dequeue_msi(pbm, msiqid, &head, &msi); in sparc64_msiq_interrupt() 36 irq = pbm->msi_irq_table[msi - pbm->msi_first]; in sparc64_msiq_interrupt() 47 err = ops->set_head(pbm, msiqid, head); in sparc64_msiq_interrupt() 74 static u32 pick_msiq(struct pci_pbm_info *pbm) in pick_msiq() argument 82 rotor = pbm->msiq_rotor; in pick_msiq() 83 ret = pbm->msiq_first + rotor; in pick_msiq() 85 if (++rotor >= pbm->msiq_num) in pick_msiq() [all …]
|
D | pci_psycho.c | 135 struct pci_pbm_info *pbm = dev_id; in psycho_ue_intr() local 136 unsigned long afsr_reg = pbm->controller_regs + PSYCHO_UE_AFSR; in psycho_ue_intr() 137 unsigned long afar_reg = pbm->controller_regs + PSYCHO_UE_AFAR; in psycho_ue_intr() 155 pbm->name, in psycho_ue_intr() 163 pbm->name, in psycho_ue_intr() 168 printk("%s: UE AFAR [%016lx]\n", pbm->name, afar); in psycho_ue_intr() 169 printk("%s: UE Secondary errors [", pbm->name); in psycho_ue_intr() 188 psycho_check_iommu_error(pbm, afsr, afar, UE_ERR); in psycho_ue_intr() 189 if (pbm->sibling) in psycho_ue_intr() 190 psycho_check_iommu_error(pbm->sibling, afsr, afar, UE_ERR); in psycho_ue_intr() [all …]
|
D | pci_fire.c | 30 static int pci_fire_pbm_iommu_init(struct pci_pbm_info *pbm) in pci_fire_pbm_iommu_init() argument 32 struct iommu *iommu = pbm->iommu; in pci_fire_pbm_iommu_init() 44 iommu->iommu_control = pbm->pbm_regs + FIRE_IOMMU_CONTROL; in pci_fire_pbm_iommu_init() 45 iommu->iommu_tsbbase = pbm->pbm_regs + FIRE_IOMMU_TSBBASE; in pci_fire_pbm_iommu_init() 46 iommu->iommu_flush = pbm->pbm_regs + FIRE_IOMMU_FLUSH; in pci_fire_pbm_iommu_init() 47 iommu->iommu_flushinv = pbm->pbm_regs + FIRE_IOMMU_FLUSHINV; in pci_fire_pbm_iommu_init() 52 iommu->write_complete_reg = pbm->controller_regs + 0x410000UL; in pci_fire_pbm_iommu_init() 60 pbm->numa_node); in pci_fire_pbm_iommu_init() 150 static int pci_fire_get_head(struct pci_pbm_info *pbm, unsigned long msiqid, in pci_fire_get_head() argument 153 *head = upa_readq(pbm->pbm_regs + EVENT_QUEUE_HEAD(msiqid)); in pci_fire_get_head() [all …]
|
D | pci_schizo.c | 80 static void *schizo_pci_config_mkaddr(struct pci_pbm_info *pbm, in schizo_pci_config_mkaddr() argument 85 if (!pbm) in schizo_pci_config_mkaddr() 87 bus -= pbm->pci_first_busno; in schizo_pci_config_mkaddr() 89 (SCHIZO_CONFIG_BASE(pbm) | in schizo_pci_config_mkaddr() 128 static void __schizo_check_stc_error_pbm(struct pci_pbm_info *pbm, in __schizo_check_stc_error_pbm() argument 131 struct strbuf *strbuf = &pbm->stc; in __schizo_check_stc_error_pbm() 132 unsigned long regbase = pbm->pbm_regs; in __schizo_check_stc_error_pbm() 183 pbm->name, in __schizo_check_stc_error_pbm() 193 pbm->name, in __schizo_check_stc_error_pbm() 203 pbm->name, in __schizo_check_stc_error_pbm() [all …]
|
D | pci_common.c | 19 static int config_out_of_range(struct pci_pbm_info *pbm, in config_out_of_range() argument 24 if (bus < pbm->pci_first_busno || in config_out_of_range() 25 bus > pbm->pci_last_busno) in config_out_of_range() 30 static void *sun4u_config_mkaddr(struct pci_pbm_info *pbm, in sun4u_config_mkaddr() argument 35 unsigned long rbits = pbm->config_space_reg_bits; in sun4u_config_mkaddr() 37 if (config_out_of_range(pbm, bus, devfn, reg)) in sun4u_config_mkaddr() 44 return (void *) (pbm->config_space | bus | devfn | reg); in sun4u_config_mkaddr() 52 static int sun4u_read_pci_cfg_host(struct pci_pbm_info *pbm, in sun4u_read_pci_cfg_host() argument 60 addr = sun4u_config_mkaddr(pbm, bus, devfn, where); in sun4u_read_pci_cfg_host() 95 sun4u_read_pci_cfg_host(pbm, bus, devfn, in sun4u_read_pci_cfg_host() [all …]
|
D | psycho_common.c | 35 static void psycho_check_stc_error(struct pci_pbm_info *pbm) in psycho_check_stc_error() argument 38 struct strbuf *strbuf = &pbm->stc; in psycho_check_stc_error() 90 pbm->name, in psycho_check_stc_error() 101 pbm->name, in psycho_check_stc_error() 109 pbm->name, in psycho_check_stc_error() 126 static void psycho_record_iommu_tags_and_data(struct pci_pbm_info *pbm, in psycho_record_iommu_tags_and_data() argument 132 unsigned long base = pbm->controller_regs; in psycho_record_iommu_tags_and_data() 154 static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm, in psycho_dump_iommu_tags_and_data() argument 185 pbm->name, i, type_str, in psycho_dump_iommu_tags_and_data() 192 pbm->name, i, in psycho_dump_iommu_tags_and_data() [all …]
|
D | pci_sabre.c | 199 struct pci_pbm_info *pbm = dev_id; in sabre_ue_intr() local 200 unsigned long afsr_reg = pbm->controller_regs + SABRE_UE_AFSR; in sabre_ue_intr() 201 unsigned long afar_reg = pbm->controller_regs + SABRE_UECE_AFAR; in sabre_ue_intr() 220 pbm->name, in sabre_ue_intr() 228 pbm->name, in sabre_ue_intr() 232 printk("%s: UE AFAR [%016lx]\n", pbm->name, afar); in sabre_ue_intr() 233 printk("%s: UE Secondary errors [", pbm->name); in sabre_ue_intr() 252 psycho_check_iommu_error(pbm, afsr, afar, UE_ERR); in sabre_ue_intr() 259 struct pci_pbm_info *pbm = dev_id; in sabre_ce_intr() local 260 unsigned long afsr_reg = pbm->controller_regs + SABRE_CE_AFSR; in sabre_ce_intr() [all …]
|
D | pci_sun4v.c | 85 struct pci_pbm_info *pbm = p->dev->archdata.host_controller; in iommu_batch_flush() local 88 unsigned long devhandle = pbm->devhandle; in iommu_batch_flush() 101 if (!iommu_use_atu(pbm->iommu, mask)) { in iommu_batch_flush() 118 iotsb_num = pbm->iommu->atu->iotsb->iotsb_num; in iommu_batch_flush() 325 struct pci_pbm_info *pbm; in dma_4v_free_coherent() local 335 pbm = dev->archdata.host_controller; in dma_4v_free_coherent() 337 devhandle = pbm->devhandle; in dma_4v_free_coherent() 432 struct pci_pbm_info *pbm; in dma_4v_unmap_page() local 448 pbm = dev->archdata.host_controller; in dma_4v_unmap_page() 450 devhandle = pbm->devhandle; in dma_4v_unmap_page() [all …]
|
D | pci_impl.h | 37 int (*get_head)(struct pci_pbm_info *pbm, unsigned long msiqid, 39 int (*dequeue_msi)(struct pci_pbm_info *pbm, unsigned long msiqid, 41 int (*set_head)(struct pci_pbm_info *pbm, unsigned long msiqid, 43 int (*msi_setup)(struct pci_pbm_info *pbm, unsigned long msiqid, 45 int (*msi_teardown)(struct pci_pbm_info *pbm, unsigned long msi); 46 int (*msiq_alloc)(struct pci_pbm_info *pbm); 47 void (*msiq_free)(struct pci_pbm_info *pbm); 48 int (*msiq_build_irq)(struct pci_pbm_info *pbm, unsigned long msiqid, 52 void sparc64_pbm_msi_init(struct pci_pbm_info *pbm, 56 struct pci_pbm_info *pbm; member [all …]
|
D | pci.c | 263 static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, in of_create_pci_dev() argument 278 pci_init_dev_archdata(sd, pbm->iommu, &pbm->stc, pbm, op, in of_create_pci_dev() 279 pbm->numa_node); in of_create_pci_dev() 281 sd->iommu = pbm->iommu; in of_create_pci_dev() 282 sd->stc = &pbm->stc; in of_create_pci_dev() 283 sd->numa_node = pbm->numa_node; in of_create_pci_dev() 386 struct pci_pbm_info *pbm) in apb_fake_ranges() argument 410 static void pci_of_scan_bus(struct pci_pbm_info *pbm, 416 static void of_scan_pci_bridge(struct pci_pbm_info *pbm, in of_scan_pci_bridge() argument 475 apb_fake_ranges(dev, bus, pbm); in of_scan_pci_bridge() [all …]
|
D | psycho_common.h | 20 static inline void *psycho_pci_config_mkaddr(struct pci_pbm_info *pbm, in psycho_pci_config_mkaddr() argument 26 (PSYCHO_CONFIG_BASE(pbm) | in psycho_pci_config_mkaddr() 34 void psycho_check_iommu_error(struct pci_pbm_info *pbm, 41 int psycho_iommu_init(struct pci_pbm_info *pbm, int tsbsize, 45 void psycho_pbm_init_common(struct pci_pbm_info *pbm,
|
D | pcic.c | 291 struct linux_pbm_info* pbm; in pcic_probe() local 352 pbm = &pcic->pbm; in pcic_probe() 353 pbm->prom_node = node; in pcic_probe() 355 strcpy(pbm->prom_name, namebuf); in pcic_probe() 392 struct linux_pbm_info *pbm = &pcic->pbm; in pcic_pbm_scan_bus() local 394 pbm->pci_bus = pci_scan_bus(pbm->pci_first_busno, &pcic_ops, pbm); in pcic_pbm_scan_bus() 395 if (!pbm->pci_bus) in pcic_pbm_scan_bus() 399 pci_fill_in_pbm_cookies(pbm->pci_bus, pbm, pbm->prom_node); in pcic_pbm_scan_bus() 400 pci_record_assignments(pbm, pbm->pci_bus); in pcic_pbm_scan_bus() 401 pci_assign_unassigned(pbm, pbm->pci_bus); in pcic_pbm_scan_bus() [all …]
|
/arch/sparc/include/asm/ |
D | pbm.h | 44 struct linux_pbm_info *pbm; member
|
D | pcic.h | 28 struct linux_pbm_info pbm; member
|