Odd code in sound/pcm/channel.c, help with PR?

George Hartzell hartzell at alerce.com
Fri Apr 21 20:16:15 UTC 2006


Conrad J. Sabatier writes:
 > On Thu, 20 Apr 2006 16:44:08 -0700
 > George Hartzell <hartzell at alerce.com> wrote:
 > 
 > > Conrad J. Sabatier writes:
 > >  > On Tue, 18 Apr 2006 20:28:29 -0700
 > >  > George Hartzell <hartzell at alerce.com> wrote:
 > >  > 
 > >  > > 
 > >  > > I'm trying to get some traction and get sound to work on my ASUS
 > >  > > A8V-MX.  I keep ending up with
 > >  > > 
 > >  > >   pcm0:play:0::dsp0.0: play interrupt timeout, channel dead
 > >  > > 
 > >  > > on my console.
 > >  > 
 > >  > I used to see this on my amd64 box with earlier versions of
 > >  > FreeBSD. Back then, disabling ACPI would cure the problem.  You
 > >  > may want to give that a try.
 > > 
 > > Thanks for the suggestion.
 > > 
 > > I booted w/out acpi, by choosing 2 at the loader prompt, and I still
 > > don't get any sound when I cat /etc/termcap > /dev/dsp0.0 and it that
 > > still generates the timeout error message.
 > 
 > Have you tried "cat foo > /dev/audio"?

Same timeout message.

 > Try doing "sysctl hw.snd.verbose=2; cat /dev/sndstat" and see what it
 > shows.

FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <VIA VT8251> at io 0xd400 irq 22 kld snd_via8233 (5p/1r/0v channels duplex default)
	[pcm0:play:0:dsp0.0]: spd 8000/48000, fmt 0x00000001/0x10000010, flags 0x00000000, 0x00000010
	interrupts 0, underruns 0, ready 0 [b:4096/2048/2|bs:131072/128/1024]
	{userland} -> feeder_root(0x00000001) -> feeder_ulawtos16le(0x00000001 -> 0x00000010) -> feeder_monotostereo16(0x00000010 -> 0x10000010) -> feeder_rate(8000 -> 48000) -> {hardware}
	[pcm0:play:1:dsp0.1]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000
	interrupts 0, underruns 0, ready 0 [b:4096/2048/2|bs:0/0/0]
	{userland} -> feeder_root(0x00000000) -> {hardware}
	[pcm0:play:2:dsp0.2]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000
	interrupts 0, underruns 0, ready 0 [b:4096/2048/2|bs:0/0/0]
	{userland} -> feeder_root(0x00000000) -> {hardware}
	[pcm0:play:3:dsp0.3]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000
	interrupts 0, underruns 0, ready 0 [b:4096/2048/2|bs:0/0/0]
	{userland} -> feeder_root(0x00000000) -> {hardware}
	[pcm0:play:4:dsp0.4]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000
	interrupts 0, underruns 0, ready 0 [b:4096/2048/2|bs:0/0/0]
	{userland} -> feeder_root(0x00000000) -> {hardware}
	[pcm0:record:0:dsp0.5]: spd 8000/48000, fmt 0x00000008/0x10000010, flags 0x00000000, 0x00000010
	interrupts 0, overruns 0, hfree 4096, sfree 131072 [b:4096/2048/2|bs:131072/128/1024]
	{hardware} -> feeder_root(0x10000010) -> feeder_rate(48000 -> 8000) -> feeder_16leto8(0x10000010 -> 0x10000040) -> feeder_stereotomono8(0x10000040 -> 0x00000040) -> feeder_sign8(0x00000040 -> 0x00000008) -> {userland}


I've set ariff up with an account on the machine, he thinks that if he
can get his virtual fingers on the hardware he can beat some good
behaviour into it.

I'll summarize to the list when the smoke clears.

g.


More information about the freebsd-multimedia mailing list