From owner-freebsd-current Tue Sep 5 8:31: 5 2000 Delivered-To: freebsd-current@freebsd.org Received: from cx281057-a.irvn1.occa.home.com (cx281057-a.irvn1.occa.home.com [24.1.175.22]) by hub.freebsd.org (Postfix) with ESMTP id 4EAD637B422 for ; Tue, 5 Sep 2000 08:30:59 -0700 (PDT) Received: from cx281057-a.irvn1.occa.home.com (localhost [127.0.0.1]) by cx281057-a.irvn1.occa.home.com (8.11.0/8.11.0) with ESMTP id e85FUnx52802; Tue, 5 Sep 2000 08:30:50 -0700 (PDT) (envelope-from housel@acm.org) Date: Tue, 05 Sep 2000 08:30:48 -0700 Message-ID: From: housel@acm.org (Peter S. Housel) To: viren@rstcorp.com Cc: freebsd-current@FreeBSD.ORG, matey@cis.ohio-state.edu Subject: Re: problems with aureal soundcard: kernel fault when playing mp3s In-Reply-To: In your message of "Tue, 5 Sep 2000 10:32:21 -0400 (EDT)" <14773.1013.154601.647909@jabberwock.rstcorp.com> References: <14773.1013.154601.647909@jabberwock.rstcorp.com> User-Agent: Wanderlust/1.1.1 (Purple Rain) WEMI/1.13.7 (Shimada) FLIM/1.13.2 (Kasanui) Emacs/20.7 (i386--freebsd) MULE/4.0 (HANANOEN) MIME-Version: 1.0 (generated by WEMI 1.13.7 - "Shimada") Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG At Tue, 5 Sep 2000 10:32:21 -0400 (EDT), Viren R.Shah wrote: > [Alexander, I'm Cc:ing you on this just in case you have heard of > anyone else having similar problems with Aureal cards with recent > -currents] > > My last good kernel was from aug 14. On a kernel from 09/05, I get a > page fault as soon as I try to play mp3s using mpg123. > > Note that I have an Aureal Vortex 8830, so I have to use the linux > drivers to get the device working > (http://www.cis.ohio-state.edu/~matey/au88x0/) so this might just be a > problem with interactions between the linux .o files and kernel data > structures. The soundcard worked fine using the linux drivers on a > -current from August 14. I'm wondering if anything changed in the pcm > code since then. > > Here's the page fault in DDB. I have a debug kernel if anyone needs > more info. > > > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x1000001b > fault code = supervisor read, page not present The pcm interfaces did change. The following patch fixes the au88x0 driver for me. Cheers, -Peter S. Housel- housel@acm.org http://members.home.com/housel/ --- au88x0.c Fri May 26 22:12:56 2000 +++ /usr/src/sys/dev/sound/pci/au88x0.c Mon Sep 4 23:17:05 2000 @@ -200,17 +200,23 @@ static int auchan_getptr(void *data); static pcmchan_caps *auchan_getcaps(void *data); -static pcmchan_caps au_playcaps = { - 4000, 48000, - AFMT_STEREO | AFMT_MU_LAW | AFMT_A_LAW | AFMT_U8 | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t au_playfmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + 0 }; +static pcmchan_caps au_playcaps = {4000, 48000, au_playfmt, 0}; -static pcmchan_caps au_reccaps = { - 4000, 48000, - AFMT_STEREO | AFMT_MU_LAW | AFMT_A_LAW | AFMT_U8 | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t au_recfmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + 0 }; +static pcmchan_caps au_reccaps = {4000, 48000, au_recfmt, 0}; static pcm_channel au_chantemplate = { auchan_init, @@ -221,6 +227,14 @@ auchan_trigger, auchan_getptr, auchan_getcaps, + NULL, /* free */ + NULL, /* nop1 */ + NULL, /* nop2 */ + NULL, /* nop3 */ + NULL, /* nop4 */ + NULL, /* nop5 */ + NULL, /* nop6 */ + NULL, /* nop7 */ }; @@ -232,6 +246,7 @@ static snd_mixer au_mixtemplate = { "Aureal Vortex 88x0 mixer", aumix_init, + NULL, aumix_set, aumix_setrecsrc, }; @@ -846,7 +861,7 @@ au_mixer = (snd_mixer *)malloc(sizeof(*au_mixer), M_DEVBUF, M_NOWAIT); if (au_mixer == NULL) goto bad; bcopy(&au_mixtemplate, au_mixer, sizeof(au_mixtemplate)); - mixer_init(d, au_mixer, au); + mixer_init(dev, au_mixer, au); if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/2, /*boundary*/0, /*lowaddr*/BUS_SPACE_MAXADDR_32BIT, To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message