mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 11:32:04 +00:00
ASoC: ep93xx: Open code dma channel request
Currently the ep93xx DMA code is one of the few users relying on the fact that the compat code uses the dma_data as the filter data for non-DT channel requests. Since the rest of the core expects this to be a struct snd_dmaengine_dai_data this isn't terribly helpful this will be changed to use the already existing filter data so avoid breaking ep93xx by open coding the current behaviour. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
511e303317
commit
d7711dc593
@ -57,9 +57,22 @@ static bool ep93xx_pcm_dma_filter(struct dma_chan *chan, void *filter_param)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct dma_chan *ep93xx_compat_request_channel(
|
||||||
|
struct snd_soc_pcm_runtime *rtd,
|
||||||
|
struct snd_pcm_substream *substream)
|
||||||
|
{
|
||||||
|
struct snd_dmaengine_dai_dma_data *dma_data;
|
||||||
|
|
||||||
|
dma_data = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
|
||||||
|
|
||||||
|
return snd_dmaengine_pcm_request_channel(ep93xx_pcm_dma_filter,
|
||||||
|
dma_data);
|
||||||
|
}
|
||||||
|
|
||||||
static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = {
|
static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = {
|
||||||
.pcm_hardware = &ep93xx_pcm_hardware,
|
.pcm_hardware = &ep93xx_pcm_hardware,
|
||||||
.compat_filter_fn = ep93xx_pcm_dma_filter,
|
.compat_filter_fn = ep93xx_pcm_dma_filter,
|
||||||
|
.compat_request_channel = ep93xx_compat_request_channel,
|
||||||
.prealloc_buffer_size = 131072,
|
.prealloc_buffer_size = 131072,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user