Home
last modified time | relevance | path

Searched refs:ib_p (Results 1 – 15 of 15) sorted by relevance

/titanic_44/usr/src/uts/sun4u/io/pci/
H A Dpci_ib.c55 ib_t *ib_p; in ib_create() local
63 ib_p = kmem_zalloc(sizeof (ib_t), KM_SLEEP); in ib_create()
64 pci_p->pci_ib_p = ib_p; in ib_create()
65 ib_p->ib_pci_p = pci_p; in ib_create()
67 a = pci_ib_setup(ib_p); in ib_create()
73 ib_p->ib_slot_clear_intr_regs = in ib_create()
75 ib_p->ib_intr_retry_timer_reg = in ib_create()
77 ib_p->ib_slot_intr_state_diag_reg = in ib_create()
79 ib_p->ib_obio_intr_state_diag_reg = in ib_create()
83 ib_p->ib_upa_imr[0] = (volatile uint64_t *) in ib_create()
[all …]
H A Dpci_intr.c410 ib_t *ib_p = ino_p->ino_ib_p; in pci_ks_update() local
411 pci_t *pci_p = ib_p->ib_pci_p; in pci_ks_update()
437 IB_INO_TO_MONDO(ib_p, ino); in pci_ks_update()
455 ib_t *ib_p = pci_p->pci_ib_p; in pci_add_intr() local
471 if (ino > ib_p->ib_max_ino) { in pci_add_intr()
478 map_reg_addr = ib_intr_map_reg_addr(ib_p, ino); in pci_add_intr()
480 mondo = pci_xlate_intr(dip, rdip, ib_p, ino); in pci_add_intr()
497 mutex_enter(&ib_p->ib_intr_lock); in pci_add_intr()
500 mutex_exit(&ib_p->ib_intr_lock); in pci_add_intr()
510 mutex_enter(&ib_p->ib_ino_lst_mutex); in pci_add_intr()
[all …]
H A Dpci_pbm.c183 ib_t *ib_p = pci_p->pci_ib_p; in pbm_destroy() local
201 ib_intr_disable(ib_p, pci_p->pci_inos[CBNINTR_PBM], IB_INTR_WAIT); in pbm_destroy()
304 ib_t *ib_p = pci_p->pci_ib_p; in pbm_intr_dist() local
307 mutex_enter(&ib_p->ib_intr_lock); in pbm_intr_dist()
308 ib_intr_dist_nintr(ib_p, ino, ib_intr_map_reg_addr(ib_p, ino)); in pbm_intr_dist()
310 mutex_exit(&ib_p->ib_intr_lock); in pbm_intr_dist()
H A Dpcipsy.c419 ib_intr_map_reg_addr(ib_t *ib_p, ib_ino_t ino) in ib_intr_map_reg_addr() argument
424 addr = (uint64_t *)(ib_p->ib_obio_intr_map_regs + in ib_intr_map_reg_addr()
427 addr = (uint64_t *)(ib_p->ib_slot_intr_map_regs + in ib_intr_map_reg_addr()
433 ib_clear_intr_reg_addr(ib_t *ib_p, ib_ino_t ino) in ib_clear_intr_reg_addr() argument
438 addr = (uint64_t *)(ib_p->ib_obio_clear_intr_regs + in ib_clear_intr_reg_addr()
441 addr = (uint64_t *)(ib_p->ib_slot_clear_intr_regs + in ib_clear_intr_reg_addr()
450 ib_ino_map_reg_share(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) in ib_ino_map_reg_share() argument
454 ib_p->ib_map_reg_counters[ino_p->ino_slot_no]++; in ib_ino_map_reg_share()
463 ib_ino_map_reg_unshare(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) in ib_ino_map_reg_unshare() argument
470 return (--ib_p->ib_map_reg_counters[ino_p->ino_slot_no]); in ib_ino_map_reg_unshare()
[all …]
H A Dpcisch.c578 ib_intr_map_reg_addr(ib_t *ib_p, ib_ino_t ino) in ib_intr_map_reg_addr() argument
584 return ((uint64_t *)(ib_p->ib_intr_map_regs) + (ino & 0x3f)); in ib_intr_map_reg_addr()
588 ib_clear_intr_reg_addr(ib_t *ib_p, ib_ino_t ino) /* XXX - needs work */ in ib_clear_intr_reg_addr() argument
594 return ((uint64_t *)(ib_p->ib_slot_clear_intr_regs) + (ino & 0x3f)); in ib_clear_intr_reg_addr()
603 ib_ino_map_reg_share(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) in ib_ino_map_reg_share() argument
612 ib_ino_map_reg_unshare(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) in ib_ino_map_reg_unshare() 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()
630 pci_xlate_intr(dev_info_t *dip, dev_info_t *rdip, ib_t *ib_p, uint32_t intr) in pci_xlate_intr() argument
632 return (IB_INO_TO_MONDO(ib_p, intr)); in pci_xlate_intr()
[all …]
H A Dpci_tools.c296 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()
/titanic_44/usr/src/uts/sun4/io/px/
H A Dpx_ib.c44 static void px_ib_cpu_ticks_to_ih_nsec(px_ib_t *ib_p, px_ih_t *ih_p,
56 px_ib_t *ib_p; in px_ib_attach() local
70 ib_p = kmem_zalloc(sizeof (px_ib_t), KM_SLEEP); in px_ib_attach()
71 px_p->px_ib_p = ib_p; in px_ib_attach()
72 ib_p->ib_px_p = px_p; in px_ib_attach()
73 ib_p->ib_ino_lst = (px_ino_t *)NULL; in px_ib_attach()
75 mutex_init(&ib_p->ib_intr_lock, NULL, MUTEX_DRIVER, NULL); in px_ib_attach()
76 mutex_init(&ib_p->ib_ino_lst_mutex, NULL, MUTEX_DRIVER, NULL); in px_ib_attach()
78 bus_func_register(BF_TYPE_RESINTR, px_ib_intr_reset, ib_p); in px_ib_attach()
80 intr_dist_add_weighted(px_ib_intr_redist, ib_p); in px_ib_attach()
[all …]
H A Dpx_msiq.c51 px_ib_t *ib_p = px_p->px_ib_p; in px_msiq_attach() local
52 px_msiq_state_t *msiq_state_p = &ib_p->ib_msiq_state; in px_msiq_attach()
83 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_msiq_attach()
89 (void) px_ib_alloc_ino(ib_p, px_msiqid_to_devino(px_p, 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
149 px_msiq_state_t *msiq_state_p = &ib_p->ib_msiq_state; in px_msiq_alloc()
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
229 px_msiq_state_t *msiq_state_p = &ib_p->ib_msiq_state; in px_msiq_alloc_based_on_cpuid()
[all …]
H A Dpx_ib.h134 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 Dpx_intr.c945 px_ib_t *ib_p = px_p->px_ib_p; in px_add_intx_intr() local
964 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_add_intx_intr()
966 ino_p = px_ib_locate_ino(ib_p, ino); in px_add_intx_intr()
1018 ipil_p = px_ib_new_ino_pil(ib_p, ino, hdlp->ih_pri, ih_p); 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
1113 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_rem_intx_intr()
1115 ino_p = px_ib_locate_ino(ib_p, ino); in px_rem_intx_intr()
[all …]
/titanic_44/usr/src/uts/sun4u/sys/pci/
H A Dpci_ib.h161 #define IB2CB(ib_p) ((ib_p)->ib_pci_p->pci_cb_p) argument
167 #define IB_INO_INTR_STATE_REG(ib_p, ino) ((ino) & 0x20 ? \ argument
168 ib_p->ib_obio_intr_state_diag_reg : ib_p->ib_slot_intr_state_diag_reg)
193 #define IB_INO_TO_MONDO(ib_p, ino) IB_IGN_TO_MONDO((ib_p)->ib_ign, ino) argument
197 extern void ib_configure(ib_t *ib_p);
200 extern void ib_intr_disable(ib_t *ib_p, ib_ino_t ino, int wait);
201 extern void ib_nintr_clear(ib_t *ib_p, ib_ino_t ino);
202 extern void ib_suspend(ib_t *ib_p);
203 extern void ib_resume(ib_t *ib_p);
205 extern ib_ino_info_t *ib_locate_ino(ib_t *ib_p, ib_ino_t ino_num);
[all …]
H A Dpci_chip.h58 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 Dpcisch.h551 #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
/titanic_44/usr/src/uts/sun4u/io/px/
H A Dpx_lib4u.c2378 px_ib_t *ib_p = px_p->px_ib_p; in px_cpr_callb() local
2417 px_ib_intr_disable(ib_p, ce_ino, IB_INTR_NOWAIT); in px_cpr_callb()
2420 px_ib_intr_disable(ib_p, nf_ino, IB_INTR_NOWAIT); in px_cpr_callb()
2423 px_ib_intr_disable(ib_p, f_ino, IB_INTR_NOWAIT); in px_cpr_callb()
2429 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_cpr_callb()
2431 ce_ino_p = px_ib_locate_ino(ib_p, ce_ino); in px_cpr_callb()
2432 nf_ino_p = px_ib_locate_ino(ib_p, nf_ino); in px_cpr_callb()
2433 f_ino_p = px_ib_locate_ino(ib_p, f_ino); in px_cpr_callb()
2456 mutex_exit(&ib_p->ib_ino_lst_mutex); in px_cpr_callb()
/titanic_44/usr/src/uts/sun4v/io/px/
H A Dpx_lib4v.c408 px_ib_t *ib_p = px_p->px_ib_p; in px_lib_intr_reset() local
413 mutex_enter(&ib_p->ib_ino_lst_mutex); in px_lib_intr_reset()
416 for (ino_p = ib_p->ib_ino_lst; ino_p; ino_p = ino_p->ino_next_p) { in px_lib_intr_reset()
422 mutex_exit(&ib_p->ib_ino_lst_mutex); in px_lib_intr_reset()