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

Lars-Peter Clausen lars at metafoo.de
Wed Apr 16 14:23:17 CEST 2014


On 04/16/2014 12:25 PM, Peter Ujfalusi wrote:
> 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.
>

You can use snd_soc_dai_init_dma_data(). Not that it saves much code, but it 
hides the implementation, which makes it easier to change things if we ever 
have to.

- Lars



More information about the Alsa-devel mailing list