summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-11-10 16:08:04 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-11-12 16:45:48 +0000
commit7aae816dae150caad8880357e42303935c0179a8 (patch)
treee9adbb85d828e3e9eca5feca7afb6c71a4491f26 /include/sound
parenta68cc8daebdd8ba7fe457ab4b2a0ccdf3cedc9f8 (diff)
downloadlinux-7aae816dae150caad8880357e42303935c0179a8.tar.gz
linux-7aae816dae150caad8880357e42303935c0179a8.tar.bz2
linux-7aae816dae150caad8880357e42303935c0179a8.zip
ASoC: Add bit clock rate calculator utility functions
Many devices need to calculate the bit clock rate desired to work out the clock configuration required for the device. Provide utility functions to do this using both hw_params structures and raw numbers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 7f3a4c5028da..310a21949a3e 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -227,6 +227,11 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
void snd_soc_free_pcms(struct snd_soc_device *socdev);
int snd_soc_new_pcms(struct snd_soc_device *socdev, int idx, const char *xid);
+/* Utility functions to get clock rates from various things */
+int snd_soc_calc_frame_size(int sample_size, int channels, int tdm_slots);
+int snd_soc_params_to_frame_size(struct snd_pcm_hw_params *params);
+int snd_soc_params_to_bclk(struct snd_pcm_hw_params *parms);
+
/* set runtime hw params */
int snd_soc_set_runtime_hwparams(struct snd_pcm_substream *substream,
const struct snd_pcm_hardware *hw);