]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ALSA: hda: Fix the wrong register was used for DVC of TAS2770
authorBaojun Xu <baojun.xu@ti.com>
Tue, 29 Jul 2025 14:58:49 +0000 (22:58 +0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 29 Jul 2025 15:48:29 +0000 (17:48 +0200)
The wrong register was used for digital volume control of TAS2770,
The definition was changed, and usage was also updated.

Fixes: ab29b3460c5c ("ALSA: hda: Add TAS2770 support")
Signed-off-by: Baojun Xu <baojun.xu@ti.com>
Link: https://patch.msgid.link/20250729145849.55057-1-baojun.xu@ti.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/tas2770-tlv.h
sound/hda/codecs/side-codecs/tas2781_hda_i2c.c

index c0bd495b4a07fd572908520b3db30a0490247bd7..c7380925417a377051b3ceb1981e7818b12efc42 100644 (file)
 #ifndef __TAS2770_TLV_H__
 #define __TAS2770_TLV_H__
 
-#define TAS2770_DVC_LEVEL              TASDEVICE_REG(0x0, 0x0, 0x17)
+#define TAS2770_DVC_LEVEL              TASDEVICE_REG(0x0, 0x0, 0x05)
 #define TAS2770_AMP_LEVEL              TASDEVICE_REG(0x0, 0x0, 0x03)
 
-static const __maybe_unused DECLARE_TLV_DB_SCALE(tas2770_dvc_tlv, 1650, 50, 0);
+static const __maybe_unused DECLARE_TLV_DB_SCALE(tas2770_dvc_tlv, -10000, 50, 0);
 static const __maybe_unused DECLARE_TLV_DB_SCALE(tas2770_amp_tlv, 1100, 50, 0);
 
 #endif
index a0b1326818041217243005f9fc1875453bb6f7f2..45ac5e41bd4ff9e29af57af141c4794c81afe538 100644 (file)
@@ -260,7 +260,7 @@ static const struct snd_kcontrol_new tas2770_snd_controls[] = {
                0, 0, 20, 0, tas2781_amp_getvol,
                tas2781_amp_putvol, tas2770_amp_tlv),
        ACARD_SINGLE_RANGE_EXT_TLV("Speaker Digital Volume", TAS2770_DVC_LEVEL,
-               0, 0, 31, 0, tas2781_amp_getvol,
+               0, 0, 200, 1, tas2781_amp_getvol,
                tas2781_amp_putvol, tas2770_dvc_tlv),
 };