• Home
  • Raw
  • Download

Lines Matching refs:dma

119 					 struct cs5535audio_dma *dma,  in cs5535audio_build_dma_packets()  argument
131 if (dma->desc_buf.area == NULL) { in cs5535audio_build_dma_packets()
135 &dma->desc_buf) < 0) in cs5535audio_build_dma_packets()
137 dma->period_bytes = dma->periods = 0; in cs5535audio_build_dma_packets()
140 if (dma->periods == periods && dma->period_bytes == period_bytes) in cs5535audio_build_dma_packets()
146 desc_addr = (u32) dma->desc_buf.addr; in cs5535audio_build_dma_packets()
149 &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[i]; in cs5535audio_build_dma_packets()
157 lastdesc = &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[periods]; in cs5535audio_build_dma_packets()
158 lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr); in cs5535audio_build_dma_packets()
161 jmpprd_addr = (u32)dma->desc_buf.addr + in cs5535audio_build_dma_packets()
164 dma->substream = substream; in cs5535audio_build_dma_packets()
165 dma->period_bytes = period_bytes; in cs5535audio_build_dma_packets()
166 dma->periods = periods; in cs5535audio_build_dma_packets()
168 dma->ops->disable_dma(cs5535au); in cs5535audio_build_dma_packets()
169 dma->ops->setup_prd(cs5535au, jmpprd_addr); in cs5535audio_build_dma_packets()
237 struct cs5535audio_dma *dma, in cs5535audio_clear_dma_packets() argument
240 snd_dma_free_pages(&dma->desc_buf); in cs5535audio_clear_dma_packets()
241 dma->desc_buf.area = NULL; in cs5535audio_clear_dma_packets()
242 dma->substream = NULL; in cs5535audio_clear_dma_packets()
249 struct cs5535audio_dma *dma = substream->runtime->private_data; in snd_cs5535audio_hw_params() local
256 dma->buf_addr = substream->runtime->dma_addr; in snd_cs5535audio_hw_params()
257 dma->buf_bytes = params_buffer_bytes(hw_params); in snd_cs5535audio_hw_params()
259 err = cs5535audio_build_dma_packets(cs5535au, dma, substream, in snd_cs5535audio_hw_params()
263 dma->pcm_open_flag = 1; in snd_cs5535audio_hw_params()
271 struct cs5535audio_dma *dma = substream->runtime->private_data; in snd_cs5535audio_hw_free() local
273 if (dma->pcm_open_flag) { in snd_cs5535audio_hw_free()
280 dma->pcm_open_flag = 0; in snd_cs5535audio_hw_free()
282 cs5535audio_clear_dma_packets(cs5535au, dma, substream); in snd_cs5535audio_hw_free()
296 struct cs5535audio_dma *dma = substream->runtime->private_data; in snd_cs5535audio_trigger() local
302 dma->ops->pause_dma(cs5535au); in snd_cs5535audio_trigger()
305 dma->ops->enable_dma(cs5535au); in snd_cs5535audio_trigger()
308 dma->ops->enable_dma(cs5535au); in snd_cs5535audio_trigger()
311 dma->ops->enable_dma(cs5535au); in snd_cs5535audio_trigger()
314 dma->ops->disable_dma(cs5535au); in snd_cs5535audio_trigger()
317 dma->ops->disable_dma(cs5535au); in snd_cs5535audio_trigger()
333 struct cs5535audio_dma *dma; in snd_cs5535audio_pcm_pointer() local
335 dma = substream->runtime->private_data; in snd_cs5535audio_pcm_pointer()
336 curdma = dma->ops->read_dma_pntr(cs5535au); in snd_cs5535audio_pcm_pointer()
337 if (curdma < dma->buf_addr) { in snd_cs5535audio_pcm_pointer()
339 curdma, dma->buf_addr); in snd_cs5535audio_pcm_pointer()
342 curdma -= dma->buf_addr; in snd_cs5535audio_pcm_pointer()
343 if (curdma >= dma->buf_bytes) { in snd_cs5535audio_pcm_pointer()
345 curdma, dma->buf_bytes); in snd_cs5535audio_pcm_pointer()