linux/sound/soc
Liam Girdwood b8c0dab9bf ASoC: core - PCM mutex per rtd
In preparation for the new ASoC Dynamic PCM support (AKA DSP support).

The new ASoC Dynamic PCM core allows DAIs to be dynamically re-routed
at runtime between the PCM device end (or Frontend - FE) and the physical DAI
(Backend - BE) using regular kcontrols (just like a hardware CODEC routes
audio in the analog domain). The Dynamic PCM core therefore must be
able to call PCM operations for both the Frontend and Backend(s) DAIs at
the same time.

Currently we have a global pcm_mutex that is used to serialise
the ASoC PCM operations. This patch removes the global mutex
and adds a mutex per RTD allowing the PCM operations to be reentrant and
allow control of more than one DAI at at time. e.g. a frontend PCM hw_params()
could configure multiple backend DAI hw_params() with similar or different
hw parameters at the same time.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-06-09 19:29:29 +01:00
..
atmel ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
au1x ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
blackfin ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
codecs Merge branch 'for-3.0' into for-3.1 2011-06-09 12:02:26 +01:00
davinci ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
ep93xx ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
fsl Merge branch 'for-3.0' into for-3.1 2011-06-09 12:02:26 +01:00
imx ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
jz4740 ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
kirkwood ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
mid-x86 ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
nuc900 ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
omap ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
pxa ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
s6000 ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
samsung ASoC: Fix mismerge of Speyside set_bias_level_post() 2011-06-08 17:51:38 +01:00
sh ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
tegra ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
txx9 ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
Kconfig ASoC: tegra: Kconfig and Makefile 2011-01-10 22:21:09 +00:00
Makefile ASoC: core - Separate out PCM operations into new file. 2011-06-09 15:07:27 +01:00
soc-cache.c ASoC: Suppress restore of default register values for rbtree cache sync 2011-06-08 15:24:36 +01:00
soc-core.c ASoC: core - PCM mutex per rtd 2011-06-09 19:29:29 +01:00
soc-dapm.c Merge branch 'for-3.0' into for-3.1 2011-06-09 15:07:42 +01:00
soc-jack.c ASoC: Merge branch 'for-2.6.39' into for-2.6.40 2011-04-18 18:07:43 +01:00
soc-pcm.c ASoC: core - PCM mutex per rtd 2011-06-09 19:29:29 +01:00
soc-utils.c ASoC: Work around allmodconfig failure 2011-04-28 12:09:06 +01:00