Lines Matching defs:dma

3  *  linux/arch/arm/mach-rpc/dma.c
12 #include <linux/dma-mapping.h>
16 #include <asm/dma.h>
22 #include <asm/mach/dma.h>
26 struct dma_struct dma;
58 if (idma->dma.sg) {
76 if (idma->dma.sgcount > 1) {
77 idma->dma.sg = sg_next(idma->dma.sg);
78 idma->dma_addr = idma->dma.sg->dma_address;
79 idma->dma_len = idma->dma.sg->length;
80 idma->dma.sgcount--;
82 idma->dma.sg = NULL;
134 static int iomd_request_dma(unsigned int chan, dma_t *dma)
136 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma);
139 0, idma->dma.device_id, idma);
142 static void iomd_free_dma(unsigned int chan, dma_t *dma)
144 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma);
155 static void iomd_enable_dma(unsigned int chan, dma_t *dma)
157 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma);
161 if (idma->dma.invalid) {
162 idma->dma.invalid = 0;
168 if (!idma->dma.sg) {
169 idma->dma.sg = &idma->dma.buf;
170 idma->dma.sgcount = 1;
171 idma->dma.buf.length = idma->dma.count;
172 idma->dma.buf.dma_address = dma_map_single(&isa_dma_dev,
173 idma->dma.addr, idma->dma.count,
174 idma->dma.dma_mode == DMA_MODE_READ ?
178 idma->dma_addr = idma->dma.sg->dma_address;
179 idma->dma_len = idma->dma.sg->length;
185 if (idma->dma.dma_mode == DMA_MODE_READ)
192 static void iomd_disable_dma(unsigned int chan, dma_t *dma)
194 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma);
205 static int iomd_set_dma_speed(unsigned int chan, dma_t *dma, int cycle)
261 struct dma_struct dma;
265 static void floppy_enable_dma(unsigned int chan, dma_t *dma)
267 struct floppy_dma *fdma = container_of(dma, struct floppy_dma, dma);
272 if (fdma->dma.sg)
275 if (fdma->dma.dma_mode == DMA_MODE_READ) {
285 regs.ARM_r9 = fdma->dma.count;
286 regs.ARM_r10 = (unsigned long)fdma->dma.addr;
299 static void floppy_disable_dma(unsigned int chan, dma_t *dma)
301 struct floppy_dma *fdma = container_of(dma, struct floppy_dma, dma);
306 static int floppy_get_residue(unsigned int chan, dma_t *dma)
323 static void sound_enable_disable_dma(unsigned int chan, dma_t *dma)
336 .dma = {
378 iomd_dma[i].dma.d_ops = &iomd_dma_ops;
380 ret = isa_dma_add(i, &iomd_dma[i].dma);
385 ret = isa_dma_add(DMA_VIRTUAL_FLOPPY, &floppy_dma.dma);