diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-06-12 08:10:20 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-06-12 08:10:20 +0200 |
commit | cc1b76ed32607ba378986931e73b64231085816f (patch) | |
tree | 2554500c3e743249afafd1857a3956aae1b2220e /sound/pci/hda/hda_codec.c | |
parent | 9e8af74c38162c884465385a7f1ded1c98cdc752 (diff) | |
parent | 535115b5ff51c702a9a22feb918707c2fe1fbd17 (diff) | |
download | linux-cc1b76ed32607ba378986931e73b64231085816f.tar.gz linux-cc1b76ed32607ba378986931e73b64231085816f.tar.bz2 linux-cc1b76ed32607ba378986931e73b64231085816f.zip |
Merge branch 'for-linus' into for-next
Yet another non-trivial conflicts resolution for the recent HD-audio fix.
Conflicts:
sound/pci/hda/hda_intel.c
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r-- | sound/pci/hda/hda_codec.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 497bd0f9dcda..5de3c5d8c2c0 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -1287,6 +1287,31 @@ int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, EXPORT_SYMBOL_GPL(snd_hda_override_amp_caps); /** + * snd_hda_codec_amp_update - update the AMP mono value + * @codec: HD-audio codec + * @nid: NID to read the AMP value + * @ch: channel to update (0 or 1) + * @dir: #HDA_INPUT or #HDA_OUTPUT + * @idx: the index value (only for input direction) + * @mask: bit mask to set + * @val: the bits value to set + * + * Update the AMP values for the given channel, direction and index. + */ +int snd_hda_codec_amp_update(struct hda_codec *codec, hda_nid_t nid, + int ch, int dir, int idx, int mask, int val) +{ + unsigned int cmd = snd_hdac_regmap_encode_amp(nid, ch, dir, idx); + + /* enable fake mute if no h/w mute but min=mute */ + if ((query_amp_caps(codec, nid, dir) & + (AC_AMPCAP_MUTE | AC_AMPCAP_MIN_MUTE)) == AC_AMPCAP_MIN_MUTE) + cmd |= AC_AMP_FAKE_MUTE; + return snd_hdac_regmap_update_raw(&codec->core, cmd, mask, val); +} +EXPORT_SYMBOL_GPL(snd_hda_codec_amp_update); + +/** * snd_hda_codec_amp_stereo - update the AMP stereo values * @codec: HD-audio codec * @nid: NID to read the AMP value |