Bug 48283

Summary: sound (pcm/sbc) broken with acpi
Product: Base System Reporter: sec
Component: i386Assignee: acpi-jp
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
dmesg.acpi none

Description sec 2003-02-14 17:30:12 UTC
This card does fine in FreeBSD-4.7, but fails in FreeBSD-5.0 (with ACPI
enabled, which is the default). When trying to access the audio device,
all I hear is a single 'pop' and the following log message:

pcm0:play:0: play interrupt timeout, channel dead

Fix: 

A workaround is to disable ACPI by adding 'hint.acpi.0.disabled="1"' to
/boot/loader.conf
Comment 1 Kris Kennaway freebsd_committer freebsd_triage 2003-07-14 06:57:39 UTC
State Changed
From-To: open->feedback

Can you please retry with 5.1-RELEASE or 5.1-CURRENT?
Comment 2 Kris Kennaway freebsd_committer freebsd_triage 2003-07-14 09:29:08 UTC
Responsible Changed
From-To: freebsd-bugs->acpi-jp@jp.FreeBSD.org

Assign to ACPI maintainers
Comment 3 Nate Lawson 2003-07-21 23:07:12 UTC
Please try 5.1-current.  There has been an ACPI import.  Also, please
report full dmesg with acpi enabled.

-Nate
Comment 4 sec 2003-07-22 16:09:17 UTC
Hi,

On Mon, Jul 21, 2003 at 03:07:12PM -0700, Nate Lawson wrote:
> Please try 5.1-current.  There has been an ACPI import.  Also, please
> report full dmesg with acpi enabled.

I have recompiled world and kernel with todays 5-CURRENT.

Attached is the full dmesg with acpi turned on. The last line (interrupt
timeout) was generated from my attempt to play an .mp3 file.

I would be glad if you could help fix this.

CU,
    Sec
-- 
perl -nle 'print "$_ is divisible by 7" if (unpack("B*",reverse pack("L",$_))=~
/^0*((1((0(01|1(001*0)*11)*(00|1(001*0)*10))|1(01*0(1(10)*11)*0)*01*0(1(10)*
11)*1(10)*0)*(1(01*0(1(10)*11)*0)*1|0(01|1(001*0)*11)*1(001*0)*01))0*)+$/x)'
Comment 5 Nate Lawson 2003-08-08 17:15:57 UTC
I see your sound card uses irq 5.  There were a lot of changes between 4.x
and 5.x including interrupt routing changes.  I am ccing someone who knows
irq allocation and someone who knows soundcards to see if they know
anything to look for here.  I don't see anything out of line here.  I'd
make sure irq 5 is set to "allocate to ISA" in your BIOS.

-Nate
Comment 6 John Baldwin freebsd_committer freebsd_triage 2003-08-08 19:28:28 UTC
On 08-Aug-2003 Nate Lawson wrote:
> I see your sound card uses irq 5.  There were a lot of changes between 4.x
> and 5.x including interrupt routing changes.  I am ccing someone who knows
> irq allocation and someone who knows soundcards to see if they know
> anything to look for here.  I don't see anything out of line here.  I'd
> make sure irq 5 is set to "allocate to ISA" in your BIOS.

Since it is an ISA device, the PCI interrupt routing code shouldn't
affect it.  None of the PCI interrupts were routed to IRQ 5 at least.
You are definitely losing interrupts though.  I would make sure that
IRQ 5 is reserved for ISA devices in your BIOS.

> -Nate

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
Comment 7 sec 2003-08-13 18:55:16 UTC
Hi,

sorry for the delay, but I have been on vacation lat week...

On Fri, Aug 08, 2003 at 02:28:28PM -0400, John Baldwin wrote:
> 
> On 08-Aug-2003 Nate Lawson wrote:
> > I see your sound card uses irq 5.  There were a lot of changes between 4.x
> > and 5.x including interrupt routing changes.  I am ccing someone who knows
> > irq allocation and someone who knows soundcards to see if they know
> > anything to look for here.  I don't see anything out of line here.  I'd
> > make sure irq 5 is set to "allocate to ISA" in your BIOS.
> 
> Since it is an ISA device, the PCI interrupt routing code shouldn't
> affect it.  None of the PCI interrupts were routed to IRQ 5 at least.
> You are definitely losing interrupts though.  I would make sure that
> IRQ 5 is reserved for ISA devices in your BIOS.

Great, that did it.  By BIOS was set to
"Resources controlled by: Auto(ESCD)"

When I set it to "Manual", and set IRQ 5 for "Legacy ISA", it worked.

I now have working sound again.

Thank you very much for helping me ;-)

CU,
    Sec
-- 
The Feynman problem solving Algorithm
			1) Write down the problem
			2) Think real hard
			3) Write down the answer
Comment 8 njl freebsd_committer freebsd_triage 2003-08-13 21:37:42 UTC
State Changed
From-To: feedback->closed

User allocated irq to ISA and this solved the problem.