Lines Matching refs:wd_ops
32 struct wd_ops { struct
43 static const struct wd_ops *wd_ops; argument
196 if (wd_ops) in disable_lapic_nmi_watchdog()
197 wd_ops->unreserve(); in disable_lapic_nmi_watchdog()
211 if (!wd_ops) in enable_lapic_nmi_watchdog()
213 if (!wd_ops->reserve()) { in enable_lapic_nmi_watchdog()
287 perfctr_msr = wd_ops->perfctr; in setup_k7_watchdog()
288 evntsel_msr = wd_ops->evntsel; in setup_k7_watchdog()
325 if (!reserve_perfctr_nmi(wd_ops->perfctr)) in single_msr_reserve()
328 if (!reserve_evntsel_nmi(wd_ops->evntsel)) { in single_msr_reserve()
329 release_perfctr_nmi(wd_ops->perfctr); in single_msr_reserve()
337 release_evntsel_nmi(wd_ops->evntsel); in single_msr_unreserve()
338 release_perfctr_nmi(wd_ops->perfctr); in single_msr_unreserve()
348 static const struct wd_ops k7_wd_ops = {
375 perfctr_msr = wd_ops->perfctr; in setup_p6_watchdog()
376 evntsel_msr = wd_ops->evntsel; in setup_p6_watchdog()
421 static const struct wd_ops p6_wd_ops = {
629 static const struct wd_ops p4_wd_ops = {
648 static struct wd_ops intel_arch_wd_ops;
669 perfctr_msr = wd_ops->perfctr; in setup_intel_arch_watchdog()
670 evntsel_msr = wd_ops->evntsel; in setup_intel_arch_watchdog()
699 static struct wd_ops intel_arch_wd_ops __read_mostly = {
716 wd_ops = &k7_wd_ops; in probe_nmi_watchdog()
728 wd_ops = &intel_arch_wd_ops; in probe_nmi_watchdog()
736 wd_ops = &p6_wd_ops; in probe_nmi_watchdog()
739 wd_ops = &p4_wd_ops; in probe_nmi_watchdog()
752 if (!wd_ops) { in lapic_watchdog_init()
754 if (!wd_ops) { in lapic_watchdog_init()
759 if (!wd_ops->reserve()) { in lapic_watchdog_init()
766 if (!(wd_ops->setup(nmi_hz))) { in lapic_watchdog_init()
777 if (wd_ops) in lapic_watchdog_stop()
778 wd_ops->stop(); in lapic_watchdog_stop()
796 if (ctr & wd_ops->checkbit) /* perfctr still running? */ in lapic_wd_event()
799 wd_ops->rearm(wd, nmi_hz); in lapic_wd_event()
805 return wd_ops != NULL; in lapic_watchdog_ok()