Lines Matching refs:watchdog_device

95 static struct intel_scu_watchdog_dev watchdog_device;  variable
158 int_status = ioread32(watchdog_device.timer_interrupt_status_addr); in watchdog_timer_interrupt()
166 if (watchdog_device.timer_started == 0) { in watchdog_timer_interrupt()
172 iowrite32(0x00000002, watchdog_device.timer_control_addr); in watchdog_timer_interrupt()
175 iowrite32(watchdog_device.threshold, in watchdog_timer_interrupt()
176 watchdog_device.timer_load_count_addr); in watchdog_timer_interrupt()
179 iowrite32(0x00000003, watchdog_device.timer_control_addr); in watchdog_timer_interrupt()
188 ioread32(watchdog_device.timer_clear_interrupt_addr); in intel_scu_keepalive()
191 iowrite32(0x00000002, watchdog_device.timer_control_addr); in intel_scu_keepalive()
194 iowrite32(watchdog_device.soft_threshold, in intel_scu_keepalive()
195 watchdog_device.timer_load_count_addr); in intel_scu_keepalive()
198 iowrite32(0x00000003, watchdog_device.timer_control_addr); in intel_scu_keepalive()
205 iowrite32(0, watchdog_device.timer_control_addr); in intel_scu_stop()
216 watchdog_device.timer_set = t; in intel_scu_set_heartbeat()
217 watchdog_device.threshold = in intel_scu_set_heartbeat()
218 timer_margin * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_set_heartbeat()
219 watchdog_device.soft_threshold = in intel_scu_set_heartbeat()
220 (watchdog_device.timer_set - timer_margin) in intel_scu_set_heartbeat()
221 * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_set_heartbeat()
224 watchdog_device.timer_tbl_ptr->freq_hz); in intel_scu_set_heartbeat()
226 watchdog_device.timer_set); in intel_scu_set_heartbeat()
229 watchdog_device.threshold); in intel_scu_set_heartbeat()
231 watchdog_device.soft_threshold); in intel_scu_set_heartbeat()
235 watchdog_device.threshold = in intel_scu_set_heartbeat()
236 watchdog_device.threshold / FREQ_ADJUSTMENT; in intel_scu_set_heartbeat()
237 watchdog_device.soft_threshold = in intel_scu_set_heartbeat()
238 watchdog_device.soft_threshold / FREQ_ADJUSTMENT; in intel_scu_set_heartbeat()
241 iowrite32(0x00000002, watchdog_device.timer_control_addr); in intel_scu_set_heartbeat()
244 ipc_ret = watchdog_set_ipc(watchdog_device.soft_threshold, in intel_scu_set_heartbeat()
245 watchdog_device.threshold); in intel_scu_set_heartbeat()
258 soft_value = watchdog_device.soft_threshold & 0xFFFF0000; in intel_scu_set_heartbeat()
271 iowrite32(watchdog_device.soft_threshold, in intel_scu_set_heartbeat()
272 watchdog_device.timer_load_count_addr); in intel_scu_set_heartbeat()
275 ioread32(watchdog_device.timer_load_count_addr); in intel_scu_set_heartbeat()
278 iowrite32(0x00000003, watchdog_device.timer_control_addr); in intel_scu_set_heartbeat()
281 hw_value = ioread32(watchdog_device.timer_load_count_addr); in intel_scu_set_heartbeat()
287 watchdog_device.timer_started = 1; in intel_scu_set_heartbeat()
300 if (test_and_set_bit(0, &watchdog_device.driver_open)) in intel_scu_open()
304 if (watchdog_device.driver_closed) in intel_scu_open()
321 if (!test_and_clear_bit(0, &watchdog_device.driver_open)) { in intel_scu_release()
326 if (!watchdog_device.timer_started) { in intel_scu_release()
335 watchdog_device.driver_closed = 1; in intel_scu_release()
353 if (watchdog_device.timer_started) in intel_scu_write()
358 intel_scu_set_heartbeat(watchdog_device.timer_set); in intel_scu_write()
403 return put_user(watchdog_device.soft_threshold, p); in intel_scu_ioctl()
463 watchdog_device.timer_tbl_ptr = sfi_get_mtmr(sfi_mtimer_num-1); in intel_scu_watchdog_init()
465 if (watchdog_device.timer_tbl_ptr == NULL) { in intel_scu_watchdog_init()
470 if (watchdog_device.timer_tbl_ptr->phys_addr == 0) { in intel_scu_watchdog_init()
476 if (watchdog_device.timer_tbl_ptr->irq == 0) { in intel_scu_watchdog_init()
481 tmp_addr = ioremap_nocache(watchdog_device.timer_tbl_ptr->phys_addr, in intel_scu_watchdog_init()
489 watchdog_device.timer_load_count_addr = tmp_addr++; in intel_scu_watchdog_init()
490 watchdog_device.timer_current_value_addr = tmp_addr++; in intel_scu_watchdog_init()
491 watchdog_device.timer_control_addr = tmp_addr++; in intel_scu_watchdog_init()
492 watchdog_device.timer_clear_interrupt_addr = tmp_addr++; in intel_scu_watchdog_init()
493 watchdog_device.timer_interrupt_status_addr = tmp_addr++; in intel_scu_watchdog_init()
497 watchdog_device.timer_set = timer_set; in intel_scu_watchdog_init()
498 watchdog_device.threshold = in intel_scu_watchdog_init()
499 timer_margin * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_watchdog_init()
500 watchdog_device.soft_threshold = in intel_scu_watchdog_init()
501 (watchdog_device.timer_set - timer_margin) in intel_scu_watchdog_init()
502 * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_watchdog_init()
505 watchdog_device.intel_scu_notifier.notifier_call = in intel_scu_watchdog_init()
508 ret = register_reboot_notifier(&watchdog_device.intel_scu_notifier); in intel_scu_watchdog_init()
514 watchdog_device.miscdev.minor = WATCHDOG_MINOR; in intel_scu_watchdog_init()
515 watchdog_device.miscdev.name = "watchdog"; in intel_scu_watchdog_init()
516 watchdog_device.miscdev.fops = &intel_scu_fops; in intel_scu_watchdog_init()
518 ret = misc_register(&watchdog_device.miscdev); in intel_scu_watchdog_init()
525 ret = request_irq((unsigned int)watchdog_device.timer_tbl_ptr->irq, in intel_scu_watchdog_init()
528 &watchdog_device.timer_load_count_addr); in intel_scu_watchdog_init()
540 misc_deregister(&watchdog_device.miscdev); in intel_scu_watchdog_init()
542 unregister_reboot_notifier(&watchdog_device.intel_scu_notifier); in intel_scu_watchdog_init()
545 iounmap(watchdog_device.timer_load_count_addr); in intel_scu_watchdog_init()
552 misc_deregister(&watchdog_device.miscdev); in intel_scu_watchdog_exit()
553 unregister_reboot_notifier(&watchdog_device.intel_scu_notifier); in intel_scu_watchdog_exit()
555 iowrite32(0x00000002, watchdog_device.timer_control_addr); in intel_scu_watchdog_exit()
556 iounmap(watchdog_device.timer_load_count_addr); in intel_scu_watchdog_exit()