xref: /openbmc/linux/include/sound/hda_i915.h (revision 56d06fa2)
1 /*
2  * HD-Audio helpers to sync with i915 driver
3  */
4 #ifndef __SOUND_HDA_I915_H
5 #define __SOUND_HDA_I915_H
6 
7 #include <drm/i915_component.h>
8 
9 #ifdef CONFIG_SND_HDA_I915
10 int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable);
11 int snd_hdac_display_power(struct hdac_bus *bus, bool enable);
12 void snd_hdac_i915_set_bclk(struct hdac_bus *bus);
13 int snd_hdac_sync_audio_rate(struct hdac_bus *bus, hda_nid_t nid, int rate);
14 int snd_hdac_acomp_get_eld(struct hdac_bus *bus, hda_nid_t nid,
15 			   bool *audio_enabled, char *buffer, int max_bytes);
16 int snd_hdac_i915_init(struct hdac_bus *bus);
17 int snd_hdac_i915_exit(struct hdac_bus *bus);
18 int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *);
19 #else
20 static inline int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable)
21 {
22 	return 0;
23 }
24 static inline int snd_hdac_display_power(struct hdac_bus *bus, bool enable)
25 {
26 	return 0;
27 }
28 static inline void snd_hdac_i915_set_bclk(struct hdac_bus *bus)
29 {
30 }
31 static inline int snd_hdac_sync_audio_rate(struct hdac_bus *bus, hda_nid_t nid,
32 					   int rate)
33 {
34 	return 0;
35 }
36 static inline int snd_hdac_acomp_get_eld(struct hdac_bus *bus, hda_nid_t nid,
37 					 bool *audio_enabled, char *buffer,
38 					 int max_bytes)
39 {
40 	return -ENODEV;
41 }
42 static inline int snd_hdac_i915_init(struct hdac_bus *bus)
43 {
44 	return -ENODEV;
45 }
46 static inline int snd_hdac_i915_exit(struct hdac_bus *bus)
47 {
48 	return 0;
49 }
50 static inline int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *ops)
51 {
52 	return -ENODEV;
53 }
54 #endif
55 
56 #endif /* __SOUND_HDA_I915_H */
57