At Wed, 10 Jun 2015 14:45:51 +0300, Mihai Donțu wrote: > > On Wed, 10 Jun 2015 12:50:22 +0200 Takashi Iwai wrote: > > At Wed, 10 Jun 2015 13:41:35 +0300, Mihai Donțu wrote: > > > On Wed, 10 Jun 2015 12:22:53 +0200 Takashi Iwai wrote: > > > > At Wed, 10 Jun 2015 13:17:55 +0300, Mihai Donțu wrote: > > > > > On Wed, 20 May 2015 07:01:12 +0200 Takashi Iwai wrote: > > > > > > From: Takashi Iwai <ti...@suse.de> > > > > > > Subject: [PATCH] ALSA: hda - Disable widget power-saving for ALC292 > > > > > > & co > > > > > > > > > > > > We've got reports that ALC3226 (a Dell variant of ALC292) gives > > > > > > click > > > > > > noises at transition from D3 to D0 when the widget power-saving is > > > > > > enabled. Further debugging session showed that avoiding it isn't > > > > > > trivial, unfortunately, since paths are basically activated > > > > > > dynamically while the pins have been already enabled. > > > > > > > > > > > > This patch disables the widget power-saving for such codecs. > > > > > > > > > > > > Reported-by: Jonathan McDowell <nood...@earth.li> > > > > > > Signed-off-by: Takashi Iwai <ti...@suse.de> > > > > > > --- > > > > > > sound/pci/hda/patch_realtek.c | 3 ++- > > > > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > > > > > > > diff --git a/sound/pci/hda/patch_realtek.c > > > > > > b/sound/pci/hda/patch_realtek.c > > > > > > index 2e246fe495f6..31f8f13be907 100644 > > > > > > --- a/sound/pci/hda/patch_realtek.c > > > > > > +++ b/sound/pci/hda/patch_realtek.c > > > > > > @@ -5623,7 +5623,8 @@ static int patch_alc269(struct hda_codec > > > > > > *codec) > > > > > > > > > > > > spec = codec->spec; > > > > > > spec->gen.shared_mic_vref_pin = 0x18; > > > > > > - codec->power_save_node = 1; > > > > > > + if (codec->core.vendor_id != 0x10ec0292) > > > > > > + codec->power_save_node = 1; > > > > > > > > > > > > snd_hda_pick_fixup(codec, alc269_fixup_models, > > > > > > alc269_fixup_tbl, alc269_fixups); > > > > > > > > > > I'm on 4.1-rc7 which appears to contain this patch, however, I still > > > > > get the audio artifacts (crackles) when I boot my laptop (Latitude > > > > > E7440): > > > > > > > > > > [ 1.058839] snd_hda_codec_realtek hdaudioC1D0: autoconfig for > > > > > ALC3226: line_outs=1 (0x16/0x0/0x0/0x0/0x0) type:line > > > > > [ 1.058843] snd_hda_codec_realtek hdaudioC1D0: speaker_outs=1 > > > > > (0x14/0x0/0x0/0x0/0x0) > > > > > [ 1.058846] snd_hda_codec_realtek hdaudioC1D0: hp_outs=1 > > > > > (0x15/0x0/0x0/0x0/0x0) > > > > > [ 1.058849] snd_hda_codec_realtek hdaudioC1D0: mono: > > > > > mono_out=0x0 > > > > > [ 1.058851] snd_hda_codec_realtek hdaudioC1D0: inputs: > > > > > [ 1.058855] snd_hda_codec_realtek hdaudioC1D0: Dock Mic=0x19 > > > > > [ 1.058859] snd_hda_codec_realtek hdaudioC1D0: Headset > > > > > Mic=0x1a > > > > > [ 1.058862] snd_hda_codec_realtek hdaudioC1D0: Internal > > > > > Mic=0x12 > > > > > > > > > > 4.0.4 was fine. > > > > > > > > Does it happen only once at boot (i.e. at power up), or happens always > > > > at runtime PM? If it's a once-off boot thing, the patch shouldn't > > > > have much effect. Something else, very subtle thing, e.g. the order > > > > of verb execution, might cause this kind of problem. > > > > > > Only at power up. I've also suspend-resumed twice and can confirm it's > > > OK. > > > > > > There's a _very_ brief click at suspend (when the power is cut), but it > > > looks like a plain circuitry thing. I probably didn't notice it before > > > because I wasn't looking for it. > > > > Thanks. Do you get the same click noise when reloading snd-hda-intel > > driver? Also, does it happen when booting in runlevel 3? > > > > Last but not least, a patch like below has any effect? > > > > > > Takashi > > > > --- > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c > > --- a/sound/pci/hda/hda_codec.c > > +++ b/sound/pci/hda/hda_codec.c > > @@ -3077,6 +3077,8 @@ static unsigned int hda_set_power_state(struct > > hda_codec *codec, > > break; > > } > > > > + if (power_state == AC_PWRST_D0) > > + msleep(100); > > return state; > > } > > > > Reloading snd-hda-intel does not trigger the noise, but it helps. I've > noticed that the clicks appear when loading/reloading pulseaudio. > > $ pulseaudio -k > > will spawn a new child in background (probably asked by kmix) and > immediately I hear the noise. Reloading the driver makes the problem go > away.
Hm. It's a bit inconsistent, but still this can be only at the full power up sequence. > telinit 3 does nothing for me (Gentoo seems to have things wired > differently). Manually reloading alsasound (/etc/init.d/alsasound) did > not trigger the problem either. > > However! Your patch seems to work. Cold boot, pulseaudio restart and > nothing. Not a peep. :-) OK, could you try to reduce the sleep value from 100 to 10? Does it still work? thanks, Takashi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/