ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs
authorClemens Ladisch <clemens@ladisch.de>
Fri, 22 Oct 2010 13:52:34 +0000 (15:52 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 22 Oct 2010 13:59:29 +0000 (15:59 +0200)
The bit value set for TLV mute was wrong in commit
de8c85f7840e5e29629de95f5af24297fb325e0b, which resulted in bogus
dB ranges that screw up PulseAudio.  Corrected with the right constant.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_sigmatel.c

index 7d70f8ca37427956c715e555b795084f219b5a49..7f487ab4dad4ab89ddc035eef0e992a1fd1d59e2 100644 (file)
@@ -32,6 +32,7 @@
 #include <sound/core.h>
 #include <sound/asoundef.h>
 #include <sound/jack.h>
+#include <sound/tlv.h>
 #include "hda_codec.h"
 #include "hda_local.h"
 #include "hda_beep.h"
@@ -1145,7 +1146,7 @@ static int stac92xx_build_controls(struct hda_codec *codec)
                /* correct volume offset */
                vmaster_tlv[2] += vmaster_tlv[3] * spec->volume_offset;
                /* minimum value is actually mute */
-               vmaster_tlv[3] |= 0x1000;
+               vmaster_tlv[3] |= TLV_DB_SCALE_MUTE;
                err = snd_hda_add_vmaster(codec, "Master Playback Volume",
                                          vmaster_tlv, slave_vols);
                if (err < 0)