Lines Matching refs:dma
35 dma_t *dma = dma_chan + channel; in request_dma() local
38 if (channel >= MAX_DMA_CHANNELS || !dma->d_ops) in request_dma()
41 if (xchg(&dma->lock, 1) != 0) in request_dma()
44 dma->device_id = device_id; in request_dma()
45 dma->active = 0; in request_dma()
46 dma->invalid = 1; in request_dma()
49 if (dma->d_ops->request) in request_dma()
50 ret = dma->d_ops->request(channel, dma); in request_dma()
53 xchg(&dma->lock, 0); in request_dma()
73 dma_t *dma = dma_chan + channel; in free_dma() local
75 if (channel >= MAX_DMA_CHANNELS || !dma->d_ops) in free_dma()
78 if (dma->active) { in free_dma()
80 dma->d_ops->disable(channel, dma); in free_dma()
81 dma->active = 0; in free_dma()
84 if (xchg(&dma->lock, 0) != 0) { in free_dma()
85 if (dma->d_ops->free) in free_dma()
86 dma->d_ops->free(channel, dma); in free_dma()
102 dma_t *dma = dma_chan + channel; in set_dma_sg() local
104 if (dma->active) in set_dma_sg()
108 dma->sg = sg; in set_dma_sg()
109 dma->sgcount = nr_sg; in set_dma_sg()
110 dma->invalid = 1; in set_dma_sg()
120 dma_t *dma = dma_chan + channel; in __set_dma_addr() local
122 if (dma->active) in __set_dma_addr()
126 dma->sg = NULL; in __set_dma_addr()
127 dma->addr = addr; in __set_dma_addr()
128 dma->invalid = 1; in __set_dma_addr()
138 dma_t *dma = dma_chan + channel; in set_dma_count() local
140 if (dma->active) in set_dma_count()
144 dma->sg = NULL; in set_dma_count()
145 dma->count = count; in set_dma_count()
146 dma->invalid = 1; in set_dma_count()
154 dma_t *dma = dma_chan + channel; in set_dma_mode() local
156 if (dma->active) in set_dma_mode()
160 dma->dma_mode = mode; in set_dma_mode()
161 dma->invalid = 1; in set_dma_mode()
169 dma_t *dma = dma_chan + channel; in enable_dma() local
171 if (!dma->lock) in enable_dma()
174 if (dma->active == 0) { in enable_dma()
175 dma->active = 1; in enable_dma()
176 dma->d_ops->enable(channel, dma); in enable_dma()
190 dma_t *dma = dma_chan + channel; in disable_dma() local
192 if (!dma->lock) in disable_dma()
195 if (dma->active == 1) { in disable_dma()
196 dma->active = 0; in disable_dma()
197 dma->d_ops->disable(channel, dma); in disable_dma()
224 dma_t *dma = dma_chan + channel; in set_dma_speed() local
227 if (dma->d_ops->setspeed) in set_dma_speed()
228 ret = dma->d_ops->setspeed(channel, dma, cycle_ns); in set_dma_speed()
229 dma->speed = ret; in set_dma_speed()
235 dma_t *dma = dma_chan + channel; in get_dma_residue() local
238 if (dma->d_ops->residue) in get_dma_residue()
239 ret = dma->d_ops->residue(channel, dma); in get_dma_residue()