Skip to contentSkip to conversation

ALSA: HDA: Fix front mic on Dell Precision M6500

PATCH In review David Henningsson 4 participants 12 messages Aug 23, 2010 – Sep 3, 2010 Sound

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ALSA: HDA: Fix front mic on Dell Precision M6500

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
Quoted 1 line

From df18cee31e85c83667be42d29edb3c9f7fcfa3c1 Mon Sep 17 00:00:00 2001

From: David Henningsson <[email protected]>
Date: Mon, 23 Aug 2010 09:09:10 +0200
Subject: [PATCH] ALSA: HDA: Fix front mic on Dell Precision M6500

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

---
 sound/pci/hda/patch_sigmatel.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
sound/pci/hda/patch_sigmatel.c +13 -0
index 95148e5..656c54b 100644
@@ -95,6 +95,7 @@ enum {
 	STAC_DELL_S14,
 	STAC_92HD83XXX_HP,
 	STAC_HP_DV7_4000,
+	STAC_DELL_M6500,
 	STAC_92HD83XXX_MODELS
 };
 
@@ -1633,6 +1634,14 @@ static unsigned int dell_s14_pin_configs[10] = {
 	0x40f000f0, 0x40f000f0,
 };
 
+/* Dell Precision M6500, make sure 0x0e is silenced */
+static unsigned int dell_m6500_pin_configs[10] = {
+	0x03a11030, 0x0321101f, 0x400000f0, 0x90170110, 
+	0x400000f0, 0x23011050, 0x400000f0, 0x90a10120,
+	0x014613b0, 0x400000f0,
+};
+
+
 static unsigned int hp_dv7_4000_pin_configs[10] = {
 	0x03a12050, 0x0321201f, 0x40f000f0, 0x90170110,
 	0x40f000f0, 0x40f000f0, 0x90170110, 0xd5a30140,
@@ -1643,6 +1652,7 @@ static unsigned int *stac92hd83xxx_brd_tbl[STAC_92HD83XXX_MODELS] = {
 	[STAC_92HD83XXX_REF] = ref92hd83xxx_pin_configs,
 	[STAC_92HD83XXX_PWR_REF] = ref92hd83xxx_pin_configs,
 	[STAC_DELL_S14] = dell_s14_pin_configs,
+	[STAC_DELL_M6500] = dell_m6500_pin_configs,
 	[STAC_HP_DV7_4000] = hp_dv7_4000_pin_configs,
 };
 
@@ -1651,6 +1661,7 @@ static const char *stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = {
 	[STAC_92HD83XXX_REF] = "ref",
 	[STAC_92HD83XXX_PWR_REF] = "mic-ref",
 	[STAC_DELL_S14] = "dell-s14",
+	[STAC_DELL_M6500] = "dell-m6500",
 	[STAC_92HD83XXX_HP] = "hp",
 	[STAC_HP_DV7_4000] = "hp-dv7-4000",
 };
@@ -1663,6 +1674,8 @@ static struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = {
 		      "DFI LanParty", STAC_92HD83XXX_REF),
 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02ba,
 		      "unknown Dell", STAC_DELL_S14),
+	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02ef,
+		      "Dell M6500", STAC_DELL_M6500),
 	SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x3600,
 		      "HP", STAC_92HD83XXX_HP),
 	{} /* terminator */
Signature · 1 line
1.7.0.4

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#1 lore raw

For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.

So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.

Thanks,
Jerone

Quoted 13 lines · David Henningsson

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#2 lore raw

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

2010-08-23 21:07, Jerone Young skrev:

Quoted 27 lines

For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.

So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.

Thanks,
Jerone

Quoted 13 lines · David Henningsson

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
#3 lore raw

2010/8/24 David Henningsson <[email protected]>

Quoted 6 lines

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

Quoted 27 lines

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

2010-08-23 21:07, Jerone Young skrev:

Quoted 20 lines

For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.

So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.

Thanks,
Jerone

Quoted 8 lines · David Henningsson

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt

There are two ADC , this mean that the correct model should provide two capture subdevices instead of one

Node 0x15 [Audio Input] wcaps 0x1d0541: Stereo
Device: name="STAC92xx Analog", type="Audio", device=0
Converter: stream=1, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1

     0x17

Processing caps: benign=0, ncoeff=0
Node 0x16 [Audio Input] wcaps 0x1d0541: Stereo
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1

     0x18

Processing caps: benign=0, ncoeff=0

#4 lore raw

2010-08-24 02:57, Raymond Yau skrev:

Quoted 54 lines

2010/8/24 David Henningsson <[email protected]>

Quoted 6 lines

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

Quoted 27 lines

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

2010-08-23 21:07, Jerone Young skrev:

Quoted 20 lines

For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.

So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.

Thanks,
Jerone

Quoted 8 lines · David Henningsson

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt

There are two ADC , this mean that the correct model should provide two capture subdevices instead of one

Node 0x15 [Audio Input] wcaps 0x1d0541: Stereo
Device: name="STAC92xx Analog", type="Audio", device=0
Converter: stream=1, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1

     0x17

Processing caps: benign=0, ncoeff=0
Node 0x16 [Audio Input] wcaps 0x1d0541: Stereo
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1

Quoted 2 lines
     0x18

Processing caps: benign=0, ncoeff=0

I don't disagree. Feel free to write a patch for that, I assume Takashi will take it if it's written well enough and according to his/Linus's standards.

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
#5 lore raw

2010/8/24 David Henningsson <[email protected]>

Quoted 59 lines

2010-08-24 02:57, Raymond Yau skrev:

Quoted 20 lines

2010/8/24 David Henningsson <[email protected]>

Quoted 18 lines

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

2010-08-23 21:07, Jerone Young skrev:

Quoted 6 lines

For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.

So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over

the

Quoted 34 lines
Quoted 6 lines
Quoted 6 lines

docking station microphone.

Thanks,
Jerone

On Mon, 2010-08-23 at 21:03 +0200, David Henningsson wrote:

Quoted 9 lines
Quoted 8 lines
Quoted 8 lines

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt

There are two ADC , this mean that the correct model should provide two capture subdevices instead of one

Node 0x15 [Audio Input] wcaps 0x1d0541: Stereo
Device: name="STAC92xx Analog", type="Audio", device=0
Converter: stream=1, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1

     0x17

Processing caps: benign=0, ncoeff=0
Node 0x16 [Audio Input] wcaps 0x1d0541: Stereo
Converter: stream=0, channel=0
SDI-Select: 0
Power: setting=D0, actual=D0
Delay: 13 samples
Connection: 1

Quoted 2 lines
     0x18

Processing caps: benign=0, ncoeff=0

Quoted 5 lines

I don't disagree. Feel free to write a patch for that, I assume Takashi will take it if it's written well enough and according to his/Linus's standards.

Have you try model=mic-ref ?

it seem there are already two capture subdevice using hda-emu

Attach PCM dev 0, name STAC92xx Analog, type audio, play #1, capture #2

#6 lore raw
In reply to David Henningsson

At Mon, 23 Aug 2010 21:25:55 +0200,

Quoted 11 lines · David Henningsson

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

This is no 100% fix or regression fix, so not suitable for stable kernel tree, I suppose.

I'll post a bit more intrusive patch for fixing this.

thanks,

Takashi

Quoted 35 lines

2010-08-23 21:07, Jerone Young skrev:

Quoted 27 lines

For laptops you would want to take preference of the docking jack over the interal mic if you are in a docking station.

So if you do plug into a docking station and you have a microphone in the docking station, a user would want to use that over the internal microphone. You wouldn't want the laptop internal mic preferred over the docking station microphone.

Thanks,
Jerone

Quoted 13 lines · David Henningsson

The BIOS of Dell Precision M6500 lists both 0x0e and 0x11 as front mics, and the driver only supports one front mic. This commit adds a quirk for preferring node 0x11 (internal mic) to node 0x0e (possibly docking station mic).

Alsa-info reference:
http://launchpadlibrarian.net/54232083/alsa-info.txt.xyFVpIysHt

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
#7 lore raw
In reply to David Henningsson

At Mon, 23 Aug 2010 21:25:55 +0200,

Quoted 11 lines · David Henningsson

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)

It basically extends the config parser to allow multiple input pins assigned for a single type. The old input_pins field is kept for other drivers, so that it won't give regressions. It'll be removed in future.

Takashi

---

sound/pci/hda/hda_codec.c +52 -12
index 3827092..5472a47 100644
@@ -4372,6 +4372,16 @@ static void sort_pins_by_sequence(hda_nid_t *pins, short *sequences,
 }
 
 
+static void add_auto_cfg_input_pin(struct auto_pin_cfg *cfg, hda_nid_t nid,
+				   int type)
+{
+	if (cfg->num_inputs < AUTO_CFG_MAX_INS) {
+		cfg->inputs[cfg->num_inputs].pin = nid;
+		cfg->inputs[cfg->num_inputs].type = type;
+		cfg->num_inputs++;
+	}
+}
+
 /*
  * Parse all pin widgets and store the useful pin nids to cfg
  *
@@ -4398,6 +4408,7 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,
 	short sequences_line_out[ARRAY_SIZE(cfg->line_out_pins)];
 	short sequences_speaker[ARRAY_SIZE(cfg->speaker_pins)];
 	short sequences_hp[ARRAY_SIZE(cfg->hp_pins)];
+	int i;
 
 	memset(cfg, 0, sizeof(*cfg));
 
@@ -4482,19 +4493,26 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,
 				cfg->input_pins[preferred] = nid;
 			else if (!cfg->input_pins[alt])
 				cfg->input_pins[alt] = nid;
+			add_auto_cfg_input_pin(cfg, nid, preferred);
 			break;
 		}
-		case AC_JACK_LINE_IN:
+		case AC_JACK_LINE_IN: {
+			int type;
 			if (loc == AC_JACK_LOC_FRONT)
-				cfg->input_pins[AUTO_PIN_FRONT_LINE] = nid;
+				type = AUTO_PIN_FRONT_LINE;
 			else
-				cfg->input_pins[AUTO_PIN_LINE] = nid;
+				type = AUTO_PIN_LINE;
+			cfg->input_pins[type] = nid;
+			add_auto_cfg_input_pin(cfg, nid, type);
 			break;
+		}
 		case AC_JACK_CD:
 			cfg->input_pins[AUTO_PIN_CD] = nid;
+			add_auto_cfg_input_pin(cfg, nid, AUTO_PIN_CD);
 			break;
 		case AC_JACK_AUX:
 			cfg->input_pins[AUTO_PIN_AUX] = nid;
+			add_auto_cfg_input_pin(cfg, nid, AUTO_PIN_AUX);
 			break;
 		case AC_JACK_SPDIF_OUT:
 		case AC_JACK_DIG_OTHER_OUT:
@@ -4621,14 +4639,13 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,
 	if (cfg->dig_outs)
 		snd_printd("   dig-out=0x%x/0x%x\n",
 			   cfg->dig_out_pins[0], cfg->dig_out_pins[1]);
-	snd_printd("   inputs: mic=0x%x, fmic=0x%x, line=0x%x, fline=0x%x,"
-		   " cd=0x%x, aux=0x%x\n",
-		   cfg->input_pins[AUTO_PIN_MIC],
-		   cfg->input_pins[AUTO_PIN_FRONT_MIC],
-		   cfg->input_pins[AUTO_PIN_LINE],
-		   cfg->input_pins[AUTO_PIN_FRONT_LINE],
-		   cfg->input_pins[AUTO_PIN_CD],
-		   cfg->input_pins[AUTO_PIN_AUX]);
+	snd_printd("   inputs:");
+	for (i = 0; i < cfg->num_inputs; i++) {
+		snd_printdd(" %s=0x%x",
+			    auto_pin_cfg_labels[cfg->inputs[i].type],
+			    cfg->inputs[i].pin);
+	}
+	snd_printd("\n");
 	if (cfg->dig_in_pin)
 		snd_printd("   dig-in=0x%x\n", cfg->dig_in_pin);
 
@@ -4636,12 +4653,35 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec,
 }
 EXPORT_SYMBOL_HDA(snd_hda_parse_pin_def_config);
 
-/* labels for input pins */
+/* labels for input pins - for obsoleted config stuff */
 const char *auto_pin_cfg_labels[AUTO_PIN_LAST] = {
 	"Mic", "Front Mic", "Line", "Front Line", "CD", "Aux"
 };
 EXPORT_SYMBOL_HDA(auto_pin_cfg_labels);
 
+static const char *input_labels[AUTO_PIN_LAST][4] = {
+	{ "Mic", "Mic 2", "Mic 3", "Mic 4" },
+	{ "Front Mic", "Front Mic 2", "Front Mic 3", "Front Mic 4" },
+	{ "Line", "Line 2", "Line 3", "Line 4" },
+	{ "Front Line", "Front Line 2", "Front Line 3", "Front Line 4" },
+	{ "CD", "CD 2", "CD 3", "CD 4" },
+	{ "Aux", "Aux 2", "Aux 3", "Aux 4" },
+};
+
+const char *snd_hda_get_input_pin_label(const struct auto_pin_cfg *cfg,
+					int input)
+{
+	int type = cfg->inputs[input].type;
+	int idx;
+
+	for  (idx = 0; idx < 3 && --input >= 0; idx++) {
+		if (type != cfg->inputs[input].type)
+			break;
+	}
+	return input_labels[type][idx];
+}
+EXPORT_SYMBOL_HDA(snd_hda_get_input_pin_label);
+
 
 #ifdef CONFIG_PM
 /*
sound/pci/hda/hda_local.h +13 -1
index 28ab4ae..fb56174 100644
@@ -383,6 +383,16 @@ enum {
 extern const char *auto_pin_cfg_labels[AUTO_PIN_LAST];
 
 #define AUTO_CFG_MAX_OUTS	5
+#define AUTO_CFG_MAX_INS	8
+
+struct auto_pin_cfg_item {
+	hda_nid_t pin;
+	int type;
+};
+
+struct auto_pin_cfg;
+const char *snd_hda_get_input_pin_label(const struct auto_pin_cfg *cfg,
+					int input);
 
 struct auto_pin_cfg {
 	int line_outs;
@@ -393,7 +403,9 @@ struct auto_pin_cfg {
 	int hp_outs;
 	int line_out_type;	/* AUTO_PIN_XXX_OUT */
 	hda_nid_t hp_pins[AUTO_CFG_MAX_OUTS];
-	hda_nid_t input_pins[AUTO_PIN_LAST];
+	hda_nid_t input_pins[AUTO_PIN_LAST]; /* old config; to be deprecated */
+	int num_inputs;
+	struct auto_pin_cfg_item inputs[AUTO_CFG_MAX_INS];
 	int dig_outs;
 	hda_nid_t dig_out_pins[2];
 	hda_nid_t dig_in_pin;
sound/pci/hda/patch_sigmatel.c +73 -73

249 lines not on this page · raw message

#8 lore raw

At Thu, 26 Aug 2010 12:22:42 +0200,

Quoted 15 lines · I wrote:

At Mon, 23 Aug 2010 21:25:55 +0200,

Quoted 11 lines · David Henningsson

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

Quoted 7 lines

OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)

It basically extends the config parser to allow multiple input pins assigned for a single type. The old input_pins field is kept for other drivers, so that it won't give regressions. It'll be removed in future.

As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.

thanks,

Takashi

#9 lore raw

2010-08-30 18:58, Takashi Iwai skrev:

Quoted 20 lines

At Thu, 26 Aug 2010 12:22:42 +0200,

Quoted 18 lines · I wrote:

At Mon, 23 Aug 2010 21:25:55 +0200,

Quoted 11 lines · David Henningsson

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)

Quoted 8 lines
Quoted 4 lines

It basically extends the config parser to allow multiple input pins assigned for a single type. The old input_pins field is kept for other drivers, so that it won't give regressions. It'll be removed in future.

As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.

Thanks, I'll try to get someone to test it :-)

Ubuntu has automated builds of your daily snapshot tarball which we make available to our users. What time of day to you recommend that we pick it to get the lowest latency?

Btw, do you have an automated test suite to try all codeces with hda-emu or do you just run a few manually and see if they work?

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
#10 lore raw

At Tue, 31 Aug 2010 11:01:40 +0200,

Quoted 27 lines · David Henningsson

2010-08-30 18:58, Takashi Iwai skrev:

Quoted 25 lines

At Thu, 26 Aug 2010 12:22:42 +0200,

Quoted 22 lines · I wrote:

At Mon, 23 Aug 2010 21:25:55 +0200,

Quoted 11 lines · David Henningsson

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)

It basically extends the config parser to allow multiple input pins assigned for a single type. The old input_pins field is kept for other drivers, so that it won't give regressions. It'll be removed in future.

Quoted 5 lines
Quoted 3 lines

As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.

Thanks, I'll try to get someone to test it :-)

Great, thanks.

Quoted 3 lines

Ubuntu has automated builds of your daily snapshot tarball which we make available to our users. What time of day to you recommend that we pick it to get the lowest latency?

The daily snapshot is created shortly after 12:00AM midnight here.

Quoted 2 lines

Btw, do you have an automated test suite to try all codeces with hda-emu or do you just run a few manually and see if they work?

It's no comprehensive test-suite but just a few script to run hda-emu on all files in codecs/* and compare before and after the change. And, no, I don't run it regularly but only occasionally when the common part is changed.

Takashi

#11 lore raw

2010-08-31 11:10, Takashi Iwai skrev:

Quoted 29 lines

At Tue, 31 Aug 2010 11:01:40 +0200,

Quoted 27 lines · David Henningsson

2010-08-30 18:58, Takashi Iwai skrev:

Quoted 25 lines

At Thu, 26 Aug 2010 12:22:42 +0200,

Quoted 22 lines · I wrote:

At Mon, 23 Aug 2010 21:25:55 +0200,

Quoted 11 lines · David Henningsson

I admit that the best thing would be to make the driver support all three mics, but at this point, the alsa driver can only support two, one called "mic" and one called "front mic". I believe the best choice is to select the internal mic as "front mic" and the mic jack on the laptop as "mic", thus leaving the docking station mic jack non-functional.

The behavior without this patch is to select the mic jack on the laptop as "mic" and the mic on the docking station as "front mic", thus leaving the internal mic non-functional in all cases, and that regardless of you have a docking station or not.

OK, here is a test patch for fixing more intensively. (I just did build-test, totally untested with real machines :)

It basically extends the config parser to allow multiple input pins assigned for a single type. The old input_pins field is kept for other drivers, so that it won't give regressions. It'll be removed in future.

Quoted 7 lines
Quoted 5 lines
Quoted 3 lines

As my tests with hda-emu through all codec data passed well, I committed the fixes to sound git tree now.
Give the latest alsa-driver snapshot try.

Thanks, I'll try to get someone to test it :-)

Great, thanks.

Got a response saying: "Working, had to select microphone 2."
https://launchpad.net/bugs/519066

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic