/illumos-gate/usr/src/uts/sun4/io/px/ |
H A D | px.c | 201 if (px_p == NULL) { in px_info() 248 px_p->px_dip = dip; in px_attach() 273 px_p->px_bdf = px_lib_get_bdf(px_p); in px_attach() 387 px_fm_detach(px_p); in px_attach() 398 px_ib_detach(px_p); in px_attach() 500 px_fm_detach(px_p); in px_detach() 507 px_ib_detach(px_p); in px_detach() 658 if (px_ib_update_intr_state(px_p, px_p->px_dip, hdl.ih_inum, in px_pwr_setup() 659 px_msiqid_to_devino(px_p, px_p->px_pm_msiq_id), px_pwr_pil, in px_pwr_setup() 703 (void) px_ib_update_intr_state(px_p, px_p->px_dip, hdl.ih_inum, in px_pwr_teardown() [all …]
|
H A D | px_msiq.c | 49 px_msiq_attach(px_t *px_p) in px_msiq_attach() argument 51 px_ib_t *ib_p = px_p->px_ib_p; in px_msiq_attach() 97 px_msiq_detach(px_p); in px_msiq_attach() 106 px_msiq_detach(px_t *px_p) in px_msiq_detach() argument 113 DBG(DBG_MSIQ, px_p->px_dip, in px_msiq_detach() 127 px_msiq_resume(px_t *px_p) in px_msiq_resume() argument 180 DBG(DBG_MSIQ, px_p->px_dip, in px_msiq_alloc() 215 DBG(DBG_MSIQ, px_p->px_dip, in px_msiq_alloc() 289 DBG(DBG_MSIQ, px_p->px_dip, in px_msiq_alloc_based_on_cpuid() 310 DBG(DBG_MSIQ, px_p->px_dip, in px_msiq_free() [all …]
|
H A D | px_pec.c | 51 px_pec_attach(px_t *px_p) in px_pec_attach() argument 64 px_p->px_pec_p = pec_p; in px_pec_attach() 65 pec_p->pec_px_p = px_p; in px_pec_attach() 119 px_pec_detach(px_t *px_p) in px_pec_detach() argument 134 px_p->px_pec_p = NULL; in px_pec_detach() 174 if ((ret = px_ib_update_intr_state(px_p, px_p->px_dip, hdl.ih_inum, in px_pec_msg_add_intr() 198 if ((ret = px_ib_update_intr_state(px_p, px_p->px_dip, hdl.ih_inum, in px_pec_msg_add_intr() 221 if ((ret = px_ib_update_intr_state(px_p, px_p->px_dip, hdl.ih_inum, in px_pec_msg_add_intr() 262 (void) px_ib_update_intr_state(px_p, px_p->px_dip, hdl.ih_inum, in px_pec_msg_rem_intr() 279 (void) px_ib_update_intr_state(px_p, px_p->px_dip, hdl.ih_inum, in px_pec_msg_rem_intr() [all …]
|
H A D | px_devctl.c | 91 if (px_p == NULL) in px_open() 99 mutex_enter(&px_p->px_mutex); in px_open() 108 mutex_exit(&px_p->px_mutex); in px_open() 115 mutex_exit(&px_p->px_mutex); in px_open() 122 mutex_exit(&px_p->px_mutex); in px_open() 129 mutex_exit(&px_p->px_mutex); in px_open() 145 if (px_p == NULL) in px_close() 149 mutex_enter(&px_p->px_mutex); in px_close() 164 mutex_exit(&px_p->px_mutex); in px_close() 177 if (px_p == NULL) in px_ioctl() [all …]
|
H A D | px_fm.c | 68 px_fm_attach(px_t *px_p) in px_fm_attach() argument 80 ddi_fm_init(dip, &px_p->px_fm_cap, &px_p->px_fm_ibc); in px_fm_attach() 94 px_p->px_pfd_idx = 0; in px_fm_attach() 110 px_fm_detach(px_t *px_p) in px_fm_detach() argument 126 ddi_fm_handler_register(px_p->px_dip, px_fm_callback, px_p); in px_fm_cb_enable() 350 px_fm_exit(px_p); in px_fm_callback() 373 px_fm_exit(px_p); in px_fm_callback() 460 px_fm_exit(px_p); in px_err_fabric_intr() 493 if (!px_lib_is_in_drain_state(px_p) && px_p->px_pfd_idx) { in px_scan_fabric() 842 px_t *px_p; in px_err_pio_hdl_check() local [all …]
|
H A D | px_msi.c | 43 static int px_msi_get_props(px_t *px_p); 49 px_msi_attach(px_t *px_p) in px_msi_attach() argument 51 dev_info_t *dip = px_p->px_dip; in px_msi_attach() 66 if (px_msi_get_props(px_p) != DDI_SUCCESS) { in px_msi_attach() 67 px_msi_detach(px_p); in px_msi_attach() 95 px_msi_detach(px_p); in px_msi_attach() 105 px_msi_detach(px_t *px_p) in px_msi_detach() argument 107 dev_info_t *dip = px_p->px_dip; in px_msi_detach() 166 DBG(DBG_A_MSIX, px_p->px_dip, "px_msi_alloc: " in px_msi_alloc() 324 px_msi_get_props(px_t *px_p) in px_msi_get_props() argument [all …]
|
H A D | px_util.c | 62 i = sizeof (px_p->px_bus_range); in px_get_props() 70 px_p->px_bus_range.lo, px_p->px_bus_range.hi); in px_get_props() 92 px_p->px_inos[i] = px_p->px_inos[i] & 0x3F; in px_get_props() 98 (caddr_t)&px_p->px_ranges_p, &px_p->px_ranges_length) != in px_get_props() 103 kmem_free(px_p->px_inos, px_p->px_inos_len); in px_get_props() 121 px_free_props(px_t *px_p) in px_free_props() argument 123 kmem_free(px_p->px_inos, px_p->px_inos_len); in px_free_props() 124 kmem_free(px_p->px_ranges_p, px_p->px_ranges_length); in px_free_props() 367 DBG(DBG_INIT_CLD, px_p->px_dip, in px_uninit_child() 630 px_get_cfg_pabase(px_t *px_p) in px_get_cfg_pabase() argument [all …]
|
H A D | px_util.h | 38 extern int px_init_child(px_t *px_p, dev_info_t *child); 39 extern int px_uninit_child(px_t *px_p, dev_info_t *child); 41 extern int px_get_props(px_t *px_p, dev_info_t *dip); 42 extern void px_free_props(px_t *px_p); 43 extern int px_map_regs(px_t *px_p, dev_info_t *dip); 44 extern void px_unmap_regs(px_t *px_p); 48 extern int px_reloc_reg(dev_info_t *dip, dev_info_t *rdip, px_t *px_p, 50 extern int px_xlate_reg(px_t *px_p, pci_regspec_t *pci_rp, 52 extern int px_search_ranges(px_t *px_p, uint32_t space_type, uint32_t reg_begin, 59 extern uint64_t px_get_cfg_pabase(px_t *px_p);
|
H A D | px_fm.h | 102 extern int px_fm_attach(px_t *px_p); 103 extern void px_fm_detach(px_t *px_p); 104 extern void px_fm_cb_enable(px_t *px_p); 105 extern void px_fm_cb_disable(px_t *px_p); 117 extern uint_t px_err_fabric_intr(px_t *px_p, msgcode_t msg_code, 123 extern int px_scan_fabric(px_t *px_p, dev_info_t *rdip, ddi_fm_error_t *derr); 124 extern void px_err_safeacc_check(px_t *px_p, ddi_fm_error_t *derr); 128 extern int px_fm_enter(px_t *px_p); 129 extern void px_fm_exit(px_t *px_p); 131 extern pf_data_t *px_rp_en_q(px_t *px_p, pcie_req_id_t fault_bdf, [all …]
|
H A D | px_msiq.h | 83 extern int px_msiq_attach(px_t *px_p); 84 extern void px_msiq_detach(px_t *px_p); 85 extern void px_msiq_resume(px_t *px_p); 87 extern int px_msiq_alloc(px_t *px_p, msiq_rec_type_t rec_type, 89 extern int px_msiq_alloc_based_on_cpuid(px_t *px_p, 92 extern int px_msiq_free(px_t *px_p, msiqid_t msiq_id); 93 extern void px_msiq_redist(px_t *px_p); 95 extern devino_t px_msiqid_to_devino(px_t *px_p, msiqid_t msiq_id); 96 extern msiqid_t px_devino_to_msiqid(px_t *px_p, devino_t devino);
|
H A D | px_ib.c | 53 px_ib_attach(px_t *px_p) in px_ib_attach() argument 55 dev_info_t *dip = px_p->px_dip; 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() 94 px_ib_detach(px_t *px_p) in px_ib_detach() argument 109 px_p->px_ib_p = NULL; in px_ib_detach() 124 DBG(DBG_IB, px_p->px_dip, in px_ib_intr_enable() 129 DBG(DBG_IB, px_p->px_dip, in px_ib_intr_enable() 295 px_t *px_p = ib_p->ib_px_p; in px_ib_intr_redist() local 310 px_hp_intr_redist(px_p); in px_ib_intr_redist() [all …]
|
H A D | px_intr.c | 75 px_t *px_p = ino_p->ino_ib_p->ib_px_p; in px_spurintr() local 166 DBG(DBG_INTX_INTR, px_p->px_dip, in px_intx_intr() 253 dev_info_t *dip = px_p->px_dip; in px_msiq_intr() 480 px_t *px_p = DIP_TO_STATE(dip); in px_intx_ops() local 552 px_t *px_p = DIP_TO_STATE(dip); in px_msix_ops() local 717 ret = px_ib_get_intr_target(px_p, in px_msix_ops() 945 px_ib_t *ib_p = px_p->px_ib_p; in px_add_intx_intr() 1100 px_ib_t *ib_p = px_p->px_ib_p; in px_rem_intx_intr() 1159 px_ib_t *ib_p = px_p->px_ib_p; in px_add_msiq_intr() 1305 px_ib_t *ib_p = px_p->px_ib_p; in px_rem_msiq_intr() [all …]
|
H A D | px_tools.c | 73 px_t *px_p = DIP_TO_STATE(dip); in pxtool_intr_info() local 120 px_t *px_p = DIP_TO_STATE(dip); in pxtool_get_intr() local 153 iget->ino = px_msiqid_to_devino(px_p, msiq_id); in pxtool_get_intr() 214 if (px_ib_get_intr_target(px_p, iget->ino, in pxtool_get_intr() 254 px_t *px_p = DIP_TO_STATE(dip); in pxtool_set_intr() local 313 iset.ino = px_msiqid_to_devino(px_p, msiq_id); in pxtool_set_intr() 356 iset.ino = px_msiqid_to_devino(px_p, msiq_id); in pxtool_set_intr() 363 if ((ret = px_ib_set_intr_target(px_p, iset.ino, in pxtool_set_intr() 463 dev_info_t *dip = px_p->px_dip; in pxtool_get_phys_addr() 514 dev_info_t *dip = px_p->px_dip; in pxtool_get_bar() [all …]
|
H A D | px_ib.h | 131 extern int px_ib_attach(px_t *px_p); 132 extern void px_ib_detach(px_t *px_p); 133 extern void px_ib_intr_enable(px_t *px_p, cpuid_t cpuid, devino_t ino); 147 extern int px_ib_ino_add_intr(px_t *px_p, px_ino_pil_t *ipil_p, px_ih_t *ih_p); 148 extern int px_ib_ino_rem_intr(px_t *px_p, px_ino_pil_t *ipil_p, px_ih_t *ih_p); 157 extern int px_ib_update_intr_state(px_t *px_p, dev_info_t *rdip, uint_t inum, 160 extern int px_ib_get_intr_target(px_t *px_p, devino_t ino, cpuid_t *cpu_id_p); 161 extern int px_ib_set_intr_target(px_t *px_p, devino_t ino, cpuid_t cpu_id); 162 extern int px_ib_set_msix_target(px_t *px_p, ddi_intr_handle_impl_t *hdlp, 164 extern uint8_t pxtool_ib_get_ino_devs(px_t *px_p, uint32_t ino, [all …]
|
H A D | px_fdvma.c | 54 px_t *px_p = (px_t *)fdvma_p->softsp; in px_fdvma_load() local 55 px_mmu_t *mmu_p = px_p->px_mmu_p; in px_fdvma_load() 56 dev_info_t *dip = px_p->px_dip; in px_fdvma_load() 104 px_t *px_p = (px_t *)fdvma_p->softsp; in px_fdvma_unload() local 108 DBG(DBG_FAST_DVMA, px_p->px_dip, in px_fdvma_unload() 112 px_mmu_unmap_pages(px_p->px_mmu_p, mp, dvma_pg, npages); in px_fdvma_unload() 122 px_t *px_p = (px_t *)fdvma_p->softsp; in px_fdvma_sync() local 125 DBG(DBG_FAST_DVMA, px_p->px_dip, in px_fdvma_sync() 136 px_mmu_t *mmu_p = px_p->px_mmu_p; in px_fdvma_reserve() 192 fdvma_p->softsp = (caddr_t)px_p; in px_fdvma_reserve() [all …]
|
H A D | px_mmu.c | 41 px_mmu_attach(px_t *px_p) in px_mmu_attach() argument 43 dev_info_t *dip = px_p->px_dip; in px_mmu_attach() 59 px_p->px_mmu_p = mmu_p; in px_mmu_attach() 60 mmu_p->mmu_px_p = px_p; in px_mmu_attach() 74 px_p->px_mmu_p = NULL; in px_mmu_attach() 120 if (px_lib_iommu_getmap(px_p->px_dip, PCI_TSBID(0, tsb_i), in px_mmu_attach() 150 px_mmu_detach(px_t *px_p) in px_mmu_detach() argument 152 px_mmu_t *mmu_p = px_p->px_mmu_p; in px_mmu_detach() 154 (void) px_lib_iommu_detach(px_p); in px_mmu_detach() 173 px_p->px_mmu_p = NULL; in px_mmu_detach() [all …]
|
H A D | px_msi.h | 91 extern int px_msi_attach(px_t *px_p); 92 extern void px_msi_detach(px_t *px_p); 94 extern int px_msi_alloc(px_t *px_p, dev_info_t *rdip, int type, int inum, 96 extern int px_msi_free(px_t *px_p, dev_info_t *rdip, int inum, 99 extern int px_msi_get_msinum(px_t *px_p, dev_info_t *rdip,
|
H A D | px_dma.c | 235 px_dma_attach(px_t *px_p) in px_dma_attach() argument 248 if (px_p->px_dma_sync_opt != 0) in px_dma_attach() 271 px_mmu_t *mmu_p = px_p->px_mmu_p; in px_dma_attr2hdl() 390 dev_info_t *dip = px_p->px_dip; in px_dma_type() 392 px_pec_t *pec_p = px_p->px_pec_p; in px_dma_type() 476 dev_info_t *dip = px_p->px_dip; in px_dma_pgpfn() 521 dev_info_t *dip = px_p->px_dip; in px_dma_vapfn() 558 dev_info_t *dip = px_p->px_dip; in px_dma_pfn() 560 px_pec_t *pec_p = px_p->px_pec_p; in px_dma_pfn() 655 DBG(DBG_DMA_MAP, px_p->px_dip, in px_dvma_win() [all …]
|
H A D | px_lib.h | 93 extern int px_lib_iommu_detach(px_t *px_p); 160 extern int px_lib_pmctl(int cmd, px_t *px_p); 167 extern uint64_t px_get_rng_parent_hi_mask(px_t *px_p); 193 extern void px_panic_domain(px_t *px_p, pcie_req_id_t bdf); 206 extern void px_hp_intr_redist(px_t *px_p); 208 extern boolean_t px_lib_is_in_drain_state(px_t *px_p); 209 extern pcie_req_id_t px_lib_get_bdf(px_t *px_p); 211 extern int px_lib_get_root_complex_mps(px_t *px_p, dev_info_t *dip, int *mps); 212 extern int px_lib_set_root_complex_mps(px_t *px_p, dev_info_t *dip, int mps);
|
H A D | px_pec.h | 110 extern int px_pec_attach(px_t *px_p); 111 extern void px_pec_detach(px_t *px_p); 112 extern int px_pec_msg_add_intr(px_t *px_p); 113 extern void px_pec_msg_rem_intr(px_t *px_p);
|
/illumos-gate/usr/src/uts/sun4u/io/px/ |
H A D | px_lib4u.c | 321 px_p->px_plat_p = NULL; in px_lib_dev_fini() 583 hvio_obptsb_detach(px_p); in px_lib_iommu_detach() 1567 px_fm_exit(px_p); in px_lib_clr_errs() 1722 px_fm_exit(px_p); in px_lib_do_peek() 1935 px_p->px_pm_flags &= in px_goto_l23ready() 1976 px_t *px_p = (px_t *)arg; in px_pmeq_intr() local 2013 px_goto_l0(px_t *px_p) in px_goto_l0() argument 2214 pxl->pxp = px_p; in px_cb_add_intr() 2230 pxl_new->pxp = px_p; in px_cb_add_intr() 2267 if (pxl->pxp == px_p) { in px_cb_rem_intr() [all …]
|
H A D | px_tools_4u.c | 97 px_pec_t *pec_p = px_p->px_pec_p; in pxtool_safe_phys_peek() 98 pxu_t *pxu_p = (pxu_t *)px_p->px_plat_p; in pxtool_safe_phys_peek() 172 pxu_t *pxu_p = (pxu_t *)px_p->px_plat_p; in pxtool_safe_phys_poke() 173 px_pec_t *pec_p = px_p->px_pec_p; in pxtool_safe_phys_poke() 214 px_lib_clr_errs(px_p, 0, paddr); in pxtool_safe_phys_poke() 259 dev_info_t *dip = px_p->px_dip; in pxtool_access() 311 pxtool_pcicfg_access(px_t *px_p, pcitool_reg_t *prg_p, in pxtool_pcicfg_access() argument 314 return (pxtool_access(px_p, prg_p, data_p, is_write)); in pxtool_pcicfg_access() 318 pxtool_pciiomem_access(px_t *px_p, pcitool_reg_t *prg_p, in pxtool_pciiomem_access() argument 321 return (pxtool_access(px_p, prg_p, data_p, is_write)); in pxtool_pciiomem_access() [all …]
|
H A D | px_err.c | 653 px_t *px_p = DIP_TO_STATE(rpdip); in px_err_cb_intr() local 671 px_fm_exit(px_p); in px_err_cb_intr() 693 px_t *px_p = DIP_TO_STATE(rpdip); in px_err_dmc_pec_intr() local 717 px_fm_exit(px_p); in px_err_dmc_pec_intr() 826 px_err_safeacc_check(px_p, derr); in px_err_cmn_intr() 829 px_err_snapshot(px_p, &ss, block); in px_err_cmn_intr() 839 px_pec_t *pec_p = px_p->px_pec_p; in px_err_cmn_intr() 1179 px_t *px_p; in PX_ERPT_SEND_DEC() local 1242 px_p = DIP_TO_STATE(rpdip); in PX_ERPT_SEND_DEC() 1518 px_t *px_p = DIP_TO_STATE(rpdip); in px_jbc_pcitool_addr_match() local [all …]
|
/illumos-gate/usr/src/uts/sun4v/io/px/ |
H A D | px_lib4v.c | 96 px_t *px_p = DIP_TO_STATE(dip); in px_lib_dev_init() local 1694 (void) px_scan_fabric(px_p, px_p->px_dip, &derr); in px_lib_log_safeacc_err() 1695 px_fm_exit(px_p); in px_lib_log_safeacc_err() 1754 DBG(DBG_MAP, px_p->px_dip, in px_lib_ctlops_poke() 1919 DBG(DBG_MAP, px_p->px_dip, in px_lib_ctlops_peek() 1974 px_t *px_p = (px_t *)arg; in px_cb_intr_redist() local 2085 return (px_p->px_dev_hdl); in px_lib_get_cfgacc_base() 2121 px_hp_intr_redist(px_t *px_p) in px_hp_intr_redist() argument 2128 px_cpr_add_callb(px_t *px_p) in px_cpr_add_callb() argument 2135 px_cpr_rem_callb(px_t *px_p) in px_cpr_rem_callb() argument [all …]
|
H A D | px_tools_4v.c | 130 pxtool_phys_access(px_t *px_p, uintptr_t dev_addr, in pxtool_phys_access() argument 138 dev_info_t *dip = px_p->px_dip; in pxtool_phys_access() 220 pxtool_pcicfg_access(px_t *px_p, pcitool_reg_t *prg_p, in pxtool_pcicfg_access() argument 225 dev_info_t *dip = px_p->px_dip; in pxtool_pcicfg_access() 226 px_pec_t *pec_p = px_p->px_pec_p; in pxtool_pcicfg_access() 361 dev_info_t *dip = px_p->px_dip; in pxtool_pciiomem_access() 362 px_pec_t *pec_p = px_p->px_pec_p; in pxtool_pciiomem_access() 386 rval = hvio_poke(px_p->px_dev_hdl, prg_p->phys_addr, in pxtool_pciiomem_access() 405 rval = hvio_peek(px_p->px_dev_hdl, prg_p->phys_addr, in pxtool_pciiomem_access() 413 size, px_p->px_dev_hdl, rval, io_stat); in pxtool_pciiomem_access() [all …]
|