* [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register
@ 2026-10-16 7:25 HyeongJun An
2026-10-16 7:25 ` [PATCH 1/4] ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control HyeongJun An
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: HyeongJun An @ 2026-10-16 7:25 UTC (permalink / raw)
To: broonie
Cc: lgirdwood, support.opensource, shenghao-ding, kevin-lu, baojun.xu,
sen, linux-sound, linux-kernel
These are more fixes found by the overlap scan from the first series
[1]. In each driver a control writes the register of another control.
[1] https://lore.kernel.org/all/20261008130953.2446692-1-sammiee5311@gmail.com/
HyeongJun An (4):
ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control
ASoC: codecs: tlv320adc3xxx: Fix definition of AGC Target Level
control
ASoC: codecs: sta32x: Fix definition of Ch2 and Ch3 Volume Bypass
controls
ASoC: codecs: sta350: Fix definition of Ch2 and Ch3 Volume Bypass
controls
sound/soc/codecs/da732x.c | 2 +-
sound/soc/codecs/sta32x.c | 4 ++--
sound/soc/codecs/sta350.c | 4 ++--
sound/soc/codecs/tlv320adc3xxx.c | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/4] ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control
2026-10-16 7:25 [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register HyeongJun An
@ 2026-10-16 7:25 ` HyeongJun An
2026-10-16 7:25 ` [PATCH 2/4] ASoC: codecs: tlv320adc3xxx: Fix definition of AGC Target Level control HyeongJun An
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: HyeongJun An @ 2026-10-16 7:25 UTC (permalink / raw)
To: broonie
Cc: lgirdwood, support.opensource, shenghao-ding, kevin-lu, baojun.xu,
sen, linux-sound, linux-kernel
The ADC2 EQ overall volume is in DA732X_REG_ADC2_EQ5 (0x9F), not in
DA732X_REG_ADC1_EQ5 (0x97), which holds the ADC1 one.
Fixes: 48e278746070 ("ASoC: codecs: Add DA732x codec driver")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
---
sound/soc/codecs/da732x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/da732x.c b/sound/soc/codecs/da732x.c
index c9b6172ac0a1..e417c7ada237 100644
--- a/sound/soc/codecs/da732x.c
+++ b/sound/soc/codecs/da732x.c
@@ -511,7 +511,7 @@ static const struct snd_kcontrol_new da732x_snd_controls[] = {
SOC_SINGLE_TLV("ACD2 EQ Band 5 Volume", DA732X_REG_ADC2_EQ5,
DA732X_EQ_BAND5_SHIFT, DA732X_EQ_VOL_VAL_MAX,
DA732X_INVERT, eq_band_pga_tlv),
- SOC_SINGLE_TLV("ADC2 EQ Overall Volume", DA732X_REG_ADC1_EQ5,
+ SOC_SINGLE_TLV("ADC2 EQ Overall Volume", DA732X_REG_ADC2_EQ5,
DA732X_EQ_OVERALL_SHIFT, DA732X_EQ_OVERALL_VOL_VAL_MAX,
DA732X_INVERT, eq_overall_tlv),
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] ASoC: codecs: tlv320adc3xxx: Fix definition of AGC Target Level control
2026-10-16 7:25 [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register HyeongJun An
2026-10-16 7:25 ` [PATCH 1/4] ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control HyeongJun An
@ 2026-10-16 7:25 ` HyeongJun An
2026-10-16 7:25 ` [PATCH 3/4] ASoC: codecs: sta32x: Fix definition of Ch2 and Ch3 Volume Bypass controls HyeongJun An
2026-10-16 7:25 ` [PATCH 4/4] ASoC: codecs: sta350: " HyeongJun An
3 siblings, 0 replies; 5+ messages in thread
From: HyeongJun An @ 2026-10-16 7:25 UTC (permalink / raw)
To: broonie
Cc: lgirdwood, support.opensource, shenghao-ding, kevin-lu, baojun.xu,
sen, linux-sound, linux-kernel
The right channel AGC target level is in RIGHT_CHN_AGC_1, as on the
left, not in RIGHT_CHN_AGC_2, which holds the right noise threshold
and hysteresis.
Fixes: e9a3b57efd28 ("ASoC: codec: tlv320adc3xxx: New codec driver")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
---
sound/soc/codecs/tlv320adc3xxx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/tlv320adc3xxx.c b/sound/soc/codecs/tlv320adc3xxx.c
index 528c44446482..79f4abc245dd 100644
--- a/sound/soc/codecs/tlv320adc3xxx.c
+++ b/sound/soc/codecs/tlv320adc3xxx.c
@@ -691,7 +691,7 @@ static const struct snd_kcontrol_new adc3xxx_snd_controls[] = {
SOC_DOUBLE_R("AGC Capture Switch", ADC3XXX_LEFT_CHN_AGC_1,
ADC3XXX_RIGHT_CHN_AGC_1, 7, 1, 0),
SOC_DOUBLE_R_TLV("AGC Target Level Capture Volume", ADC3XXX_LEFT_CHN_AGC_1,
- ADC3XXX_RIGHT_CHN_AGC_2, 4, 0x07, 1, agc_target_tlv),
+ ADC3XXX_RIGHT_CHN_AGC_1, 4, 0x07, 1, agc_target_tlv),
SOC_DOUBLE_R_TLV("AGC Noise Threshold Capture Volume", ADC3XXX_LEFT_CHN_AGC_2,
ADC3XXX_RIGHT_CHN_AGC_2, 1, 0x1f, 1, agc_thresh_tlv),
SOC_DOUBLE_R_TLV("AGC Hysteresis Capture Volume", ADC3XXX_LEFT_CHN_AGC_2,
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] ASoC: codecs: sta32x: Fix definition of Ch2 and Ch3 Volume Bypass controls
2026-10-16 7:25 [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register HyeongJun An
2026-10-16 7:25 ` [PATCH 1/4] ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control HyeongJun An
2026-10-16 7:25 ` [PATCH 2/4] ASoC: codecs: tlv320adc3xxx: Fix definition of AGC Target Level control HyeongJun An
@ 2026-10-16 7:25 ` HyeongJun An
2026-10-16 7:25 ` [PATCH 4/4] ASoC: codecs: sta350: " HyeongJun An
3 siblings, 0 replies; 5+ messages in thread
From: HyeongJun An @ 2026-10-16 7:25 UTC (permalink / raw)
To: broonie
Cc: lgirdwood, support.opensource, shenghao-ding, kevin-lu, baojun.xu,
sen, linux-sound, linux-kernel
Each channel's master volume bypass (CxVBP) is in its own
configuration register, C2CFG and C3CFG, not in C1CFG, which holds the
channel 1 bit.
Fixes: c034abf6e503 ("ASoC: add STA32X codec driver")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
---
sound/soc/codecs/sta32x.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/sta32x.c b/sound/soc/codecs/sta32x.c
index 2865a07be395..1e4a19769618 100644
--- a/sound/soc/codecs/sta32x.c
+++ b/sound/soc/codecs/sta32x.c
@@ -491,8 +491,8 @@ SOC_SINGLE("Ch2 Tone Control Bypass Switch", STA32X_C2CFG, STA32X_CxCFG_TCB_SHIF
SOC_SINGLE("Ch1 EQ Bypass Switch", STA32X_C1CFG, STA32X_CxCFG_EQBP_SHIFT, 1, 0),
SOC_SINGLE("Ch2 EQ Bypass Switch", STA32X_C2CFG, STA32X_CxCFG_EQBP_SHIFT, 1, 0),
SOC_SINGLE("Ch1 Master Volume Bypass Switch", STA32X_C1CFG, STA32X_CxCFG_VBP_SHIFT, 1, 0),
-SOC_SINGLE("Ch2 Master Volume Bypass Switch", STA32X_C1CFG, STA32X_CxCFG_VBP_SHIFT, 1, 0),
-SOC_SINGLE("Ch3 Master Volume Bypass Switch", STA32X_C1CFG, STA32X_CxCFG_VBP_SHIFT, 1, 0),
+SOC_SINGLE("Ch2 Master Volume Bypass Switch", STA32X_C2CFG, STA32X_CxCFG_VBP_SHIFT, 1, 0),
+SOC_SINGLE("Ch3 Master Volume Bypass Switch", STA32X_C3CFG, STA32X_CxCFG_VBP_SHIFT, 1, 0),
SOC_ENUM("Ch1 Limiter Select", sta32x_limiter_ch1_enum),
SOC_ENUM("Ch2 Limiter Select", sta32x_limiter_ch2_enum),
SOC_ENUM("Ch3 Limiter Select", sta32x_limiter_ch3_enum),
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] ASoC: codecs: sta350: Fix definition of Ch2 and Ch3 Volume Bypass controls
2026-10-16 7:25 [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register HyeongJun An
` (2 preceding siblings ...)
2026-10-16 7:25 ` [PATCH 3/4] ASoC: codecs: sta32x: Fix definition of Ch2 and Ch3 Volume Bypass controls HyeongJun An
@ 2026-10-16 7:25 ` HyeongJun An
3 siblings, 0 replies; 5+ messages in thread
From: HyeongJun An @ 2026-10-16 7:25 UTC (permalink / raw)
To: broonie
Cc: lgirdwood, support.opensource, shenghao-ding, kevin-lu, baojun.xu,
sen, linux-sound, linux-kernel
Each channel's master volume bypass (CxVBP) is in its own
configuration register, C2CFG and C3CFG, not in C1CFG, which holds the
channel 1 bit.
Fixes: 2439ea1f0f8f ("ASoC: sta350: Add codec driver")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
---
sound/soc/codecs/sta350.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/sta350.c b/sound/soc/codecs/sta350.c
index d2b6f73d5e10..95aee5aa2bff 100644
--- a/sound/soc/codecs/sta350.c
+++ b/sound/soc/codecs/sta350.c
@@ -477,9 +477,9 @@ SOC_SINGLE("Ch2 EQ Bypass Switch",
SOC_SINGLE("Ch1 Master Volume Bypass Switch",
STA350_C1CFG, STA350_CxCFG_VBP_SHIFT, 1, 0),
SOC_SINGLE("Ch2 Master Volume Bypass Switch",
- STA350_C1CFG, STA350_CxCFG_VBP_SHIFT, 1, 0),
+ STA350_C2CFG, STA350_CxCFG_VBP_SHIFT, 1, 0),
SOC_SINGLE("Ch3 Master Volume Bypass Switch",
- STA350_C1CFG, STA350_CxCFG_VBP_SHIFT, 1, 0),
+ STA350_C3CFG, STA350_CxCFG_VBP_SHIFT, 1, 0),
SOC_ENUM("Ch1 Binary Output Select", sta350_binary_output_ch1_enum),
SOC_ENUM("Ch2 Binary Output Select", sta350_binary_output_ch2_enum),
SOC_ENUM("Ch3 Binary Output Select", sta350_binary_output_ch3_enum),
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-16 7:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 7:25 [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register HyeongJun An
2026-10-16 7:25 ` [PATCH 1/4] ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control HyeongJun An
2026-10-16 7:25 ` [PATCH 2/4] ASoC: codecs: tlv320adc3xxx: Fix definition of AGC Target Level control HyeongJun An
2026-10-16 7:25 ` [PATCH 3/4] ASoC: codecs: sta32x: Fix definition of Ch2 and Ch3 Volume Bypass controls HyeongJun An
2026-10-16 7:25 ` [PATCH 4/4] ASoC: codecs: sta350: " HyeongJun An
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.