summary refs log tree commit diff
diff options
context:
space:
mode:
authorSiarhei Volkau <lis8215@gmail.com>2022-10-16 16:26:43 +0300
committerMark Brown <broonie@kernel.org>2022-10-17 12:50:27 +0100
commit088777bf65b98cfa4b5378119d0a7d49a58ece44 (patch)
tree606bf07dddd15ef23c2eb6689589ea68aae62523
parent1013999b431b4bcdc1f5ae47dd3338122751db31 (diff)
downloadlinux-088777bf65b98cfa4b5378119d0a7d49a58ece44.tar.gz
ASoC: codecs: jz4725b: fix reported volume for Master ctl
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>
-rw-r--r--sound/soc/codecs/jz4725b.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/codecs/jz4725b.c b/sound/soc/codecs/jz4725b.c
index cc7a48c96aa4..72549ee2e789 100644
--- a/sound/soc/codecs/jz4725b.c
+++ b/sound/soc/codecs/jz4725b.c
@@ -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",