]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: codecs: jz4725b: fix reported volume for Master ctl
authorSiarhei Volkau <lis8215@gmail.com>
Sun, 16 Oct 2022 13:26:43 +0000 (16:26 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Nov 2022 16:42:12 +0000 (17:42 +0100)
[ Upstream commit 3fafc759976145eacc9b783d1622064b1a5eb4cc ]

DAC volume control is the Master Playback Volume at the moment
and it reports wrong levels in alsamixer and other alsa apps.

The patch fixes that, as stated in manual on the jz4725b SoC
(16.6.3.4 Programmable attenuation: GOD) the ctl range varies
from -22.5dB to 0dB with 1.5dB step.

Signed-off-by: Siarhei Volkau <lis8215@gmail.com>
Link: https://lore.kernel.org/r/20221016132648.3011729-3-lis8215@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/jz4725b.c

index a04b8d5d1dedfbac12e35cd7930e2c9ecaa75290..1f7a234266b9e340675cb1a425afd4fb749d81b3 100644 (file)
@@ -142,8 +142,8 @@ struct jz_icdc {
        struct clk *clk;
 };
 
-static const SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(jz4725b_dac_tlv, -2250, 0);
 static const SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(jz4725b_line_tlv, -1500, 600);
+static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(jz4725b_dac_tlv, -2250, 150, 0);
 
 static const struct snd_kcontrol_new jz4725b_codec_controls[] = {
        SOC_DOUBLE_TLV("Master Playback Volume",