Lines Matching refs:ufmh
180 ufm_driver_ready(ddi_ufm_handle_t *ufmh) in ufm_driver_ready() argument
182 VERIFY(ufmh != NULL); in ufm_driver_ready()
184 if (ufmh->ufmh_state & DDI_UFM_STATE_SHUTTING_DOWN || in ufm_driver_ready()
185 !(ufmh->ufmh_state & DDI_UFM_STATE_READY)) { in ufm_driver_ready()
194 ddi_ufm_handle_t *ufmh; in ufm_do_getcaps() local
211 if ((ufmh = ufm_find(devpath)) == NULL) { in ufm_do_getcaps()
215 ASSERT(MUTEX_HELD(&ufmh->ufmh_lock)); in ufm_do_getcaps()
217 if (!ufm_driver_ready(ufmh)) { in ufm_do_getcaps()
219 mutex_exit(&ufmh->ufmh_lock); in ufm_do_getcaps()
223 if (ugc.ufmg_version != ufmh->ufmh_version) { in ufm_do_getcaps()
225 mutex_exit(&ufmh->ufmh_lock); in ufm_do_getcaps()
229 if ((ret = ufm_cache_fill(ufmh)) != 0) { in ufm_do_getcaps()
231 mutex_exit(&ufmh->ufmh_lock); in ufm_do_getcaps()
235 ret = ufmh->ufmh_ops->ddi_ufm_op_getcaps(ufmh, ufmh->ufmh_arg, &caps); in ufm_do_getcaps()
236 mutex_exit(&ufmh->ufmh_lock); in ufm_do_getcaps()
254 ddi_ufm_handle_t *ufmh; in ufm_do_reportsz() local
293 if ((ufmh = ufm_find(devpath)) == NULL) { in ufm_do_reportsz()
297 ASSERT(MUTEX_HELD(&ufmh->ufmh_lock)); in ufm_do_reportsz()
299 if (!ufm_driver_ready(ufmh)) { in ufm_do_reportsz()
301 mutex_exit(&ufmh->ufmh_lock); in ufm_do_reportsz()
305 if (ufbz.ufbz_version != ufmh->ufmh_version) { in ufm_do_reportsz()
307 mutex_exit(&ufmh->ufmh_lock); in ufm_do_reportsz()
316 if ((ret = ufm_cache_fill(ufmh)) != 0) { in ufm_do_reportsz()
318 mutex_exit(&ufmh->ufmh_lock); in ufm_do_reportsz()
323 ret = nvlist_size(ufmh->ufmh_report, &sz, NV_ENCODE_NATIVE); in ufm_do_reportsz()
324 mutex_exit(&ufmh->ufmh_lock); in ufm_do_reportsz()
350 ddi_ufm_handle_t *ufmh; in ufm_do_report() local
392 if ((ufmh = ufm_find(devpath)) == NULL) { in ufm_do_report()
396 ASSERT(MUTEX_HELD(&ufmh->ufmh_lock)); in ufm_do_report()
398 if (!ufm_driver_ready(ufmh)) { in ufm_do_report()
400 mutex_exit(&ufmh->ufmh_lock); in ufm_do_report()
404 if (ufmr.ufmr_version != ufmh->ufmh_version) { in ufm_do_report()
406 mutex_exit(&ufmh->ufmh_lock); in ufm_do_report()
415 if ((ret = ufm_cache_fill(ufmh)) != 0) { in ufm_do_report()
417 mutex_exit(&ufmh->ufmh_lock); in ufm_do_report()
422 if ((ret = nvlist_size(ufmh->ufmh_report, &sz, NV_ENCODE_NATIVE)) != in ufm_do_report()
424 mutex_exit(&ufmh->ufmh_lock); in ufm_do_report()
428 mutex_exit(&ufmh->ufmh_lock); in ufm_do_report()
432 buf = fnvlist_pack(ufmh->ufmh_report, &sz); in ufm_do_report()
433 mutex_exit(&ufmh->ufmh_lock); in ufm_do_report()
468 ddi_ufm_handle_t *ufmh; in ufm_do_readimg() local
509 if ((ufmh = ufm_find(devpath)) == NULL) { in ufm_do_readimg()
513 ASSERT(MUTEX_HELD(&ufmh->ufmh_lock)); in ufm_do_readimg()
515 if (!ufm_driver_ready(ufmh)) { in ufm_do_readimg()
520 if (ufri.ufri_version != ufmh->ufmh_version) { in ufm_do_readimg()
525 ret = ufm_read_img(ufmh, ufri.ufri_imageno, ufri.ufri_slotno, in ufm_do_readimg()
530 mutex_exit(&ufmh->ufmh_lock); in ufm_do_readimg()