All of lore.kernel.org
 help / color / mirror / Atom feed
* ALC269 mixer nodes
@ 2010-08-02 14:30 David Henningsson
  2010-08-02 14:50 ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: David Henningsson @ 2010-08-02 14:30 UTC (permalink / raw)
  To: alsa-devel@alsa-project.org

Here's yet another ALC269 which I'm unsure of how to fix the right way.
There is no way to enable the microphone, and I think the trouble has to
do with that the auto parser does not check whether the node is a mixer
or a selector. It might be that the "alc269" vs "alc269vb" detection is
wrong as well (btw, what does vb stand for?).

I unfortunately do not have the full alsa-info output, but the
codec-proc is here:
http://launchpadlibrarian.net/49076615/Card0.Codecs.codec.2.txt
and PCI IDs:
http://launchpadlibrarian.net/49076618/PciMultimedia.txt

Thanks in advance,

-- 
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

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

* Re: ALC269 mixer nodes
  2010-08-02 14:30 ALC269 mixer nodes David Henningsson
@ 2010-08-02 14:50 ` Takashi Iwai
  2010-08-03  6:49   ` David Henningsson
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2010-08-02 14:50 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel@alsa-project.org

At Mon, 02 Aug 2010 16:30:57 +0200,
David Henningsson wrote:
> 
> Here's yet another ALC269 which I'm unsure of how to fix the right way.
> There is no way to enable the microphone, and I think the trouble has to
> do with that the auto parser does not check whether the node is a mixer
> or a selector. It might be that the "alc269" vs "alc269vb" detection is
> wrong as well (btw, what does vb stand for?).
> 
> I unfortunately do not have the full alsa-info output, but the
> codec-proc is here:
> http://launchpadlibrarian.net/49076615/Card0.Codecs.codec.2.txt
> and PCI IDs:
> http://launchpadlibrarian.net/49076618/PciMultimedia.txt

Are you sure that it's the result with the very latest driver?


Takashi

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

* Re: ALC269 mixer nodes
  2010-08-02 14:50 ` Takashi Iwai
@ 2010-08-03  6:49   ` David Henningsson
  2010-08-03  7:18     ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: David Henningsson @ 2010-08-03  6:49 UTC (permalink / raw)
  To: alsa-devel

2010-08-02 16:50, Takashi Iwai skrev:
> At Mon, 02 Aug 2010 16:30:57 +0200,
> David Henningsson wrote:
>>
>> Here's yet another ALC269 which I'm unsure of how to fix the right way.
>> There is no way to enable the microphone, and I think the trouble has to
>> do with that the auto parser does not check whether the node is a mixer
>> or a selector. It might be that the "alc269" vs "alc269vb" detection is
>> wrong as well (btw, what does vb stand for?).
>>
>> I unfortunately do not have the full alsa-info output, but the
>> codec-proc is here:
>> http://launchpadlibrarian.net/49076615/Card0.Codecs.codec.2.txt
>> and PCI IDs:
>> http://launchpadlibrarian.net/49076618/PciMultimedia.txt
> 
> Are you sure that it's the result with the very latest driver?

The codec-proc might not have been generated with the very latest
driver, but when I run it through hda-emu (with a just-pulled
sound-2.6.git as hda-dir), I get errors as:

send: NID=0x23, VERB=0x701(set_connect_sel), PARM=0x1
invalid connect select for node 0x23

...which makes me believe the error is still there. The error above
comes from patch_realtek.c:14366, btw.

-- 
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

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

* Re: ALC269 mixer nodes
  2010-08-03  6:49   ` David Henningsson
@ 2010-08-03  7:18     ` Takashi Iwai
  2010-08-03  7:22       ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2010-08-03  7:18 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

At Tue, 03 Aug 2010 08:49:05 +0200,
David Henningsson wrote:
> 
> 2010-08-02 16:50, Takashi Iwai skrev:
> > At Mon, 02 Aug 2010 16:30:57 +0200,
> > David Henningsson wrote:
> >>
> >> Here's yet another ALC269 which I'm unsure of how to fix the right way.
> >> There is no way to enable the microphone, and I think the trouble has to
> >> do with that the auto parser does not check whether the node is a mixer
> >> or a selector. It might be that the "alc269" vs "alc269vb" detection is
> >> wrong as well (btw, what does vb stand for?).
> >>
> >> I unfortunately do not have the full alsa-info output, but the
> >> codec-proc is here:
> >> http://launchpadlibrarian.net/49076615/Card0.Codecs.codec.2.txt
> >> and PCI IDs:
> >> http://launchpadlibrarian.net/49076618/PciMultimedia.txt
> > 
> > Are you sure that it's the result with the very latest driver?
> 
> The codec-proc might not have been generated with the very latest
> driver, but when I run it through hda-emu (with a just-pulled
> sound-2.6.git as hda-dir), I get errors as:
> 
> send: NID=0x23, VERB=0x701(set_connect_sel), PARM=0x1
> invalid connect select for node 0x23
> 
> ...which makes me believe the error is still there. The error above
> comes from patch_realtek.c:14366, btw.

This isn't a critical bug.  The codec shall ignore this verb.
(of course it should be corrected, though.)

The capsrc should have been initialized via fixup_single_adc() in this
case, and hda-emu gives the right result, too.  So I wonder whether
this issue still exists.


thanks,

Takashi

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

* Re: ALC269 mixer nodes
  2010-08-03  7:18     ` Takashi Iwai
@ 2010-08-03  7:22       ` Takashi Iwai
  0 siblings, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2010-08-03  7:22 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

At Tue, 03 Aug 2010 09:18:24 +0200,
I wrote:
> 
> At Tue, 03 Aug 2010 08:49:05 +0200,
> David Henningsson wrote:
> > 
> > 2010-08-02 16:50, Takashi Iwai skrev:
> > > At Mon, 02 Aug 2010 16:30:57 +0200,
> > > David Henningsson wrote:
> > >>
> > >> Here's yet another ALC269 which I'm unsure of how to fix the right way.
> > >> There is no way to enable the microphone, and I think the trouble has to
> > >> do with that the auto parser does not check whether the node is a mixer
> > >> or a selector. It might be that the "alc269" vs "alc269vb" detection is
> > >> wrong as well (btw, what does vb stand for?).
> > >>
> > >> I unfortunately do not have the full alsa-info output, but the
> > >> codec-proc is here:
> > >> http://launchpadlibrarian.net/49076615/Card0.Codecs.codec.2.txt
> > >> and PCI IDs:
> > >> http://launchpadlibrarian.net/49076618/PciMultimedia.txt
> > > 
> > > Are you sure that it's the result with the very latest driver?
> > 
> > The codec-proc might not have been generated with the very latest
> > driver, but when I run it through hda-emu (with a just-pulled
> > sound-2.6.git as hda-dir), I get errors as:
> > 
> > send: NID=0x23, VERB=0x701(set_connect_sel), PARM=0x1
> > invalid connect select for node 0x23
> > 
> > ...which makes me believe the error is still there. The error above
> > comes from patch_realtek.c:14366, btw.
> 
> This isn't a critical bug.  The codec shall ignore this verb.
> (of course it should be corrected, though.)

... and the fix patch is below.


Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index cf14b00..e340eee 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5166,6 +5166,19 @@ static void fixup_automic_adc(struct hda_codec *codec)
 	spec->auto_mic = 0; /* disable auto-mic to be sure */
 }
 
+/* select or unmute the given capsrc route */
+static void select_or_unmute_capsrc(struct hda_codec *codec, hda_nid_t cap,
+				    int idx)
+{
+	if (get_wcaps_type(get_wcaps(codec, cap)) == AC_WID_AUD_MIX) {
+		snd_hda_codec_amp_stereo(codec, cap, HDA_INPUT, idx,
+					 HDA_AMP_MUTE, 0);
+	} else {
+		snd_hda_codec_write_cache(codec, cap, 0,
+					  AC_VERB_SET_CONNECT_SEL, idx);
+	}
+}
+
 /* set the default connection to that pin */
 static int init_capsrc_for_pin(struct hda_codec *codec, hda_nid_t pin)
 {
@@ -5180,14 +5193,7 @@ static int init_capsrc_for_pin(struct hda_codec *codec, hda_nid_t pin)
 		idx = get_connection_index(codec, cap, pin);
 		if (idx < 0)
 			continue;
-		/* select or unmute this route */
-		if (get_wcaps_type(get_wcaps(codec, cap)) == AC_WID_AUD_MIX) {
-			snd_hda_codec_amp_stereo(codec, cap, HDA_INPUT, idx,
-						 HDA_AMP_MUTE, 0);
-		} else {
-			snd_hda_codec_write_cache(codec, cap, 0,
-					  AC_VERB_SET_CONNECT_SEL, idx);
-		}
+		select_or_unmute_capsrc(codec, cap, idx);
 		return i; /* return the found index */
 	}
 	return -1; /* not found */
@@ -14363,9 +14369,8 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
 
 	/* set default input source */
 	if (!spec->dual_adc_switch)
-		snd_hda_codec_write_cache(codec, spec->capsrc_nids[0],
-				  0, AC_VERB_SET_CONNECT_SEL,
-				  spec->input_mux->items[0].index);
+		select_or_unmute_capsrc(codec, spec->capsrc_nids[0],
+					spec->input_mux->items[0].index);
 
 	err = alc_auto_add_mic_boost(codec);
 	if (err < 0)

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

end of thread, other threads:[~2010-08-03  7:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-02 14:30 ALC269 mixer nodes David Henningsson
2010-08-02 14:50 ` Takashi Iwai
2010-08-03  6:49   ` David Henningsson
2010-08-03  7:18     ` Takashi Iwai
2010-08-03  7:22       ` 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.