* [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
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ 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 [flat|nested] 6+ 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
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ 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 [flat|nested] 6+ 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
2026-10-16 21:14 ` [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register Mark Brown
4 siblings, 0 replies; 6+ 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 [flat|nested] 6+ 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
2026-10-16 21:14 ` [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register Mark Brown
4 siblings, 0 replies; 6+ 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 [flat|nested] 6+ messages in thread* Re: [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register
2026-10-16 7:25 [PATCH 0/4] ASoC: codecs: Fix control definitions that write another control's register HyeongJun An
` (3 preceding siblings ...)
2026-10-16 7:25 ` [PATCH 4/4] ASoC: codecs: sta350: " HyeongJun An
@ 2026-10-16 21:14 ` Mark Brown
4 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2026-10-16 21:14 UTC (permalink / raw)
To: HyeongJun An
Cc: lgirdwood, support.opensource, shenghao-ding, kevin-lu,
baojun.xu, sen, linux-sound, linux-kernel
On Fri, 16 Oct 2026 16:25:15 +0900, HyeongJun An wrote:
> ASoC: codecs: Fix control definitions that write another control's register
>
> 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/
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.4
Thanks!
[1/4] ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control
https://git.kernel.org/broonie/sound/c/ebef9212cb46
[2/4] ASoC: codecs: tlv320adc3xxx: Fix definition of AGC Target Level control
https://git.kernel.org/broonie/sound/c/0a9efcb663b5
[3/4] ASoC: codecs: sta32x: Fix definition of Ch2 and Ch3 Volume Bypass controls
https://git.kernel.org/broonie/sound/c/ea53ab9003d8
[4/4] ASoC: codecs: sta350: Fix definition of Ch2 and Ch3 Volume Bypass controls
https://git.kernel.org/broonie/sound/c/7308ce7c8459
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 6+ messages in thread