diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2013-11-27 09:58:18 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-11-27 16:43:12 +0000 |
commit | 78e45c99f6d470e6069c8669ee533c97cc5fd296 (patch) | |
tree | 5169621088303663b48e8841b67bb3f75b84b8bd /sound/synth | |
parent | 17b6c19b34b43a6a8dd5936b3cdbc63d7d1ae186 (diff) | |
download | op-kernel-dev-78e45c99f6d470e6069c8669ee533c97cc5fd296.zip op-kernel-dev-78e45c99f6d470e6069c8669ee533c97cc5fd296.tar.gz |
ASoC: pcm: Always honor DAI min and max sample rate constraints
snd_pcm_limit_hw_rates() will initialize the minimum and maximum sample rate for
the PCM stream based on the rates specified in the rates field. Since we call
snd_pcm_limit_hw_rates() after soc_pcm_init_runtime_hw() it will essentially
overwrite the min and max rate set in soc_pcm_init_runtime_hw(). This may cause
the minimum or maximum rate to be set to a value outside the range of one of the
components if one of the components sets either SNDRV_PCM_RATE_CONTINUOUS or
SNDRV_PCM_RATE_KNOT and the other component specified a discrete rate via
SNDRV_PCM_RATE_[0-9]* that is outside of the first component's rate range. To
fix this first calculate the minimum and maximum rates using
snd_pcm_limit_hw_rates() and then on top of that apply the contraints specified
in the snd_soc_pcm_stream structs.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Takashi iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/synth')
0 files changed, 0 insertions, 0 deletions