Maestro3 and 5.3-beta5
Pyun YongHyeon
yongari at kt-is.co.kr
Wed Sep 22 19:41:13 PDT 2004
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>
-------------- next part --------------
--- 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;
}
More information about the freebsd-multimedia
mailing list