Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751768AbdFIHqT (ORCPT ); Fri, 9 Jun 2017 03:46:19 -0400 Received: from smtp.csie.ntu.edu.tw ([140.112.30.61]:53662 "EHLO smtp.csie.ntu.edu.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751558AbdFIHqR (ORCPT ); Fri, 9 Jun 2017 03:46:17 -0400 MIME-Version: 1.0 In-Reply-To: <20170609062216.26807-5-dannym@scratchpost.org> References: <20170609062216.26807-1-dannym@scratchpost.org> <20170609062216.26807-5-dannym@scratchpost.org> From: Chen-Yu Tsai Date: Fri, 9 Jun 2017 15:45:52 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v11 04/12] sun4i-codec: Add Mic1 Capture Volume, Mic2 Capture Volume. To: Danny Milosavljevic Cc: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Maxime Ripard , Chen-Yu Tsai , Linux-ALSA , linux-arm-kernel , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3820 Lines: 92 On Fri, Jun 9, 2017 at 2:22 PM, Danny Milosavljevic wrote: > Signed-off-by: Danny Milosavljevic > --- > sound/soc/sunxi/sun4i-codec.c | 41 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c > index b5a3b5b3..25870a64 100644 > --- a/sound/soc/sunxi/sun4i-codec.c > +++ b/sound/soc/sunxi/sun4i-codec.c > @@ -97,6 +97,8 @@ > #define SUN4I_CODEC_ADC_ACTL_PREG1EN (29) > #define SUN4I_CODEC_ADC_ACTL_PREG2EN (28) > #define SUN4I_CODEC_ADC_ACTL_VMICEN (27) > +#define SUN4I_CODEC_ADC_ACTL_PREG1 (25) > +#define SUN4I_CODEC_ADC_ACTL_PREG2 (23) > #define SUN4I_CODEC_ADC_ACTL_ADCG (20) > #define SUN4I_CODEC_ADC_ACTL_ADCIS (17) > #define SUN4I_CODEC_ADC_ACTL_LNRDF (16) > @@ -115,6 +117,9 @@ > /* Microphone controls (sun7i only) */ > #define SUN7I_CODEC_AC_MIC_PHONE_CAL (0x3c) > > +#define SUN7I_CODEC_AC_MIC_PHONE_CAL_PREG1 (29) > +#define SUN7I_CODEC_AC_MIC_PHONE_CAL_PREG2 (26) > + These aren't used. > /* > * sun6i specific registers > * > @@ -665,6 +670,12 @@ static DECLARE_TLV_DB_SCALE(sun4i_codec_micin_loopback_gain_scale, > 150, > 0); > static DECLARE_TLV_DB_SCALE(sun4i_codec_adc_gain_scale, -450, 150, 0); > +static DECLARE_TLV_DB_RANGE(sun4i_codec_micin_preamp_gain_scale, > + 0, 0, TLV_DB_SCALE_ITEM(0, 0, 0), > + 1, 7, TLV_DB_SCALE_ITEM(3500, 300, 0)); > +static DECLARE_TLV_DB_RANGE(sun7i_codec_micin_preamp_gain_scale, > + 0, 0, TLV_DB_SCALE_ITEM(0, 0, 0), > + 1, 7, TLV_DB_SCALE_ITEM(2400, 300, 0)); > > static const char * const sun4i_codec_difflinein_capture_source[] = { > "Stereo", > @@ -718,6 +729,36 @@ static const struct snd_kcontrol_new sun4i_codec_controls[] = { > sun4i_codec_adc_gain_scale), > }; > > +static const struct snd_kcontrol_new sun4i_codec_extra_controls[] = { > + SOC_SINGLE_TLV("Mic1 Capture Volume", > + SUN4I_CODEC_ADC_ACTL, > + SUN4I_CODEC_ADC_ACTL_PREG1, > + 3, > + 0, > + sun4i_codec_micin_preamp_gain_scale), You correctly name them preamp gain here. > + SOC_SINGLE_TLV("Mic2 Capture Volume", But incorrect name the controls. They do not just affect capture. Call them "Mic1/Mic2 Boost Volume". ChenYu > + SUN4I_CODEC_ADC_ACTL, > + SUN4I_CODEC_ADC_ACTL_PREG2, > + 3, > + 0, > + sun4i_codec_micin_preamp_gain_scale), > +}; > + > +static const struct snd_kcontrol_new sun7i_codec_extra_controls[] = { > + SOC_SINGLE_TLV("Mic1 Capture Volume", > + SUN7I_CODEC_AC_MIC_PHONE_CAL, > + SUN7I_CODEC_AC_MIC_PHONE_CAL_PREG1, > + 7, > + 0, > + sun7i_codec_micin_preamp_gain_scale), > + SOC_SINGLE_TLV("Mic2 Capture Volume", > + SUN7I_CODEC_AC_MIC_PHONE_CAL, > + SUN7I_CODEC_AC_MIC_PHONE_CAL_PREG2, > + 7, > + 0, > + sun7i_codec_micin_preamp_gain_scale), > +}; > + > static const struct snd_kcontrol_new sun4i_codec_left_mixer_controls[] = { > SOC_DAPM_SINGLE("Left DAC Playback Switch", SUN4I_CODEC_DAC_ACTL, > SUN4I_CODEC_DAC_ACTL_LDACLMIXS, 1, 0),