Re: [PATCH v1] ALSA: hda/tas2781: Enable init_profile_id for device initialization

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

 



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@xxxxxx>
> ---
>  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



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux