[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>
This commit is contained in:
Takashi Iwai 2007-12-17 14:32:49 +01:00 committed by Jaroslav Kysela
parent 8e9068b1c7
commit 48ecb7e879
1 changed files with 11 additions and 0 deletions

View File

@ -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;
}