Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Oct 2004 22:14:02 -0400
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        Pyun YongHyeon <yongari@kt-is.co.kr>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/sound/isa ad1816.c ess.c mss.c sb16.c sb8.c src/sys/dev/sound/pci au88x0.c aureal.c csapcm.c ds1.c emu10k1.c es137x.c fm801.c ich.c maestro3.c solo.c t4dwave.c via8233.c via82c686.c
Message-ID:  <20041014021401.GE986@green.homeunix.org>
In-Reply-To: <20041014020333.GA11436@kt-is.co.kr>
References:  <200410130545.i9D5jHrv075327@repoman.freebsd.org> <20041013140803.GB986@green.homeunix.org> <20041014020333.GA11436@kt-is.co.kr>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 14, 2004 at 11:03:33AM +0900, Pyun YongHyeon wrote:
> On Wed, Oct 13, 2004 at 10:08:04AM -0400, Brian Fundakowski Feldman wrote:
> 
>  > >   Log:
>  > >   Audio drivers failed to detect failure condition and attempted to
>  > >   assign DMA address to the wrong address. It can cause system lockup
>  > >   or other mysterious errors. Since most sound cards requires low DMA
>  > >   address(BUS_SPACE_MAXADDR_24BIT) sndbuf_alloc() would fail when the
>  > >   audio driver is loaded after long running of operations.
>  > >   
>  > >   Approved by:    jake (mentor)
>  > >   Reviewed by:    truckman, matk
>  > 
>  > Good job fixing all of these; do you notice that they succeed "more
>  > often" with the new contigmalloc(9)? (It is the backend of the busdma
>  > physical memory allocations.)
>  > 
> 
> Since I have very small set of sound hardware I don't know
> whether it helped or not. But I saw a mail which sounds like
> a DMA buffer allocation issue.
> http://lists.freebsd.org/pipermail/freebsd-multimedia/2004-September/001382.html
> 
> There is an another patch for sndbuf_alloc(). I'm waiting for
> Scott's comments.

In this case, adjusting M3_MAXADDR should be tried.  Since the allocation
now tries to start at the high end, we're running into seeing all these
conditions where a DMA address which the hardware cannot actually handle
being used.  It should be easy enough to guess and check, by halving the
lowaddr (M3_MAXADDR) and seeing whether it works, and repeating.

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green@FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041014021401.GE986>