aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/sh/siu_pcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/sh/siu_pcm.c')
-rw-r--r--sound/soc/sh/siu_pcm.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/sound/soc/sh/siu_pcm.c b/sound/soc/sh/siu_pcm.c
index 5cfcc655e95f..488f9becb44f 100644
--- a/sound/soc/sh/siu_pcm.c
+++ b/sound/soc/sh/siu_pcm.c
@@ -330,12 +330,9 @@ static bool filter(struct dma_chan *chan, void *slave)
330{ 330{
331 struct sh_dmae_slave *param = slave; 331 struct sh_dmae_slave *param = slave;
332 332
333 pr_debug("%s: slave ID %d\n", __func__, param->slave_id); 333 pr_debug("%s: slave ID %d\n", __func__, param->shdma_slave.slave_id);
334 334
335 if (unlikely(param->dma_dev != chan->device->dev)) 335 chan->private = &param->shdma_slave;
336 return false;
337
338 chan->private = param;
339 return true; 336 return true;
340} 337}
341 338
@@ -360,16 +357,15 @@ static int siu_pcm_open(struct snd_pcm_substream *ss)
360 if (ss->stream == SNDRV_PCM_STREAM_PLAYBACK) { 357 if (ss->stream == SNDRV_PCM_STREAM_PLAYBACK) {
361 siu_stream = &port_info->playback; 358 siu_stream = &port_info->playback;
362 param = &siu_stream->param; 359 param = &siu_stream->param;
363 param->slave_id = port ? pdata->dma_slave_tx_b : 360 param->shdma_slave.slave_id = port ? pdata->dma_slave_tx_b :
364 pdata->dma_slave_tx_a; 361 pdata->dma_slave_tx_a;
365 } else { 362 } else {
366 siu_stream = &port_info->capture; 363 siu_stream = &port_info->capture;
367 param = &siu_stream->param; 364 param = &siu_stream->param;
368 param->slave_id = port ? pdata->dma_slave_rx_b : 365 param->shdma_slave.slave_id = port ? pdata->dma_slave_rx_b :
369 pdata->dma_slave_rx_a; 366 pdata->dma_slave_rx_a;
370 } 367 }
371 368
372 param->dma_dev = pdata->dma_dev;
373 /* Get DMA channel */ 369 /* Get DMA channel */
374 siu_stream->chan = dma_request_channel(mask, filter, param); 370 siu_stream->chan = dma_request_channel(mask, filter, param);
375 if (!siu_stream->chan) { 371 if (!siu_stream->chan) {