/illumos-gate/usr/src/uts/sun4u/io/pci/ |
H A D | pci_ib.c | 55 ib_t *ib_p; local 63 ib_p = kmem_zalloc(sizeof (ib_t), KM_SLEEP); 64 pci_p->pci_ib_p = ib_p; 65 ib_p->ib_pci_p = pci_p; 67 a = pci_ib_setup(ib_p); 73 ib_p->ib_slot_clear_intr_regs = 75 ib_p->ib_intr_retry_timer_reg = 77 ib_p->ib_slot_intr_state_diag_reg = 79 ib_p->ib_obio_intr_state_diag_reg = 83 ib_p 119 ib_t *ib_p = pci_p->pci_ib_p; local 136 ib_configure(ib_t *ib_p) argument 149 ib_t *ib_p = pci_p->pci_ib_p; local 177 ib_intr_disable(ib_t *ib_p, ib_ino_t ino, int wait) argument 213 ib_nintr_clear(ib_t *ib_p, ib_ino_t ino) argument 224 ib_intr_dist_nintr(ib_t *ib_p, ib_ino_t ino, volatile uint64_t *imr_p) argument 253 ib_cpu_ticks_to_ih_nsec(ib_t *ib_p, ih_t *ih_p, uint32_t cpu_id) argument 278 ib_intr_dist(ib_t *ib_p, ib_ino_info_t *ino_p) argument 336 ib_t *ib_p = (ib_t *)arg; local 467 ib_t *ib_p = (ib_t *)arg; local 484 ib_suspend(ib_t *ib_p) argument 502 ib_resume(ib_t *ib_p) argument 526 ib_locate_ino(ib_t *ib_p, ib_ino_t ino_num) argument 539 ib_new_ino_pil(ib_t *ib_p, ib_ino_t ino_num, uint_t pil, ih_t *ih_p) argument 578 ib_delete_ino_pil(ib_t *ib_p, ib_ino_pil_t *ipil_p) argument 628 ib_free_ino_all(ib_t *ib_p) argument 660 ib_t *ib_p = ino_p->ino_ib_p; local 855 ib_t *ib_p = pci_p->pci_ib_p; local 904 ib_t *ib_p = pci_p->pci_ib_p; local 928 ib_t *ib_p = pci_p->pci_ib_p; local 1020 ib_get_ino_devs( ib_t *ib_p, uint32_t ino, uint8_t *devs_ret, pcitool_intr_dev_t *devs) argument 1055 ib_log_new_cpu(ib_t *ib_p, uint32_t old_cpu_id, uint32_t new_cpu_id, uint32_t ino) argument [all...] |
H A D | pci_intr.c | 410 ib_t *ib_p = ino_p->ino_ib_p; local 411 pci_t *pci_p = ib_p->ib_pci_p; 437 IB_INO_TO_MONDO(ib_p, ino); 455 ib_t *ib_p = pci_p->pci_ib_p; local 471 if (ino > ib_p->ib_max_ino) { 478 map_reg_addr = ib_intr_map_reg_addr(ib_p, ino); 480 mondo = pci_xlate_intr(dip, rdip, ib_p, ino); 497 mutex_enter(&ib_p->ib_intr_lock); 500 mutex_exit(&ib_p->ib_intr_lock); 510 mutex_enter(&ib_p 630 ib_t *ib_p = pci_p->pci_ib_p; local [all...] |
H A D | pci_pbm.c | 183 ib_t *ib_p = pci_p->pci_ib_p; local 201 ib_intr_disable(ib_p, pci_p->pci_inos[CBNINTR_PBM], IB_INTR_WAIT); 304 ib_t *ib_p = pci_p->pci_ib_p; local 307 mutex_enter(&ib_p->ib_intr_lock); 308 ib_intr_dist_nintr(ib_p, ino, ib_intr_map_reg_addr(ib_p, ino)); 310 mutex_exit(&ib_p->ib_intr_lock);
|
H A D | pcipsy.c | 419 ib_intr_map_reg_addr(ib_t *ib_p, ib_ino_t ino) argument 424 addr = (uint64_t *)(ib_p->ib_obio_intr_map_regs + 427 addr = (uint64_t *)(ib_p->ib_slot_intr_map_regs + 433 ib_clear_intr_reg_addr(ib_t *ib_p, ib_ino_t ino) argument 438 addr = (uint64_t *)(ib_p->ib_obio_clear_intr_regs + 441 addr = (uint64_t *)(ib_p->ib_slot_clear_intr_regs + 450 ib_ino_map_reg_share(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) argument 454 ib_p->ib_map_reg_counters[ino_p->ino_slot_no]++; 463 ib_ino_map_reg_unshare(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) argument 470 return (--ib_p 480 pci_ib_setup(ib_t *ib_p) argument 495 pci_xlate_intr(dev_info_t *dip, dev_info_t *rdip, ib_t *ib_p, uint32_t intr) argument 561 pci_intr_dist_cpuid(ib_t *ib_p, ib_ino_info_t *ino_p) argument 1045 ib_t *ib_p = pci_p->pci_ib_p; local [all...] |
H A D | pci_tools.c | 296 ib_t *ib_p = pci_p->pci_ib_p; local 356 imregp = ib_intr_map_reg_addr(ib_p, ino); 369 ib_p, ino, &iget->num_devs_ret, iget->dev); 414 ib_t *ib_p = pci_p->pci_ib_p; local 458 (ib_get_ino_devs(ib_p, iset.ino, &zero, NULL) == 0)) { 464 imregp = (uint64_t *)ib_intr_map_reg_addr(ib_p, iset.ino);
|
H A D | pcisch.c | 578 ib_intr_map_reg_addr(ib_t *ib_p, ib_ino_t ino) argument 584 return ((uint64_t *)(ib_p->ib_intr_map_regs) + (ino & 0x3f)); 588 ib_clear_intr_reg_addr(ib_t *ib_p, ib_ino_t ino) /* XXX - needs work */ argument 594 return ((uint64_t *)(ib_p->ib_slot_clear_intr_regs) + (ino & 0x3f)); 603 ib_ino_map_reg_share(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) argument 612 ib_ino_map_reg_unshare(ib_t *ib_p, ib_ino_t ino, ib_ino_info_t *ino_p) argument 621 ib_t *ib_p = pci_p->pci_ib_p; local 625 ib_intr_dist_nintr(ib_p, ino, ib_intr_map_reg_addr(ib_p, ino)); 630 pci_xlate_intr(dev_info_t *dip, dev_info_t *rdip, ib_t *ib_p, uint32_ argument 642 pci_intr_dist_cpuid(ib_t *ib_p, ib_ino_info_t *ino_p) argument 983 ib_t *ib_p = pci_p->pci_ib_p; local 1384 pci_ib_setup(ib_t *ib_p) argument 3470 ib_t *ib_p = pci_p->pci_ib_p; local [all...] |
/illumos-gate/usr/src/uts/sun4u/sys/pci/ |
H A D | pci_ib.h | 161 #define IB2CB(ib_p) ((ib_p)->ib_pci_p->pci_cb_p) 167 #define IB_INO_INTR_STATE_REG(ib_p, ino) ((ino) & 0x20 ? \ 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) 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_ [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) 552 #define IB_INO_TO_NBMONDO(ib_p, ino) IB_IGN_TO_MONDO(NBIGN(ib_p), ino)
|
/illumos-gate/usr/src/uts/sun4/io/px/ |
H A D | px_ib.c | 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; local 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; local 116 px_ib_t *ib_p = px_p->px_ib_p; local 144 px_ib_intr_disable(px_ib_t *ib_p, devino_t ino, int wait) argument 257 px_ib_cpu_ticks_to_ih_nsec(px_ib_t *ib_p, px_ih_t *ih_p, uint32_t cpu_id) argument 294 px_ib_t *ib_p = (px_ib_t *)arg; local 432 px_ib_t *ib_p = (px_ib_t *)arg; local 447 px_ib_locate_ino(px_ib_t *ib_p, devino_t ino_num) argument 460 px_ib_alloc_ino(px_ib_t *ib_p, devino_t ino_num) argument 485 px_ib_new_ino_pil(px_ib_t *ib_p, devino_t ino_num, uint_t pil, px_ih_t *ih_p) argument 514 px_ib_delete_ino_pil(px_ib_t *ib_p, px_ino_pil_t *ipil_p) argument 572 px_ib_free_ino_all(px_ib_t *ib_p) argument 603 px_ib_t *ib_p = ino_p->ino_ib_p; local 812 px_ib_t *ib_p = px_p->px_ib_p; local 924 px_ib_t *ib_p = px_p->px_ib_p; local 1115 px_ib_t *ib_p = px_p->px_ib_p; local 1171 px_ib_t *ib_p = px_p->px_ib_p; local 1213 px_ib_log_new_cpu(px_ib_t *ib_p, cpuid_t old_cpu_id, cpuid_t new_cpu_id, uint32_t ino) argument [all...] |
H A D | px_msiq.c | 51 px_ib_t *ib_p = px_p->px_ib_p; local 52 px_msiq_state_t *msiq_state_p = &ib_p->ib_msiq_state; 83 mutex_enter(&ib_p->ib_ino_lst_mutex); 89 (void) px_ib_alloc_ino(ib_p, px_msiqid_to_devino(px_p, 94 mutex_exit(&ib_p->ib_ino_lst_mutex); 148 px_ib_t *ib_p = px_p->px_ib_p; local 149 px_msiq_state_t *msiq_state_p = &ib_p->ib_msiq_state; 157 ASSERT(MUTEX_HELD(&ib_p->ib_ino_lst_mutex)); 228 px_ib_t *ib_p = px_p->px_ib_p; local 229 px_msiq_state_t *msiq_state_p = &ib_p 301 px_ib_t *ib_p = px_p->px_ib_p; local 327 px_ib_t *ib_p = px_p->px_ib_p; 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; local 964 mutex_enter(&ib_p->ib_ino_lst_mutex); 966 ino_p = px_ib_locate_ino(ib_p, ino); 1018 ipil_p = px_ib_new_ino_pil(ib_p, ino, hdlp->ih_pri, ih_p); 1068 mutex_exit(&ib_p->ib_ino_lst_mutex); 1075 px_ib_delete_ino_pil(ib_p, ipil_p); 1080 mutex_exit(&ib_p->ib_ino_lst_mutex); 1100 px_ib_t *ib_p = px_p->px_ib_p; local 1113 mutex_enter(&ib_p->ib_ino_lst_mutex); 1115 ino_p = px_ib_locate_ino(ib_p, in 1159 px_ib_t *ib_p = px_p->px_ib_p; local 1305 px_ib_t *ib_p = px_p->px_ib_p; local [all...] |
/illumos-gate/usr/src/uts/sun4u/io/px/ |
H A D | px_lib4u.c | 2378 px_ib_t *ib_p = px_p->px_ib_p; local 2417 px_ib_intr_disable(ib_p, ce_ino, IB_INTR_NOWAIT); 2420 px_ib_intr_disable(ib_p, nf_ino, IB_INTR_NOWAIT); 2423 px_ib_intr_disable(ib_p, f_ino, IB_INTR_NOWAIT); 2429 mutex_enter(&ib_p->ib_ino_lst_mutex); 2431 ce_ino_p = px_ib_locate_ino(ib_p, ce_ino); 2432 nf_ino_p = px_ib_locate_ino(ib_p, nf_ino); 2433 f_ino_p = px_ib_locate_ino(ib_p, f_ino); 2456 mutex_exit(&ib_p->ib_ino_lst_mutex);
|
/illumos-gate/usr/src/uts/sun4v/io/px/ |
H A D | px_lib4v.c | 408 px_ib_t *ib_p = px_p->px_ib_p; local 413 mutex_enter(&ib_p->ib_ino_lst_mutex); 416 for (ino_p = ib_p->ib_ino_lst; ino_p; ino_p = ino_p->ino_next_p) { 422 mutex_exit(&ib_p->ib_ino_lst_mutex);
|