Skip to contentSkip to conversation

hda: Add STAC_DELL_M4_3 quirk

PATCH In review Matthew Ranostay 2 participants 5 messages Nov 20, 2008 – Nov 21, 2008 Documentation

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 hda: Add STAC_DELL_M4_3 quirk

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops.

---

pci/hda/patch_sigmatel.c +8 -0
index e0298df..dab6013 100644
@@ -83,6 +83,7 @@ enum {
 	STAC_92HD71BXX_REF,
 	STAC_DELL_M4_1,
 	STAC_DELL_M4_2,
+	STAC_DELL_M4_3,
 	STAC_HP_M4,
 	STAC_92HD71BXX_MODELS
 };
@@ -1689,10 +1690,17 @@ static unsigned int dell_m4_2_pin_configs[11] = {
 	0x40f000f0, 0x044413b0, 0x044413b0,
 };
 
+static unsigned int dell_m4_3_pin_configs[11] = {
+	0x0421101f, 0x04a11221, 0x90a70330, 0x90170110,
+	0x40f000f0, 0x40f000f0, 0x40f000f0, 0x90a000f0,
+	0x40f000f0, 0x044413b0, 0x044413b0,
+};
+
 static unsigned int *stac92hd71bxx_brd_tbl[STAC_92HD71BXX_MODELS] = {
 	[STAC_92HD71BXX_REF] = ref92hd71bxx_pin_configs,
 	[STAC_DELL_M4_1]	= dell_m4_1_pin_configs,
 	[STAC_DELL_M4_2]	= dell_m4_2_pin_configs,
+	[STAC_DELL_M4_3]	= dell_m4_3_pin_configs,
 	[STAC_HP_M4]		= NULL,
 };
 
@@ -1700,6 +1708,7 @@ static const char

*stac92hd71bxx_models[STAC_92HD71BXX_MODELS] = {
[STAC_92HD71BXX_REF] = "ref",
[STAC_DELL_M4_1] = "dell-m4-1",
[STAC_DELL_M4_2] = "dell-m4-2",
+ [STAC_DELL_M4_3] = "dell-m4-3",
[STAC_HP_M4] = "hp-m4",
};

@@ -1731,6 +1740,8 @@ static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = {
"unknown Dell", STAC_DELL_M4_2),
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0264,
"unknown Dell", STAC_DELL_M4_2),
+ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02aa,
+ "unknown Dell", STAC_DELL_M4_3),
{} /* terminator */
};

@@ -4650,14 +4661,20 @@ again:

switch (spec->board_config) {
case STAC_HP_M4:
- spec->num_dmics = 0;
- spec->num_smuxes = 0;
- spec->num_dmuxes = 0;
-
/* enable internal microphone */ stac92xx_set_config_reg(codec, 0x0e, 0x01813040); stac92xx_auto_set_pinctl(codec, 0x0e,
AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);
+ case STAC_DELL_M4_2:
+ spec->num_dmics = 0;
+ spec->num_smuxes = 0;
+ spec->num_dmuxes = 0;
+ break;
+ case STAC_DELL_M4_1:
+ case STAC_DELL_M4_3:
+ spec->num_dmics = 1;
+ spec->num_smuxes = 0;
+ spec->num_dmuxes = 0;
break;
default:
spec->num_dmics = STAC92HD71BXX_NUM_DMICS;

#1 lore raw

At Wed, 19 Nov 2008 21:48:51 -0500,

Quoted 2 lines · Matthew Ranostay

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops.

Which laptops, more exactly? Recently I received bug reports about Dell Studio laptops, and wondering whether it's for such models.

Review again: · line 4667

Quoted 12 lines
(quoted diff) +0 -4
@@ -4650,14 +4661,20 @@ again:
 
 	switch (spec->board_config) {
 	case STAC_HP_M4:
-		spec->num_dmics = 0;
-		spec->num_smuxes = 0;
-		spec->num_dmuxes = 0;
-
 		/* enable internal microphone */
 		stac92xx_set_config_reg(codec, 0x0e, 0x01813040);
 		stac92xx_auto_set_pinctl(codec, 0x0e,
 			AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);

Please add a comment about fall-through here.

Also, update Documentation/*/ALSA-Configuration.txt as well.

thanks,

Takashi

#2 lore raw
Quoted 23 lines · Takashi Iwai

At Wed, 19 Nov 2008 21:48:51 -0500,

Quoted 1 line · Matthew Ranostay

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops.

Which laptops, more exactly? Recently I received bug reports about Dell Studio laptops, and wondering whether it's for such models.

Review again: · line 4667

Quoted 12 lines
(quoted diff) +0 -4
@@ -4650,14 +4661,20 @@ again:
 
 	switch (spec->board_config) {
 	case STAC_HP_M4:
-		spec->num_dmics = 0;
-		spec->num_smuxes = 0;
-		spec->num_dmuxes = 0;
-
 		/* enable internal microphone */
 		stac92xx_set_config_reg(codec, 0x0e, 0x01813040);
 		stac92xx_auto_set_pinctl(codec, 0x0e,
 			AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);

Please add a comment about fall-through here.

Quoted 7 lines

Also, update Documentation/*/ALSA-Configuration.txt as well.

thanks,

Takashi

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops and desktops.

---

(quoted diff) +0 -0

b/Documentation/ALSA-Configuration.txt
index 3ab5fb1..8b99a22 100644

Documentation/ALSA-Configuration.txt +0 -0
@@ -1076,6 +1076,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix.

This was removed.
ref Reference board
dell-m4-1 Dell desktops
dell-m4-2 Dell desktops
+ dell-m4-3 Dell desktops

STAC92HD73*
ref Reference board

pci/hda/patch_sigmatel.c +8 -0
index e0298df..f1a0f13 100644
@@ -83,6 +83,7 @@ enum {
 	STAC_92HD71BXX_REF,
 	STAC_DELL_M4_1,
 	STAC_DELL_M4_2,
+	STAC_DELL_M4_3,
 	STAC_HP_M4,
 	STAC_92HD71BXX_MODELS
 };
@@ -1689,10 +1690,17 @@ static unsigned int dell_m4_2_pin_configs[11] = {
 	0x40f000f0, 0x044413b0, 0x044413b0,
 };
 
+static unsigned int dell_m4_3_pin_configs[11] = {
+	0x0421101f, 0x04a11221, 0x90a70330, 0x90170110,
+	0x40f000f0, 0x40f000f0, 0x40f000f0, 0x90a000f0,
+	0x40f000f0, 0x044413b0, 0x044413b0,
+};
+
 static unsigned int *stac92hd71bxx_brd_tbl[STAC_92HD71BXX_MODELS] = {
 	[STAC_92HD71BXX_REF] = ref92hd71bxx_pin_configs,
 	[STAC_DELL_M4_1]	= dell_m4_1_pin_configs,
 	[STAC_DELL_M4_2]	= dell_m4_2_pin_configs,
+	[STAC_DELL_M4_3]	= dell_m4_3_pin_configs,
 	[STAC_HP_M4]		= NULL,
 };
 
@@ -1700,6 +1708,7 @@ static const char

*stac92hd71bxx_models[STAC_92HD71BXX_MODELS] = {
[STAC_92HD71BXX_REF] = "ref",
[STAC_DELL_M4_1] = "dell-m4-1",
[STAC_DELL_M4_2] = "dell-m4-2",
+ [STAC_DELL_M4_3] = "dell-m4-3",
[STAC_HP_M4] = "hp-m4",
};

@@ -1731,6 +1740,8 @@ static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = {
"unknown Dell", STAC_DELL_M4_2),
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0264,
"unknown Dell", STAC_DELL_M4_2),
+ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02aa,
+ "unknown Dell", STAC_DELL_M4_3),
{} /* terminator */
};

@@ -4650,14 +4661,21 @@ again:

switch (spec->board_config) {
case STAC_HP_M4:
- spec->num_dmics = 0;
- spec->num_smuxes = 0;
- spec->num_dmuxes = 0;
-
/* enable internal microphone */ stac92xx_set_config_reg(codec, 0x0e, 0x01813040); stac92xx_auto_set_pinctl(codec, 0x0e,
AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);
+ /* fallthru */
+ case STAC_DELL_M4_2:
+ spec->num_dmics = 0;
+ spec->num_smuxes = 0;
+ spec->num_dmuxes = 0;
+ break;
+ case STAC_DELL_M4_1:
+ case STAC_DELL_M4_3:
+ spec->num_dmics = 1;
+ spec->num_smuxes = 0;
+ spec->num_dmuxes = 0;
break;
default:
spec->num_dmics = STAC92HD71BXX_NUM_DMICS;

#3 lore raw

At Thu, 20 Nov 2008 20:31:16 -0500,

Quoted 28 lines · Matthew Ranostay
Quoted 26 lines · Takashi Iwai

At Wed, 19 Nov 2008 21:48:51 -0500,

Quoted 1 line · Matthew Ranostay

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops.

Which laptops, more exactly? Recently I received bug reports about Dell Studio laptops, and wondering whether it's for such models.

Review again: · line 4667

Quoted 12 lines
(quoted diff) +0 -4
@@ -4650,14 +4661,20 @@ again:
 
 	switch (spec->board_config) {
 	case STAC_HP_M4:
-		spec->num_dmics = 0;
-		spec->num_smuxes = 0;
-		spec->num_dmuxes = 0;
-
 		/* enable internal microphone */
 		stac92xx_set_config_reg(codec, 0x0e, 0x01813040);
 		stac92xx_auto_set_pinctl(codec, 0x0e,
 			AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);

Please add a comment about fall-through here.

Also, update Documentation/*/ALSA-Configuration.txt as well.

Quoted 8 lines
Quoted 4 lines

thanks,

Takashi

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops and desktops.

Thanks. Now another questions about the patch.

Review again: · line 4656

Quoted 8 lines
(quoted diff) +0 -4
@@ -4650,14 +4661,21 @@ again:
 
 	switch (spec->board_config) {
 	case STAC_HP_M4:
-		spec->num_dmics = 0;
-		spec->num_smuxes = 0;
-		spec->num_dmuxes = 0;
-

Any reason to remove these....

Quoted 5 lines
(quoted diff) +1 -0
 		/* enable internal microphone */
 		stac92xx_set_config_reg(codec, 0x0e, 0x01813040);
 		stac92xx_auto_set_pinctl(codec, 0x0e,
 			AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);
+		/* fallthru */

Review again: · line 4678

Quoted 10 lines
(quoted diff) +10 -0
+	case STAC_DELL_M4_2:
+		spec->num_dmics = 0;
+		spec->num_smuxes = 0;
+		spec->num_dmuxes = 0;
+		break;
+	case STAC_DELL_M4_1:
+	case STAC_DELL_M4_3:
+		spec->num_dmics = 1;
+		spec->num_smuxes = 0;
+		spec->num_dmuxes = 0;

... and adding these?

That is, the patch introduces more changes than its description. If you change or fix the behavior of other models, please split, or at least give a proper changelog.

thanks,

Takashi

#4 lore raw
Quoted 39 lines · Takashi Iwai

At Thu, 20 Nov 2008 20:31:16 -0500,

Quoted 25 lines · Matthew Ranostay
Quoted 24 lines · Takashi Iwai

At Wed, 19 Nov 2008 21:48:51 -0500,

Quoted 1 line · Matthew Ranostay

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops.

Which laptops, more exactly? Recently I received bug reports about Dell Studio laptops, and wondering whether it's for such models.

Review again: · line 4667

Quoted 12 lines
(quoted diff) +0 -4
@@ -4650,14 +4661,20 @@ again:
 
 	switch (spec->board_config) {
 	case STAC_HP_M4:
-		spec->num_dmics = 0;
-		spec->num_smuxes = 0;
-		spec->num_dmuxes = 0;
-
 		/* enable internal microphone */
 		stac92xx_set_config_reg(codec, 0x0e, 0x01813040);
 		stac92xx_auto_set_pinctl(codec, 0x0e,
 			AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);

Please add a comment about fall-through here.

Also, update Documentation/*/ALSA-Configuration.txt as well.

Quoted 7 lines
Quoted 4 lines

thanks,

Takashi

Add PCI quirk STAC_DELL_M4_3 for 92hd71bxx based laptops and desktops.

Thanks. Now another questions about the patch.

Quoted 2 lines
(quoted diff) +0 -0
@@ -4650,14 +4661,21 @@ again:
 
Quoted 9 lines

Review again: · line 4656

Quoted 6 lines
(quoted diff) +0 -4
 	switch (spec->board_config) {
 	case STAC_HP_M4:
-		spec->num_dmics = 0;
-		spec->num_smuxes = 0;
-		spec->num_dmuxes = 0;
-

Any reason to remove these....

Because it falls through below.

Quoted 18 lines
Quoted 5 lines
(quoted diff) +1 -0
 		/* enable internal microphone */
 		stac92xx_set_config_reg(codec, 0x0e, 0x01813040);
 		stac92xx_auto_set_pinctl(codec, 0x0e,
 			AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);
+		/* fallthru */

Review again: · line 4678

Quoted 10 lines
(quoted diff) +10 -0
+	case STAC_DELL_M4_2:
+		spec->num_dmics = 0;
+		spec->num_smuxes = 0;
+		spec->num_dmuxes = 0;
+		break;
+	case STAC_DELL_M4_1:
+	case STAC_DELL_M4_3:
+		spec->num_dmics = 1;
+		spec->num_smuxes = 0;
+		spec->num_dmuxes = 0;

... and adding these?

Quoted 5 lines

That is, the patch introduces more changes than its description. If you change or fix the behavior of other models, please split, or at least give a proper changelog.

I'll give a more descriptive changelog.

Quoted 4 lines

thanks,

Takashi