Date: Fri, 20 Dec 2013 20:40:01 GMT From: adam ulmer <adam.ulmer@gmail.com> To: freebsd-multimedia@FreeBSD.org Subject: Re: kern/184512: [snd_maestro] snd_maestro does not function on i386 [regression] Message-ID: <201312202040.rBKKe1WJ043224@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/184512; it has been noted by GNATS. From: adam ulmer <adam.ulmer@gmail.com> To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/184512: [snd_maestro] snd_maestro does not function on i386 [regression] Date: Fri, 20 Dec 2013 13:30:25 -0700 --f46d043d676fe849d504edfd2557 Content-Type: text/plain; charset=UTF-8 I tested 9.2 with: Dell XPS M1330 with Intel ICH8M had sound support from the default kernel, snd_hda(4) <http://man.freebsd.org/snd_hda/4> Dell Inspiron 8000 with ESS Maestro3 chipset snd_maestro3(4)<http://man.freebsd.org/snd_maestro3/4>requires kldload snd_maestro3 Dell Latitude X300 with Intel ICH4 had sound support from the default kernel, snd_ich(4) <http://man.freebsd.org/snd_ich/4> Dell Latitude X200 with Intel ICH3 had sound support from the default kernel, snd_ich(4) <http://man.freebsd.org/snd_ich/4> I don't have any hardware that uses snd_maestro(4)<http://man.freebsd.org/snd_maestro/4> . The "pcm0: cannot allocate status buffer" error message happens on line 1835<http://svnweb.freebsd.org/base/release/9.2.0/sys/dev/sound/pci/maestro.c?view=markup#l1835>, before the driver can attach to the device. The maestro driver fails to get memory for the status/record buffer (the call to dma_malloc() does not succeed). If I were being thorough, I would trace through the two conditions in dma_malloc() that return null<http://svnweb.freebsd.org/base/release/9.2.0/sys/dev/sound/pci/maestro.c?view=markup#l1719>and try to figure out why (requires hardware). The only change in the maestro driver for 9.2 runs after that part of the code that fails so I'm guessing that the loss of sound you experience with 9.2 comes from a change somewhere higher up in the hierarchy (maybe PCI changes?). While I'm trying to make educated guesses, I've never looked at this code before and I don't have the hardware. I haven't worked on FreeBSD kernel drivers since 2006 so I'd have to get familiar with the current PCI subsystem. If the original reporter wants to continue with this guessing game, boot into a live CD like the 9.2 live cd<ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-bootonly.iso>and try the following commands in an attempt to locate which changes since 9.1 contributed to the loss of sound. sysctl hw.pci.realloc_bars=1 sysctl hw.snd.verbose=4 kldload snd_maestro cat /dev/sndstat I wouldn't make guesses if I had the hardware. I would trace through and find out exactly what happens. I'm on holiday and wanted to contribute to FreeBSD during my time off. I saw the maestro bug and knew I had hardware with maestro something. It turns out it was maestro3 and so I'm not able to help after all. --f46d043d676fe849d504edfd2557 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">I tested 9.2 with:<br><div><br>Dell XPS M1330 with Intel I= CH8M had sound support from the default kernel, <a target=3D"_blank" title= =3D"The FreeBSD snd_hda(4) manual page" href=3D"http://man.freebsd.org/snd_= hda/4">snd_hda(4)</a><br> Dell Inspiron 8000 with ESS Maestro3 chipset <a target=3D"_blank" title=3D"= The FreeBSD snd_maestro3(4) manual page" href=3D"http://man.freebsd.org/snd= _maestro3/4">snd_maestro3(4)</a> requires <code style=3D"background-color:r= gb(222,227,231);padding:0.2px;margin:0.1em;display:inline-block"> <kbd>kldl= oad snd_maestro3</kbd></code> <br> Dell Latitude X300 with Intel ICH4 had sound support from the default kerne= l, <a target=3D"_blank" title=3D"The FreeBSD snd_ich(4) manual page" href= =3D"http://man.freebsd.org/snd_ich/4">snd_ich(4)</a><br>Dell Latitude X200 = with Intel ICH3 had sound support from the default kernel, <a target=3D"_bl= ank" title=3D"The FreeBSD snd_ich(4) manual page" href=3D"http://man.freebs= d.org/snd_ich/4">snd_ich(4)</a><br> <br>I don't have any hardware that uses <a target=3D"_blank" title=3D"T= he FreeBSD snd_maestro(4) manual page" href=3D"http://man.freebsd.org/snd_m= aestro/4">snd_maestro(4)</a>.<br><br><br>The "pcm0: cannot allocate st= atus buffer" error message <a href=3D"http://svnweb.freebsd.org/base/r= elease/9.2.0/sys/dev/sound/pci/maestro.c?view=3Dmarkup#l1835" class=3D"">ha= ppens on line 1835</a>, before the driver can attach to the device. The <tt= style=3D"color:rgb(0,122,0)">maestro</tt> driver fails to get memory for t= he status/record buffer (the call to <tt style=3D"color:rgb(0,122,0)">dma_m= alloc()</tt> does not succeed). If I were being thorough, I would trace th= rough the two conditions in <a href=3D"http://svnweb.freebsd.org/base/relea= se/9.2.0/sys/dev/sound/pci/maestro.c?view=3Dmarkup#l1719" class=3D"">dma_ma= lloc() that return null</a> and try to figure out why (requires hardware). = The only change in the <tt style=3D"color:rgb(0,122,0)">maestro</tt> driver for 9.2 runs after that part of the code that fails so I'm=20 guessing that the loss of sound you experience with 9.2 comes from a=20 change somewhere higher up in the hierarchy (maybe PCI changes?). <br><br>= While I'm trying to make educated guesses, I've never looked at this cod= e=20 before and I don't have the hardware. I haven't worked on FreeBSD k= ernel drivers since 2006 so I'd have to get familiar with the current PCI=20 subsystem. If the original reporter wants to continue with this guessing ga= me, boot into a live CD like <a href=3D"ftp://ftp.freebsd.org/pub/FreeBSD/r= eleases/i386/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-bootonly.iso" cla= ss=3D"">the 9.2 live cd</a> and try the following commands in an attempt to= locate which changes since 9.1 contributed to the loss of sound.<br> <br><code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0= .1em;display:inline-block"> <kbd>sysctl hw.pci.realloc_bars=3D1</kbd></code= ><br><code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:= 0.1em;display:inline-block"> <kbd>sysctl hw.snd.verbose=3D4</kbd></code><br= > <code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0.1em= ;display:inline-block"> <kbd>kldload snd_maestro</kbd></code><br><code styl= e=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0.1em;display:i= nline-block"> <kbd>cat /dev/sndstat</kbd></code><br> <br>I wouldn't make guesses if I had the hardware. I would trace through and= =20 find out exactly what happens. I'm on holiday and wanted to contribute= =20 to FreeBSD during my time off. I saw the <tt style=3D"color:rgb(0,122,0)">m= aestro</tt> bug and knew I had hardware with maestro something. It turns ou= t it was <tt style=3D"color:rgb(0,122,0)">maestro3</tt> and so I'm not = able to help after all.<br> </div></div> --f46d043d676fe849d504edfd2557--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312202040.rBKKe1WJ043224>
