Subject: CVS commit: src/sys
To: None <source-changes@netbsd.org>
From: Frank van der Linden <fvdl@netbsd.org>
List: source-changes
Date: 05/09/2003 23:51:30
Module Name:	src
Committed By:	fvdl
Date:		Fri May  9 23:51:30 UTC 2003

Modified Files:
	src/sys/arch/algor/include: isa_machdep.h
	src/sys/arch/alpha/include: isa_machdep.h
	src/sys/arch/arc/include: isa_machdep.h
	src/sys/arch/arm/include: isa_machdep.h
	src/sys/arch/atari/include: isa_machdep.h
	src/sys/arch/bebox/include: isa_machdep.h
	src/sys/arch/hpcmips/include: isa_machdep.h
	src/sys/arch/mips/include: isa_machdep.h
	src/sys/arch/mipsco/include: isa_machdep.h
	src/sys/arch/mvmeppc/include: isa_machdep.h
	src/sys/arch/prep/include: isa_machdep.h
	src/sys/arch/sandpoint/include: isa_machdep.h
	src/sys/arch/x86/include: isa_machdep.h
	src/sys/dev/isa: ad1848_isa.c cs89x0isa.c ess.c fd.c gus.c isadma.c
	    isadmavar.h isavar.h satlink.c sbdsp.c wdc_isa.c wt.c

Log Message:
A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free,
wrappers around already existing bitmask macros. These are expected
to be used before an isa_dmamap_create call, and after an
isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers,
they're deferred until open/close.

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.


To generate a diff of this commit:
cvs rdiff -r1.1 -r1.2 src/sys/arch/algor/include/isa_machdep.h
cvs rdiff -r1.7 -r1.8 src/sys/arch/alpha/include/isa_machdep.h
cvs rdiff -r1.6 -r1.7 src/sys/arch/arc/include/isa_machdep.h
cvs rdiff -r1.3 -r1.4 src/sys/arch/arm/include/isa_machdep.h
cvs rdiff -r1.10 -r1.11 src/sys/arch/atari/include/isa_machdep.h
cvs rdiff -r1.13 -r1.14 src/sys/arch/bebox/include/isa_machdep.h
cvs rdiff -r1.5 -r1.6 src/sys/arch/hpcmips/include/isa_machdep.h
cvs rdiff -r1.1 -r1.2 src/sys/arch/mips/include/isa_machdep.h
cvs rdiff -r1.2 -r1.3 src/sys/arch/mipsco/include/isa_machdep.h
cvs rdiff -r1.1 -r1.2 src/sys/arch/mvmeppc/include/isa_machdep.h
cvs rdiff -r1.6 -r1.7 src/sys/arch/prep/include/isa_machdep.h
cvs rdiff -r1.2 -r1.3 src/sys/arch/sandpoint/include/isa_machdep.h
cvs rdiff -r1.1 -r1.2 src/sys/arch/x86/include/isa_machdep.h
cvs rdiff -r1.22 -r1.23 src/sys/dev/isa/ad1848_isa.c
cvs rdiff -r1.6 -r1.7 src/sys/dev/isa/cs89x0isa.c
cvs rdiff -r1.57 -r1.58 src/sys/dev/isa/ess.c
cvs rdiff -r1.41 -r1.42 src/sys/dev/isa/fd.c
cvs rdiff -r1.80 -r1.81 src/sys/dev/isa/gus.c
cvs rdiff -r1.51 -r1.52 src/sys/dev/isa/isadma.c
cvs rdiff -r1.18 -r1.19 src/sys/dev/isa/isadmavar.h
cvs rdiff -r1.39 -r1.40 src/sys/dev/isa/isavar.h
cvs rdiff -r1.21 -r1.22 src/sys/dev/isa/satlink.c
cvs rdiff -r1.111 -r1.112 src/sys/dev/isa/sbdsp.c
cvs rdiff -r1.30 -r1.31 src/sys/dev/isa/wdc_isa.c
cvs rdiff -r1.60 -r1.61 src/sys/dev/isa/wt.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.