mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-06 22:36:39 +07:00
ASoC: dmaengine: Extend use of chan_names provided in custom DMA config
There are currently two ways to specify custom DMA channel names: - through the SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag and snd_dmaengine_dai_dma_data data structure, - through chan_names field of struct snd_dmaengine_pcm_config. In order to replace the DAI DMA data method with the custom DMA config one on non-DT platforms the dmaengine_pcm_new() function is extended to also consider channel names specified in the custom DMA config. If both config->chan_names and dma_data->chan_name are provided the former will be used. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
51256d348c
commit
10cbf3507b
@ -288,9 +288,16 @@ static int dmaengine_pcm_new(struct snd_soc_pcm_runtime *rtd)
|
||||
dma_data = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
|
||||
|
||||
if (!pcm->chan[i] &&
|
||||
(pcm->flags & SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME))
|
||||
((pcm->flags & SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME) ||
|
||||
(config && config->chan_names[i]))) {
|
||||
const char *chan_name = dma_data->chan_name;
|
||||
|
||||
if (config && config->chan_names[i])
|
||||
chan_name = config->chan_names[i];
|
||||
|
||||
pcm->chan[i] = dma_request_slave_channel(dev,
|
||||
dma_data->chan_name);
|
||||
chan_name);
|
||||
}
|
||||
|
||||
if (!pcm->chan[i] && (pcm->flags & SND_DMAENGINE_PCM_FLAG_COMPAT)) {
|
||||
pcm->chan[i] = dmaengine_pcm_compat_request_channel(rtd,
|
||||
|
Loading…
Reference in New Issue
Block a user