Lines Matching refs:dma

98 unsigned int comedi_isadma_poll(struct comedi_isadma *dma)  in comedi_isadma_poll()  argument
100 struct comedi_isadma_desc *desc = &dma->desc[dma->cur_dma]; in comedi_isadma_poll()
156 struct comedi_isadma *dma = NULL; in comedi_isadma_alloc() local
164 dma = kzalloc(sizeof(*dma), GFP_KERNEL); in comedi_isadma_alloc()
165 if (!dma) in comedi_isadma_alloc()
171 dma->desc = desc; in comedi_isadma_alloc()
172 dma->n_desc = n_desc; in comedi_isadma_alloc()
174 dma->dev = dev->hw_dev; in comedi_isadma_alloc()
184 dma->dev = dev->class_dev; in comedi_isadma_alloc()
195 dma->chan = dma_chans[0]; in comedi_isadma_alloc()
200 dma->chan2 = dma_chans[1]; in comedi_isadma_alloc()
203 desc = &dma->desc[i]; in comedi_isadma_alloc()
206 desc->virt_addr = dma_alloc_coherent(dma->dev, desc->maxsize, in comedi_isadma_alloc()
214 return dma; in comedi_isadma_alloc()
217 comedi_isadma_free(dma); in comedi_isadma_alloc()
226 void comedi_isadma_free(struct comedi_isadma *dma) in comedi_isadma_free() argument
231 if (!dma) in comedi_isadma_free()
234 if (dma->desc) { in comedi_isadma_free()
235 for (i = 0; i < dma->n_desc; i++) { in comedi_isadma_free()
236 desc = &dma->desc[i]; in comedi_isadma_free()
238 dma_free_coherent(dma->dev, desc->maxsize, in comedi_isadma_free()
242 kfree(dma->desc); in comedi_isadma_free()
244 if (dma->chan2 && dma->chan2 != dma->chan) in comedi_isadma_free()
245 free_dma(dma->chan2); in comedi_isadma_free()
246 if (dma->chan) in comedi_isadma_free()
247 free_dma(dma->chan); in comedi_isadma_free()
248 kfree(dma); in comedi_isadma_free()