aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <[email protected]>2024-07-03 17:30:47 +0100
committerMark Brown <[email protected]>2024-07-03 17:30:47 +0100
commit91419b0d9ab203945e0ed4efb3cab84c45df0a21 (patch)
tree0a1fb5faa5ac14bfbaeb8802331d137147114159
parentc288f0a1c08efa65f9e3bb7954eb3cefb966c97d (diff)
parent244389bd42870640c4b5ef672a360da329b579ed (diff)
ASoC: cs35l56: Set correct upper volume limit
Merge series from Richard Fitzgerald <[email protected]>: These two commits set the upper limit of the Speaker Volume control to +12dB instead of +100dB. This should have been a simple 1-line change to the #define in the header file, but only the HDA cs35l56 driver is using this define. The ASoC cs35l56 driver was using hardcoded numbers instead of the header defines. So the first commit changes the ASoC driver to use the #defined constants. The second commit corrects the value of the constant.
-rw-r--r--include/sound/cs35l56.h2
-rw-r--r--sound/soc/codecs/cs35l56.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/include/sound/cs35l56.h b/include/sound/cs35l56.h
index 642ef690ebc2..a6aa112e5741 100644
--- a/include/sound/cs35l56.h
+++ b/include/sound/cs35l56.h
@@ -207,7 +207,7 @@
/* CS35L56_MAIN_RENDER_USER_VOLUME */
#define CS35L56_MAIN_RENDER_USER_VOLUME_MIN -400
-#define CS35L56_MAIN_RENDER_USER_VOLUME_MAX 400
+#define CS35L56_MAIN_RENDER_USER_VOLUME_MAX 48
#define CS35L56_MAIN_RENDER_USER_VOLUME_MASK 0x0000FFC0
#define CS35L56_MAIN_RENDER_USER_VOLUME_SHIFT 6
#define CS35L56_MAIN_RENDER_USER_VOLUME_SIGNBIT 9
diff --git a/sound/soc/codecs/cs35l56.c b/sound/soc/codecs/cs35l56.c
index 7cac9812f5b5..84c34f5b1a51 100644
--- a/sound/soc/codecs/cs35l56.c
+++ b/sound/soc/codecs/cs35l56.c
@@ -71,7 +71,11 @@ static const struct snd_kcontrol_new cs35l56_controls[] = {
cs35l56_dspwait_get_volsw, cs35l56_dspwait_put_volsw),
SOC_SINGLE_S_EXT_TLV("Speaker Volume",
CS35L56_MAIN_RENDER_USER_VOLUME,
- 6, -400, 400, 9, 0,
+ CS35L56_MAIN_RENDER_USER_VOLUME_SHIFT,
+ CS35L56_MAIN_RENDER_USER_VOLUME_MIN,
+ CS35L56_MAIN_RENDER_USER_VOLUME_MAX,
+ CS35L56_MAIN_RENDER_USER_VOLUME_SIGNBIT,
+ 0,
cs35l56_dspwait_get_volsw,
cs35l56_dspwait_put_volsw,
vol_tlv),