[alsa-devel] [PATCH] ASoC: lm49453: Fix analog and digital volume ranges
From: MR Swami Reddy MR.Swami.Reddy@ti.com
[PATCH] ASoC: lm49453: Fix analog and digital volume ranges
Signed-off-by: M R Swami Reddy mr.swami.reddy@ti.com
-- sound/soc/codecs/lm49453.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/lm49453.c b/sound/soc/codecs/lm49453.c index 808e50a..afbefa2 100644 --- a/sound/soc/codecs/lm49453.c +++ b/sound/soc/codecs/lm49453.c @@ -495,7 +495,8 @@ SOC_DAPM_SINGLE("Port2_2 Switch", LM49453_P0_PORT2_TX2_REG, 7, 1, 0),
/* TLV Declarations */ static const DECLARE_TLV_DB_SCALE(digital_tlv, -7650, 150, 1); -static const DECLARE_TLV_DB_SCALE(port_tlv, 0, 600, 0); +static const DECLARE_TLV_DB_SCALE(analog_tlv, 0, 200, 1); +static const DECLARE_TLV_DB_SCALE(port_tlv, -1800, 600, 0);
static const struct snd_kcontrol_new lm49453_sidetone_mixer_controls[] = { /* Sidetone supports mono only */ @@ -516,9 +517,9 @@ SOC_DAPM_SINGLE_TLV("Sidetone DMIC2R Volume", LM49453_P0_STN_VOL_DMIC2R_REG, static const struct snd_kcontrol_new lm49453_snd_controls[] = { /* mic1 and mic2 supports mono only */ SOC_SINGLE_TLV("Mic1 Volume", LM49453_P0_ADC_LEVELL_REG, 0, 6, - 0, digital_tlv), + 0, analog_tlv), SOC_SINGLE_TLV("Mic2 Volume", LM49453_P0_ADC_LEVELR_REG, 0, 6, - 0, digital_tlv), + 0, analog_tlv),
SOC_DOUBLE_R_TLV("DMIC1 Volume", LM49453_P0_DMIC1_LEVELL_REG, LM49453_P0_DMIC1_LEVELR_REG, 0, 6, 0, digital_tlv),
On Wed, 2012-12-05 at 16:18 +0530, MR.Swami.Reddy@ti.com wrote:
/* TLV Declarations */ static const DECLARE_TLV_DB_SCALE(digital_tlv, -7650, 150, 1); -static const DECLARE_TLV_DB_SCALE(port_tlv, 0, 600, 0); +static const DECLARE_TLV_DB_SCALE(analog_tlv, 0, 200, 1);
The spec says your analog gain are 0 to 30dB in steps of 2dB, this doesnt sound right to me.
+static const DECLARE_TLV_DB_SCALE(port_tlv, -1800, 600, 0);
static const struct snd_kcontrol_new lm49453_sidetone_mixer_controls[] = { /* Sidetone supports mono only */ @@ -516,9 +517,9 @@ SOC_DAPM_SINGLE_TLV("Sidetone DMIC2R Volume", LM49453_P0_STN_VOL_DMIC2R_REG, static const struct snd_kcontrol_new lm49453_snd_controls[] = { /* mic1 and mic2 supports mono only */ SOC_SINGLE_TLV("Mic1 Volume", LM49453_P0_ADC_LEVELL_REG, 0, 6,
0, digital_tlv),
0, analog_tlv),
now i see a problem. You have hidden the MIC gains and exposed only ADC gains. The name is wrong causing the confusion. Please make this ADC gain and add new control for MIC gain! Your ADC gain is -76 to 18db, with 0.5dB steps, how does this reflect that?
SOC_SINGLE_TLV("Mic2 Volume", LM49453_P0_ADC_LEVELR_REG, 0, 6,
0, digital_tlv),
0, analog_tlv),
Ditto.....
SOC_DOUBLE_R_TLV("DMIC1 Volume", LM49453_P0_DMIC1_LEVELL_REG, LM49453_P0_DMIC1_LEVELR_REG, 0, 6, 0, digital_tlv), _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Thanks Vinod. Yes, the ADC tlvs missed... I will update the patch.
Thanks Swami
-----Original Message----- From: Vinod Koul [mailto:vinod.koul@linux.intel.com] Sent: Thursday, December 06, 2012 12:59 AM To: Reddy, M.R. Swami Cc: broonie@opensource.wolfsonmicro.com; Girdwood, Liam; Deshpande A, Vishwas; alsa-devel@alsa-project.org Subject: Re: [alsa-devel] [PATCH] ASoC: lm49453: Fix analog and digital volume ranges
On Wed, 2012-12-05 at 16:18 +0530, MR.Swami.Reddy@ti.com wrote:
/* TLV Declarations */ static const DECLARE_TLV_DB_SCALE(digital_tlv, -7650, 150, 1); -static const DECLARE_TLV_DB_SCALE(port_tlv, 0, 600, 0); +static const DECLARE_TLV_DB_SCALE(analog_tlv, 0, 200, 1);
The spec says your analog gain are 0 to 30dB in steps of 2dB, this doesnt sound right to me.
+static const DECLARE_TLV_DB_SCALE(port_tlv, -1800, 600, 0);
static const struct snd_kcontrol_new lm49453_sidetone_mixer_controls[] = { /* Sidetone supports mono only */ @@ -516,9 +517,9 @@ SOC_DAPM_SINGLE_TLV("Sidetone DMIC2R Volume", LM49453_P0_STN_VOL_DMIC2R_REG, static const struct snd_kcontrol_new lm49453_snd_controls[] = { /* mic1 and mic2 supports mono only */ SOC_SINGLE_TLV("Mic1 Volume", LM49453_P0_ADC_LEVELL_REG, 0, 6,
0, digital_tlv),
0, analog_tlv),
now i see a problem. You have hidden the MIC gains and exposed only ADC gains. The name is wrong causing the confusion. Please make this ADC gain and add new control for MIC gain! Your ADC gain is -76 to 18db, with 0.5dB steps, how does this reflect that?
SOC_SINGLE_TLV("Mic2 Volume", LM49453_P0_ADC_LEVELR_REG, 0, 6,
0, digital_tlv),
0, analog_tlv),
Ditto.....
SOC_DOUBLE_R_TLV("DMIC1 Volume", LM49453_P0_DMIC1_LEVELL_REG, LM49453_P0_DMIC1_LEVELR_REG, 0, 6, 0, digital_tlv), _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
-- ~Vinod
Hi Swami,
On 12/06/2012 09:07 AM, Reddy, M.R. Swami wrote:
Thanks Vinod. Yes, the ADC tlvs missed... I will update the patch.
and while you are there, please fix the commit message as well.
Thanks Swami
-----Original Message----- From: Vinod Koul [mailto:vinod.koul@linux.intel.com] Sent: Thursday, December 06, 2012 12:59 AM To: Reddy, M.R. Swami Cc: broonie@opensource.wolfsonmicro.com; Girdwood, Liam; Deshpande A, Vishwas; alsa-devel@alsa-project.org Subject: Re: [alsa-devel] [PATCH] ASoC: lm49453: Fix analog and digital volume ranges
On Wed, 2012-12-05 at 16:18 +0530, MR.Swami.Reddy@ti.com wrote:
/* TLV Declarations */ static const DECLARE_TLV_DB_SCALE(digital_tlv, -7650, 150, 1); -static const DECLARE_TLV_DB_SCALE(port_tlv, 0, 600, 0); +static const DECLARE_TLV_DB_SCALE(analog_tlv, 0, 200, 1);
The spec says your analog gain are 0 to 30dB in steps of 2dB, this doesnt sound right to me.
+static const DECLARE_TLV_DB_SCALE(port_tlv, -1800, 600, 0);
static const struct snd_kcontrol_new lm49453_sidetone_mixer_controls[] = { /* Sidetone supports mono only */ @@ -516,9 +517,9 @@ SOC_DAPM_SINGLE_TLV("Sidetone DMIC2R Volume", LM49453_P0_STN_VOL_DMIC2R_REG, static const struct snd_kcontrol_new lm49453_snd_controls[] = { /* mic1 and mic2 supports mono only */ SOC_SINGLE_TLV("Mic1 Volume", LM49453_P0_ADC_LEVELL_REG, 0, 6,
0, digital_tlv),
0, analog_tlv),
now i see a problem. You have hidden the MIC gains and exposed only ADC gains. The name is wrong causing the confusion. Please make this ADC gain and add new control for MIC gain! Your ADC gain is -76 to 18db, with 0.5dB steps, how does this reflect that?
SOC_SINGLE_TLV("Mic2 Volume", LM49453_P0_ADC_LEVELR_REG, 0, 6,
0, digital_tlv),
0, analog_tlv),
Ditto.....
SOC_DOUBLE_R_TLV("DMIC1 Volume", LM49453_P0_DMIC1_LEVELL_REG, LM49453_P0_DMIC1_LEVELR_REG, 0, 6, 0, digital_tlv), _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
-- ~Vinod
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
participants (4)
-
MR.Swami.Reddy@ti.com
-
Peter Ujfalusi
-
Reddy, M.R. Swami
-
Vinod Koul