Lines Matching refs:umc

1613 zen_umc_identify(zen_umc_t *umc)  in zen_umc_identify()  argument
1616 if (zen_umc_fam_data[i].zufd_family == umc->umc_family) { in zen_umc_identify()
1617 umc->umc_fdata = &zen_umc_fam_data[i]; in zen_umc_identify()
1631 zen_umc_read_dram_rule_df_23(zen_umc_t *umc, const uint_t dfno, in zen_umc_read_dram_rule_df_23() argument
1639 zen_umc_df_t *df = &umc->umc_dfs[dfno]; in zen_umc_read_dram_rule_df_23()
1643 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM base " in zen_umc_read_dram_rule_df_23()
1650 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM limit " in zen_umc_read_dram_rule_df_23()
1678 switch (umc->umc_df_rev) { in zen_umc_read_dram_rule_df_23()
1701 dev_err(umc->umc_dip, CE_WARN, "!encountered unsupported " in zen_umc_read_dram_rule_df_23()
1702 "DF revision processing DRAM rules: 0x%x", umc->umc_df_rev); in zen_umc_read_dram_rule_df_23()
1717 dev_err(umc->umc_dip, CE_WARN, "!encountered invalid address " in zen_umc_read_dram_rule_df_23()
1753 dev_err(umc->umc_dip, CE_WARN, "!encountered invalid channel " in zen_umc_read_dram_rule_df_23()
1787 if ((umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_TARG_REMAP) != 0) { in zen_umc_read_dram_rule_df_23()
1799 zen_umc_read_dram_rule_df_4(zen_umc_t *umc, const uint_t dfno, in zen_umc_read_dram_rule_df_4() argument
1808 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM base " in zen_umc_read_dram_rule_df_4()
1815 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM limit " in zen_umc_read_dram_rule_df_4()
1822 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM " in zen_umc_read_dram_rule_df_4()
1830 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM control " in zen_umc_read_dram_rule_df_4()
1923 dev_err(umc->umc_dip, CE_WARN, "!encountered invalid channel " in zen_umc_read_dram_rule_df_4()
1939 dev_err(umc->umc_dip, CE_WARN, "!encountered invalid address " in zen_umc_read_dram_rule_df_4()
1950 zen_umc_read_dram_rule_df_4d2(zen_umc_t *umc, const uint_t dfno, in zen_umc_read_dram_rule_df_4d2() argument
1959 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM base " in zen_umc_read_dram_rule_df_4d2()
1966 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM limit " in zen_umc_read_dram_rule_df_4d2()
1973 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM " in zen_umc_read_dram_rule_df_4d2()
1981 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM control " in zen_umc_read_dram_rule_df_4d2()
2143 dev_err(umc->umc_dip, CE_WARN, "!encountered invalid channel " in zen_umc_read_dram_rule_df_4d2()
2158 dev_err(umc->umc_dip, CE_WARN, "!encountered invalid address " in zen_umc_read_dram_rule_df_4d2()
2169 zen_umc_read_dram_rule(zen_umc_t *umc, const uint_t dfno, const uint_t instid, in zen_umc_read_dram_rule() argument
2174 switch (umc->umc_df_rev) { in zen_umc_read_dram_rule()
2178 ret = zen_umc_read_dram_rule_df_23(umc, dfno, instid, ruleno, in zen_umc_read_dram_rule()
2182 ret = zen_umc_read_dram_rule_df_4(umc, dfno, instid, ruleno, in zen_umc_read_dram_rule()
2186 ret = zen_umc_read_dram_rule_df_4d2(umc, dfno, instid, ruleno, in zen_umc_read_dram_rule()
2190 dev_err(umc->umc_dip, CE_WARN, "!encountered unsupported " in zen_umc_read_dram_rule()
2191 "DF revision processing DRAM rules: 0x%x", umc->umc_df_rev); in zen_umc_read_dram_rule()
2196 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM " in zen_umc_read_dram_rule()
2216 zen_umc_read_extremap(zen_umc_t *umc, zen_umc_df_t *df, const uint_t instid) in zen_umc_read_extremap() argument
2237 dev_err(umc->umc_dip, CE_WARN, "!failed to read " in zen_umc_read_extremap()
2245 dev_err(umc->umc_dip, CE_WARN, "!failed to read " in zen_umc_read_extremap()
2253 dev_err(umc->umc_dip, CE_WARN, "!failed to read " in zen_umc_read_extremap()
2274 zen_umc_read_remap(zen_umc_t *umc, zen_umc_df_t *df, const uint_t instid) in zen_umc_read_remap() argument
2291 switch (umc->umc_df_rev) { in zen_umc_read_remap()
2305 return (zen_umc_read_extremap(umc, df, instid)); in zen_umc_read_remap()
2307 dev_err(umc->umc_dip, CE_WARN, "!encountered unsupported DF " in zen_umc_read_remap()
2308 "revision processing remap rules: 0x%x", umc->umc_df_rev); in zen_umc_read_remap()
2320 dev_err(umc->umc_dip, CE_WARN, "!failed to read " in zen_umc_read_remap()
2328 dev_err(umc->umc_dip, CE_WARN, "!failed to read " in zen_umc_read_remap()
2363 zen_umc_t *umc = arg; in zen_umc_fill_ccm_cb() local
2364 zen_umc_df_t *df = &umc->umc_dfs[dfno]; in zen_umc_fill_ccm_cb()
2377 dev_err(umc->umc_dip, CE_WARN, "!failed to read DF Capability " in zen_umc_fill_ccm_cb()
2386 switch (umc->umc_df_rev) { in zen_umc_fill_ccm_cb()
2397 dev_err(umc->umc_dip, CE_WARN, "!encountered unsupported " in zen_umc_fill_ccm_cb()
2398 "DF version: 0x%x", umc->umc_df_rev); in zen_umc_fill_ccm_cb()
2403 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM Hole: %d", in zen_umc_fill_ccm_cb()
2423 if (umc->umc_df_rev == DF_REV_3 || umc->umc_df_rev == DF_REV_3P5) { in zen_umc_fill_ccm_cb()
2428 dev_err(umc->umc_dip, CE_WARN, "!failed to read global " in zen_umc_fill_ccm_cb()
2447 df->zud_dram_nrules = umc->umc_fdata->zufd_dram_nrules; in zen_umc_fill_ccm_cb()
2448 for (uint_t i = 0; i < umc->umc_fdata->zufd_dram_nrules; i++) { in zen_umc_fill_ccm_cb()
2449 if (zen_umc_read_dram_rule(umc, dfno, instid, i, in zen_umc_fill_ccm_cb()
2460 if ((umc->umc_df_rev >= DF_REV_4D2 && in zen_umc_fill_ccm_cb()
2462 (umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_TARG_REMAP) != 0) { in zen_umc_fill_ccm_cb()
2463 if (zen_umc_read_remap(umc, df, instid) != 0) { in zen_umc_fill_ccm_cb()
2524 zen_umc_fill_dimm_common(zen_umc_t *umc, zen_umc_df_t *df, zen_umc_chan_t *chan, in zen_umc_fill_dimm_common() argument
2542 dev_err(umc->umc_dip, CE_WARN, "failed to read DIMM " in zen_umc_fill_dimm_common()
2601 zen_umc_fill_chan_dimm_ddr4(zen_umc_t *umc, zen_umc_df_t *df, in zen_umc_fill_chan_dimm_ddr4() argument
2627 dev_err(umc->umc_dip, CE_WARN, "failed to read base " in zen_umc_fill_chan_dimm_ddr4()
2638 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_dimm_ddr4()
2656 dev_err(umc->umc_dip, CE_WARN, "failed to read mask register " in zen_umc_fill_chan_dimm_ddr4()
2672 dev_err(umc->umc_dip, CE_WARN, "failed to read secondary mask " in zen_umc_fill_chan_dimm_ddr4()
2683 dev_err(umc->umc_dip, CE_WARN, "failed to read address config " in zen_umc_fill_chan_dimm_ddr4()
2710 if (umc->umc_fdata->zufd_umc_style == ZEN_UMC_UMC_S_DDR4) { in zen_umc_fill_chan_dimm_ddr4()
2719 dev_err(umc->umc_dip, CE_WARN, "failed to read bank address " in zen_umc_fill_chan_dimm_ddr4()
2744 dev_err(umc->umc_dip, CE_WARN, "failed to read column address " in zen_umc_fill_chan_dimm_ddr4()
2755 dev_err(umc->umc_dip, CE_WARN, "failed to read column address " in zen_umc_fill_chan_dimm_ddr4()
2774 dev_err(umc->umc_dip, CE_WARN, "failed to read rank address " in zen_umc_fill_chan_dimm_ddr4()
2790 dev_err(umc->umc_dip, CE_WARN, "failed to read secondary rank " in zen_umc_fill_chan_dimm_ddr4()
2805 return (zen_umc_fill_dimm_common(umc, df, chan, dimmno, B_TRUE)); in zen_umc_fill_chan_dimm_ddr4()
2814 zen_umc_fill_chan_rank_ddr5(zen_umc_t *umc, zen_umc_df_t *df, in zen_umc_fill_chan_rank_ddr5() argument
2830 dev_err(umc->umc_dip, CE_WARN, "failed to read base " in zen_umc_fill_chan_rank_ddr5()
2837 if ((umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_UMC_EADDR) != 0) { in zen_umc_fill_chan_rank_ddr5()
2843 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_rank_ddr5()
2856 dev_err(umc->umc_dip, CE_WARN, "failed to read secondary base " in zen_umc_fill_chan_rank_ddr5()
2863 if ((umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_UMC_EADDR) != 0) { in zen_umc_fill_chan_rank_ddr5()
2869 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_rank_ddr5()
2886 dev_err(umc->umc_dip, CE_WARN, "failed to read mask " in zen_umc_fill_chan_rank_ddr5()
2893 if ((umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_UMC_EADDR) != 0) { in zen_umc_fill_chan_rank_ddr5()
2899 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_rank_ddr5()
2913 dev_err(umc->umc_dip, CE_WARN, "failed to read secondary mask " in zen_umc_fill_chan_rank_ddr5()
2920 if ((umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_UMC_EADDR) != 0) { in zen_umc_fill_chan_rank_ddr5()
2926 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_rank_ddr5()
2939 dev_err(umc->umc_dip, CE_WARN, "failed to read address config " in zen_umc_fill_chan_rank_ddr5()
2943 if ((umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_CS_XOR) != 0) { in zen_umc_fill_chan_rank_ddr5()
2960 dev_err(umc->umc_dip, CE_WARN, "failed to read address select " in zen_umc_fill_chan_rank_ddr5()
2980 dev_err(umc->umc_dip, CE_WARN, "failed to read column address " in zen_umc_fill_chan_rank_ddr5()
2991 dev_err(umc->umc_dip, CE_WARN, "failed to read column address " in zen_umc_fill_chan_rank_ddr5()
3008 dev_err(umc->umc_dip, CE_WARN, "failed to read rank multiply " in zen_umc_fill_chan_rank_ddr5()
3030 return (zen_umc_fill_dimm_common(umc, df, chan, dimmno, B_FALSE)); in zen_umc_fill_chan_rank_ddr5()
3034 zen_umc_fill_ddr_type(zen_umc_t *umc, zen_umc_chan_t *chan) in zen_umc_fill_ddr_type() argument
3048 switch (umc->umc_fdata->zufd_umc_style) { in zen_umc_fill_ddr_type()
3159 zen_umc_fill_chan_freq(zen_umc_t *umc, zen_umc_chan_t *chan, uint_t mstate) in zen_umc_fill_chan_freq() argument
3164 switch (umc->umc_fdata->zufd_umc_style) { in zen_umc_fill_chan_freq()
3207 zen_umc_fill_chan_hash(zen_umc_t *umc, zen_umc_df_t *df, zen_umc_chan_t *chan, in zen_umc_fill_chan_hash() argument
3214 const umc_chan_hash_flags_t flags = umc->umc_fdata->zufd_chan_hash; in zen_umc_fill_chan_hash()
3231 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_hash()
3256 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_hash()
3266 if (ddr4 || (umc->umc_fdata->zufd_flags & in zen_umc_fill_chan_hash()
3274 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_hash()
3296 dev_err(umc->umc_dip, CE_WARN, "failed to read pc hash " in zen_umc_fill_chan_hash()
3312 dev_err(umc->umc_dip, CE_WARN, "failed to read pc hash " in zen_umc_fill_chan_hash()
3333 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_hash()
3342 if (ddr4 || (umc->umc_fdata->zufd_flags & in zen_umc_fill_chan_hash()
3350 dev_err(umc->umc_dip, CE_WARN, "failed to read " in zen_umc_fill_chan_hash()
3369 zen_umc_fill_chan(zen_umc_t *umc, zen_umc_df_t *df, zen_umc_chan_t *chan) in zen_umc_fill_chan() argument
3377 if (umc->umc_fdata->zufd_umc_style == ZEN_UMC_UMC_S_DDR4 || in zen_umc_fill_chan()
3378 umc->umc_fdata->zufd_umc_style == ZEN_UMC_UMC_S_DDR4_APU) { in zen_umc_fill_chan()
3389 if (!zen_umc_fill_chan_hash(umc, df, chan, ddr4)) { in zen_umc_fill_chan()
3395 dev_err(umc->umc_dip, CE_WARN, "failed to read UMC " in zen_umc_fill_chan()
3419 zen_umc_fill_ddr_type(umc, chan); in zen_umc_fill_chan()
3426 dev_err(umc->umc_dip, CE_WARN, "failed to read DRAM " in zen_umc_fill_chan()
3433 zen_umc_fill_chan_freq(umc, chan, i); in zen_umc_fill_chan()
3442 dev_err(umc->umc_dip, CE_WARN, "failed to read data control " in zen_umc_fill_chan()
3463 dev_err(umc->umc_dip, CE_WARN, "failed to read ECC control " in zen_umc_fill_chan()
3475 dev_err(umc->umc_dip, CE_WARN, "failed to read UMC cap" in zen_umc_fill_chan()
3483 dev_err(umc->umc_dip, CE_WARN, "failed to read UMC cap high " in zen_umc_fill_chan()
3496 zen_umc_t *umc = arg; in zen_umc_fill_umc_cb() local
3497 zen_umc_df_t *df = &umc->umc_dfs[dfno]; in zen_umc_fill_umc_cb()
3537 chan->chan_logid = instid - umc->umc_fdata->zufd_base_instid; in zen_umc_fill_umc_cb()
3540 chan->chan_nrules = umc->umc_fdata->zufd_cs_nrules; in zen_umc_fill_umc_cb()
3541 for (uint_t i = 0; i < umc->umc_fdata->zufd_cs_nrules; i++) { in zen_umc_fill_umc_cb()
3542 if (zen_umc_read_dram_rule(umc, dfno, instid, i, in zen_umc_fill_umc_cb()
3548 for (uint_t i = 0; i < umc->umc_fdata->zufd_cs_nrules - 1; i++) { in zen_umc_fill_umc_cb()
3555 switch (umc->umc_df_rev) { in zen_umc_fill_umc_cb()
3567 dev_err(umc->umc_dip, CE_WARN, "!encountered " in zen_umc_fill_umc_cb()
3569 "0x%x", umc->umc_df_rev); in zen_umc_fill_umc_cb()
3575 dev_err(umc->umc_dip, CE_WARN, "!failed to read DRAM " in zen_umc_fill_umc_cb()
3583 switch (umc->umc_df_rev) { in zen_umc_fill_umc_cb()
3596 dev_err(umc->umc_dip, CE_WARN, "!encountered " in zen_umc_fill_umc_cb()
3598 "0x%x", umc->umc_df_rev); in zen_umc_fill_umc_cb()
3610 if ((umc->umc_fdata->zufd_flags & ZEN_UMC_FAM_F_NP2) != 0) { in zen_umc_fill_umc_cb()
3616 dev_err(umc->umc_dip, CE_WARN, "!failed to read NP2 " in zen_umc_fill_umc_cb()
3630 switch (umc->umc_fdata->zufd_umc_style) { in zen_umc_fill_umc_cb()
3634 if (!zen_umc_fill_chan_dimm_ddr4(umc, df, chan, i)) { in zen_umc_fill_umc_cb()
3644 if (!zen_umc_fill_chan_rank_ddr5(umc, df, chan, in zen_umc_fill_umc_cb()
3652 dev_err(umc->umc_dip, CE_WARN, "!encountered unsupported " in zen_umc_fill_umc_cb()
3653 "Zen family: 0x%x", umc->umc_fdata->zufd_umc_style); in zen_umc_fill_umc_cb()
3657 if (!zen_umc_fill_chan(umc, df, chan)) { in zen_umc_fill_umc_cb()
3671 zen_umc_t *umc = zen_umc; in zen_umc_open() local
3681 if (getminor(*devp) >= umc->umc_ndfs) { in zen_umc_open()
3689 zen_umc_ioctl_decode(zen_umc_t *umc, mc_encode_ioc_t *encode) in zen_umc_ioctl_decode() argument
3695 if (!zen_umc_decode_pa(umc, encode->mcei_pa, &dec)) { in zen_umc_ioctl_decode()
3706 zen_fabric_id_decompose(&umc->umc_decomp, dec.dec_targ_fabid, &sock, in zen_umc_ioctl_decode()
3729 umc_decoder_pack(zen_umc_t *umc) in umc_decoder_pack() argument
3734 ASSERT(MUTEX_HELD(&umc->umc_nvl_lock)); in umc_decoder_pack()
3735 if (umc->umc_decoder_buf != NULL) { in umc_decoder_pack()
3739 if (umc->umc_decoder_nvl == NULL) { in umc_decoder_pack()
3740 umc->umc_decoder_nvl = zen_umc_dump_decoder(umc); in umc_decoder_pack()
3741 if (umc->umc_decoder_nvl == NULL) { in umc_decoder_pack()
3746 if (nvlist_pack(umc->umc_decoder_nvl, &buf, &len, NV_ENCODE_XDR, in umc_decoder_pack()
3751 umc->umc_decoder_buf = buf; in umc_decoder_pack()
3752 umc->umc_decoder_len = len; in umc_decoder_pack()
3760 zen_umc_t *umc = zen_umc; in zen_umc_ioctl() local
3764 if (getminor(dev) >= umc->umc_ndfs) { in zen_umc_ioctl()
3782 zen_umc_ioctl_decode(umc, &encode); in zen_umc_ioctl()
3792 mutex_enter(&umc->umc_nvl_lock); in zen_umc_ioctl()
3793 umc_decoder_pack(umc); in zen_umc_ioctl()
3795 if (umc->umc_decoder_buf == NULL) { in zen_umc_ioctl()
3796 mutex_exit(&umc->umc_nvl_lock); in zen_umc_ioctl()
3801 if (umc->umc_decoder_len > UINT32_MAX) { in zen_umc_ioctl()
3802 mutex_exit(&umc->umc_nvl_lock); in zen_umc_ioctl()
3807 info.mcs_size = umc->umc_decoder_len; in zen_umc_ioctl()
3811 mutex_exit(&umc->umc_nvl_lock); in zen_umc_ioctl()
3816 mutex_exit(&umc->umc_nvl_lock); in zen_umc_ioctl()
3820 mutex_enter(&umc->umc_nvl_lock); in zen_umc_ioctl()
3821 umc_decoder_pack(umc); in zen_umc_ioctl()
3823 if (umc->umc_decoder_buf == NULL) { in zen_umc_ioctl()
3824 mutex_exit(&umc->umc_nvl_lock); in zen_umc_ioctl()
3829 if (ddi_copyout(umc->umc_decoder_buf, (void *)arg, in zen_umc_ioctl()
3830 umc->umc_decoder_len, mode & FKIOCTL) != 0) { in zen_umc_ioctl()
3831 mutex_exit(&umc->umc_nvl_lock); in zen_umc_ioctl()
3836 mutex_exit(&umc->umc_nvl_lock); in zen_umc_ioctl()
3854 zen_umc_cleanup(zen_umc_t *umc) in zen_umc_cleanup() argument
3856 nvlist_free(umc->umc_decoder_nvl); in zen_umc_cleanup()
3857 umc->umc_decoder_nvl = NULL; in zen_umc_cleanup()
3858 if (umc->umc_decoder_buf != NULL) { in zen_umc_cleanup()
3859 kmem_free(umc->umc_decoder_buf, umc->umc_decoder_len); in zen_umc_cleanup()
3860 umc->umc_decoder_buf = NULL; in zen_umc_cleanup()
3861 umc->umc_decoder_len = 0; in zen_umc_cleanup()
3864 if (umc->umc_dip != NULL) { in zen_umc_cleanup()
3865 ddi_remove_minor_node(umc->umc_dip, NULL); in zen_umc_cleanup()
3867 mutex_destroy(&umc->umc_nvl_lock); in zen_umc_cleanup()
3868 kmem_free(umc, sizeof (zen_umc_t)); in zen_umc_cleanup()
3875 zen_umc_t *umc; in zen_umc_attach() local
3902 umc = kmem_zalloc(sizeof (zen_umc_t), KM_SLEEP); in zen_umc_attach()
3903 mutex_init(&umc->umc_nvl_lock, NULL, MUTEX_DRIVER, NULL); in zen_umc_attach()
3904 umc->umc_family = chiprev_family(cpuid_getchiprev(CPU)); in zen_umc_attach()
3905 umc->umc_ndfs = amdzen_c_df_count(); in zen_umc_attach()
3906 umc->umc_dip = dip; in zen_umc_attach()
3908 if (!zen_umc_identify(umc)) { in zen_umc_attach()
3913 umc->umc_df_rev = amdzen_c_df_rev(); in zen_umc_attach()
3914 switch (umc->umc_df_rev) { in zen_umc_attach()
3923 umc->umc_df_rev); in zen_umc_attach()
3927 if ((ret = amdzen_c_df_fabric_decomp(&umc->umc_decomp)) != 0) { in zen_umc_attach()
3932 umc->umc_tom = rdmsr(MSR_AMD_TOM); in zen_umc_attach()
3933 umc->umc_tom2 = rdmsr(MSR_AMD_TOM2); in zen_umc_attach()
3941 for (uint_t i = 0; i < umc->umc_ndfs; i++) { in zen_umc_attach()
3943 zen_umc_fill_ccm_cb, umc) < 0 || in zen_umc_attach()
3945 umc) != 0) { in zen_umc_attach()
3953 for (uint_t i = 0; i < umc->umc_ndfs; i++) { in zen_umc_attach()
3958 if ((ret = ddi_create_minor_node(umc->umc_dip, minor, S_IFCHR, in zen_umc_attach()
3966 zen_umc = umc; in zen_umc_attach()
3970 zen_umc_cleanup(umc); in zen_umc_attach()
3977 zen_umc_t *umc; in zen_umc_getinfo() local
3982 umc = zen_umc; in zen_umc_getinfo()
3986 *resultp = (void *)umc->umc_dip; in zen_umc_getinfo()
3990 umc->umc_dip); in zen_umc_getinfo()
4001 zen_umc_t *umc; in zen_umc_detach() local
4015 umc = zen_umc; in zen_umc_detach()
4017 zen_umc_cleanup(umc); in zen_umc_detach()