diff options
author | bde <bde@FreeBSD.org> | 1996-01-27 02:33:48 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1996-01-27 02:33:48 +0000 |
commit | b367666afd7d12a7802e173170448bcd9f13d89b (patch) | |
tree | 89c9bb6e9d083a3f547ce32b8b591b9a773993b4 /sys/i386/isa/wt.c | |
parent | ae64a265a89555df45a3ad36f4cb2ef096386a30 (diff) | |
download | FreeBSD-src-b367666afd7d12a7802e173170448bcd9f13d89b.zip FreeBSD-src-b367666afd7d12a7802e173170448bcd9f13d89b.tar.gz |
Allocate DMA bounce buffers only when requested by drivers. Only the
fd and wt drivers need bounce buffers, so this normally saves 32K-1K
of kernel memory.
Keep track of which DMA channels are busy. isa_dmadone() must now be
called when DMA has finished or been aborted.
Panic for unallocated and too-small (required) bounce buffers.
fd.c:
There will be new warnings about isa_dmadone() not being called after
DMA has been aborted.
sound/dmabuf.c:
isa_dmadone() needs more parameters than are available, so temporarily
use a new interface isa_dmadone_nobounce() to avoid having to worry
about panics for fake parameters. Untested.
Diffstat (limited to 'sys/i386/isa/wt.c')
-rw-r--r-- | sys/i386/isa/wt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/i386/isa/wt.c b/sys/i386/isa/wt.c index 08e49f9..f571e46 100644 --- a/sys/i386/isa/wt.c +++ b/sys/i386/isa/wt.c @@ -19,7 +19,7 @@ * the original CMU copyright notice. * * Version 1.3, Thu Nov 11 12:09:13 MSK 1993 - * $Id: wt.c,v 1.27 1995/12/22 15:39:45 bde Exp $ + * $Id: wt.c,v 1.28 1996/01/08 12:46:14 joerg Exp $ * */ @@ -293,6 +293,7 @@ wtattach (struct isa_device *id) t->flags = TPSTART; /* tape is rewound */ t->dens = -1; /* unknown density */ kdc_wt[id->id_unit].kdc_state = DC_IDLE; + isa_dmainit(t->chan, 1024); #ifdef DEVFS sprintf(name,"rwt%d",id->id_unit); |