Lines Matching refs:fmhdl

344 	struct i_ddi_fmhdl	*fmhdl = NULL;
382 fmhdl = DEVI(eqdip)->devi_fmhdl;
383 ASSERT(fmhdl);
384 eqep = errorq_reserve(fmhdl->fh_errorq);
388 ereport = errorq_elem_nvl(fmhdl->fh_errorq, eqep);
389 nva = errorq_elem_nva(fmhdl->fh_errorq, eqep);
451 errorq_commit(fmhdl->fh_errorq, eqep, ERRORQ_ASYNC);
457 err: if (fmhdl)
458 atomic_inc_64(&fmhdl->fh_kstat.fek_erpt_dropped.value.ui64);
688 struct i_ddi_fmhdl *fmhdl;
720 fmhdl = kmem_zalloc(sizeof (struct i_ddi_fmhdl), KM_SLEEP);
722 if ((fmhdl->fh_ksp = kstat_create((char *)ddi_driver_name(dip),
726 mutex_destroy(&fmhdl->fh_lock);
727 kmem_free(fmhdl, sizeof (struct i_ddi_fmhdl));
732 bcopy(&ddifm_kstat_template, &fmhdl->fh_kstat,
734 fmhdl->fh_ksp->ks_data = &fmhdl->fh_kstat;
735 fmhdl->fh_ksp->ks_private = fmhdl;
736 kstat_install(fmhdl->fh_ksp);
738 fmhdl->fh_dma_cache = NULL;
739 fmhdl->fh_acc_cache = NULL;
740 fmhdl->fh_tgts = NULL;
741 fmhdl->fh_dip = dip;
742 fmhdl->fh_ibc = ibc;
743 mutex_init(&fmhdl->fh_lock, NULL, MUTEX_DRIVER, fmhdl->fh_ibc);
744 devi->devi_fmhdl = fmhdl;
750 fmhdl->fh_errorq = ereport_errorq;
777 i_ndi_fmc_create(&fmhdl->fh_dma_cache, 2, ibc);
789 i_ndi_fmc_create(&fmhdl->fh_acc_cache, 2, ibc);
803 fmhdl->fh_cap = newcap;
821 struct i_ddi_fmhdl *fmhdl = DEVI(dip)->devi_fmhdl;
823 ASSERT(fmhdl);
830 kstat_delete(fmhdl->fh_ksp);
832 if (DDI_FM_EREPORT_CAP(fmhdl->fh_cap)) {
838 if (DDI_FM_ERRCB_CAP(fmhdl->fh_cap)) {
844 if (DDI_FM_DMA_ERR_CAP(fmhdl->fh_cap) ||
845 DDI_FM_ACC_ERR_CAP(fmhdl->fh_cap)) {
846 if (fmhdl->fh_dma_cache != NULL) {
847 i_ndi_fmc_destroy(fmhdl->fh_dma_cache);
851 if (fmhdl->fh_acc_cache != NULL) {
852 i_ndi_fmc_destroy(fmhdl->fh_acc_cache);
861 kmem_free(fmhdl, sizeof (struct i_ddi_fmhdl));
873 struct i_ddi_fmhdl *fmhdl = DEVI(dip)->devi_fmhdl;
875 if (fmhdl == NULL)
878 return (fmhdl->fh_cap);
1017 struct i_ddi_fmhdl *fmhdl = DEVI(hdlp->ah_dip)->devi_fmhdl;
1022 atomic_inc_64(&fmhdl->fh_kstat.fek_acc_err.value.ui64);
1030 struct i_ddi_fmhdl *fmhdl = DEVI(hdlp->dmai_rdip)->devi_fmhdl;
1035 atomic_inc_64(&fmhdl->fh_kstat.fek_dma_err.value.ui64);