*参照元 [#pa8ec8e4] #backlinks *説明 [#j6ffd1e5] -パス: [[linux-4.4.1/sound/soc/soc-generic-dmaengine-pcm.c]] -FIXME: これは何? --説明 **引数 [#q32357c9] -struct snd_soc_pcm_runtime *rtd -- --[[linux-4.4.1/snd_soc_pcm_runtime]] -struct snd_pcm_substream *substream -- --[[linux-4.4.1/snd_pcm_substream]] **返り値 [#l383b7bd] -struct dma_chan * -- --[[linux-4.4.1/dma_chan]] **参考 [#f9bec94f] *実装 [#k1d5cb16] static struct dma_chan *dmaengine_pcm_compat_request_channel( struct snd_soc_pcm_runtime *rtd, struct snd_pcm_substream *substream) { struct dmaengine_pcm *pcm = soc_platform_to_pcm(rtd->platform); struct snd_dmaengine_dai_dma_data *dma_data; dma_filter_fn fn = NULL; - --[[linux-4.4.1/dmaengine_pcm]] --[[linux-4.4.1/soc_platform_to_pcm()]] --[[linux-4.4.1/snd_dmaengine_dai_dma_data]] --[[linux-4.4.1/dma_filter_fn]] dma_data = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream); - --[[linux-4.4.1/snd_soc_dai_get_dma_data()]] if ((pcm->flags & SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX) && pcm->chan[0]) return pcm->chan[0]; if (pcm->config && pcm->config->compat_request_channel) return pcm->config->compat_request_channel(rtd, substream); - --pcm->config は 型 --[[linux-4.4.1/]] --pcm->config は const struct snd_dmaengine_pcm_config * 型 --[[linux-4.4.1/snd_dmaengine_pcm_config]] if (pcm->config) fn = pcm->config->compat_filter_fn; return snd_dmaengine_pcm_request_channel(fn, dma_data->filter_data); - --[[linux-4.4.1/snd_dmaengine_pcm_request_channel()]] } *コメント [#h0a39e09]