From: Mark Brown Date: Sun, 19 Jul 2026 21:00:13 +0000 (+0100) Subject: ASoC: tas2562: fix Digital Volume Control X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2330e5fee602116357f6c9e56b4c9bcf25ff1327;p=thirdparty%2Flinux.git ASoC: tas2562: fix Digital Volume Control Haidar Lee says: 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. Link: https://patch.msgid.link/20260715-tas2562-dvc-fix-v1-0-072b13901b20@adlinktech.com --- 2330e5fee602116357f6c9e56b4c9bcf25ff1327