diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2000-03-13 10:19:32 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2000-03-13 10:19:32 +0000 |
| commit | d8b47cbb70820a0b1db9bc5c429482c55fdeb468 (patch) | |
| tree | 6fca4e3a46dd54c85e0f62ac9a33693dd2c273c8 /sys/amd64 | |
| parent | 3f30603cfb912c88ba1ef3b693e76ce57dade192 (diff) | |
Notes
Diffstat (limited to 'sys/amd64')
| -rw-r--r-- | sys/amd64/isa/isa_dma.c | 23 | ||||
| -rw-r--r-- | sys/amd64/isa/isa_dma.h | 5 |
2 files changed, 16 insertions, 12 deletions
diff --git a/sys/amd64/isa/isa_dma.c b/sys/amd64/isa/isa_dma.c index 698c67004a7e..1cc1ea8bfb41 100644 --- a/sys/amd64/isa/isa_dma.c +++ b/sys/amd64/isa/isa_dma.c @@ -49,7 +49,6 @@ #include <sys/param.h> #include <sys/systm.h> -#include <sys/buf.h> /* B_READ and B_RAW */ #include <sys/malloc.h> #include <vm/vm.h> #include <vm/vm_param.h> @@ -244,7 +243,7 @@ isa_dmastart(int flags, caddr_t addr, u_int nbytes, int chan) newaddr = dma_bouncebuf[chan]; /* copy bounce buffer on write */ - if (!(flags & B_READ)) + if (!(flags & ISADMA_READ)) bcopy(addr, newaddr, nbytes); addr = newaddr; } @@ -252,7 +251,7 @@ isa_dmastart(int flags, caddr_t addr, u_int nbytes, int chan) /* translate to physical */ phys = pmap_extract(pmap_kernel(), (vm_offset_t)addr); - if (flags & B_RAW) { + if (flags & ISADMA_RAW) { dma_auto_mode |= (1 << chan); } else { dma_auto_mode &= ~(1 << chan); @@ -265,15 +264,15 @@ isa_dmastart(int flags, caddr_t addr, u_int nbytes, int chan) */ /* set dma channel mode, and reset address ff */ - /* If B_RAW flag is set, then use autoinitialise mode */ - if (flags & B_RAW) { - if (flags & B_READ) + /* If ISADMA_RAW flag is set, then use autoinitialise mode */ + if (flags & ISADMA_RAW) { + if (flags & ISADMA_READ) outb(DMA1_MODE, DMA37MD_AUTO|DMA37MD_WRITE|chan); else outb(DMA1_MODE, DMA37MD_AUTO|DMA37MD_READ|chan); } else - if (flags & B_READ) + if (flags & ISADMA_READ) outb(DMA1_MODE, DMA37MD_SINGLE|DMA37MD_WRITE|chan); else outb(DMA1_MODE, DMA37MD_SINGLE|DMA37MD_READ|chan); @@ -298,15 +297,15 @@ isa_dmastart(int flags, caddr_t addr, u_int nbytes, int chan) */ /* set dma channel mode, and reset address ff */ - /* If B_RAW flag is set, then use autoinitialise mode */ - if (flags & B_RAW) { - if (flags & B_READ) + /* If ISADMA_RAW flag is set, then use autoinitialise mode */ + if (flags & ISADMA_RAW) { + if (flags & ISADMA_READ) outb(DMA2_MODE, DMA37MD_AUTO|DMA37MD_WRITE|(chan&3)); else outb(DMA2_MODE, DMA37MD_AUTO|DMA37MD_READ|(chan&3)); } else - if (flags & B_READ) + if (flags & ISADMA_READ) outb(DMA2_MODE, DMA37MD_SINGLE|DMA37MD_WRITE|(chan&3)); else outb(DMA2_MODE, DMA37MD_SINGLE|DMA37MD_READ|(chan&3)); @@ -348,7 +347,7 @@ isa_dmadone(int flags, caddr_t addr, int nbytes, int chan) if (dma_bounced & (1 << chan)) { /* copy bounce buffer on read */ - if (flags & B_READ) + if (flags & ISADMA_READ) bcopy(dma_bouncebuf[chan], addr, nbytes); dma_bounced &= ~(1 << chan); diff --git a/sys/amd64/isa/isa_dma.h b/sys/amd64/isa/isa_dma.h index 7f9396a2fb06..60a69bfc98bd 100644 --- a/sys/amd64/isa/isa_dma.h +++ b/sys/amd64/isa/isa_dma.h @@ -38,6 +38,11 @@ #define _I386_ISA_ISA_DMA_H_ #ifdef _KERNEL + +#define ISADMA_READ 0x00100000 +#define ISADMA_WRITE 0 +#define ISADMA_RAW 0x00080000 + void isa_dmacascade __P((int chan)); void isa_dmadone __P((int flags, caddr_t addr, int nbytes, int chan)); void isa_dmainit __P((int chan, u_int bouncebufsize)); |
