xref: /openbmc/linux/sound/pci/ctxfi/cttimer.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b7bbf876STakashi Iwai /*
3b7bbf876STakashi Iwai  * Timer handling
4b7bbf876STakashi Iwai  */
5b7bbf876STakashi Iwai 
6b7bbf876STakashi Iwai #ifndef __CTTIMER_H
7b7bbf876STakashi Iwai #define __CTTIMER_H
8b7bbf876STakashi Iwai 
9b7bbf876STakashi Iwai #include <linux/spinlock.h>
10b7bbf876STakashi Iwai #include <linux/timer.h>
11b7bbf876STakashi Iwai #include <linux/list.h>
12b7bbf876STakashi Iwai 
13b7bbf876STakashi Iwai struct snd_pcm_substream;
14b7bbf876STakashi Iwai struct ct_atc;
15b7bbf876STakashi Iwai struct ct_atc_pcm;
16b7bbf876STakashi Iwai 
17b7bbf876STakashi Iwai struct ct_timer;
18b7bbf876STakashi Iwai struct ct_timer_instance;
19b7bbf876STakashi Iwai 
20b7bbf876STakashi Iwai struct ct_timer *ct_timer_new(struct ct_atc *atc);
21b7bbf876STakashi Iwai void ct_timer_free(struct ct_timer *atimer);
22b7bbf876STakashi Iwai 
23b7bbf876STakashi Iwai struct ct_timer_instance *
24b7bbf876STakashi Iwai ct_timer_instance_new(struct ct_timer *atimer, struct ct_atc_pcm *apcm);
25b7bbf876STakashi Iwai void ct_timer_instance_free(struct ct_timer_instance *ti);
26b7bbf876STakashi Iwai void ct_timer_start(struct ct_timer_instance *ti);
27b7bbf876STakashi Iwai void ct_timer_stop(struct ct_timer_instance *ti);
28b7bbf876STakashi Iwai void ct_timer_prepare(struct ct_timer_instance *ti);
29b7bbf876STakashi Iwai 
30b7bbf876STakashi Iwai #endif /* __CTTIMER_H */
31