Lines Matching refs:dmanr
207 static __inline__ void enable_dma(unsigned int dmanr) in enable_dma() argument
209 if (dmanr<=3) in enable_dma()
210 dma_outb(dmanr, DMA1_MASK_REG); in enable_dma()
212 dma_outb(dmanr & 3, DMA2_MASK_REG); in enable_dma()
215 static __inline__ void disable_dma(unsigned int dmanr) in disable_dma() argument
217 if (dmanr<=3) in disable_dma()
218 dma_outb(dmanr | 4, DMA1_MASK_REG); in disable_dma()
220 dma_outb((dmanr & 3) | 4, DMA2_MASK_REG); in disable_dma()
230 static __inline__ void clear_dma_ff(unsigned int dmanr) in clear_dma_ff() argument
232 if (dmanr<=3) in clear_dma_ff()
239 static __inline__ void set_dma_mode(unsigned int dmanr, char mode) in set_dma_mode() argument
241 if (dmanr<=3) in set_dma_mode()
242 dma_outb(mode | dmanr, DMA1_MODE_REG); in set_dma_mode()
244 dma_outb(mode | (dmanr&3), DMA2_MODE_REG); in set_dma_mode()
248 static __inline__ void set_dma_ext_mode(unsigned int dmanr, char ext_mode) in set_dma_ext_mode() argument
250 if (dmanr<=3) in set_dma_ext_mode()
251 dma_outb(ext_mode | dmanr, DMA1_EXT_MODE_REG); in set_dma_ext_mode()
253 dma_outb(ext_mode | (dmanr&3), DMA2_EXT_MODE_REG); in set_dma_ext_mode()
260 static __inline__ void set_dma_page(unsigned int dmanr, unsigned int pagenr) in set_dma_page() argument
262 switch(dmanr) { in set_dma_page()
298 static __inline__ void set_dma_addr(unsigned int dmanr, unsigned int a) in set_dma_addr() argument
300 if (dmanr <= 3) { in set_dma_addr()
301 dma_outb( a & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE ); in set_dma_addr()
302 dma_outb( (a>>8) & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE ); in set_dma_addr()
304 dma_outb( (a>>1) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE ); in set_dma_addr()
305 dma_outb( (a>>9) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE ); in set_dma_addr()
307 set_dma_page(dmanr, a>>16); /* set hipage last to enable 32-bit mode */ in set_dma_addr()
319 static __inline__ void set_dma_count(unsigned int dmanr, unsigned int count) in set_dma_count() argument
322 if (dmanr <= 3) { in set_dma_count()
323 dma_outb( count & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE ); in set_dma_count()
324 dma_outb( (count>>8) & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE ); in set_dma_count()
326 dma_outb( (count>>1) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE ); in set_dma_count()
327 dma_outb( (count>>9) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE ); in set_dma_count()
340 static __inline__ int get_dma_residue(unsigned int dmanr) in get_dma_residue() argument
342 unsigned int io_port = (dmanr<=3)? ((dmanr&3)<<1) + 1 + IO_DMA1_BASE in get_dma_residue()
343 : ((dmanr&3)<<2) + 2 + IO_DMA2_BASE; in get_dma_residue()
351 return (dmanr<=3)? count : (count<<1); in get_dma_residue()
356 extern int request_dma(unsigned int dmanr, const char * device_id); /* reserve a DMA channel */
357 extern void free_dma(unsigned int dmanr); /* release it again */
359 extern int check_dma(unsigned int dmanr);