Bug 14849

Summary: newpcm doesn't work with Vibra16X
Product: Base System Reporter: ab <ab>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description ab 1999-11-12 20:00:00 UTC
A process that tries to play PCM data via /dev/dsp stops in "pcmwr"
state almost as soon as the playing starts.  The process is still
interruptible (i.e. it responds to ^C, etc).

It seems that the interrupt service routine (sb_intr) is not being
called when the DMA transfer completes.  systat -vm 1 shows no interrupt
count for pcm0 device, and a simple hack inserted to sb_intr() (like
printf("sb_intr() was called\n");) is never executed.

All the other soundcard functions which don't involve interrupts, such
as mixer adjustment, work normally.

IMHO the problem seems to be that the soundcard interrupt is
misregistered (or not registered at all) with the resource management
service, otherwise systat -vm should show the correct IRQ for pcm0 at'
least.

Fix: 

No fix or workaround known.
How-To-Repeat: Enable newpcm in the kernel, then play an MP3 file with mpg123.
Comment 1 Adrian Chadd freebsd_committer freebsd_triage 2000-03-28 16:48:31 UTC
State Changed
From-To: open->closed

cg reports that this works now