Lines Matching refs:dmaen

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