At Fri, 14 Sep 2007 22:08:47 +0100, Craig Shelley wrote: > > Hi, > > I am not on this list, so please cc me on replies... > > With kernel version 2.6.22.3 I found 2 issues with the audio that were > solved by applying the patches below. Please note that this is most > likely not the correct fix for these issues. Thanks for the patch! > To make the mute LED work on the mute button: > > diff -Nru a/sound/pci/atiixp.c b/sound/pci/atiixp.c > --- a/sound/pci/atiixp.c 2007-09-14 15:21:32.000000000 +0100 > +++ b/sound/pci/atiixp.c 2007-09-14 20:56:27.000000000 +0100 > @@ -1389,6 +1389,12 @@ > .name = "HP nx6125", > .type = AC97_TUNE_MUTE_LED > }, > + { > + .subvendor = 0x103c, > + .subdevice = 0x30a4, > + .name = "HP Pavilion dv5000", > + .type = AC97_TUNE_HP_MUTE_LED > + }, > { } /* terminator */ > }; That's fine... > To stop the loud pop/click sound on suspend/resume: > > diff -Nru a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c > --- a/sound/pci/ac97/ac97_codec.c 2007-08-15 17:25:39.000000000 > +0100 > +++ b/sound/pci/ac97/ac97_codec.c 2007-09-14 21:08:40.000000000 > +0100 > @@ -2287,7 +2287,7 @@ > power |= AC97_PD_PR0 | AC97_PD_PR1; /* ADC & DAC powerdown > */ > snd_ac97_write(ac97, AC97_POWERDOWN, power); > udelay(100); > - power |= AC97_PD_PR2 | AC97_PD_PR3; /* Analog Mixer > powerdown */ > + power |= AC97_PD_PR2; /* Analog Mixer powerdown */ > snd_ac97_write(ac97, AC97_POWERDOWN, power); > if (ac97_is_power_save_mode(ac97)) { > udelay(100); Hm, but this isn't to be applied as is. The code would influence on the case with power-saving mode. > The loud pop/click sound appeared after upgrading from kernel 2.6.16.2 > to 2.6.22.3, and the critical difference between these versions is: > > 2.6.16.2: (ac97_codec.c line 2135) > power |= 0x0400; /* Analog Mixer powerdown (Vref on) */ > > 2.6.22.3: (ac97_codec.c line 2290) > power |= AC97_PD_PR2 | AC97_PD_PR3; /* Analog Mixer powerdown */ > > Where: > #define AC97_PD_PR2 0x0400 /* Power down Mixer (Vref still on) */ > #define AC97_PD_PR3 0x0800 /* Power down Mixer (Vref off) */ > > My guess is that this loud click may be caused by some kind of DC offset > because an equivalent noise occurs while rebooting after hibernating > using hibernate -r So, preventing vref-off seems like the key. How about the patch below? Takashi diff -r f128daf7129b pci/ac97/ac97_codec.c --- a/pci/ac97/ac97_codec.c Mon Sep 17 09:41:36 2007 +0200 +++ b/pci/ac97/ac97_codec.c Mon Sep 17 12:42:32 2007 +0200 @@ -2288,9 +2288,11 @@ static void snd_ac97_powerdown(struct sn power |= AC97_PD_PR0 | AC97_PD_PR1; /* ADC & DAC powerdown */ snd_ac97_write(ac97, AC97_POWERDOWN, power); udelay(100); - power |= AC97_PD_PR2 | AC97_PD_PR3; /* Analog Mixer powerdown */ + power |= AC97_PD_PR2; /* Analog Mixer powerdown (Vref on) */ snd_ac97_write(ac97, AC97_POWERDOWN, power); if (ac97_is_power_save_mode(ac97)) { + power |= AC97_PD_PR3; /* Analog Mixer powerdown */ + snd_ac97_write(ac97, AC97_POWERDOWN, power); udelay(100); /* AC-link powerdown, internal Clk disable */ /* FIXME: this may cause click noises on some boards */ _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel