Lines Matching defs:chan
44 static int isa_get_dma_residue(unsigned int chan, dma_t *dma)
46 unsigned int io_port = isa_dma_port[chan][ISA_DMA_COUNT];
52 return chan < 4 ? count : (count << 1);
61 static void isa_enable_dma(unsigned int chan, dma_t *dma)
68 mode = (chan & 3) | dma->dma_mode;
103 outb(address >> 16, isa_dma_port[chan][ISA_DMA_PGLO]);
104 outb(address >> 24, isa_dma_port[chan][ISA_DMA_PGHI]);
106 if (chan >= 4) {
111 outb(0, isa_dma_port[chan][ISA_DMA_CLRFF]);
113 outb(address, isa_dma_port[chan][ISA_DMA_ADDR]);
114 outb(address >> 8, isa_dma_port[chan][ISA_DMA_ADDR]);
116 outb(length, isa_dma_port[chan][ISA_DMA_COUNT]);
117 outb(length >> 8, isa_dma_port[chan][ISA_DMA_COUNT]);
119 outb(mode, isa_dma_port[chan][ISA_DMA_MODE]);
122 outb(chan & 3, isa_dma_port[chan][ISA_DMA_MASK]);
125 static void isa_disable_dma(unsigned int chan, dma_t *dma)
127 outb(chan | 4, isa_dma_port[chan][ISA_DMA_MASK]);
178 unsigned int chan, i;
180 for (chan = 0; chan < 8; chan++) {
181 isa_dma[chan].d_ops = &isa_dma_ops;
182 isa_disable_dma(chan, NULL);
216 for (chan = 0; chan < 8; chan++) {
217 int ret = isa_dma_add(chan, &isa_dma[chan]);
220 chan, ret);