ASoC: twl6040: correct loop counters for HS/HF ramp code

The Headset gain range is 0 - 0xf (4 bit resolution)
The Handsfree gain range is 0 - 0x1d (5 bit resolution,
0x1e, and 0x1f values are invalid)

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Peter Ujfalusi 2011-09-29 15:22:35 +03:00 committed by Mark Brown
parent a46737aee5
commit 93eebc6982

View File

@ -495,8 +495,8 @@ static void twl6040_pga_hs_work(struct work_struct *work)
if (headset->ramp == TWL6040_RAMP_NONE)
return;
/* HS PGA volumes have 4 bits of resolution to ramp */
for (i = 0; i <= 16; i++) {
/* HS PGA gain range: 0x0 - 0xf (0 - 15) */
for (i = 0; i < 16; i++) {
headset_complete = twl6040_hs_ramp_step(codec,
headset->left_step,
headset->right_step);
@ -530,8 +530,9 @@ static void twl6040_pga_hf_work(struct work_struct *work)
if (handsfree->ramp == TWL6040_RAMP_NONE)
return;
/* HF PGA volumes have 5 bits of resolution to ramp */
for (i = 0; i <= 32; i++) {
/*
* HF PGA gain range: 0x00 - 0x1d (0 - 29) */
for (i = 0; i < 30; i++) {
handsfree_complete = twl6040_hf_ramp_step(codec,
handsfree->left_step,
handsfree->right_step);