[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87cy8p6t4t.wl-tiwai@suse.de>
Date: Thu, 21 Aug 2025 09:17:22 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Shenghao Ding <shenghao-ding@...com>
Cc: <broonie@...nel.org>,
<andriy.shevchenko@...ux.intel.com>,
<13564923607@....com>,
<13916275206@....com>,
<alsa-devel@...a-project.org>,
<linux-kernel@...r.kernel.org>,
<baojun.xu@...com>,
<Baojun.Xu@....com>,
<jesse-ji@...com>
Subject: Re: [PATCH v1] ALSA: hda/tas2781: Enable init_profile_id for device initialization
On Wed, 20 Aug 2025 10:21:23 +0200,
Shenghao Ding wrote:
>
> Optimize the time consumption of profile switching, init_profile saves
> the common settings of different profiles, such as the dsp coefficients,
> etc, which can greatly reduce the profile switching time comsumption and
> remove the repetitive settings.
>
> Signed-off-by: Shenghao Ding <shenghao-ding@...com>
> ---
> sound/hda/codecs/side-codecs/tas2781_hda_i2c.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
> index 318f8c58ae61..97c33fee9660 100644
> --- a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
> +++ b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
> @@ -477,6 +477,12 @@ static void tasdevice_dspfw_init(void *context)
> if (tas_priv->fmw->nr_configurations > 0)
> tas_priv->cur_conf = 0;
>
> + /* Init common setting for different audio profiles */
> + if (tas_priv->rcabin.init_profile_id >= 0)
> + tasdevice_select_cfg_blk(tas_priv,
> + tas_priv->rcabin.init_profile_id,
> + TASDEVICE_BIN_BLK_PRE_POWER_UP);
> +
> /* If calibrated data occurs error, dsp will still works with default
> * calibrated data inside algo.
> */
> @@ -779,6 +785,12 @@ static int tas2781_system_resume(struct device *dev)
> tasdevice_reset(tas_hda->priv);
> tasdevice_prmg_load(tas_hda->priv, tas_hda->priv->cur_prog);
>
> + /* Init common setting for different audio profiles */
> + if (tas_hda->priv->rcabin.init_profile_id >= 0)
> + tasdevice_select_cfg_blk(tas_hda->priv,
> + tas_hda->priv->rcabin.init_profile_id,
> + TASDEVICE_BIN_BLK_PRE_POWER_UP);
> +
> if (tas_hda->priv->playback_started)
> tasdevice_tuning_switch(tas_hda->priv, 0);
The patch causes build errors:
sound/hda/codecs/side-codecs/tas2781_hda_i2c.c: In function ‘tasdevice_dspfw_init’:
sound/hda/codecs/side-codecs/tas2781_hda_i2c.c:468:29: error: ‘struct tasdevice_rca’ has no member named ‘init_profile_id’
468 | if (tas_priv->rcabin.init_profile_id >= 0)
| ^
....
Something still not landed in my tree yet.
thanks,
Takashi
Powered by blists - more mailing lists