Files
linux/sound/soc/codecs
Shenghao Ding 2aa13da97e ASoC: tas2781: Fix calibration issue in stress test
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: 49e2e353fb ("ASoC: tas2781: Add Calibration Kcontrols for Chromebook")
Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
Link: https://patch.msgid.link/20241211043859.1328-1-shenghao-ding@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-11 13:27:45 +00:00
..
2024-06-10 12:48:36 +01:00
2021-04-20 17:25:51 +01:00
2024-08-01 12:51:45 +01:00
2024-06-28 13:39:30 +01:00
2024-08-26 15:52:09 +01:00
2023-09-11 13:34:39 +01:00
2023-12-01 16:59:23 +00:00
2024-10-24 16:09:18 +01:00
2023-08-11 21:12:45 +02:00
2021-03-31 18:00:38 +01:00
2024-10-09 14:40:49 +01:00
2024-03-26 11:24:24 +00:00
2024-09-05 12:31:03 +01:00
2024-09-05 12:31:03 +01:00
2024-03-28 15:54:04 +00:00
2024-06-18 16:45:46 +01:00
2024-10-17 12:11:33 +01:00
2024-10-17 12:11:33 +01:00
2024-10-17 12:11:33 +01:00
2024-10-17 12:11:33 +01:00
2024-04-03 16:07:41 +01:00
2024-04-03 16:07:41 +01:00
2024-04-30 00:15:57 +09:00
2024-04-30 00:15:57 +09:00
2024-11-14 11:39:47 +00:00
2020-05-07 13:18:04 +01:00
2022-10-13 13:01:32 +01:00
2024-04-03 16:07:41 +01:00
2024-04-03 16:07:41 +01:00
2024-10-25 14:10:22 +01:00
2024-10-25 14:10:22 +01:00
2024-04-03 16:07:41 +01:00
2021-12-06 10:04:05 +01:00
2022-07-08 11:52:42 +01:00
2021-12-06 10:04:05 +01:00
2024-11-14 11:39:47 +00:00
2020-07-20 15:34:29 +01:00
2020-10-02 21:05:29 +01:00
2024-08-08 09:14:57 +01:00
2024-08-08 09:14:57 +01:00