summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorkumar km <kumar.km@stericsson.com>2011-11-16 18:02:22 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:05:01 +0200
commitdd17205c3c2d6cd096925e46f04a124951d6ba49 (patch)
tree1182442112ff9b12122d6b17758c4b743c1b4457 /sound
parente9c78783d3ce75bc150abdc92561a32996e4aa19 (diff)
ASoC: Ux500: Proper power on sequence for playback
This patch corrects the power on sequence for playback case with proper envelop threshold value and speaker related controls moved to alsa control. ST-Ericsson Linux next: NA ST-Ericsson ID: WP363424 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: If52dce80a84e86d1cc384b3b020ca2267aa5e76a Signed-off-by: Kumar KM <kumar.km@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/38028 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/ab5500.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/sound/soc/codecs/ab5500.c b/sound/soc/codecs/ab5500.c
index cef5ce159c5..d1ed4895321 100644
--- a/sound/soc/codecs/ab5500.c
+++ b/sound/soc/codecs/ab5500.c
@@ -1104,18 +1104,14 @@ static void power_for_playback(enum enum_power onoff, int ifsel)
return;
}
mask_set_reg(ENV_THR, ENV_THR_HIGH_MASK, 0x0F << ENV_THR_HIGH_SHIFT);
- mask_set_reg(ENV_THR, ENV_THR_LOW_MASK, 0x0F << ENV_THR_LOW_SHIFT);
+ mask_set_reg(ENV_THR, ENV_THR_LOW_MASK, 0x00 << ENV_THR_LOW_SHIFT);
+ mask_set_reg(DC_CANCEL, DC_CANCEL_AUXO12_MASK,
+ 0x01 << DC_CANCEL_AUXO12_SHIFT);
power_widget_unlocked(onoff, ifsel == 0 ?
widget_if0_dld_l : widget_if1_dld_l);
power_widget_unlocked(onoff, ifsel == 0 ?
- widget_if0_dld_r : widget_if1_dld_r);
-
- mask_set_reg(SPKR1, SPKRx_PWR_MASK, 0x03 << SPKRx_PWR_SHIFT);
- mask_set_reg(SPKR1, SPKRx_GAIN_MASK, 0x12 << SPKRx_GAIN_SHIFT);
- mask_set_reg(RX3_DPGA, RXx_DPGA_MASK, 0x3F << RXx_DPGA_SHIFT);
- mask_set_reg(DC_CANCEL, DC_CANCEL_AUXO12_MASK,
- 0x01 << DC_CANCEL_AUXO12_SHIFT);
+ widget_if0_dld_r : widget_if1_dld_r);
mutex_unlock(&ab5500_pm_mutex);
}