[alsa-devel] [PATCH 02/18] ASoC: omap-mcpdm: Assign the dai DMA data at earlier time

Peter Ujfalusi peter.ujfalusi at ti.com
Wed Apr 16 12:25:31 CEST 2014


On 04/16/2014 01:15 PM, Mark Brown wrote:
> On Wed, Apr 16, 2014 at 12:23:15PM +0300, Peter Ujfalusi wrote:
> 
>> -	snd_soc_dai_set_dma_data(dai, substream,
>> -				 &mcpdm->dma_data[substream->stream]);
>> -
>>  	return 0;
>>  }
>>  
>> @@ -406,6 +403,10 @@ static int omap_mcpdm_probe(struct snd_soc_dai *dai)
>>  	mcpdm->config[SNDRV_PCM_STREAM_PLAYBACK].threshold = 2;
>>  	mcpdm->config[SNDRV_PCM_STREAM_CAPTURE].threshold =
>>  							MCPDM_UP_THRES_MAX - 3;
>> +
>> +	dai->playback_dma_data = &mcpdm->dma_data[SNDRV_PCM_STREAM_PLAYBACK];
>> +	dai->capture_dma_data = &mcpdm->dma_data[SNDRV_PCM_STREAM_CAPTURE];
>> +
> 
> Any reason to stop using _set_dma_data()?

At dai driver probe we do not have substream and snd_soc_dai_set_dma_data()
relies on that (substream->stream) to figure out which dma_data to set.

This change is not a must for omap right now, but I have seen on davinci that
we need to have the playback/capture_dma_data set at this time if we are using
the ASoC generic dmaengine pcm for platform (I use edma-pcm on davinci right now).

-- 
Péter


More information about the Alsa-devel mailing list