[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1333632596.4159.11.camel@localhost>
Date: Thu, 05 Apr 2012 15:29:56 +0200
From: Michael Karcher <kernel@...rcher.dialup.fu-berlin.de>
To: Jaroslav Kysela <perex@...ex.cz>, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org, Takashi Iwai <tiwai@...e.de>
Subject: [PATCH 1/6] sound/pci/hda: Fix Amp-In count for widgets with
implied selector
A selector widget with AC_WCAP_IN_AMP has multiple input amplifiers (if
the selector widget would have only one common amp, it would be labeled
as "output amplifier" instead). This is just like mixer widgets.
If a non-mixer/selector widget has an input amplifier, it is only one
input amplifier, even if it has a connection list with more than one
entry. The implied selector is placed before the single input amplifier.
At least that is how I read the HDA specs, and what Conexant implements in
their CX20549 codec.
diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c
index 254ab52..9b942f0 100644
--- a/sound/pci/hda/hda_proc.c
+++ b/sound/pci/hda/hda_proc.c
@@ -653,7 +653,7 @@ static void print_codec_info(struct snd_info_entry *entry,
snd_iprintf(buffer, " Amp-In vals: ");
print_amp_vals(buffer, codec, nid, HDA_INPUT,
wid_caps & AC_WCAP_STEREO,
- wid_type == AC_WID_PIN ? 1 : conn_len);
+ (wid_type == AC_WID_AUD_SEL || wid_type == AC_WID_AUD_MIX) ? conn_len : 1);
}
if (wid_caps & AC_WCAP_OUT_AMP) {
snd_iprintf(buffer, " Amp-Out caps: ");
--
1.7.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists