Skip to contentSkip to conversation

hda - add ALC889 quick id for Intel Los Lunas 2 desktop reference board

PATCH In review Wu Fengguang 3 participants 8 messages Dec 21, 2011 Sound

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 hda - add ALC889 quick id for Intel Los Lunas 2 desktop reference board

---
 sound/pci/hda/alc882_quirks.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/alc882_quirks.c +1 -0
@@ -2955,6 +2955,7 @@ static const struct snd_pci_quirk alc882
 	SND_PCI_QUIRK(0x8086, 0x0002, "DG33FBC", ALC883_3ST_6ch_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x2503, "82801H", ALC883_MITAC),
 	SND_PCI_QUIRK(0x8086, 0x0022, "DX58SO", ALC889_INTEL),
+	SND_PCI_QUIRK(0x8086, 0x7270, "Intel Los Lunas 2", ALC889_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x0021, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x3b56, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0xd601, "D102GGC", ALC882_6ST_DIG),
#1 lore raw

At Wed, 21 Dec 2011 10:20:20 +0800,

Quoted 2 lines · Wu Fengguang

Do you really need this? I'm in the process removing all these model quirks. Basically if the BIOS provides the right pin-config, it should work with the auto-parser. If not, you can still provide the pin-config either statically or dynamically.

thanks,

Takashi

Quoted 15 lines
---
 sound/pci/hda/alc882_quirks.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/alc882_quirks.c +1 -0
@@ -2955,6 +2955,7 @@ static const struct snd_pci_quirk alc882
 	SND_PCI_QUIRK(0x8086, 0x0002, "DG33FBC", ALC883_3ST_6ch_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x2503, "82801H", ALC883_MITAC),
 	SND_PCI_QUIRK(0x8086, 0x0022, "DX58SO", ALC889_INTEL),
+	SND_PCI_QUIRK(0x8086, 0x7270, "Intel Los Lunas 2", ALC889_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x0021, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x3b56, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0xd601, "D102GGC", ALC882_6ST_DIG),
#2 lore raw
Quoted 6 lines · Takashi Iwai

At Wed, 21 Dec 2011 10:20:20 +0800,

Quoted 2 lines · Wu Fengguang

Do you really need this?

Yeah, the problem (now and future) is, our early hardware often have broken BIOS that does not get the pin-config right. However I understand that it's not sane to continue expanding the quick code.

Quoted 1 line

I'm in the process removing all these model quirks.

Doesn't that risk introducing many regressions? What would be the problem if we switch to the generic HDA driver for *new* boards and leave the old working quicks/models untouched?

Quoted 3 lines

Basically if the BIOS provides the right pin-config, it should work with the auto-parser. If not, you can still provide the pin-config either statically or dynamically.

OK. Do you expect me to follow the example given by commit 2996bdbaa ("ALSA: hda - Remove ALC662 eeepc-p701 and ecs models")?

Thanks,
Fengguang

Quoted 15 lines
Quoted 15 lines
---
 sound/pci/hda/alc882_quirks.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/alc882_quirks.c +1 -0
@@ -2955,6 +2955,7 @@ static const struct snd_pci_quirk alc882
 	SND_PCI_QUIRK(0x8086, 0x0002, "DG33FBC", ALC883_3ST_6ch_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x2503, "82801H", ALC883_MITAC),
 	SND_PCI_QUIRK(0x8086, 0x0022, "DX58SO", ALC889_INTEL),
+	SND_PCI_QUIRK(0x8086, 0x7270, "Intel Los Lunas 2", ALC889_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x0021, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x3b56, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0xd601, "D102GGC", ALC882_6ST_DIG),
#3 lore raw

At Wed, 21 Dec 2011 15:23:14 +0800,

Quoted 13 lines · Wu Fengguang
Quoted 6 lines · Takashi Iwai

At Wed, 21 Dec 2011 10:20:20 +0800,

Quoted 2 lines · Wu Fengguang

Do you really need this?

Yeah, the problem (now and future) is, our early hardware often have broken BIOS that does not get the pin-config right. However I understand that it's not sane to continue expanding the quick code.

Quoted 5 lines
Quoted 1 line

I'm in the process removing all these model quirks.

Doesn't that risk introducing many regressions? What would be the problem if we switch to the generic HDA driver for *new* boards and leave the old working quicks/models untouched?

I've checked (manually) with hda-emu whether the new code works with the old static quirks before them. (It's also a part of the reasons why ALC880 and ALC882 model quirks still remain -- it takes time to verify all these old models.)

Quoted 6 lines
Quoted 3 lines

Basically if the BIOS provides the right pin-config, it should work with the auto-parser. If not, you can still provide the pin-config either statically or dynamically.

OK. Do you expect me to follow the example given by commit 2996bdbaa ("ALSA: hda - Remove ALC662 eeepc-p701 and ecs models")?

Yes, just add an entry with a static pin-config table for your device.

thanks,

Takashi

Quoted 20 lines

Thanks,
Fengguang

Quoted 15 lines
Quoted 15 lines
---
 sound/pci/hda/alc882_quirks.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/alc882_quirks.c +1 -0
@@ -2955,6 +2955,7 @@ static const struct snd_pci_quirk alc882
 	SND_PCI_QUIRK(0x8086, 0x0002, "DG33FBC", ALC883_3ST_6ch_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x2503, "82801H", ALC883_MITAC),
 	SND_PCI_QUIRK(0x8086, 0x0022, "DX58SO", ALC889_INTEL),
+	SND_PCI_QUIRK(0x8086, 0x7270, "Intel Los Lunas 2", ALC889_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x0021, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0x3b56, "Intel IbexPeak", ALC889A_INTEL),
 	SND_PCI_QUIRK(0x8086, 0xd601, "D102GGC", ALC882_6ST_DIG),
#6 lore raw
In reply to Takashi Iwai

Takashi,

With the anticipation we'll be adding lots of pincfg numbers in future:

+ [ALC662_FIXUP_ECS] = {
+ .type = ALC_FIXUP_PINS,
+ .v.pins = (const struct alc_pincfg[]) {
+ { 0x14, 0x99130110 }, /* speaker */
+ { 0x18, 0x01a19820 }, /* mic */

These numbers are anything but intuitive. Do you mind me introduce some macros to make them easier to compose and read?

Thanks,
Fengguang

#7 lore raw

At Wed, 21 Dec 2011 15:38:31 +0800,

Quoted 11 lines · Wu Fengguang

Takashi,

With the anticipation we'll be adding lots of pincfg numbers in future:

(quoted diff) +5 -0
+       [ALC662_FIXUP_ECS] = {
+               .type = ALC_FIXUP_PINS,
+               .v.pins = (const struct alc_pincfg[]) {
+                       { 0x14, 0x99130110 }, /* speaker */
+                       { 0x18, 0x01a19820 }, /* mic */
Quoted 2 lines

These numbers are anything but intuitive. Do you mind me introduce some macros to make them easier to compose and read?

No, please go ahead. It'll be good to have such macros. I was too lazy to write macros, since I understand these raw numbers nowadays ;)

Takashi

#4 lore raw
In reply to Wu Fengguang
Quoted 6 lines · Wu Fengguang
Quoted 1 line · Takashi Iwai

I'm in the process removing all these model quirks.

Doesn't that risk introducing many regressions? What would be the problem if we switch to the generic HDA driver for *new* boards and leave the old working quicks/models untouched?

For me, it's the other way around. Whenever we try to improve the generic behaviour of the codec driver, e g by adding configurable auto-mute, jack detection notification etc, these old models get left behind because the new stuff depends on information we get out of the autoparser(s).

By removing the model quirks, these machines can benefit from the new functionality as well.

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
#5 lore raw
Quoted 8 lines · David Henningsson
Quoted 6 lines · Wu Fengguang
Quoted 1 line · Takashi Iwai

I'm in the process removing all these model quirks.

Doesn't that risk introducing many regressions? What would be the problem if we switch to the generic HDA driver for *new* boards and leave the old working quicks/models untouched?

Quoted 8 lines

For me, it's the other way around. Whenever we try to improve the generic behaviour of the codec driver, e g by adding configurable auto-mute, jack detection notification etc, these old models get left behind because the new stuff depends on information we get out of the autoparser(s).

By removing the model quirks, these machines can benefit from the new functionality as well.

Yeah that's a good point of view! I cannot agree it any more.

Thanks,
Fengguang