[PATCH 0/2] ASoC: tas2562: fix Digital Volume Control

From: Haidar Lee via B4 Relay

Date: Wed Jul 15 2026 - 02:05:05 EST


The 'Digital Volume Control' added in v5.7 has never worked correctly:
the driver writes the 32-bit DVC coefficient LSB first, but the device
latches the whole coefficient on the write to the last byte (DVC_CFG4),
so every volume change applies a mix of the previous coefficient's
upper bytes and the new LSB. Depending on the sequence of values this
mutes the output entirely or plays at full volume regardless of the
requested level.

Debugged on a TAS2562 (ADLINK OSM-520 / MT8189): traced the I2C writes
with ftrace to confirm the driver writes the intended bytes, then
reproduced both behaviours by writing the same coefficients manually in
each byte order. Patch 1 fixes the write order; patch 2 fixes two wrong
entries in the volume lookup table found while debugging this.

Signed-off-by: Haidar Lee <haidar.lee@xxxxxxxxxxxxxx>
---
Haidar Lee (2):
ASoC: tas2562: fix DVC coefficient write order
ASoC: tas2562: fix broken entries in the volume lookup table

sound/soc/codecs/tas2562.c | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
---
base-commit: 58717b2a1365d06c8c64b72aa948541b53fe31eb
change-id: 20260715-tas2562-dvc-fix-656f45c44922

Best regards,
--
Haidar Lee <haidar.lee@xxxxxxxxxxxxxx>