Lines Matching refs:desc
17 * @desc: the ISA DMA cookie to program and enable
19 void comedi_isadma_program(struct comedi_isadma_desc *desc)
24 clear_dma_ff(desc->chan);
25 set_dma_mode(desc->chan, desc->mode);
26 set_dma_addr(desc->chan, desc->hw_addr);
27 set_dma_count(desc->chan, desc->size);
28 enable_dma(desc->chan);
100 struct comedi_isadma_desc *desc = &dma->desc[dma->cur_dma];
106 clear_dma_ff(desc->chan);
108 disable_dma(desc->chan);
109 result = get_dma_residue(desc->chan);
115 result1 = get_dma_residue(desc->chan);
117 enable_dma(desc->chan);
122 if (result >= desc->size || result == 0)
124 return desc->size - result;
130 * @desc: the ISA DMA cookie to set
133 void comedi_isadma_set_mode(struct comedi_isadma_desc *desc, char dma_dir)
135 desc->mode = (dma_dir == COMEDI_ISADMA_READ) ? DMA_MODE_READ
157 struct comedi_isadma_desc *desc;
168 desc = kcalloc(n_desc, sizeof(*desc), GFP_KERNEL);
169 if (!desc)
171 dma->desc = desc;
203 desc = &dma->desc[i];
204 desc->chan = dma_chans[i];
205 desc->maxsize = maxsize;
206 desc->virt_addr = dma_alloc_coherent(dma->dev, desc->maxsize,
207 &desc->hw_addr,
209 if (!desc->virt_addr)
211 comedi_isadma_set_mode(desc, dma_dir);
228 struct comedi_isadma_desc *desc;
234 if (dma->desc) {
236 desc = &dma->desc[i];
237 if (desc->virt_addr)
238 dma_free_coherent(dma->dev, desc->maxsize,
239 desc->virt_addr,
240 desc->hw_addr);
242 kfree(dma->desc);