[alsa-devel] [PATCH] ASoC: dpcm: don't do hw_param when BE has done hw_param
nhcao at marvell.com
Fri Jan 10 12:21:34 CET 2014
On 01/10/2014 06:55 PM, Takashi Iwai wrote:
> [Corrected mail addresses of both Mark and Liam]
Thanks for correcting my mistake.
> At Fri, 10 Jan 2014 13:36:35 +0800,
> Nenghua Cao wrote:
>> From: Nenghua Cao <nhcao at marvell.com>
>> It fixes the following case:
>> Two FEs connects the same BE; FE1 & BE path has been opened and hw_paramed.
>> At this momment, FE2 & BE path is being opened and hw_paramed. The BE
>> dai will do hw_param again even if it has done hw_param. It is not
> What happens if FE2 tries to set up an incompatible hw_params?
> (Through a quick glance, it won't work properly well, too, though...)
If FE2 uses an incompatible param, it will make FE1 doesn't work. Maybe
FE2 works well.
If FE2 uses the same param, BE hw_param function will be called twice
(This is the most happening case).
So we can't get benefits from it.
>> Signed-off-by: Nenghua Cao <nhcao at marvell.com>
>> sound/soc/soc-pcm.c | 1 -
>> 1 files changed, 0 insertions(+), 1 deletions(-)
>> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
>> index 891b9a9..ec07e37 100644
>> --- a/sound/soc/soc-pcm.c
>> +++ b/sound/soc/soc-pcm.c
>> @@ -1339,7 +1339,6 @@ static int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream)
>> if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_OPEN) &&
>> - (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_PARAMS) &&
>> (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE))
>> Alsa-devel mailing list
>> Alsa-devel at alsa-project.org
More information about the Alsa-devel