All of lore.kernel.org
 help / color / mirror / Atom feed
* HDA_PINCFG_NO_HP_FIXUP question
@ 2012-07-18  6:27 David Henningsson
  2012-07-18  6:44 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: David Henningsson @ 2012-07-18  6:27 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai

Hi,

I'm trying to fix a bug where the docking station is not working. I 
started by adding pins for them (because that was not present), like this:

	[ALC269_FIXUP_LENOVO_DOCK] = {
		.type = ALC_FIXUP_PINS,
		.v.pins = (const struct alc_pincfg[]) {
			{ 0x19, 0x23a11040 }, /* dock mic */
			{ 0x1b, 0x2121103f }, /* dock headphone */
			{ }
		},
	},

However, this caused the real (non-dock) headphone out to "fixed up" to 
a line out, which is wrong. I'm a little unsure about the best way to 
resolve this, I can think of a few different options:

1) Also override the non-dock headphone out to have sequence number 0xf

2) Set parse_flags to HDA_PINCFG_NO_HP_FIXUP in patch_alc269

3) Try to improve the fix up algorithm to not fix up this particular 
case, but since I don't know when and where this was needed in the first 
place, I'm not sure how to do that without throwing the baby out with 
the bath water...?

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: HDA_PINCFG_NO_HP_FIXUP question
  2012-07-18  6:27 HDA_PINCFG_NO_HP_FIXUP question David Henningsson
@ 2012-07-18  6:44 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2012-07-18  6:44 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

At Wed, 18 Jul 2012 08:27:02 +0200,
David Henningsson wrote:
> 
> Hi,
> 
> I'm trying to fix a bug where the docking station is not working. I 
> started by adding pins for them (because that was not present), like this:
> 
> 	[ALC269_FIXUP_LENOVO_DOCK] = {
> 		.type = ALC_FIXUP_PINS,
> 		.v.pins = (const struct alc_pincfg[]) {
> 			{ 0x19, 0x23a11040 }, /* dock mic */
> 			{ 0x1b, 0x2121103f }, /* dock headphone */
> 			{ }
> 		},
> 	},
> 
> However, this caused the real (non-dock) headphone out to "fixed up" to 
> a line out, which is wrong. I'm a little unsure about the best way to 
> resolve this, I can think of a few different options:
> 
> 1) Also override the non-dock headphone out to have sequence number 0xf
> 
> 2) Set parse_flags to HDA_PINCFG_NO_HP_FIXUP in patch_alc269
> 
> 3) Try to improve the fix up algorithm to not fix up this particular 
> case, but since I don't know when and where this was needed in the first 
> place, I'm not sure how to do that without throwing the baby out with 
> the bath water...?

In this particular case, I'd take 1 or 2, the easier one.
1 is already used for Lenovo conexant models pin-fixups.
And 2 can be applied only to this model by a quirk function setting 
spec->parse_flags before alc_parse_auto_config().


thanks,

Takashi

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-07-18  6:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-18  6:27 HDA_PINCFG_NO_HP_FIXUP question David Henningsson
2012-07-18  6:44 ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.