[PATCH v1] ASoc: tas2781: Add name_prefix as the prefix name of DSP firmwares and calibrated data files
From: Shenghao Ding
Date: Sat Jun 29 2024 - 06:13:06 EST
Add name_prefix as the prefix name of DSP firmwares
and calibrated data files which stored speaker
calibrated impedance.
Signed-off-by: Shenghao Ding <shenghao-ding@xxxxxx>
---
sound/soc/codecs/tas2781-i2c.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c
index 4d1a0d836e77..cc765d45c6b5 100644
--- a/sound/soc/codecs/tas2781-i2c.c
+++ b/sound/soc/codecs/tas2781-i2c.c
@@ -394,8 +394,12 @@ static void tasdevice_fw_ready(const struct firmware *fmw,
* failing to load DSP firmware is NOT an error.
*/
tas_priv->fw_state = TASDEVICE_RCA_FW_OK;
- scnprintf(tas_priv->coef_binaryname, 64, "%s_coef.bin",
- tas_priv->dev_name);
+ if (tas_priv->name_prefix)
+ scnprintf(tas_priv->rca_binaryname, 64, "%s-%s_coef.bin",
+ tas_priv->name_prefix, tas_priv->dev_name);
+ else
+ scnprintf(tas_priv->coef_binaryname, 64, "%s_coef.bin",
+ tas_priv->dev_name);
ret = tasdevice_dsp_parser(tas_priv);
if (ret) {
dev_err(tas_priv->dev, "dspfw load %s error\n",
@@ -418,8 +422,15 @@ static void tasdevice_fw_ready(const struct firmware *fmw,
* calibrated data inside algo.
*/
for (i = 0; i < tas_priv->ndev; i++) {
- scnprintf(tas_priv->cal_binaryname[i], 64, "%s_cal_0x%02x.bin",
- tas_priv->dev_name, tas_priv->tasdevice[i].dev_addr);
+ if (tas_priv->name_prefix)
+ scnprintf(tas_priv->cal_binaryname[i], 64,
+ "%s-%s_cal_0x%02x.bin", tas_priv->name_prefix,
+ tas_priv->dev_name,
+ tas_priv->tasdevice[i].dev_addr);
+ else
+ scnprintf(tas_priv->cal_binaryname[i], 64,
+ "%s_cal_0x%02x.bin", tas_priv->dev_name,
+ tas_priv->tasdevice[i].dev_addr);
ret = tas2781_load_calibration(tas_priv,
tas_priv->cal_binaryname[i], i);
if (ret != 0)
--
2.34.1