[alsa-devel] [PATCH] hda-emu: Fixup ALC268 input amp on Beep node

David Henningsson david.henningsson at canonical.com
Thu Aug 16 13:55:39 CEST 2012


According to the ALC268 datasheet, there is actually an input amplifier
on node 0x1d, even though this is not exposed in the codec proc file.

Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
 hda-spec.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

Relevant alsa info: alc268-toshiba-tecra-s11-m11--nvidia--ccert-201002-5346

diff --git a/hda-spec.c b/hda-spec.c
index f1b03b4..dd43ee9 100644
--- a/hda-spec.c
+++ b/hda-spec.c
@@ -386,6 +386,20 @@ static void fixup_via_mixer(struct xhda_codec *codec)
 	node->node[node->num_nodes++] = 0x08;
 }
 
+static void fixup_alc268_beep(struct xhda_codec *codec)
+{
+	struct xhda_node *node = find_node(codec, 0x1d);
+	if (!node)
+		return;
+	node->wcaps |= (1 << 1);	/* AMP-in present */
+
+	node->amp_in_caps.ofs = 0x0c;
+	node->amp_in_caps.nsteps = 0x0c;
+	node->amp_in_caps.stepsize = 0x07;
+	node->amp_in_caps.mute = 0;
+	node->amp_in_caps.override = 1;
+}
+
 struct fixup_list {
 	unsigned int vendor_id;
 	void (*func)(struct xhda_codec *);
@@ -397,6 +411,7 @@ static struct fixup_list fixups[] = {
 	{ 0x11060438, fixup_via_mixer },
 	{ 0x11064438, fixup_via_mixer },
 	{ 0x11060448, fixup_via_mixer },
+	{ 0x10ec0268, fixup_alc268_beep },
 	{ }
 };
 
-- 
1.7.9.5



More information about the Alsa-devel mailing list