diff options
author | Nicolin Chen <b42378@freescale.com> | 2013-03-08 11:01:57 +0800 |
---|---|---|
committer | Nicolin Chen <b42378@freescale.com> | 2013-03-12 10:20:28 +0800 |
commit | b477657dd8095b7dbf17b172677b3cf900a9e740 (patch) | |
tree | 324ead451fefbccf137f1968d043551e5384bf82 /sound/soc | |
parent | 5b04cf7cbdfd416d0f942ba629a6025431e12faa (diff) |
ENGR00253290-1 ASoC: wm8962: fix over-gained audio playback issue
We put some code to set default volumes in codec driver, but later we found
that one of volume was higher than 0db, which would cause over-gained volume.
So this patch removed DAC default volume setting, and reverted the volume
interface of it to let user control the register from user space.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm8962.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 784b5957e37a..6e7a5e9e9444 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -5,7 +5,7 @@ * * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> * - * Copyright (C) 2012 Freescale Semiconductor, Inc. + * Copyright (C) 2013 Freescale Semiconductor, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -2218,6 +2218,8 @@ SOC_ENUM("Capture LHPF Mode", cap_lhpf_mode), SOC_DOUBLE_R_TLV("Sidetone Volume", WM8962_DAC_DSP_MIXING_1, WM8962_DAC_DSP_MIXING_2, 4, 12, 0, st_tlv), +SOC_DOUBLE_R_TLV("Digital Playback Volume", WM8962_LEFT_DAC_VOLUME, + WM8962_RIGHT_DAC_VOLUME, 1, 127, 0, digital_tlv), SOC_SINGLE("DAC High Performance Switch", WM8962_ADC_DAC_CONTROL_2, 0, 1, 0), SOC_SINGLE("ADC High Performance Switch", WM8962_ADDITIONAL_CONTROL_1, @@ -4099,10 +4101,6 @@ static int wm8962_probe(struct snd_soc_codec *codec) WM8962_SPKOUTL_VOL_MASK, 0x72); snd_soc_update_bits(codec, WM8962_SPKOUTR_VOLUME, WM8962_SPKOUTR_VOL_MASK, 0x72); - snd_soc_update_bits(codec, WM8962_LEFT_DAC_VOLUME, - WM8962_DACL_VOL_MASK, 0xd8); - snd_soc_update_bits(codec, WM8962_RIGHT_DAC_VOLUME, - WM8962_DACR_VOL_MASK, 0xd8); snd_soc_update_bits(codec, WM8962_LEFT_INPUT_VOLUME, WM8962_INL_VOL_MASK, 0x3f); |