Date: Thu, 23 Sep 2004 11:40:38 +0900 From: Pyun YongHyeon <yongari@kt-is.co.kr> To: gabor@zahemszky.hu Cc: freebsd-multimedia@freebsd.org Subject: Re: Maestro3 and 5.3-beta5 Message-ID: <20040923024038.GA11717@kt-is.co.kr>
next in thread | raw e-mail | index | archive | help
--G4iJoqBmSsgzjUCe Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Since it worked before, it sounds like DMA buffer allocation issue. Can you try attached patch? It doesn't fix your issue but it checks return code correctly and we can know whether DMA buffer allocation was successful or not. If DMA buffer allocation was successful I have no idea. If you see DMA buffer allocation failure you probably can workaround the issue like this: Step 1. Make static kernel with your sound drivers. Step 2. add vm.old_contigmalloc=1 in /etc/sysctl.conf If you needed step2, maestro3 driver needs rewriting for its memory management code. Cheers, Pyun YongHyeon -- Pyun YongHyeon <http://www.kr.freebsd.org/~yongari> --G4iJoqBmSsgzjUCe Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="maestro3.patch" --- sys/dev/sound/pci/maestro3.c.orig Mon Jul 26 20:32:39 2004 +++ sys/dev/sound/pci/maestro3.c Thu Sep 23 11:34:57 2004 @@ -383,7 +383,7 @@ ch->channel = c; ch->fmt = AFMT_U8; ch->spd = DSP_DEFAULT_SPEED; - if (sndbuf_alloc(ch->buffer, sc->parent_dmat, sc->bufsz) == -1) { + if (sndbuf_alloc(ch->buffer, sc->parent_dmat, sc->bufsz) != 0) { device_printf(sc->dev, "m3_pchan_init chn_allocbuf failed\n"); return NULL; } @@ -663,7 +663,7 @@ ch->channel = c; ch->fmt = AFMT_U8; ch->spd = DSP_DEFAULT_SPEED; - if (sndbuf_alloc(ch->buffer, sc->parent_dmat, sc->bufsz) == -1) { + if (sndbuf_alloc(ch->buffer, sc->parent_dmat, sc->bufsz) != 0) { device_printf(sc->dev, "m3_rchan_init chn_allocbuf failed\n"); return NULL; } --G4iJoqBmSsgzjUCe--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040923024038.GA11717>