mirror of https://github.com/thesofproject/sof.git
host: fix wrong usage of dma_channel_get
Need not to use stream tag for dw_dma as the comment said Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This commit is contained in:
parent
44ea105c06
commit
a9157a7d92
|
@ -514,10 +514,7 @@ static int host_params(struct comp_dev *dev)
|
||||||
config->dest_width = comp_sample_bytes(dev);
|
config->dest_width = comp_sample_bytes(dev);
|
||||||
config->cyclic = 0;
|
config->cyclic = 0;
|
||||||
|
|
||||||
#if !defined CONFIG_DMA_GW
|
#if defined CONFIG_DMA_GW
|
||||||
host_elements_reset(dev);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dev->params.stream_tag -= 1;
|
dev->params.stream_tag -= 1;
|
||||||
/* get DMA channel from DMAC
|
/* get DMA channel from DMAC
|
||||||
* note: stream_tag is ignored by dw-dma
|
* note: stream_tag is ignored by dw-dma
|
||||||
|
@ -527,13 +524,22 @@ static int host_params(struct comp_dev *dev)
|
||||||
trace_host_error("eDC");
|
trace_host_error("eDC");
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
#if defined CONFIG_DMA_GW
|
|
||||||
err = dma_set_config(hd->dma, hd->chan, &hd->config);
|
err = dma_set_config(hd->dma, hd->chan, &hd->config);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
trace_host_error("eDc");
|
trace_host_error("eDc");
|
||||||
dma_channel_put(hd->dma, hd->chan);
|
dma_channel_put(hd->dma, hd->chan);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
host_elements_reset(dev);
|
||||||
|
/* get DMA channel from DMAC
|
||||||
|
* note: stream_tag is ignored by dw-dma
|
||||||
|
*/
|
||||||
|
hd->chan = dma_channel_get(hd->dma, 0);
|
||||||
|
if (hd->chan < 0) {
|
||||||
|
trace_host_error("eDC");
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
/* set up callback */
|
/* set up callback */
|
||||||
dma_set_cb(hd->dma, hd->chan, DMA_IRQ_TYPE_LLIST,
|
dma_set_cb(hd->dma, hd->chan, DMA_IRQ_TYPE_LLIST,
|
||||||
|
|
Loading…
Reference in New Issue