aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvamsi k <x0093442@ti.com>2011-10-21 01:24:13 +0600
committervamsi k <x0093442@ti.com>2011-10-21 01:32:23 +0600
commit2c579ee43ece3329ab92a186c460d439db5609c9 (patch)
tree8eb576276d34ec8e009ae871eb191fb76bcc91e0
parent8a4ef5858f7e3749abc8ae4fcbf471775d242fa5 (diff)
downloadkernel_samsung_tuna-2c579ee43ece3329ab92a186c460d439db5609c9.zip
kernel_samsung_tuna-2c579ee43ece3329ab92a186c460d439db5609c9.tar.gz
kernel_samsung_tuna-2c579ee43ece3329ab92a186c460d439db5609c9.tar.bz2
ASoC: ABE: Use 2ms ramp to avoid low volume
ABE RAMP_5MS means -15 dB after 5ms so it lead to 30 ms before full power which shows the first tone gets ramped up leading to low volume. ABE RAMP_2MS means -15dB after 2ms it reduce the delay to less then 10ms so ramp happens quickly and tone plays to expected gain level. Change-Id: Iad99454129ae48a4df47455b682df651bcc7af2b Signed-off-by: vamsi k <x0093442@ti.com>
-rw-r--r--sound/soc/omap/abe/abe_ini.c76
-rw-r--r--sound/soc/omap/omap-abe-dsp.c22
-rw-r--r--sound/soc/omap/omap-abe.c4
3 files changed, 51 insertions, 51 deletions
diff --git a/sound/soc/omap/abe/abe_ini.c b/sound/soc/omap/abe/abe_ini.c
index 5420b19..9fad4ce 100644
--- a/sound/soc/omap/abe/abe_ini.c
+++ b/sound/soc/omap/abe/abe_ini.c
@@ -218,9 +218,9 @@ int omap_abe_reload_fw(struct omap_abe *abe, u32 *firmware)
abe->irq_dbg_read_ptr = 0;
/* Restore Gains not managed by the drivers */
omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
return 0;
}
@@ -381,75 +381,75 @@ void omap_abe_reset_all_ports(struct omap_abe *abe)
omap_abe_reset_port(i);
/* mixers' configuration */
omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN,
- RAMP_5MS, MIX_DL1_INPUT_MM_DL);
+ RAMP_2MS, MIX_DL1_INPUT_MM_DL);
omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN,
- RAMP_5MS, MIX_DL1_INPUT_MM_UL2);
+ RAMP_2MS, MIX_DL1_INPUT_MM_UL2);
omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN,
- RAMP_5MS, MIX_DL1_INPUT_VX_DL);
+ RAMP_2MS, MIX_DL1_INPUT_VX_DL);
omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN,
- RAMP_5MS, MIX_DL1_INPUT_TONES);
+ RAMP_2MS, MIX_DL1_INPUT_TONES);
omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN,
- RAMP_5MS, MIX_DL2_INPUT_TONES);
+ RAMP_2MS, MIX_DL2_INPUT_TONES);
omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN,
- RAMP_5MS, MIX_DL2_INPUT_VX_DL);
+ RAMP_2MS, MIX_DL2_INPUT_VX_DL);
omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN,
- RAMP_5MS, MIX_DL2_INPUT_MM_DL);
+ RAMP_2MS, MIX_DL2_INPUT_MM_DL);
omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN,
- RAMP_5MS, MIX_DL2_INPUT_MM_UL2);
+ RAMP_2MS, MIX_DL2_INPUT_MM_UL2);
omap_abe_write_mixer(abe, MIXSDT, MUTE_GAIN,
- RAMP_5MS, MIX_SDT_INPUT_UP_MIXER);
+ RAMP_2MS, MIX_SDT_INPUT_UP_MIXER);
omap_abe_write_mixer(abe, MIXSDT, GAIN_0dB,
- RAMP_5MS, MIX_SDT_INPUT_DL1_MIXER);
+ RAMP_2MS, MIX_SDT_INPUT_DL1_MIXER);
omap_abe_write_mixer(abe, MIXECHO, MUTE_GAIN,
- RAMP_5MS, MIX_ECHO_DL1);
+ RAMP_2MS, MIX_ECHO_DL1);
omap_abe_write_mixer(abe, MIXECHO, MUTE_GAIN,
- RAMP_5MS, MIX_ECHO_DL2);
+ RAMP_2MS, MIX_ECHO_DL2);
omap_abe_write_mixer(abe, MIXAUDUL, MUTE_GAIN,
- RAMP_5MS, MIX_AUDUL_INPUT_MM_DL);
+ RAMP_2MS, MIX_AUDUL_INPUT_MM_DL);
omap_abe_write_mixer(abe, MIXAUDUL, MUTE_GAIN,
- RAMP_5MS, MIX_AUDUL_INPUT_TONES);
+ RAMP_2MS, MIX_AUDUL_INPUT_TONES);
omap_abe_write_mixer(abe, MIXAUDUL, GAIN_0dB,
- RAMP_5MS, MIX_AUDUL_INPUT_UPLINK);
+ RAMP_2MS, MIX_AUDUL_INPUT_UPLINK);
omap_abe_write_mixer(abe, MIXAUDUL, MUTE_GAIN,
- RAMP_5MS, MIX_AUDUL_INPUT_VX_DL);
+ RAMP_2MS, MIX_AUDUL_INPUT_VX_DL);
omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN,
- RAMP_5MS, MIX_VXREC_INPUT_TONES);
+ RAMP_2MS, MIX_VXREC_INPUT_TONES);
omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN,
- RAMP_5MS, MIX_VXREC_INPUT_VX_DL);
+ RAMP_2MS, MIX_VXREC_INPUT_VX_DL);
omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN,
- RAMP_5MS, MIX_VXREC_INPUT_MM_DL);
+ RAMP_2MS, MIX_VXREC_INPUT_MM_DL);
omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN,
- RAMP_5MS, MIX_VXREC_INPUT_VX_UL);
+ RAMP_2MS, MIX_VXREC_INPUT_VX_UL);
omap_abe_write_gain(abe, GAINS_DMIC1, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_DMIC1, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
omap_abe_write_gain(abe, GAINS_DMIC2, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_DMIC2, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
omap_abe_write_gain(abe, GAINS_DMIC3, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_DMIC3, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
omap_abe_write_gain(abe, GAINS_AMIC, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_AMIC, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
omap_abe_write_gain(abe, GAINS_DL1, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_DL1, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
omap_abe_write_gain(abe, GAINS_DL2, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_DL2, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
omap_abe_write_gain(abe, GAINS_BTUL, GAIN_0dB,
- RAMP_5MS, GAIN_LEFT_OFFSET);
+ RAMP_2MS, GAIN_LEFT_OFFSET);
omap_abe_write_gain(abe, GAINS_BTUL, GAIN_0dB,
- RAMP_5MS, GAIN_RIGHT_OFFSET);
+ RAMP_2MS, GAIN_RIGHT_OFFSET);
}
diff --git a/sound/soc/omap/omap-abe-dsp.c b/sound/soc/omap/omap-abe-dsp.c
index 8cd7999..c90c228 100644
--- a/sound/soc/omap/omap-abe-dsp.c
+++ b/sound/soc/omap/omap-abe-dsp.c
@@ -676,7 +676,7 @@ static int volume_put_sdt_mixer(struct snd_kcontrol *kcontrol,
pm_runtime_get_sync(the_abe->dev);
abe_write_mixer(MIXSDT, abe_val_to_gain(ucontrol->value.integer.value[0]),
- RAMP_5MS, mc->reg);
+ RAMP_2MS, mc->reg);
pm_runtime_put_sync(the_abe->dev);
return 1;
@@ -690,7 +690,7 @@ static int volume_put_audul_mixer(struct snd_kcontrol *kcontrol,
pm_runtime_get_sync(the_abe->dev);
abe_write_mixer(MIXAUDUL, abe_val_to_gain(ucontrol->value.integer.value[0]),
- RAMP_5MS, mc->reg);
+ RAMP_2MS, mc->reg);
pm_runtime_put_sync(the_abe->dev);
return 1;
@@ -704,7 +704,7 @@ static int volume_put_vxrec_mixer(struct snd_kcontrol *kcontrol,
pm_runtime_get_sync(the_abe->dev);
abe_write_mixer(MIXVXREC, abe_val_to_gain(ucontrol->value.integer.value[0]),
- RAMP_5MS, mc->reg);
+ RAMP_2MS, mc->reg);
pm_runtime_put_sync(the_abe->dev);
return 1;
@@ -718,7 +718,7 @@ static int volume_put_dl1_mixer(struct snd_kcontrol *kcontrol,
pm_runtime_get_sync(the_abe->dev);
abe_write_mixer(MIXDL1, abe_val_to_gain(ucontrol->value.integer.value[0]),
- RAMP_5MS, mc->reg);
+ RAMP_2MS, mc->reg);
pm_runtime_put_sync(the_abe->dev);
return 1;
@@ -732,7 +732,7 @@ static int volume_put_dl2_mixer(struct snd_kcontrol *kcontrol,
pm_runtime_get_sync(the_abe->dev);
abe_write_mixer(MIXDL2, abe_val_to_gain(ucontrol->value.integer.value[0]),
- RAMP_5MS, mc->reg);
+ RAMP_2MS, mc->reg);
pm_runtime_put_sync(the_abe->dev);
return 1;
@@ -747,10 +747,10 @@ static int volume_put_gain(struct snd_kcontrol *kcontrol,
pm_runtime_get_sync(the_abe->dev);
abe_write_gain(mc->reg,
abe_val_to_gain(ucontrol->value.integer.value[0]),
- RAMP_5MS, mc->shift);
+ RAMP_2MS, mc->shift);
abe_write_gain(mc->reg,
-12000 + (ucontrol->value.integer.value[1] * 100),
- RAMP_5MS, mc->rshift);
+ RAMP_2MS, mc->rshift);
pm_runtime_put_sync(the_abe->dev);
return 1;
@@ -2084,13 +2084,13 @@ static void abe_dsp_init_gains(struct abe_data *abe)
abe_mute_gain(GAINS_BTUL, GAIN_RIGHT_OFFSET);
/* Downlink gains */
- abe_write_gain(GAINS_DL1, GAIN_0dB, RAMP_5MS, GAIN_LEFT_OFFSET);
- abe_write_gain(GAINS_DL1, GAIN_0dB, RAMP_5MS, GAIN_RIGHT_OFFSET);
+ abe_write_gain(GAINS_DL1, GAIN_0dB, RAMP_2MS, GAIN_LEFT_OFFSET);
+ abe_write_gain(GAINS_DL1, GAIN_0dB, RAMP_2MS, GAIN_RIGHT_OFFSET);
abe_mute_gain(GAINS_DL1, GAIN_LEFT_OFFSET);
abe_mute_gain(GAINS_DL1, GAIN_RIGHT_OFFSET);
- abe_write_gain(GAINS_DL2, GAIN_M7dB, RAMP_5MS, GAIN_LEFT_OFFSET);
- abe_write_gain(GAINS_DL2, GAIN_M7dB, RAMP_5MS, GAIN_RIGHT_OFFSET);
+ abe_write_gain(GAINS_DL2, GAIN_M7dB, RAMP_2MS, GAIN_LEFT_OFFSET);
+ abe_write_gain(GAINS_DL2, GAIN_M7dB, RAMP_2MS, GAIN_RIGHT_OFFSET);
abe_mute_gain(GAINS_DL2, GAIN_LEFT_OFFSET);
abe_mute_gain(GAINS_DL2, GAIN_RIGHT_OFFSET);
diff --git a/sound/soc/omap/omap-abe.c b/sound/soc/omap/omap-abe.c
index 71dcf9a..d0fed5d 100644
--- a/sound/soc/omap/omap-abe.c
+++ b/sound/soc/omap/omap-abe.c
@@ -185,8 +185,8 @@ int omap_abe_set_dl1_output(int output)
return -EINVAL;
}
- abe_write_gain(GAINS_DL1, gain, RAMP_5MS, GAIN_LEFT_OFFSET);
- abe_write_gain(GAINS_DL1, gain, RAMP_5MS, GAIN_RIGHT_OFFSET);
+ abe_write_gain(GAINS_DL1, gain, RAMP_2MS, GAIN_LEFT_OFFSET);
+ abe_write_gain(GAINS_DL1, gain, RAMP_2MS, GAIN_RIGHT_OFFSET);
return 0;
}