Lines Matching refs:ntwdt_state

141 static void ntwdt_arm_watchdog(ntwdt_runstate_t *ntwdt_state);
474 ntwdt_runstate_t *ntwdt_state; in ntwdt_ioctl() local
483 ntwdt_state = ntwdt_ptr->ntwdt_run_state; in ntwdt_ioctl()
487 mutex_enter(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
488 lom_dogstate.reset_enable = ntwdt_state->ntwdt_reset_enabled; in ntwdt_ioctl()
489 lom_dogstate.dog_enable = ntwdt_state->ntwdt_watchdog_enabled; in ntwdt_ioctl()
490 lom_dogstate.dog_timeout = ntwdt_state->ntwdt_watchdog_timeout; in ntwdt_ioctl()
491 mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
509 ntwdt_state->ntwdt_watchdog_timeout)); in ntwdt_ioctl()
522 mutex_enter(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
524 if (ntwdt_state->ntwdt_watchdog_timeout == 0) { in ntwdt_ioctl()
531 ntwdt_state->ntwdt_watchdog_timeout)); in ntwdt_ioctl()
539 ntwdt_state->ntwdt_reset_enabled = lom_dogctl.reset_enable; in ntwdt_ioctl()
540 ntwdt_state->ntwdt_watchdog_enabled = lom_dogctl.dog_enable; in ntwdt_ioctl()
542 if (ntwdt_state->ntwdt_watchdog_enabled != 0) { in ntwdt_ioctl()
547 ntwdt_arm_watchdog(ntwdt_state); in ntwdt_ioctl()
549 if (ntwdt_state->ntwdt_timer_running == 0) { in ntwdt_ioctl()
558 if (ntwdt_state->ntwdt_timer_running != 0) { in ntwdt_ioctl()
564 mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
588 mutex_enter(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
590 ntwdt_state->ntwdt_watchdog_timeout = lom_dogtime; in ntwdt_ioctl()
596 if (ntwdt_state->ntwdt_timer_running != 0) { in ntwdt_ioctl()
597 ntwdt_arm_watchdog(ntwdt_state); in ntwdt_ioctl()
599 mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
607 mutex_enter(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
613 if (!(ntwdt_state->ntwdt_watchdog_enabled && in ntwdt_ioctl()
614 ntwdt_state->ntwdt_timer_running)) { in ntwdt_ioctl()
619 if (ntwdt_state->ntwdt_watchdog_expired == 0) { in ntwdt_ioctl()
623 ntwdt_arm_watchdog(ntwdt_state); in ntwdt_ioctl()
626 ntwdt_state->ntwdt_time_remaining)); in ntwdt_ioctl()
629 mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
638 mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_ioctl()
653 ntwdt_runstate_t *ntwdt_state; in ntwdt_cyclic_softint() local
655 ntwdt_state = ntwdt_ptr->ntwdt_run_state; in ntwdt_cyclic_softint()
657 mutex_enter(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_cyclic_softint()
659 if ((ntwdt_state->ntwdt_watchdog_flags & NTWDT_FLAG_SKIP_CYCLIC) != 0) { in ntwdt_cyclic_softint()
660 ntwdt_state->ntwdt_watchdog_flags &= ~NTWDT_FLAG_SKIP_CYCLIC; in ntwdt_cyclic_softint()
664 if ((ntwdt_state->ntwdt_timer_running == 0) || in ntwdt_cyclic_softint()
666 (ntwdt_state->ntwdt_watchdog_enabled == 0)) { in ntwdt_cyclic_softint()
671 "ddi_get_lbolt64(): %d\n", ntwdt_state->ntwdt_watchdog_timeout, in ntwdt_cyclic_softint()
677 ntwdt_state->ntwdt_time_remaining -= NTWDT_DECREMENT_INTERVAL; in ntwdt_cyclic_softint()
679 if (ntwdt_state->ntwdt_time_remaining == 0) { in ntwdt_cyclic_softint()
681 ntwdt_state->ntwdt_watchdog_expired = 1; in ntwdt_cyclic_softint()
683 if (ntwdt_state->ntwdt_reset_enabled != 0) { in ntwdt_cyclic_softint()
687 mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_cyclic_softint()
693 ntwdt_state->ntwdt_watchdog_enabled = 0; in ntwdt_cyclic_softint()
703 (int)TICK_TO_MSEC(ntwdt_state->ntwdt_time_remaining))); in ntwdt_cyclic_softint()
707 mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); in ntwdt_cyclic_softint()
712 ntwdt_arm_watchdog(ntwdt_runstate_t *ntwdt_state) in ntwdt_arm_watchdog() argument
714 ntwdt_state->ntwdt_time_remaining = ntwdt_state->ntwdt_watchdog_timeout; in ntwdt_arm_watchdog()
716 if (ntwdt_state->ntwdt_timer_running != 0) { in ntwdt_arm_watchdog()
717 ntwdt_state->ntwdt_watchdog_flags |= NTWDT_FLAG_SKIP_CYCLIC; in ntwdt_arm_watchdog()
719 ntwdt_state->ntwdt_watchdog_flags &= ~NTWDT_FLAG_SKIP_CYCLIC; in ntwdt_arm_watchdog()
726 ntwdt_runstate_t *ntwdt_state = ntwdt_ptr->ntwdt_run_state; in ntwdt_start_timer() local
727 cyc_handler_t *hdlr = &ntwdt_state->ntwdt_cycl_hdlr; in ntwdt_start_timer()
728 cyc_time_t *when = &ntwdt_state->ntwdt_cycl_time; in ntwdt_start_timer()
733 when->cyt_interval = ntwdt_state->ntwdt_cyclic_interval; in ntwdt_start_timer()
736 ntwdt_state->ntwdt_watchdog_expired = 0; in ntwdt_start_timer()
737 ntwdt_state->ntwdt_timer_running = 1; in ntwdt_start_timer()
752 ntwdt_runstate_t *ntwdt_state = ntwdt_ptr->ntwdt_run_state; in ntwdt_stop_timer() local
760 ntwdt_state->ntwdt_watchdog_flags = 0; in ntwdt_stop_timer()
761 ntwdt_state->ntwdt_timer_running = 0; in ntwdt_stop_timer()