Lines Matching refs:srh

160 	dr_sr_handle_t *srh;  in dr_get_sr_handle()  local
162 srh = GETSTRUCT(dr_sr_handle_t, 1); in dr_get_sr_handle()
163 srh->sr_dr_handlep = hp; in dr_get_sr_handle()
165 return (srh); in dr_get_sr_handle()
169 dr_release_sr_handle(dr_sr_handle_t *srh) in dr_release_sr_handle() argument
171 ASSERT(srh->sr_failed_dip == NULL); in dr_release_sr_handle()
172 FREESTRUCT(srh, dr_sr_handle_t, 1); in dr_release_sr_handle()
349 dr_suspend_devices(dev_info_t *dip, dr_sr_handle_t *srh) in dr_suspend_devices() argument
364 if (dr_suspend_devices(ddi_get_child(dip), srh)) { in dr_suspend_devices()
409 srh->sr_err_idx = dr_add_int(srh->sr_err_ints, in dr_suspend_devices()
410 srh->sr_err_idx, DR_MAX_ERR_INT, (uint64_t)major); in dr_suspend_devices()
413 srh->sr_failed_dip = dip; in dr_suspend_devices()
415 handle = srh->sr_dr_handlep; in dr_suspend_devices()
427 dr_resume_devices(dev_info_t *start, dr_sr_handle_t *srh) in dr_resume_devices() argument
440 while (next != last && dip != srh->sr_failed_dip) { in dr_resume_devices()
444 if (dip == srh->sr_failed_dip) { in dr_resume_devices()
446 srh->sr_failed_dip = NULL; in dr_resume_devices()
449 srh->sr_failed_dip == NULL) { in dr_resume_devices()
490 srh->sr_err_idx = in dr_resume_devices()
491 dr_add_int(srh->sr_err_ints, in dr_resume_devices()
492 srh->sr_err_idx, DR_MAX_ERR_INT, in dr_resume_devices()
495 handle = srh->sr_dr_handlep; in dr_resume_devices()
506 dr_resume_devices(ddi_get_child(dip), srh); in dr_resume_devices()
526 dr_stop_user_threads(dr_sr_handle_t *srh) in dr_stop_user_threads() argument
530 dr_handle_t *handle = srh->sr_dr_handlep; in dr_stop_user_threads()
547 srh->sr_err_idx = 0; in dr_stop_user_threads()
619 srh->sr_err_idx = in dr_stop_user_threads()
620 dr_add_int(srh->sr_err_ints, in dr_stop_user_threads()
621 srh->sr_err_idx, DR_MAX_ERR_INT, in dr_stop_user_threads()
650 handle->h_err = drerr_int(ESBD_UTHREAD, srh->sr_err_ints, in dr_stop_user_threads()
651 srh->sr_err_idx, 0); in dr_stop_user_threads()
714 dr_resume(dr_sr_handle_t *srh) in dr_resume() argument
716 if (srh->sr_suspend_state < DR_SRSTATE_FULL) { in dr_resume()
726 switch (srh->sr_suspend_state) { in dr_resume()
758 if (srh->sr_flags & (SR_FLAG_WATCHDOG)) { in dr_resume()
779 srh->sr_err_idx = 0; in dr_resume()
782 dr_resume_devices(ddi_root_node(), srh); in dr_resume()
784 if (srh->sr_err_idx && srh->sr_dr_handlep) { in dr_resume()
785 (srh->sr_dr_handlep)->h_err = drerr_int(ESBD_RESUME, in dr_resume()
786 srh->sr_err_ints, srh->sr_err_idx, 1); in dr_resume()
825 dr_suspend(dr_sr_handle_t *srh) in dr_suspend() argument
833 handle = srh->sr_dr_handlep; in dr_suspend()
844 srh->sr_suspend_state = DR_SRSTATE_USER; in dr_suspend()
845 if (((rc = dr_stop_user_threads(srh)) != DDI_SUCCESS) && in dr_suspend()
847 dr_resume(srh); in dr_suspend()
869 dr_resume(srh); in dr_suspend()
900 srh->sr_suspend_state = DR_SRSTATE_DRIVER; in dr_suspend()
901 srh->sr_err_idx = 0; in dr_suspend()
903 if ((rc = dr_suspend_devices(ddi_root_node(), srh)) != DDI_SUCCESS) { in dr_suspend()
904 if (srh->sr_err_idx && srh->sr_dr_handlep) { in dr_suspend()
905 (srh->sr_dr_handlep)->h_err = drerr_int(ESBD_SUSPEND, in dr_suspend()
906 srh->sr_err_ints, srh->sr_err_idx, 1); in dr_suspend()
908 dr_resume(srh); in dr_suspend()
917 srh->sr_suspend_state = DR_SRSTATE_FULL; in dr_suspend()
926 srh->sr_flags |= SR_FLAG_WATCHDOG; in dr_suspend()
928 srh->sr_flags &= ~(SR_FLAG_WATCHDOG); in dr_suspend()
949 dr_sr_handle_t *srh; in dr_pt_test_suspend() local
956 srh = dr_get_sr_handle(hp); in dr_pt_test_suspend()
957 if ((err = dr_suspend(srh)) == DDI_SUCCESS) { in dr_pt_test_suspend()
958 dr_resume(srh); in dr_pt_test_suspend()
1017 dr_release_sr_handle(srh); in dr_pt_test_suspend()