[alsa-devel] hda : computer using EAPD as external amplifier controller

Takashi Iwai tiwai at suse.de
Thu Jan 20 10:42:03 CET 2011


At Thu, 20 Jan 2011 10:07:55 +0100,
David Henningsson wrote:
> 
> On 2011-01-19 18:24, Anisse Astier wrote:
> > Hi,
> >
> > I have this computer, with an integrated speaker. It's using an ALC662,
> > see attached alsa-info output.
> >
> > By default, speaker doesn't work. Now, after playing a bit with
> > hda-analyzer, I figured that output PIN 0x14 has EAPD enabled, which is
> > the default way of doing things in auto configure mode. But disabling
> > EAPD on this PIN makes speaker work. See second alsa-info attached.
> >
> > Is it necessary to write a full blown quirk just to modify this parameter?
> >
> >  From what I've seen in patch_realtek, it seems we need to write the whole
> > config for the device when adding a quirk: we can't rely on auto
> > configuration and then put a small quirk on top of that. Am I right ?
> 
> Perhaps this commit can give you some inspiration?
> 
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=357f915ece53aa4c8759087888346145848ea753
> 
> ...although Takashi just rewrote the quirking system a bit, so you'll 
> have to adjust to that when you add your (similar) quirk.

Yes, it looks now like:

static const struct alc_fixup alc269_fixups[] = {
	...
	[ALC269_FIXUP_LENOVO_EAPD] = {
		.type = ALC_FIXUP_VERBS,
		.v.verbs = (const struct hda_verb[]) {
			{0x14, AC_VERB_SET_EAPD_BTLENABLE, 0},
			{}
		}
	},
	...

Takashi


More information about the Alsa-devel mailing list