Lines Matching refs:int_timer

36 	if (!accel_dev->int_timer || !accel_dev->int_timer->enabled)  in adf_hb_irq_bh_handler()
47 req.heartbeat_ticks = accel_dev->int_timer->int_cnt; in adf_hb_irq_bh_handler()
60 struct adf_int_timer *int_timer = from_timer(int_timer, tl, timer); in timer_handler() local
61 struct adf_accel_dev *accel_dev = int_timer->accel_dev; in timer_handler()
63 u64 timeout_val = adf_get_next_timeout(int_timer->timeout_val); in timer_handler()
73 queue_work(int_timer->timer_irq_wq, in timer_handler()
79 int_timer->int_cnt++; in timer_handler()
87 struct adf_int_timer *int_timer = NULL; in adf_int_timer_init() local
93 int_timer = kzalloc(sizeof(*int_timer), GFP_KERNEL); in adf_int_timer_init()
94 if (!int_timer) in adf_int_timer_init()
99 int_timer->timer_irq_wq = alloc_workqueue(wqname, WQ_MEM_RECLAIM, 1); in adf_int_timer_init()
101 if (!int_timer->timer_irq_wq) { in adf_int_timer_init()
102 kfree(int_timer); in adf_int_timer_init()
106 int_timer->accel_dev = accel_dev; in adf_int_timer_init()
107 int_timer->timeout_val = ADF_GEN4_INT_TIMER_VALUE_IN_MS; in adf_int_timer_init()
108 int_timer->int_cnt = 0; in adf_int_timer_init()
109 int_timer->enabled = true; in adf_int_timer_init()
110 accel_dev->int_timer = int_timer; in adf_int_timer_init()
112 timer_setup(&int_timer->timer, timer_handler, 0); in adf_int_timer_init()
113 mod_timer(&int_timer->timer, timeout_val); in adf_int_timer_init()
121 if (accel_dev && accel_dev->int_timer) { in adf_int_timer_exit()
122 del_timer_sync(&accel_dev->int_timer->timer); in adf_int_timer_exit()
123 accel_dev->int_timer->enabled = false; in adf_int_timer_exit()
125 if (accel_dev->int_timer->timer_irq_wq) { in adf_int_timer_exit()
126 flush_workqueue(accel_dev->int_timer->timer_irq_wq); in adf_int_timer_exit()
127 destroy_workqueue(accel_dev->int_timer->timer_irq_wq); in adf_int_timer_exit()
130 kfree(accel_dev->int_timer); in adf_int_timer_exit()
131 accel_dev->int_timer = NULL; in adf_int_timer_exit()