diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-05-23 05:41:05 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-05-27 06:12:45 -0400 |
commit | 08d15f034e94251606479d7ca9070994c2e2fcf0 (patch) | |
tree | 6009ae28922e2296b935807a6fb95cb2bf70c8d2 /sound/soc/fsl | |
parent | 0c0e09e21a9e7bc6ca54e06ef3d497255ca26383 (diff) |
ASoC: Switch FSL SSI DAI over to symmetric_rates
The effect of symmetric_constraints should provide a standard way to
enforce the use of the same sample rate for both directions.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
Diffstat (limited to 'sound/soc/fsl')
-rw-r--r-- | sound/soc/fsl/fsl_ssi.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index 47afaa9747ac..93f0f38a32c9 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c | |||
@@ -375,18 +375,14 @@ static int fsl_ssi_startup(struct snd_pcm_substream *substream, | |||
375 | struct snd_pcm_runtime *first_runtime = | 375 | struct snd_pcm_runtime *first_runtime = |
376 | ssi_private->first_stream->runtime; | 376 | ssi_private->first_stream->runtime; |
377 | 377 | ||
378 | if (!first_runtime->rate || !first_runtime->sample_bits) { | 378 | if (!first_runtime->sample_bits) { |
379 | dev_err(substream->pcm->card->dev, | 379 | dev_err(substream->pcm->card->dev, |
380 | "set sample rate and size in %s stream first\n", | 380 | "set sample size in %s stream first\n", |
381 | substream->stream == SNDRV_PCM_STREAM_PLAYBACK | 381 | substream->stream == SNDRV_PCM_STREAM_PLAYBACK |
382 | ? "capture" : "playback"); | 382 | ? "capture" : "playback"); |
383 | return -EAGAIN; | 383 | return -EAGAIN; |
384 | } | 384 | } |
385 | 385 | ||
386 | snd_pcm_hw_constraint_minmax(substream->runtime, | ||
387 | SNDRV_PCM_HW_PARAM_RATE, | ||
388 | first_runtime->rate, first_runtime->rate); | ||
389 | |||
390 | /* If we're in synchronous mode, then we need to constrain | 386 | /* If we're in synchronous mode, then we need to constrain |
391 | * the sample size as well. We don't support independent sample | 387 | * the sample size as well. We don't support independent sample |
392 | * rates in asynchronous mode. | 388 | * rates in asynchronous mode. |
@@ -693,6 +689,7 @@ struct snd_soc_dai *fsl_ssi_create_dai(struct fsl_ssi_info *ssi_info) | |||
693 | fsl_ssi_dai->name = ssi_private->name; | 689 | fsl_ssi_dai->name = ssi_private->name; |
694 | fsl_ssi_dai->id = ssi_info->id; | 690 | fsl_ssi_dai->id = ssi_info->id; |
695 | fsl_ssi_dai->dev = ssi_info->dev; | 691 | fsl_ssi_dai->dev = ssi_info->dev; |
692 | fsl_ssi_dai->symmetric_rates = 1; | ||
696 | 693 | ||
697 | ret = snd_soc_register_dai(fsl_ssi_dai); | 694 | ret = snd_soc_register_dai(fsl_ssi_dai); |
698 | if (ret != 0) { | 695 | if (ret != 0) { |