]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ASoc: tas2781: Add name_prefix as the prefix name of DSP firmwares and calibrated...
authorShenghao Ding <shenghao-ding@ti.com>
Sat, 29 Jun 2024 10:11:10 +0000 (18:11 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 1 Jul 2024 15:14:57 +0000 (16:14 +0100)
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@ti.com>
Link: https://patch.msgid.link/20240629101112.628-1-shenghao-ding@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tas2781-i2c.c

index 4d1a0d836e773c9bff5292a15517f6b33900baca..cc765d45c6b5c9ac002b315ac90329e3ee07010c 100644 (file)
@@ -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)