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
[-- Attachment #1 --]
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>
[-- Attachment #2 --]
--- 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;
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040923024038.GA11717>
