Lines Matching defs:ib_p

44 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;
70 ib_p = kmem_zalloc(sizeof (px_ib_t), KM_SLEEP);
71 px_p->px_ib_p = ib_p;
72 ib_p->ib_px_p = px_p;
73 ib_p->ib_ino_lst = (px_ino_t *)NULL;
75 mutex_init(&ib_p->ib_intr_lock, NULL, MUTEX_DRIVER, NULL);
76 mutex_init(&ib_p->ib_ino_lst_mutex, NULL, MUTEX_DRIVER, NULL);
78 bus_func_register(BF_TYPE_RESINTR, px_ib_intr_reset, ib_p);
80 intr_dist_add_weighted(px_ib_intr_redist, ib_p);
96 px_ib_t *ib_p = px_p->px_ib_p;
101 bus_func_unregister(BF_TYPE_RESINTR, px_ib_intr_reset, ib_p);
102 intr_dist_rem_weighted(px_ib_intr_redist, ib_p);
104 mutex_destroy(&ib_p->ib_ino_lst_mutex);
105 mutex_destroy(&ib_p->ib_intr_lock);
107 px_ib_free_ino_all(ib_p);
110 kmem_free(ib_p, sizeof (px_ib_t));
116 px_ib_t *ib_p = px_p->px_ib_p;
122 mutex_enter(&ib_p->ib_intr_lock);
132 mutex_exit(&ib_p->ib_intr_lock);
139 mutex_exit(&ib_p->ib_intr_lock);
144 px_ib_intr_disable(px_ib_t *ib_p, devino_t ino, int wait)
148 mutex_enter(&ib_p->ib_intr_lock);
150 DBG(DBG_IB, ib_p->ib_px_p->px_dip, "px_ib_intr_disable: ino=%x\n", ino);
153 if (px_lib_intr_devino_to_sysino(ib_p->ib_px_p->px_dip, ino,
155 DBG(DBG_IB, ib_p->ib_px_p->px_dip,
158 mutex_exit(&ib_p->ib_intr_lock);
162 PX_INTR_DISABLE(ib_p->ib_px_p->px_dip, sysino);
164 mutex_exit(&ib_p->ib_intr_lock);
257 px_ib_cpu_ticks_to_ih_nsec(px_ib_t *ib_p, px_ih_t *ih_p, uint32_t cpu_id)
273 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex));
294 px_ib_t *ib_p = (px_ib_t *)arg;
295 px_t *px_p = ib_p->ib_px_p;
305 mutex_enter(&ib_p->ib_intr_lock);
308 mutex_exit(&ib_p->ib_intr_lock);
314 mutex_enter(&ib_p->ib_ino_lst_mutex);
317 for (ino_p = ib_p->ib_ino_lst; ino_p; ino_p = ino_p->ino_next_p) {
408 px_ib_cpu_ticks_to_ih_nsec(ib_p, ih_lst,
418 mutex_exit(&ib_p->ib_ino_lst_mutex);
432 px_ib_t *ib_p = (px_ib_t *)arg;
434 DBG(DBG_IB, ib_p->ib_px_p->px_dip, "px_ib_intr_reset\n");
436 if (px_lib_intr_reset(ib_p->ib_px_p->px_dip) != DDI_SUCCESS)
443 * Locate px_ino_t structure on ib_p->ib_ino_lst according to ino#
447 px_ib_locate_ino(px_ib_t *ib_p, devino_t ino_num)
449 px_ino_t *ino_p = ib_p->ib_ino_lst;
451 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex));
460 px_ib_alloc_ino(px_ib_t *ib_p, devino_t ino_num)
465 if (px_lib_intr_devino_to_sysino(ib_p->ib_px_p->px_dip,
471 ino_p->ino_next_p = ib_p->ib_ino_lst;
472 ib_p->ib_ino_lst = ino_p;
476 ino_p->ino_ib_p = ib_p;
485 px_ib_new_ino_pil(px_ib_t *ib_p, devino_t ino_num, uint_t pil, px_ih_t *ih_p)
490 if ((ino_p = px_ib_locate_ino(ib_p, ino_num)) == NULL)
491 ino_p = px_ib_alloc_ino(ib_p, ino_num);
514 px_ib_delete_ino_pil(px_ib_t *ib_p, px_ino_pil_t *ipil_p)
520 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex));
557 if (ib_p->ib_ino_lst == ino_p)
558 ib_p->ib_ino_lst = ino_p->ino_next_p;
560 px_ino_t *list = ib_p->ib_ino_lst;
572 px_ib_free_ino_all(px_ib_t *ib_p)
574 px_ino_t *ino_p = ib_p->ib_ino_lst;
603 px_ib_t *ib_p = ino_p->ino_ib_p;
610 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex));
611 ASSERT(ib_p == px_p->px_ib_p);
812 px_ib_t *ib_p = px_p->px_ib_p;
822 mutex_enter(&ib_p->ib_ino_lst_mutex);
824 ino_p = px_ib_locate_ino(ib_p, ino);
833 mutex_exit(&ib_p->ib_ino_lst_mutex);
924 px_ib_t *ib_p = px_p->px_ib_p;
1039 mutex_enter(&ib_p->ib_ino_lst_mutex);
1041 ino_p = px_ib_locate_ino(ib_p, px_msiqid_to_devino(px_p, old_msiq_id));
1045 ino_p = px_ib_locate_ino(ib_p, px_msiqid_to_devino(px_p, msiq_id));
1054 mutex_exit(&ib_p->ib_ino_lst_mutex);
1082 mutex_exit(&ib_p->ib_ino_lst_mutex);
1115 px_ib_t *ib_p = px_p->px_ib_p;
1123 mutex_enter(&ib_p->ib_ino_lst_mutex);
1124 ino_p = px_ib_locate_ino(ib_p, ino);
1161 mutex_exit(&ib_p->ib_ino_lst_mutex);
1171 px_ib_t *ib_p = px_p->px_ib_p;
1177 mutex_enter(&ib_p->ib_ino_lst_mutex);
1179 if ((ino_p = px_ib_locate_ino(ib_p, ino)) == NULL) {
1180 mutex_exit(&ib_p->ib_ino_lst_mutex);
1203 mutex_exit(&ib_p->ib_ino_lst_mutex);
1208 mutex_exit(&ib_p->ib_ino_lst_mutex);
1213 px_ib_log_new_cpu(px_ib_t *ib_p, cpuid_t old_cpu_id, cpuid_t new_cpu_id,
1221 mutex_enter(&ib_p->ib_ino_lst_mutex);
1224 if (ino_p = px_ib_locate_ino(ib_p, ino)) {
1238 px_ib_cpu_ticks_to_ih_nsec(ib_p,
1244 mutex_exit(&ib_p->ib_ino_lst_mutex);