Lines Matching refs:dmaen
101 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
103 if (dmaen->chan)
104 dmaengine_terminate_all(dmaen->chan);
114 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
121 if (dmaen->chan)
122 dma_release_channel(dmaen->chan);
124 dmaen->chan = NULL;
134 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
138 if (dmaen->chan)
146 dmaen->chan = rsnd_dmaen_request_channel(io,
149 if (IS_ERR_OR_NULL(dmaen->chan)) {
150 dmaen->chan = NULL;
163 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
207 ret = dmaengine_slave_config(dmaen->chan, &cfg);
211 desc = dmaengine_prep_dma_cyclic(dmaen->chan,
226 dmaen->dma_len = snd_pcm_lib_buffer_bytes(substream);
228 dmaen->cookie = dmaengine_submit(desc);
229 if (dmaen->cookie < 0) {
234 dma_async_issue_pending(dmaen->chan);
302 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
307 status = dmaengine_tx_status(dmaen->chan, dmaen->cookie, &state);
309 if (state.residue > 0 && state.residue <= dmaen->dma_len)
310 pos = dmaen->dma_len - state.residue;