[alsa-devel] [PATCH] ALSA: hda - Add zenbook-boost model for ASUS Zenbook

Takashi Iwai tiwai at suse.de
Thu Nov 28 11:52:03 CET 2013


There's been a complaint about the too soft output on ASUS Zenbook
with ALC269VB in comparison with Windows.  It turned out, however,
that the actual hardware output level is same between Linux and
Windows unless software plugin is used.  Still, it'd be convenient to
give a capability for increasing the output level via Realtek codec's
D-class amp.

As a compromise, here provides a new model option, zenbook-boost, to
enable the COEFs for the output boost amp.  It's not used unless the
option is given explicitly just for safety reason.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=62651
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 Documentation/sound/alsa/HD-Audio-Models.txt |  1 +
 sound/pci/hda/patch_realtek.c                | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt
index 85c362d8ea34..6fbd108bcb27 100644
--- a/Documentation/sound/alsa/HD-Audio-Models.txt
+++ b/Documentation/sound/alsa/HD-Audio-Models.txt
@@ -32,6 +32,7 @@ ALC269/270/275/276/28x/29x
   lenovo-dock   	Enables docking station I/O for some Lenovos
   dell-headset-multi	Headset jack, which can also be used as mic-in
   dell-headset-dock	Headset jack (without mic-in), and also dock I/O
+  zenbook-boost		Add +6dB amp to output of ASUS Zenbook
 
 ALC66x/67x/892
 ==============
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 3a9a1b0c1dbe..284952c37929 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3799,6 +3799,7 @@ enum {
 	ALC269_FIXUP_ACER_AC700,
 	ALC269_FIXUP_LIMIT_INT_MIC_BOOST,
 	ALC269VB_FIXUP_ASUS_ZENBOOK,
+	ALC269VB_FIXUP_ASUS_ZENBOOK_BOOST,
 	ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED,
 	ALC269VB_FIXUP_ORDISSIMO_EVE2,
 	ALC283_FIXUP_CHROME_BOOK,
@@ -4082,6 +4083,17 @@ static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC269VB_FIXUP_DMIC,
 	},
+	[ALC269VB_FIXUP_ASUS_ZENBOOK_BOOST] = {
+		.type = HDA_FIXUP_VERBS,
+		.v.verbs = (const struct hda_verb[]) {
+			/* class-D output boost +6dB */
+			{0x20, AC_VERB_SET_COEF_INDEX, 0x12},
+			{0x20, AC_VERB_SET_PROC_COEF, 0x3000},
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC269VB_FIXUP_ASUS_ZENBOOK,
+	},
 	[ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc269_fixup_limit_int_mic_boost,
@@ -4299,6 +4311,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
 	{.id = ALC269_FIXUP_HP_GPIO_LED, .name = "hp-gpio-led"},
 	{.id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "dell-headset-multi"},
 	{.id = ALC269_FIXUP_DELL2_MIC_NO_PRESENCE, .name = "dell-headset-dock"},
+	{.id = ALC269VB_FIXUP_ASUS_ZENBOOK_BOOST, .name = "zenbook-boost"},
 	{}
 };
 
-- 
1.8.4.4



More information about the Alsa-devel mailing list