[alsa-devel] Strange Problem with snd-hda-intel
Frank Maik Kittelmann
fkittelmann at formac.com
Tue May 8 12:52:09 CEST 2012
We have some strange behavior in our audio application using the Realtek
ALC 888 hardware on a Jetway JNC96FL-525-LF mainboard (Intel Atom
D525+NM10) in ubuntu 10.10 (2.6.35-32-generic-pae) with the hda-intel
driver (ALSA version 1.0.23). Sound output is done by mpd (0.17 alpha)
via hw:0,1 (SPDIF). Basically the main problem seems to be a buffer or
memory management issue. Once a playback is stopped the very last sample
is repeated forever, independently from sampling rate or sound file
format. This sample leads to a constant DC voltage after the DA
converters. If we mute the SPDIF Output using the ALSAMIXER, there is no
S/Pdif signal, hence no DC. By demuting again, the same sample appears
again. The annoying thing is, that this sample always stays for a while
if we play another sound file. If the sample has been at a high value,
this leads to a loud noise in the speaker.
We already tried the following steps to solve the problem:
1.) we changed a line in hda_intel.c to reset the fifo
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1797,7 +1797,7 @@ static int azx_pcm_hw_free(struct
snd_pcm_substream *substream)
/* reset BDL address */
azx_sd_writel(azx_dev, SD_BDLPL, 0);
azx_sd_writel(azx_dev, SD_BDLPU, 0);
- azx_sd_writel(azx_dev, SD_CTL, 0);
+ azx_stream_reset(chip, azx_dev);
azx_dev->bufsize = 0;
azx_dev->period_bytes = 0;
azx_dev->format_val = 0;
2.) we set 2 parameters in the .config file before kernel compiling
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
Both solutions didn´t work for us - still same problem. Has anyone
another idea how to solve this?
Would be great if we could fix this.
Frank
More information about the Alsa-devel
mailing list