taglinefilesource code
dmanr126include/asm/dma.hstatic __inline__ void enable_dma(unsigned int dmanr)
dmanr128include/asm/dma.hif (dmanr<=3)
dmanr129include/asm/dma.houtb(dmanr,  DMA1_MASK_REG);
dmanr131include/asm/dma.houtb(dmanr & 3,  DMA2_MASK_REG);
dmanr134include/asm/dma.hstatic __inline__ void disable_dma(unsigned int dmanr)
dmanr136include/asm/dma.hif (dmanr<=3)
dmanr137include/asm/dma.houtb(dmanr | 4,  DMA1_MASK_REG);
dmanr139include/asm/dma.houtb((dmanr & 3) | 4,  DMA2_MASK_REG);
dmanr149include/asm/dma.hstatic __inline__ void clear_dma_ff(unsigned int dmanr)
dmanr151include/asm/dma.hif (dmanr<=3)
dmanr158include/asm/dma.hstatic __inline__ void set_dma_mode(unsigned int dmanr, char mode)
dmanr160include/asm/dma.hif (dmanr<=3)
dmanr161include/asm/dma.houtb(mode | dmanr,  DMA1_MODE_REG);
dmanr163include/asm/dma.houtb(mode | (dmanr&3),  DMA2_MODE_REG);
dmanr171include/asm/dma.hstatic __inline__ void set_dma_page(unsigned int dmanr, char pagenr)
dmanr173include/asm/dma.hswitch(dmanr) {
dmanr202include/asm/dma.hstatic __inline__ void set_dma_addr(unsigned int dmanr, unsigned int a)
dmanr204include/asm/dma.hset_dma_page(dmanr, a>>16);
dmanr205include/asm/dma.hif (dmanr <= 3)  {
dmanr206include/asm/dma.houtb( a & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE );
dmanr207include/asm/dma.houtb( (a>>8) & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE );
dmanr209include/asm/dma.houtb( (a>>1) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE );
dmanr210include/asm/dma.houtb( (a>>9) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE );
dmanr223include/asm/dma.hstatic __inline__ void set_dma_count(unsigned int dmanr, unsigned int count)
dmanr226include/asm/dma.hif (dmanr <= 3)  {
dmanr227include/asm/dma.houtb( count & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE );
dmanr228include/asm/dma.houtb( (count>>8) & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE );
dmanr230include/asm/dma.houtb( (count>>1) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE );
dmanr231include/asm/dma.houtb( (count>>9) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE );
dmanr244include/asm/dma.hstatic __inline__ int get_dma_residue(unsigned int dmanr)
dmanr246include/asm/dma.hunsigned int io_port = (dmanr<=3)? ((dmanr&3)<<1) + 1 + IO_DMA1_BASE
dmanr247include/asm/dma.h: ((dmanr&3)<<2) + 2 + IO_DMA2_BASE;
dmanr255include/asm/dma.hreturn (dmanr<=3)? count : (count<<1);
dmanr260include/asm/dma.hextern int request_dma(unsigned int dmanr);  /* reserve a DMA channel */
dmanr261include/asm/dma.hextern void free_dma(unsigned int dmanr);  /* release it again */
dmanr64kernel/dma.cint request_dma(unsigned int dmanr)
dmanr66kernel/dma.cif (dmanr >= MAX_DMA_CHANNELS)
dmanr69kernel/dma.cif (mutex_atomic_swap(&dma_chan_busy[dmanr], 1) != 0)
dmanr77kernel/dma.cvoid free_dma(unsigned int dmanr)
dmanr79kernel/dma.cif (dmanr >= MAX_DMA_CHANNELS) {
dmanr80kernel/dma.cprintk("Trying to free DMA%d\n", dmanr);
dmanr84kernel/dma.cif (mutex_atomic_swap(&dma_chan_busy[dmanr], 0) == 0)
dmanr85kernel/dma.cprintk("Trying to free free DMA%d\n", dmanr);