Re: hda-intel "nobody cared"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Wed, 16 Aug 2006 17:16:06 -0400,
Lee Revell wrote:
> 
> > > Is there any difference in behavior if you configure your apps to use
> > > OSS vs. ALSA?
> > 
> > I just had more of a poke around and it seems I'm only getting this
> > problem when artsd is running under KDE. Artsd is configured to use
> > ALSA, as so:
> > 
> >   artsd -F 10 -S 4096 -a alsa -d -s 30 -m artsmessage -c drkonqui -l -f
> > 
> > If I kill artsd and then suspend whilst audio is playing via another app,
> > in this case ogg123, both with OSS and ALSA output devices configured, 
> > I don't get the problem.
> > 
> > Perhaps this could go to the arts people, but I think if I'm seeing a
> > kernel problem, then this should be dealt with in the kernel drivers.
> 
> Yes, it's certainly a kernel problem (though it may be with ACPI rather
> than the sound driver).  It's interesting that some apps work and some
> don't.  Can you try some more sound applications?  It might help narrow
> down the problem.

Actually, it's a bit strange that the irq is issued there.
All the PCM substreams have to be marked as suspended and the
power-lock is set, no new or restarted stream should occur after
suspend.

If it's a problem with irq handling, the patch below might help. 
A similar trick is implemented in intel8x0.c that had shown problems
with some devices.


Takashi

diff -r 3a8525957a59 pci/hda/hda_intel.c
--- a/pci/hda/hda_intel.c	Thu Aug 17 16:59:28 2006 +0200
+++ b/pci/hda/hda_intel.c	Thu Aug 17 17:04:45 2006 +0200
@@ -1355,6 +1355,8 @@ static int azx_suspend(struct pci_dev *p
 		snd_pcm_suspend_all(chip->pcm[i]);
 	snd_hda_suspend(chip->bus, state);
 	azx_free_cmd_io(chip);
+	if (chip->irq >= 0)
+		free_irq(chip->irq, chip);
 	pci_disable_device(pci);
 	pci_save_state(pci);
 	return 0;
@@ -1368,6 +1370,9 @@ static int azx_resume(struct pci_dev *pc
 	pci_restore_state(pci);
 	pci_enable_device(pci);
 	pci_set_master(pci);
+	request_irq(pci->irq, azx_interrupt, IRQF_DISABLED|IRQF_SHARED,
+		    "HDA Intel", chip);
+	chip->irq = pci->irq;
 	azx_init_chip(chip);
 	snd_hda_resume(chip->bus);
 	snd_power_change_state(card, SNDRV_CTL_POWER_D0);

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux