/illumos-gate/usr/src/uts/sun4u/io/pci/ |
H A D | pci_ib.c | 54 ib_t *ib_p; in ib_create() local 63 pci_p->pci_ib_p = ib_p; in ib_create() 64 ib_p->ib_pci_p = pci_p; in ib_create() 89 ib_p->ib_slot_intr_map_regs, ib_p->ib_obio_intr_map_regs); in ib_create() 91 ib_p->ib_slot_clear_intr_regs, ib_p->ib_obio_clear_intr_regs); in ib_create() 93 ib_p->ib_upa_imr[0], ib_p->ib_upa_imr[1]); in ib_create() 111 ib_configure(ib_p); in ib_create() 468 ib_p->ib_upa_imr_state[0] = *ib_p->ib_upa_imr[0]; in ib_suspend() 469 ib_p->ib_upa_imr_state[1] = *ib_p->ib_upa_imr[1]; in ib_suspend() 488 *ib_p->ib_upa_imr[0] = ib_p->ib_upa_imr_state[0]; in ib_resume() [all …]
|
H A D | pci_intr.c | 409 ib_t *ib_p = ino_p->ino_ib_p; in pci_ks_update() local 410 pci_t *pci_p = ib_p->ib_pci_p; in pci_ks_update() 436 IB_INO_TO_MONDO(ib_p, ino); in pci_ks_update() 454 ib_t *ib_p = pci_p->pci_ib_p; in pci_add_intr() local 470 if (ino > ib_p->ib_max_ino) { in pci_add_intr() 499 mutex_exit(&ib_p->ib_intr_lock); in pci_add_intr() 515 ino_p = ib_locate_ino(ib_p, ino); in pci_add_intr() 608 ib_delete_ino_pil(ib_p, ipil_p); in pci_add_intr() 625 ib_t *ib_p = pci_p->pci_ib_p; in pci_remove_intr() local 680 ino_p = ib_locate_ino(ib_p, ino); in pci_remove_intr() [all …]
|
H A D | pci_pbm.c | 179 ib_t *ib_p = pci_p->pci_ib_p; in pbm_destroy() local 197 ib_intr_disable(ib_p, pci_p->pci_inos[CBNINTR_PBM], IB_INTR_WAIT); in pbm_destroy() 300 ib_t *ib_p = pci_p->pci_ib_p; in pbm_intr_dist() local 303 mutex_enter(&ib_p->ib_intr_lock); in pbm_intr_dist() 304 ib_intr_dist_nintr(ib_p, ino, ib_intr_map_reg_addr(ib_p, ino)); in pbm_intr_dist() 306 mutex_exit(&ib_p->ib_intr_lock); in pbm_intr_dist()
|
H A D | pcipsy.c | 416 ib_intr_map_reg_addr(ib_t *ib_p, ib_ino_t ino) in ib_intr_map_reg_addr() argument 430 ib_clear_intr_reg_addr(ib_t *ib_p, ib_ino_t ino) in ib_clear_intr_reg_addr() argument 451 ib_p->ib_map_reg_counters[ino_p->ino_slot_no]++; in ib_ino_map_reg_share() 477 pci_ib_setup(ib_t *ib_p) in pci_ib_setup() argument 479 pci_t *pci_p = ib_p->ib_pci_p; in pci_ib_setup() 482 ib_p->ib_ign = PCI_ID_TO_IGN(pci_p->pci_id); in pci_ib_setup() 483 ib_p->ib_max_ino = PSYCHO_MAX_INO; in pci_ib_setup() 486 ib_p->ib_obio_clear_intr_regs = in pci_ib_setup() 534 return (IB_INO_TO_MONDO(ib_p, intr)); in pci_xlate_intr() 611 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex)); in pci_intr_dist_cpuid() [all …]
|
H A D | pcisch.c | 578 ib_intr_map_reg_addr(ib_t *ib_p, ib_ino_t ino) in ib_intr_map_reg_addr() argument 621 ib_t *ib_p = pci_p->pci_ib_p; in pci_pbm_intr_dist() local 625 ib_intr_dist_nintr(ib_p, ino, ib_intr_map_reg_addr(ib_p, ino)); in pci_pbm_intr_dist() 632 return (IB_INO_TO_MONDO(ib_p, intr)); in pci_xlate_intr() 642 pci_intr_dist_cpuid(ib_t *ib_p, ib_ino_info_t *ino_p) in pci_intr_dist_cpuid() argument 983 ib_t *ib_p = pci_p->pci_ib_p; in pbm_disable_pci_errors() local 1384 pci_ib_setup(ib_t *ib_p) in pci_ib_setup() argument 1389 pci_t *pci_p = ib_p->ib_pci_p; in pci_ib_setup() 1392 ib_p->ib_ign = PCI_ID_TO_IGN(pci_p->pci_id); in pci_ib_setup() 1393 ib_p->ib_max_ino = SCHIZO_MAX_INO; in pci_ib_setup() [all …]
|
H A D | pci_tools.c | 296 ib_t *ib_p = pci_p->pci_ib_p; in pcitool_get_intr() local 356 imregp = ib_intr_map_reg_addr(ib_p, ino); in pcitool_get_intr() 369 ib_p, ino, &iget->num_devs_ret, iget->dev); in pcitool_get_intr() 414 ib_t *ib_p = pci_p->pci_ib_p; in pcitool_set_intr() local 458 (ib_get_ino_devs(ib_p, iset.ino, &zero, NULL) == 0)) { in pcitool_set_intr() 464 imregp = (uint64_t *)ib_intr_map_reg_addr(ib_p, iset.ino); in pcitool_set_intr()
|
/illumos-gate/usr/src/uts/sun4/io/px/ |
H A D | px_ib.c | 56 px_ib_t *ib_p; in px_ib_attach() local 71 px_p->px_ib_p = ib_p; in px_ib_attach() 72 ib_p->ib_px_p = px_p; in px_ib_attach() 96 px_ib_t *ib_p = px_p->px_ib_p; in px_ib_detach() local 107 px_ib_free_ino_all(ib_p); in px_ib_detach() 116 px_ib_t *ib_p = px_p->px_ib_p; in px_ib_intr_enable() local 139 mutex_exit(&ib_p->ib_intr_lock); in px_ib_intr_enable() 164 mutex_exit(&ib_p->ib_intr_lock); in px_ib_intr_disable() 295 px_t *px_p = ib_p->ib_px_p; in px_ib_intr_redist() 472 ib_p->ib_ino_lst = ino_p; in px_ib_alloc_ino() [all …]
|
H A D | px_msiq.c | 51 px_ib_t *ib_p = px_p->px_ib_p; in px_msiq_attach() local 83 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_msiq_attach() 94 mutex_exit(&ib_p->ib_ino_lst_mutex); in px_msiq_attach() 148 px_ib_t *ib_p = px_p->px_ib_p; in px_msiq_alloc() local 157 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex)); in px_msiq_alloc() 228 px_ib_t *ib_p = px_p->px_ib_p; in px_msiq_alloc_based_on_cpuid() local 239 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex)); in px_msiq_alloc_based_on_cpuid() 276 ino_p = px_ib_locate_ino(ib_p, in px_msiq_alloc_based_on_cpuid() 301 px_ib_t *ib_p = px_p->px_ib_p; in px_msiq_free() local 327 px_ib_t *ib_p = px_p->px_ib_p; in px_msiq_redist() local [all …]
|
H A D | px_ib.h | 134 extern void px_ib_intr_disable(px_ib_t *ib_p, devino_t ino, int wait); 139 extern px_ino_t *px_ib_locate_ino(px_ib_t *ib_p, devino_t ino_num); 140 extern void px_ib_free_ino_all(px_ib_t *ib_p); 143 extern px_ino_t *px_ib_alloc_ino(px_ib_t *ib_p, devino_t ino_num); 144 extern px_ino_pil_t *px_ib_new_ino_pil(px_ib_t *ib_p, devino_t ino_num, 146 extern void px_ib_delete_ino_pil(px_ib_t *ib_p, px_ino_pil_t *ipil_p); 168 extern void px_ib_log_new_cpu(px_ib_t *ib_p, cpuid_t old_cpu_id,
|
H A D | px_intr.c | 945 px_ib_t *ib_p = px_p->px_ib_p; in px_add_intx_intr() local 966 ino_p = px_ib_locate_ino(ib_p, ino); in px_add_intx_intr() 1068 mutex_exit(&ib_p->ib_ino_lst_mutex); in px_add_intx_intr() 1075 px_ib_delete_ino_pil(ib_p, ipil_p); in px_add_intx_intr() 1080 mutex_exit(&ib_p->ib_ino_lst_mutex); in px_add_intx_intr() 1100 px_ib_t *ib_p = px_p->px_ib_p; in px_rem_intx_intr() local 1115 ino_p = px_ib_locate_ino(ib_p, ino); in px_rem_intx_intr() 1133 px_ib_delete_ino_pil(ib_p, ipil_p); in px_rem_intx_intr() 1159 px_ib_t *ib_p = px_p->px_ib_p; in px_add_msiq_intr() local 1278 px_ib_delete_ino_pil(ib_p, ipil_p); in px_add_msiq_intr() [all …]
|
/illumos-gate/usr/src/uts/sun4u/sys/pci/ |
H A D | pci_ib.h | 164 #define IB2CB(ib_p) ((ib_p)->ib_pci_p->pci_cb_p) argument 170 #define IB_INO_INTR_STATE_REG(ib_p, ino) ((ino) & 0x20 ? \ argument 171 ib_p->ib_obio_intr_state_diag_reg : ib_p->ib_slot_intr_state_diag_reg) 185 #define IB_INO_TO_MONDO(ib_p, ino) IB_IGN_TO_MONDO((ib_p)->ib_ign, ino) argument 189 extern void ib_configure(ib_t *ib_p); 193 extern void ib_nintr_clear(ib_t *ib_p, ib_ino_t ino); 194 extern void ib_suspend(ib_t *ib_p); 195 extern void ib_resume(ib_t *ib_p); 201 extern void ib_free_ino_all(ib_t *ib_p); 211 extern void ib_ino_map_reg_share(ib_t *ib_p, ib_ino_t ino, [all …]
|
H A D | pci_chip.h | 58 extern uint64_t *ib_intr_map_reg_addr(ib_t *ib_p, ib_ino_t ino); 59 extern uint64_t *ib_clear_intr_reg_addr(ib_t *ib_p, ib_ino_t ino); 71 ib_t *ib_p, uint32_t intr); 72 extern uint32_t pci_intr_dist_cpuid(ib_t *ib_p, ib_ino_info_t *ino_p); 94 extern uintptr_t pci_ib_setup(ib_t *ib_p);
|
H A D | pcisch.h | 551 #define NBIGN(ib_p) ((ib_p)->ib_ign ^ 1) argument 552 #define IB_INO_TO_NBMONDO(ib_p, ino) IB_IGN_TO_MONDO(NBIGN(ib_p), ino) argument
|
/illumos-gate/usr/src/uts/sun4u/io/px/ |
H A D | px_lib4u.c | 2374 px_ib_t *ib_p = px_p->px_ib_p; in px_cpr_callb() local 2413 px_ib_intr_disable(ib_p, ce_ino, IB_INTR_NOWAIT); in px_cpr_callb() 2416 px_ib_intr_disable(ib_p, nf_ino, IB_INTR_NOWAIT); in px_cpr_callb() 2419 px_ib_intr_disable(ib_p, f_ino, IB_INTR_NOWAIT); in px_cpr_callb() 2425 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_cpr_callb() 2427 ce_ino_p = px_ib_locate_ino(ib_p, ce_ino); in px_cpr_callb() 2428 nf_ino_p = px_ib_locate_ino(ib_p, nf_ino); in px_cpr_callb() 2429 f_ino_p = px_ib_locate_ino(ib_p, f_ino); in px_cpr_callb() 2452 mutex_exit(&ib_p->ib_ino_lst_mutex); in px_cpr_callb()
|
/illumos-gate/usr/src/uts/sun4v/io/px/ |
H A D | px_lib4v.c | 412 px_ib_t *ib_p = px_p->px_ib_p; in px_lib_intr_reset() local 417 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_lib_intr_reset() 420 for (ino_p = ib_p->ib_ino_lst; ino_p; ino_p = ino_p->ino_next_p) { in px_lib_intr_reset() 426 mutex_exit(&ib_p->ib_ino_lst_mutex); in px_lib_intr_reset()
|