Lines Matching refs:dmaen
102 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
104 if (dmaen->chan)
105 dmaengine_terminate_async(dmaen->chan);
115 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
122 if (dmaen->chan)
123 dma_release_channel(dmaen->chan);
125 dmaen->chan = NULL;
135 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
139 if (dmaen->chan)
147 dmaen->chan = rsnd_dmaen_request_channel(io,
150 if (IS_ERR_OR_NULL(dmaen->chan)) {
151 dmaen->chan = NULL;
164 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
208 ret = dmaengine_slave_config(dmaen->chan, &cfg);
212 desc = dmaengine_prep_dma_cyclic(dmaen->chan,
227 dmaen->dma_len = snd_pcm_lib_buffer_bytes(substream);
229 dmaen->cookie = dmaengine_submit(desc);
230 if (dmaen->cookie < 0) {
235 dma_async_issue_pending(dmaen->chan);
312 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
317 status = dmaengine_tx_status(dmaen->chan, dmaen->cookie, &state);
319 if (state.residue > 0 && state.residue <= dmaen->dma_len)
320 pos = dmaen->dma_len - state.residue;