Lines Matching refs:dma
29 struct dma_struct dma; member
60 if (idma->dma.sg) { in iomd_get_next_sg()
78 if (idma->dma.sgcount > 1) { in iomd_get_next_sg()
79 idma->dma.sg = sg_next(idma->dma.sg); in iomd_get_next_sg()
80 idma->dma_addr = idma->dma.sg->dma_address; in iomd_get_next_sg()
81 idma->dma_len = idma->dma.sg->length; in iomd_get_next_sg()
82 idma->dma.sgcount--; in iomd_get_next_sg()
84 idma->dma.sg = NULL; in iomd_get_next_sg()
139 static int iomd_request_dma(unsigned int chan, dma_t *dma) in iomd_request_dma() argument
141 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma); in iomd_request_dma()
144 0, idma->dma.device_id, idma); in iomd_request_dma()
147 static void iomd_free_dma(unsigned int chan, dma_t *dma) in iomd_free_dma() argument
149 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma); in iomd_free_dma()
154 static void iomd_enable_dma(unsigned int chan, dma_t *dma) in iomd_enable_dma() argument
156 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma); in iomd_enable_dma()
160 if (idma->dma.invalid) { in iomd_enable_dma()
161 idma->dma.invalid = 0; in iomd_enable_dma()
167 if (!idma->dma.sg) { in iomd_enable_dma()
168 idma->dma.sg = &idma->dma.buf; in iomd_enable_dma()
169 idma->dma.sgcount = 1; in iomd_enable_dma()
170 idma->dma.buf.length = idma->dma.count; in iomd_enable_dma()
171 idma->dma.buf.dma_address = dma_map_single(NULL, in iomd_enable_dma()
172 idma->dma.addr, idma->dma.count, in iomd_enable_dma()
173 idma->dma.dma_mode == DMA_MODE_READ ? in iomd_enable_dma()
181 if (idma->dma.dma_mode == DMA_MODE_READ) in iomd_enable_dma()
188 static void iomd_disable_dma(unsigned int chan, dma_t *dma) in iomd_disable_dma() argument
190 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma); in iomd_disable_dma()
201 static int iomd_set_dma_speed(unsigned int chan, dma_t *dma, int cycle) in iomd_set_dma_speed() argument
257 struct dma_struct dma; member
261 static void floppy_enable_dma(unsigned int chan, dma_t *dma) in floppy_enable_dma() argument
263 struct floppy_dma *fdma = container_of(dma, struct floppy_dma, dma); in floppy_enable_dma()
268 if (fdma->dma.sg) in floppy_enable_dma()
271 if (fdma->dma.dma_mode == DMA_MODE_READ) { in floppy_enable_dma()
281 regs.ARM_r9 = fdma->dma.count; in floppy_enable_dma()
282 regs.ARM_r10 = (unsigned long)fdma->dma.addr; in floppy_enable_dma()
295 static void floppy_disable_dma(unsigned int chan, dma_t *dma) in floppy_disable_dma() argument
297 struct floppy_dma *fdma = container_of(dma, struct floppy_dma, dma); in floppy_disable_dma()
302 static int floppy_get_residue(unsigned int chan, dma_t *dma) in floppy_get_residue() argument
319 static void sound_enable_disable_dma(unsigned int chan, dma_t *dma) in sound_enable_disable_dma() argument
332 .dma = {
374 iomd_dma[i].dma.d_ops = &iomd_dma_ops; in rpc_dma_init()
376 ret = isa_dma_add(i, &iomd_dma[i].dma); in rpc_dma_init()
381 ret = isa_dma_add(DMA_VIRTUAL_FLOPPY, &floppy_dma.dma); in rpc_dma_init()