Commit 61074c1a2d798be90e149a9ed4ce0e3596c00a38

Authored by Takashi Iwai
1 parent e24aa0a4c5

ALSA: hda - Set TLV_DB_SCALE_MUTE bit for cx5051 vmaster

Conexnat HD-audio driver has a workaround for cx5051 (aka CX20561)
chip to add fake mute controls to each amp (commit 3868137e).  This
implies the minimum-as-mute TLV bit in TLV for each corresponding
control.  Meanwhile we build the virtual master from these, but the
TLV bit is missing, even though the slaves have it.

This patch simply adds the missing TLV_DB_SCALE_MUTE bit for vmaster,
as already done in patch_sigmatel.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>

Showing 1 changed file with 6 additions and 0 deletions Side-by-side Diff

sound/pci/hda/patch_conexant.c
... ... @@ -26,6 +26,7 @@
26 26 #include <linux/module.h>
27 27 #include <sound/core.h>
28 28 #include <sound/jack.h>
  29 +#include <sound/tlv.h>
29 30  
30 31 #include "hda_codec.h"
31 32 #include "hda_local.h"
... ... @@ -858,6 +859,11 @@
858 859 err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg);
859 860 if (err < 0)
860 861 goto error;
  862 +
  863 + if (codec->vendor_id == 0x14f15051) {
  864 + /* minimum value is actually mute */
  865 + spec->gen.vmaster_tlv[3] |= TLV_DB_SCALE_MUTE;
  866 + }
861 867  
862 868 codec->patch_ops = cx_auto_patch_ops;
863 869