[alsa-devel] [PATCH 10/17] ASoC: mxs: Use generic dmaengine PCM

Shawn Guo shawn.guo at linaro.org
Thu Apr 18 17:00:51 CEST 2013


On Thu, Apr 18, 2013 at 11:04:38AM +0200, Lars-Peter Clausen wrote:
> On 04/17/2013 03:50 PM, Shawn Guo wrote:
> > On Wed, Apr 17, 2013 at 11:28:11AM +0200, Lars-Peter Clausen wrote:
> >> Can you see whether the patch below fixes it?
> >>
> > No, it does not fix the problem.
> > 
> > Shawn
> 
> Could you try the other patch plus this one:
> 
Yes, it works now.  Thanks for the fixing, Lars.

One small correction below on the first patch.

> --- a/sound/soc/soc-pcm.c
> +++ b/sound/soc/soc-pcm.c
> @@ -2018,9 +2018,11 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num)
>  		if (cpu_dai->driver->capture.channels_min)
>  			capture = 1;
>  	} else {
> -		if (codec_dai->driver->playback.channels_min)
> +		if (codec_dai->driver->playback.channels_min &&
> +			cpu_dai->driver->playback.channels_min)
>  			playback = 1;
> -		if (codec_dai->driver->capture.channels_min)
> +		if (codec_dai->driver->capture.channels_min &&
> +			cpu_dai->driver->capture.channels_min)
>  			capture = 1;
>  	}
> 
> > 
> >> diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c
> >> index b563141..675c348 100644
> >> --- a/sound/soc/mxs/mxs-saif.c
> >> +++ b/sound/soc/mxs/mxs-saif.c
> >> @@ -611,21 +611,28 @@ static int mxs_saif_dai_probe(struct snd_soc_dai *dai)
> >>  }
> >>
> >>  static struct snd_soc_dai_driver mxs_saif_dai = {

It should be mxs_saif_dai[] now.

Shawn

> >> -	.name = "mxs-saif",
> >> -	.probe = mxs_saif_dai_probe,
> >> -	.playback = {
> >> -		.channels_min = 2,
> >> -		.channels_max = 2,
> >> -		.rates = MXS_SAIF_RATES,
> >> -		.formats = MXS_SAIF_FORMATS,
> >> +	{
> >> +		.name = "mxs-saif",
> >> +		.probe = mxs_saif_dai_probe,
> >> +		.playback = {
> >> +			.channels_min = 2,
> >> +			.channels_max = 2,
> >> +			.rates = MXS_SAIF_RATES,
> >> +			.formats = MXS_SAIF_FORMATS,
> >> +		},
> >> +		.ops = &mxs_saif_dai_ops,
> >>  	},
> >> -	.capture = {
> >> -		.channels_min = 2,
> >> -		.channels_max = 2,
> >> -		.rates = MXS_SAIF_RATES,
> >> -		.formats = MXS_SAIF_FORMATS,
> >> +	{
> >> +		.name = "mxs-saif",
> >> +		.probe = mxs_saif_dai_probe,
> >> +		.capture = {
> >> +			.channels_min = 2,
> >> +			.channels_max = 2,
> >> +			.rates = MXS_SAIF_RATES,
> >> +			.formats = MXS_SAIF_FORMATS,
> >> +		},
> >> +		.ops = &mxs_saif_dai_ops,
> >>  	},
> >> -	.ops = &mxs_saif_dai_ops,
> >>  };
> >>
> >>  static const struct snd_soc_component_driver mxs_saif_component = {
> >> @@ -769,7 +776,7 @@ static int mxs_saif_probe(struct platform_device *pdev)
> >>  	platform_set_drvdata(pdev, saif);
> >>
> >>  	ret = snd_soc_register_component(&pdev->dev, &mxs_saif_component,
> >> -					 &mxs_saif_dai, 1);
> >> +					 &mxs_saif_dai[saif->id], 1);
> >>  	if (ret) {
> >>  		dev_err(&pdev->dev, "register DAI failed\n");
> >>  		return ret;
> > 
> 



More information about the Alsa-devel mailing list