Lines Matching refs:watchdog_device

79 static struct intel_scu_watchdog_dev watchdog_device;  variable
142 int_status = ioread32(watchdog_device.timer_interrupt_status_addr); in watchdog_timer_interrupt()
150 if (watchdog_device.timer_started == 0) { in watchdog_timer_interrupt()
156 iowrite32(0x00000002, watchdog_device.timer_control_addr); in watchdog_timer_interrupt()
159 iowrite32(watchdog_device.threshold, in watchdog_timer_interrupt()
160 watchdog_device.timer_load_count_addr); in watchdog_timer_interrupt()
163 iowrite32(0x00000003, watchdog_device.timer_control_addr); in watchdog_timer_interrupt()
172 ioread32(watchdog_device.timer_clear_interrupt_addr); in intel_scu_keepalive()
175 iowrite32(0x00000002, watchdog_device.timer_control_addr); in intel_scu_keepalive()
178 iowrite32(watchdog_device.soft_threshold, in intel_scu_keepalive()
179 watchdog_device.timer_load_count_addr); in intel_scu_keepalive()
182 iowrite32(0x00000003, watchdog_device.timer_control_addr); in intel_scu_keepalive()
189 iowrite32(0, watchdog_device.timer_control_addr); in intel_scu_stop()
200 watchdog_device.timer_set = t; in intel_scu_set_heartbeat()
201 watchdog_device.threshold = in intel_scu_set_heartbeat()
202 timer_margin * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_set_heartbeat()
203 watchdog_device.soft_threshold = in intel_scu_set_heartbeat()
204 (watchdog_device.timer_set - timer_margin) in intel_scu_set_heartbeat()
205 * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_set_heartbeat()
208 watchdog_device.timer_tbl_ptr->freq_hz); in intel_scu_set_heartbeat()
210 watchdog_device.timer_set); in intel_scu_set_heartbeat()
213 watchdog_device.threshold); in intel_scu_set_heartbeat()
215 watchdog_device.soft_threshold); in intel_scu_set_heartbeat()
219 watchdog_device.threshold = in intel_scu_set_heartbeat()
220 watchdog_device.threshold / FREQ_ADJUSTMENT; in intel_scu_set_heartbeat()
221 watchdog_device.soft_threshold = in intel_scu_set_heartbeat()
222 watchdog_device.soft_threshold / FREQ_ADJUSTMENT; in intel_scu_set_heartbeat()
225 iowrite32(0x00000002, watchdog_device.timer_control_addr); in intel_scu_set_heartbeat()
228 ipc_ret = watchdog_set_ipc(watchdog_device.soft_threshold, in intel_scu_set_heartbeat()
229 watchdog_device.threshold); in intel_scu_set_heartbeat()
242 soft_value = watchdog_device.soft_threshold & 0xFFFF0000; in intel_scu_set_heartbeat()
255 iowrite32(watchdog_device.soft_threshold, in intel_scu_set_heartbeat()
256 watchdog_device.timer_load_count_addr); in intel_scu_set_heartbeat()
259 ioread32(watchdog_device.timer_load_count_addr); in intel_scu_set_heartbeat()
262 iowrite32(0x00000003, watchdog_device.timer_control_addr); in intel_scu_set_heartbeat()
265 hw_value = ioread32(watchdog_device.timer_load_count_addr); in intel_scu_set_heartbeat()
271 watchdog_device.timer_started = 1; in intel_scu_set_heartbeat()
284 if (test_and_set_bit(0, &watchdog_device.driver_open)) in intel_scu_open()
288 if (watchdog_device.driver_closed) in intel_scu_open()
305 if (!test_and_clear_bit(0, &watchdog_device.driver_open)) { in intel_scu_release()
310 if (!watchdog_device.timer_started) { in intel_scu_release()
319 watchdog_device.driver_closed = 1; in intel_scu_release()
337 if (watchdog_device.timer_started) in intel_scu_write()
342 intel_scu_set_heartbeat(watchdog_device.timer_set); in intel_scu_write()
387 return put_user(watchdog_device.soft_threshold, p); in intel_scu_ioctl()
447 watchdog_device.timer_tbl_ptr = sfi_get_mtmr(sfi_mtimer_num-1); in intel_scu_watchdog_init()
449 if (watchdog_device.timer_tbl_ptr == NULL) { in intel_scu_watchdog_init()
454 if (watchdog_device.timer_tbl_ptr->phys_addr == 0) { in intel_scu_watchdog_init()
460 if (watchdog_device.timer_tbl_ptr->irq == 0) { in intel_scu_watchdog_init()
465 tmp_addr = ioremap_nocache(watchdog_device.timer_tbl_ptr->phys_addr, in intel_scu_watchdog_init()
473 watchdog_device.timer_load_count_addr = tmp_addr++; in intel_scu_watchdog_init()
474 watchdog_device.timer_current_value_addr = tmp_addr++; in intel_scu_watchdog_init()
475 watchdog_device.timer_control_addr = tmp_addr++; in intel_scu_watchdog_init()
476 watchdog_device.timer_clear_interrupt_addr = tmp_addr++; in intel_scu_watchdog_init()
477 watchdog_device.timer_interrupt_status_addr = tmp_addr++; in intel_scu_watchdog_init()
481 watchdog_device.timer_set = timer_set; in intel_scu_watchdog_init()
482 watchdog_device.threshold = in intel_scu_watchdog_init()
483 timer_margin * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_watchdog_init()
484 watchdog_device.soft_threshold = in intel_scu_watchdog_init()
485 (watchdog_device.timer_set - timer_margin) in intel_scu_watchdog_init()
486 * watchdog_device.timer_tbl_ptr->freq_hz; in intel_scu_watchdog_init()
489 watchdog_device.intel_scu_notifier.notifier_call = in intel_scu_watchdog_init()
492 ret = register_reboot_notifier(&watchdog_device.intel_scu_notifier); in intel_scu_watchdog_init()
498 watchdog_device.miscdev.minor = WATCHDOG_MINOR; in intel_scu_watchdog_init()
499 watchdog_device.miscdev.name = "watchdog"; in intel_scu_watchdog_init()
500 watchdog_device.miscdev.fops = &intel_scu_fops; in intel_scu_watchdog_init()
502 ret = misc_register(&watchdog_device.miscdev); in intel_scu_watchdog_init()
509 ret = request_irq((unsigned int)watchdog_device.timer_tbl_ptr->irq, in intel_scu_watchdog_init()
512 &watchdog_device.timer_load_count_addr); in intel_scu_watchdog_init()
524 misc_deregister(&watchdog_device.miscdev); in intel_scu_watchdog_init()
526 unregister_reboot_notifier(&watchdog_device.intel_scu_notifier); in intel_scu_watchdog_init()
529 iounmap(watchdog_device.timer_load_count_addr); in intel_scu_watchdog_init()