All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations
@ 2016-11-23  8:05 Hui Wang
  2016-11-23  8:05 ` [PATCH 2/2] ALSA: hda - fix headset-mic problem on a Dell laptop Hui Wang
  2016-11-24 10:39 ` [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations Takashi Iwai
  0 siblings, 2 replies; 3+ messages in thread
From: Hui Wang @ 2016-11-23  8:05 UTC (permalink / raw)
  To: tiwai, alsa-devel; +Cc: stable, hui.wang

More and more pin configurations have been adding to the pin quirk
table, lots of them are only different from assoc and seq, but they
all apply to the same QUIRK_FIXUP, if we don't compare assoc and seq
when matching pin configurations, it will greatly reduce the pin
quirk table size.

We have tested this change on a couple of Dell laptops, it worked
well.

Cc: <stable@vger.kernel.org>
Signed-off-by: Hui Wang <hui.wang@canonical.com>
---
No hurry to cleanup the existing pin quirk table, if this patch
run well for a period of time, then I will do the cleanup little
by little.

If this patch introduce some problem, we just need to revert this
patch.
 sound/pci/hda/hda_auto_parser.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
index 7f57a14..4ad29f8 100644
--- a/sound/pci/hda/hda_auto_parser.c
+++ b/sound/pci/hda/hda_auto_parser.c
@@ -901,7 +901,7 @@ static bool pin_config_match(struct hda_codec *codec,
 		for (; t_pins->nid; t_pins++) {
 			if (t_pins->nid == nid) {
 				found = 1;
-				if (t_pins->val == cfg)
+				if ((t_pins->val & 0xfffffff0) == (cfg & 0xfffffff0))
 					break;
 				else if ((cfg & 0xf0000000) == 0x40000000 && (t_pins->val & 0xf0000000) == 0x40000000)
 					break;
-- 
1.9.1


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

* [PATCH 2/2] ALSA: hda - fix headset-mic problem on a Dell laptop
  2016-11-23  8:05 [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations Hui Wang
@ 2016-11-23  8:05 ` Hui Wang
  2016-11-24 10:39 ` [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations Takashi Iwai
  1 sibling, 0 replies; 3+ messages in thread
From: Hui Wang @ 2016-11-23  8:05 UTC (permalink / raw)
  To: tiwai, alsa-devel; +Cc: stable, hui.wang

This group of new pins is not in the pin quirk table yet, adding
them to the pin quirk table to fix the headset-mic problem.

Cc: <stable@vger.kernel.org>
Signed-off-by: Hui Wang <hui.wang@canonical.com>
---
 sound/pci/hda/patch_realtek.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 48b8701..64c22cc 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5917,6 +5917,9 @@ enum {
 		{0x12, 0x90a60180},
 		{0x14, 0x90170120},
 		{0x21, 0x02211030}),
+	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
+		{0x1b, 0x01011020},
+		{0x21, 0x02211010}),
 	SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
 		{0x12, 0x90a60160},
 		{0x14, 0x90170120},
-- 
1.9.1


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

* Re: [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations
  2016-11-23  8:05 [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations Hui Wang
  2016-11-23  8:05 ` [PATCH 2/2] ALSA: hda - fix headset-mic problem on a Dell laptop Hui Wang
@ 2016-11-24 10:39 ` Takashi Iwai
  1 sibling, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2016-11-24 10:39 UTC (permalink / raw)
  To: Hui Wang; +Cc: alsa-devel, stable

On Wed, 23 Nov 2016 09:05:37 +0100,
Hui Wang wrote:
> 
> More and more pin configurations have been adding to the pin quirk
> table, lots of them are only different from assoc and seq, but they
> all apply to the same QUIRK_FIXUP, if we don't compare assoc and seq
> when matching pin configurations, it will greatly reduce the pin
> quirk table size.
> 
> We have tested this change on a couple of Dell laptops, it worked
> well.
> 
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Hui Wang <hui.wang@canonical.com>
> ---
> No hurry to cleanup the existing pin quirk table, if this patch
> run well for a period of time, then I will do the cleanup little
> by little.

Right, this is a good step forward.

> If this patch introduce some problem, we just need to revert this
> patch.

I don't think there will be so much, but let's see.

In anyway, I queued your two patches now.  Thanks.


Takashi


>  sound/pci/hda/hda_auto_parser.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
> index 7f57a14..4ad29f8 100644
> --- a/sound/pci/hda/hda_auto_parser.c
> +++ b/sound/pci/hda/hda_auto_parser.c
> @@ -901,7 +901,7 @@ static bool pin_config_match(struct hda_codec *codec,
>  		for (; t_pins->nid; t_pins++) {
>  			if (t_pins->nid == nid) {
>  				found = 1;
> -				if (t_pins->val == cfg)
> +				if ((t_pins->val & 0xfffffff0) == (cfg & 0xfffffff0))
>  					break;
>  				else if ((cfg & 0xf0000000) == 0x40000000 && (t_pins->val & 0xf0000000) == 0x40000000)
>  					break;
> -- 
> 1.9.1
> 

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

end of thread, other threads:[~2016-11-24 10:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-23  8:05 [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations Hui Wang
2016-11-23  8:05 ` [PATCH 2/2] ALSA: hda - fix headset-mic problem on a Dell laptop Hui Wang
2016-11-24 10:39 ` [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations 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.