public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
@ 2004-02-06 16:19 Lenar Lõhmus
  2004-02-09 18:56 ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Lenar Lõhmus @ 2004-02-06 16:19 UTC (permalink / raw)
  To: Andrew Morton, Linux Kernel Mailinglist

Got this when tried to run mplayer (mplayer played something audible for 
1 sec and then stalled):

irq 7: nobody cared!
Call Trace:
 [<c010c0f4>] __report_bad_irq+0x24/0x80
 [<c010c1d1>] note_interrupt+0x61/0x90
 [<c010c46d>] do_IRQ+0x10d/0x120
 [<c0279e1c>] common_interrupt+0x18/0x20
 [<c010c093>] handle_IRQ_event+0x23/0x60
 [<c010c3e3>] do_IRQ+0x83/0x120
 [<c0279e1c>] common_interrupt+0x18/0x20

handlers:
[<f99a1720>] (snd_intel8x0_interrupt+0x0/0x1e0 [snd_intel8x0])
Disabling IRQ #7

sound module in use is intel8x0 as seen above. Chip itself is nforce2
integrated audio.

I know there were problems earlier with this chip and new ALSA,
but thought maybe this is helpful. The kernel is booted with pci=noacpi
due to recent problems with nforce2 mb's using -mm series kernels.

It worked flawlessly in 2.6.1-rc1-mm1.

Lenar

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-06 16:19 irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1) Lenar Lõhmus
@ 2004-02-09 18:56 ` Takashi Iwai
  2004-02-10 17:26   ` Lenar Lõhmus
  2004-02-10 19:09   ` Ralf Gerbig
  0 siblings, 2 replies; 11+ messages in thread
From: Takashi Iwai @ 2004-02-09 18:56 UTC (permalink / raw)
  To: Linux Kernel Mailinglist

[-- Attachment #1: Type: text/plain, Size: 837 bytes --]

At Fri, 06 Feb 2004 18:19:52 +0200,
Lenar Lõhmus wrote:
> 
> Got this when tried to run mplayer (mplayer played something audible for 
> 1 sec and then stalled):
> 
> irq 7: nobody cared!
> Call Trace:
>  [<c010c0f4>] __report_bad_irq+0x24/0x80
>  [<c010c1d1>] note_interrupt+0x61/0x90
>  [<c010c46d>] do_IRQ+0x10d/0x120
>  [<c0279e1c>] common_interrupt+0x18/0x20
>  [<c010c093>] handle_IRQ_event+0x23/0x60
>  [<c010c3e3>] do_IRQ+0x83/0x120
>  [<c0279e1c>] common_interrupt+0x18/0x20
> 
> handlers:
> [<f99a1720>] (snd_intel8x0_interrupt+0x0/0x1e0 [snd_intel8x0])
> Disabling IRQ #7
> 
> sound module in use is intel8x0 as seen above. Chip itself is nforce2
> integrated audio.

could you check the status register value when this happens with the
attached patch?


--
Takashi Iwai <tiwai@suse.de>		ALSA Developer - www.alsa-project.org

[-- Attachment #2: Type: text/plain, Size: 372 bytes --]

--- linux/sound/pci/intel8x0.c	6 Feb 2004 17:47:49 -0000	1.115
+++ linux/sound/pci/intel8x0.c	9 Feb 2004 18:49:02 -0000
@@ -807,6 +807,7 @@
 		if (status)
 			iputdword(chip, chip->int_sta_reg, status);
 		spin_unlock(&chip->reg_lock);
+		printk(KERN_DEBUG "intel8x0: ignored irq, status = 0x%x, sta_mask = 0x%x\n", status, chip->int_sta_mask);
 		return IRQ_NONE;
 	}
 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-09 18:56 ` Takashi Iwai
@ 2004-02-10 17:26   ` Lenar Lõhmus
  2004-02-10 19:05     ` Takashi Iwai
  2004-02-10 19:09   ` Ralf Gerbig
  1 sibling, 1 reply; 11+ messages in thread
From: Lenar Lõhmus @ 2004-02-10 17:26 UTC (permalink / raw)
  To: Takashi Iwai, Linux Kernel Mailinglist

Takashi Iwai wrote:

>
>could you check the status register value when this happens with the
>attached patch?
>  
>
It never happened after applying this patch (not the right circumstances 
I think). It always printed this:

intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0

And sound worked.

Today discovered this message from dmesg:

intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
irq 7: nobody cared!
Call Trace:
 [<c010c0f4>] __report_bad_irq+0x24/0x80
 [<c010c1d1>] note_interrupt+0x61/0x90
 [<c010c46d>] do_IRQ+0x10d/0x120
 [<c0279e1c>] common_interrupt+0x18/0x20
 [<c010c093>] handle_IRQ_event+0x23/0x60
 [<c010c3e3>] do_IRQ+0x83/0x120
 [<c0279e1c>] common_interrupt+0x18/0x20
 [<f99a97dc>] dl_done_list+0x7c/0x110 [ohci_hcd]
 [<f99aa114>] ohci_irq+0x84/0x160 [ohci_hcd]
 [<f99ade79>] nic_irq+0x1a9/0x1d0 [forcedeth]
 [<f996d52e>] usb_hcd_irq+0x2e/0x60 [usbcore]
 [<c010c09f>] handle_IRQ_event+0x2f/0x60
 [<c010c3e3>] do_IRQ+0x83/0x120
 [<c0107000>] _stext+0x0/0x50
 [<c0279e1c>] common_interrupt+0x18/0x20
 [<c0107000>] _stext+0x0/0x50
 [<c0108b53>] default_idle+0x23/0x30
 [<c0108bbc>] cpu_idle+0x2c/0x40
 [<c02fe70a>] start_kernel+0x13a/0x150
 [<c02fe480>] unknown_bootoption+0x0/0x100

handlers:
[<f99a1720>] (snd_intel8x0_interrupt+0x0/0x200 [snd_intel8x0])
Disabling IRQ #7

And mplayer stalls again. The 'ignored irq' message was the same and no 
additional messages
after call trace.

/proc/interrupts:

           CPU0
  0:   78008640          XT-PIC  timer
  1:      35441          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  5:   18501105          XT-PIC  eth1
  7:     203478          XT-PIC  NVidia nForce2
  8:   22814379          XT-PIC  rtc
  9:          0          XT-PIC  acpi
 11:     639763          XT-PIC  ide2, ehci_hcd
 12:   47894522          XT-PIC  ohci_hcd, eth0
 14:     589578          XT-PIC  ide0
 15:     115750          XT-PIC  ide1
NMI:          0
LOC:   78015575
ERR:       3478
MIS:          0

Lenar

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-10 17:26   ` Lenar Lõhmus
@ 2004-02-10 19:05     ` Takashi Iwai
  2004-02-10 19:50       ` Ralf Gerbig
  0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2004-02-10 19:05 UTC (permalink / raw)
  To: Lenar Lõhmus; +Cc: Linux Kernel Mailinglist

[-- Attachment #1: Type: text/plain, Size: 751 bytes --]

At Tue, 10 Feb 2004 19:26:19 +0200,
Lenar Lõhmus wrote:
> 
> Takashi Iwai wrote:
> 
> >
> >could you check the status register value when this happens with the
> >attached patch?
> >  
> >
> It never happened after applying this patch (not the right circumstances 
> I think). It always printed this:
> 
> intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
> 
> And sound worked.
> 
> Today discovered this message from dmesg:
> 
> intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
> intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
> intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
> irq 7: nobody cared!

ok then really some unknown status bits are set.
the attached patch should fix this problem anyway.


Takashi

[-- Attachment #2: Type: text/plain, Size: 340 bytes --]

--- linux/sound/pci/intel8x0.c	6 Feb 2004 17:47:49 -0000	1.115
+++ linux/sound/pci/intel8x0.c	10 Feb 2004 19:03:43 -0000
@@ -807,7 +807,7 @@
 		if (status)
 			iputdword(chip, chip->int_sta_reg, status);
 		spin_unlock(&chip->reg_lock);
-		return IRQ_NONE;
+		return IRQ_HANDLED(status);
 	}
 
 	for (i = 0; i < chip->bdbars_count; i++) {


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-09 18:56 ` Takashi Iwai
  2004-02-10 17:26   ` Lenar Lõhmus
@ 2004-02-10 19:09   ` Ralf Gerbig
  1 sibling, 0 replies; 11+ messages in thread
From: Ralf Gerbig @ 2004-02-10 19:09 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Linux Kernel Mailinglist

Moins,

* On Mon, 09 Feb 2004 19:56:48 +0100, Takashi Iwai <tiwai@suse.de> said:

> could you check the status register value when this happens with the
> attached patch?

I'm not Lenar, but this is what I get upon module load:

Epox EP8RDA3 Mobo, nforce2, acpi, apic, preempt, 2.6.3-rc1-mm1

00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1)

21:     751435   IO-APIC-level  NVidia nForce2

line in -> line out (bttv) works fine, aplay just plays the first
snippet of sound a couple of times and then hangs.

 kernel: PCI: Setting latency timer of device 0000:00:06.0 to 64
 kernel: intel8x0: ignored irq, status = 0x0, sta_mask = 0x0
 kernel: intel8x0: ignored irq, status = 0x0, sta_mask = 0x0
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 2377 times
 kernel: intel8x0: ignored irq, status = 0x300100,red irq, status = 0xred irq, status = 0x300100, sta_mask = 0xf0
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 2146 times
 kernel: intel8x0: ignored irq, status = 0x3001red irq, status = 0x300100, sta_mask = 0xf0
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 1863 times
 /sbin/hotplug[5795]: no runnable /etc/hotplug/sound.agent is installed
 /sbin/hotplug[5802]: no runnable /etc/hotplug/sound.agent is installed
 /sbin/hotplug[5810]: no runnable /etc/hotplug/sound.agent is installed
 /sbin/hotplug[5809]: no runnable /etc/hotplug/sound.agent is installed
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 283 times
 kernel: red irred irq, status = 0x300100, sta_mask = 0xf0
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 2146 times
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask =red irq, status = 0x300100, sta_mask = 0xf0
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 481 times
 /sbin/hotplug[5825]: no runnable /etc/hotplug/sound.agent is installed
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 1665 times
 kernel: rq, status = 0x300100, sta_mask = 0xf0
 kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
 last message repeated 2142 times
 kernel: irq 21: nobody cared!
 kernel: Call Trace:
 kernel:  [__report_bad_irq+42/144] __report_bad_irq+0x2a/0x90
 kernel:  [<c010cc7a>] __report_bad_irq+0x2a/0x90
 kernel:  [note_interrupt+112/176] note_interrupt+0x70/0xb0
 kernel:  [<c010cd70>] note_interrupt+0x70/0xb0
 kernel:  [do_IRQ+304/320] do_IRQ+0x130/0x140
 kernel:  [<c010d060>] do_IRQ+0x130/0x140
 kernel:  [common_interrupt+24/32] common_interrupt+0x18/0x20
 kernel:  [<c0321d64>] common_interrupt+0x18/0x20
 kernel: 
 kernel: handlers:
 kernel: [_end+542335376/1069053776] (snd_intel8x0_interrupt+0x0/0x260 [snd_intel8x0])
 kernel: [<e09aba40>] (snd_intel8x0_interrupt+0x0/0x260 [snd_intel8x0])
 kernel: Disabling IRQ #21

without hotplug:

kernel: PCI: Setting latency timer of device 0000:00:06.0 to 64
kernel: intel8x0: ignored irq, status = 0x0, sta_mask = 0x0
kernel: intel8x0: ignored irq, status = 0x0, sta_mask = 0x0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 939 times
kernel: red irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 2147 times
kernel: red irq, statured irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 2146 times
kernel: intel8x0: ignored irq, status = 0x300100, stred irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 2147 times
kernel: red irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 2147 times
kernel: red irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 981 times
kernel: intel8x0: ignored irq, status = 0x300100red irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 1163 times
kernel: intel8x0: ignored irq, status = red irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 2147 times
kernel: >intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
kernel: intel8x0: ignored irq, status = 0x300100, sta_mask = 0xf0
last message repeated 2134 times
kernel: irq 21: nobody cared!
kernel: Call Trace:
kernel:  [__report_bad_irq+42/144] __report_bad_irq+0x2a/0x90
kernel:  [<c010cc7a>] __report_bad_irq+0x2a/0x90
kernel:  [note_interrupt+112/176] note_interrupt+0x70/0xb0
kernel:  [<c010cd70>] note_interrupt+0x70/0xb0
kernel:  [do_IRQ+304/320] do_IRQ+0x130/0x140
kernel:  [<c010d060>] do_IRQ+0x130/0x140
kernel:  [common_interrupt+24/32] common_interrupt+0x18/0x20
kernel:  [<c0321d64>] common_interrupt+0x18/0x20
kernel:  [schedule+884/1456] schedule+0x374/0x5b0
kernel:  [<c011dff4>] schedule+0x374/0x5b0
kernel:  [preempt_schedule+54/96] preempt_schedule+0x36/0x60
kernel:  [<c011e266>] preempt_schedule+0x36/0x60
kernel:  [unix_dgram_sendmsg+872/1392] unix_dgram_sendmsg+0x368/0x570
kernel:  [<c031c518>] unix_dgram_sendmsg+0x368/0x570
kernel:  [call_console_drivers+101/288] call_console_drivers+0x65/0x120
kernel:  [<c01221b5>] call_console_drivers+0x65/0x120
kernel:  [call_console_drivers+101/288] call_console_drivers+0x65/0x120
kernel:  [<c01221b5>] call_console_drivers+0x65/0x120
kernel:  [sock_aio_write+191/240] sock_aio_write+0xbf/0xf0
kernel:  [<c02b8a3f>] sock_aio_write+0xbf/0xf0
kernel:  [do_sync_write+140/192] do_sync_write+0x8c/0xc0
kernel:  [<c0157d5c>] do_sync_write+0x8c/0xc0
kernel:  [common_interrupt+24/32] common_interrupt+0x18/0x20
kernel:  [<c0321d64>] common_interrupt+0x18/0x20
kernel:  [vfs_write+254/304] vfs_write+0xfe/0x130
kernel:  [<c0157e8e>] vfs_write+0xfe/0x130
kernel:  [sys_write+66/112] sys_write+0x42/0x70
kernel:  [<c0157f72>] sys_write+0x42/0x70
kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
kernel:  [<c03213f7>] syscall_call+0x7/0xb
kernel: 
kernel: handlers:
kernel: [_end+542335376/1069053776] (snd_intel8x0_interrupt+0x0/0x260 [snd_intel8x0])
kernel: [<e09aba40>] (snd_intel8x0_interrupt+0x0/0x260 [snd_intel8x0])
kernel: Disabling IRQ #21

hope this helps,

Ralf
-- 
 P:     Linus Torvalds			patch-2.2.4
-S:     Buried alive in diapers
+S:     Buried alive in reporters

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-10 19:05     ` Takashi Iwai
@ 2004-02-10 19:50       ` Ralf Gerbig
  2004-02-10 20:23         ` Linus Torvalds
  0 siblings, 1 reply; 11+ messages in thread
From: Ralf Gerbig @ 2004-02-10 19:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Lenar Lõhmus, Linux Kernel Mailinglist

Moins,

* On Tue, 10 Feb 2004 20:05:35 +0100, Takashi Iwai <tiwai@suse.de> said:

> ok then really some unknown status bits are set.
> the attached patch should fix this problem anyway.

> --- linux/sound/pci/intel8x0.c	6 Feb 2004 17:47:49 -0000	1.115
> +++ linux/sound/pci/intel8x0.c	10 Feb 2004 19:03:43 -0000
> @@ -807,7 +807,7 @@
>  		if (status)
>  			iputdword(chip, chip->int_sta_reg, status);
>  		spin_unlock(&chip->reg_lock);
> -		return IRQ_NONE;
> +		return IRQ_HANDLED(status);

did not compile, tried 

                return IRQ_RETVAL(status);

instead. Works, but I get 150,000 interrupts/s even without playing any
sound.

thanks,

Ralf
-- 
 P:     Linus Torvalds			patch-2.2.4
-S:     Buried alive in diapers
+S:     Buried alive in reporters

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-10 19:50       ` Ralf Gerbig
@ 2004-02-10 20:23         ` Linus Torvalds
  2004-02-10 20:49           ` Ralf Gerbig
  0 siblings, 1 reply; 11+ messages in thread
From: Linus Torvalds @ 2004-02-10 20:23 UTC (permalink / raw)
  To: Ralf Gerbig; +Cc: Takashi Iwai, Lenar Lõhmus, Linux Kernel Mailinglist



On Tue, 10 Feb 2004, Ralf Gerbig wrote:
> 
> * On Tue, 10 Feb 2004 20:05:35 +0100, Takashi Iwai <tiwai@suse.de> said:
> 
> > --- linux/sound/pci/intel8x0.c	6 Feb 2004 17:47:49 -0000	1.115
> > +++ linux/sound/pci/intel8x0.c	10 Feb 2004 19:03:43 -0000
> > @@ -807,7 +807,7 @@
> >  		if (status)
> >  			iputdword(chip, chip->int_sta_reg, status);
> >  		spin_unlock(&chip->reg_lock);
> > -		return IRQ_NONE;
> > +		return IRQ_HANDLED(status);
> 
> did not compile, tried 
> 
>                 return IRQ_RETVAL(status);
> 
> instead. Works, but I get 150,000 interrupts/s even without playing any
> sound.

Can you add something like

	static int count = 10;
	if (count) {
		count--;
		printk("sound status = %08x (mask %08x)\n", 
			status, chip->int_sta_mask);
	}

to just before the return?

That should tell what the register contents are, and might be a clue
about what event it thinks is active.

		Linus

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-10 20:23         ` Linus Torvalds
@ 2004-02-10 20:49           ` Ralf Gerbig
  2004-02-11 10:42             ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Ralf Gerbig @ 2004-02-10 20:49 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Takashi Iwai, Lenar Lõhmus, Linux Kernel Mailinglist

Moins,

* Linus Torvalds said:

> Can you add something like

> 	static int count = 10;
> 	if (count) {
> 		count--;
> 		printk("sound status = %08x (mask %08x)\n", 
> 			status, chip->int_sta_mask);
> 	}

> to just before the return?

> That should tell what the register contents are, and might be a clue
> about what event it thinks is active.


kernel: PCI: Setting latency timer of device 0000:00:06.0 to 64
kernel: sound status = 00000000 (mask 00000000)
kernel: sound status = 00000000 (mask 00000000)
kernel: sound status = 00300100 (mask 000000f0)
last message repeated 7 times
/sbin/hotplug[18871]: no runnable /etc/hotplug/sound.agent is installed
/sbin/hotplug[18886]: no runnable /etc/hotplug/sound.agent is installed
/sbin/hotplug[18878]: no runnable /etc/hotplug/sound.agent is installed
/sbin/hotplug[18885]: no runnable /etc/hotplug/sound.agent is installed
kernel: intel8x0_measure_ac97_clock: measured 49492 usecs
kernel: intel8x0: clocking to 47354
kernel: ALSA sound/pci/intel8x0.c:2787: joystick(s) found
/sbin/hotplug[18901]: no runnable /etc/hotplug/sound.agent is installed

playing a video with mplayer:

kernel: ALSA sound/core/pcm_lib.c:233: Unexpected hw_pointer value [2] (stream = 0, delta: -1108, max jitter = 4456): wrong interrupt acknowledge?
-- 
 P:     Linus Torvalds			patch-2.2.4
-S:     Buried alive in diapers
+S:     Buried alive in reporters

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-10 20:49           ` Ralf Gerbig
@ 2004-02-11 10:42             ` Takashi Iwai
  2004-02-11 20:11               ` Ralf Gerbig
  0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2004-02-11 10:42 UTC (permalink / raw)
  To: Ralf Gerbig; +Cc: Linus Torvalds, Lenar Lõhmus, Linux Kernel Mailinglist

At 10 Feb 2004 21:49:19 +0100,
Ralf Gerbig wrote:
> 
> Moins,
> 
> * Linus Torvalds said:
> 
> > Can you add something like
> 
> > 	static int count = 10;
> > 	if (count) {
> > 		count--;
> > 		printk("sound status = %08x (mask %08x)\n", 
> > 			status, chip->int_sta_mask);
> > 	}
> 
> > to just before the return?
> 
> > That should tell what the register contents are, and might be a clue
> > about what event it thinks is active.
> 
> 
> kernel: PCI: Setting latency timer of device 0000:00:06.0 to 64
> kernel: sound status = 00000000 (mask 00000000)
> kernel: sound status = 00000000 (mask 00000000)
> kernel: sound status = 00300100 (mask 000000f0)
> last message repeated 7 times
> /sbin/hotplug[18871]: no runnable /etc/hotplug/sound.agent is installed
> /sbin/hotplug[18886]: no runnable /etc/hotplug/sound.agent is installed
> /sbin/hotplug[18878]: no runnable /etc/hotplug/sound.agent is installed
> /sbin/hotplug[18885]: no runnable /etc/hotplug/sound.agent is installed
> kernel: intel8x0_measure_ac97_clock: measured 49492 usecs
> kernel: intel8x0: clocking to 47354
> kernel: ALSA sound/pci/intel8x0.c:2787: joystick(s) found
> /sbin/hotplug[18901]: no runnable /etc/hotplug/sound.agent is installed
> 
> playing a video with mplayer:
> 
> kernel: ALSA sound/core/pcm_lib.c:233: Unexpected hw_pointer value [2] (stream = 0, delta: -1108, max jitter = 4456): wrong interrupt acknowledge?

this is likely a different problem.
usually this message appears when the interrupt handling is sloppy.


--
Takashi Iwai <tiwai@suse.de>		ALSA Developer - www.alsa-project.org

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-11 10:42             ` Takashi Iwai
@ 2004-02-11 20:11               ` Ralf Gerbig
  2004-02-13 11:05                 ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Ralf Gerbig @ 2004-02-11 20:11 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Linus Torvalds, Lenar Lõhmus, Linux Kernel Mailinglist

Moins,

* On Wed, 11 Feb 2004 11:42:14 +0100, Takashi Iwai <tiwai@suse.de> said:

> Ralf Gerbig wrote:

>> * Linus Torvalds said:
>> 
>> > Can you add something like
>> 
>> > 	static int count = 10;
>> > 	if (count) {
>> > 		count--;
>> > 		printk("sound status = %08x (mask %08x)\n", 
>> > 			status, chip->int_sta_mask);
>> > 	}
>> 
>> > to just before the return?
>> 
>> > That should tell what the register contents are, and might be a clue
>> > about what event it thinks is active.
>> 
>> 
>> kernel: PCI: Setting latency timer of device 0000:00:06.0 to 64
>> kernel: sound status = 00000000 (mask 00000000)
>> kernel: sound status = 00000000 (mask 00000000)
>> kernel: sound status = 00300100 (mask 000000f0)
>> last message repeated 7 times
>> /sbin/hotplug[18871]: no runnable /etc/hotplug/sound.agent is installed
>> /sbin/hotplug[18886]: no runnable /etc/hotplug/sound.agent is installed
>> /sbin/hotplug[18878]: no runnable /etc/hotplug/sound.agent is installed
>> /sbin/hotplug[18885]: no runnable /etc/hotplug/sound.agent is installed
>> kernel: intel8x0_measure_ac97_clock: measured 49492 usecs
>> kernel: intel8x0: clocking to 47354
>> kernel: ALSA sound/pci/intel8x0.c:2787: joystick(s) found
>> /sbin/hotplug[18901]: no runnable /etc/hotplug/sound.agent is installed
>> 
>> playing a video with mplayer:
>> 
>> kernel: ALSA sound/core/pcm_lib.c:233: Unexpected hw_pointer value [2] (stream = 0, delta: -1108, max jitter = 4456): wrong interrupt acknowledge?

> this is likely a different problem.
> usually this message appears when the interrupt handling is sloppy.

tried this: ( beware I do _not_ know what I'm doing)

--- sound/oss/i810_audio.c.orig 2004-02-11 20:13:45.000000000 +0100
+++ sound/oss/i810_audio.c      2004-02-11 20:48:51.000000000 +0100
@@ -149,7 +149,7 @@
 
 //#define DEBUG
 //#define DEBUG2
-//#define DEBUG_INTERRUPTS
+#define DEBUG_INTERRUPTS
 //#define DEBUG_MMAP
 //#define DEBUG_MMIO
 
@@ -1380,8 +1380,16 @@
 
        if(!(status & INT_MASK)) 
        {
+
+               static int count = 10;
+               if (count) {
+               count--;
+               printk("sound status = %08x (mask %08x)\n",
+               status, INT_MASK);
+               }
+
                spin_unlock(&card->lock);
-               return IRQ_NONE;  /* not for us */
+               return IRQ_RETVAL(status);  /* not for us */
        }
 
        if(status & (INT_PO|INT_PI|INT_MC))

which resulted in:

kernel: Intel 810 + AC97 Audio, version 0.24, 20:51:32 Feb 11 2004
kernel: PCI: Setting latency timer of device 0000:00:06.0 to 64
kernel: i810: NVIDIA nForce Audio found at IO 0xd400 and 0xd000, MEM 0x0000 and 0x0000, IRQ 21
kernel: sound status = 00300100 (mask 00000ce7)
last message repeated 9 times
kernel: i810_audio: Audio Controller supports 6 channels.
kernel: i810_audio: Defaulting to base 2 channel mode.
kernel: i810_audio: Resetting connection 0
kernel: ac97_codec: AC97  codec, id: CMI97 (CMedia)
kernel: AC97 codec does not have proper volume support.
kernel: i810_audio: only 48Khz playback available.
kernel: i810_audio: AC'97 codec 0, new EID value = 0x05c6
kernel: i810_audio: AC'97 codec 0, DAC map configured, total channels = 6
/sbin/hotplug[31860]: no runnable /etc/hotplug/sound.agent is installed
kernel: i810_audio: 9472 bytes in 50 milliseconds
kernel: i810_audio: setting clocking to 48648

line in -> line out with xawtv works, 
PCM (echo /usr/share/sounds/alsa/test.wav >/dev/dsp) -> does not hang,
but no sound

and I get ~250,000 ints/s on IRQ 21

thanks,

Ralf
-- 
 P:     Linus Torvalds			patch-2.2.4
-S:     Buried alive in diapers
+S:     Buried alive in reporters

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1)
  2004-02-11 20:11               ` Ralf Gerbig
@ 2004-02-13 11:05                 ` Takashi Iwai
  0 siblings, 0 replies; 11+ messages in thread
From: Takashi Iwai @ 2004-02-13 11:05 UTC (permalink / raw)
  To: Ralf Gerbig; +Cc: Linus Torvalds, Lenar Lõhmus, Linux Kernel Mailinglist

[-- Attachment #1: Type: text/plain, Size: 438 bytes --]

At 11 Feb 2004 21:11:08 +0100,
Ralf Gerbig wrote:
> 
> -               return IRQ_NONE;  /* not for us */
> +               return IRQ_RETVAL(status);  /* not for us */

after checking the code again, using status as IRQ_RETVAL() isn't a
good way, because it has also some static status bits.
the attached patch would be better to avoid the confusion.
it will return IRQ_HANDLED only when some irq bits are really
acknowledged.


Takashi

[-- Attachment #2: Type: text/plain, Size: 993 bytes --]

Index: alsa-kernel/pci/intel8x0.c
===================================================================
RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/intel8x0.c,v
retrieving revision 1.115
diff -u -r1.115 intel8x0.c
--- alsa-kernel/pci/intel8x0.c	6 Feb 2004 17:47:49 -0000	1.115
+++ alsa-kernel/pci/intel8x0.c	13 Feb 2004 10:32:46 -0000
@@ -804,10 +804,20 @@
 	spin_lock(&chip->reg_lock);
 	status = igetdword(chip, chip->int_sta_reg);
 	if ((status & chip->int_sta_mask) == 0) {
-		if (status)
+		static int status_ack = 0;
+		static int err_count = 10;
+		if (status) {
 			iputdword(chip, chip->int_sta_reg, status);
+			status_ack = igetdword(chip, chip->int_sta_reg);
+		}
 		spin_unlock(&chip->reg_lock);
-		return IRQ_NONE;
+		status ^= status_ack;
+		if (status && err_count) {
+			err_count--;
+			snd_printd("intel8x0: unknown IRQ bits 0x%x (sta_mask=0x%x)\n",
+				   status, chip->int_sta_mask);
+		}
+		return IRQ_RETVAL(status);
 	}
 
 	for (i = 0; i < chip->bdbars_count; i++) {

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2004-02-13 11:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-06 16:19 irq 7: nobody cared! (intel8x0 sound / 2.6.2-rc3-mm1) Lenar Lõhmus
2004-02-09 18:56 ` Takashi Iwai
2004-02-10 17:26   ` Lenar Lõhmus
2004-02-10 19:05     ` Takashi Iwai
2004-02-10 19:50       ` Ralf Gerbig
2004-02-10 20:23         ` Linus Torvalds
2004-02-10 20:49           ` Ralf Gerbig
2004-02-11 10:42             ` Takashi Iwai
2004-02-11 20:11               ` Ralf Gerbig
2004-02-13 11:05                 ` Takashi Iwai
2004-02-10 19:09   ` Ralf Gerbig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox