diff mbox

ALSA: hda - Add mute LED pin quirk for HP 15 touchsmart

Message ID 1406022137-7363-1-git-send-email-david.henningsson@canonical.com (mailing list archive)
State Accepted
Commit 423044744aa4c250058e976474856a7a41972182
Delegated to: Takashi Iwai
Headers show

Commit Message

David Henningsson July 22, 2014, 9:42 a.m. UTC
This makes the mute LED work on a HP 15 touchsmart machine.

BugLink: https://bugs.launchpad.net/bugs/1334950
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
---
 sound/pci/hda/patch_realtek.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Hi Takashi,

This quirk patch is quite straight forward, but when I was working on it
I discovered something else: the pin_quirk actually overrides the
regular quirk (there is a vendor quirk for HP in the other quirk table).

While the optimal order would be 
 1) ssid specific quirks
 2) pin quirks
 3) vendor specific quirks
...this is not that easy to accomplish given the current structure given that
1) and 3) is in one table and 2) is in another table. But before I go ahead
and make any changes, I wanted to hear your thoughts about it.

Comments

Takashi Iwai July 22, 2014, 10:38 a.m. UTC | #1
At Tue, 22 Jul 2014 11:42:17 +0200,
David Henningsson wrote:
> 
> This makes the mute LED work on a HP 15 touchsmart machine.
> 
> BugLink: https://bugs.launchpad.net/bugs/1334950
> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
> ---
>  sound/pci/hda/patch_realtek.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> Hi Takashi,
> 
> This quirk patch is quite straight forward, but when I was working on it
> I discovered something else: the pin_quirk actually overrides the
> regular quirk (there is a vendor quirk for HP in the other quirk table).
> 
> While the optimal order would be 
>  1) ssid specific quirks
>  2) pin quirks
>  3) vendor specific quirks
> ...this is not that easy to accomplish given the current structure given that
> 1) and 3) is in one table and 2) is in another table. But before I go ahead
> and make any changes, I wanted to hear your thoughts about it.

Well, a simple solution would be to split the ssid quirk table to two,
one with full ssid entries and one with vendor ssid entries, then
apply them in the order above.  And, as a bonus, this will eventually
make codec->fixup_forced flag dropped, too, right?

In anyway, I applied the patch now.


thanks,

Takashi

> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 512582b..6f204ba 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5160,6 +5160,17 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
>  		{0x1d, 0x40700001},
>  		{0x1e, 0x411111f0},
>  		{0x21, 0x02211040}),
> +	SND_HDA_PIN_QUIRK(0x10ec0282, 0x103c, "HP 15 Touchsmart", ALC269_FIXUP_HP_MUTE_LED_MIC1,
> +		{0x12, 0x99a30130},
> +		{0x14, 0x90170110},
> +		{0x17, 0x40000000},
> +		{0x18, 0x411111f0},
> +		{0x19, 0x03a11020},
> +		{0x1a, 0x411111f0},
> +		{0x1b, 0x411111f0},
> +		{0x1d, 0x40f41905},
> +		{0x1e, 0x411111f0},
> +		{0x21, 0x0321101f}),
>  	SND_HDA_PIN_QUIRK(0x10ec0283, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
>  		{0x12, 0x90a60130},
>  		{0x14, 0x90170110},
> -- 
> 1.9.1
>
diff mbox

Patch

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 512582b..6f204ba 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5160,6 +5160,17 @@  static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
 		{0x1d, 0x40700001},
 		{0x1e, 0x411111f0},
 		{0x21, 0x02211040}),
+	SND_HDA_PIN_QUIRK(0x10ec0282, 0x103c, "HP 15 Touchsmart", ALC269_FIXUP_HP_MUTE_LED_MIC1,
+		{0x12, 0x99a30130},
+		{0x14, 0x90170110},
+		{0x17, 0x40000000},
+		{0x18, 0x411111f0},
+		{0x19, 0x03a11020},
+		{0x1a, 0x411111f0},
+		{0x1b, 0x411111f0},
+		{0x1d, 0x40f41905},
+		{0x1e, 0x411111f0},
+		{0x21, 0x0321101f}),
 	SND_HDA_PIN_QUIRK(0x10ec0283, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
 		{0x12, 0x90a60130},
 		{0x14, 0x90170110},