1*b8ca4380SGeorge Abraham P /* SPDX-License-Identifier: GPL-2.0-only */ 2*b8ca4380SGeorge Abraham P /* Copyright(c) 2023 Intel Corporation */ 3*b8ca4380SGeorge Abraham P 4*b8ca4380SGeorge Abraham P #ifndef ADF_TIMER_H_ 5*b8ca4380SGeorge Abraham P #define ADF_TIMER_H_ 6*b8ca4380SGeorge Abraham P 7*b8ca4380SGeorge Abraham P #include <linux/ktime.h> 8*b8ca4380SGeorge Abraham P #include <linux/workqueue.h> 9*b8ca4380SGeorge Abraham P 10*b8ca4380SGeorge Abraham P struct adf_accel_dev; 11*b8ca4380SGeorge Abraham P 12*b8ca4380SGeorge Abraham P struct adf_timer { 13*b8ca4380SGeorge Abraham P struct adf_accel_dev *accel_dev; 14*b8ca4380SGeorge Abraham P struct delayed_work work_ctx; 15*b8ca4380SGeorge Abraham P ktime_t initial_ktime; 16*b8ca4380SGeorge Abraham P }; 17*b8ca4380SGeorge Abraham P 18*b8ca4380SGeorge Abraham P int adf_timer_start(struct adf_accel_dev *accel_dev); 19*b8ca4380SGeorge Abraham P void adf_timer_stop(struct adf_accel_dev *accel_dev); 20*b8ca4380SGeorge Abraham P 21*b8ca4380SGeorge Abraham P #endif /* ADF_TIMER_H_ */ 22