On Fri, 07 Jul 2023 14:54:31 +0200, Srinivas Kandagatla wrote: > > On 07/07/2023 08:35, Johan Hovold wrote: > > On Wed, Jul 05, 2023 at 01:57:23PM +0100, Srinivas Kandagatla wrote: > >> dB range for HPHL and HPHR gains are from +6dB to -30dB in steps of > >> 1.5dB with register values range from 0 to 24. > >> > >> Current code maps these dB ranges incorrectly, fix them to allow proper > >> volume setting. > >> > >> Fixes: e8ba1e05bdc0("ASoC: codecs: wcd938x: add basic controls") > >> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > >> --- > >> sound/soc/codecs/wcd938x.c | 6 +++--- > >> 1 file changed, 3 insertions(+), 3 deletions(-) > >> > >> diff --git a/sound/soc/codecs/wcd938x.c b/sound/soc/codecs/wcd938x.c > >> index faa15a5ed2c8..3a3360711f8f 100644 > >> --- a/sound/soc/codecs/wcd938x.c > >> +++ b/sound/soc/codecs/wcd938x.c > >> @@ -210,7 +210,7 @@ struct wcd938x_priv { > >> }; > >> static const SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(ear_pa_gain, 600, > >> -1800); > >> -static const SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(line_gain, 600, -3000); > >> +static const DECLARE_TLV_DB_SCALE(line_gain, -3000, 150, -3000); > > > > This looks wrong, and indeed that forth argument appears to be a mute > > flag. I guess that one should have been 0 (false) here? > > yes, this should be true instead of a mute dB value. > > > > > Headphone output also appears to be way too loud by default with this > > patch (alone) applied. Perhaps it's just the default mixer settings need > > to be updated to match? > > > > It looks like you're inverting the scale above. Perhaps that's intended, > > yes, the highest value corresponds to lowest dB which is why its inverted. Ouch, that's a bad design choice... Takashi