Lines Matching refs:dma
39 int __init isa_dma_add(unsigned int chan, dma_t *dma) in isa_dma_add() argument
41 if (!dma->d_ops) in isa_dma_add()
44 sg_init_table(&dma->buf, 1); in isa_dma_add()
48 dma_chan[chan] = dma; in isa_dma_add()
59 dma_t *dma = dma_channel(chan); in request_dma() local
62 if (!dma) in request_dma()
65 if (xchg(&dma->lock, 1) != 0) in request_dma()
68 dma->device_id = device_id; in request_dma()
69 dma->active = 0; in request_dma()
70 dma->invalid = 1; in request_dma()
73 if (dma->d_ops->request) in request_dma()
74 ret = dma->d_ops->request(chan, dma); in request_dma()
77 xchg(&dma->lock, 0); in request_dma()
97 dma_t *dma = dma_channel(chan); in free_dma() local
99 if (!dma) in free_dma()
102 if (dma->active) { in free_dma()
104 dma->d_ops->disable(chan, dma); in free_dma()
105 dma->active = 0; in free_dma()
108 if (xchg(&dma->lock, 0) != 0) { in free_dma()
109 if (dma->d_ops->free) in free_dma()
110 dma->d_ops->free(chan, dma); in free_dma()
126 dma_t *dma = dma_channel(chan); in set_dma_sg() local
128 if (dma->active) in set_dma_sg()
131 dma->sg = sg; in set_dma_sg()
132 dma->sgcount = nr_sg; in set_dma_sg()
133 dma->invalid = 1; in set_dma_sg()
143 dma_t *dma = dma_channel(chan); in __set_dma_addr() local
145 if (dma->active) in __set_dma_addr()
148 dma->sg = NULL; in __set_dma_addr()
149 dma->addr = addr; in __set_dma_addr()
150 dma->invalid = 1; in __set_dma_addr()
160 dma_t *dma = dma_channel(chan); in set_dma_count() local
162 if (dma->active) in set_dma_count()
165 dma->sg = NULL; in set_dma_count()
166 dma->count = count; in set_dma_count()
167 dma->invalid = 1; in set_dma_count()
175 dma_t *dma = dma_channel(chan); in set_dma_mode() local
177 if (dma->active) in set_dma_mode()
180 dma->dma_mode = mode; in set_dma_mode()
181 dma->invalid = 1; in set_dma_mode()
189 dma_t *dma = dma_channel(chan); in enable_dma() local
191 if (!dma->lock) in enable_dma()
194 if (dma->active == 0) { in enable_dma()
195 dma->active = 1; in enable_dma()
196 dma->d_ops->enable(chan, dma); in enable_dma()
210 dma_t *dma = dma_channel(chan); in disable_dma() local
212 if (!dma->lock) in disable_dma()
215 if (dma->active == 1) { in disable_dma()
216 dma->active = 0; in disable_dma()
217 dma->d_ops->disable(chan, dma); in disable_dma()
232 dma_t *dma = dma_channel(chan); in dma_channel_active() local
233 return dma->active; in dma_channel_active()
245 dma_t *dma = dma_channel(chan); in set_dma_speed() local
248 if (dma->d_ops->setspeed) in set_dma_speed()
249 ret = dma->d_ops->setspeed(chan, dma, cycle_ns); in set_dma_speed()
250 dma->speed = ret; in set_dma_speed()
256 dma_t *dma = dma_channel(chan); in get_dma_residue() local
259 if (dma->d_ops->residue) in get_dma_residue()
260 ret = dma->d_ops->residue(chan, dma); in get_dma_residue()
272 dma_t *dma = dma_channel(i); in proc_dma_show() local
273 if (dma && dma->lock) in proc_dma_show()
274 seq_printf(m, "%2d: %s\n", i, dma->device_id); in proc_dma_show()