summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorSubhransu S. Prusty <subhransu.s.prusty@intel.com>2016-03-04 15:29:51 +0100
committerTakashi Iwai <tiwai@suse.de>2016-03-07 15:45:29 +0100
commit2f6e8a8518f33b6fac1fb9c79d245e23b6f9b765 (patch)
treeff54c117e8d756aaab29694c4a24440622be80d2 /include/sound
parentALSA: hda - chmap helper args modified to use generic hdac objs. (diff)
downloadlinux-2f6e8a8518f33b6fac1fb9c79d245e23b6f9b765.tar.xz
linux-2f6e8a8518f33b6fac1fb9c79d245e23b6f9b765.zip
ALSA: hda - Move chmap support helpers/ops to core
Chmap helpers, ops, controls are moved to core. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/hda_chmap.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/sound/hda_chmap.h b/include/sound/hda_chmap.h
index f7fd752fc817..5a85b319439a 100644
--- a/include/sound/hda_chmap.h
+++ b/include/sound/hda_chmap.h
@@ -5,6 +5,7 @@
#ifndef __SOUND_HDA_CHMAP_H
#define __SOUND_HDA_CHMAP_H
+#include <sound/pcm.h>
#include <sound/hdaudio.h>
@@ -58,4 +59,18 @@ struct hdac_chmap {
void snd_hdac_register_chmap_ops(struct hdac_device *hdac,
struct hdac_chmap *chmap);
+int hdmi_channel_allocation(struct hdac_device *hdac, int spk_alloc,
+ int channels, bool chmap_set,
+ bool non_pcm, unsigned char *map);
+int hdmi_get_active_channels(int ca);
+void hdmi_setup_channel_mapping(struct hdac_chmap *chmap,
+ hda_nid_t pin_nid, bool non_pcm, int ca,
+ int channels, unsigned char *map,
+ bool chmap_set);
+void snd_print_channel_allocation(int spk_alloc, char *buf, int buflen);
+struct hdac_cea_channel_speaker_allocation *hdmi_get_ch_alloc_from_ca(int ca);
+int to_spk_mask(unsigned char c);
+int spk_to_chmap(int spk);
+int snd_hdac_add_chmap_ctls(struct snd_pcm *pcm, int pcm_idx,
+ struct hdac_chmap *chmap);
#endif /* __SOUND_HDA_CHMAP_H */