Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Aug 2004 18:57:41 +0000 (UTC)
From:      Brian Feldman <green@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/sound/pci maestro.c
Message-ID:  <200408221857.i7MIvf8a039929@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
green       2004-08-22 18:57:41 UTC

  FreeBSD src repository

  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?200408221857.i7MIvf8a039929>