summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorDong Aisheng <b29396@freescale.com>2011-08-29 11:15:14 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-09-21 16:59:46 +0200
commit17841020e9d3dbd4e8114c2142c2bc6d45c01da1 (patch)
tree7f7adb00fea156ae2c9e056439bee389d5ed10e8 /include/sound
parentASoC: 88pm860x-codec - reset the codec correctly (diff)
downloadlinux-17841020e9d3dbd4e8114c2142c2bc6d45c01da1.tar.xz
linux-17841020e9d3dbd4e8114c2142c2bc6d45c01da1.zip
ASoC: soc-core: symmetry checking for each DAIs separately
The orginal code does not cover the case that one DAI such as codec may be shared between other two DAIs(CPU). When do symmetry checking, altough the codec DAI requires symmetry, the two CPU DAIs may still be configured to run on different rates. We change to check each DAI's state separately instead of only checking the dai link to prevent this issue. Signed-off-by: Dong Aisheng <b29396@freescale.com> Tested-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc-dai.h3
-rw-r--r--include/sound/soc.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
index 5ad5f3a50c68..12d98b435444 100644
--- a/include/sound/soc-dai.h
+++ b/include/sound/soc-dai.h
@@ -242,6 +242,9 @@ struct snd_soc_dai {
void *playback_dma_data;
void *capture_dma_data;
+ /* Symmetry data - only valid if symmetry is being enforced */
+ unsigned int rate;
+
/* parent platform/codec */
union {
struct snd_soc_platform *platform;
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 006f4f633c52..b499b37a6776 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -851,8 +851,6 @@ struct snd_soc_pcm_runtime {
unsigned int complete:1;
unsigned int dev_registered:1;
- /* Symmetry data - only valid if symmetry is being enforced */
- unsigned int rate;
long pmdown_time;
/* runtime devices */