.. | .. |
---|
207 | 207 | be_chan = soc_component_to_pcm(component_be)->chan[substream->stream]; |
---|
208 | 208 | tmp_chan = be_chan; |
---|
209 | 209 | } |
---|
210 | | - if (!tmp_chan) |
---|
211 | | - tmp_chan = dma_request_slave_channel(dev_be, tx ? "tx" : "rx"); |
---|
| 210 | + if (!tmp_chan) { |
---|
| 211 | + tmp_chan = dma_request_chan(dev_be, tx ? "tx" : "rx"); |
---|
| 212 | + if (IS_ERR(tmp_chan)) { |
---|
| 213 | + dev_err(dev, "failed to request DMA channel for Back-End\n"); |
---|
| 214 | + return -EINVAL; |
---|
| 215 | + } |
---|
| 216 | + } |
---|
212 | 217 | |
---|
213 | 218 | /* |
---|
214 | 219 | * An EDMA DEV_TO_DEV channel is fixed and bound with DMA event of each |
---|
215 | 220 | * peripheral, unlike SDMA channel that is allocated dynamically. So no |
---|
216 | 221 | * need to configure dma_request and dma_request2, but get dma_chan of |
---|
217 | | - * Back-End device directly via dma_request_slave_channel. |
---|
| 222 | + * Back-End device directly via dma_request_chan. |
---|
218 | 223 | */ |
---|
219 | 224 | if (!asrc->use_edma) { |
---|
220 | 225 | /* Get DMA request of Back-End */ |
---|