Lines Matching refs:dmaen

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