Patch "ASoC: tas2781: Fix calibration issue in stress test" has been added to the 6.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ASoC: tas2781: Fix calibration issue in stress test

to the 6.12-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-tas2781-fix-calibration-issue-in-stress-test.patch
and it can be found in the queue-6.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 3df4b48177ac6d2cc94bc6331f08b8ec99a18199
Author: Shenghao Ding <shenghao-ding@xxxxxx>
Date:   Wed Dec 11 12:38:59 2024 +0800

    ASoC: tas2781: Fix calibration issue in stress test
    
    [ Upstream commit 2aa13da97e2b92d20a8ad4ead10da89f880b64e7 ]
    
    One specific test condition: the default registers of p[j].reg ~
    p[j+3].reg are 0, TASDEVICE_REG(0x00, 0x14, 0x38)(PLT_FLAG_REG),
    TASDEVICE_REG(0x00, 0x14, 0x40)(SINEGAIN_REG), and
    TASDEVICE_REG(0x00, 0x14, 0x44)(SINEGAIN2_REG). After first calibration,
    they are freshed to TASDEVICE_REG(0x00, 0x1a, 0x20), TASDEVICE_REG(0x00,
    0x16, 0x58)(PLT_FLAG_REG), TASDEVICE_REG(0x00, 0x14, 0x44)(SINEGAIN_REG),
    and TASDEVICE_REG(0x00, 0x16, 0x64)(SINEGAIN2_REG) via "Calibration Start"
    kcontrol. In second calibration, the p[j].reg ~ p[j+3].reg have already
    become tas2781_cali_start_reg. However, p[j+2].reg, TASDEVICE_REG(0x00,
    0x14, 0x44)(SINEGAIN_REG), will be freshed to TASDEVICE_REG(0x00, 0x16,
    0x64), which is the third register in the input params of the kcontrol.
    This is why only first calibration can work, the second-time, third-time
    or more-time calibration always failed without reboot. Of course, if no
    p[j].reg is in the list of tas2781_cali_start_reg, this stress test can
    work well.
    
    Fixes: 49e2e353fb0d ("ASoC: tas2781: Add Calibration Kcontrols for Chromebook")
    Signed-off-by: Shenghao Ding <shenghao-ding@xxxxxx>
    Link: https://patch.msgid.link/20241211043859.1328-1-shenghao-ding@xxxxxx
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c
index 12d093437ba9..1b2f55030c39 100644
--- a/sound/soc/codecs/tas2781-i2c.c
+++ b/sound/soc/codecs/tas2781-i2c.c
@@ -370,7 +370,7 @@ static void sngl_calib_start(struct tasdevice_priv *tas_priv, int i,
 			tasdevice_dev_read(tas_priv, i, p[j].reg,
 				(int *)&p[j].val[0]);
 		} else {
-			switch (p[j].reg) {
+			switch (tas2781_cali_start_reg[j].reg) {
 			case 0: {
 				if (!reg[0])
 					continue;




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux