Date: Sat, 28 Aug 2004 22:54:39 +0100 (BST) From: Gavin Atkinson <gavin.atkinson@ury.york.ac.uk> To: Brian Feldman <green@freebsd.org> Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/dev/sound/pci maestro.c Message-ID: <20040828224312.R79360@ury.york.ac.uk> In-Reply-To: <200408221857.i7MIvf8a039929@repoman.freebsd.org> References: <200408221857.i7MIvf8a039929@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, The commit below fixes sound for me on my Compaq laptop (running RELENG_5_3). Is there any plan to MFC it? Thanks, Gavin On Sun, 22 Aug 2004, Brian Feldman wrote: > green 2004-08-22 18:57:41 UTC > Modified files: > sys/dev/sound/pci maestro.c > Log: > The new contigmalloc code is exposing a lot of misuses of busdma memory > allocation. Notably, in this case, the driver tries to allocate several > pieces of memory and then fails if the pieces allocated after the first > do not come after it physically, and within a specific range (8MB I > believe). Of course, this could just as easily fail for any number of > reasons, but it almost always fails now that contiguous allocations start > at the end of possible specified memory locations rather than the beginning. > > Allocate all the possibly-needed memory up front, even though it's a waste, > to get around this. The least bogus solution would be to take the physical > address from the first allocation and create a new tag that specified that > further allocations must follow it within that 8MB window, then use that > when allocating new channels, but that's left for anyone else that really > feels like doing it. > > Tested by: Erwin Lansing <erwin@lansing.dk> > > Revision Changes Path > 1.24 +15 -21 src/sys/dev/sound/pci/maestro.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040828224312.R79360>