Linux Sound subsystem development
 help / color / mirror / Atom feed
* es8326, es8375: controls that write each other's bits
@ 2026-10-19  2:44 HyeongJun An
  2026-10-19  3:09 ` 回复: " zhangyi
  0 siblings, 1 reply; 3+ messages in thread
From: HyeongJun An @ 2026-10-19  2:44 UTC (permalink / raw)
  To: zhangyi; +Cc: zhuning0077, Mark Brown, linux-sound

Hi Zhang Yi,

I am adding a check to ASoC that warns when two controls write
overlapping bits of one register. It warns on two Everest drivers, and
I cannot tell from the driver which field is right.

es8326: ALC Capture Recovery Level and ALC Capture Target Level are both
on ES8326_ALC_LEVEL (0x33), at bits 2:0 and 3:0. The DRC Recovery Level
sits on its own ES8326_DRC_RECOVERY register. Should the ALC one be on
ES8326_ALC_RECOVERY (0x32) the same way?

es8375: DMIC Volume has shift 2 and max 4, so it writes bits 4:2 of
ES8375_ADC1 (0x17). DMIC Polarity is bit 4 of the same register. Is the
DMIC gain field only bits 3:2?

If you can confirm, I will send the fixes.

Best Regards,
HyeongJun

^ permalink raw reply	[flat|nested] 3+ messages in thread

* 回复: es8326, es8375: controls that write each other's bits
  2026-10-19  2:44 es8326, es8375: controls that write each other's bits HyeongJun An
@ 2026-10-19  3:09 ` zhangyi
  2026-10-19  5:10   ` HyeongJun An
  0 siblings, 1 reply; 3+ messages in thread
From: zhangyi @ 2026-10-19  3:09 UTC (permalink / raw)
  To: sammiee5311; +Cc: zhuning0077, 'Mark Brown', linux-sound

Hi

	Thank you very much for pointing that out.
	es8326:The ALC Capture Recovery Level should indeed be applied to bits [2:0] of reg0x32, not reg0x33.

	es8375:The ES8375_DMIC_GAIN_MAX should be 0x03

	Thank you again for your email. If possible, please let me fix these two issues this week.

Thanks and Best Regards
--------------------------------------------------------------------------------------
Everest Semiconductor Co., Ltd
张逸   应用工程师 / Michael   FAE
18179079039 
zhangyi@everest-semi.com
------------------------------------------------------------------
上海市徐家汇中山西路2368号华鼎大厦30楼C

-----邮件原件-----
发件人: sammiee5311@gmail.com <sammiee5311@gmail.com> 
发送时间: 2026年10月19日 10:45
收件人: zhangyi@everest-semi.com
抄送: zhuning0077@gmail.com; Mark Brown <broonie@kernel.org>; linux-sound@vger.kernel.org
主题: es8326, es8375: controls that write each other's bits

Hi Zhang Yi,

I am adding a check to ASoC that warns when two controls write overlapping bits of one register. It warns on two Everest drivers, and I cannot tell from the driver which field is right.

es8326: ALC Capture Recovery Level and ALC Capture Target Level are both on ES8326_ALC_LEVEL (0x33), at bits 2:0 and 3:0. The DRC Recovery Level sits on its own ES8326_DRC_RECOVERY register. Should the ALC one be on ES8326_ALC_RECOVERY (0x32) the same way?

es8375: DMIC Volume has shift 2 and max 4, so it writes bits 4:2 of
ES8375_ADC1 (0x17). DMIC Polarity is bit 4 of the same register. Is the DMIC gain field only bits 3:2?

If you can confirm, I will send the fixes.

Best Regards,
HyeongJun


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: es8326, es8375: controls that write each other's bits
  2026-10-19  3:09 ` 回复: " zhangyi
@ 2026-10-19  5:10   ` HyeongJun An
  0 siblings, 0 replies; 3+ messages in thread
From: HyeongJun An @ 2026-10-19  5:10 UTC (permalink / raw)
  To: zhangyi; +Cc: zhuning0077, Mark Brown, linux-sound

Hello Zhang Yi,

Sure, please go ahead. Thanks for the quick answer.

Best regards,
HyeongJun

On Mon, Oct 19, 2026 at 12:09 PM <zhangyi@everest-semi.com> wrote:
>
> Hi
>
>         Thank you very much for pointing that out.
>         es8326:The ALC Capture Recovery Level should indeed be applied to bits [2:0] of reg0x32, not reg0x33.
>
>         es8375:The ES8375_DMIC_GAIN_MAX should be 0x03
>
>         Thank you again for your email. If possible, please let me fix these two issues this week.
>
> Thanks and Best Regards
> --------------------------------------------------------------------------------------
> Everest Semiconductor Co., Ltd
> 张逸   应用工程师 / Michael   FAE
> 18179079039
> zhangyi@everest-semi.com
> ------------------------------------------------------------------
> 上海市徐家汇中山西路2368号华鼎大厦30楼C
>
> -----邮件原件-----
> 发件人: sammiee5311@gmail.com <sammiee5311@gmail.com>
> 发送时间: 2026年10月19日 10:45
> 收件人: zhangyi@everest-semi.com
> 抄送: zhuning0077@gmail.com; Mark Brown <broonie@kernel.org>; linux-sound@vger.kernel.org
> 主题: es8326, es8375: controls that write each other's bits
>
> Hi Zhang Yi,
>
> I am adding a check to ASoC that warns when two controls write overlapping bits of one register. It warns on two Everest drivers, and I cannot tell from the driver which field is right.
>
> es8326: ALC Capture Recovery Level and ALC Capture Target Level are both on ES8326_ALC_LEVEL (0x33), at bits 2:0 and 3:0. The DRC Recovery Level sits on its own ES8326_DRC_RECOVERY register. Should the ALC one be on ES8326_ALC_RECOVERY (0x32) the same way?
>
> es8375: DMIC Volume has shift 2 and max 4, so it writes bits 4:2 of
> ES8375_ADC1 (0x17). DMIC Polarity is bit 4 of the same register. Is the DMIC gain field only bits 3:2?
>
> If you can confirm, I will send the fixes.
>
> Best Regards,
> HyeongJun
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-19  5:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-19  2:44 es8326, es8375: controls that write each other's bits HyeongJun An
2026-10-19  3:09 ` 回复: " zhangyi
2026-10-19  5:10   ` HyeongJun An

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox