summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-12-17 14:32:49 +0100
committerJaroslav Kysela <perex@perex.cz>2008-01-31 17:29:37 +0100
commit48ecb7e879ea172a0b3fd432ad49a870d7be6a59 (patch)
tree748c4a6db3fe6cc05c063343cc4ae5592998618b
parent[ALSA] hda: STAC927x DMIC Cleanup (diff)
downloadlinux-48ecb7e879ea172a0b3fd432ad49a870d7be6a59.tar.xz
linux-48ecb7e879ea172a0b3fd432ad49a870d7be6a59.zip
[ALSA] hda-codec - Avoid overload of PCM volume on Cx5045 codec
The PCM volume of Cx5045 codec has overload that isn't useful but rather harmful. Add a hack to override the amp info to set the max level 0 dB. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--sound/pci/hda/patch_conexant.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 68f23b823e25..a6916da73c46 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -826,6 +826,17 @@ static int patch_cxt5045(struct hda_codec *codec)
spec->init_verbs[0] = cxt5045_test_init_verbs;
#endif
}
+
+ /*
+ * Fix max PCM level to 0 dB
+ * (originall it has 0x2b steps with 0dB offset 0x14)
+ */
+ snd_hda_override_amp_caps(codec, 0x17, HDA_INPUT,
+ (0x14 << AC_AMPCAP_OFFSET_SHIFT) |
+ (0x14 << AC_AMPCAP_NUM_STEPS_SHIFT) |
+ (0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
+ (1 << AC_AMPCAP_MUTE_SHIFT));
+
return 0;
}