Lines Matching refs:srh
159 dr_sr_handle_t *srh; in dr_get_sr_handle() local
161 srh = GETSTRUCT(dr_sr_handle_t, 1); in dr_get_sr_handle()
162 srh->sr_dr_handlep = hp; in dr_get_sr_handle()
164 return (srh); in dr_get_sr_handle()
168 dr_release_sr_handle(dr_sr_handle_t *srh) in dr_release_sr_handle() argument
170 ASSERT(srh->sr_failed_dip == NULL); in dr_release_sr_handle()
171 FREESTRUCT(srh, dr_sr_handle_t, 1); in dr_release_sr_handle()
348 dr_suspend_devices(dev_info_t *dip, dr_sr_handle_t *srh) in dr_suspend_devices() argument
363 if (dr_suspend_devices(ddi_get_child(dip), srh)) { in dr_suspend_devices()
408 srh->sr_err_idx = dr_add_int(srh->sr_err_ints, in dr_suspend_devices()
409 srh->sr_err_idx, DR_MAX_ERR_INT, (uint64_t)major); in dr_suspend_devices()
412 srh->sr_failed_dip = dip; in dr_suspend_devices()
414 handle = srh->sr_dr_handlep; in dr_suspend_devices()
426 dr_resume_devices(dev_info_t *start, dr_sr_handle_t *srh) in dr_resume_devices() argument
439 while (next != last && dip != srh->sr_failed_dip) { in dr_resume_devices()
443 if (dip == srh->sr_failed_dip) { in dr_resume_devices()
445 srh->sr_failed_dip = NULL; in dr_resume_devices()
448 srh->sr_failed_dip == NULL) { in dr_resume_devices()
489 srh->sr_err_idx = in dr_resume_devices()
490 dr_add_int(srh->sr_err_ints, in dr_resume_devices()
491 srh->sr_err_idx, DR_MAX_ERR_INT, in dr_resume_devices()
494 handle = srh->sr_dr_handlep; in dr_resume_devices()
505 dr_resume_devices(ddi_get_child(dip), srh); in dr_resume_devices()
525 dr_stop_user_threads(dr_sr_handle_t *srh) in dr_stop_user_threads() argument
529 dr_handle_t *handle = srh->sr_dr_handlep; in dr_stop_user_threads()
546 srh->sr_err_idx = 0; in dr_stop_user_threads()
618 srh->sr_err_idx = in dr_stop_user_threads()
619 dr_add_int(srh->sr_err_ints, in dr_stop_user_threads()
620 srh->sr_err_idx, DR_MAX_ERR_INT, in dr_stop_user_threads()
649 handle->h_err = drerr_int(ESBD_UTHREAD, srh->sr_err_ints, in dr_stop_user_threads()
650 srh->sr_err_idx, 0); in dr_stop_user_threads()
713 dr_resume(dr_sr_handle_t *srh) in dr_resume() argument
715 switch (srh->sr_suspend_state) { in dr_resume()
747 srh->sr_err_idx = 0; in dr_resume()
750 dr_resume_devices(ddi_root_node(), srh); in dr_resume()
752 if (srh->sr_err_idx && srh->sr_dr_handlep) { in dr_resume()
753 (srh->sr_dr_handlep)->h_err = drerr_int(ESBD_RESUME, in dr_resume()
754 srh->sr_err_ints, srh->sr_err_idx, 1); in dr_resume()
788 dr_suspend(dr_sr_handle_t *srh) in dr_suspend() argument
796 handle = srh->sr_dr_handlep; in dr_suspend()
801 srh->sr_suspend_state = DR_SRSTATE_USER; in dr_suspend()
802 if (((rc = dr_stop_user_threads(srh)) != DDI_SUCCESS) && in dr_suspend()
804 dr_resume(srh); in dr_suspend()
826 dr_resume(srh); in dr_suspend()
857 srh->sr_suspend_state = DR_SRSTATE_DRIVER; in dr_suspend()
858 srh->sr_err_idx = 0; in dr_suspend()
860 if ((rc = dr_suspend_devices(ddi_root_node(), srh)) != DDI_SUCCESS) { in dr_suspend()
861 if (srh->sr_err_idx && srh->sr_dr_handlep) { in dr_suspend()
862 (srh->sr_dr_handlep)->h_err = drerr_int(ESBD_SUSPEND, in dr_suspend()
863 srh->sr_err_ints, srh->sr_err_idx, 1); in dr_suspend()
865 dr_resume(srh); in dr_suspend()
874 srh->sr_suspend_state = DR_SRSTATE_FULL; in dr_suspend()
886 dr_sr_handle_t *srh; in dr_pt_test_suspend() local
893 srh = dr_get_sr_handle(hp); in dr_pt_test_suspend()
894 if ((err = dr_suspend(srh)) == DDI_SUCCESS) { in dr_pt_test_suspend()
895 dr_resume(srh); in dr_pt_test_suspend()
954 dr_release_sr_handle(srh); in dr_pt_test_suspend()