diff options
author | Mark Brown <broonie@kernel.org> | 2021-06-14 12:13:53 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-06-14 12:13:53 +0200 |
commit | 116b1e12b72f308b28af5b17081fdb9e1942a8ea (patch) | |
tree | 0cfd3f553c015c1f0ec22075117e2f78c2a5fa00 /include/sound | |
parent | ASoC: remove unneeded semicolons in wcd934x.c (diff) | |
parent | ASoC: hdmi-codec: Add a prepare hook (diff) | |
download | linux-116b1e12b72f308b28af5b17081fdb9e1942a8ea.tar.xz linux-116b1e12b72f308b28af5b17081fdb9e1942a8ea.zip |
Merge tag 'asoc-hdmi-codec-improvements-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into asoc-5.14
Improvements to the hdmi-codec driver and ALSA infrastructure around it
to support the HDMI Channel Mapping and IEC958 controls
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/hdmi-codec.h | 12 | ||||
-rw-r--r-- | include/sound/pcm_iec958.h | 8 |
2 files changed, 19 insertions, 1 deletions
diff --git a/include/sound/hdmi-codec.h b/include/sound/hdmi-codec.h index 4b3a1d374b90..4fc733c8c570 100644 --- a/include/sound/hdmi-codec.h +++ b/include/sound/hdmi-codec.h @@ -65,13 +65,23 @@ struct hdmi_codec_ops { /* * Configures HDMI-encoder for audio stream. - * Mandatory + * Having either prepare or hw_params is mandatory. */ int (*hw_params)(struct device *dev, void *data, struct hdmi_codec_daifmt *fmt, struct hdmi_codec_params *hparms); /* + * Configures HDMI-encoder for audio stream. Can be called + * multiple times for each setup. + * + * Having either prepare or hw_params is mandatory. + */ + int (*prepare)(struct device *dev, void *data, + struct hdmi_codec_daifmt *fmt, + struct hdmi_codec_params *hparms); + + /* * Shuts down the audio stream. * Mandatory */ diff --git a/include/sound/pcm_iec958.h b/include/sound/pcm_iec958.h index 0939aa45e2fe..64e84441cde1 100644 --- a/include/sound/pcm_iec958.h +++ b/include/sound/pcm_iec958.h @@ -4,6 +4,14 @@ #include <linux/types.h> +int snd_pcm_create_iec958_consumer_default(u8 *cs, size_t len); + +int snd_pcm_fill_iec958_consumer(struct snd_pcm_runtime *runtime, u8 *cs, + size_t len); + +int snd_pcm_fill_iec958_consumer_hw_params(struct snd_pcm_hw_params *params, + u8 *cs, size_t len); + int snd_pcm_create_iec958_consumer(struct snd_pcm_runtime *runtime, u8 *cs, size_t len); |